@charset "UTF-8";
/* CSS Document */

/*  ----------------------------------------------------------------
			reset
----------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.bold {
  font-weight: bold;
}

* {
  box-sizing: border-box;
}

/*  ----------------------------------------------------------------
			base
----------------------------------------------------------------*/
body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

/* 最低限必要なリセット */
ul,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  vertical-align: bottom;
  line-height: 0px;
}

.red {
  color: #f00;
}

.red2 {
  color: #C00;
}

@media screen and (max-width: 640px) {
  a img {
    transition: 0s;
  }
}

.cn {
  text-align: center;
}

.le {
  text-align: left;
}

.ri {
  text-align: right;
}

strong {
  font-weight: 500;
}

img {
  width: 100%;
}

a {
  color: #101010;
  cursor: pointer;
  font-weight: 400;
  text-decoration: none;
}

.pc {
  display: inline-block;
}

.sp {
  display: none;
}

@media screen and (max-width: 640px) {
  .pc {
    display: none;
  }

  .sp {
    display: inline-block;
  }
}

/*201809追加*/
p {
  line-height: 180%;
}

.mab20 {
  margin-bottom: 20px;
}

.mab50 {
  margin-bottom: 50px !important;
}

.wrap {
  width: 90%;
  max-width: 1100px;
  margin: 65px auto 0 auto;
  font-size: 87.5%;
}

.wrap:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
.exp125 {
  font-size: 125%;
}

td.gr {
  background: rgba(34, 172, 56, 0.35);
}

.flex_sb {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: box;
  -js-display: flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
}

.reverse {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/*flex逆並び用*/
.fR {
  float: right;
}

.limit {
  color: red;
  font-size: 120%;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  .wrap {
    margin: 30px auto 0 auto;
  }

  .flex_sb {
    display: block;
  }
}

/*201809追加END*/


/* ----------------------------------------------------------------------------------
          loading
----------------------------------------------------------------------------------- */
.load_logo {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 256px;
  height: 60px;
  margin-top: -50px;
  margin-left: -128px;
  text-align: center;
}

.load_logo img {
  width: 40px;
  text-align: center;
}

.loading {
  padding: 10px 0px 0 0;
}

/*.loading{ visibility: hidden;}*/
#loader-bg {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #000;
  z-index: 10;
}

.load_txt {
  color: #fff;
  font-family: Arial, Helvetica, "sans-serif";
  font-weight: 700;
  letter-spacing: 2px;
  font-size: 10px;
  margin-top: 10px;
}

@media screen and (max-width: 750px) {
  .load_logo {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 46%;
    margin-top: -7%;
    margin-left: -23%;
  }

  .loading {
    padding: 10px 0px 0 0;
    width: 35px;
    display: block;
    margin: 0 auto;
  }
}


/* ----------------------------------------------------------------
		header
----------------------------------------------------------------*/
header {
  width: 100%;
  height: 90px;
  background-color: rgba(30, 30, 30, 0.90);
  position: fixed;
  top: 0;
  z-index: 6;
  text-align: center;
  transition: 0.5s;
}

header .header_inner {
  width: 100%;
  margin: 0 auto;
}

header .header_inner:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
header .header_inner .logo {
  float: left;
  width: 205px;
  margin: 10px 0 0 10px;
  transition: 0.5s;
}

header .header_inner .logo:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  transform: translateZ(0);
}

header .header_inner .logo img {
  width: 100%;
}

header .header_inner nav {
  margin-right: 0%;
}

header .header_inner nav ul {
  max-width: 1000px;
  width: 60%;
  height: 60px;
  margin: 0 auto;
}

header .header_inner nav ul li a {
  float: left;
  margin: 0;
  font-size: 13px;
  line-height: 90px;
  letter-spacing: 2px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  background: url(../img/nav_r_on.png) no-repeat center 100px;
  background-size: 3px;
  transition: 0.3s;
  padding: 0 2%;
}

header .header_inner nav .nav_pc_en ul li a {
  float: left;
  margin: 0;
  font-size: 13px;
  line-height: 90px;
  letter-spacing: 0.5px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  background: url(../img/nav_r_on.png) no-repeat center 100px;
  background-size: 3px;
  transition: 0.3s;
  padding: 0 2%;
}

header .header_inner nav ul li a:hover {
  color: #D12D26;
  background: rgba(255, 255, 255, 0.0) url(../img/nav_r_on.png) no-repeat center bottom;
  background-size: 3px;
}

header .header_inner nav ul li a.active {
  color: #D12D26;
  background: rgba(255, 255, 255, 0.0) url(../img/nav_r_on.png) no-repeat center bottom;
  background-size: 3px;
}

header .header_inner .header_btn_buy a {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 160px;
  height: 90px;
  margin-top: 0px;
  transition: 0.5s;
  background: url(../img/head_btn.png) center center #D12D26 no-repeat;
  text-indent: -9999px;
  background-size: 100%;
  /* background-image: url(../img/head_btn.png); */
}

header .header_inner .header_btn_buy a:hover {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 160px;
  height: 90px;
  margin-top: 0px;
  transition: 0.5s;
  background: url(../img/head_btn.png) center center rgba(146, 8, 8, .7) no-repeat;
  text-indent: -9999px;
  background-size: 100%;
  /* background-image: url(../img/head_btn.png); */
}

header .header_inner .header_btn_catalog a {
  position: absolute;
  right: 160px;
  top: 0px;
  width: 160px;
  height: 90px;
  margin-top: 0px;
  transition: 0.5s;
  background: url(../img/head_btn_catalog_lg.png) center center #C1564D no-repeat;
  text-indent: -9999px;
  background-size: 100%;
  /* background-image: url(../img/head_btn.png); */
}

header .header_inner .header_btn_catalog a:hover {
  position: absolute;
  right: 160px;
  top: 0px;
  width: 160px;
  height: 90px;
  margin-top: 0px;
  transition: 0.5s;
  background: url(../img/head_btn_catalog_lg.png) center center rgba(193, 86, 77, .7) no-repeat;
  text-indent: -9999px;
  background-size: 100%;
}

@media screen and (max-width: 1400px) {
  header .header_inner nav {
    margin-right: -5%;
  }
}

@media screen and (max-width: 1250px) {
  header .header_inner nav ul li a {
    float: left;
    margin: 0;
    font-size: 12px;
    line-height: 90px;
    letter-spacing: 0px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: 500;
    background: url(../img/nav_r_on.png) no-repeat center 100px;
    background-size: 3px;
    transition: 0.3s;
  }
}

@media screen and (max-width: 1050px) {
  header .header_inner nav.nav_pc {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  header {
    width: 100%;
    height: 60px;
    background-color: rgba(30, 30, 30, 0.90);
    position: fixed;
    top: 0;
    z-index: 6;
    text-align: center;
    transition: 0.5s;
  }

  header .header_inner {
    width: 100%;
    margin: 0 auto;
  }

  header .header_inner .logo {
    float: left;
    margin: 5px 0 0 5px;
    width: 148px;
  }

  header .header_inner .header_btn_buy a {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 70px;
    height: 60px;
    margin-top: 0px;
    background: url(../img/head_btn.png) center center #D12D26 no-repeat;
    text-indent: -9999px;
    background-size: 100%;
  }

  header .header_inner .header_btn_buy a:hover {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 70px;
    height: 60px;
    margin-top: 0px;
    transition: 0.5s;
    background: url(../img/head_btn.png) center center rgba(146, 8, 8, .7) no-repeat;
    background-size: 100%;
    text-indent: -9999px;
  }

  header .header_inner .header_btn_catalog a {
    position: absolute;
    right: 70px;
    top: 0px;
    width: 70px;
    height: 60px;
    margin-top: 0px;
    background: url(../img/head_btn_catalog_lg.png) center center #C1564D no-repeat;
    text-indent: -9999px;
    background-size: 100%;
  }

  header .header_inner .header_btn_catalog a:hover {
    position: absolute;
    right: 70px;
    top: 0px;
    width: 70px;
    height: 60px;
    margin-top: 0px;
    transition: 0.5s;
    background: url(../img/head_btn_catalog_lg.png) center center rgba(193, 86, 77, .7) no-repeat;
    background-size: 100%;
    text-indent: -9999px;
  }
}

/* -----------------スクロール縮小時----------------*/
header.smaller {
  height: 60px;
}

header.smaller .header_inner .logo {
  float: left;
  margin: 5px 0 0 5px;
  width: 148px;
}

header.smaller .header_inner nav ul li a {
  float: left;
  margin: 0;
  font-size: 12px;
  line-height: 60px;
  font-weight: 500;
}

header.smaller .header_inner nav ul li a:hover {
  color: #D12D26;
  background: rgba(255, 255, 255, 0.0) url(../img/nav_r_on.png) no-repeat center bottom;
  background-size: 3px;
}

header.smaller .header_inner nav ul li a.active {
  color: #D12D26;
  background: rgba(255, 255, 255, 0.0) url(../img/nav_r_on.png) no-repeat center bottom;
  background-size: 3px;
}

header.smaller .header_inner .header_btn_buy a {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 140px;
  height: 60px;
  margin-top: 0px;
  background: url(../img/head_btn.png) center center #D12D26 no-repeat;
  text-indent: -9999px;
  background-size: 100%;
}

header.smaller .header_inner .header_btn_catalog a {
  position: absolute;
  right: 140px;
  top: 0px;
  width: 140px;
  height: 60px;
  margin-top: 0px;
  background: url(../img/head_btn_catalog_lg.png) center center #C1564D no-repeat;
  text-indent: -9999px;
  background-size: 100%;
}

@media screen and (max-width: 640px) {
  header.smaller .header_inner .header_btn_buy a {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 70px;
    height: 60px;
    margin-top: 0px;
    background: url(../img/head_btn.png) center center #D12D26 no-repeat;
    text-indent: -9999px;
    background-size: 100%;
  }
  
  header.smaller .header_inner .header_btn_catalog a {
    position: absolute;
    right: 70px;
    top: 0px;
    width: 70px;
    height: 60px;
    margin-top: 0px;
    background: url(../img/head_btn_catalog_lg.png) center center #C1564D no-repeat;
    text-indent: -9999px;
    background-size: 100%;
  }
}

@media screen and (max-width: 1250px) {
  header.smaller .header_inner nav ul li a {
    float: left;
    margin: 0;
    font-size: 12px;
    line-height: 60px;
    letter-spacing: 0px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: 500;
    background: url(../img/nav_r_on.png) no-repeat center 100px;
    background-size: 3px;
    transition: 0.3s;
  }
}

/* ----------------------------------------------------------------
		main
----------------------------------------------------------------*/
#main {
  position: relative;
}

#main .main_BOX {
  position: absolute;
  left: 50%;
  top: 78%;
  width: 800px;
  height: auto;
  margin: -230px 0 0 -400px;
  z-index: 1;
}

#main .main_BOX .main_copy {
  margin: 0 auto;
  width: 100%;
  max-width: 800px;
  position: relative;
  background: #F00;
}

#main .main_BOX .main_copy img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
}

/* 最初の1枚だけ表示 */
#main .main_BOX .main_copy img:first-child {
  opacity: 1;
}

#main .main_reborn {
  position: absolute;
  left: 0;
  top: 86px;
  width: 100px;
  height: 90vh;
  z-index: 1;
}

#main .main_reborn img {
  width: auto;
  height: 100%;
}

#main .main_bg {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: url(../img/dev_bg_cell2.png);
  opacity: 0.1;
}

#main .main_scroll {
  position: absolute;
  left: 50%;
  bottom: 0px;
  width: 100px;
  margin-left: -50px;
  z-index: 1;
}

/*>>*/
#main .main_scroll a {
  -webkit-transition: all .3s;
  transition: all .3s;
}

/*>>*/
#main .main_scroll a:hover {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
  transform: translateZ(0);
}

/*>>*/
/*main_btn*/
/*#main .main_BOX .main_btn a {position: absolute; left: 50%; bottom: -40%; width: 60%; margin:0 0 0 -30%; z-index: 1; overflow: hidden; background: linear-gradient(to bottom right, #3cc652 20%, #D12D26 80%);}もともとのボタンでのCSS*/
#main .main_BOX .main_btn a {
  position: absolute;
  left: 50%;
  bottom: -50%;
  width: 60%;
  margin: 0 0 0 -30%;
  z-index: 1;
  overflow: hidden;
  background: linear-gradient(to bottom right, #3cc652 20%, #D12D26 80%);
}

#main .main_BOX .main_btn a::before,
#main .main_BOX .main_btn a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

#main .main_BOX .main_btn a,
#main .main_BOX .main_btn a::before,
#main .main_BOX .main_btn a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

#main .main_BOX .main_btn a::after {
  top: -100%;
  width: 100%;
  height: 100%;
}

#main .main_BOX .main_btn a:hover::after {
  top: 0;
  background: #08921e;
  /*グラデ*/
}

@media screen and (max-width: 1400px) {
  #main .main_BOX {
    position: absolute;
    left: 50%;
    top: 87%;
    width: 660px;
    height: auto;
    margin: -180px 0 0 -330px;
    z-index: 1;
  }

  #main .main_BOX .main_copy {
    margin: 0 auto;
    width: 100%;
    max-width: 478px;
    position: relative;
  }

  #main .main_BOX .main_btn a {
    position: absolute;
    left: 50%;
    bottom: -45%;
    width: 60%;
    margin: 0 0 0 -30%;
    z-index: 1;
    overflow: hidden;
    background: linear-gradient(to bottom right, #3cc652 20%, #D12D26 80%);
  }
}

@media screen and (max-width: 770px) {
  #main .main_BOX {
    position: absolute;
    left: 50%;
    top: 80%;
    width: 85%;
    height: auto;
    margin: -20% 0 0 -42.5%;
    z-index: 1;
  }

  #main .main_BOX .main_copy {
    margin: 0 auto;
    width: 100%;
    max-width: 660px;
    position: relative;
  }
}

@media screen and (max-width: 640px) {

  /*main_btn*/
  #main .main_BOX {
    top: 76%;
  }

  #main .main_BOX .main_btn a {
    position: absolute;
    left: 50%;
    bottom: -90%;
    width: 70%;
    margin: 0 0 0 -35%;
    z-index: 1;
    overflow: hidden;
    background: linear-gradient(to bottom right, #3cc652 20%, #D12D26 80%);
    /*グラデ*/
  }

  #main .main_scroll {
    position: absolute;
    left: 50%;
    bottom: 0px;
    width: 80px;
    margin-left: -40px;
    z-index: 1;
  }

  #main .main_reborn {
    top: 56px;
    height: calc(100% - 56px);
    max-width: 100px;
  }
}

@media screen and (max-width: 504px) {
  #main .main_reborn img {
    max-width: 83px;
  }
}

/*----- jamp -----*/
.jamp {
  animation-name: translate;
  animation-duration: 0.3s;
  animation-iteration-count: infinite;
  /*回数を指定するか、infinite を指定して無限に繰り返す*/
  animation-direction: alternate;
  /*normal;（ノーマル） reverse(逆再生)  alternate(交互に切り替える) などの再生方法を選択*/
  animation-timing-function: ease-out;
}

@keyframes translate {
  from {
    transform: translateY(0px);
  }

  to {
    transform: translateY(-10px);
  }
}

/* ----------------------------------------------------------------
	トップ・スライド　フェードイン・フェードアウト
----------------------------------------------------------------*/
/*スライドレスポンシブ*/
.infiniteslide1 {
  width: 100%;
  height: 100%;
  position: relative;
}

.infiniteslide1 li {
  width: auto;
  height: 100%;
}

.infiniteslide1 li img {
  width: auto;
  height: 100%;
}


/* ----------------------------------------------------------------
	#contents
----------------------------------------------------------------*/
#contents {
  overflow: hidden;
  background: #fff;
}


/* ----------------------------------------------------------------
	プロモーション201809追加
----------------------------------------------------------------*/
.product_video {
  padding: 64px 0 65px 0;
}

.bg_green {
  padding: 4% 5% 8%;
}

#first {
  padding-bottom: 0;
}

@media screen and (max-width: 750px) {
  .top_logo {
    width: 80%;
    margin: 0 auto 50px auto;
  }

  .bg_green {
    padding: 12% 1%;
  }
}

#first .top_logo {
  width: 100%;
  margin: 2% auto 1% auto;
  max-width: 353px;
}

.product_video-text {
  font-size: 19px;
  letter-spacing: 1px;
}

@media screen and (max-width: 640px) {
  #first .top_logo {
    width: 80%;
  }

  .product_video-text {
    font-size: 4vw;
    letter-spacing: 0;
  }
}


/* ----------------------------------------------------------------
	concept
	コンセプト
----------------------------------------------------------------*/
#concept {
  width: 100%;
  text-align: center;
  padding: 0 0 40px 0;
  background: url(../img/dev_bg_cell.png);
}

#concept h1 {
  font-size: 28px;
  line-height: 76px;
  font-weight: 400;
  letter-spacing: 5px;
  margin: 60px auto 50px auto;
  padding: 0 60px;
  position: relative;
  text-align: center;
  display: inline-block;
}

#concept h1:before {
  background: url(../img/h1_Lr.png) left top no-repeat;
  background-size: cover;
  left: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#concept h1:after {
  background: url(../img/h1_Rr.png) left top no-repeat;
  background-size: cover;
  right: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#concept p {
  width: 92%;
  margin: 0px auto;
  font-size: 18px;
  line-height: 34px;
  font-weight: 300;
  letter-spacing: 1px;
  text-align: center;
}

#concept ul {
  width: 90%;
  max-width: 1050px;
  margin: 30px auto 0 auto;
}

#concept ul:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
#concept ul li {
  width: 30.7%;
  margin-right: 3.95%;
  float: left;
}

#concept ul li:last-child {
  margin-right: 0%;
}

#concept ul li p {
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  margin-top: 10px;
}

@media screen and (max-width: 950px) {
  #concept p br {
    display: none;
  }

  #concept p span {
    display: inline-block;
  }
}

@media screen and (max-width: 640px) {
  #concept {
    width: 100%;
    text-align: center;
    padding: 1px 0 8% 0;
  }

  #concept h1 {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 5px;
    margin: 50px auto 40px auto;
    padding: 0 15%;
    position: relative;
    text-align: center;
  }

  #concept h1:before {
    background: url(../img/h1_Lr.png) left top no-repeat;
    background-size: cover;
    left: 0px;
    top: 0%;
    width: 3px;
    height: 76px;
    position: absolute;
    content: " ";
    display: block;
    z-index: 1;
  }

  #concept h1:after {
    background: url(../img/h1_Rr.png) left top no-repeat;
    background-size: cover;
    right: 0px;
    top: 0%;
    width: 3px;
    height: 76px;
    position: absolute;
    content: " ";
    display: block;
    z-index: 1;
  }

  #concept h1 span {
    display: inline-block;
  }

  #concept p {
    width: 90%;
    margin: 0px auto;
    font-size: 15px;
    line-height: 30px;
    font-weight: 300;
    letter-spacing: 2px;
    text-align: center;
  }

  #concept ul {
    width: 90%;
    max-width: 950px;
    margin: 30px auto 0 auto;
  }

  #concept ul li {
    width: 33.33%;
    margin-right: 0%;
    float: left;
  }

  #concept ul li:last-child {
    margin-right: 0%;
  }

  #concept ul li p {
    font-size: 3.2vw;
    line-height: 30px;
    letter-spacing: 0.3vw;
    font-weight: 500;
    margin-top: 10px;
  }
}

.concept-ui li img {
  max-width: 180px;
}

/* ----------------------------------------------------------------
	introduction
	導入企業
----------------------------------------------------------------*/
#introduction {
  width: 100%;
  text-align: center;
  background: #252525 url(../img/dev_bg_cell2.png);
  color: #fff;
  padding: 50px 0 70px 0;
}

#introduction h1 {
  font-size: 28px;
  line-height: 54px;
  font-weight: 400;
  letter-spacing: 5px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}

#introduction h1 {
  font-size: 28px;
  line-height: 76px;
  font-weight: 400;
  letter-spacing: 3px;
  margin: 20px auto 20px auto;
  padding: 0 70px;
  position: relative;
  text-align: center;
  display: inline-block;
}

#introduction h1:before {
  background: url(../img/h1_Lr.png) left top no-repeat;
  background-size: cover;
  left: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#introduction h1:after {
  background: url(../img/h1_Rr.png) left top no-repeat;
  background-size: cover;
  right: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

/* スライド　フェードイン・フェードアウト
----------------------------------------------*/
/*co_slider*/
#introduction #co_slider_BOX {
  width: 100%;
  margin: 35px auto 0 auto;
}

#introduction #co_slider_BOX:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
#introduction #co_slider_BOX .co_slider {
  position: relative;
  width: 16.66%;
  float: left;
}

@media screen and (max-width: 640px) {
  #introduction #co_slider_BOX .co_slider {
    position: relative;
    width: 50%;
    float: left;
  }
}

#introduction #co_slider_BOX .co_slider p {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 4;
}

#introduction #co_slider_BOX .co_slider ul li:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
#introduction #co_slider_BOX .co_slider ul li {
  position: relative;
  display: none;
  z-index: 1;
}

#introduction #co_slider_BOX .co_slider ul li img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 900px) {
  #introduction #co_slider_BOX .co_slider p {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
  }
}

@media screen and (max-width: 640px) {
  #introduction {
    width: 100%;
    text-align: center;
    color: #fff;
    padding: 9% 0 9% 0;
  }

  #introduction h1 {
    font-size: 24px;
    line-height: 40px;
    font-weight: 400;
    letter-spacing: 5px;
    margin: 0px auto;
    position: relative;
    text-align: center;
  }

  #introduction h1 span {
    display: block;
  }

  #introduction #co_slider_BOX {
    width: 100%;
    margin: 10% auto 0 auto;
  }

  #introduction #co_slider_BOX .co_slider {
    width: 50%;
    float: left;
  }

  #introduction #co_slider_BOX .co_slider p {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
  }
}

@media screen and (max-width: 450px) {
  #introduction h1 {
    font-size: 24px;
    line-height: 33px;
    letter-spacing: 4px;
    margin: 0px 5%;
    padding: 1px 30px;
    display: block;
  }
}


.btn_BOX .campaign_btn_BOX p a:hover {
  color: #444;
  /*ff7200*/
}

/*  ----------------------------------------------------------------
	btn_BOX red
----------------------------------------------------------------*/
.btn_BOX_red {
  width: 100%;
  background: linear-gradient(to bottom, #f0f0f0 60%, #eaeaea 100%);
  /*グラデ*/
}

.btn_BOX_red .campaign_btn_BOX {
  margin: 0 auto;
  padding: 68px 5% 54px;
  position: relative;
  text-align: center;
}

/*main_btn*/
.btn_BOX_red .campaign_btn_BOX .campaign_btn {
  width: 263px;
  position: relative;
  margin: 0 auto;
  z-index: 1;
  overflow: hidden;
  background: #F70000;
  display: block;
}

.btn_BOX_red .campaign_btn_BOX .campaign_btn::before,
.btn_BOX_red .campaign_btn_BOX .campaign_btn::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.btn_BOX_red .campaign_btn_BOX .campaign_btn,
.btn_BOX_red .campaign_btn_BOX .campaign_btn::before,
.btn_BOX_red .campaign_btn_BOX .campaign_btn::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.btn_BOX_red .campaign_btn_BOX .campaign_btn::after {
  top: -100%;
  width: 100%;
  height: 100%;
}

.btn_BOX_red .campaign_btn_BOX .campaign_btn:hover::after {
  top: 0;
  background: #860000;
}

.btn_BOX_red .campaign_btn_BOX .campaign_nav {
  width: 240px;
  position: absolute;
  bottom: 0px;
  right: -200px;
  z-index: 2;
}

.btn_BOX_red .campaign_btn_BOX p .campaign_btn {
  margin-top: 20px !important;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  display: inline-block;
  color: #000;
  background: none;
}

.btn_BOX_red .campaign_btn_BOX p .campaign_btn:hover {
  color: #444;
  /*ff7200*/
}

.btn_BOX_red .en-text {
  font-size: 14px;
  letter-spacing: 1.2px;
  padding-top: 1.5em;
}

.btn_BOX_red .ja-text {
  font-size: 13px;
  padding-top: 4px;
}

/*201809追加：カート用ボタン*/
.addCart {
  display: block;
  width: 100%;
  margin: 16px 0;
  font-size: 200%;
  font-weight: 700;
  padding: 5px 30px !important;
  background: #e20012;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border: none;
  color: #fff;
  line-height: 2;
  cursor: pointer;
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
}

.addCart:hover {
  background: black;
}

/*201809追加end*/
@media screen and (max-width: 980px) {
  .btn_BOX .campaign_btn_BOX {
    width: 68%;
    max-width: 640px;
    margin: 0 auto;
    padding: 5% 0 4% 0;
    position: relative;
    text-align: center;
  }

  .btn_BOX .campaign_btn_BOX a .campaign_nav {
    width: 35%;
    max-width: 240px;
    position: absolute;
    bottom: 0px;
    right: -28%;
    z-index: 2;
  }
}

@media screen and (max-width: 640px) {
  .btn_BOX .campaign_btn_BOX {
    width: 62%;
    max-width: 640px;
    margin: 0 auto;
    padding: 5% 0 5% 0;
    position: relative;
    text-align: center;
  }

  .btn_BOX .campaign_btn_BOX a .campaign_nav {
    width: 48%;
    max-width: 240px;
    position: absolute;
    bottom: 0px;
    z-index: 2;
  }

  .btn_BOX .campaign_btn_BOX p a {
    margin-top: 20px !important;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0px;
    display: inline-block;
    color: #000;
    background: none;
  }
}

.campaign_btn_pc {
  display: inline-block;
}

.campaign_btn_sp {
  display: none;
}

@media screen and (max-width: 640px) {
  .campaign_btn_pc {
    display: none;
  }

  .campaign_btn_sp {
    display: inline-block;
  }
}

/* ----------------------------------------------------------------
	development
	製品開発
----------------------------------------------------------------*/
#development {
  width: 100%;
  text-align: center;
  padding: 0 0 60px 0;
  background: url(../img/dev_bg_cell.png);
}

#development h1 {
  font-size: 28px;
  line-height: 76px;
  font-weight: 400;
  letter-spacing: 5px;
  margin: 60px auto 50px auto;
  padding: 0 80px;
  position: relative;
  text-align: center;
  display: inline-block;
}

#development h1:before {
  background: url(../img/h1_Lr.png) left top no-repeat;
  background-size: cover;
  left: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#development h1:after {
  background: url(../img/h1_Rr.png) left top no-repeat;
  background-size: cover;
  right: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#development .development-text {
  margin-bottom: 50px;
  width: 92%;
  margin: 0px auto 50px;
  font-size: 18px;
  line-height: 34px;
  font-weight: 300;
  letter-spacing: 1px;
  text-align: center;
}

#development .youtube {
  width: 90%;
  max-width: 853px;
  margin: 0 auto;
  background: #424242;
}

#development .youtube .youtube_inner {
  width: 100%;
  position: relative;
  z-index: 5;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

#development .youtube .youtube_inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#development .youtube p {
  font-size: 16px;
  line-height: 16px;
  padding: 20px 0;
  text-align: center;
  color: #fff;
}

#development .dev_LR {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto 0 auto;
}

#development .dev_LR:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
#development .dev_L {
  width: 47.5%;
  max-width: 520px;
  float: left;
}

#development .dev_R {
  width: 47.5%;
  max-width: 520px;
  float: right;
}

#development .dev_LR h2 {
  font-size: 20px;
  line-height: 30px;
  padding-bottom: 15px;
}

#development .dev_LR p {
  font-size: 14px;
  line-height: 28px;
  text-align: left;
  font-weight: 300;
  padding-bottom: 35px;
}

@media screen and (max-width: 750px) {
  #development .dev_LR {
    width: 90%;
    max-width: 1100px;
    margin: 7% auto 0 auto;
  }

  #development .dev_L {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    float: none;
  }

  #development .dev_R {
    width: 100%;
    max-width: 520px;
    margin: 7% auto 0 auto;
    float: none;
  }
}

@media screen and (min-width: 641px) {
  #development .dev_img {
    max-width: 514px;
  }
}

@media screen and (max-width: 640px) {
  #development {
    width: 100%;
    text-align: center;
    padding: 0;
  }

  #development h1 {
    font-size: 24px;
    line-height: 35px;
    font-weight: 400;
    letter-spacing: 5px;
    margin: 50px 5% 40px;
    padding: 0 10%;
    position: relative;
    text-align: center;
    display: inline-block;
  }

  #development h1:before {
    background: #e0e0e0;
    left: 0px;
    top: 0%;
    width: 3px;
    height: 76px;
    position: absolute;
    content: " ";
    display: block;
    z-index: 1;
  }

  #development h1:after {
    background: url(../img/h1_Rr.png) left top no-repeat;
    background-size: cover;
    right: 0px;
    top: 0%;
    width: 3px;
    height: 76px;
    position: absolute;
    content: " ";
    display: block;
    z-index: 1;
  }

  #development h1 span {
    display: block;
  }

  #development .youtube p {
    font-size: 15px;
    line-height: 22px;
    padding: 12px 0;
    text-align: center;
    color: #fff;
  }

  #development .youtube p span {
    display: block;
  }

  #development .development-text {
    width: 90%;
    margin: 0px auto;
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 2px;
  }
}

/* ----------------------------------------------------------------
	data
	データ
----------------------------------------------------------------*/
#data {
  background: url(../img/dev_bg_cell.png);
  padding-bottom: 15px;
}

#data .data_LR {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 65px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 300;
}

#data .data_LR:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
#data .data_L {
  width: 47.5%;
  max-width: 520px;
  float: left;
}

#data .data_R {
  width: 47.5%;
  max-width: 520px;
  float: right;
}

#data .data_LR h2 {
  font-size: 19px;
  line-height: 30px;
  padding-bottom: 14px;
  font-weight: 400;
  text-align: center;
}

#data .data_LR p {
  font-size: 14px;
  line-height: 28px;
  text-align: left;
  font-weight: 300;
}

#data .data_LR table {
  width: 100%;
  margin: 15px 0 15px 0;
  border-right: solid 1px #999;
  border-bottom: solid 1px #999;
}

#data .data_LR table th,
#data .data_LR table td {
  background: #FFF;
  border-left: solid 1px #999;
  border-top: solid 1px #999;
  padding: 10px;
  font-size: 12px;
}

#data .data_LR table th {
  background: #FFF;
}

#data .data_LR table th.le {
  max-width: 10em;
}

#data .data_LR table th.bg-gw {
  background: #E0E0E0;
}

#data .data_LR table th.bg-gr {
  background: #C0DCBB;
}

#data .data_LR table th.bg-red {
  background: #E7CAC5;
}

#data .data_LR table td.bg-gw {
  background: #E0E0E0;
}

#data .data_LR table td.bg-oren {
  background: #FBC8B4;
  width: 30%;
}

#data .data_LR table td.data-small {
  font-size: 11px;
}

.txt_l {
  font-size: 14px !important;
  line-height: 22px !important;
  padding: 0 0 0 0px;
  margin: 0px 0 0 0;
  word-break: break-all;
}

.txt_m {
  font-size: 13px !important;
  line-height: 22px !important;
  padding: 0 0 0 0px;
  margin: 0px 0 0 0;
  word-break: break-all;
}

.txt_m2 {
  font-size: 13px !important;
  line-height: 22px !important;
  padding: 0 0 0 0px;
  margin: 8px 0 0 0;
  word-break: break-all;
}

.txt_s {
  font-size: 12px !important;
  line-height: 20px !important;
  padding: 0 0 0 0px;
  margin: 8px 0 0 0;
  word-break: break-all;
}

.ind_txt_m {
  font-size: 13px !important;
  line-height: 22px !important;
  text-indent: -14px;
  padding: 0 0 0 14px;
  margin: 8px 0 0 0;
  word-break: break-all;
}

.ind_txt_s {
  font-size: 12px !important;
  line-height: 20px !important;
  text-indent: -12px;
  padding: 0 0 0 12px;
  margin: 8px 0 0 0;
  word-break: break-all;
}

.mt15 {
  margin-top: 15px;
}

.txts_box {
  font-size: 12px !important;
  line-height: 20px !important;
  padding: 17px 20px;
  border: solid 1px #ccc;
  margin: 20px 0 0 0;
  word-break: break-all;
}

/*201809追加*/
#data .wrap {
  margin-top: 20px !important;
}

/*201809追加end*/

/*20240321追加*/
#data .data_graph {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 65px;
  padding-bottom: 70px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 300;
}

#data .data_graph h2 {
  font-size: 23px;
  line-height: 40px;
  padding-bottom: 14px;
  font-weight: 400;
  text-align: left;
}

#data .data_graph p {
  font-size: 15px;
  line-height: 28px;
  text-align: left;
  font-weight: 300;
}

#data .data_graph_img {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 14px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 300;
}
/*20240321追加end*/

@media screen and (max-width: 750px) {
  #data {
    padding-bottom: 8%;
  }

  #data .data_LR h2 {
    font-size: 22px;
    line-height: 30px;
    padding-bottom: 10px;
    font-weight: 400;
  }

  #data .data_LR {
    width: 90%;
    max-width: 1100px;
  }

  #data .data_L {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    float: none;
  }

  #data .data_R {
    width: 100%;
    max-width: 520px;
    margin: 12% auto 0 auto;
    float: none;
  }
}

#data .data_LR .datatable th,
#data .data_LR .datatable td {
  font-size: 12px;
}

#data .data_LR .datatable th {
  width: 241px;
}

/* ----------------------------------------------------------------
	products
	商品概要
----------------------------------------------------------------*/
#products {
  width: 100%;
  text-align: center;
  padding: 0;
  background: url(../img/dev_bg_cell.png)
}

#products h1 {
  font-size: 28px;
  line-height: 76px;
  font-weight: 400;
  letter-spacing: 5px;
  margin: 60px auto 68px auto;
  padding: 0 60px;
  position: relative;
  text-align: center;
  display: inline-block;
}

#products h1:before {
  background: url(../img/h1_Lr.png) left top no-repeat;
  background-size: cover;
  left: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#products h1:after {
  background: url(../img/h1_Rr.png) left top no-repeat;
  background-size: cover;
  right: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#products .product_title_co {
  width: 90%;
  max-width: 200px;
  margin: 0px auto;
}

#products .product_title_name {
  width: 90%;
  max-width: 350px;
  margin: 0px auto 65px auto;
}

@media screen and (max-width: 640px) {
  #products {
    width: 100%;
    text-align: center;
    padding: 0;
  }

  #products h1 {
    font-size: 24px;
    line-height: 76px;
    font-weight: 400;
    letter-spacing: 5px;
    margin: 40px auto 20px auto;
    padding: 0 15%;
    position: relative;
    text-align: center;
    display: inline-block;
  }

  #products h1:before {
    background: url(../img/h1_Lr.png) left top no-repeat;
    background-size: cover;
    left: 0px;
    top: 0%;
    width: 3px;
    height: 76px;
    position: absolute;
    content: " ";
    display: block;
    z-index: 1;
  }

  #products h1:after {
    background: url(../img/h1_Rr.png) left top no-repeat;
    background-size: cover;
    right: 0px;
    top: 0%;
    width: 3px;
    height: 76px;
    position: absolute;
    content: " ";
    display: block;
    z-index: 1;
  }

  #products .product_title_name {
    width: 70%;
    margin: 0px auto 30px
  }

  #products h1 span {
    display: block;
  }
}

/* ==========================================================
   Slickスライダー（共通）安定版
   ========================================================== */

/* スライダー親エリア */
.product_sl {
  background: #252525 url(../img/dev_bg_cell2.png);
  display: block;
  padding: 30px 0 10px;
  border: none;
  box-sizing: border-box;
}

/* Slick本体 */
.slick-slider {
  display: block !important;
  position: relative;
  overflow: hidden;
  margin-top: 35px;
  background: #333;
  box-sizing: border-box;
}

/* スライドアイテムの横並び対策 */
.slick-slider .slick-slide {
  display: inline-block;
  float: none;
  vertical-align: top;
  box-sizing: border-box;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Slickが初期化前に縦に並ぶ場合の対策 */
.slick-track {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* ==========================================================
   PC（横幅641px以上）
   ========================================================== */
@media screen and (min-width: 641px) {
  .slick-slider .-item {
    max-width: 433px;
  }
}

/* ==========================================================
   スマホ（640px以下）
   ========================================================== */
@media screen and (max-width: 640px) {
  .product_sl {
    display: block;
    padding-top: 4vw;
    padding-bottom: 10px;
    border: none;
  }

  .slick-slider {
    margin-top: 3%;
    background: #333;
  }

  .slick-slider .-item {
    max-width: 100vw;
  }
}


/*  #product_function
-----------------------------------*/
#product_function,
#product_function02 {
  width: 100%;
  text-align: center;
  padding: 45px 0 16px 0;
  background: #252525 url(../img/dev_bg_cell2.png);
  margin: 0 auto;
}

#product_function h2.product_function_title,
#product_function02 h2.product_function_title {
  width: 90%;
  max-width: 600px;
  margin: 0 auto;
  color: #fff;
  font-size: 25px;
  letter-spacing: 3px;
}

/*201809追加*/
h2.product_function_title {
  padding: 0 5 0 40px;
  font-size: 180%;
  vertical-align: text-bottom;
}

.wrap .data_L {
  width: 47.5%;
  max-width: 520px;
  float: left;
}

.wrap .data_R {
  width: 47.5%;
  max-width: 520px;
  float: right;
}

.lead {
  color: #fff;
  line-height: 220%;
  width: 90%;
  margin: 0 auto 20px auto;
  font-size: 13px;
}

#new_function:after {
  content: " ";
  display: block;
  clear: both;
}

#new_function {
  background: url(../img/bg_plus.png) repeat #1e9932;
  padding: 0 0 50px 0;
}

#new_function .wrap {
  max-width: 800px;
  margin: 0 auto;
}

#new_function dl dt,
#new_function dl dd {
  display: inline-block;
  vertical-align: top;
}

#new_function dl dd {
  color: #fff;
  text-align: left;
  margin-left: 1%;
  position: relative;
}

#new_function dl dd img {
  position: absolute;
  top: 10px;
  right: 0;
  width: 40px;
  height: auto;
}

#new_function h2 {
  font-size: 25px;
  color: #fff;
}

#new_function h3 {
  font-size: 20px;
  margin-bottom: 10px;
  line-height: 180%;
}

#new_function p {
  line-height: 180%;
  margin-top: 20px;
}

/*201809追加END*/
.product_function3 {
  width: 90%;
  max-width: 1100px;
  margin: 50px auto 0 auto;
}

.product_function3 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.product_function3 ul li {
  float: left;
  width: 31%;
  margin-right: 3.5%;
}

.product_function3 ul li img {
  width: 100%;
  height: auto;
}

.product_function3 ul li:last-child {
  float: left;
  width: 31%;
  margin-right: 0%
}

.product_function3 ul li h3 {
  margin-top: 23px;
  font-size: 20px;
  line-height: 32px;
  letter-spacing: 2px;
  font-weight: 400;
  text-align: center;
  color: #FFF;
}

.product_function3 ul li p {
  margin-top: 17px;
  font-size: 14px;
  line-height: 29px;
  letter-spacing: 2px;
  font-weight: 400;
  color: #fff;
  text-align: left;
}

.product_function_title_pc {
  display: block;
}

.product_function_title_sp {
  display: none;
}

@media screen and (max-width: 820px) {
  .product_function3 ul li h3 {
    margin-top: 23px;
    font-size: 18px;
    line-height: 32px;
    letter-spacing: 2px;
    font-weight: 400;
    color: #FFF;
    text-align: center;
  }

  .product_function3 ul li p {
    margin-top: 17px;
    font-size: 14px;
    line-height: 29px;
    letter-spacing: 1.5px;
    font-weight: 400;
    color: #fff;
    text-align: left;
  }
}

@media screen and (max-width: 750px) {
  .product_function_title_pc {
    display: none;
  }

  .product_function_title_sp {
    display: block;
    width: 95%;
    max-width: 400px;
    margin: 10px auto 0 auto;
  }

  #product_function {
    width: 100%;
    text-align: center;
    padding: 4% 0 7% 0;
    background: #333;
    margin: -1px auto 0;
  }

  .product_function3 {
    width: 90%;
    max-width: 1100px;
    margin: 0px auto 0 auto;
  }

  .product_function3 ul li {
    float: none;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding-bottom: 5%;
  }

  .product_function3 ul li:last-child {
    float: none;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding-bottom: 5%;
  }

  .product_function3 ul li img {
    margin: 10% auto 0 auto;
  }

  .product_function3 ul li h3 {
    margin-top: 4%;
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 2px;
    font-weight: 400;
    color: #FFF;
    text-align: center;
  }

  .product_function3 ul li p {
    margin-top: 2%;
    font-size: 14px;
    line-height: 26px;
    letter-spacing: 1.5px;
    font-weight: 400;
    color: #fff;
    text-align: left;
  }

  /*201809追加*/
  #new_function dl dt,
  #new_function dl dd {
    display: block;
    width: 100%;
  }

  #new_function dl dt {
    margin-bottom: 8px;
  }

  #new_function dl dd {
    margin-left: 0;
  }

  .wrap .data_L,
  .wrap .data_R {
    width: 80%;
    float: none;
    margin: 0 auto;
  }

  .wrap .data_L {
    margin-bottom: 40px;
  }

  /*201809追加END*/
}

/* 改良 */
#improvement {
  width: 100%;
  text-align: center;
  padding: 63px 0 70px 0;
  margin: 0 auto;
}

#improvement h2.improvement_function_title {
  width: 90%;
  max-width: 730px;
  margin: 0 auto;
  font-size: 25px;
  letter-spacing: 2.2px;
}

.improvement_function {
  width: 90%;
  max-width: 1100px;
  margin: 50px auto 0 auto;
}

.improvement_function ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.improvement_function ul li {
  flex-basis: 31%;
  padding-bottom: 3em;
}

.improvement_function ul li img {
  width: 100%;
  height: auto;
}

.improvement_function ul li h3 {
  margin-top: 15px;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 2px;
  font-weight: 600;
  text-align: center;
}

.improvement_function ul li h3 span {
  font-size: 20px;
  line-height: 32px;
  font-weight: 400;
  text-align: center;
  display: block;
}

.improvement_function ul li p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 29px;
  letter-spacing: 0.5px;
  font-weight: 400;
  text-align: left;
}

.improvement_function_title_pc {
  display: block;
}

.improvement_function_title_sp {
  display: none;
}

@media screen and (max-width: 820px) {
  .improvement_function ul li {
    flex-basis: 49%;
  }

  .improvement_function ul li h3 {
    margin-top: 23px;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 2px;
    font-weight: 600;
    text-align: center;
  }

  .improvement_function ul li h3 span {
    font-size: 18px;
    line-height: 32px;
    letter-spacing: 1.5px;
    font-weight: 400;
    text-align: center;
    display: block;
  }

  .improvement_function ul li p {
    margin-top: 17px;
    font-size: 14px;
    line-height: 29px;
    letter-spacing: 1.5px;
    font-weight: 400;
    text-align: left;
  }
}

@media screen and (max-width: 750px) {
  #improvement {
    padding: 40px 0 1px 0;
  }

  #improvement h2.product_function_title {
    font-size: 25px;
    padding-bottom: 40px;
  }

  .improvement_function ul li {
    flex-basis: 100%;
  }

  .improvement_function_title_pc {
    display: none;
  }

  .improvement_function_title_sp {
    display: block;
    width: 95%;
    max-width: 400px;
    margin: 10px auto 0 auto;
  }

  .improvement_function {
    width: 90%;
    max-width: 1100px;
    margin: 0px auto 0 auto;
  }

  .improvement_function ul li {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding-bottom: 5%;
  }

  .improvement_function ul li:last-child {
    float: none;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding-bottom: 5%;
  }

  .improvement_function ul li img {
    margin: 10% auto 0;
  }

  .improvement_function ul li h3 {
    margin-top: 4%;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 2px;
    font-weight: 600;
    text-align: center;
  }

  .improvement_function ul li h3 span {
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 1.5px;
    font-weight: 400;
    background: url(../img/dev_bg_cell.png) center top;
    text-align: center;
    display: block;
  }

  .improvement_function ul li p {
    margin-top: 2%;
    font-size: 14px;
    line-height: 26px;
    letter-spacing: 1.5px;
    font-weight: 400;
    background: url(../img/dev_bg_cell.png) center top;
    text-align: left;
  }
}

@media screen and (min-width: 751px) {}

/*  #product_video
-----------------------------------*/
.product_video {
  width: 100%;
  text-align: center;
  padding: 55px 0 65px 0;
  background: #252525 url(../img/dev_bg_cell2.png);
  color: #fff;
  margin: 0 auto;
  position: relative;
}

.product_video .product_video_LR {
  width: 90%;
  max-width: 1100px;
  margin: 0px auto 0 auto;
}

.product_video .product_video_LR:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
.product_video .product_video_L {
  width: 47.5%;
  max-width: 520px;
  float: left;
}

.product_video .product_video_R {
  width: 47.5%;
  max-width: 520px;
  float: right;
}

.product_video .product_video_LR h2,
.product_video h2 {
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 3px;
  padding-bottom: 20px;
}

.product_video .youtube {
  width: 100%;
  position: relative;
  z-index: 5;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.product_video .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 750px) {
  .product_video {
    width: 100%;
    padding: 30px 5%;
    margin: 0 auto;
  }

  .product_video .product_video_LR {
    width: 90%;
    max-width: 1100px;
    margin: 0% auto 0 auto;
  }

  .product_video .product_video_LR .product_video_L {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    float: none;
  }

  .product_video .product_video_LR .product_video_R {
    width: 100%;
    max-width: 520px;
    margin: 9% auto 0 auto;
    float: none;
  }
}

.product_video .wrap {
  margin: 0 auto;
}

.first_movie {
  max-width: 800px;
  margin: 0 auto;
}

.product_video ul li {
  width: 48%;
}

@media screen and (max-width: 750px) {
  .first_movie {
    max-width: 100%;
  }

  .product_video ul li {
    width: 100%;
  }

  .product_video ul li:first-child {
    margin-bottom: 40px;
  }
}

#second h2 {
  font-size: 24px;
  letter-spacing: 2px;
  padding: 10px 0 0;
}

#second.product_video {
  padding-bottom: 0;
}

/*  #product_video2
-----------------------------------*/
.product_video2 {
  width: 100%;
  text-align: center;
  padding: 55px 0 65px 0;
  background: #252525 url(../img/dev_bg_cell2.png);
  color: #fff;
  margin: 0 auto;
}

.product_video2 h2 {
  padding-bottom: 1.5em;
}

.product_video2 .product_video_LR {
  width: 90%;
  max-width: 1100px;
  margin: 0px auto 0 auto;
}

.product_video2 .product_video_LR:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
.product_video2 .product_video_L {
  width: 47.5%;
  max-width: 520px;
  float: left;
}

.product_video2 .product_video_R {
  width: 47.5%;
  max-width: 520px;
  float: right;
}

.product_video2 .product_video_LR h2,
.product_video h2 {
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 3px;
  padding-bottom: 20px;
}

.product_video2 .youtube {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding-top: 31.25%;
}

.product_video2 .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*  #spec
-----------------------------------*/
#spec {
  width: 100%;
  text-align: center;
  padding: 70px 0 45px 0;
  background: #C3C4C4;
  color: #333;
  margin: 0 auto;
}

#spec .spec_LR {
  width: 90%;
  max-width: 1100px;
  margin: 0px auto 0 auto;
  text-align: left;
}

#spec .spec_LR:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
#spec .spec_LR .spec_L {
  width: 47.5%;
  max-width: 520px;
  float: left;
}

#spec .spec_LR .spec_R {
  width: 47.5%;
  max-width: 520px;
  float: right;
}

@media screen and (max-width: 750px) {
  #spec .spec_LR {
    width: 90%;
    max-width: 1100px;
    margin: 0% auto 0 auto;
  }

  #spec .spec_LR .spec_L {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    float: none;
  }

  #spec .spec_LR .spec_R {
    width: 100%;
    max-width: 520px;
    margin: 12% auto 0 auto;
    float: none;
  }
}

#spec h2 {
  border-bottom: 1px solid #333;
  text-align: left;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 5px;
  margin-bottom: 16px;
}

#spec h3 {
  font-size: 18px;
  line-height: 20px;
  letter-spacing: 2px;
  padding-bottom: 10px;
}

@media screen and (max-width: 750px) {
  #spec {
    width: 100%;
    text-align: center;
    padding: 10% 0 10% 0;
    margin: 0 auto;
  }

  #spec h2 {
    width: 100%;
    max-width: 520px;
    margin: 30px auto;
    text-align: center;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 5px;
    padding-bottom: 20px;
  }
}

/*table*/
#spec table {
  width: 100%;
  margin: 0px 0 7px 0;
  border-right: solid 1px #4b4b4b;
  border-bottom: solid 1px #4b4b4b;
}

#spec table th,
#spec table td {
  font-size: 14px;
  line-height: 19px;
  border-left: solid 1px #4b4b4b;
  border-top: solid 1px #4b4b4b;
  padding: 2%;
  background: #fff;
}

#spec table th {
  background: #393939;
  color: #fff;
}

#spec table td.keppin {
  width: 4em;
}

.spec_table_attention {
  font-size: 12px !important;
  line-height: 22px !important;
}

#spec .spec_table2 table {
  width: 100%;
  margin: 10px 0 0 0;
  border: none;
}

#spec .spec_table2 table th {
  font-size: 13px;
  line-height: 22px;
  border: none;
  padding: 0px 0px;
  white-space: nowrap;
  background: none;
  color: #333;
}

#spec .spec_table2 table td {
  font-size: 13px;
  line-height: 22px;
  border: none;
  padding: 0px 0px;
  background: none !important;
}

#spec .price {
  font-size: 12px;
  line-height: 25px;
  letter-spacing: 3px;
  padding: 0 0 5px 0;
  border-bottom: solid 2px #919191;
  margin: 10px 0 15px 0;
}

#spec .price span.yen {
  font-size: 25px;
  line-height: 25px;
  letter-spacing: 3px;
  font-weight: bold;
}

#spec .price span.zei {
  font-size: 12px;
  line-height: 25px;
  letter-spacing: 1px;
  margin-left: 5px;
}
/*20251027追加*/
#spec::after {
  content: "";
  display: block;
  clear: both;
  height: 1px; /* 高さを確保して範囲を正確化 */
}

/*201809追加*/
.item_ti {
  text-align: center;
  max-width: 320px;
  margin: 0 auto;
}

.function_list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: box;
  -js-display: flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 1px solid #000;
  padding-bottom: 3em;
}

.function_list li.item-icon {
  text-align: left;
  padding-top: 20px;
}

.function_list li.item-icon:first-child {
  width: 40%;
}

.function_list li.item-icon:last-child {
  width: 55%;
}

.catch {
  font-size: 18px;
  font-weight: bold;
  margin: 32px 0 0 0;
}

#fl01,
#fl02,
#fl03,
#fl01 li ul,
#fl02 li ul,
#fl03 li ul {
  margin: 0 0 70px 0;
}

.function_list li.item-icon ul li {
  width: 50px !important;
  font-size: 8px;
  line-height: 150%;
  margin-right: 8px;
  list-style-type: none;
}

.function_list li.item-icon ul li:last-child {
  margin-right: 0;
}

.function_list li.item-icon:last-child {
  margin: 0 auto;
}

.function_list li.item-icon .size-head {
  width: 12em;
  padding: 2% 0 2% 2%;
}

.function_list li.item_image .slick-slider .-item img {
  max-width: 415px;
}

@media screen and (min-width: 1042px) {
  .function_list li.item-icon:last-child {
    margin-right: 0 !important;
  }
}


/* 購入ボタン */
.function_list .red_submit {
  cursor: pointer;
}

.function_list .red_submit input {
  display: none;
}

.function_list .red_submit .red_submit_innr {
  display: block;
  background: #F70000;
  width: 100%;
  max-width: 263px;
  position: relative;
  margin: 0 auto 1em;
  z-index: 1;
  overflow: hidden;
  background: #F70000;
  display: block;
}

.function_list .red_submit .red_submit_innr::before,
.function_list .red_submit .red_submit_innr::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.function_list .red_submit .red_submit_innr,
.function_list .red_submit .red_submit_innr::before,
.function_list .red_submit .red_submit_innr::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.function_list .red_submit .red_submit_innr::after {
  top: -100%;
  width: 100%;
  height: 100%;
}

.function_list .red_submit .red_submit_innr:hover::after {
  top: 0;
  background: #860000;
}

.function_list .red_submit .red_submit_innr .campaign_nav {
  width: 240px;
  position: absolute;
  bottom: 0px;
  right: -200px;
  z-index: 2;
}

.function_list .red_submit .red_submit_innr .campaign_btn {
  margin-top: 20px !important;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  display: inline-block;
  color: #000;
  background: none;
}

.function_list .red_submit .red_submit_innr .campaign_btn:hover {
  color: #444;
  /*ff7200*/
}

.function_list .red_submit+p {
  padding-left: 6px;
  margin: auto;
}

@media screen and (max-width: 825px) {
  .function_list .red_submit+p {
    margin: 0 auto;
    padding-left: 6px;
  }
}

#spec .wrap {
  margin: 0 auto !important;
}

.price dl dt,
.price dl dd {
  display: inline-block;
  vertical-align: top;
}

.pro_bt {
  margin: 1em auto 0;
  max-width: 263px;
}

.pro_bt a {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #fff;
  padding: 1.5% 0;
  border: 1px solid #54A249;
}

.pro_bt a span {
  font-size: 120%;
}

.pro_bt a:hover {
  background: #54A249;
}

.icon {
  margin-bottom: 20px !important;
}

.icon li {
  display: inline-block;
  vertical-align: top;
}

/*201809追加END*/
/*youtube*/
#spec .youtube {
  width: 100%;
  position: relative;
  z-index: 5;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

#spec .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*ご使用上の注意事項*/
.spec_attention {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: left;
}

.spec_attention h3 {
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 3px;
}

.spec_attention p {
  font-size: 13px;
  line-height: 25px;
  letter-spacing: 1.4px;
  margin-top: 8px;
}

@media screen and (max-width: 750px) {
  .spec_attention {
    width: 100%;
    margin: 10% auto 0 auto;
  }

  /*201809追加*/
  .function_list {
    display: block;
  }

  .function_list li.item-icon {
    width: 100% !important;
    float: none;
  }

  #fl01 {
    margin-bottom: 60px !important;
  }

  .price dl dt,
  .price dl dd {
    display: block;
  }

  .price dl dt {
    width: 100%;
  }

  .item_ti {
    max-width: 70%;
  }

  .catch {
    text-align: center;
  }

  .function_list li.item_image {
    width: 60% !important;
    margin: 0 auto;
  }

  .function_list li.item-icon ul li {
    width: 40px !important;
    margin-right: 10px;
  }

  .pro_bt {
    margin-top: 20px;
  }

  .icon {
    margin: 0 auto 20px auto !important;
    width: 100%;
  }

  #spec .data_L,
  #spec .data_R {
    width: 100%;
  }

  /*201809追加END*/
}


/* ----------------------------------------------------------------
	よくあるご質問
----------------------------------------------------------------*/
#faq {
  width: 100%;
  text-align: center;
  padding: 0 0 70px 0;
  background: url(../img/dev_bg_cell.png) center top;
}

#faq h1 {
  font-size: 28px;
  line-height: 76px;
  font-weight: 400;
  letter-spacing: 5px;
  margin: 60px auto 50px auto;
  padding: 0 80px;
  position: relative;
  text-align: center;
  display: inline-block;
}

#faq h1:before {
  background: url(../img/h1_Lr.png) left top no-repeat;
  background-size: cover;
  left: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#faq h1:after {
  background: url(../img/h1_Rr.png) left top no-repeat;
  background-size: cover;
  right: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#faq dl dt,
#faq dl dd {
  text-align: left;
  font-size: 120%;
  line-height: 180%;
  padding-left: 30px;
}

#faq dl dt {
  color: #D12D26;
  font-weight: bold;
  border-bottom: 1px solid #D12D26;
  margin-bottom: 10px;
  padding: 10px 0 10px 30px;
}

#faq dl dt:before {
  content: "Q.";
  font-size: 175%;
  margin-left: -30px;
}

#faq dl dd:before {
  content: "A.";
  font-size: 175%;
  font-weight: bold;
  margin-left: -30px;
}

#faq dl dd {
  margin-bottom: 20px;
}

#faq dl dd dl dt:before,
#faq dl dd dl dd:before {
  content: "";
  margin-left: 0;
}

#faq dl dd dl dt,
#faq dl dd dl dd {
  font-size: 100%;
  padding: 0;
  margin: 0;
  display: inline-block;
  vertical-align: top;
  color: #000;
  border: none;
  font-weight: normal;
}

#faq dl dd dl dt:after {
  content: ":";
}

#faq dl dd dl dd dl dt:after {
  content: "";
}

#faq dl dd ._link {
  color: #000;
}

@media screen and (max-width: 640px) {
  #faq h1 span {
    display: block;
  }

  #faq h1 {
    font-size: 24px;
    line-height: 35px;
    font-weight: 400;
    letter-spacing: 5px;
    margin: 50px auto 40px auto;
    padding: 0 15%;
    position: relative;
    text-align: center;
    display: inline-block;
  }
}

/* ----------------------------------------------------------------
	company_profile
	会社概要
----------------------------------------------------------------*/

#company_profile {
  width: 100%;
  text-align: center;
  padding: 0 0 0 0;
}

#company_profile h1 {
  font-size: 28px;
  line-height: 76px;
  font-weight: 400;
  letter-spacing: 5px;
  margin: 60px auto 50px auto;
  padding: 0 80px;
  position: relative;
  text-align: center;
  display: inline-block;
}

#company_profile h1:before {
  background: url(../img/h1_Lr.png) left top no-repeat;
  background-size: cover;
  left: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#company_profile h1:after {
  background: url(../img/h1_Rr.png) left top no-repeat;
  background-size: cover;
  right: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

@media screen and (max-width: 640px) {
  #company_profile {
    width: 100%;
    text-align: center;
    padding: 0 0 0% 0;
  }

  #company_profile h1 {
    font-size: 24px;
    line-height: 76px;
    font-weight: 400;
    letter-spacing: 5px;
    margin: 40px auto 20px auto;
    padding: 0 15%;
    position: relative;
    text-align: center;
    display: inline-block;
  }

  #company_profile h1:before {
    background: url(../img/h1_Lr.png) left top no-repeat;
    background-size: cover;
    left: 0px;
    top: 0%;
    width: 3px;
    height: 76px;
    position: absolute;
    content: " ";
    display: block;
    z-index: 1;
  }

  #company_profile h1:after {
    background: url(../img/h1_Rr.png) left top no-repeat;
    background-size: cover;
    right: 0px;
    top: 0%;
    width: 3px;
    height: 76px;
    position: absolute;
    content: " ";
    display: block;
    z-index: 1;
  }
}

#company_profile .cp_LR {
  width: 90%;
  max-width: 1100px;
  margin: 10px auto 70px auto;
  text-align: left;
}

#company_profile .cp_LR:after {
  content: " ";
  display: block;
  clear: both;
}

/*clearfix*/
#company_profile .cp_LR .cp_L {
  width: 47.5%;
  max-width: 520px;
  text-align: center;
  margin: auto;
}

#company_profile .cp_LR .cp_R {
  width: 47.5%;
  max-width: 520px;
  float: right;
}

@media screen and (max-width: 750px) {
  #company_profile .cp_LR {
    width: 90%;
    max-width: 1100px;
    margin: 0% auto 10% auto;
  }

  #company_profile .cp_LR .cp_L {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    float: none;
  }

  #company_profile .cp_LR .cp_R {
    width: 100%;
    max-width: 520px;
    margin: 7% auto 0 auto;
    float: none;
  }
}

#company_profile .cp_LR .cp_L h2 {
  width: 90%;
  max-width: 470px;
}

#company_profile .cp_LR .cp_L p {
  width: 100%;
  font-size: 16px;
  line-height: 35px;
  letter-spacing: 2px;
  text-align: center;
  margin-top: 20px;
}

#company_profile .cp_LR .cp_L a {
  width: auto;
  font-size: 13px;
  line-height: 13px;
  letter-spacing: 2px;
  margin: 30px auto 0 auto !important;
  color: #000;
  padding: 8px 25px;
  border: solid 1px #000;
  text-decoration: none;
  max-width: 470px;
  display: inline-block;
}

#company_profile .cp_LR .cp_L a:hover {
  background: #000;
  color: #fff;
}

/*filter:alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6;*/
@media screen and (max-width: 1250px) {
  #company_profile .cp_LR .cp_L p br {
    display: none;
  }

  #company_profile .cp_LR .cp_L p span {
    display: inline-block;
  }
}

@media screen and (max-width: 1150px) {
  #company_profile .cp_LR .cp_L h2 {
    width: 90%;
    max-width: 470px;
    margin: 0px auto;
  }

  #company_profile .cp_LR .cp_L p {
    width: 100%;
    font-size: 15px;
    line-height: 28px;
    letter-spacing: 1px;
    text-align: center;
    margin-top: 20px;
  }
}

@media screen and (max-width: 750px) {
  #company_profile .cp_LR .cp_L h2 {
    width: 90%;
    max-width: 400px;
    margin: 10px auto;
  }

  #company_profile .cp_LR .cp_L p {
    width: 100%;
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 1px;
    text-align: center;
    margin-top: 20px;
  }

  #company_profile .cp_LR .cp_L a {
    width: auto;
    font-size: 13px;
    line-height: 13px;
    letter-spacing: 2px;
    margin: 20px auto 0 auto !important;
    color: #000;
    padding: 7px 25px;
    border: solid 1px #000;
    text-decoration: none;
    max-width: 470px;
    display: inline-block;
  }
}

/*youtube*/
#company_profile .cp_LR .cp_R .youtube {
  width: 100%;
  position: relative;
  z-index: 5;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

#company_profile .cp_LR .cp_R .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ----------------------------------------------------------------
	form
	申し込み
----------------------------------------------------------------*/


/*==================*/

/*Form
---------------------------------------*/

/*  ----------------------------------------------------------------
	ページトップへ戻る
----------------------------------------------------------------*/
.gotop {
  position: fixed;
  right: 20px;
  bottom: 0;
  margin: 0 0 0 -80px;
  z-index: 5;
}

.gotop a {
  width: 60px;
  height: 80px;
  display: block;
}

@media screen and (max-width: 640px) {
  .gotop {
    position: fixed;
    right: 10px;
    bottom: 0;
    margin: 0 0 0 -80px;
    z-index: 5;
  }

  .gotop a {
    width: 45px;
    height: 60px;
    display: block;
  }
}

/*  ----------------------------------------------------------------
	footer
----------------------------------------------------------------*/
footer {
  width: 100%;
  background: #000;
  padding: 35px 0;
  position: relative;
  text-align: center;
}

footer .footer_logo {
  width: 70%;
  max-width: 1000px;
  margin: 0 auto 0 auto;
}

/*201809追加*/
footer .footer_logo ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: box;
  -js-display: flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center;
}

footer .footer_logo ul li {
  width: 30%;
  margin: 0 2%;
}

/*201809追加END*/
footer .footer_co_logo {
  width: 50%;
  max-width: 219px;
  margin: 34px auto 0 auto;
}

footer p.copyright {
  font-size: 11px;
  line-height: 11px;
  margin: 7px auto 0 auto;
  letter-spacing: 2px;
  color: #fff;
}

.registered {
  font-size: 87.5%;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
  margin: 20px auto;
  width: 80%;
  max-width: 500px;
  padding: 1%;
}

@media screen and (max-width: 640px) {
  footer {
    width: 100%;
    background: #000;
    padding: 8% 0;
    position: relative;
    text-align: center;
  }

  footer .footer_logo {
    width: 55%;
    max-width: 368px;
    margin: 0 auto 0 auto;
  }

  footer .footer_co_logo {
    width: 35%;
    max-width: 219px;
    margin: 5% auto 0 auto;
  }

  footer p.copyright {
    font-size: 8px;
    line-height: 11px;
    margin: 1.5% auto 0 auto;
    letter-spacing: 1px;
    color: #fff;
  }

  /*201809追加*/
  footer .footer_logo ul {
    display: block;
  }

  footer .footer_logo ul li {
    width: 90%;
    margin: 0 auto;
  }

  /*201809追加END*/
}


/* spec slider*/
#spec .function_list .item_image {
  max-width: 415px;
  margin: 0 auto;
}

#spec .function_list .slick-dots {
  margin: 0;
}

@media screen and (max-width: 750px) {
  #spec .function_list .item_image {
    max-width: 520px;
  }

  #spec .function_list li.item_image {
    width: 100% !important;
  }
}

@media all and (-ms-high-contrast: none) {
  #spec .function_list .item_image {
    width: 415px
  }

  .function_list .red_submit .red_submit_innr img {
    pointer-events: none;
  }
}

.success-msg {
  padding: 1em;
  color: #060;
  max-width: 17em;
  margin: 0 auto;
  background: #EFE;
  border-radius: 8px;
  opacity: 1;
  transition-duration: 0.3s;
  animation: fadeIn 0.2s ease 0.3s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

.infiniteslide1 {
  overflow: hidden;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.infiniteslide1 .-item {
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0;
  background-position: center 60%;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  animation: zooming 18s 0s infinite;
}

.infiniteslide1 .-item:nth-of-type(2) {
  animation-delay: 6s;
}

.infiniteslide1 .-item:nth-of-type(3) {
  animation-delay: 12s;
}

.infiniteslide1 .-item:nth-of-type(4) {
  animation-delay: 18s;
}

@keyframes zooming {
  0% {
    opacity: 0;
  }

  16% {
    opacity: 1;
  }

  34% {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale(1.2);
    /* z-index: 2; */
  }

  100% {
    opacity: 0;
  }
}

/* 特定商取引追加 */
.tokusho_link {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  max-width: 1100px;
  margin: 40px auto 0;
  padding: 40px 0;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.tokusho_link>a {
  flex-basis: 310px;
  font-size: 13px;
  line-height: 13px;
  letter-spacing: 2px;
  color: #FFF;
  padding: 8px 25px;
  border: solid 1px #FFF;
  text-decoration: none;
  display: block;
}

.tokusho_link>a:hover {
  background: #FFF;
  color: #000;
}

#tokusho {
  width: 100%;
  padding: 80px 0 80px 0;
  background: url(../img/dev_bg_cell.png) center top;
  text-align: center;
}

#tokusho h1 {
  font-size: 28px;
  line-height: 76px;
  font-weight: 400;
  letter-spacing: 5px;
  margin: 60px auto 50px auto;
  padding: 0 80px;
  position: relative;
  text-align: center;
  display: inline-block;
}

#tokusho h1:before {
  background: url(../img/h1_Lr.png) left top no-repeat;
  background-size: cover;
  left: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#tokusho h1:after {
  background: url(../img/h1_Rr.png) left top no-repeat;
  background-size: cover;
  right: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#tokusho .container {
  max-width: 1100px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.25;
  font-size: 13px
}

@media screen and (max-width: 1150px) {
  #tokusho .container {
    padding: 0 20px;
  }
}

@media screen and (max-width: 760px) {
  #tokusho h1 {
    margin: 60px 20px 50px 20px;
  }

  #tokusho .tokusho-title {
    line-height: 1.2;
    padding: 8px 20px;
  }

  #tokusho .policy-title {
    line-height: 1.2;
    padding: 24px 20px;
    width: calc(100% - 40px);
  }
}

#tokusho .ml-1em {
  margin-left: 1em;
  line-height: 1.25;
}

#tokusho .ml-3em {
  line-height: 1.25;
  text-indent: -3em;
  padding-left: 3em;
}


/* 追加CSS */
#improvement {
  padding: 63px 0 0px 0;
}

#data .data_LR {
  padding-top: 0;
}

.youtube2 {
  width: 50%;
  margin: auto;
  padding-top: 50px;
  aspect-ratio: 16 / 9;
  position: relative;
}

.youtube2 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.youtube3 {
  width: 100%;
  margin: auto;
  padding-top: 20px;
  aspect-ratio: 16 / 9;
  position: relative;
}

.youtube3 iframe {
  position: absolute;
  top: 50;
  left: 0;
  width: 100%;
  height: 100%;
}

.subPage_contents {
  margin-top: 90px;
}

header .header_inner .lang_cange {
  position: absolute;
  right: 320px;
  top: 58%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 1em;
}

header .header_inner .lang_cange::before {
  content: "language";
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.7em;
}

header .header_inner .lang_cange a {
  color: #fff;
}

.product_video .youtube video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.product_function3 ul li img,
.improvement_function ul li img {
  width: 70%;
}

.improvement_function ul .fit-function,
.product_function3 ul .fit-function {
  flex-basis: 41%;
}

.improvement_function ul .fit-function img,
.product_function3 ul .fit-function img {
  width: 100%;
}

.bg_green {
  padding: 4% 5% 2%;
}

.product_video .development-text {
  margin: 20px 0;
}

.product_video .dev_LR {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto 0 auto;
  height: 150px;
}

.product_video .dev_LR_en {
  height: 200px;
}

.product_video .dev_LR .dev_L {
  width: 47.5%;
  max-width: 520px;
  float: left;
}

.product_video .dev_LR .dev_R {
  width: 47.5%;
  max-width: 520px;
  float: right;
}

@media screen and (max-width: 760px) {
  .subPage_contents {
    margin-top: 60px;
  }

  header .header_inner .lang_cange {
    right: 110px;
    font-size: 2.8vw;
    position: absolute;
    transform: translateY(-50%);
    color: #fff;
    font-size: 1em;
  }

  header .header_inner .lang_cange a {
    font-size: 0.9em;
  }

  .product_video .dev_LR {
    height: 45vh;
  }

  .product_video .dev_LR_en {
    height: 80vh;
  }

  .product_video .dev_LR .dev_L {
    width: 80vw;
    max-width: 80vw;
    float: left;
  }

  .product_video .dev_LR .dev_R {
    width: 80vw;
    max-width: 80vw;
    float: right;
  }
}

header .header_inner nav ul .under-menu:hover .under-menu-content,
header .header_inner nav ul .en-under-menu:hover .under-menu-content {
  display: block
}

header .header_inner nav .under-menu .under-menu-content {
  position: absolute;
  top: 100%;
  left: 46%;
  width: auto;
  display: none;
}

header .header_inner nav .en-under-menu .under-menu-content {
  position: absolute;
  top: 100%;
  left: 53%;
  width: auto;
  display: none;
}

header .header_inner nav .under-menu-content li {
  display: block;
  width: 146%;
}

header .header_inner nav ul.under-menu-content li a {
  float: unset;
  line-height: 35px;
  background-color: rgba(30, 30, 30, 0.90);
  display: block;
  text-align: left;
  padding: 0 20px;
  width: auto;
}

header .header_inner nav .under-menu-content li a:hover {
  background: rgba(30, 30, 30, 0.90) !important;
}


.product_video_left_img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 35%;
  transform: translateY(-50%) rotate(90deg);
}

.product_video_left_img p {
  position: absolute;
  transform: rotate(270deg) translate(-50%, -50%);
  font-size: 80px;
  font-weight: 800;
  opacity: 0.4;
  top: 0%;
  left: 3%;
}

#products_imgs {
  width: 55%;
  margin: 0 auto 70px;
}

.products_imgs-inner {
  display: flex;
  justify-content: space-around;
  cursor:pointer
}

.products_img {
  width: 160px;
  margin: auto;
}

.products_img_title {
  width: 200px;
  margin: 20px auto;
}

.video-top-text {font-size: 6.4vw;letter-spacing: 51px;text-align: center;display: inline-block;padding-left: 3vw;}

.video-top-text-en {
    letter-spacing: 6px;
    font-size: 3.7vw;
    padding-left: 0.3vw;
}

@media screen and (max-width: 760px) {
  .youtube2{
    width: 80%;
  }
  .product_video_left_img {
    display: none;
  }

  #products_imgs {
    overflow-x: auto;
    width: 80%;
  }

  .products_imgs-inner {
    justify-content: space-around;
    display: flex;
    width: 700px;
  }

  .products_imgs-inner::-webkit-scrollbar {
    display: none;
  }


  .video-top-text {
    font-size: 15vw;
    letter-spacing: 5px;
}

  .video-top-text-en {
    font-size: 8.5vw;
    letter-spacing: 1px;
}
}
/*各shopへ20240605追加----------------------------------------------*/

.shop_link {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 25px;
  border-radius: 5px;
  width: 500px;
  transition: 0.3s;
  box-shadow: 0px 3px 5px 0px rgba(103, 102, 102, 0.4);
  background-image: linear-gradient(90deg, rgba(144, 245, 154, 1), rgba(4, 202, 255, 1));
}

.shop_link:hover {
  display: block;
  box-shadow: 0 0 rgba(0, 0, 0, 0.4);
  border-bottom-width: 2px;
  transform: translateY(2px);
}

.shop_link a {
  color:#000000;
  display: block;
  text-align: center;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
  padding: 16px;
  text-decoration: none;
  font-size: 16px;
}

.shop_link a:hover {
  color: rgb(253, 253, 253);
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
}
/*各shopへ20240527end*/

@media screen and (max-width: 825px) {
  .shop_link {
    width: 100%;
    margin: 3% auto 0 ;
    padding-left: 6px;
  }
@media screen and (max-width: 760px) {
  .shop_link{
    width: 90%;
    margin: 5% auto 0 auto;
  }
}
}

/* ----------------------------------------------------------------
	おしらせ
----------------------------------------------------------------*/

#news {
  width: 100%;
  text-align: center;
  background: #fff ;
  color: #0b0000;
  padding: 30px 0 10px;
}

#news h1 {
  font-size: 22px;
  line-height: 76px;
  font-weight: 400;
  letter-spacing: 3px;
  margin: 20px auto 20px auto;
  padding: 0 70px;
  position: relative;
  text-align: center;
  display: inline-block;
}

#news h1:before {
  background: url(../img/h1_Lr.png) left top no-repeat;
  background-size: cover;
  left: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

#news h1:after {
  background: url(../img/h1_Rr.png) left top no-repeat;
  background-size: cover;
  right: 0px;
  top: 0%;
  width: 3px;
  height: 76px;
  position: absolute;
  content: " ";
  display: block;
  z-index: 1;
}

@media screen and (max-width: 640px) {
  #news h1 span {
    display: block;
  }

  #news h1 {
    font-size: 24px;
    line-height: 35px;
    font-weight: 400;
    letter-spacing: 5px;
    margin: 50px auto 20px auto;
    padding: 0 15%;
    position: relative;
    text-align: center;
    display: inline-block;
  }
}

#news .news-list {
  text-align: left;
  font-size: 120%;
  line-height: 180%;
  padding-left: 30px;
}

#news .news_list{
  display: block;
  width: 100%;
  margin-bottom: 10px;
  padding: 0px 0 10px 0px;
}
 #news .flex {
  display: block;
  text-align: left;
  border-bottom: 1px solid #acaaaa;
  margin-bottom: 10px;
}

 #news .txt_area{
  display: block;
  margin-bottom:10px;
}

 .news-topix-date .news-topix-titlel {
  font-size: 120%;
  line-height: 180%;
  padding-left: 20px;
  text-decoration:none;
}

.news-topix-date {
  color: grey;
  margin-bottom: 10px;
  text-decoration:none;
}

.news-topix-titlel a {
  color: #0b0000;
  font-weight: 300;
  text-decoration:none;
}
.news-topix-titlel :hover {
	cursor: pointer;
	color: #0355a8;
}

/* ======================================================
   フローティングバナー & モーダル 最終調整版（2025-10-23）
   ====================================================== */

/* =========================================
   フローティングクーポン（日本語）
========================================= */
.floating-banner {
  position: fixed !important;
  z-index: 9999 !important;
  bottom: 90px; /* gotopより上 */
  right: 30px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: linear-gradient(90deg, red 0%, rgb(255,148,48) 50%, rgb(240,67,179) 100%);
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  color: #fff;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s ease;
}

.floating-banner:hover {
  transform: scale(1.15);
}

/* 内部テキスト */
.floating-banner .copy {
  font-size: 13px;
  margin: 0;
  line-height: 1.2;
}

.floating-banner .cta {
  margin-top: 8px;
  background: linear-gradient(270deg, #f7ed7b 0%, #f5c803 100%);
  color: #262424;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  box-shadow: 0 0 6px #dc603a;
  white-space: nowrap;
}

/* スマホでは中央下に小さめ丸で */
@media screen and (max-width: 560px) {
  .floating-banner {
    width: 100px;
    height: 100px;
    bottom: 70px;
    right: 5px;
  }
  .floating-banner .copy {
    font-size: 11px;
  }
  .floating-banner .cta {
    font-size: 10px;
    padding: 3px 4px;
  }
}

/* =========================================
   モーダル（共通）
========================================= */
.modalArea {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  z-index: 10000 !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(30,30,30,0.8);
  transition: opacity 0.4s ease;
}

.modalArea.is-show {
  visibility: visible;
  opacity: 1;
}

.modalWrapper {
  position: absolute;
  bottom: 1%;
  right: 1%;
  transform: translate(-20%, -20%);
  background: #fff;
  width: 70%;
  max-width: 400px;
  padding: 30px 20px;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 0 15px rgba(0,0,0,0.3);
}
.modalWrapper .modalContents .modalDiscounts {
  font-size: 20px;
  line-height: 1.6;
  font-weight: bold;
  top: 10px;
}

.modalWrapper .modalContents {
  font-size: 12px;
  line-height: 1.1;
  text-align: center;
}

.modalWrapper .modalcoupon {
  color: red; 
  text-align:center;
  font-size: 22px;
  font-weight: bold;
}


.closeModal {
  position: absolute;
  top: 10px;
  right: 15px;
  font-weight: bold;
  cursor: pointer;
}

/* =========================================
   購入ボタン（日本語）
========================================= */




/* =========================================
   購入ボタン（共通・PC表示は現状維持）
========================================= */
.buy-floating,
.en-buy-floating {
  position: fixed;
  z-index: 9999;
  bottom: 20px;
  right: 120px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
    background: linear-gradient(90deg, rgba(253,174,2,0.99) 0%, rgb(251,238,144) 50%, rgb(251,180,39) 100%);
  color: #0d0d0d;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  line-height: 1.2;
  font-size: 16px; /* PC時のベースサイズ */
}
  .buy-floating .copy2 {
    font-size: 12px;
    line-height: 1.1;
    font-weight: bold;
  }


/* 表示時 */
.buy-floating.is-show,
.en-buy-floating.is-show {
  opacity: 1;
}

/* 日本語版 */
.buy-floating {
  background: linear-gradient(90deg, rgba(253, 174, 2, 0.991) 0%, rgb(251, 238, 144) 50%, rgb(251, 180, 39) 100%);/* バナーの背景色 */
  background-size: 200% 100%;
  color: #0d0d0d;/* バナー内の文字色 */
}

/* 英語版 */
.en-buy-floating {
  background: linear-gradient(90deg, rgba(253, 174, 2, 0.991) 0%, rgb(251, 238, 144) 50%, rgb(251, 180, 39) 100%);/* バナーの背景色 */
  background-size: 200% 100%;
  color: #0d0d0d;/* バナー内の文字色 */
}

/* hover時 */
.buy-floating:hover,
.en-buy-floating:hover {
  transform: scale(1.1);
}

/* =========================================
   スマホサイズ調整（768px以下）
========================================= */
@media screen and (max-width: 768px) {
  .buy-floating,
  .en-buy-floating {
    bottom: 1%;
    right: 70px;
    width: 80px;
    height: 80px;
    font-size: 13px; /* 共通の基準サイズ */
  }

  /* 日本語版（「購入はこちら」 → 少し小さく） */
  .buy-floating .copy2 {
    font-size: 12px;
    line-height: 1.1;
    font-weight: 600;
  }

  /* 英語版（BUY NOW → やや大きめで中央強調） */
  .en-buy-floating .copy2 {
    font-size: 14px;
    letter-spacing: 0.5px;
    font-weight: 500;
  }
}


----------------------------------------------------------------*/

header .header__inner {
  display: none;
}
header .header__inner .hamburger {
  display: none;
}


@media screen and (max-width: 1050px) {
  header .header_inner nav .nav_pc {
    display: none;
  }
  header .header_inner .header_btn_buy a {
    display: none;
  }
  header .header_inner .header_btn_catalog a {
    display: none;
  }
  header .header__inner  {
  position: fixed;
  z-index: 7;
  top: 0%;
  right: 1%;
  cursor: pointer;
  }
  header .header__inner .hamburger {
    display: block
  }
 }
/* ----------------------------------------------------------------
		hamburger
----------------------------------------------------------------*/
@media screen and (max-width: 1050px){
  .hamburger {
      display: block;
      height: 60px;
      margin-left: auto;
      position: relative;
      z-index: 900;
      width: 60px;
      border: none;
      background-color: transparent;
  }
  
  .hamburger.-active .hamburger__line {
      background-color: transparent;
  }
  .hamburger.-active .hamburger__line::before {
      top: 0;
      transform: rotate(45deg);
  }
  .hamburger.-active .hamburger__line::after {
      top: 0;
      transform: rotate(-45deg);
  }
  .hamburger.-active .hamburger__text::before {
    content: 'close';
  }
  .hamburger__line {
      display: block;
      height: 2px;
      position: absolute;
      top: 23px;
      left: 50%;
      transform: translateX(-50%);
      width: 24px;
      background-color: #fff;
      transition: 0.4s;
  }
  .hamburger__line:before,
  .hamburger__line:after {
      content: "";
      display: block;
      height: 100%;
      position: absolute;
      width: 100%;
      background-color: #fff;
      transition: inherit;
  }
  .hamburger__line:before {
      top: -6px;
  }
  .hamburger__line:after {
      top: 6px;
  }
  .hamburger__text {
      position: absolute;
      bottom: 8px;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
  }
  .hamburger__text::before {
      content: "MENU";
      text-align: center;
      color: #fff;
      font-size: 10px;
      font-weight: 900;
  }
  }
  .header {
    width: 300px;
  }
  .header__nav-area {
      position: fixed;
      top: 0;
      left: -100%;
      z-index: 9;
      height: 100vh;
      width: 300px;
      visibility: hidden;
      padding-top: 60px;
      background-color: #fff;
      transition: 0.4s;
  }
  .header__nav-area.-active {
      left: 0;
    visibility: visible;
  }
  .global-navigation {
      padding-top: 40px;
      padding-right: 25px;
      padding-bottom: 120px;
      padding-left: 25px;
  }
  .global-navigation__list > li {
      padding-bottom: 20px;
      border-bottom: 2px solid #e7e9ee;
  }
  .global-navigation__list > li + li {
    margin-top: 20px;
  }
  .global-navigation__link {
    display: flex;
      align-items: center;
      justify-content: space-between;
      color: #172e59;
      font-weight: 900;
      transition: color 0.4s;
      font-size: 0.875rem;
  }
  .global-navigation__link.-accordion {
      position: relative;
      background: none;
      border: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 100%;
      padding: 0;
  }
  .global-navigation__link.-accordion::after {
      content: '';
      display: block;
      height: 12px;
      position: absolute;
      top: 50%;
      right: 5px;
      width: 2px;
      background-color: #ed3242;
      transform: translateY(-50%);
      transition: transform 0.4s;
  }
  .global-navigation__link.-accordion::before {
      content: '';
      display: block;
      height: 2px;
      position: absolute;
      top: 50%;
      right: 0;
      width: 12px;
      background-color: #ed3242;
      transform: translateY(-50%);
      
  }
  .global-navigation__link.-active::after {
    transform: translateY(-50%) rotate(-90deg);
  }
  .accordion {
      height: 0;
      overflow: hidden;
      visibility: hidden;
      transition: 0.4s;
  }
  .accordion.-active {
      height: auto;
      padding-top: 30px;
      visibility: visible;
  }
  .accordion__list li {
      font-size: 0.9rem;
      text-align: left;
  }
  .accordion__list li + li {
       margin-top: 21px;
  }
  .accordion__link {
      color: #172e59;
  }

  .accordion {
  pointer-events: none; /* ← 初期は無効化 */
}
.accordion.-active {
  pointer-events: auto; /* ← 開いたらクリック可能 */
}

  /* ハンバーガーメニュー スライドイン */
.js-nav-area {
  position: fixed;
  top: 0; left: -300px;
  width: 300px;
  height: 100%;
  background: #fff;
  z-index: 1001;
  transition: left 0.3s ease;
}
.js-nav-area.-active { left: 0; }

/* オーバーレイ */
.nav-overlay {
  position: fixed; top:0; left:0; width:100%; height:100%;
  background: rgba(0,0,0,0.5);
  display:none;
  z-index:1000;
}
.nav-overlay.-active { display:block; }

/* アコーディオン */
.js-accordion { display:none; }
.js-accordion.-active { display:block; }

/* ===== オプションパーツページ共通 ===== */
#taitoru {
  text-align: center;
  margin: 40px auto 20px;
}

#taitoru .catch {
  font-size: 1.8rem;
  font-weight: bold;
  color: #222;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

/* スライダー画像をコンパクトに */
.function_list .item_image img {
    max-width: 240px; /* さらに小さく */
    width: 100%;
    height: auto;
    border-radius: 0; /* 角丸を削除 */
    margin: 0 auto;
    display: block;
    box-shadow: none; /* 影も削除 */
}


#spec::after {
  content: "";
  display: block;
  clear: both;
  height: 1px;
}
/* ==========================================================
   購入ボタンエリア（全ページ共通＋option.html対応）
   ========================================================== */
.buy-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px;
  width: 100%;
}

/* Shopifyボタン（プルダウン＋かごに追加） */
.shopify-wrapper {
  flex: 1 1 32%;
  min-width: 200px;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}

.shopify-wrapper select,
.shopify-wrapper .shopify-buy__option-select__select {
  width: 100%;
  height: 36px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
  padding: 4px 8px;
}

.shopify-wrapper .shopify-buy__btn {
  height: 44px;
  font-size: 15px;
  border-radius: 9px;
  background-color: #f61414;
  color: #fff;
  font-weight: 600;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s;
}
.shopify-wrapper .shopify-buy__btn:hover {
  background-color: #dd1212;
}

/* Amazon・楽天ボタン */
.btn {
  flex: 1 1 32%;
  min-width: 200px;
  max-width: 300px;
  height: 44px;
  border-radius: 9px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.btn.amazon { background-color: #146eb4; }
.btn.rakuten { background-color: #00a050; }
.btn:hover { opacity: 0.9; }

/* スマホ対応：縦並び＋中央揃え */
@media (max-width: 768px) {
  .buy-buttons {
    flex-direction: column;
    align-items: center;
  }
  .shopify-wrapper, .btn {
    max-width: 260px;
    width: 100%;
  }
}

/* slickの上書き防止 */
.buy-buttons a,
.buy-buttons .btn {
  display: flex !important;
}
/* ==========================================================
   購入ボタンエリア 横並び修正（Shopifyボタン対策）
   ========================================================== */
.buy-buttons {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center;
  align-items: stretch;
  gap: 8px;
  flex-direction: row !important;
}

.buy-buttons .shopify-wrapper,
.buy-buttons .btn {
  flex: 1 1 33%;
  min-width: 200px;
  max-width: 300px;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}

.buy-buttons .shopify-product {
  width: 100%;
}

.buy-buttons .shopify-buy__btn {
  width: 100% !important;
}

/* スマホ時：縦並び */
@media (max-width: 768px) {
  .buy-buttons {
    flex-direction: column !important;
    align-items: center;
  }
  .buy-buttons .shopify-wrapper,
  .buy-buttons .btn {
    max-width: 260px;
    width: 100%;
  }
}

/* ==========================================================
   スマホ時：Amazon・楽天ボタンの高さをShopifyボタンと揃える
   ========================================================== */
@media (max-width: 768px) {
  .buy-buttons .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px !important;        /* 高さを固定 */
    min-height: 44px !important;    /* Shopifyと近似 */
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
    border-radius: 9px;
  }

  .buy-buttons .amazon {
    background-color: #146eb4;
  }

  .buy-buttons .rakuten {
    background-color: #00a050;
  }
}
