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

@import url("fonts.css");

/* -----------------------------------------------------------
	icon
------------------------------------------------------------*/

/* -----------------------------------------------------------
	common
------------------------------------------------------------*/
html,body {
height:100%;
margin:0;
}
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
font-weight: 400;
color:#333;
line-height:1.8;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-webkit-overflow-scrolling: touch;
}

/* ゴシック系 */
body, table, th, td, p, li, dt, dd, div, span,.go {
font-family:'Alata', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
font-weight: normal;
}
.jp-go {
font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

/* 英字フォント */
.en {
  font-family: 'Alata', sans-serif;
}
/* 明朝系 */
.min {
  letter-spacing: 0.1em;
  font-family: 'Noto Serif CJK JP', "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-weight: normal;
}
h1,h2,h3,h4,h5 {
line-height: 1.4;
font-style: normal;
}

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
h1,h2 {
font-family:;
}
h1,h2,h3,h4,h5 {
color:#000;
margin:0;
}
p,li,dt,dd,th,td,div,span,em {
color: #1c1c1c;
font-size: 15px;
line-height: 1.8;
word-wrap: break-word;
margin-top:0;
}
li {
line-height: 1.4;
}

ul,ol {
padding-left:0;
margin:0;
}
li {
list-style: none;
}
dl,dt,dd {
  margin-left:0;
}

table {
width: 100%;
border-collapse: collapse;
}
a {
  word-break: break-word;
  color:#000;
}
a:hover {
  color:#333;
}
#header a:hover, #footer a:hover {
  text-decoration: none;
}

@media screen and ( min-width: 768px ){
  a {
  -webkit-transition: background  0.3s ease, color 0.3s ease;
  -moz-transition: background  0.3s ease, color 0.3s ease;
  -o-transition: background  0.3s ease, color 0.3s ease;
  transition: background  0.3s ease, color 0.3s ease;
}
	a:hover {
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	opacity: 0.7;
	cursor:pointer;
  transition:opacity 0.3s;
  text-decoration: none;
	}
	a:hover img {
	-ms-filter: "alpha(opacity=70)";
	filter: alpha(opacity=70);
	}
	#page-top a:hover {
  text-decoration: none;
  opacity: 0.7;
	}

  /* タブレット、PC768以上 */
  a[href^="tel:"] { pointer-events: none; }
  .sp {
  display:none!important;
  }
  .sp-br {
    display: none;
  }
  .pc-none {
    display: none!important;
  }
}

img {
line-height: 0;
max-width: 100%;
height: auto;
vertical-align: bottom;
}

article:after,main:after,
clearfix:after {
content: "";
display: block;
clear: both;
}



/* -----------------------------------------------------------
common default
------------------------------------------------------------*/
.tc { text-align:center!important; }
.tl { text-align:left!important; }
.fl { float:left; }
.fr { float:right; }
.bold { font-weight:bold; }
.inline { display:inline-block; }
.block { display:block; }
.super { vertical-align: super; font-size:10px;}


/* -----------------------------------------------------------
font-sizse
------------------------------------------------------------*/
html { font-size: 62.5%; }

@media screen and (min-width:768px) {
  html {
  font-size: 62.5%; /*10px*/
  }
  body { font-size: 1.5rem; }
  h1 { font-size: 2.4rem; }
  h2 { font-size: 2.8rem; }
  p,div,span,li,i,td,th,em,dt,dd {
    font-size:1.6rem;
  }
}

@media screen and (max-width:1023px) {
  html {
  font-size: 58%;
  }
}

@media screen and (max-width:767px) {
  html {
  font-size: 62.5%;
  }
  body { font-size: 1.4rem; }
  h1 { font-size: 2.2rem; }
  h2 { font-size: 1.8rem; }
  p,div,span,li,i,td,th,em,dt,dd {
    font-size:1.4rem;
  }
}


/* -----------------------------------------------------------
xxx reset
------------------------------------------------------------*/

/* -----------------------------------------------------------
共通ボックス
------------------------------------------------------------*/
.pb10 { padding-bottom:10px; }
.pb15 { padding-bottom:15px; }
.pb20 { padding-bottom:20px; }
.pb30 { padding-bottom:30px; }
.pb40 { padding-bottom:40px; }
.pb50 { padding-bottom:50px; }
.pb60 { padding-bottom:60px; }
.pb80 { padding-bottom:80px; }
.pb100 { padding-bottom:100px; }

.pt60 { padding-top:60px; }
.pt70 { padding-top:70px; }
.pt80 { padding-top:80px; }
.pt5 { padding-top:3px; }
.pl10 { padding-left:10px; }
.pl20 { padding-left:20px; }
.mt10 { margin-top:10px; }
.mt20 { margin-top:20px; }
.mt40 { margin-top:40px; }
.mt60 { margin-top:60px; }
.mt80 { margin-top:80px; }
.mt100 { margin-top:100px; }
.mt120 { margin-top:120px; }
.mt140 { margin-top:140px; }

.mb5 { margin-bottom:5px; }
.mb10 { margin-bottom:10px; }
.mb15 { margin-bottom:15px; }
.mb20 { margin-bottom:20px; }
.mb30 { margin-bottom:30px; }
.mb40 { margin-bottom:40px; }
.mb50 { margin-bottom:50px; }
.mb60 { margin-bottom:60px; }
.mb70 { margin-bottom:70px; }
.mb80 { margin-bottom:80px; }
.mb100 { margin-bottom:100px; }
.mb110 { margin-bottom:110px; }
.mb120 { margin-bottom:120px; }

.mr20 { margin-right:20px; }

.pt30 { padding-top: 30px; }
.pb20 { padding-bottom:20px; }

.vt { vertical-align: top; }
.tr { text-align :right; }
.bgfff { background: #fff; }

.fs14 { font-size: 14px; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fs26 { font-size: 26px; }
.fs28 { font-size: 28px; }
.fs30 { font-size: 30px; }
.fs32 { font-size: 32px; }
.fs34 { font-size: 34px; }
.fs36 { font-size: 36px; }
.fs38 { font-size: 38px; }
.fs40 { font-size: 40px; }

.fa {
line-height: 1;
}
i.far {
margin-left:3px;
}

/* -----------------------------------------------------------
page
------------------------------------------------------------*/

.full {
width: 100%;
}
.container {
margin: 0 auto;
max-width:1000px;
position: relative;
width:90%;
}
.container.large {
margin:0 auto;
max-width:1200px;
width:90%;
}

/* -----------------------------------------------------------
wp
------------------------------------------------------------*/
.single-inner {
max-width:1000px;
width:95%;
margin:auto;
}
.post-meta-single-top .post-meta {
justify-content: flex-end;
}
.entry-content {
font-family:'Roboto','Noto Sans Japanese', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-weight: normal;
}


/* -----------------------------------------------------------
header
------------------------------------------------------------*/
#haeder {

}
#header ul {
  margin:0;
}
#header a {
  text-decoration: none;
}

/*=============================================================  */
@media screen and (min-width: 768px) {
/*-------------------------------------------------------------
  PC MENU
---------------------------------------------------------------*/
#header,
ul#menu-sample li a,
.header-menu,
.sp-top-nav,
.sp-top-nav #top-menu,
.sp-top-nav ul#menu,
#top-menu a,
#top-logo {
  height:100px;
  display: flex;
  align-items: center;
}
#header {
  width:100%;
  background: #fff;
  position: relative;
  box-shadow: 0 0 0 3px rgb(0 0 0 / 16%);
  z-index: 10;
}
.header-menu {
  position: relative;
  /* display: flex; */
  width:100%;
  background: #fff;
}
.sp-top-nav {
  /* display: flex; */
}
.sp-top-nav #top-menu {
  /* display: flex; */
}
.sp-top-nav ul#menu {
  /* display: flex; */
}
#top-logo {
  margin:0 30px 0 25px;
}
#top-menu li {
  position: relative;
  transition: 0.5;
}
#menu li {
  margin:0 15px;
}
#menu li.active:after {
  content:"";
  position: absolute;
  bottom:0px;
  left:0;
  width:100%;
  height:4px;
  background: #aaa;
  transition: 0.5;
}
#menu li a:hover,
#menu li a:hover span {
  color:#000;
  opacity: 1;
}
#menu li:before {
  content:"";
  position: absolute;
  bottom:0px;
  left:0;
  width:0%;
  height:4px;
  background: #aaa;
  transition: 0.3s;
}
#menu li:hover:before {
  width: 100%;
  transition: 0.3s;
}
#menu a {
  padding:0 15px;
  color:#aaa;
  font-weight: bold;
}
#menu a span {
  color:#aaa;
  font-weight: bold;
}
#menu .active a,
#menu .active a span {
  color:#000;
}
ul#menu-sample {
  position: absolute;
  right:0;
}
ul#menu-sample li a {
  position: relative;
  font-weight: bold;
}
ul#menu-sample li {
  max-width:320px;
}
ul#menu-sample li a {
  width:100%;
  background: #C65154;
  display: flex;
  align-items: center;
  align-content: center;
  line-height: 1.4;
  color:#fff;
  padding:0 15px 0 80px;
}
ul#menu-sample li a:before {
  content:"";
  position: absolute;
  top:0;
  bottom:0;
  margin:auto;
  left:30px;
  background: url(../img/icn-catalog.svg)no-repeat 0 0;
  width:34px;
  height: 41px;
}
/* scroll */

.index .scrolled .header-menu, .second .scrolled .header-menu {
  position: fixed;
  z-index: 2;
}
.scrolled .header-menu {
  transition: background-color 0.3s ease;
  box-shadow: 0 3px 0 rgb(0 0 0 / 16%);
}
.scrolled #top-menu {
}
.scrolled #top-menu li a {
  font-size: 1.6rem;
}

.scrolled#header,
.scrolled ul#menu-sample li a,
.scrolled .header-menu,
.scrolled .sp-top-nav,
.scrolled .sp-top-nav #top-menu,
.scrolled .sp-top-nav ul#menu,
.scrolled #top-menu a,
.scrolled #top-logo {
    height: 70px;
}


}
/* pcメニュー 768px以上 end */
/*====================================================================  */
/* -----------------------------------------------------------
footer
------------------------------------------------------------*/
#footer {
  text-align: center;
  padding:42px 0 50px;
  background: #fff;
}
.footer-wrap {
  margin:0 auto 35px;
}
.footer-wrap img {
  width: 100%;
  max-width: 320px;
}
#footer-copyright p {
  font-size:1.2rem;
  text-align: center;
  font-weight: bold;
}

/* -----------------------------------------------------------
	pageTop
------------------------------------------------------------*/

/* scroll top */
#page-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #777;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  display: block;
  width: 44px;
  height: 44px;
  z-index: 10;
}

#page-top a {
  text-decoration: none;
  color: #fff;
  width: 40px;
  height: 40px;
  text-align: center;
  display: block;
  border-radius: 50%;
  text-indent: -9999px;
}
#page-top a:after {
  content: "";
  position: absolute;
  left: 16px;
  top: 19px;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: 10;
}
#page-top:hover {
  text-decoration: none;
  opacity: 0.8;
}

/* -----------------------------------------------------------
index
--------------------------------------------------------------*/
#mv {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
}
img.mv-img {
 /* object-fit: cover;
  object-position: center top;*/
  width: 100%;
  /*height: 600px;*/
}
#mv,.mv-inner {
  /*height: 600px;*/
  display: flex;
  align-items: center;
  align-content: center;
}
.mv-list {
  width: 100%;
}
.mv-list li {}
.mv-inner {
  max-width: 1200px;
  width: 90%;
  margin: auto;
  position: absolute;
  left:0;
  right:0;
  top:0;
}
/* .mv-outer {
  position: relative;
  max-width:1516px;
  margin:auto;
} */
/* #mv:before {
  content:"";
  position: absolute;
  top:0;
  left:0;
  right:0;
  margin:auto;
  background: url(../img/mv-pat.png) no-repeat center top;
  background-size:contain;
  width:100%;
  height:600px;
} */
.imv-img {
  margin:auto;
  text-align: center;
}
.mv-catch {
  margin-top:60px;
}
.mv-catch-en {
  margin:0 0 35px;
}
.mv-ttl {
  margin:0 0 20px;
}
h2.mv-ttl {
  font-size:2.4rem;
  letter-spacing: 0.3em;
}
.mv-catch p {
  line-height: 1.6;
}

#index-about {
  /* margin-top:-100px; */
}
.bgf {
  background: #fff;
}
.index-about-box {
  margin-bottom:90px;
}
.flexbox {
  display: flex;
}
#index-about .flex-img,
#index-about .flex-txt {
  width:50%;
}
#index-about .flex-txt .flex-txt-inner {
  padding:45px  55px 44px;
}
#index-about .flexbox.col {
  justify-content: space-between;
  flex-wrap: wrap;
}
#index-about .title-area {
  text-align: center;
  width: 100%;
}
.ttl-en {
  font-size:4.2rem;
  line-height: 1.2;
  margin:0 0 25px 0;
  letter-spacing: 0.2em;
}
.ttl-en .sub {
  color:#aaa;
  font-size:1.8rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  margin:5px 0 0;
  display: block;
  width:100%;
}
#index-about p {
  line-height: 2;
  margin-bottom:35px;
}
#index-about .flexbox.col .box {
  width: 46.5%;
}
#index-about .flexbox.col .box .photo {
  margin: 0 0 20px;
  text-align: center;
}
#index-about .flexbox.col .box .photo img {
  width: 100%;
}
#index-about .flexbox.col .box .ttl-en {
  margin: 0 0 20px;
  font-size: 3.2rem;
  text-align: center;
}
#index-about .flexbox.col .box .txt {
  margin: 0;
}
#index-about .flexbox.col .box .txt:nth-of-type(n + 2) {
  margin: 15px 0 0;
}

.bg-pat {
  background: url(../img/bg-pat.png) repeat center top;
  width:100%;
  height:100%;
  padding:60px 0;
}
#index-product {
}
#index-product h2 {
  margin-bottom:60px;
  text-align: center;
  letter-spacing: 0.17em;
}
.product-flex {
  /*display: flex;
  align-content: flex-start;
  flex-wrap:wrap;*/
  margin-left: calc(20 / 1200 * -100%);
  margin-right: calc(20 / 1200 * -100%);
}
#product-archive .product-flex {
  display: flex;
  align-content: stretch;
  flex-wrap:wrap;
  margin-left: calc(45.25 / 1000 * -100%);
  margin-right: calc(45.25 / 1000 * -100%);
}
.product-box {
  margin:0 0 30px;
  padding-left: calc(50 / 1240 * 100%);
  padding-right: calc(50 / 1240 * 100%);
}
#product-archive .product-box {
  padding-left: calc(45.25 / 1090.5 * 100%);
  padding-right: calc(45.25 / 1090.5 * 100%);
}
#product-archive .product-box {
  margin:0 0 90px;
}
.img-thumb img {
	width: 100%;
}
.product-box h3 {
  color:#4E4E4E;
  font-size:1.6rem;
  font-weight: bold;
  margin:0 0 20px 0;
}
#index-product .product-box__border {
  min-height: 500px;
}
.product-box__border {
  background: #fff;
  box-shadow: 0 0 4px rgb(0 0 0 / 12%);
  height: 100%;
  position: relative;
}
.product-box-inner {
  padding:26px 18px 65px;
}
.product-box-inner p {
  font-size: 1.4rem;
  padding-bottom: 20px;
}
.product-box-inner .more-btn .btn02 a {
  margin: 0 auto;
}

#index-product .product-flex .slide-arrow {
background: #C65154;
border: 2px solid #C65154;
border-radius: 100%;
display: block;
width: 40px;
height: 40px;
cursor: pointer;
position: absolute;
top: calc(50% - 25px);
z-index: 10;
}
#index-product .product-flex .slide-arrow.prev-arrow {
left: -15px;
}
#index-product .product-flex .slide-arrow.prev-arrow::before {
content: '';
border-style: solid;
border-width: 4px 6px 4px 0;
border-color: transparent #fff transparent transparent;
width: 0;
height: 0;
position: absolute;
top: 50%;
left: 50%;
margin-top: -4px;
margin-left: -4px;
}
#index-product .product-flex .slide-arrow.next-arrow {
right: -15px;
}
#index-product .product-flex .slide-arrow.next-arrow::before {
content: '';
border-style: solid;
border-width: 4px 0 4px 6px;
border-color: transparent transparent transparent #fff;
width: 0;
height: 0;
position: absolute;
top: 50%;
left: 50%;
margin-top: -4px;
margin-left: -2px;
}

#product-search h3 {
  text-align: center;
  font-size:2.3rem;
  margin:40px 0 46px;
}
.product-search-box {
  background: #fff;
  box-shadow: 0 0 4px rgb(0 0 0 / 12%);
  margin:0 0 10px;
}
.product-search-box dl.category-box {
  margin:0;
  padding: 30px 30px 15px 95px;
  display: flex;
  justify-content: flex-start;
  align-content: flex-start;
  width:100%;
}
.category-box dt {
  color: #4E4E4E;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
  width:110px;
}
.category-box dt:after {
  content:"";
  position: absolute;
  right:0;
  top:4px;
  background:#C65154;
  width:4px;
  height:21px;
}
.category-box dt,
.category-box dd {
  display: inline-block;
  line-height: 1.5;
}
.category-box dd {
  margin-left:35px;
  width:calc(100% - 110px);
}
.label-flex {
  display: flex;
  flex-wrap:wrap;
  align-content: flex-start;
  justify-content: flex-start;
  width:100%;
}
.category-box dd * {
  color:#4D4D4D;
}
.color-flex {
  display: flex;
}
.color-flex .label-ttl {
  width:3em;
}
.color-flex .label-ttl02 {
  width:6em;
}
.color-flex .color-label,
.color-flex .color-label02 {
  display: flex;
  flex-wrap:wrap;
}
.color-flex .color-label {
  width:calc(100% - 3em);
}
.color-flex .color-label02 {
  width:calc(100% - 6em);
}

.category-box input[type=checkbox] {
  transform: scale(1.16);
  margin-right: 5px;
}
label {
  display: inline;
  font-size:1.6rem;
}
.category-box label {
  margin:0 1.5% 13px;
}
.category01 label {
  /*width:26%;
  margin:0 0 13px;*/
}
.category01 label:nth-child(5) {
  /*width:42%;*/
}
.category02 label {
  /*width:33%;
  margin:0 0 13px;*/
}
.label-ttl,
.label-ttl02 {
  font-size:1.6rem;
  font-weight: bold;
}
.category03 dt {
  padding-right: 35px;
  text-align: right;
}
#news-wrap {
  background: #fff;
  padding:85px 0 60px;
}
#news-wrap.news-archive {
  padding:5px 0 10px;
}
#news-wrap h2 {
  margin-bottom:10px;
  position: relative;
}
#news-wrap h2 .sub {
  color:#000;
  margin:10px 0 0;
  width:100%;
  display: block;
  font-weight: bold;
}
#news-wrap h2:before {
  content:"";
  position: absolute;
  width:168px;
  height:3px;
  background: #C65154;
  top:0.6em;
  margin:auto;
  left: -200px;
}
.news-area {
  margin:25px 0 40px;
}
.news-area dl {
  display: flex;
  width:100%;
  margin:0;
  border-bottom:1px dotted #ccc;
}
.news-area dl:last-of-type {
  border-bottom:none;
}
.news-area dt {
  width: 27.5%;
  font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.news-area dt .date {
  font-weight: bold;
}
.news-area dt .cate {
  width: 50%;
  max-width: 120px;
  margin: 0 0 0 1.0em;
  padding: 0.2em;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  border: 1px solid #ccc;
  display: flex;
  justify-content: center;
  align-items: center;
}
.news-area dd {
  width: 72.5%;
}
.news-area dt,
.news-area dd {
  color:#000;
  font-size: 1.8rem;
  font-weight: bold;
  padding:30px 0 25px;
}
.news-area dd a {
  text-decoration: none;
}
/* news-detail */
#news-detail-wrap {
  margin:65px 0;
}
.news-detail-ttl h1 {
  font-size: 3.6rem;
  color: #000;
  font-weight: bold;
  line-height: 1.4;
  margin: 40px 0 40px;
}
.news-img {
  margin-bottom:40px;
}
.news-detail-area img + p {
  margin-top:40px;
}
.news-detail-area p {
  margin-bottom:2em;
}


.contact-area {
  background-image: url(../img/bg-contact.png);
  background-size:cover;
  background-repeat:no-repeat;
  background-position: center top;
  width:100%;
  height:327px;
  padding:75px 0 85px;
  position: relative;
}
.contact-ttl {
  margin-bottom: 35px;
  text-align: center;
  font-size: 3.4rem;
  font-weight: 500;
  color:#fff;
  letter-spacing: 0.1em;
}
#fsc-wrap {
  background: url(../img/bg-fsc.png)no-repeat center 0;
  background-size:cover;
  width:100%;
  /* height:253px; */
  padding:50px 47px;
}
.fsc-area {
  max-width:900px;
  width:90%;
  background:#fff;
  padding:23px 25px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin:auto;
}
.fsc-img  {
  width:71px;
  margin:0 20px 0 0;
}
.fsc-img img {
  width:71px;
  /* height:106px; */
}
.fsc-txt  {
  width:calc(100% - 91px);
}
.fsc-txt dl {
  margin:0;
}
.fsc-txt dt,
.fsc-txt dd {
}
.fsc-txt dt {
  font-weight: bold;
  margin-bottom:6px;
  font-size:1.4rem;
  color:#000;
}
.fsc-txt dd {
  font-size: 1.3rem;
  line-height: 1.6;
  color:#4D4D4D;
}
.fsc-txt02 {
  margin: 1.0em 0 0;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  width: 100%;
}





/* -----------------------------------------------------------
btn
------------------------------------------------------------*/

button {
width: auto;
padding: 0;
margin: 0;
background: none;
border: 0;
font-size: 0;
line-height: 0;
overflow: visible;
cursor: pointer;
}
button:focus {
outline: none;
appearance: none;
}
.more-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  position: relative;
  font-weight: bold;
}
.more-btn a:before {
  content: "\f054";
  font-family: "Font Awesome 5 Pro";
  font-size: 12px;
  position: absolute;
  right:30px;
}
.more-btn .btn01 a {
  border:1px solid #1C1C1C;
  max-width:260px;
  height:62px;
  border-radius: 62px;
}
.product-box .more-btn {
  width:80%;
  position: absolute;
  left:0;
  right:0;
  bottom:30px;
  margin:auto;
}
.more-btn .btn02 a {
  border:2px solid #1C1C1C;
  max-width:215px;
  height:38px;
  border-radius: 38px;
  font-size: 1.4rem;
}
.more-btn .btn02 a:before {
  font-size: 10px;
  right:22px;
}
.button {
display: flex;
justify-content: center;
align-items: center;
border-radius: 62px;
width:360px;
height:62px;
background: #C65154;
color: #fff;
font-size: 1.8rem;
font-weight: bold;
border:none;
cursor: pointer;
}
.btn-big {
max-width:360px;
margin:50px auto 20px;
letter-spacing: 0.05em;
}
.btn-big a {
  text-decoration: none;
}
.btn-big a:hover {
  color:#fff;
}
.btn-inner {
position: relative;
height:62px;
}
.btn-inner:after {
  content: "\f054";
  font-family: "Font Awesome 5 Pro";
  font-size: 18px;
  position: absolute;
  right:30px;
  top:16px;
  color:#fff;
}
.button:hover {
  opacity: 0.8;
}
.about-btn {
  text-align: center;
  margin:auto;
}
a.btn-normal {
  color:#4E4E4E;
  font-size:1.4rem;
  padding-right:20px;
  position: relative;
  font-weight: bold;
  text-decoration: underline;
}
a.btn-normal:after {
  content: "\f054";
  font-family: "Font Awesome 5 Pro";
  font-size: 12px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  font-weight: bold;
}
.btn-contact {
max-width:600px;
width:90%;
margin:auto;
}
.btn-contact a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 84px;
  width:100%;
  height:84px;
  background: #C65154;
  text-decoration: none;
  color:#fff;
  letter-spacing: 0.05em;
  font-size:2.1rem;
  padding-left:2em;
  font-weight: bold;
  text-align: center;
  position: relative;
}
.btn-contact a:before {
  content: "";
  position: absolute;
  left:60px;
  top:0;
  bottom:0;
  margin:auto;
  width:26px;
  height: 32px;
  background: url(../img/icn-catalog.svg) no-repeat 0 center;
  background-size:contain;
}

.product-menu-area {
  border-bottom:1px dotted #ccc;
  padding-bottom:30px;
  margin-bottom:40px;
}
ul.product-menu {
margin:0 -1.5% 0;
display: flex;
flex-wrap:wrap;
justify-content: flex-start;
}
ul.product-menu li {
  max-width: 310px;
  width:30%;
  margin:10px 1.5%;
}
ul.product-menu li a {
  width:100%;
  height:62px;
  color:#C65154;
  font-weight: bold;
  text-decoration: none;
  border:2px solid #C65154;
  border-radius: 62px;
  display: flex;
  flex-wrap:wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  line-height: 1.2;
  position: relative;
}
ul.product-menu li a:before {
  content: "\f054";
  position: absolute;
  font-family: "Font Awesome 5 Pro";
  right:35px;
  font-size: 12px;
  line-height: 1.2;
}

.btn-one {
  margin:60px auto 120px;
  text-align: center;
  display: flex;
  justify-content: center;
}
a.btn-white {
display: flex;
justify-content: center;
align-items: center;
border-radius: 84px;
width:400px;
height:84px;
text-decoration: none;
background: #fff;
color: #1C1C1C;
border:2px solid #1C1C1C;
font-size: 2.1rem;
font-weight: bold;
cursor: pointer;
}

/* -----------------------------------------------------------
second
--------------------------------------------------------------*/
.second {
}
#kv {
  width:100%;
  overflow:hidden;
}
#kv,.kv-outer,.kv-outer:before,.kv-ttl-area {
  height:260px;
}
.kv-outer {
  position: relative;
}

.kv-outer img {
  object-fit: cover;
  height:260px;
  width:100%;
}
.kv-ttl-area {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap:wrap;
  max-width: 768px;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
  text-align: center;
}
/* -----------------------------------------------------------
bread-clumbs
--------------------------------------------------------------*/
.bread-area {
  max-width:1000px;
  margin:15px auto;
  width:90%;
}
ol.bread-crumbs {
  margin:0;
  padding:0;
  padding-left:3px;
}
.bread-crumbs li,
.bread-crumbs a,
.bread-crumbs span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}
.bread-crumbs li {
  font-size:1.3rem;
  color:#000;
  padding:8px 0;
  display: inline-block;
}
.bread-crumbs li a {
  font-size:1.3rem;
  color:#000;
  text-decoration: underline;
}
.bread-crumbs ol li {
  display: inline-block;
}
.bread-crumbs a:after {
  content: " ";
  color: transparent;
  display: inline-block;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border: solid #666 0;
  border-width: 0 1px 1px 0px;
  width: 7px;
  height: 7px;
  margin: 0 2px 0 3px;
  position: relative;
}

/* -----------------------------------------------------------
product
--------------------------------------------------------------*/
#product-wrap {

}
.product-ttl-area {
  margin: 40px 0 48px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.product-ttl-area .logo-area {
  margin: 0 15px 0 0;
  max-width: 70px;
}
.product-ttl-area .title-area {}
.product-ttl-area h1 {
  font-size: 3.6rem;
  color: #000;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 10px -3px;
}
.product-ttl-area.tc {
  text-align: center;
}
.product-ttl-area .sub-ttl {
  margin: 0 0 0 3px;;
}
.product-ttl-area .sub-ttl li {
  color:#aaa;
  padding-left:18px;
  display: inline-block;
  position: relative;
}
.product-ttl-area .sub-ttl li:first-of-type {
  padding:0 20px 0 0;
}
.product-ttl-area .sub-ttl li:first-of-type:after {
  content:"";
  position: absolute;
  top:0;
  right:0;
  background: #707070;
  width:1px;
  height:100%;
}
.product-ttl-area .sub-ttl li:nth-child(2) {
  font-size:1.4rem;
}
#product-detail {
  display: flex;
  justify-content: flex-start;
  align-content: flex-start;
  margin-bottom:70px;
}
#product-detail02 {
  margin-bottom:70px;
}
#product-detail03 {
  margin-bottom:70px;
}
#product-detail02 table,
#product-detail03 table {
	width: 100%;
	border-top: 1px solid #000;
	border-collapse: collapse;
}
#product-detail02 table th,
#product-detail03 table th {
	padding: 15px 10px;
	font-weight: bold;
	text-align: left;
	border-bottom: 1px solid #000;
}
#product-detail02 table td,
#product-detail03 table td {
	padding: 15px 10px;
	border-bottom: 1px solid #000;
}
#product-detail02 a,
#product-detail03 a {
	color: #C65154;
}
#product-detail02 p,
#product-detail03 p {
	margin: 0;
}
#product-detail02 p:nth-child(n + 2),
#product-detail03 p:nth-child(n + 2),
#product-detail02 table:nth-child(n + 2),
#product-detail03 table:nth-child(n + 2) {
	margin: 1.5em 0 0;
}
.product-img {
  width:52%;
  max-width:520px;
  margin-right:48px;
}
.product-img .slide-item img {
  width: 100%;
}
.product-txt {
  width:48%;
}
.product-txt .read-txt {
  padding: 0 0 20px 0;
}
.product-txt .read-txt p {
  margin:0 0 1.5em;
  font-size: 1.4rem;
}
.product-txt * {
  color:#1C1C1C;
}
.product-txt .txt-box {
  padding: 0.3em;
  color: #C65154;
  border: 1px solid #C65154;
  display: inline-block;
}
table.type01 {
  border-collapse: collapse;
  margin-bottom:25px;
}
table.type01 th,
table.type01 td {
  padding:25px 0;
  border-top:1px solid #000;
  text-align: left;
}
table.type01 th:last-of-type,
table.type01 td:last-of-type {
  border-bottom:1px solid #000;
}
table.type01 th {
  width:100px;
}
.spec-table .spec-label li {
  background: #888888;
  border-radius: 3px;
  padding:5px 10px;
  display: inline-block;
  color:#fff;
  /* font-weight: bold; */
  margin:0 4px 4px 0;
  font-size: 1.4rem;
}
.seck-caption {
  margin:0
}
.seck-caption li {
  margin:0 0 10px 1em;
  text-indent:-1em;
  line-height: 1.4;
}
.procuct-contact {
  margin-bottom:100px;
}
#product-archive {
   margin-bottom:100px;
}
#product-archive h2 {
  font-size:2.6rem;
  color:#000;
  text-align: center;
  margin-bottom:60px;
}
.recommend-flex {
  display: flex;
  justify-content: space-between;
}
#product-archive .product-box {
  width: 33.3333333333%;
}
.product-box {
  width: 25%;
}
#product-archive.mb {
  margin-bottom:0;
}
/* pagenation */
.wp-pagenavi {
  margin-bottom:90px;
  display: flex;
  justify-content: center;
}
.wp-pagenavi a, .wp-pagenavi span {
color: #D0424C;
font-weight: bold;
font-size:1.8rem;
background: #fff;
border: 1px solid #D0424C;
width:50px;
height: 50px;
display: flex;
justify-content: center;
align-items: center;
margin: 5px;
white-space: nowrap;
text-decoration: none;
}
.wp-pagenavi a:hover{
background: #D0424C;
color: #fff;
opacity: 1;
}
.wp-pagenavi span.current{
color: #FFF;
background: #D0424C;
border-color: #D0424C;
font-weight: bold;
}
.wp-pagenavi span.current:hover {
  color: #D0424C;
  background: #fff;
  opacity: 0.8;
}


/* product */
.note-box {
  background: #F8F8F8;
  padding:24px 24px 14px;
  color:#1C1C1C;
  margin-bottom:40px;
}
.note-box .txt-red {
  color:#C65154;
  font-weight: bold;
}
.section-bd {
border-bottom: 1px dotted #ccc;
margin-bottom: 40px;
}
.product-read {
  margin-bottom:30px;
  text-align: center;
}

/* -----------------------------------------------------------
howtouse
--------------------------------------------------------------*/
#howtouse-wrap {
  margin-bottom:100px;
}
.ttl-area h1 {
  font-size: 3.6rem;
  color: #000;
  font-weight: bold;
  line-height: 1.4;
  margin: 40px 0 10px;
}
.base-wrap h2 {
  margin:60px 0 48px;
  color:#C65154;
  font-size:2.6rem;
  font-weight: bold;
  padding:0 0 0 11px;
  line-height: 1.2;
  border-left:6px solid #C65154;
}
.base-wrap p {
  line-height: 2;
}
.base-wrap h3 {
  font-size:2.2rem;
  font-weight: bold;
  color:#000;
  margin:40px 0 28px;
}
#howtouse-wrap table.type01 {
  width:inherit;
}
ul.check-list {
  margin:0;
}
ul.check-list li {
  margin:0 0 1.5em 0;
  padding-left:35px;
  line-height: 1.8;
  position: relative;
}
ul.check-list li:before {
  content: "\f00c";
  font-family: "Font Awesome 5 Pro";
  font-size: 1.9rem;
  position: absolute;
  left:0;
  top:0;
  color:#C65154;
  font-weight: bold;
}

/* -----------------------------------------------------------
about
--------------------------------------------------------------*/
#about-wrap {
  margin-bottom:100px;
}
#about-wrap .ttl01 {
  text-align: center;
}
h1.ttl01  {
  margin:30px 0 52px;
  letter-spacing: 0.05em;
  font-size:3.6rem;
  color:#000;
}
h2.ttl01 {
  margin-bottom:58px;
  letter-spacing: 0.05em;
  font-size:3.6rem;
  color:#000;
}
.ttl01 .sub {
  font-size:2.0rem;
  color:#C65154;
  margin:0 0 20px 0;
  width: 100%;
  display: block;
  letter-spacing: 0.1em;
}
#about-wrap h1 .sub {
  margin-bottom:31px;
}
.about-read {
  margin-bottom: 70px;
}
.about-read p.read-txt {
  font-size:2.2rem;
  letter-spacing: 0.3em;
  line-height: 2;
  font-weight: bold;
  text-align: center;
  margin-bottom:50px;
}
.about-read strong {
  color:#C65154;
}
.about-read p.sub-txt {
  text-align: center;
  line-height: 2.6em;
}
.bg-gray {
  background: #F8F8F8;
  padding:70px 0 70px
}
#about-feauture {
  margin-bottom:80px;
}
#about-feauture p {
  line-height: 2;
}
.feauture-flex {
  display: flex;
  justify-content: space-between;
  margin-bottom:60px;
}
.feauture-flex li {
  width:33.333%;
  padding:20px;
  height:242px;
  color:#C65154;
  font-size:20px;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  position: relative;
}
.feauture-flex li:before {
  content:"";
  position: absolute;
  top:0;
  right:0;
  background: #C65154;
  width:4px;
  height: 100%;
}
.feauture-flex li .num {
  font-size:5rem;
  color:#C65154;
  margin-bottom:40px;
  line-height: 1;
  width:100%;
  display: block;
}
.feauture-flex li:last-of-type:before {
  content:none;
  background: none;
}

/* -----------------------------------------------------------
inquiry
--------------------------------------------------------------*/
#inquiry-wrap {
  margin:60px 0 110px;
}
.inquiry-read {
  display: flex;
  justify-content: space-between;
  margin-bottom:50px;
}
.inquiry-read-img {
  width:30%;
  max-width:302px;
  margin-right:33px;
}
.inquiry-read-txt {
  width:calc(70% - 33px);
}
.red, .required {
  color:#C65154;
}
.required {
  margin-left:0.5em;
}
#inquiry-wrap .ttl-area {
  margin-bottom:40px;
}
.inquiry-area-read {
  margin-bottom:48px;
}
.inquiry-area-read p {
  margin-bottom:0;
}
#inquiry-form table {
  margin-bottom:50px;
}
#inquiry-form table.type01 th,
#inquiry-form table.type01 td {
    padding: 30px 0 30px 35px;
}
#inquiry-form table.type01 td {
  padding-right:30px;
}
#inquiry-form th {
  color:#000;
  width:23%;
  min-width:230px;
}
#inquiry-form input.input-txt {
  width:100%;
  height: 40px;
  padding:10px 20px;
  border:1px solid #ccc;
  border-radius: 3px;
}
#inquiry-form textarea.input-textarea {
  width:100%;
  height: 180px;
  /* height: calc( 1.3em * 5 ); */
  line-height: 1.3;
  padding:10px 20px;
  border:1px solid #ccc;
  border-radius: 3px;
  vertical-align: top
}
.table.type01 th {
  vertical-align: top;
}
.radio-flex {
  display: flex;
}
.radio-flex input {
  margin:0.4rem;
}
#inquiry-form label {
  margin-right:40px;
}


/* -----------------------------------------------------------
slide
--------------------------------------------------------------*/

#slide-wrap {
margin:auto;
max-width:670px;
width:100%;
}
#slider,#thumbnail_slider{
  margin: 0 0 20px;
}
#slide-wrap .slick-slide  {
  height: auto;
}
.slide-item{
  width: 100%;
}
.thumbnail-item img{
  margin: 0 auto;
}
#thumbnail_slider .slick-slide {
  margin: 0 10px;
}
#thumbnail_slider .slick-list {
  margin:0 -10px;
}
.thumbnail-item:hover{
cursor: pointer;
}
.slick-next:before {
  content: '\f138';
}
.slick-prev:before {
  content: '\f137';
}
.slick-prev:before, .slick-next:before {
  font-family: 'FontAwesome';
  font-size: 18px;
  line-height: 1;
  opacity: .75;
  color: #977E80;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* -----------------------------------------------------------
table
--------------------------------------------------------------*/
span.sup{
vertical-align:super;
font-size:80%;
}

/* -----------------------------------------------------------
	other
------------------------------------------------------------*/
/* パスワードページ */
.post-password-form {
width: 90%;
margin: auto;
text-align: center;
padding: 180px 0 180px;
}
.post-password-form input[type="submit"] {
  background: none;
  cursor: pointer;
}

/* -----------------------------------------------------------
	form お問合せ、お申込み
------------------------------------------------------------*/


/* -----------------------------------------------------------
mediaQuery レスポンシブ
------------------------------------------------------------*/

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

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

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

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

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


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

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

}


@media screen and (min-width: 1101px) {
.pc-s {
  display: none;
}
}
@media screen and (max-width: 1100px) {
.pc-m {
  display: none;
}
.pc-m-block {
  display: block;
}
.product-search-box dl.category-box {
  padding: 30px 30px 15px 60px;
}
/* .product-ttl-area h1 {
  font-size: 3.2rem;
} */
.ttl-en {
  font-size: 4rem;
}
table.type01 th, table.type01 td {
  padding: 20px 0;
}
.contact-ttl {
font-size:3rem;
}
#about-wrap h1 img {
  max-width:180px;
  margin:auto;
}
h2.ttl01 {
  font-size:3.4rem;
}
.feauture-flex li .num {
  font-size: 4.6rem;
}
.feauture-flex li {
  font-size:1.8rem;
  height:210px;
}
.feauture-flex li:before{
  width:3px;
}
.bg-gray {
  padding: 60px 0;
}
h2.ttl01 {
  margin-bottom: 50px;
}
.news-detail-ttl h1 {
  font-size: 3rem;
}
a.btn-white {
  max-width: 360px;
  height: 62px;
}
.news-detail-ttl h1 {
  font-size: 2.8rem;
}
.wp-pagenavi a, .wp-pagenavi span {
  width:40px;
  height:40px;
}
}


@media screen and (max-width: 1000px) {
.product-search-box dl.category-box {
    padding: 30px 20px 15px 50px;
}
/*
.category01 label:nth-child(4) {
    width: 30%;
}
.category01 label:nth-child(3) {
    width: 26%;
}
.category01 label {
    width: 20%;
}*/
}

@media screen and (max-width: 920px) {
/*
.category01 label:nth-child(4) {
    width: 40%;
}
.category01 label {
    width: 25%;
}
.category01 label:nth-child(2),
.category01 label:nth-child(3),
.category01 label:nth-child(6) {
  width:30%;
}*/
}



@media screen and (max-width: 900px) {
#top-menu a {
  padding: 0 10px;
}
#menu li {
  margin: 0 5px;
}
ul#menu-sample li a {
padding-left:60px;
}
ul#menu-sample li a:before {
left:15px;
}
#mv, .mv-inner,
img.mv-img {
  /*height: 500px;*/
}
.mv-inner br {
  display: none;
}
.mv-catch {
    margin-top: 0;
}


}


/* -----------------------------------------------------------------------------
スマホメニュー
------------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
}
/*--------------------------------------------------
767px以下
/*--------------------------------------------------*/
@media screen and (max-width: 767px) {
.pc {
display:none!important;
}



/* -----------------------------------------------------------
SP-MENU スマホ版メニュー
------------------------------------------------------------*/
body.open {
    /* overflow: hidden; */
}
#header {
  padding:0;
  z-index: 100;
  height: 50px;
  width:100%;
}
h1#top-logo {
  padding:0;
  height: 50px;
}
#top-logo img {
  max-width: 80px;
  margin: 13px 0 0 10px;
}
#top-logo a {
  width: calc(100% - 65px);
}
#top-menu {
  background: none;
  height: inherit;
}

.open #toggle {
  background: transparent;
}
.open .sp-top-nav {
  z-index: 1001;
  visibility: visible;
}

#header nav {
  top:0;
  width:100%;
  height: 100%;
  position: relative;
}
.sp-top-nav {
  visibility: hidden;
  position: fixed;
  display: table;
  vertical-align: middle;
  color: #fff;
  top: 0;
  height: 100%;
  width: 100%;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0;
}
#toggle {
    display: block;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 24px;
    height: 30px;
    cursor: pointer;
    padding: 0px;
    z-index: 1002;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
#toggle div {
    position: relative;
}
#toggle span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #C65154;
    left: 0;
    zoom: 1;
    -webkit-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#toggle span:nth-child(1) {
    top: 0;
}
#toggle span:nth-child(2) {
    top: 8px;
}
#toggle span:nth-child(3) {
    top: 16px;
}
.open #toggle span:nth-child(1) {
    top: 9px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    zoom: 1;
}
.open #toggle span:nth-child(2) {
    width: 0;
    left: 50%;
}
.open #toggle span:nth-child(3) {
    top: 9px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    zoom: 1;
}

ul#menu {
  top: 0;
  position:absolute;
  padding: 0;
  width: 100%;
  margin: 0;
  z-index:101;
  overflow:hidden;
  height:auto;
}
ul#menu li {
  display: block ;
  margin: 0;
  margin-left: 0 !important;
  font-size: 1.1em;
  z-index:500;
  position:relative;
  width:100%;
}
ul#menu li.reason-menu a {
  color: #C65154;
  background: #fb9e14;
}
#top-menu {
  width:100%;
}
#top-menu li {
    padding: 0;
}
#top-menu li a {
width:100%;
background: #C65154;
color:#fff;
font-size: 1.5rem;
font-weight: bold;
padding:0 15px 0 20px;
height: 50px;
display: flex;
align-items: center;
justify-content: start;
border-bottom:1px solid #fff;
text-align: left;
}
#top-menu li:last-of-type a {
  /* border-bottom:none; */
}
ul#menu {
  top:0;
}
.pc-m {
  display: block;
}
#mv, .mv-inner, img.mv-img {
    /*height: 400px;*/
}
#page-top {
  bottom: 5px;
  right: 10px;
  width: 40px;
  height: 40px;
  margin-bottom: 0;
}
#page-top a:after {
  left: 14px;
  top: 15px;
}
#top-menu li a span {
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
}
.bg-pat {
padding:50px 0;
}
.mv-catch-en {
  margin: 0 0 20px;
}


/* 共通 */
.container-reason,.container,.container.large {
  width:90%;
}
/* respon index */
#index-about .flex-txt .flex-txt-inner {
    padding: 45px 30px 44px;
}
.home .product-flex,
#product-archive .product-flex {
  margin-left: 0;
  margin-right: 0;
}
.home .product-flex {
  /*flex-wrap:wrap;
  justify-content: center;*/
}
.home .product-box {
  /*width:45%;
  max-width:273px;
  padding-left: 0;
  padding-right: 0;
  margin:0 2.5% 30px;*/
}
#index-about .flex-img {
  width:40%;
}
#index-about .flex-txt {
  width:60%;
}
h2.ttl-en {
  font-size: 2.8rem;
}
.ttl-en .sub {
  font-size:1.3rem;
}
.more-btn .btn01 a {
height:54px;
}
.index-about-box {
    margin-bottom: 20px;
}
#index-product h2 {
    margin-bottom: 30px;
}
#index-product .product-box__border {
  min-height: 475px;
}

#index-product .product-flex .slide-arrow {
width: 30px;
height: 30px;
top: calc(50% - 30px);
}
#index-product .product-flex .slide-arrow.prev-arrow {
left: -10px;
}
#index-product .product-flex .slide-arrow.next-arrow {
right: -10px;
}

#product-search h3 {
    margin: 40px 0 30px;
}
.product-search-box dl.category-box {
  flex-wrap:wrap;
}
dl.category-box dt {
  width: 100%;
  padding-left: 1em;
  margin-bottom:10px;
}
.category03 dt {
 padding-right:0;
 text-align: left;
}

#product-search dl.category-box label {
    width: 100%;
}

#product-search dl.category03 label {
    width: 47%;
}
.category-box dt:after {
left:0;
right: inherit;
}
.product-search-box dl.category-box {
  padding: 25px 20px 15px;
}
.product-search-box {
  margin-bottom:20px;
}
.category-box dd {
  margin-left: 0;
  width: 100%;
}

.color-flex .label-ttl {
  width: 100%;
}
.color-flex .label-ttl02 {
  width: 100%;
}
.color-flex .color-label {
  width: 100%;
}
.color-flex .color-label02 {
  width: 100%;
}

.contact-area {
padding: 50px 0 25px;
height: 230px;
}
.contact-ttl {
  font-size:1.8rem;
  margin-bottom: 25px;
}
.btn-contact a {
  font-size:1.5rem;
  height:64px;
  width:90%;
  margin:auto;
}
.btn-contact a:before {
  left:40px;
}
.news-area dt, .news-area dd {
  font-size:1.4rem;
}
.news-area dt, .news-area dd {
  padding: 15px 0;
  line-height: 1.4;
}
#news-wrap {
  padding: 50px 0 50px;
}

.button {
  max-width:360px;
  width:90%;
  height: 54px;
  font-size: 1.5rem;
  margin:auto;
}
.btn-inner:after {
font-size:1.4rem;
}
.btn-big a {
  font-size:1.5rem;
}
.btn-inner {
  height: 54px;
}
#fsc-wrap {
  padding:20px 0;
  height:auto;
}
.fsc-img {
  width:50px;
  margin-right:15px;
}
.fsc-txt {
  width: calc(100% - 65px);
}
.fsc-img img {
  width: 50px;
}
.fsc-area {
  padding:20px 12px 20px 13px;
}
.news-area dl {
  flex-wrap:wrap;
}
.news-area dt, .news-area dd {
  width:100%;
}
.news-area dt {
  padding:15px 0;
}
.news-area dd {
  padding:0 0 15px;
}
.product-box-inner {
  padding: 20px 10px 50px;
}
.product-box {
padding-bottom:15px;
}
.product-box-inner p {
line-height: 1.6;
}
.product-box .more-btn {
bottom:20px;
}
.more-btn .btn02 a {
  max-width:100%;
  width:100%;
}
.product-box .more-btn {
    width: 90%;
}
.product-ttl-area {
  align-items: flex-start;
}
.product-ttl-area .logo-area {
  max-width: 50px;
}
.product-ttl-area .sub-ttl li {
  padding-left: 10px;
  font-size: 1.2rem !important;
}
.product-ttl-area .sub-ttl li:first-of-type {
  padding: 0 10px 0 0;
}


/* footer */
.footer-wrap {
  max-width: 220px;
}
#footer {
  padding: 40px 0 30px;
}
/* second */
.product-ttl-area h1 {
    font-size: 2.2rem;
}
.product-img {
 margin-right:30px;
}
#product-archive {
    margin-bottom: 50px;
}
.ttl-en {
    font-size: 3rem;
}
#kv, .kv-outer, .kv-outer:before, .kv-ttl-area {
    height: 160px;
}
.procuct-contact .btn-contact a {
width:100%;
}
#product-archive h2 {
  font-size: 2rem;
  margin-bottom:40px;
}

/* form */
#inquiry-form table.type01 th,
#inquiry-form table.type01 td {
  width:100%;
  display: block;
  padding:15px 0;
  border-bottom:0;
}
#inquiry-form table.type01 th {
  padding-bottom:8px;
}
#inquiry-form table.type01 td {
  border-top:0;
  padding-top:0;
  padding-bottom:20px;
}
#inquiry-form table.type01 th br {
  display: none;
}
.ttl-area h1 {
  font-size: 2.3rem;
}
.base-wrap h2 {
  font-size:2rem;
  margin: 30px 0 20px;
}
#inquiry-wrap .ttl-area {
  margin-bottom: 15px;
}
.btn-big {
  margin: 30px auto 20px;
}
#inquiry-wrap {
  margin: 60px 0 80px;
}
.inquiry-read {
  flex-wrap: wrap;
}
.inquiry-read-img {
  margin: 0 auto 15px !important;
  width: 100%;
  max-width: 240px;
}
.inquiry-read {
  margin-bottom:30px;
}
.inquiry-read-txt {
  width: 100%;
}
.base-wrap h3 {
  font-size: 1.9rem;
  margin: 40px 0 20px;
}
.base-wrap h2 {
  border-left: 4px solid #C65154;
  padding-bottom:3px;
}
ul.check-list li:before {
  font-size:1.5rem;
}
ul.check-list li {
  padding-left:25px;
}
.about-read p.read-txt {
  font-size: 1.8rem;
}
#about-wrap h1 img {
  max-width: 140px;
}
.about-read p.read-txt {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  text-align: left;
}
.ttl01 .sub {
  font-size: 1.8rem;
  margin-bottom:10px;
}
h2.ttl01 {
  font-size: 2.4rem;
}
#about-wrap h1 .sub {
  margin-bottom: 20px;
}
.about-read p.sub-txt {
  line-height: 2em;
  text-align: left;
}
.feauture-flex {
  flex-wrap:wrap;
}
.feauture-flex li {
  height:100%;
  font-size:1.8rem;
  text-align: left;
  width:100%;
  margin-bottom:30px;
  padding:10px 30px;
}
.feauture-flex li:before {
  right:inherit;
  left:0;
}
.feauture-flex li .num {
  font-size: 3.6rem;
  margin-bottom:10px;
}
.feauture-flex li:last-of-type:before {
  content: "";
  position: absolute;
  top: 0;
  right: inherit;
  left:0;
  background: #C65154;
  width: 3px;
  height: 100%;
}
.bg-gray {
  padding: 50px 0 40px;
}
h2.ttl01 {
  margin-bottom: 30px;
}
.feauture-flex {
  margin-bottom:0;
}
h1.ttl01 {
  margin: 30px 0 40px;
}
#about-feauture {
  margin-bottom: 50px;
}
.news-detail-ttl h1 {
  font-size: 2rem;
}
#news-detail-wrap {
  margin: 40px 0;
}
.btn-one {
  margin: 50px auto 90px;
}
a.btn-white {
  max-width: 260px;
  height: 54px;
  font-size: 1.4rem;
}
.wp-pagenavi a, .wp-pagenavi span {
  width:30px;
  height:30px;
  font-size:1.4rem;
  line-height: 1;
}
ul.product-menu li {
  width: 47%;
}
ul.product-menu li a {
  height: 54px;
  padding: 10px 30px 10px 25px;
  text-align: center;
}
ul.product-menu li a:before {
  right:13px;
}
}

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




@media screen and (max-width: 680px) {
}
/* sm サイズ*/
@media screen and (max-width: 575px) {
.product-flex {
  flex-wrap:wrap;
}
.product-box {
  width:48%;
  margin:0 0 30px;
}

}

@media screen and (max-width: 480px) {
.index-about-box {
  flex-wrap:wrap;
}
#index-about .flex-img,
#index-about .flex-txt {
  width:100%;
}
#index-about .flex-img {
  width:80%;
  margin:auto;
}
#index-about .bgf {
  background: none;
}
#index-about .flex-txt .flex-txt-inner {
    padding: 30px 20px 30px;
}
.more-btn .btn01 a {
  margin:auto;
}
#index-about p {
margin-bottom:20px;
}
#index-about .flexbox.col .box {
  padding: 0 40px;
  width: 100%;
}
#index-about .flexbox.col .box:nth-of-type(n + 3) {
  margin: 30px 0 0;
}
#index-about .flexbox.col .box:last-child {
  margin: 30px 0;
}
#index-about .flexbox.col .box .photo {
  margin: 0 0 15px;
}
#index-about .flexbox.col .box .photo img {}
#index-about .flexbox.col .box .ttl-en {
  margin: 0 0 10px;
  font-size: 2.6rem;
}
#index-about .flexbox.col .box .txt {}
#index-about .flexbox.col .box .txt:nth-of-type(n + 2) {
  margin: 10px 0 0;
}


#product-detail {
  flex-wrap:wrap;
}
.product-img,
.product-txt {
  width:100%;
}
table.type01 th, table.type01 td {
    padding: 15px 0;
}
#product-archive .product-box {
  width:100%;
  max-width: 273px;
  padding-left: 0;
  padding-right: 0;
  margin:0 auto 30px;
}


}

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

}

.overflow-hidden {
  overflow: hidden !Important;
}
