@charset "utf-8";
/* --------------------------------------------- */
/* .l-mv                                         */
/* --------------------------------------------- */
.l-mv {
 position: relative;
 margin: 0;
 padding: 6rem 0 0;
 min-width: 1100px;
 height: 500px;
 width: 100%;
 background: url(img/bg_mv.jpg) center bottom no-repeat;
 background-size: cover;
}
.l-mv-wrapper {
 margin: 0 auto;
 width: 1000px;
}
.l-mv-box {
 margin: 0 auto 0 0;
 /* width: 850px; */
}
.l-mv-logo {
 margin-bottom: 3rem;
 text-align: center;
}
.l-mv-title {
 text-align: center;
 color: #5a7e91;
 margin: 2rem 0;
 font-size: 3.7rem;
 line-height: 1.4;
}
.l-mv-title a {
 color: #fff;
 text-decoration: none;
}
.l-mv-title span {
 background: #fff;
 display: inline-block;
 margin-bottom: 8px;
 padding:  0 1rem;
}
.l-mv-title span:last-child {/* display: block; */}
/* --------------------------------------------- */
/* .l-parts                                      */
/* --------------------------------------------- */
/* .l-parts01
------------------------------------------------ */
.l-parts01 .l-section-inner {
 margin: 8rem auto 10rem;
 padding: 0;
}
.l-parts01,
.l-parts01 .l-section-inner { position: relative; }
.l-parts01::before {
 content: "";
 display: block;
 width: 50vw;
 height: 600px;
 background-color: #cedbe1;
 position: absolute;
 left:0;
 top: 0;
 z-index: -1;
}
.l-parts01::after {
 content: "";
 display: block;
 width: 100%;
 height: 56px;
 background: url("img/icon_chair02.svg") no-repeat center top;
 position: absolute;
 top: -33px;
 left: 0;
}
.l-parts01 .l-section-inner::before {
 content: "";
 display: block;
 width: 90%;
 height: 600px;
 background-color: #cedbe1;
 position: absolute;
 left:0;
 top: 0;
 z-index: -1;
}
.l-parts01 .l-common-title { background: none; }
/* .l-parts02
------------------------------------------------ */
.l-parts02 { background-color: #f5f5f5; }
.l-parts02Box {
 padding: 5rem 5rem 10rem;
 background-color: #fff;
 margin: 0 0 4rem;
}
.l-parts02BoxHeader {
 width: 570px;
 height: 116px;
 margin: 0 auto 5rem;
 padding: 26px 0 0 138px;
 background-repeat: no-repeat;
 background-image: url("img/bg_best01_typeB.png");
}
.l-parts02BoxHeader.best02{ background-image: url("img/bg_best02_typeB.png"); }
.l-parts02BoxHeader.best03{ background-image: url("img/bg_best03_typeB.png"); }
.l-parts02BoxHeader.best04{ background-image: url("img/bg_best04_typeB.png"); }
.l-parts02BoxHeader.best05{ background-image: url("img/bg_best05_typeB.png"); }
.l-parts02BoxHeader p {
 margin: 0;
 font-family: 'Kosugi Maru', sans-serif;
 line-height: 1;
 font-size: 2.0rem;
}
.l-parts02BoxHeader span { font-size: 2.6rem; }
.l-parts02BoxHeader strong {
 font-size: 4.6rem;
 color: #5a7e91;
}
.l-parts02Box-sec01 {
 position: relative;
 padding-right: 537px;
 text-align: center;
}
.l-parts02Box-sec01 .l-parts02Box-sec01Slide {
 position: absolute;
 right:0;
 top: 10px;
 width: 460px;
 text-align: center;
}
.l-parts02Box-sec01 .slick-list img {
 height: auto;
 max-height: 305px;
 margin: 0 auto;
}
.l-parts02Box-sec01SliderNav01 .slick-slide { cursor: pointer; }
.l-parts02Box-sec01SliderNav01 .slick-slide:hover { opacity: 0.7; }
.l-parts02Box-sec01 div[class^='l-parts02Box-sec01SliderNav'] > div img {
 display: inline-block;
 max-height: 108px;
 padding: 9px;
}
.l-parts02Box-sec01Catch {
 background: url(img/icon_catch01.svg) no-repeat left 50% , url(img/icon_catch02.svg) no-repeat right 50%;
 font-size: 2.0rem;
 line-height: 1.3;
 font-family: 'Kosugi Maru', sans-serif;
 text-align: center;
 padding: 0 5rem;
 margin: 0 0 2rem;
}
.l-parts02Box-sec01Name {
 font-size: 3.4rem;
 line-height: 1.2;
 display: inline-block;
 font-family: 'Kosugi Maru', sans-serif;
 background: -moz-linear-gradient(top, rgba(252,202,206,0) 0%, rgba(252,202,206,0) 50%, rgba(252,202,206,1) 51%, rgba(252,202,206,1) 100%);
 background: -webkit-linear-gradient(top, rgba(252,202,206,0) 0%,rgba(252,202,206,0) 50%,rgba(252,202,206,1) 51%,rgba(252,202,206,1) 100%);
 background: linear-gradient(to bottom, rgba(252,202,206,0) 0%,rgba(252,202,206,0) 50%,rgba(252,202,206,1) 51%,rgba(252,202,206,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fccace', endColorstr='#fccace',GradientType=0 );
 margin: 0 0 3rem;
}
.l-parts02Box-sec01Feature {
 border: double #5a7e91 3px;
 padding: 2rem 2rem;
}
.l-parts02Box-sec01Feature h4 { font-size: 2.6rem; }
.l-parts02Box-sec01Feature ul {
 margin: 2rem 0 0;
 text-align: left;
}
.l-parts02Box-sec02 h4 {
 margin: 8rem 0 2rem;
 font-size: 2.8rem;
 text-align: center;
}
.l-parts02Box-sec02 h4 span {
 position: relative;
 background: -moz-linear-gradient(top, rgba(252,202,206,0) 0%, rgba(252,202,206,0) 50%, rgba(252,202,206,1) 51%, rgba(252,202,206,1) 100%);
 background: -webkit-linear-gradient(top, rgba(252,202,206,0) 0%,rgba(252,202,206,0) 50%,rgba(252,202,206,1) 51%,rgba(252,202,206,1) 100%);
 background: linear-gradient(to bottom, rgba(252,202,206,0) 0%,rgba(252,202,206,0) 50%,rgba(252,202,206,1) 51%,rgba(252,202,206,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fccace', endColorstr='#fccace',GradientType=0 );
}
.l-parts02Box-sec02 h4 span.blue {
 background: -moz-linear-gradient(top,  rgba(196,241,241,0) 0%, rgba(196,241,241,0) 50%, rgba(196,241,241,1) 51%, rgba(196,241,241,1) 100%);
 background: -webkit-linear-gradient(top,  rgba(196,241,241,0) 0%,rgba(196,241,241,0) 50%,rgba(196,241,241,1) 51%,rgba(196,241,241,1) 100%);
 background: linear-gradient(to bottom,  rgba(196,241,241,0) 0%,rgba(196,241,241,0) 50%,rgba(196,241,241,1) 51%,rgba(196,241,241,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00c4f1f1', endColorstr='#c4f1f1',GradientType=0 );
}
.l-parts02Box-sec02 h4 span::before {
 content: "";
 width: 100%;
 height: 11px;
 display: block;
 background: url("img/bg_dot03.svg") no-repeat;
 position: absolute;
 top: -11px;
 left: 0.4em;
}
.btn-accordion {
 margin: 7rem auto 0;
 text-align: center;
}
.btn-accordion span {
 display: inline-block;
 min-width: 339px;
 max-width: 80%;
 padding: 2.4rem 4rem;
 text-align: center;
 font-size: 1.8rem;
 line-height: 1.2;
 font-weight: bold;
 background: url("img/arrow01_black_down.svg") no-repeat right 17px top 50% #c4f1f1;
 background-size: 9px auto;
 border-radius: 5px;
 cursor: pointer;
}
.btn-accordion span:hover { opacity: 0.7; }
.btn-accordion.is-open span { background-image:url("img/arrow01_black_up.svg") }
.accordion-item { display: none; }
.l-parts02Box-sec02BoxWrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.l-parts02Box-sec002BoxWrap{border: 1px solid #5a7e91;padding: 2rem 4rem;background: #f5f5f5;}

.l-parts02Box-sec02BoxWrap::after {
 content: "";
 display: block;
 width: 30%;
 height: 0;
}
.l-parts02Box-sec02Box {
 width: 31%;
 padding: 2.4rem 2rem;
 background: url(img/bg_frame01.png) no-repeat left top , url(img/bg_frame02.png) no-repeat right top , url(img/bg_frame03.png) no-repeat left bottom , url(img/bg_frame04.png) no-repeat right bottom , #f5f5f5;
 margin: 2rem 0;
}
.l-parts02Box-sec02BoxHeader {
 display: table;
 width: 100%;
 table-layout: fixed;
}
.l-parts02Box-sec02BoxHeader div {
 display: table-cell;
 vertical-align: middle;
 color: #5a7e91;
 font-size: 2.0rem;
 line-height: 1.4;
 font-family: 'Kosugi Maru', sans-serif;
}
.l-parts02Box-sec02BoxHeader div:first-child { width: 57px; }
.l-parts02Box-sec03 { margin-bottom: 4rem; }
.l-parts02Box-sec03 h4 {
  margin: 8rem 0 2rem;
  font-size: 2.8rem;
  text-align: center;
}
.l-parts02Box-sec03BoxWrap {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.l-parts02Box-sec03Box {
 width: 48%;
 display: table;
 border-bottom: dashed 1px #333;
 padding: 1rem 0;
}

.l-parts02Box-sec03Box:nth-child(3)  {
 width: 100%;
 display: table;
 border-bottom: dashed 1px #333;
 padding: 1rem 0;
}


.l-parts02Box-sec03Box dt {
 display: table-cell;
 width: 11rem;
 text-align: center;
 vertical-align: middle;
 font-weight: bold;
}
.l-parts02Box-sec03Box dd { display: table-cell; }
/* .l-parts03
------------------------------------------------ */

/* .l-parts04
------------------------------------------------ */
.l-parts04 { background: url("img/bg_dot01.png"); }
.l-parts04 .l-common-title {
 background: url("img/icon_interior02.svg") no-repeat center top;
 padding-top: 7.8rem;
}
.l-parts04Box { overflow: hidden; }
.l-parts04BoxImg {
 width: 304px;
 float: left;
}
.l-parts04BoxText {
 width: 630px;
 float: right;
}
.l-parts04BoxText .catch {
 border-bottom: solid 1px #333;
 padding: 0 0 2rem;
 font-size: 2.0rem;
 color: #5a7e91;
 font-family: 'Kosugi Maru', sans-serif;
 margin: 0 0 2rem;
}
/* .l-parts05
------------------------------------------------ */

/* .l-parts06
------------------------------------------------ */
.l-parts06 {
 margin: 14rem 0 0;
 background: url("img/bg_dot02.png");
 padding: 5.6rem;
 position: relative;
}
.l-parts06::after {
 content: "";
 display: block;
 width: 100%;
 height: 58px;
 background: url("img/icon_interior01.svg") no-repeat center top;
 position: absolute;
 top: -41px;
 left: 0;
}
.l-parts06-title {
 text-align: center;
 font-size: 2.8rem;
 line-height: 1.6;
 margin: 0 auto 4.3rem;
}
.l-parts06-title span {
 background: -moz-linear-gradient(top, rgba(252,202,206,0) 0%, rgba(252,202,206,0) 50%, rgba(252,202,206,1) 51%, rgba(252,202,206,1) 100%);
 background: -webkit-linear-gradient(top, rgba(252,202,206,0) 0%,rgba(252,202,206,0) 50%,rgba(252,202,206,1) 51%,rgba(252,202,206,1) 100%);
 background: linear-gradient(to bottom, rgba(252,202,206,0) 0%,rgba(252,202,206,0) 50%,rgba(252,202,206,1) 51%,rgba(252,202,206,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fccace', endColorstr='#fccace',GradientType=0 );
}
.l-parts06Box { overflow: hidden; }
.l-parts06BoxImg {
 width: 329px;
 float: left;
}
.l-parts06BoxText {
 width: 535px;
 float: right;
}
.l-parts06BoxText .catch {
 border-bottom: solid 1px #333;
 padding: 0 0 2rem;
 font-size: 2.0rem;
 color: #5a7e91;
 font-family: 'Kosugi Maru', sans-serif;
 margin: 0 0 2rem;
}
@media screen and (max-width: 480px) {
 /* --------------------------------------------- */
 /* top                                           */
 /* --------------------------------------------- */
 .l-mv {
  position: relative;
  margin: 7rem 0 2rem;
  padding: 0;
  min-width: inherit;
  height: inherit;
  background: none;
 }
 .l-mv-wrapper { width: 100%; }
 .l-mv-logo {
  position: absolute;
  top: -5.5rem;
  padding: 0;
  width: 100%;
  background: none;
  text-align: center;
 }
 .l-mv-logo img {
  max-width: inherit;
  height: 4rem;
 }
 .l-mv-box {
  margin: 0;
  width: 100%;
 }
 .l-mv-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 0 0;
  padding: 1rem 48% 1rem 1rem;
  min-height: 13rem;
  width: 100%;
  background: url(img/bg_mv.jpg) center top no-repeat;
  background-size: cover;
  font-size: 1.8rem;
 }
 .l-mv p { padding: 0 1rem;}
 h2.l-mv-title { font-size: 2rem; }
 /* --------------------------------------------- */
 /* .l-parts                                      */
 /* --------------------------------------------- */

 .l-section-inner {
  padding: 2rem 0;
  background-size: 20%;
 }
 /* .l-parts01
 ------------------------------------------------ */
 .l-parts01::before {
  content: "";
  display: block;
  width: 74vw;
 }
 .l-parts01::after {
  height: 32px;
  background-size: auto 100%;
  top: -14px;
 }
 .l-parts01 .l-section-inner::before { content: none; }
 .l-parts01 .l-section-inner { margin: 6rem auto 3rem; }
 /* .l-parts02
 ------------------------------------------------ */
 .l-parts02 {
 }
 .l-parts02Box { padding: 1.4rem; }
 .l-parts02Box-sec01 { padding: 0; }
 .l-parts02BoxHeader {
  width: 100%;
  position: relative;
  height: 0;
  padding: 0 0 31.8%;
  background: url(img/bg_best01_typeA.png) no-repeat;
  background-size: 100% auto;
  font-family: 'Kosugi Maru', sans-serif;
  line-height: 1;
  margin: 0 0 3rem;
 }
 .l-parts02BoxHeader.best02{ background-image: url("img/bg_best02_typeA.png"); }
 .l-parts02BoxHeader.best03{ background-image: url("img/bg_best03_typeA.png"); }
 .l-parts02BoxHeader.best04{ background-image: url("img/bg_best04_typeA.png"); }
 .l-parts02BoxHeader.best05{ background-image: url("img/bg_best05_typeA.png"); }
 .l-parts02BoxHeader p {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 8%;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.4rem;
 }
 .l-parts02BoxHeader p strong { font-size: 3.2rem; }
 .l-parts02BoxHeader span { font-size: 1.6rem; }
 .l-parts02Box-sec01 .l-parts02Box-sec01Slide {
  position: relative;
  top: auto;
  right: auto;
  width: 90%;
  margin: 0 auto 2rem;
 }
 .l-parts02Box-sec01 .slick-list img { max-height: 45vw; }
 .l-parts02Box-sec01 div[class^='l-parts02Box-sec01SliderNav'] > div img { max-height: 17vw; }
 .l-parts02Box-sec01Feature { padding:2rem 1.4rem; }
 .l-parts02Box-sec01Feature h4 { font-size: 2rem; }
 .l-parts02Box-sec02 h4 { font-size: 2rem; }
 .l-parts02Box-sec02 h4 span::before {
  height: 3.5px;
  background-size: auto 100%;
  top: -6px;
 }
 .l-parts02Box-sec002BoxWrap{padding: 2rem 2rem;}

 .l-parts02Box-sec02BoxWrap { display: block; }
 .l-parts02Box-sec02Box { width: 100%; }
 .l-parts02Box-sec02BoxHeader div { font-size: 1.8rem; }
 .btn-accordion {
  display: block;
  margin: 3rem auto;
  min-width: inherit;
  width: 90%;
 }
 .btn-accordion span {
  padding: 1.6rem 3.4rem;
  min-width: 100%;
  max-width: 100%;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: bold;
  background-size: 6px auto;
  background-position: right 20px top 50%;
}
 .l-parts02Box-sec03 h3 { font-size: 2rem; }
 .l-parts02Box-sec03BoxWrap { display: block; }
 .l-parts02Box-sec03Box { width: 100%; }
 /* .l-parts03
 ------------------------------------------------ */

 /* .l-parts04
 ------------------------------------------------ */
 .l-parts04 .l-common-title {
  background-size: auto 20px;
  padding-top: 3rem;
 }
 .l-parts04BoxImg,
 .l-parts04BoxText {
  width: 100%;
  float: none;
 }
 .l-parts04BoxText .catch { margin-top: 2rem; }
 /* .l-parts05
 ------------------------------------------------ */

 /* .l-parts06
 ------------------------------------------------ */
 .l-parts06 {
  margin: 10rem 0 0;
  padding: 2rem 2rem 0.1rem;
 }
 .l-parts06::after {
  height: 30px;
  background-size: auto 100%;
  top: -14px;
 }
 .l-parts06-title {
  font-size: 2.2rem;
  padding-top: 2rem;
 }
 .l-parts06BoxImg,
 .l-parts06BoxText {
  width: 100%;
  float: none;
 }
 .l-parts06BoxText .catch {
  font-size: 1.6rem;
  margin: 2rem 0;
 }
}