@charset "UTF-8";

/*============================
Common
============================*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: clamp(40%, 0.5vw, 62.5%);
  scroll-behavior: smooth;
}

body {
  font-size: 1.6rem;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

@media screen and (max-width: 767px) {
  html {
    font-size: 2.3255813953vw;
  }

  body {
    font-size: 2.8rem;
  }
}

picture {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.inner {
  width: 90%;
  margin-inline: auto;
  padding-inline: 20px;
}

@media (767px < width <=1024px) {
  .inner {
    width: 100%;
  }
}

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

.title {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #353535;
  font-weight: bold;
  font-size: 4rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.11em;
  row-gap: 3rem;
}

.title::before {
  color: #bcbcbc;
  font-weight: normal;
  font-size: 13.6rem;
  font-family: "Allison", cursive;
  content: attr(data-txt);
}

@media screen and (max-width: 767px) {
  .title {
    font-size: 1.8rem;
    line-height: 1.3888888889;
    row-gap: 1rem;
    row-gap: 0;
  }

  .title::before {
    font-size: 5.6rem;
  }
}

.cta-btn a {
  display: block;
  max-width: 111rem;
  transition: opacity 0.3s ease;
  margin-inline: auto;
}

@media (hover: hover) {
  .cta-btn a:hover {
    opacity: 0.8;
  }
}

@media screen and (max-width: 767px) {
  .cta-btn a {
    max-width: 32.3rem;
  }
}

/*============================
#main
============================*/
.main {
  overflow-x: hidden;
}

/*============================
#kv
============================*/
#kv {
	padding-top: 79px;
}

#kv .pic img {
  width: 100%;
  max-width: unset;
}

#kv .bottom {
  padding: 8rem 1.5rem;
  background-color: #000;
}

#kv .bottom .txt {
  color: #fff;
  font-weight: bold;
  font-size: 3.1rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
}

#kv .bottom .txt span {
  display: block;
  margin-bottom: 3rem;
  font-size: 4.5rem;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
	
  #kv {
	  padding-top: 68px;
  }
	
  #kv .bottom {
    padding: 1.8rem 1.5rem;
    background-color: #210c04;
  }

  #kv .bottom .txt {
    font-size: 0.7rem;
  }

  #kv .bottom .txt span {
    margin-bottom: 0.7rem;
    font-size: 0.9rem;
  }
}

/*============================
#topic
============================*/
#topic {
  padding-top: 2rem;
  padding-bottom: 7rem;
  background-color: #b9c7c8;
}

#topic .pic {
  margin-bottom: 3rem;
}

#topic .pic img {
  width: 100%;
  max-width: unset;
}

@media screen and (max-width: 767px) {
  #topic {
    padding-top: 0;
    padding-bottom: 3rem;
  }

  #topic .pic {
    margin-bottom: 1.6rem;
  }
}

/*============================
#feature
============================*/
#feature .pic img {
  width: 100%;
  max-width: unset;
}

/*============================
#points
============================*/
#points .inner {
  max-width: 1414px;
}

#points .list {
  display: grid;
  counter-reset: counter;
}

#points .list .item:nth-of-type(odd) {
  background-color: #2e1308;
}

#points .list .item:nth-of-type(odd) .box {
  flex-direction: row;
}

#points .list .item:nth-of-type(even) {
  background-color: #000;
}

#points .list .item:nth-of-type(even) .box {
  flex-direction: row-reverse;
}

#points .list .ttl {
  display: flex;
  align-items: flex-end;
  margin-bottom: 6rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
}

#points .list .ttl .num {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #746058;
  font-weight: normal;
  font-size: 5.2rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.01em;
}

#points .list .ttl .num::after {
  color: #aa9a93;
  font-size: 13.5rem;
  counter-increment: counter 1;
  content: "" counter(counter, decimal-leading-zero);
}

#points .list .slick-cloned .ttl .num::after {
  counter-increment: counter 0;
}

#points .list .ttl .txt {
  color: #fff;
  font-weight: bold;
  font-size: 5.5rem;
  line-height: 1.1875;
  letter-spacing: 0.01em;
}

#points .list .ttl .txt b {
  font-size: 1.6909090909em;
}

#points .list .ttl .txt span {
  font-size: 6.4rem;
}

#points .list .ttl .txt small {
  display: inline-block;
  margin-left: 1em;
  font-size: max(1.6rem, 14px);
}

#points .list .box {
  display: flex;
}

#points .list .box>* {
  width: 50%;
}

#points .list .box .pic {
  position: relative;
}

#points .list .box .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#points .list .box .opt-btn {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 12%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 43.4rem;
  min-height: 12rem;
  border: 2px solid #ababab;
  background-color: #2e1308;
  color: #fff;
  line-height: 1;
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: opacity 0.3s ease;
  row-gap: 1rem;
}

#points .list .box .opt-btn.-pc {
  display: flex;
}

#points .list .box .opt-btn.-sp {
  display: none;
}

#points .list .box .opt-btn::after {
  position: absolute;
  top: 50%;
  right: 9%;
  transform: translateY(-50%);
  color: #fff;
  font-weight: bold;
  font-size: 2.7rem;
  content: "＞";
}

@media (hover: hover) {
  #points .list .box .opt-btn:hover {
    opacity: 0.8;
  }
}

#points .list .box .opt-btn span {
  font-weight: normal;
  font-size: 2rem;
}

#points .list .box .opt-btn strong {
  font-weight: bold;
  font-size: 2.7rem;
}

#points .list .box .cont {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #515151;
  color: #fff;
}

#points .list .box .cont .txt {
  font-weight: bold;
}

#points .list .item.-first {
  padding-top: 7rem;
  padding-bottom: 15rem;
}

#points .list .item.-first .ttl {
  margin-bottom: 7rem;
}

#points .list .item.-first .cont {
  padding: 9rem 7rem;
}

#points .list .item.-first .cont .txt {
  font-size: 2.8rem;
  line-height: 2.3928571429;
  letter-spacing: 0.1em;
}

#points .list .item.-second {
  padding-top: 6rem;
  padding-bottom: 21rem;
}

#points .list .item.-second .ttl {
  margin-bottom: 6rem;
}

#points .list .item.-second .cont {
  justify-content: flex-start;
  padding: 9rem 6rem;
}

#points .list .item.-second .cont dl {
  display: grid;
  grid-template-columns: 35% 65%;
  margin-bottom: 8rem;
  padding: 2rem 3rem;
  background-color: #fff;
}

#points .list .item.-second .cont dt {
  color: #000;
  font-weight: bold;
  font-size: 2.7rem;
  line-height: 2.037037037;
  text-align: center;
  letter-spacing: 0.04em;
}

#points .list .item.-second .cont dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #c1171d;
  font-weight: bold;
  font-size: 3.8rem;
  line-height: 1.2894736842;
}

#points .list .item.-second .cont dd small {
  margin-left: 1em;
  font-size: max(1.5rem, 14px);
}

#points .list .item.-second .cont .txt {
  font-size: max(16px, 2.1rem);
  line-height: 2.2380952381;
}

#points .list .item.-third {
  padding-top: 8rem;
  padding-bottom: 11rem;
}

#points .list .item.-third .ttl {
  margin-bottom: 6rem;
}

#points .list .item.-third .cont {
  padding: 5rem 5rem;
}

#points .list .item.-third .cont .txt {
  font-size: 2.6rem;
  line-height: 2.6153846154;
  letter-spacing: 0.01em;
}

#points .list .item.-third .cont .txt:first-of-type {
  margin-bottom: 4rem;
}

#points .list .item.-third .cont .txt small {
  display: block;
  font-size: max(1.7rem, 14px);
  line-height: 1.6470588235;
  letter-spacing: 0.04em;
}

#points .others {
  padding-top: 11rem;
  padding-bottom: 19rem;
  background-color: #000;
}

#points .others>.inner>.ttl {
  margin-bottom: 10rem;
  color: #ae9a91;
  font-weight: normal;
  font-size: 5.8rem;
  line-height: 1;
  text-align: center;
}

#points .others .box {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 12rem;
  column-gap: 12rem;
}

#points .others .box .item {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  background-color: #515151;
}

#points .others .box .item .ttl {
  color: #fff;
  font-weight: bold;
  text-align: center;
}

#points .others .box .item .txt {
  color: #fff;
  font-weight: bold;
}

#points .others .box .item:nth-of-type(1) {
  padding: 6rem 1rem;
}

#points .others .box .item:nth-of-type(1) .ttl {
  margin-bottom: 6rem;
  font-size: 4rem;
  line-height: 1.3;
  letter-spacing: -0.12em;
}

#points .others .box .item:nth-of-type(1) .pic {
  max-width: 21.8rem;
  margin-bottom: 4.5rem;
}

#points .others .box .item:nth-of-type(1) .txt {
  max-width: 47.4rem;
  font-size: 2.2rem;
  line-height: 1.3181818182;
  letter-spacing: 0.04em;
}

#points .others .box .item:nth-of-type(2) {
  padding: 5.5rem 1rem;
}

#points .others .box .item:nth-of-type(2) .ttl {
  margin-bottom: 5rem;
  font-size: 3.6rem;
  line-height: 1.1612903226;
  letter-spacing: 0.16em;
}

#points .others .box .item:nth-of-type(2) .ttl small {
  display: block;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: -0.02em;
}

#points .others .box .item:nth-of-type(2) .pic {
  max-width: 23.9rem;
  margin-bottom: 4rem;
}

#points .others .box .item:nth-of-type(2) .txt {
  max-width: 48.5rem;
  font-size: 2.5rem;
  line-height: 1.44;
  letter-spacing: 0.04em;
}

@media (767px < width <=1024px) {
  #points .list .item.-first .cont {
    padding-inline: 3rem;
  }

  #points .list .item.-second .cont {
    padding-inline: 3rem;
  }

  #points .list .item.-second .cont dd small {
    margin-left: 0em;
  }

  #points .list .item.-third .cont {
    padding-inline: 3rem;
  }
}

@media screen and (max-width: 767px) {
  #points .inner {
    padding-inline: 6rem;
  }

  #points .list .item:nth-of-type(odd) {
    background-color: #2e1308;
  }

  #points .list .item:nth-of-type(odd) .box {
    flex-direction: column;
  }

  #points .list .item:nth-of-type(even) {
    background-color: #210c04;
  }

  #points .list .item:nth-of-type(even) .box {
    flex-direction: column;
  }

  #points .list .ttl {
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }

  #points .list .ttl .num {
    font-size: 1.5rem;
  }

  #points .list .ttl .num::after {
    font-size: 3.7rem;
  }

  #points .list .ttl .txt {
    font-size: 1.5rem;
    line-height: 1;
  }

  #points .list .ttl .txt b {
    font-size: 1.6909090909em;
  }

  #points .list .ttl .txt span {
    font-size: 2rem;
  }

  #points .list .ttl .txt small {
    display: block;
    margin-left: 0;
    font-size: 0.9rem;
  }

  #points .list .box {
    flex-direction: column;
  }

  #points .list .box>* {
    width: 100%;
  }

  #points .list .box .pic a {
    display: none;
  }

  #points .list .box .opt-btn {
    position: relative;
    bottom: unset;
    left: unset;
    transform: none;
    max-width: 18rem;
    min-height: 5rem;
    margin-inline: auto;
  }

  #points .list .box .opt-btn.-pc {
    display: none;
  }

  #points .list .box .opt-btn.-sp {
    display: flex;
  }

  #points .list .box .opt-btn::after {
    font-size: 1rem;
  }

  #points .list .box .opt-btn span {
    font-size: 0.8rem;
  }

  #points .list .box .opt-btn strong {
    font-size: 1rem;
  }

  #points .list .item.-first {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }

  #points .list .item.-first .ttl {
    margin-bottom: 1.5rem;
  }

  #points .list .item.-first .cont {
    padding: 2rem 1.5rem;
  }

  #points .list .item.-first .cont .txt {
    font-size: 1rem;
    line-height: 1.9;
  }

  #points .list .item.-second {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
  }

  #points .list .item.-second .ttl {
    margin-bottom: 1rem;
  }

  #points .list .item.-second .cont {
    margin-bottom: 3.5rem;
    padding: 2.5rem 2rem;
  }

  #points .list .item.-second .cont dl {
    margin-bottom: 1.5rem;
    padding: 1rem 2rem;
  }

  #points .list .item.-second .cont dt {
    font-size: 1.3rem;
  }

  #points .list .item.-second .cont dd {
    font-size: 1.9rem;
  }

  #points .list .item.-second .cont dd small {
    font-size: 0.7rem;
  }

  #points .list .item.-second .cont .txt {
    font-size: 1rem;
    line-height: 1.9;
  }

  #points .list .item.-third {
    padding-top: 1rem;
    padding-bottom: 4rem;
  }

  #points .list .item.-third .ttl {
    margin-bottom: 1rem;
  }

  #points .list .item.-third .cont {
    padding: 1rem 1rem;
  }

  #points .list .item.-third .cont .txt {
    font-size: 1rem;
    line-height: 1.9;
  }

  #points .list .item.-third .cont .txt:first-of-type {
    margin-bottom: 2rem;
  }

  #points .list .item.-third .cont .txt small {
    /*display: none;*/
    font-size: max(1rem, 10px);
  }

  #points .others {
    padding-top: 4rem;
    padding-bottom: 8.5rem;
  }

  #points .others>.inner>.ttl {
    margin-bottom: 4rem;
    color: #ae9a91;
    font-size: 2.8rem;
  }

  #points .others .box {
    flex-direction: column;
    row-gap: 4rem;
  }

  #points .others .box .item:nth-of-type(1) {
    padding: 2.5rem 1rem;
  }

  #points .others .box .item:nth-of-type(1) .ttl {
    margin-bottom: 2rem;
    font-size: 2rem;
    line-height: 1.25;
  }

  #points .others .box .item:nth-of-type(1) .pic {
    max-width: 10.7rem;
    margin-bottom: 2rem;
  }

  #points .others .box .item:nth-of-type(1) .txt {
    max-width: 26.2rem;
    font-size: 1rem;
    line-height: 1.9;
  }

  #points .others .box .item:nth-of-type(2) {
    padding: 1.5rem 1rem;
  }

  #points .others .box .item:nth-of-type(2) .ttl {
    margin-bottom: 2rem;
    font-size: 1.9rem;
  }

  #points .others .box .item:nth-of-type(2) .ttl small {
    font-size: 1.7rem;
  }

  #points .others .box .item:nth-of-type(2) .pic {
    max-width: 14.2rem;
    margin-bottom: 1.5rem;
  }

  #points .others .box .item:nth-of-type(2) .txt {
    max-width: 26.4rem;
    font-size: 0.9rem;
    line-height: 1.6666666667;
  }
}

/*============================
#step
============================*/
#step {
  padding-top: 10rem;
  padding-bottom: 8rem;
  background-color: #eaeaea;
}

#step .inner {
  max-width: 1430px;
}

#step .title {
  margin-bottom: 7rem;
}

#step .list {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 10rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  counter-reset: counter;
}

#step .list::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  height: 4px;
  background-color: #2e1308;
  content: "";
}

#step .list .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 187px;
}

#step .list .num {
  margin-bottom: 4rem;
  color: #ae9a91;
  font-weight: normal;
  font-size: 3.5rem;
  line-height: 1;
}

#step .list .num::after {
  font-size: 4.1rem;
  counter-increment: counter 1;
  content: "" counter(counter);
}

#step .list .pic {
  margin-bottom: 4rem;
}

#step .list .ttl {
  color: #353535;
  font-weight: bold;
  font-size: 3.3rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
}

#step .txt {
  margin-bottom: 4.5rem;
  color: #484848;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.44;
  text-align: center;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  #step {
    padding-top: 2rem;
    padding-bottom: 5rem;
  }

  #step .inner {
    padding-inline: 5.5rem;
  }

  #step .title {
    margin-bottom: 3.5rem;
  }

  #step .list {
    flex-wrap: wrap;
    margin-bottom: 3rem;
    gap: 3.5rem 1rem;
  }

  #step .list::before {
    top: 22%;
    left: 0;
    transform: none;
    width: calc(100vw - 5.5rem);
    height: 0.4rem;
  }

  #step .list::after {
    position: absolute;
    top: 78%;
    right: 0;
    width: calc(100vw - 5.5rem);
    height: 0.4rem;
    background-color: #2e1308;
    content: "";
  }

  #step .list .item {
    width: 31%;
  }

  #step .list .num {
    margin-bottom: 1rem;
    font-size: 1.7rem;
  }

  #step .list .num::after {
    font-size: 1.7rem;
  }

  #step .list .pic {
    margin-bottom: 1rem;
  }

  #step .list .ttl {
    font-size: 1.6rem;
  }

  #step .txt {
    margin-bottom: 3rem;
    font-size: 1.3rem;
    line-height: 1.3076923077;
    letter-spacing: 0.03em;
  }
}

/*============================
#silhouette
============================*/
#silhouette {
  padding-top: 8rem;
  padding-bottom: 9.5rem;
}

#silhouette .inner {
  max-width: 1401px;
}

#silhouette .title {
  position: relative;
  margin-bottom: 8rem;
  padding-bottom: 4rem;
  font-size: 5.1rem;
}

#silhouette .title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
  max-width: 64.6rem;
  height: 4px;
  background-color: #dedede;
  content: "";
}

#silhouette .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  list-style: none;
  gap: 11rem 8rem;
}

#silhouette .list .item {
  display: flex;
  flex-direction: column;
  row-gap: 5rem;
}

#silhouette .list .item .box {
  position: relative;
}

#silhouette .list .item .box .ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  color: #fff;
  font-weight: normal;
  font-size: 7.6rem;
  line-height: 1.1447368421;
  text-align: center;
  letter-spacing: 0.04em;
}

#silhouette .list .item .box .pic {
  position: relative;
}

#silhouette .list .item .box .pic::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.12);
  content: "";
}

#silhouette .list .item .txt {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.9090909091;
  letter-spacing: -0.03em;
}

#silhouette .list .item .txt small {
  font-size: max(14px, 1.8rem);
}

@media screen and (max-width: 767px) {
  #silhouette {
    padding-top: 0;
    padding-bottom: 6rem;
  }

  #silhouette .inner {
    padding-inline: 6rem;
  }

  #silhouette .title {
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    font-size: 1.8rem;
  }

  #silhouette .title::before {
    font-size: 5.6rem;
  }

  #silhouette .title::after {
    width: 22.9rem;
    height: 1px;
  }

  #silhouette .list {
    grid-template-columns: unset;
    row-gap: 3rem;
  }

  #silhouette .list .item {
    row-gap: 1rem;
  }

  #silhouette .list .item .box .ttl {
    font-size: 2rem;
    line-height: 1.4;
  }

  #silhouette .list .item .txt {
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: -0.01em;
    padding-inline: 1rem;
  }

  #silhouette .list .item .txt small {
    font-size: 0.7rem;
  }
}

/*============================
#intro
============================*/
#intro .bg {
  position: relative;
  padding-top: 15rem;
  padding-bottom: 10rem;
  background: url(../images/intro_bg_pc.png) no-repeat center/cover;
}

#intro .bg::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.25);
  content: "";
}

#intro .bg>* {
  position: relative;
}

#intro .inner {
  max-width: 1392px;
}

#intro .tab-btns {
  display: flex;
}

#intro .tab-btns .tab-btn {
  flex: 1;
  padding: 4rem 1.5rem;
  font-weight: bold;
  font-size: 3.3rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.19em;
  transition: color 0.3s ease, background-color 0.3s ease;
}

#intro .tab-btns .tab-btn:nth-of-type(1) {
  background-color: #d9d9d9;
  color: #484848;
}

#intro .tab-btns .tab-btn:nth-of-type(2) {
  background-color: #a2a1a1;
  color: #000;
}

#intro .tab-cont {
  display: none;
}

#intro .tab-cont.active {
  display: block;
}

#intro .caution {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 6rem;
}

#intro #tab1 {
  position: relative;
  padding: 8rem 9rem 20rem;
  background-color: #d9d9d9;
}

#intro #tab1>.txt {
  margin-bottom: 8rem;
  font-weight: bold;
}

#intro #tab1>.txt:nth-of-type(1) {
  font-size: 3.1rem;
  line-height: 1.5806451613;
  text-align: center;
}

#intro #tab1>.txt:nth-of-type(2) {
  font-size: 2.7rem;
  line-height: 1.8518518519;
  letter-spacing: 0.01em;
}

#intro #tab1 .list {
  display: grid;
  list-style: none;
  row-gap: 4rem;
}

#intro #tab1 .list .item:nth-of-type(n + 5) {
  display: none;
}

#intro #tab1 .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#intro #tab1 .img {
  position: relative;
  width: 26%;
}

#intro #tab1 .ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  color: #fff;
  font-weight: normal;
  font-size: 2.3rem;
  line-height: 1.5217391304;
  text-align: center;
  letter-spacing: 0.12em;
}

#intro #tab1 .box {
  width: 68%;
}

#intro #tab1 .box .txt {
  margin-bottom: 2rem;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.4166666667;
}

#intro #tab1 .box .dl_ttl {
  font-weight: bold;
  line-height: 1;
  font-size: 2.5rem;
  margin-top: 1em;
  margin-bottom: 0.5em;
}

#intro #tab1 .box dl {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  /*color: #aa151a;*/
  color: #000;
  font-weight: bold;
  line-height: 1;
}

#intro #tab1 .box dl+dl {
	margin-top: 1rem;
}

#intro #tab1 .box dt {
  margin-right: 0.5em;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}

#intro #tab1 .box dd {
  /*font-size: 2.8rem;*/
}

#intro #tab1 .box dd {
  font-size: 3.8rem;
}


#intro #tab1 .box dd .taxin{
  font-size: 2rem;
  /**/
  vertical-align: bottom;
  position: relative; 
  top: -4px;
  margin-left: .5rem;
}

@media screen and (max-width: 767px) {
	#intro #tab1 .box dd .taxin{
	  font-size: .8rem;
	      top: 0px;
	}	
}

#intro #tab1 .remarks {
  font-weight: bold;
  font-size: 1.9rem;
  letter-spacing: 0.04em;
}

#intro #tab1 .intro_accordion-btn {
  display: block;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 4.5rem 1.5rem;
  background-color: #a2a1a1;
  font-weight: bold;
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.12em;
  row-gap: 1rem;
}

#intro #tab1 .intro_accordion-btn::after {
  display: inline-block;
  width: 4.5rem;
  height: 4.5rem;
  background: url(../images/intro-icon.svg) no-repeat center/contain;
  vertical-align: middle;
  content: "";
  transition: transform 0.3s ease;
}

#intro #tab1 .intro_accordion-btn.active::after {
  transform: rotate(-90deg);
}

#intro #tab2 {
  padding: 10rem 10rem 18rem;
  background-color: #a2a1a1;
}

#intro #tab2>.txt {
  color: #161616;
  font-weight: bold;
  font-size: 2.7rem;
  line-height: 1.8518518519;
  letter-spacing: 0.01em;
  margin-bottom: 16rem;
}

#intro #tab2 .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 8rem;
  list-style: none;
  gap: 4rem 7rem;
}

#intro #tab2 .item {
  position: relative;
}

#intro #tab2 .item .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1rem 1.5rem;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  font-size: 2.7rem;
  text-align: center;
  letter-spacing: 0.01em;
}

#intro #tab2 table {
  width: 100%;
  border-collapse: collapse;
}

#intro #tab2 table thead th {
  padding: 1.5rem 4.5rem;
  border: 1px solid #707070;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  font-size: 3.2rem;
  line-height: 1;
  text-align: left;
  letter-spacing: 0.1em;
}

#intro #tab2 table tbody th {
  width: 44%;
  padding: 2rem 4rem;
  border: 1px solid #707070;
  background-color: #e5e5e5;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1;
  text-align: left;
  letter-spacing: 0.12em;
}

#intro #tab2 table tbody td {
  padding: 2rem 2rem;
  border: 1px solid #707070;
  background-color: #fff;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1;
  text-align: left;
  letter-spacing: 0.12em;
}

#intro .gallery {
  display: flex;
}

#intro .gallery .pic {
  flex: 1;
}

#intro .gallery .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (767px < width <=1024px) {
  #intro #tab1 {
    padding-inline: 0;
  }

  #intro #tab1 .txt {
    padding-inline: 20px;
  }

  #intro #tab2 {
    padding-inline: 20px;
  }

  #intro #tab2 .list {
    gap: 4rem 4rem;
  }
}

@media screen and (max-width: 767px) {
  #intro .bg {
    padding-top: 4.5rem;
    padding-bottom: 4rem;
    background-image: url(../images/intro_bg_sp.png);
  }

  #intro .inner {
    padding-inline: 4rem;
  }

  #intro .tab-btns .tab-btn {
    padding: 1.5rem 1.5rem;
    font-size: 1.1rem;
  }

  #intro .caution {
    font-size: 0.8rem;
    line-height: 1.3636363636;
    margin-top: 4rem;
  }

  #intro #tab1 {
    padding: 2rem 1.5rem 5rem;
  }

  #intro #tab1>.txt {
    margin-bottom: 2.5rem;
  }

  #intro #tab1>.txt:nth-of-type(1) {
    font-size: 1.1rem;
    line-height: 1.3636363636;
  }

  #intro #tab1>.txt:nth-of-type(2) {
    font-size: 1.1rem;
    line-height: 1.3636363636;
    margin-bottom: 4rem;
  }

  #intro #tab1 .list {
    row-gap: 3rem;
  }

  #intro #tab1 .inner {
    padding-inline: 0;
  }

  #intro #tab1 .img {
    width: 28%;
  }

  #intro #tab1 .ttl {
    font-size: 0.8rem;
    line-height: 1;
  }

  #intro #tab1 .box .txt {
    margin-bottom: 1rem;
    font-size: 0.8rem;
    line-height: 1.375;
  }

  #intro #tab1 .box .dl_ttl {
    font-size: 0.9rem;
  }

  #intro #tab1 .box dt {
    font-size: 0.85rem;
  }

  #intro #tab1 .box dd {
    font-size: 1rem;
  }

  #intro #tab1 .remarks {
    font-weight: bold;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    margin-top: 0.5rem;
  }

  #intro #tab1 .intro_accordion-btn {
    padding: 0.5rem 1.5rem;
    font-size: 0.59rem;
    row-gap: 0.5rem;
  }

  #intro #tab1 .intro_accordion-btn::after {
    width: 1.4rem;
    height: 1.4rem;
  }

  #intro #tab2 {
    padding: 2rem 1.5rem 4rem;
  }

  #intro #tab2>.txt {
    font-size: 1.1rem;
    line-height: 1.3636363636;
    margin-bottom: 4rem;
  }

  #intro #tab2 .list {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 3rem;
    gap: 1rem 1rem;
  }

  #intro #tab2 .item .txt {
    font-size: 1rem;
  }

  #intro #tab2 table thead th {
    padding: 1rem 1.5rem;
    font-size: 0.8rem;
  }

  #intro #tab2 table tbody th {
    width: 44%;
    padding: 1rem 1.5rem;
    font-size: 0.8rem;
  }

  #intro #tab2 table tbody td {
    padding: 1rem 1.5rem;
    font-size: 0.8rem;
  }

  #intro .gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

/*============================
#voice
============================*/
#voice {
  padding-top: 7.5rem;
  padding-bottom: 16rem;
  background-color: #431f10;
}

#voice .inner {
  max-width: 1400px;
}

#voice .title {
  position: relative;
  margin-bottom: 9rem;
  padding-bottom: 4rem;
  color: #fff;
  font-size: 4.8rem;
  letter-spacing: 0.24em;
}

#voice .title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
  max-width: 64.6rem;
  height: 4px;
  background-color: rgba(255, 255, 255, 0.33);
  content: "";
}

#voice .voice_slick {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 5rem;
  column-gap: 5rem;
}

#voice .item {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 4rem 4rem 5rem;
  background-color: #e9e9e9;
  row-gap: 2rem;
}

#voice .item .top {
  display: flex;
  justify-content: space-between;
}

#voice .item .left {
  flex-shrink: 0;
}

#voice .item .pic {
  margin-bottom: 1rem;
}

#voice .item .name {
  padding: 1rem 1rem;
  background: #431f10;
  color: #fff;
  font-weight: bold;
  font-size: max(16px, 1.3rem);
  line-height: 1;
  text-align: center;
}

#voice .item .right {
  width: 64%;
  color: #431f10;
  font-weight: bold;
  font-size: max(20px, 2.1rem);
  line-height: 1.5238095238;
  letter-spacing: 0.02em;
}

#voice .item .txt {
  font-size: max(16px, 1.6rem);
  line-height: 1.625;
  letter-spacing: 0.02em;
}

#voice .slick-slider,
#voice .slick-track {
  display: flex;
}

#voice .slick-slide {
  height: auto !important;
}

#voice .slick-prev,
#voice .slick-next {
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 4.8rem;
  opacity: unset;
}

#voice .slick-prev::before,
#voice .slick-next::before {
  display: inline-block;
  width: 100%;
  height: 100%;
  background: no-repeat center/contain;
  vertical-align: middle;
  content: "";
}

#voice .slick-prev {
  right: calc(100% + 2rem);
  left: unset;
}

#voice .slick-prev::before {
  background-image: url(../images/prev_arrow.svg);
}

#voice .slick-next {
  right: unset;
  left: calc(100% + 2rem);
}

#voice .slick-next::before {
  background-image: url(../images/next_arrow.svg);
}

@media (767px < width <=1024px) {
  #voice .inner {
    width: 75%;
  }

  #voice .item .top {
    justify-content: flex-start;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}

@media screen and (max-width: 767px) {
  #voice {
    padding-top: 0;
    padding-bottom: 5.5rem;
  }

  #voice .inner {
    padding-inline: 7rem;
  }

  #voice .title {
    margin-bottom: 4rem;
    padding-bottom: 0.5rem;
    font-size: 1.8rem;
    letter-spacing: 0.11em;
  }

  #voice .title::before {
    font-size: 5.6rem;
  }

  #voice .title::after {
    width: 22.9rem;
    height: 0.1rem;
  }

  #voice .item {
    padding: 2.5rem 3rem 4.5rem;
    row-gap: 1.5rem;
  }

  #voice .item .top {
    align-items: center;
  }

  #voice .item .pic {
    width: 5rem;
  }

  #voice .item .name {
    padding: 0.4rem 1rem;
    font-size: 0.9rem;
  }

  #voice .item .right {
    flex-grow: 1;
    width: auto;
    font-size: 1.3rem;
    line-height: 1.2307692308;
  }

  #voice .item .txt {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: unset;
  }

  #voice .slick-prev,
  #voice .slick-next {
    width: 1.2rem;
    height: 2.4rem;
  }
}

/*============================
#qa
============================*/
#qa {
  position: relative;
  padding-top: 13rem;
  padding-bottom: 26rem;
  background: url(../images/qa_bg_pc.png) no-repeat center/cover;
}

#qa::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(220, 220, 220, 0.66);
  content: "";
}

#qa>* {
  position: relative;
}

#qa .inner {
  max-width: 1233px;
}

#qa .inner>.ttl {
  position: relative;
  margin-bottom: 8rem;
  padding-bottom: 3rem;
  font-weight: bold;
  font-size: 4.2rem;
  text-align: center;
  letter-spacing: 0.17em;
}

#qa .inner>.ttl::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
  max-width: 64.6rem;
  height: 1px;
  background-color: #fff;
  content: "";
}

#qa .list {
  display: grid;
  margin-bottom: 6rem;
  row-gap: 4rem;
}

#qa .item {
  overflow: hidden;
  border: 3px solid #2e1308;
  background-color: #efefef;
}

#qa .item .ttl {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 12.2rem;
  padding: 1rem 8rem 1rem 16rem;
  font-weight: bold;
  font-size: 2.7rem;
  line-height: 1.1851851852;
  list-style-type: none;
  cursor: pointer;
}

#qa .item .ttl::-webkit-details-marker {
  display: none;
}

#qa .item .ttl::before {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 12.4rem;
  height: 100%;
  background-color: #2e1308;
  color: #fff;
  font-weight: bold;
  font-size: 4.1rem;
  line-height: 1;
  letter-spacing: 0.04em;
  content: "Q";
}

#qa .item .ttl::after {
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 2.6rem;
  height: 2.6rem;
  background: url(../images/icon_plus.svg) no-repeat center/contain;
}

#qa .item.is-opened .ttl::after {
  background-image: url(../images/icon_minus.svg);
}

#qa .item .body {
  position: relative;
  padding: 3rem 8rem 3rem 16rem;
}

#qa .item .body::before {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 12.4rem;
  height: 100%;
  background-color: #d4d4d4;
  color: #000;
  font-weight: bold;
  font-size: 4.1rem;
  line-height: 1;
  letter-spacing: 0.04em;
  content: "A";
}

#qa .item .body p {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.1818181818;
  letter-spacing: 0.04em;
}

#qa .remarks {
  font-weight: bold;
  font-size: max(14px, 1.8rem);
  line-height: 1.2222222222;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  #qa {
    padding-top: 4rem;
    padding-bottom: 2rem;
    background-image: url(../images/qa_bg_sp.png);
  }

  #qa .inner {
    padding-inline: 6rem;
  }

  #qa .inner>.ttl {
    margin-bottom: 2.5rem;
    padding-bottom: 0.5rem;
    font-size: 1.8rem;
    letter-spacing: 0.11em;
  }

  #qa .inner>.ttl::after {
    width: 22.9rem;
    height: 1px;
  }

  #qa .list {
    margin-bottom: 2rem;
    row-gap: 0.5rem;
  }

  #qa .item {
    border-width: 1px;
  }

  #qa .item .ttl {
    min-height: 2.6rem;
    padding: 0.5rem 2.5rem 0.5rem 4rem;
    font-size: 0.9rem;
    line-height: 1.4285714286;
  }

  #qa .item .ttl::before {
    width: 2.6rem;
    font-size: 1.1rem;
  }

  #qa .item .ttl::after {
    right: 1.2rem;
    width: 0.6rem;
    height: 0.6rem;
  }

  #qa .item .body {
    position: relative;
    padding: 1rem 2.5rem 1rem 4rem;
  }

  #qa .item .body::before {
    width: 2.6rem;
    font-size: 1.1rem;
  }

  #qa .item .body p {
    font-size: 0.7rem;
    line-height: 1.2857142857;
  }

  #qa .remarks {
    font-size: 0.6rem;
    line-height: 1.6666666667;
    text-align: center;
  }
}

/*============================
#reservation
============================*/
#reservation {
  padding-top: 34rem;
  padding-bottom: 33rem;
  background-color: #431f10;
}

#reservation .ttl {
  margin-bottom: 10rem;
  color: #fff;
  font-weight: bold;
  font-size: 4.8rem;
  text-align: center;
  letter-spacing: 0.01em;
}

#reservation .ttl img {
  width: 29.75vw;
  margin-inline: 1rem;
}

@media screen and (max-width: 767px) {
  #reservation {
    padding-top: 6.5rem;
    padding-bottom: 7rem;
	background: #431f10;
  }

  #reservation .ttl {
    margin-bottom: 1rem;
    font-size: 1.3rem;
  }

  #reservation .ttl img {
    width: 15.2rem;
    margin-inline: 0.5rem;
  }
}

/*============================
#footer
============================*/
.footer .copyright {
  padding: 3rem 1.5rem;
  background-color: #210c04;
  color: #fff;
  text-align: center;
}

.footer .copyright a {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .footer .copyright {
    padding: 0.45rem 1.5rem;
    font-size: 0.7rem;
  }
}

/*============================
Utility
============================*/
.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

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

  .sp {
    display: block !important;
  }
}

/*============================
add
============================*/
a:hover {
  opacity: 0.8;
}

.follow-btn {
  width: 500px;
  bottom: 20px;
  right: 20px;
  position: fixed;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.4);
  opacity: 0;
  transform: translate(100vw, 0);
  transition: opacity 0.5s;
  z-index: 999;
}

.follow-btn.show {
  opacity: 1;
  transform: translate(0, 0);
}

@media screen and (max-width: 767px) {
  .follow-btn {
    width: 90%;
    right: 5%;
  }
}



.cta-btn {
  display: block;
  max-width: 111rem;
  margin-inline: auto;
  position: relative;
}


.cta-btn .follow-btn-left,
.cta-btn .follow-btn-right,
.follow-btn .follow-btn-left,
.follow-btn .follow-btn-right {
  bottom: 0;
  width: 50%;
  height: 100%;
  position: absolute;
  transition: all 0.5s;
}

.cta-btn .follow-btn-left:hover,
.cta-btn .follow-btn-right:hover,
.follow-btn .follow-btn-left:hover,
.follow-btn .follow-btn-right:hover {
  background: rgba(255, 255, 255, 0.5);
}

.cta-btn .follow-btn-left,
.follow-btn .follow-btn-left {
  left: 0;
}

.cta-btn .follow-btn-right,
.follow-btn .follow-btn-right {
  right: 0;
}






/* gridを無効化してslickに委ねる ← これが重要！ */
#points {
	background: #000;
}

#points .list.slick-initialized {
  display: block !important;
}

#points .slick-list,
#points .slick-slider {
  position: relative !important;
}

.points-slick-prev,
.points-slick-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  background: none !important;
  border: none !important;
  color: #fff !important;
  font-size: 32px !important;
  line-height: 1 !important;
  padding: 0 16px !important;
  cursor: pointer !important;
  opacity: 0.8 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
}
.points-slick-prev:hover,
.points-slick-next:hover { opacity: 1 !important; }
.points-slick-prev { left: 0 !important; }
.points-slick-next { right: 0 !important; }

#points .slick-dots { bottom: -32px !important; }
#points .slick-dots li button:before {
  color: #b8975a !important;
  font-size: 10px !important;
}
#points .slick-dots li.slick-active button:before {
  color: #b8975a !important;
  opacity: 1 !important;
}

#points .slick-dots {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  background-color: #1a0a00 !important;
  width: 100% !important;
}

#points .slick-dots li {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

#points .slick-dots li button {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #555 !important;
  border: none !important;
  padding: 0 !important;
  font-size: 0 !important;
  cursor: pointer !important;
  transition: background 0.3s, transform 0.3s !important;
}

#points .slick-dots li button::before {
  display: none !important;
}

#points .slick-dots li.slick-active button {
  background: #b8975a !important;
  transform: scale(1.3) !important;
}




/* ================================================
   .pic2 - 4S AIR Special Pick Up Section
   ================================================ */

.pic2 {
	background: #a6c4e5;
	padding: 0 4rem 5rem;
}

/* ラベル */
.pic2__label {
  margin-bottom: 2rem;
  color: #fff;
  font-weight: bold;
  font-size: 4rem;
  letter-spacing: 0.08em;
  text-align: center;
}

/* 本体：PC時 横並び */
.pic2__body {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
}

/* 画像エリア */
.pic2__img {
  flex: 0 0 40%;
  max-width: 40%;
}

.pic2__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* コンテンツエリア */
.pic2__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* タイトルブロック */
.pic2__head {
  text-align: center;
}

.pic2__ttl {
  color: #fff;
  font-weight: bold;
  font-size: 4.8rem;
  letter-spacing: 0.12em;
  line-height: 1.2;
}

.pic2__sub {
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: 0.08em;
}

/* 白いボックス */
.pic2__box {
  background-color: #fff;
  padding: 3.5rem 4rem;
}

/* 特徴リスト */
.pic2__feature {
  display: block;
}

.pic2__feature-item {
  margin-bottom: 4.5rem;
}

.pic2__feature-item:last-of-type {
  margin-bottom: 0;
}

.pic2__feature-dt {
  color: #000;
  font-weight: bold;
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-bottom: 0.3em;
}

.pic2__feature-s {
  color: #5ba3d0;
  font-weight: bold;
}

.pic2__feature-dd {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.6;
  color: #000;
}

.pic2__feature-note {
  display: block;
  font-size: 1.5rem;
  font-weight: normal;
  color: #333;
  margin-top: 0.3em;
}

/* 金額ブロック（.list ddと同スタイル） */
.pic2__price {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid #ddd;
}

.pic2__price-dl {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  color: #000;
  font-weight: bold;
  line-height: 1;
}

.pic2__price-dl + .pic2__price-dl {
  margin-top: 2rem;
}

.pic2__price-dt {
  margin-right: 0.5em;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}

.pic2__price-dd {
  font-size: 3.8rem;
  font-weight: bold;
  color: #000;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.pic2__price-taxin {
  font-size: 2rem;
  font-weight: bold;
  margin-left: 0.5em;
  
  position: relative; 
  top: 2px;
  margin-left: .5rem;
}

.pic2__catchcopy {
  text-align: center;
  color: #fff;
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 1.8;
  padding: 1rem 0;
}

.pic2__catchcopy p {
  margin: 0;
}

/* ================================================
   SP対応（767px以下）
   ================================================ */
@media screen and (max-width: 767px) {

  .pic2__label {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    padding-top: 2rem;
  }

  /* SP時：縦積み（画像上 → コンテンツ下） */
  .pic2__body {
    flex-direction: column;
    gap: 2rem;
  }

  .pic2__feature-item {
    margin-bottom: 2rem;
  }

  .pic2__img {
    flex: none;
    max-width: 100%;
    width: 100%;
  }

  .pic2__content {
    width: 100%;
    gap: 1.5rem;
  }

  .pic2__ttl {
    font-size: 3.2rem;
  }

  .pic2__sub {
    font-size: 1.8rem;
  }

  .pic2__box {
    padding: 2.5rem 2rem;
  }

  .pic2__feature-dt {
    font-size: 1.8rem;
  }

  .pic2__feature-dd {
    font-size: 1.3rem;
  }

  .pic2__feature-note {
    font-size: 1rem;
  }

  .pic2__price {
    margin-top: 2.5rem;
    padding-top: 2rem;
  }

  .pic2__price-dt {
    font-size: 1.8rem;
  }

  .pic2__price-dd {
    font-size: 2rem;
  }

  .pic2__price-taxin {
    font-size: 1.5rem;
  }
  
	.pic2__catchcopy {
	  font-size: 1.6rem;
	  padding-bottom: 3rem;
	}

  
}



/* ============================================================
   4S AIR: ORDER Fabric LINE UP セクション
   ============================================================ */
.pic2__fabric {
  background: rgb(166, 196, 229);
  padding: 0 4rem 5rem;
}

.pic2__fabric-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 3rem 0;
}

.pic2__fabric-ttl {
  text-align: center;
  font-size: 4rem;
  color: #fff;
  font-weight: bold;
  margin-bottom: 3rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.pic2__fabric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
}

.pic2__fabric-item {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 2px;
}

.pic2__fabric-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media screen and (max-width: 767px) {
	.pic2__fabric-ttl {
		font-size: 1.4rem;
	}
}



.pic2__reason {
  background: rgb(166, 196, 229);
  padding: 0 4rem 5rem;
}
.pic2__reason-inner {
  max-width: 720px;
  margin: 0 auto;
}
.pic2__reason-box {
  background: #fff;
  border-radius: 4px;
  padding: 3rem 3.5rem;
}
.pic2__reason-ttl {
  font-size: 3rem;
  font-weight: bold;
  color: #2d6cb4;
  text-align: center;
  margin: 0 0 2.8rem;
  letter-spacing: 0.04em;
}
.pic2__reason-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.pic2__reason-item {
  font-size: 2.2rem;
  line-height: 1.8;
  color: #333;
  padding-left: 1.4em;
  position: relative;
}
.pic2__reason-item::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #2d6cb4;
  font-weight: bold;
}
.pic2__reason-item strong {
  color: #111;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
	
	.pic2__fabric {
	    padding: 0 4rem 0;
	}
	
	.pic2__reason-box {
	    padding: 2rem 1.5rem 3rem;
	}
	.pic2__reason-ttl {
		font-size: 1.8rem;
		margin-bottom: 1rem;
	}
	.pic2__reason-item {
	    font-size: 1.2rem;
	}
}



.pic2__other-fabric-btn-wrap {
  text-align: center;
  margin-top: 2rem;
}

.pic2__other-fabric-btn {
  display: inline-block;
  background-color: #000;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  padding: 22px 60px;
  text-decoration: none;
  letter-spacing: 0.05em;
  min-width: 360px;
  text-align: center;
  cursor: pointer;
}

.pic2__other-fabric-btn:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
	.pic2__other-fabric-btn {
		 font-size: 1.6rem;
		width: 100%;
		min-width: auto;
		padding: 2rem 0;
	}
}



/* ----------------------------------------
   kv2 - Cloth Ermenegildo Zegna
---------------------------------------- */
#kv2 {
  text-align: center;
}

.kv2-text {
  padding: 4rem 2rem 3rem;
}

.kv2-title-en {
  font-size:  4.4rem;
  font-weight: bold;
  margin-bottom: .8rem;
}

.kv2-title-ja {
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

.kv2-desc {
  font-size:  2.5rem;
  line-height: 1.8;
  margin-bottom: 0;
}


@media screen and (max-width: 767px) {
	.kv2-title-en {
	  font-size:  2.2rem;
	}
	
	.kv2-title-ja {
	  font-size: 1.6rem;
	}
	
	.kv2-desc {
	  font-size:  1.2rem;
	}
}




.kv .bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.kv .bottom .price-box {
	display: inline-block;
	margin: 0 auto 20px;
	padding: 0;
	color: #ffffff;
	font-size: 6.5rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
}

.kv .bottom .price-box__name {
	font-size: 5.5rem;
}

.kv .bottom .price-box__tax {
	font-size: 3.6rem;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	
	.kv .bottom .price-box__name {
		font-size: 2rem;
	}
	
	.kv .bottom .price-box {
        font-size: 2.8rem;
        margin: 0 auto 5px;
	}
	
	.kv .bottom .price-box__tax {
        font-size: 1.6rem;
	}
	
	
}


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

  #kv .bottom .txt span {
    font-size: 1.8rem;
  }
}