@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/*--------------------------
 common
----------------------------*/
a {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
    .sp-only {
        display: none !important;
    }
}
@media screen and (max-width: 767px) {
    .pc-only {
        display: none !important;
    }
}
.contents {
  font-family: "Noto Sans JP", sans-serif;
}
.contents img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.goodsDetailFreespace_ .goods-modal #refa_spec .spec_title01 img,
.goodsDetailFreespace_ .goods-modal #refa_spec .spec_title02 img {
  width: auto;
}
.container {
  max-width: 960px;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 960px) {
  .container {
    padding: 0 1rem;
  }
}
@media screen and (max-width: 767px) {
  .container {
    padding: 0;
    max-width: 88.8vw;
  }

}
.c-ttl {
  text-align: center;
  position: relative;
  padding-bottom: 24px;
  margin-bottom: 30px;
}
.c-ttl::after {
  position: absolute;
  content: '';
  display: block;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 44px;
  height: 1px;
  background-color: #000000;
}
.c-ttl span {
  display: block;
  font-family: "貂ｸ譏取悃菴�", "Yu Mincho", YuMincho, "繝偵Λ繧ｮ繝取�譛� Pro", "Hiragino Mincho Pro", "MS P譏取悃", "MS PMincho", serif;
  line-height: 1;
  letter-spacing: 0.08em;
}
.c-ttl-ja {
  font-size: 22px;
  margin-bottom: 16px;
}
.c-ttl-en {
  font-size: 34px;
}
@media screen and (max-width: 767px) {
  .c-ttl {
    padding-bottom: 4.8vw;
    margin-bottom: 9vw;
  }
  .c-ttl::after {
    width: 11.73333333vw;
  }
  .c-ttl-ja {
    font-size: 4.5vw;
    margin-bottom: 2.66666667vw;
  }
  .c-ttl-en {
    font-size: 6.66666667vw;
  }
}

/*--------------------------
banner
----------------------------*/
.banner {
  background-color: #2c2c2c;
  margin: 120px auto 100px;
}
@media screen and (max-width: 767px) {
  .banner {
    margin: 9.2vw 0 10.66666667vw;
  }
}
.banner .banner__img {
  margin: auto;
  max-width: 1440px;
}


/*--------------------------
intro
----------------------------*/
.intro {
    margin: 0 auto 100px;
    max-width: 960px;
    background-color: #2c2c2c;
}
@media screen and (max-width: 960px) {
  .intro {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .intro {
    padding-bottom: 10.8vw;
    margin: 0 0 13.2vw;
  }
}
.intro .intro__block {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width: 767px) {
  .intro .intro__block {
    flex-direction: column;
    row-gap: 10.8vw;
  }
}
.intro .intro__img {
  width: 47%;
}
@media screen and (max-width: 767px) {
  .intro .intro__img {
    width: 100%;
  }
}
.intro .intro__message {
  width: 48%;
  padding-right: 2%;
}
@media screen and (max-width: 767px) {
  .intro .intro__message {
    width: 100%;
    padding-right: 0;
    text-align: center;
  }
}
.intro .intro__ttl {
    font-size: 24px;
    line-height: 1.7;
    color: #fff;
}
@media (min-width: 768px) and (max-width: 960px) {
  .intro .intro__ttl {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .intro .intro__ttl {
    font-size: 4.26666667vmin;
  }
}
.intro .intro__logo {
    display: block;
    margin: 24px 0;
    max-width: 368px;
}
@media (min-width: 768px) and (max-width: 960px) {
  .intro .intro__logo {
    max-width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .intro .intro__logo {
    margin: 6vw auto;
    max-width: 89.86666667vw;
  }
}
.intro .intro__txt {
    font-size: 18px;
    line-height: 2;
    color: #ffffff;
}
@media (min-width: 768px) and (max-width: 960px) {
  .intro .intro__txt {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .intro .intro__txt {
    font-size: 3.73333333vmin;
  }
}

/*--------------------------
feature
----------------------------*/
.p-feature {
  margin-bottom: 110px;
}
.p-feature__subttl {
  text-align: center;
  font-size: 20px;
  line-height: 1.8;
  border-bottom: 1px solid #000000;
  padding-bottom: 20px;
  margin-bottom: 28px;
}
.p-feature__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 50px;
}
.p-feature__item {
  width: 46.875%;
  display: flex;
  flex-direction: column;
}
.p-feature__item-txt {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
}
.p-feature__item img {
    margin-top: auto;
}
.p-feature__item img.icon {
    width: 84px;
    margin-left: auto;
    margin-right: auto;
}
.p-feature__design {
    margin: 80px 0;
    padding: 50px 0;
    background-color: #f4f4f4;
}
.p-feature__design-ttl {
    text-align: center;
    font-size: 20px;
    margin-bottom: 36px;
    line-height: 1.8;
    font-weight: 500;
}
.p-feature__design-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 5%;
    row-gap: 48px;
}
.p-feature__design-item {
    width: 41.66666667%;
    padding: 24px 0 30px;
    background-color: #ffffff;
}
.p-feature__design-item .ttl {
    text-align: center;
    line-height: 1;
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 24px;
    letter-spacing: 0.12em;
}
.p-feature__design-item .txt {
    padding: 0 7.5%;
    font-size: 16px;
    margin-top: 16px;
    line-height: 1.875;
}
@media screen and (min-width: 768px) {
  .p-feature__design-item:last-of-type {
    align-self: flex-start;
  }
}
@media screen and (max-width: 767px) {
    .p-feature {
        margin-bottom: 16vw;
    }
    .p-feature__subttl {
        font-size: 4.8vw;
        padding-bottom: 3.6vw;
        margin-bottom: 4vw;
    }
    .p-feature__subttl.sp-mb {
      margin-bottom: 6.4vw;
    }
    .p-feature__wrap {
        row-gap: 12vw;
    }
    .p-feature__item {
        width: 100%;
    }
    .p-feature__item-txt {
        font-size: 3.7333333vw;
        line-height: 1.8;
        letter-spacing: 0.08em;
        margin-bottom: 4.8vw;
    }
    .p-feature__item img.icon {
        width: 16.666666667vw;
    }
    .p-feature__design {
        width: 100vw;
        margin: 16vw calc( 50% - 50vw ) 14.4vw;
        padding: 14.4vw 0 10.6666667vw;
    }
    .p-feature__design-ttl {
        font-size: 4.8vw;
        margin-bottom: 6.8vw;
    }
    .p-feature__design-wrap {
        flex-direction: column;
        align-items: center;
        row-gap: 5.3333333vw;
    }
    .p-feature__design-item {
        width: 88.8vw;
        padding: 6vw 0;
    }
    .p-feature__design-item .ttl {
        font-size: 4vw;
        margin-bottom: 6vw;
    }
    .p-feature__design-item .txt {
        padding: 0 6.66666667vw;
        font-size: 3.7333333vw;
        margin-top: 4vw;
        line-height: 1.7857;
    }
}

/*--------------------------
gift
----------------------------*/
.p-gift__bg {
  background-color: #fef2ee;
  padding: 80px 0;
}
.p-gift__inner {
  margin: 0 auto;
  max-width: 568px;
}
.p-gift__text {
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 36px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-gift__bg {
    padding: 10.6666667vw 0;
  }
  .p-gift__inner {
    max-width: 88.8vw;
  }
  .p-gift__text {
    font-size: 3.7333333vw;
    margin-bottom: 3.2vw;
  }  
}

  /* faq */
#goddsdetail_qa {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  #goddsdetail_qa {
    padding-top: 13.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #goddsdetail_qa dl dt {
    padding: 4.8vw 16vw 5.3333333333vw 14.1333333333vw;
    font-size: 3.7333333333vw;
  }
}

@media screen and (max-width: 767px) {
  #goddsdetail_qa dl dd span.icon_,
  #goddsdetail_qa dl dt span.icon_ {
    top: 5.3333333333vw;
    left: 5.8666666666vw;
    font-size: 4.8vw;
	line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  #goddsdetail_qa dl dt span.tgl_ {
    top: 5.6vw;
    right: 6.4vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #goddsdetail_qa dl dd {
    padding: 4.8vw 6.4vw 5.3333333333vw 14.1333333333vw;
    font-size: 3.4666666666vw;
  }
}
#goddsdetail_qa dl dd .small {
  display: block;
  font-size: 80%;
}