/* CSS Document */
.mainZone {
  position: relative;
}

.mainZone .note {
  display: block;
  font-size: 1.0rem;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .mainZone .note {
    margin-bottom: 2.78184%;
    bottom: 0;
    right: 13.25037%;
  }
}

@media screen and (max-width: 767px) {
  .mainZone .note {
    bottom: 2.05128vw;
    left: 5.12821vw;
  }
}

.introZone {
  color: #000;
}

@media screen and (min-width: 768px) {
  .introZone {
    background: url("../img/intro/bg_wrap.webp") center center no-repeat;
    background-size: cover;
    padding: 70px 0 17px;
    letter-spacing: 0.09em;
  }
}

@media screen and (max-width: 767px) {
  .introZone {
    padding: 10.25641vw 0 14.61538vw;
    letter-spacing: 0.07em;
  }
}

@media screen and (min-width: 768px) {
  .introZone .u-inner {
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .introZone .u-inner {
    padding-left: 5.12821vw;
    padding-right: 5.12821vw;
  }
}

@media screen and (min-width: 768px) {
  .introZone .lead {
    margin-bottom: 29px;
    font-size: 1.8rem;
    line-height: 38px;
  }
}

@media screen and (max-width: 767px) {
  .introZone .lead {
    margin-bottom: 5.12821vw;
    margin-right: -3.84615vw;
    font-size: 1.6rem;
    line-height: 2.25;
    letter-spacing: -0.07em;
  }
}

@media screen and (max-width: 767px) {
  .introZone .lead span {
    margin-right: -0.5em;
  }
}

.introZone .lead strong {
  color: #BF0021;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .introZone .lead strong {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  .introZone .lead strong {
    font-size: 1.8rem;
    line-height: 2;
  }
}

@media screen and (min-width: 768px) {
  .introZone .ttl {
    width: 352px;
    margin-bottom: 39px;
  }
}

@media screen and (max-width: 767px) {
  .introZone .ttl {
    width: 63.33333vw;
    margin-bottom: 7.69231vw;
  }
}

@media screen and (min-width: 768px) {
  .introZone .txt1 {
    width: 502px;
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .introZone .txt1 {
    width: 89.23077vw;
    margin-bottom: 15.12821vw;
  }
}

.introZone .img {
  display: block;
}

@media screen and (min-width: 768px) {
  .introZone .img {
    width: 150px;
    margin-bottom: 17px;
  }
}

@media screen and (max-width: 767px) {
  .introZone .img {
    background: url("../img/intro/bg_wrap_sp.webp") center top no-repeat;
    background-size: 100% auto;
    margin: 0 -5.12821vw 4.35897vw;
    padding: 76.92308vw 0 0 5.12821vw;
  }
}

@media screen and (max-width: 767px) {
  .introZone .img img {
    width: 30.76923vw;
  }
}

.introZone .note {
  display: block;
  font-size: 1.0rem;
  line-height: 1.6;
}

.introZone .note span {
  display: block;
}

@media screen and (max-width: 767px) {
  .introZone .note span {
    letter-spacing: 0.07em;
  }
}

@media screen and (min-width: 768px) {
  .introZone .note .no2 {
    color: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
  }
}

.cushionZone {
  position: relative;
  background: rgba(241, 187, 192, 0.3);
}

.cushionZone::after {
  content: "";
  background: url("../img/cushion/wht_box.svg") no-repeat;
  width: 967px;
  height: 577px;
  display: block;
  position: absolute;
  top: 0%;
  left: 10%;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .cushionZone::after {
    background: url("../img/cushion/wht_box-sp.svg") no-repeat;
    background-size: contain;
    width: 100vw;
    height: 143.58974vw;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  .cushionZone {
    padding: 78px 0 52px 0;
  }
}

.cushionZone .box {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .cushionZone .box {
    width: 100%;
    display: block;
  }
}

.cushionZone .box .parts {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .parts {
    display: block;
    padding: 10.25641vw 5.12821vw 12.82051vw 5.12821vw;
  }
}

.cushionZone .box .parts .img {
  width: 489px;
  position: relative;
}

.cushionZone .box .parts .img::before {
  content: "";
  background: url("../img/cushion/line_h.svg") no-repeat;
  display: block;
  width: 431px;
  height: 466px;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .parts .img::before {
    width: 81.53846vw;
    height: 88.20513vw;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  .cushionZone .box .parts .img {
    width: 91.79487vw;
    margin-bottom: 10.25641vw;
  }
}

.cushionZone .box .parts .img.show-anime::before {
  animation: show_ani 1s 0.5s alternate both;
}

.cushionZone .box .parts .txt {
  width: 450px;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .parts .txt {
    width: 89.74359vw;
  }
}

.cushionZone .box .parts .txt .ttl {
  margin: 40px 0;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .parts .txt .ttl {
    margin: 10.25641vw 0;
  }
}

.cushionZone .box .parts .txt p {
  font-size: 1.8rem;
  line-height: 2.1;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .parts .txt p {
    font-size: 1.6rem;
    line-height: 2.25;
    letter-spacing: -0.8px;
  }
}

.cushionZone .box .bot_blk {
  margin: 92px 0 0 0;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk {
    margin: 15.38462vw 0 0 0;
    padding: 0 5.12821vw 12.30769vw 5.12821vw;
  }
}

.cushionZone .box .bot_blk dl {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk dl {
    display: block;
    margin-top: 10.25641vw;
  }
}

.cushionZone .box .bot_blk dl dt {
  width: 45%;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk dl dt {
    width: 100%;
  }
}

.cushionZone .box .bot_blk dl dt h3 {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.4;
  color: #000;
  border-bottom: 1px solid #bf0021;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk dl dt h3 {
    font-size: 2.4rem;
    line-height: 1.4;
    letter-spacing: -0.7px;
    padding-bottom: 1.79487vw;
    margin-bottom: 3.84615vw;
  }
}

.cushionZone .box .bot_blk dl dt h3 .red {
  color: #BF0021;
  display: inline-block;
  margin-left: -5px;
}

.cushionZone .box .bot_blk dl dt h3 span {
  font-size: 1.4rem;
  display: inline-block;
  position: relative;
  top: -10px;
}

.cushionZone .box .bot_blk dl dt p {
  font-size: 1.4rem;
  color: #000;
  line-height: 1.7;
}

.cushionZone .box .bot_blk dl dt p em {
  font-size: 1rem;
  position: relative;
  top: -2px;
}

.cushionZone .box .bot_blk dl dt p .fo_bo {
  font-weight: bold;
}

.cushionZone .box .bot_blk dl dt .small {
  font-size: 1rem;
  margin-top: 5px;
}

.cushionZone .box .bot_blk dl dd {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk dl dd {
    width: 100%;
    margin-top: 7.69231vw;
  }
}

.cushionZone .box .bot_blk dl dd.l_im {
  width: 390px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk dl dd.l_im {
    width: 100%;
    margin: 7.69231vw 0 0 0;
  }
}

.cushionZone .box .bot_blk dl.g_block h3::before {
  content: "";
  background: url("../img/cushion/ttl_fist_bf.svg");
  width: 117px;
  height: 28px;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk dl.g_block h3::before {
    width: 25.64103vw;
    height: 6.15385vw;
    background-size: contain;
  }
}

.cushionZone .box .bot_blk dl.g_block dd {
  margin-top: -52px;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk dl.g_block dd {
    margin-top: 4.10256vw;
  }
}

.cushionZone .box .bot_blk .last_txt {
  font-size: 1rem;
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .cushionZone .box .bot_blk .last_txt {
    margin-top: 10.25641vw;
  }
}

.classZone {
  position: relative;
  background: rgba(241, 187, 192, 0.3);
  overflow: hidden;
  padding-bottom: 56px;
}

@media screen and (max-width: 767px) {
  .classZone {
    padding-bottom: 9.23077vw;
  }
}

.classZone::before {
  content: "";
  background: url("../img/class/linecut_blk.svg");
  background-repeat: repeat;
  width: 100%;
  height: 38px;
  display: block;
  position: relative;
  z-index: 3;
}

.classZone::after {
  content: "";
  background: url("../img/cushion/wht_box.svg") no-repeat;
  width: 967px;
  height: 577px;
  display: block;
  position: absolute;
  top: 0%;
  left: 10%;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .classZone::after {
    background: url("../img/cushion/wht_box-sp.svg") no-repeat;
    background-size: contain;
    width: 100vw;
    height: 143.58974vw;
    left: 0;
  }
}

.classZone .in {
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .classZone .in {
    width: 100%;
  }
}

.classZone .in .top_blk {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .classZone .in .top_blk {
    display: block;
  }
}

.classZone .in .top_blk .img {
  width: 692px;
  margin-top: -20px;
  margin-left: -145px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .classZone .in .top_blk .img {
    width: 100vw;
    margin-top: -5vw;
    margin-left: 0;
  }
}

.classZone .in .top_blk .img::before {
  content: "";
  background: url("../img/class/baby_line.svg") no-repeat;
  display: block;
  width: 692px;
  height: 547px;
  position: absolute;
  top: 0;
  left: -12px;
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .classZone .in .top_blk .img::before {
    background: url("../img/class/baby_line-sp.svg") no-repeat;
    width: 100vw;
    height: 103.33333vw;
    top: 0vw;
    left: 0vw;
    background-size: contain;
  }
}

.classZone .in .top_blk .img.show-anime::before {
  animation: show_ani 1s 0.5s alternate both;
}

.classZone .in .top_blk .txt {
  width: 500px;
}

@media screen and (max-width: 767px) {
  .classZone .in .top_blk .txt {
    width: 100vw;
    padding: 10.25641vw 5.12821vw 14.10256vw 5.12821vw;
  }
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk {
    padding: 0 5.12821vw;
  }
}

.classZone .in .bot_blk dl h3 {
  font-size: 2.8rem;
  font-weight: bold;
  color: #BF0021;
  display: flex;
  align-items: center;
  margin-bottom: 22px;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl h3 {
    margin-bottom: 5.64103vw;
  }
}

.classZone .in .bot_blk dl h3::before {
  content: "";
  background: url("../img/class/num01.svg");
  width: 34px;
  height: 40px;
  display: inline-block;
  margin-right: 10px;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl h3::before {
    width: 8.71795vw;
    height: 10.25641vw;
    margin-right: 2.5641vw;
  }
}

.classZone .in .bot_blk dl h3.num02::before {
  background: url("../img/class/num02.svg");
}

.classZone .in .bot_blk dl p {
  font-size: 1.4rem;
  line-height: 1.7;
  color: #000;
}

.classZone .in .bot_blk dl.top {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.top {
    display: block;
  }
}

.classZone .in .bot_blk dl.top dt {
  width: 305px;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.top dt {
    width: 100%;
  }
}

.classZone .in .bot_blk dl.top dd {
  width: 641.34px;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.top dd {
    width: 100%;
    margin-top: 5.12821vw;
  }
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.bot {
    margin-top: 15.38462vw;
  }
}

.classZone .in .bot_blk dl.bot .ct {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.bot .ct {
    display: block;
  }
}

.classZone .in .bot_blk dl.bot .ct .dbl_bot {
  width: 47.5%;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.bot .ct .dbl_bot {
    width: 100%;
  }
}

.classZone .in .bot_blk dl.bot .ct .dbl_bot .in_ct {
  display: flex;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.bot .ct .dbl_bot .in_ct {
    justify-content: space-between;
  }
}

.classZone .in .bot_blk dl.bot .ct .dbl_bot .ttl {
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 16px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.bot .ct .dbl_bot .ttl {
    font-size: 2.4rem;
    margin-bottom: 2vw;
  }
}

.classZone .in .bot_blk dl.bot .ct .dbl_bot .txt {
  width: 305px;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.bot .ct .dbl_bot .txt {
    width: 51.28205vw;
    margin-right: 5.12821vw;
  }
}

.classZone .in .bot_blk dl.bot .ct .dbl_bot .img {
  width: 150px;
  margin-top: -40px;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.bot .ct .dbl_bot .img {
    width: 33.33333vw;
    margin-top: 0vw;
  }
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk dl.bot .ct .dbl_bot:nth-child(n+2) {
    margin-top: 5.12821vw;
  }
}

.classZone .in .bot_blk .tbl_wht {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk .tbl_wht {
    margin-top: 10.25641vw;
  }
}

.classZone .in .bot_blk .sm {
  font-size: 1rem;
  line-height: 1.6rem;
  margin: 20px 0 0 90px;
}

@media screen and (max-width: 767px) {
  .classZone .in .bot_blk .sm {
    margin: 5.12821vw 0 0 0;
  }
}

.sheatZone {
  padding-top: 30px;
}

.sheatZone .u-inner {
  padding: 50px 0 100px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner {
    padding: 11.53846vw 5.12821vw 14.10256vw;
  }
}

.sheatZone .u-inner .lead {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 46px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .lead {
    flex-direction: column;
    margin-bottom: 10.51282vw;
  }
}

/*.sheatZone .u-inner .lead:after {
  display: block;
  content: "";
  width: 286px;
  height: 286px;
  background: url(../img/sheat/sheat_leadImg.jpg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .lead:after {
    background: url(../img/sheat/sheat_leadImg.webp) no-repeat;
    width: 58.97436vw;
    height: 58.97436vw;
    background-size: 100%;
  }
}*/

.sheatZone .u-inner .lead figure {
  width: 414px;
  margin: 0 70px 0 0;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .lead figure {
    width: 100%;
    margin: 0 0 10.25641vw;
  }
}

.sheatZone .u-inner .sheat_constBox {
  position: relative;
}

.sheatZone .u-inner .sheat_constBox .inner {
  width: 100%;
}

.sheatZone .u-inner .sheat_constBox h4 {
  display: flex;
  align-items: center;
  font-size: 2rem;
  color: #D6001A;
  height: 62px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox h4 {
    height: 15.82051vw;
  }
}

.sheatZone .u-inner .sheat_constBox h4 .sub1 {
  font-size: 1.6rem;
}

.sheatZone .u-inner .sheat_constBox h4 .sub2 {
  font-size: 1.3rem;
  color: #1A1311;
}

.sheatZone .u-inner .sheat_constBox h4:before {
  display: block;
  content: "";
  width: 52px;
  height: 62px;
  margin-right: 15px;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox h4:before {
    width: 13.4359vw;
    height: 15.82051vw;
    margin-right: 2.05128vw;
  }
}

.sheatZone .u-inner .sheat_constBox figure {
  margin: 0;
}

.sheatZone .u-inner .sheat_constBox p {
  font-size: 1.4rem;
  line-height: 1.71429;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox p {
    margin-top: 3.84615vw;
  }
}

.sheatZone .u-inner .sheat_constBox p .note {
  display: block;
  font-size: 1rem;
  line-height: 1.6;
  margin-top: .5em;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox p .note {
    margin-top: 1vw;
  }
}

.sheatZone .u-inner .sheat_constBox p em {
  font-size: 1rem;
  position: relative;
  top: -2px;
}

.sheatZone .u-inner .sheat_constBox .img {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox .img {
    margin-top: 2.05128vw;
  }
}

.sheatZone .u-inner .sheat_constBox .img figure {
  width: 490px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox .img figure {
    width: 100%;
  }
}

.sheatZone .u-inner .sheat_constBox .img figure img {
  width: 100%;
}

.sheatZone .u-inner .sheat_constBox .contImg {
  position: absolute;
  top: 0;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox .contImg figure {
    width: 100%;
  }
}

.sheatZone .u-inner .sheat_constBox.no1 h4:before {
  background: url(../img/sheat/sheat_num_01.svg) no-repeat;
  background-size: contain;
}

.sheatZone .u-inner .sheat_constBox.no1 .contImg {
  width: 421.11px;
  height: 413.53px;
  top: -15px;
  right: -45px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no1 .contImg {
    position: static;
    margin-top: 5.12821vw;
    width: 100%;
    height: calc(414 / 419 * 100%);
  }
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no1 .contImg + p {
    font-size: 1.2rem;
  }
}

.sheatZone .u-inner .sheat_constBox.no1 .img {
  width: 440px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no1 .img {
    width: 100%;
  }
}

.sheatZone .u-inner .sheat_constBox.no1 dl {
  position: relative;
  width: 51%;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no1 dl {
    width: 100%;
    margin-top: 8.97436vw;
  }
}

.sheatZone .u-inner .sheat_constBox.no1 dl:before {
  position: absolute;
  content: "";
  width: 185.63px;
  height: 225.56px;
  top: -163px;
  right: -144px;
  background: url(../img/sheat/sheat_num_abs_01.jpg) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no1 dl:before {
    background-size: contain;
    width: 34.04615vw;
    height: 40.97436vw;
    top: 0;
    right: 0;
  }
}

.sheatZone .u-inner .sheat_constBox.no1 dl dt {
  position: relative;
  display: flex;
  align-items: flex-start;
  font-size: 2rem;
}

.sheatZone .u-inner .sheat_constBox.no1 dl dt:after {
  display: inline-block;
  content: "";
  width: 48px;
  height: 23px;
  margin-left: 17px;
  background: url(../img/sheat/patent.svg) no-repeat;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no1 dl dt:after {
    position: absolute;
    left: 24.35897vw;
    margin-left: 7.69231vw;
    bottom: 1.28205vw;
    width: 12.30769vw;
    height: 5.89744vw;
    background: url(../img/sheat/patent.svg) no-repeat;
    background-size: contain;
  }
}

.sheatZone .u-inner .sheat_constBox.no1 dl dd {
  font-size: 1.4rem;
  line-height: 1.71429;
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no1 dl dd {
    margin-top: 3.84615vw;
    letter-spacing: 0.07em;
  }
}

.sheatZone .u-inner .sheat_constBox.no2 {
  display: flex;
  align-items: center;
  height: 388px;
  margin-top: 56px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no2 {
    height: auto;
    margin-top: 14.10256vw;
  }
}

.sheatZone .u-inner .sheat_constBox.no2 h4:before {
  background: url(../img/sheat/sheat_num_02.svg) no-repeat;
  background-size: contain;
}

.sheatZone .u-inner .sheat_constBox.no2 .contImg {
  top: 0;
  right: 5px;
  width: 421px;
  height: 364.2px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no2 .contImg {
    position: static;
    width: 100%;
    height: 71.79487vw;
  }
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no2 .contImg + p {
    font-size: 1.2rem;
    letter-spacing: 0.07em;
    margin-top: -7vw;
  }
}

.sheatZone .u-inner .sheat_constBox.no3 {
  margin-top: 70px;
  height: 410px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no3 {
    margin-top: 12.82051vw;
    height: auto;
  }
}

.sheatZone .u-inner .sheat_constBox.no3 .inner {
  position: relative;
}

.sheatZone .u-inner .sheat_constBox.no3 .inner:after {
  position: absolute;
  content: "";
  width: 214px;
  height: 245px;
  bottom: -272px;
  left: 130px;
  background: url(../img/sheat/sheat_num_abs_02.png) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no3 .inner:after {
    content: none;
    background: url(../img/sheat/sheat_num_abs_02.webp) no-repeat;
  }
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no3 h4 {
    height: auto;
    align-items: flex-start;
  }
}

.sheatZone .u-inner .sheat_constBox.no3 h4:before {
  background: url(../img/sheat/sheat_num_03.svg) no-repeat;
  background-size: contain;
}

.sheatZone .u-inner .sheat_constBox.no3 h4 .wrap {
  position: relative;
}

.sheatZone .u-inner .sheat_constBox.no3 h4 .wrap:after {
  position: absolute;
  right: -60px;
  bottom: 5px;
  content: "";
  width: 44px;
  height: 20px;
  background: url(../img/sheat/patent_red.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no3 h4 .wrap:after {
    width: 11.28205vw;
    height: 5.12821vw;
    right: -15vw;
    bottom: 1vw;
  }
}

.sheatZone .u-inner .sheat_constBox.no3 .contImg {
  width: 547px;
  height: 411px;
  top: -11px;
  right: 66px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no3 .contImg {
    position: static;
    width: 100%;
    height: auto;
    width: 90vw;
    margin: 7.69231vw auto;
  }
}

.sheatZone .u-inner .sheat_constBox.no3 p {
  padding-left: 1em;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sheat_constBox.no3 p {
    padding-left: 0;
  }
}

.sheatZone .u-inner .sm {
  font-size: 1rem;
  text-align: center;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .sheatZone .u-inner .sm {
    margin-top: 8.97436vw;
  }
}

.usabilityZone {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .usabilityZone {
    width: 100vw;
    overflow: hidden;
  }
}

/*.usabilityZone:before {
  content: "";
  display: block;
  background: url("../img/usability/main_img.jpg") center top no-repeat;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .usabilityZone:before {
    background-attachment: fixed;
    height: 38.79941vw;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone:before {
    background-image: url("../img/usability/main_sp.webp");
    height: 66.66667vw;
  }
}*/

.usabilityZone .belt {
  text-align: center;
}

.usabilityZone figure {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .usabilityZone figure img {
    width: 100%;
    height: auto;
  }
}

.usabilityZone figure.txt1 {
  margin-bottom: 30px;
  max-width: 250px;
}

@media screen and (max-width: 767px) {
  .usabilityZone figure.txt1 {
    width: 33.33333vw;
    margin-bottom: 5.12821vw;
  }
}

.usabilityZone figure.txt2 {
  margin-bottom: 50px;
  max-width: 686px;
}

@media screen and (max-width: 767px) {
  .usabilityZone figure.txt2 {
    width: 76.92308vw;
    margin-bottom: 2.5641vw;
  }
}

.usabilityZone figure.txt3 {
  max-width: 780px;
}

@media screen and (max-width: 767px) {
  .usabilityZone figure.txt4 {
    width: 71.15128vw;
    margin-top: -11vw;
    margin-right: 0vw;
  }
}

.usabilityZone .lead {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 20px 0 17px 0;
}

.usabilityZone h3 {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .usabilityZone h3 {
    margin-bottom: 10.25641vw;
  }
}

.usabilityZone p {
  font-size: 1.4rem;
  margin-bottom: 53px;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .usabilityZone p {
    margin-bottom: 0.51282vw;
  }
}

.usabilityZone ul {
  list-style: none;
}

.usabilityZone .spSlick {
  padding: 0vw 0 7.69231vw;
  width: 100%;
  overflow: hidden;
}

.usabilityZone .spSlick .slick-arrow.slick-disabled {
  opacity: 0;
}

.usabilityZone .spSlick .slick-prev {
  position: absolute;
  width: 25.89744vw;
  height: 14.87179vw;
  transform: rotate(-180deg);
  text-indent: -9999px;
  background: url("../img/usability/main_step_arw_r.svg") 0 0 no-repeat;
  background-size: contain;
  left: 10vw;
  top: 42vw;
  z-index: 5;
}

.usabilityZone .spSlick .slick-next {
  position: absolute;
  width: 25.89744vw;
  height: 14.87179vw;
  text-indent: -9999px;
  background: url("../img/usability/main_step_arw_r.svg") 0 0 no-repeat;
  background-size: contain;
  right: 10vw;
  top: 46vw;
  z-index: 5;
}

.usabilityZone .spSlick li {
  width: 58.97436vw;
  color: #000000;
  outline: 0px;
  opacity: 0.3;
}

.usabilityZone .spSlick li.slick-current {
  opacity: 1;
}

.usabilityZone .spSlick li dl {
  position: relative;
  width: 47.17949vw;
  margin: 0 auto;
}

.usabilityZone .spSlick li dt {
  padding-top: 12.82051vw;
}

.usabilityZone .spSlick li dt:after {
  content: "";
  display: inline-block;
  width: 15.38462vw;
  height: 15.38462vw;
  background: url("../img/usability/main_step_img01_txt.svg") 0 0 no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 12vw;
  left: 0;
}

.usabilityZone .spSlick li dd {
  padding-top: 5.12821vw;
}

.usabilityZone .spSlick li.s2 dt:after {
  background: url("../img/usability/main_step_img02_txt.svg") 0 0 no-repeat;
  left: 14vw;
  bottom: 6vw;
  width: 21.37949vw;
  height: 12.42308vw;
  background-size: contain;
}

.usabilityZone .spSlick li.s2 dd {
  width: 17.94872vw;
  margin: 0 auto;
  padding-top: 9vw;
}

.usabilityZone .spSlick li.s3 dt:after {
  background: url("../img/usability/main_step_img03_txt.svg") 0 0 no-repeat;
  background-size: 100%;
  left: auto;
  right: 0px;
}

.usabilityZone .spSlick .slick-track {
  display: flex;
}

.usabilityZone .secMain {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain {
    padding: 40px 50px 75px 50px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain {
    padding: 11.53846vw 0 15.64103vw;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .u-inner:not(.spPd0) {
    padding-left: 5.12821vw;
    padding-right: 5.12821vw;
  }
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain h2 {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain h2 {
    margin-bottom: 11.53846vw;
  }
}

.usabilityZone .secMain h2.show-anime {
  top: 0;
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .spScrlXWrap {
    margin-bottom: 5.38462vw;
    position: relative;
    overflow: hidden;
  }
  .usabilityZone .secMain .spScrlXWrap:after {
    content: "";
    display: block;
    background: url("../img/usability/main_step_grad_r.png") 0 0 no-repeat;
    background-size: 100% 100%;
    width: 32.82051vw;
    height: 82.69231vw;
    position: absolute;
    top: -5.12821vw;
    right: -4.61538vw;
    transition: 0.3s;
  }
  .usabilityZone .secMain .spScrlXWrap.on:after {
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .spScrlX {
    overflow-x: scroll;
  }
}

.usabilityZone .secMain .step {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step {
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step {
    width: 156.92308vw;
    padding: 12.82051vw 24.10256vw 3.84615vw;
    box-sizing: content-box;
  }
}

.usabilityZone .secMain .step > li {
  position: relative;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li {
    width: 200px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li {
    width: 47.17949vw;
    padding-left: 2.5641vw;
    padding-right: 2.5641vw;
    box-sizing: content-box;
  }
}

.usabilityZone .secMain .step > li:nth-last-child(1) {
  margin-left: 80px;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li + li {
    margin-left: 48px;
  }
}

.usabilityZone .secMain .step > li + li:before {
  content: "";
  display: block;
  background: url("../img/usability/main_step_arw_r.svg") 0 0 no-repeat;
  position: absolute;
  z-index: 1;
  opacity: 0;
  transition: 0.5s;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li + li:before {
    width: 120.3px;
    height: 49px;
    top: 146px;
    left: -120px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li + li:before {
    background-size: 100% 100%;
    width: 26.15385vw;
    height: 13.33333vw;
    top: 36.66667vw;
    left: -25.64103vw;
  }
}

.usabilityZone .secMain .step > li dl {
  position: relative;
  top: 30px;
  opacity: 0;
  transition: 0.5s;
}

.usabilityZone .secMain .step > li dt {
  position: relative;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li dt {
    margin-bottom: 9px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li dt {
    margin-bottom: 5.38462vw;
  }
}

.usabilityZone .secMain .step > li dt:after {
  content: "";
  position: absolute;
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li dt:after {
    background-size: contain !important;
  }
}

.usabilityZone .secMain .step > li dt img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li dd {
    font-size: 14px;
    line-height: 1.71429;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li dd {
    font-size: 3.07692vw;
    line-height: 1.66667;
  }
}

.usabilityZone .secMain .step > li:nth-child(1) dt:after {
  background: url("../img/usability/main_step_img01_txt.svg") 0 0 no-repeat;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li:nth-child(1) dt:after {
    width: 62px;
    height: 62px;
    top: 141px;
    left: -20px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li:nth-child(1) dt:after {
    width: 15.38462vw;
    height: 15.38462vw;
    top: 35.64103vw;
    left: 0vw;
  }
}

.usabilityZone .secMain .step > li:nth-child(2):before {
  transition-delay: 0.1s;
}

.usabilityZone .secMain .step > li:nth-child(2) dl {
  transition-delay: 0.2s;
}

.usabilityZone .secMain .step > li:nth-child(2) dt:after {
  background: url("../img/usability/main_step_img02_txt.svg") 0 0 no-repeat;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li:nth-child(2) dt:after {
    width: 83.38px;
    height: 48.45px;
    bottom: -28px;
    left: 67px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li:nth-child(2) dt:after {
    width: 17.17949vw;
    height: 10vw;
    top: -8.46154vw;
    left: 0.30769vw;
  }
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li:nth-child(2) dd {
    padding-top: 24px;
  }
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li:nth-child(2) dd img {
    width: 77px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li:nth-child(2) dd img {
    width: 17.4359vw;
  }
}

.usabilityZone .secMain .step > li:nth-child(3):before {
  transition-delay: 0.3s;
}

.usabilityZone .secMain .step > li:nth-child(3) dl {
  transition-delay: 0.4s;
}

.usabilityZone .secMain .step > li:nth-child(3) dt:after {
  background: url("../img/usability/main_step_img03_txt.svg") 0 0 no-repeat;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step > li:nth-child(3) dt:after {
    width: 62px;
    height: 62px;
    top: 141px;
    left: -12px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step > li:nth-child(3) dt:after {
    width: 15.38462vw;
    height: 15.38462vw;
    top: 35.64103vw;
    right: 0vw;
  }
}

.usabilityZone .secMain .step.show-anime > li + li:before {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .usabilityZone .secMain .step.show-anime > li + li:before {
    left: -94px;
  }
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .step.show-anime > li + li:before {
    left: -17.17949vw;
  }
}

.usabilityZone .secMain .step.show-anime > li dl {
  top: 0;
  opacity: 1;
}

.usabilityZone .secMain .step.show-anime > li:nth-last-child(1)::before {
  background: url("../img/usability/main_step_arw_r-2.svg") 0 0 no-repeat;
  width: 102.77px;
  left: -118px;
}

.usabilityZone .secMain .movieBox {
  padding-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .movieBox {
    padding-bottom: 20.51282vw;
  }
}

.usabilityZone .secMain .movieBox iframe {
  width: 100%;
  height: 562px;
  max-width: 1000px;
  border: 0px;
}

@media screen and (max-width: 767px) {
  .usabilityZone .secMain .movieBox iframe {
    height: 50.51282vw;
  }
}

.usabilityZone .secMain .movieBox.show-anime {
  top: 0;
  opacity: 1;
}

.usabilityZone .txtImg .img01 {
  width: 266px;
}

@media screen and (max-width: 767px) {
  .usabilityZone .txtImg .img01 {
    width: 39.74359vw;
  }
}

.usabilityZone .txtImg .img02 {
  width: 213px;
  margin-top: -15px;
}

@media screen and (max-width: 767px) {
  .usabilityZone .txtImg .img02 {
    margin-top: 0px;
    width: 39.74359vw;
  }
}

.usabilityZone .txtImg .img03 {
  width: 218.82px;
}

@media screen and (max-width: 767px) {
  .usabilityZone .txtImg .img03 {
    width: 37.94872vw;
  }
}

.usabilityZone .txtImg .img03 img {
  position: relative;
  right: 30px;
}

@media screen and (max-width: 767px) {
  .usabilityZone .txtImg .img03 img {
    right: 0px;
  }
}

.usabilityZone .txtImg .img04 {
  width: 253.23px;
}

@media screen and (max-width: 767px) {
  .usabilityZone .txtImg .img04 {
    width: 47.94872vw;
  }
}

.usabilityZone .taimen {
  margin-top: 40px;
}

.u-notes {
  margin-top: 60px;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .u-notes {
    font-size: 1rem;
    margin-top: 7.69231vw;
  }
}

.u-col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .u-col2 {
    display: block;
  }
}

.u-col2 .txtImg {
  text-align: left;
  width: 460px;
  justify-content: space-between;
  align-items: center;
  display: flex;
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .u-col2 .txtImg {
    width: 100%;
    margin-bottom: 5.12821vw;
    letter-spacing: 0.1em;
  }
}

.u-col2 .txtImg dl {
  max-width: 230px;
  flex-shrink: 0;
  margin-right: -30px;
}

@media screen and (max-width: 767px) {
  .u-col2 .txtImg dl {
    width: 50vw;
  }
}

.u-col2 .txtImg .img {
  flex-shrink: 0;
}

.u-col2 .txtImg .img img {
  max-width: 100%;
}

.u-col2 .txtImg dt {
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 0.6em;
  margin-right: -30px;
}

.u-col2 .txtImg dt span {
  font-size: 2rem;
  display: block;
  color: #e2557c;
}

@media screen and (max-width: 767px) {
  .u-col2 .txtImg dt span {
    letter-spacing: -0.2px;
  }
}

.u-col2 .txtImg dd {
  font-size: 1.4rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .u-col2 .txtImg dd {
    margin-right: -2.5641vw;
    letter-spacing: 0.12em;
  }
}

.u-col2 .txtImg dd span {
  font-size: 1.2rem;
}

.u-col2 .txtImg dd sup {
  font-size: 60%;
}

.comfortZone {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .comfortZone {
    width: 100vw;
    overflow: hidden;
  }
}

/*.comfortZone:before {
  content: "";
  display: block;
  background: url("../img/comfort/main_img.jpg") center top no-repeat;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .comfortZone:before {
    background-attachment: fixed;
    height: 38.79941vw;
  }
}

@media screen and (max-width: 767px) {
  .comfortZone:before {
    background-image: url("../img/comfort/main_img_sp.webp");
    height: 66.66667vw;
  }
}*/

.comfortZone figure {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .comfortZone figure img {
    height: auto;
  }
}

.comfortZone figure.txt1 {
  margin-bottom: 30px;
  max-width: 382px;
}

@media screen and (max-width: 767px) {
  .comfortZone figure.txt1 {
    width: 53.84615vw;
    margin-bottom: 5.12821vw;
  }
}

.comfortZone figure.txt2 {
  margin-bottom: 80px;
  width: 635px;
}

@media screen and (max-width: 767px) {
  .comfortZone figure.txt2 {
    margin-bottom: 12.82051vw;
    width: 79.48718vw;
  }
}

.comfortZone .secMain {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .comfortZone .secMain {
    padding: 70px 50px 35px 50px;
  }
}

@media screen and (max-width: 767px) {
  .comfortZone .secMain {
    padding: 10.25641vw 0 15.64103vw;
  }
}

@media screen and (max-width: 767px) {
  .comfortZone .secMain .u-inner:not(.spPd0) {
    padding-left: 5.12821vw;
    padding-right: 5.12821vw;
  }
}

@media screen and (min-width: 768px) {
  .comfortZone .secMain h2 {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .comfortZone .secMain h2 {
    margin-bottom: 7.94872vw;
  }
}

.comfortZone .secMain h2.show-anime {
  top: 0;
}

.comfortZone .mainImg {
  width: 531px;
  margin: 0 auto;
  padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .comfortZone .mainImg {
    width: 91.79487vw;
  }
}

.comfortZone .mainImg img {
  max-width: 100%;
}

.comfortZone .txtImg.isType2 {
  display: block;
  position: relative;
}

@media screen and (max-width: 767px) {
  .comfortZone .txtImg.isType2 dl {
    width: 50vw;
  }
}

.comfortZone .txtImg.isType3 {
  padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .comfortZone .txtImg.isType3 {
    padding-bottom: 2vw;
  }
  .comfortZone .txtImg.isType3 dl {
    width: 100%;
    max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .comfortZone .txtImg.isType4 dl {
    width: 50vw;
  }
}

.comfortZone .txtImg dd {
  margin-right: -200px;
}

@media screen and (max-width: 767px) {
  .comfortZone .txtImg dd {
    margin-right: 0px;
  }
}

.comfortZone .txtImg .img01 {
  position: absolute;
  right: 0px;
  top: -10px;
  width: 144px;
}

@media screen and (max-width: 767px) {
  .comfortZone .txtImg .img01 {
    width: 35.89744vw;
    top: 12vw;
  }
}

.comfortZone .txtImg .img02 {
  margin: 0px 0 0 10px;
  width: 307px;
}

@media screen and (max-width: 767px) {
  .comfortZone .txtImg .img02 {
    width: 78.71795vw;
    margin-bottom: 10vw;
  }
}

.comfortZone .txtImg .img03 {
  width: 150px;
}

@media screen and (max-width: 767px) {
  .comfortZone .txtImg .img03 {
    width: 35.89744vw;
  }
}

.specZone {
  background: #fff;
  /*border-top: 2px solid #EB6D8E;*/
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .specZone {
    margin-top: 40px;
    padding-top: 100px;
    padding-bottom: 84px;
  }
}

@media screen and (max-width: 767px) {
  .specZone {
    padding-top: 15.38462vw;
    padding-bottom: 15.38462vw;
  }
}

.specZone .next {
  position: relative;
}

.specZone .bg {
  background: url(../img/spec/bg_wrap.webp) center bottom no-repeat;
  background-size: cover;
  color: #000;
}

@media screen and (min-width: 768px) {
  .specZone .bg {
    height: 945px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg {
    background-image: none;
  }
}

.specZone .bg:before {
  content: "";
  display: block;
  background: url("../img/spec/deco.svg") 0 0 no-repeat;
  background-size: 100% 100%;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .specZone .bg:before {
    width: 1203px;
    height: 289px;
    margin-left: -487px;
    top: -58px;
    left: 50%;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg:before {
    background-image: url("../img/spec/deco_sp.svg");
    width: 120.76923vw;
    height: 35.64103vw;
    top: 22.84615vw;
    left: -1.42821vw;
  }
}

.specZone .bg .ttl {
  color: inherit;
  text-align: center;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .specZone .bg .ttl {
    margin-bottom: 106px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .ttl {
    margin-bottom: 20.51282vw;
  }
}

@media screen and (min-width: 768px) {
  .specZone .bg .ttl img {
    width: 434px;
    padding-top: 82px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .ttl img {
    width: 88.71795vw;
    padding-top: 15.12821vw;
  }
}

.specZone .bg .ttl small {
  display: block;
  font-size: 1.4rem;
  font-weight: normal;
}

@media screen and (min-width: 768px) {
  .specZone .bg .ttl small {
    margin-top: 17px;
    line-height: 1.35714;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .ttl small {
    margin-top: 3.58974vw;
    line-height: 1.71429;
  }
}

.specZone .bg .carList {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .specZone .bg .carList {
    display: flex;
    justify-content: space-between;
    width: 912px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList {
    width: 89.74359vw;
    margin-bottom: 4.61538vw;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li {
    background-image: url("../img/spec/list_item_bg_sp.webp");
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
  .specZone .bg .carList li + li {
    margin-top: 7.38462vw;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li .img {
    text-align: center;
  }
}

.specZone .bg .carList li .img img {
  width: auto;
}

@media screen and (min-width: 768px) {
  .specZone .bg .carList li .img img {
    height: 411px !important;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li .img img {
    height: 105.38462vw !important;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li .text {
    position: relative;
    top: -6vw;
    left: -5vw;
  }
}

.specZone .bg .carList li .name {
  font-size: 3.0rem;
  font-weight: bold;
  letter-spacing: 0 !important;
}

@media screen and (min-width: 768px) {
  .specZone .bg .carList li .name {
    margin-bottom: 1px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li .name {
    margin-bottom: 0.51282vw;
    margin-left: 10vw;
  }
}

.specZone .bg .carList li span {
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li span {
    margin-left: 10vw;
  }
}

@media screen and (min-width: 768px) {
  .specZone .bg .carList li .bbcar {
    margin-top: -13px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li .bbcar {
    margin-top: -0.76923vw;
  }
}

.specZone .bg .carList li .bbcar .bot {
  text-align: right;
}

@media screen and (min-width: 768px) {
  .specZone .bg .carList li .bbcar .bot {
    margin-top: -85px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li .bbcar .bot {
    margin-top: -26.87179vw;
    padding-right: 5.12821vw;
  }
}

@media screen and (min-width: 768px) {
  .specZone .bg .carList li .bbcar .bot img {
    width: 205px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .bg .carList li .bbcar .bot img {
    width: 52.5641vw;
  }
}

.specZone .inner {
  width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .specZone .inner {
    width: 100%;
    margin-top: 0;
  }
}

.specZone .inner h2 {
  position: relative;
  text-align: center;
  font-size: 45px;
  color: #007e77;
  padding-top: 200px;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .specZone .inner h2 {
    padding-top: 23.07692vw;
    margin-bottom: 12.82051vw;
  }
}

.specZone .inner h2 .sub {
  display: block;
  font-size: 20px;
  font-weight: bold;
  color: #000;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .specZone .inner h2 .sub {
    font-size: 1.8rem;
    letter-spacing: 2px;
  }
}

.specZone .inner h2.show-anime {
  top: 0;
}

.specZone .inner .colorCar {
  display: flex;
  justify-content: space-between;
  padding: 0 110px;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .specZone .inner .colorCar {
    padding: 0px;
    display: block;
  }
}

.specZone .inner .colorCar .colorDiv {
  width: 50%;
  text-align: center;
  transition-delay: 0.3s;
}

@media screen and (max-width: 767px) {
  .specZone .inner .colorCar .colorDiv {
    width: 100%;
    margin: 0 auto;
  }
  .specZone .inner .colorCar .colorDiv + .colorDiv {
    margin-top: 10.25641vw;
  }
}

.specZone .inner .colorCar .colorDiv .cName {
  margin: 0 0 16px;
}

.specZone .inner .colorCar .colorDiv .cName figcaption {
  padding-top: 10px;
  font-size: 1.2rem;
}

.specZone .inner .colorCar .colorDiv .carImg {
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .specZone .inner .colorCar .colorDiv .carImg {
    padding-top: 5.12821vw;
  }
}

.specZone .inner .colorCar .colorDiv .carImg img {
  width: 323px;
}

@media screen and (max-width: 767px) {
  .specZone .inner .colorCar .colorDiv .carImg img {
    width: 82.82051vw;
  }
}

.specZone .inner .VehicleType {
  position: relative;
  text-align: center;
  transition-delay: 0.3s;
  color: #1a1311;
}

@media screen and (min-width: 768px) {
  .specZone .inner .VehicleType {
    margin-bottom: 47px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .VehicleType {
    margin-bottom: 17.4359vw;
  }
}

.specZone .inner .VehicleType .logo {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .specZone .inner .VehicleType .logo {
    width: 560px;
    margin-bottom: 37px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .VehicleType .logo {
    width: 89.74359vw;
    margin-bottom: 9.48718vw;
  }
}

.specZone .inner .VehicleType .name {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .specZone .inner .VehicleType .name {
    margin-bottom: 3px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .VehicleType .name {
    margin-bottom: 1.02564vw;
    font-size: 4.61538vw;
  }
}

.specZone .inner .VehicleType .price {
  font-size: 14px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .specZone .inner .VehicleType .price {
    font-size: 3.58974vw;
  }
}

.specZone .inner .VehicleType.show-anime {
  top: 0;
}

.specZone .inner .visualBox .ttl {
  color: inherit;
}

.specZone .inner .specTable {
  color: #707070;
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable {
    margin-top: 49px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable {
    margin-top: 8.20513vw;
  }
}

.specZone .inner .specTable table {
  border-collapse: collapse;
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table {
    margin: 0 auto;
    width: 85.12821vw;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table tr {
    display: flex;
    flex-wrap: wrap;
  }
  .specZone .inner .specTable table tr:last-of-type {
    border-bottom: 1px solid #707070;
  }
}

.specZone .inner .specTable table th,
.specZone .inner .specTable table td {
  border: 1px solid #707070;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table th,
  .specZone .inner .specTable table td {
    border-bottom: 0px;
  }
}

.specZone .inner .specTable table th {
  width: 140px;
  font-size: 12px;
  font-weight: bold;
  padding: 25px 0 25px 15px;
  box-sizing: border-box;
  background: #f4f4f4;
  color: #696969;
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table th {
    width: 25.64103vw;
    padding: 3.33333vw 1.53846vw;
    border-right: 0px;
    font-size: 2.82051vw;
    line-height: 1.36364;
  }
}

.specZone .inner .specTable table td {
  padding: 15px 0 15px 20px;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table td {
    width: 320px;
    font-size: 12px;
    line-height: 1.33333;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table td {
    width: 59.48718vw;
    padding: 3.33333vw 2.5641vw;
    font-size: 3.07692vw;
    line-height: 1.5;
  }
}

.specZone .inner .specTable table td .sub {
  display: block;
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table td .sub {
    font-size: 11px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table td .sub {
    font-size: 2.82051vw;
  }
}

.specZone .inner .specTable table td strong {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table td strong {
    font-size: 18px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table td strong {
    font-size: 3.58974vw;
  }
}

.specZone .inner .specTable table td .en {
  font-size: 14px;
  padding-left: 0.05em;
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table td .en {
    font-size: 3.58974vw;
  }
}

.specZone .inner .specTable table td .fwB {
  font-weight: bold;
}

.specZone .inner .specTable table td .fz10 {
  font-size: 1.0rem;
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table td .pcFz14 {
    font-size: 1.4rem;
  }
}

.specZone .inner .specTable table td .day {
  font-size: 14px;
}

.specZone .inner .specTable table td .alert {
  font-size: 14px;
  color: #f00;
}

.specZone .inner .specTable table td .note {
  font-size: 10px;
  display: block;
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table td .note {
    font-size: 2.5641vw;
  }
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table .flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.specZone .inner .specTable table .flex .icons {
  align-items: center;
  padding-right: 30px;
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table .flex .icons {
    display: block;
    margin-bottom: 1.48718vw;
    padding-right: 0;
  }
}

.specZone .inner .specTable table .flex .img {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table .flex .img {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table .flex .img {
    justify-content: start;
  }
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table .flex .img > li {
    margin-right: 18px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table .flex .img > li {
    margin-right: 4.23077vw;
  }
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table .flex .img .sga {
    width: 94px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table .flex .img .sga {
    width: 24.10256vw;
  }
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table .flex .img .warranty3 {
    width: 47px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table .flex .img .warranty3 {
    width: 12.05128vw;
  }
}

.specZone .inner .specTable table .codeBox {
  display: flex;
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table .codeBox {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .specZone .inner .specTable table .codeBox .code + .code {
    margin-left: 50px;
  }
}

@media screen and (max-width: 767px) {
  .specZone .inner .specTable table .codeBox .code + .code {
    margin-top: 3.84615vw;
    font-size: 1.1rem;
    line-height: 1.45455;
  }
}

#container {
  min-width: 1100px;
  margin: 0 auto;
  color: #1A1311;
}

#container img {
  height: auto;
}

@media screen and (max-width: 767px) {
  #container {
    min-width: 100%;
  }
}

.fontBold {
  font-weight: bold;
}

.set-anime {
  transition: .5s;
  opacity: 0;
  position: relative;
  top: 60px;
}

.set-anime.show-anime {
  top: 0px;
  opacity: 1;
}

.specZone .bg .carList li .name {
  letter-spacing: 0.1em;
  text-align: left;
}

.specZone .bg .carList li .name img {
  width: auto;
}

.movie_blk {
  margin-top: 75px;
}

@media screen and (max-width: 767px) {
  .movie_blk {
    margin-top: 0;
    padding: 0 5.12821vw;
  }
}

.movie_blk .ttl {
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  color: #BF0021;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .movie_blk .ttl {
    font-size: 2rem;
    line-height: 1.3;
  }
}

.movie_blk .ttl::after {
  content: "";
  width: 3px;
  height: 35px;
  display: inline-block;
  background: #BF0021;
  border-radius: 10px;
  transform: rotate(30deg);
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .movie_blk .ttl::after {
    height: 14vw;
  }
}

.movie_blk .ttl::before {
  content: "";
  width: 3px;
  height: 35px;
  display: inline-block;
  background: #BF0021;
  border-radius: 10px;
  transform: rotate(-30deg);
  margin-right: 15px;
}

@media screen and (max-width: 767px) {
  .movie_blk .ttl::before {
    height: 14vw;
  }
}

.movieBox {
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}

.movieBox .movieBtn {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -50px;
  margin-top: -60px;
}

@media screen and (max-width: 767px) {
  .movieBox .movieBtn {
    width: 16.41026vw;
    height: 16.41026vw;
    margin-left: -8vw;
    margin-top: -9vw;
  }
}

.movieWrap {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 10;
  align-items: center;
  justify-content: center;
  display: none;
}

.movieWrap .in {
  position: relative;
}

.movieWrap .in .movieStop {
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0px;
  top: -40px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .movieWrap .in .movieStop {
    right: 3vw;
  }
}

.movieWrap.show {
  display: flex;
}

@keyframes show_ani {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

iframe {
  width: 1000px;
  height: 562px;
  border: 0px;
}

@media screen and (max-width: 767px) {
  iframe {
    width: 100%;
    height: 50.51282vw;
  }
}

/*# sourceMappingURL=../../../../../../../srcmap/products/babycar/detail/reversible_lw/luxuna_cushion_af/common/css/style.css.map */
