li {
  list-style-type: none;
}

section{
  margin-bottom: 0 !important;
}

@media screen and (min-width: 769px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none;
  }
  .view--sp {
    display: block;
  }
}
.page {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  --color-green: #8CBA95;
  --color-gray: #F0F0F0;
}
.page p, .page a {
  line-height: 1.875;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 768px) {
  .page p, .page a {
    font-size: 4.2vw;
    letter-spacing: 0.1em;
  }
}
.page section {
  margin-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .page section {
    margin-bottom: 20.8vw;
  }
}
.page .page-inner {
  width: 90%;
  max-width: 976px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .page-inner {
    width: 89.6vw;
  }
}
.page .page-heading--border {
  text-align: center;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .page .page-heading--border {
    margin: 0 auto 7.8vw;
  }
}
.page .page-heading--border span {
  display: inline-block;
  padding: 20px 10px;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.78;
  letter-spacing: 0.3em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 768px) {
  .page .page-heading--border span {
    padding: 5.2vw 0;
    font-size: 5.7vw;
    text-align: center;
  }
}
.page .page__heading--lead {
  text-align: center;
  font-size: 28px;
  font-weight: 400;
  margin: 0 0 30px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .page__heading--lead {
    font-size: 5.7vw;
    margin: 0 0 7.8vw;
  }
}
.page .page__heading--lead span {
  display: block;
  color: var(--color-green);
  font-weight: 500;
  font-size: 14px;
  margin: 0 0 14px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .page__heading--lead span {
    font-size: 3.6vw;
    margin: 0 0 3.6vw;
  }
}
.page .page-tab .page-tab__buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.page .page-tab .page-tab__button {
  padding: 14px;
  background: #fff;
  cursor: pointer;
  text-align: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 24px;
  font-weight: bold;
  color: #D9D9D9;
  border-bottom: 3px solid #D9D9D9;
}
@media screen and (max-width: 768px) {
  .page .page-tab .page-tab__button {
    padding: 3.6vw 1.3vw;
    font-size: 6.3vw;
    letter-spacing: 0;
    border-bottom: 0.8vw solid #D9D9D9;
  }
}
.page .page-tab .page-tab__button.is-active {
  background: var(--color-green);
  color: #fff;
  border-bottom: 3px solid var(--color-green);
}
@media screen and (max-width: 768px) {
  .page .page-tab .page-tab__button.is-active {
    border-bottom: 0.8vw solid var(--color-green);
  }
}
.page .page-tab .page-tab__button span {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
}
@media screen and (max-width: 768px) {
  .page .page-tab .page-tab__button span {
    font-size: 3.6vw;
  }
}
.page .page-tab .page-tab__content {
  display: none;
  width: 100%;
}
.page .page-tab .page-tab__content.is-show {
  display: block;
}
.page .layout-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .page .layout-grid {
    display: block;
  }
}
.page .layout-grid .layout-grid__item {
  width: 46.9%;
  margin: 60px 6.1% 0 0;
}
@media screen and (min-width: 769px) {
  .page .layout-grid .layout-grid__item:nth-child(-n+2) {
    margin-top: 0;
  }
  .page .layout-grid .layout-grid__item:nth-child(even) {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .layout-grid .layout-grid__item {
    width: 100%;
    margin: 0 auto 10.4vw;
  }
  .page .layout-grid .layout-grid__item:last-child {
    margin-bottom: 0;
  }
}
.page .layout-grid .layout-grid__title {
  text-align: center;
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .layout-grid .layout-grid__title {
    margin: 0 0 2.6vw;
    font-size: 5.2vw;
  }
}
.page .layout-grid .layout-grid__title span {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-green);
  margin: 0 auto 10px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .layout-grid .layout-grid__title span {
    font-size: 3.6vw;
    margin: 0 auto 2.6vw;
  }
}
.page .layout-cross .layout-cross__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .page .layout-cross .layout-cross__item {
    display: block;
    margin: 0 0 10.4vw;
  }
  .page .layout-cross .layout-cross__item:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  .page .layout-cross .layout-cross__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .page .layout-cross .layout-cross__item:nth-child(even) .layout-cross__contents {
    padding: 0 3% 0 0;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) and (min-width: 385px) {
  .page .layout-cross .layout-cross__item:nth-child(even) .layout-cross__contents {
    padding-top: 20px;
  }
}
.page .layout-cross .layout-cross__img {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .page .layout-cross .layout-cross__img {
    width: 100%;
    margin: 0 0 4.4vw;
  }
}
.page .layout-cross .layout-cross__contents {
  width: 50%;
  padding: 0 0 0 3%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .layout-cross .layout-cross__contents {
    width: 100%;
    padding: 0;
    display: block;
  }
}
.page .layout-cross .layout-cross__title {
  font-size: 20px;
  font-weight: 400;
  margin: 0 0 14px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .layout-cross .layout-cross__title {
    font-size: 5.2vw;
    margin: 0 0 2.6vw;
  }
}
.page .layout-cross .layout-cross__catch {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.75;
  margin: 30px 0 0;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) and (min-width: 385px) {
  .page .layout-cross .layout-cross__catch {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .page .layout-cross .layout-cross__catch {
    font-size: 4.69vw;
    line-height: 7.81vw;
    margin: 2.6vw 0 0;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 1024px) and (min-width: 385px) {
  .page .layout-cross br.view--pc {
    display: none;
  }
}
.page .layout-cross .page-btn--arrow {
  margin: 50px 0 0 auto;
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) and (min-width: 385px) {
  .page .layout-cross .page-btn--arrow {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .page .layout-cross .page-btn--arrow {
    margin: 5.2vw auto 0;
  }
}
.page .page-btn--arrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 20px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .page .page-btn--arrow {
    font-size: 3.6vw;
    -webkit-box-pack: justify;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: justify;
            justify-content: flex-end;
  }
}
.page .page-btn--arrow:after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../img/icon_circle_arrow.png");
  background-size: contain;
  margin: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  .page .page-btn--arrow:after {
    width: 7.3vw;
    height: 7.3vw;
    margin: 0 0 0 5.2vw;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
}
.page .page-btn--box {
  width: 400px;
  height: 100px;
  background-color: #222;
  background-image: url("../img/icon_arrow_right.png");
  background-size: 10px auto;
  background-position: center right 20px;
  background-repeat: no-repeat;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  font-weight: 500;
  border-radius: 10px;
  margin: 100px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .page-btn--box {
    width: 100%;
    height: 26vw;
    background-size: 2.6vw auto;
    background-position: center right 5.2vw;
    font-size: 6.3vw;
    border-radius: 2.6vw;
    margin: 10.4vw auto 0;
  }
}
.page .page-link {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.page .page-link:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../img/icon_link.png");
  margin: 0 0 0 15px;
}
@media screen and (max-width: 768px) {
  .page .page-link:after {
    width: 5.2vw;
    height: 5.2vw;
    margin: 0 0 0 3.9vw;
  }
}
.page .kv {
  margin: 0;
}
.page .hero {
  padding: 50px 0;
  background: -webkit-gradient(linear, left top, right top, from(var(--color-green)), color-stop(50%, var(--color-green)), color-stop(50%, #A6D8B0), to(#A6D8B0));
  background: -webkit-linear-gradient(left, var(--color-green) 0%, var(--color-green) 50%, #A6D8B0 50%, #A6D8B0 100%);
  background: linear-gradient(90deg, var(--color-green) 0%, var(--color-green) 50%, #A6D8B0 50%, #A6D8B0 100%);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .page .hero {
    padding: 0;
    background: #A6D8B0;
  }
}
.page .hero .hero__inner {
  width: 90%;
  max-width: 896px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: justify;
          justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .page .hero .hero__inner {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
}
.page .hero .hero__contents,
.page .hero .hero__mv {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .page .hero .hero__contents,
  .page .hero .hero__mv {
    width: 100%;
  }
}
.page .hero .hero__contents {
  padding-right: 6.6%;
}
@media screen and (max-width: 768px) {
  .page .hero .hero__contents {
    padding: 7.8vw 5.2vw;
    background: #8CBA95;
  }
}
.page .hero .hero__heading {
  font-size: 24px;
  font-weight: 400;
  line-height: 46px;
  letter-spacing: 0.25em;
  margin: 0 0 22px;
}
@media screen and (max-width: 768px) {
  .page .hero .hero__heading {
    font-size: 4.7vw;
    margin: 0 0 3.6vw;
    line-height: 7.8vw;
  }
}
.page .hero .hero__text {
  margin: 0 0 22px;
  line-height: 2.4;
}
@media screen and (max-width: 768px) {
  .page .hero .hero__text {
    margin: 0 0 6.77vw;
  }
}
.page .hero .hero__catch {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.91;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page .hero .hero__catch {
    font-size: 6.3vw;
    letter-spacing: 0;
    letter-spacing: 0.13em;
    white-space: normal;
  }
}
.page .hero .hero__mv {
  padding-left: 8.9%;
}
@media screen and (max-width: 768px) {
  .page .hero .hero__mv {
    padding: 5.2vw;
  }
}
.page .hero .hero__slide {
  opacity: 0;
  height: 0;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.page .hero .hero__slide.slick-slider {
  opacity: 1;
  height: auto;
}
.page .navi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 90%;
  max-width: 976px;
  margin: 0 auto 160px;
}
@media screen and (max-width: 768px) {
  .page .navi {
    width: 89.6vw;
    margin: 0 auto 20.8vw;
  }
}
.page .navi .navi__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 46.9%;
  padding: 20px;
  border: 2px solid #222;
  border-radius: 10px;
  margin: 60px 6.1% 0 0;
}
@media screen and (min-width: 769px) {
  .page .navi .navi__item:nth-child(-n+2) {
    margin-top: 0;
  }
  .page .navi .navi__item:nth-child(even) {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .navi .navi__item {
    width: 100%;
    padding: 5.2vw 2.6vw;
    border-radius: 2.6vw;
    margin: 7.8vw auto 0;
    text-align: center;
  }
  .page .navi .navi__item:first-child {
    margin-top: 0;
  }
}
.page .navi .navi__item span {
  font-size: 20px;
  letter-spacing: 0.4em;
}
@media screen and (max-width: 768px) {
  .page .navi .navi__item span {
    font-size: 5.2vw;
    letter-spacing: 0.3em;
  }
}
.page .navi .navi__item span:after {
  content: "";
  display: block;
  width: 30px;
  height: 10px;
  background-image: url("../img/icon_arrow.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  margin: 10px auto 0;
}
@media screen and (max-width: 768px) {
  .page .navi .navi__item span:after {
    width: 7.8vw;
    height: 2.6vw;
    margin: 2.6vw auto 0;
  }
}
.page .topics .page-heading--border span {
  line-height: 1.6;
}
.page .topics .page-heading--border b {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .page .topics .page-heading--border b {
    font-size: 6.3vw;
    letter-spacing: 0.1em;
  }
}
.page .topics .topics__wrap {
  background-color: var(--color-green);
  color: #fff;
  padding: 0 0 50px;
}
@media screen and (max-width: 768px) {
  .page .topics .topics__wrap {
    padding: 0 0 5.2vw;
  }
}
.page .topics .topics__mv {
  margin: 0 0 50px;
}
@media screen and (max-width: 768px) {
  .page .topics .topics__mv {
    margin: 0 0 7.8vw;
  }
}
.page .topics .topics__contents {
  width: 89.7%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .topics .topics__contents {
    width: 79.2vw;
  }
}
.page .topics .topics__text {
  margin: 0 0 50px;
}
@media screen and (max-width: 768px) {
  .page .topics .topics__text {
    margin: 0 0 7.8vw;
  }
}
.page .topics .topics__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.5;
  margin: 0 0 10px;
}
@media screen and (max-width: 768px) {
  .page .topics .topics__title {
    font-size: 5.2vw;
    margin: 0 0 2.6vw;
  }
}
.page .topics .topics__title:after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 1px;
  background: #fff;
  margin: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  .page .topics .topics__title:after {
    width: 31.8vw;
    margin: 0 0 0 5.2vw;
  }
}
.page .topics .topics__box {
  background: #fff;
  padding: 50px;
  color: #222;
}
@media screen and (max-width: 768px) {
  .page .topics .topics__box {
    padding: 0 0 5.2vw;
  }
}
@media screen and (max-width: 768px) {
  .page .topics .topics__box .topics__box__inner {
    padding: 0 5.2vw;
  }
}
.page .topics .page-tab {
  margin: 0 0 50px;
}
@media screen and (max-width: 768px) {
  .page .topics .page-tab {
    margin: 0 0 5.2vw;
  }
}
@media screen and (max-width: 768px) {
  .page .topics .page-tab .page-tab__buttons {
    padding: 5.2vw 5.2vw 9.1vw;
  }
}
@media screen and (max-width: 768px) {
  .page .topics .page-tab .page-tab__content {
    padding: 0;
  }
}
.page .support {
  padding-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .page .support {
    padding-bottom: 10.4vw;
  }
}
.page .reasonable {
  padding: 160px 0;
  background-color: var(--color-gray);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .reasonable {
    padding: 10.4vw 0;
  }
}
.page .reasonable .reasonable__contents {
  margin: 0 0 80px;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__contents {
    margin: 0 0 13vw;
  }
}
.page .reasonable .reasonable__contents .reasonable__contents__item {
  margin: 0 auto 10px;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__contents .reasonable__contents__item {
    margin: 0 auto 5.2vw;
  }
}
.page .reasonable .reasonable__contents .reasonable__contents__item:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__contents .reasonable__contents__item.normal .reasonable__text p {
    display: inline-block;
  }
  .page .reasonable .reasonable__contents .reasonable__contents__item.normal .reasonable__text p span.s {
    display: block;
    text-align: left;
  }
  .page .reasonable .reasonable__contents .reasonable__contents__item.normal .reasonable__text p span.xxl {
    display: inline;
  }
  .page .reasonable .reasonable__contents .reasonable__contents__item.normal .reasonable__text p span.xl {
    display: inline;
  }
}
.page .reasonable .reasonable__contents .reasonable__contents__item.discount .reasonable__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__contents .reasonable__contents__item.discount .reasonable__text {
    display: block;
  }
}
.page .reasonable .reasonable__contents .reasonable__contents__item.discount .page-link {
  margin: 10px 0 0;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__contents .reasonable__contents__item.discount .page-link {
    margin: 5.2vw 0 0;
  }
}
.page .reasonable .reasonable__title {
  letter-spacing: 0.05em;
}
.page .reasonable .reasonable__title span {
  font-size: 20px;
  vertical-align: baseline;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__title span {
    font-size: 5.2vw;
    margin: 0 0 2.6vw;
  }
}
.page .reasonable .reasonable__subTitle {
  background: var(--color-green);
  color: #fff;
  text-align: center;
  padding: 8px 14px;
  font-weight: 500;
  line-height: 1.5;
  margin: 0 20px 0 0;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__subTitle {
    padding: 2.6vw 14.1vw;
    margin: 0 auto 1.3vw;
  }
}
.page .reasonable .reasonable__subTitle.view--pc {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__subTitle.view--pc {
    display: none;
  }
}
.page .reasonable .reasonable__subTitle.view--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__subTitle.view--sp {
    display: inline-block;
  }
}
.page .reasonable .reasonable__text p {
  vertical-align: baseline;
}
.page .reasonable .reasonable__text p span {
  letter-spacing: 0;
}
.page .reasonable .reasonable__text p span.s {
  font-size: 16px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__text p span.s {
    font-size: 4.2vw;
  }
}
.page .reasonable .reasonable__text p span.m {
  font-size: 20px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__text p span.m {
    font-size: 5.2vw;
  }
}
.page .reasonable .reasonable__text p span.l {
  font-size: 40px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__text p span.l {
    font-size: 10.4vw;
  }
}
.page .reasonable .reasonable__text p span.xl {
  font-size: 48px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__text p span.xl {
    font-size: 12.5vw;
  }
}
.page .reasonable .reasonable__text p span.xxl {
  font-size: 80px;
  font-weight: bold;
  line-height: 0.9;
}
@media screen and (max-width: 768px) {
  .page .reasonable .reasonable__text p span.xxl {
    font-size: 20.8vw;
  }
}
.page .guide {
  padding: 160px 0;
  background: #A6D8B0;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .page .guide {
    padding: 10.4vw 0;
  }
}
.page .guide .page-heading--border span {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.page .guide .guide__heading {
  text-align: center;
  margin: 0 auto 30px;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__heading {
    margin: 0 auto 5.2vw;
    font-size: 6.3vw;
    letter-spacing: 0;
  }
}
.page .guide .guide__heading span {
  display: inline-block;
  background: #fff;
  padding: 2px 15px;
  margin: 0 auto 15px;
  color: #A6D8B0;
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__heading span {
    padding: 0.8vw 3.9vw;
    margin: 0 auto 2.6vw;
    font-size: 3.6vw;
  }
}
.page .guide .page-tab .page-tab__buttons {
  margin: 0 auto 25px;
}
@media screen and (max-width: 768px) {
  .page .guide .page-tab .page-tab__buttons {
    margin: 0 auto 7.8vw;
  }
}
.page .guide .page-tab .page-tab__buttons .page-tab__button {
  color: #D9D9D9;
  background: transparent;
  padding: 10px;
}
.page .guide .page-tab .page-tab__buttons .page-tab__button.is-active {
  background: #fff;
  color: #A6D8B0;
  border-bottom: 2px solid #fff;
}
.page .guide .page-tab .page-tab__content {
  padding: 0;
}
.page .guide .guide__popup {
  position: relative;
  margin: 0 0 74px;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup {
    margin: 0 0 18.2vw;
  }
}
.page .guide .guide__popup .popup-wrapper {
  position: absolute;
  display: inline-block;
}
.page .guide .guide__popup .popup-content {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  padding: 10px;
  width: 234px;
  z-index: 1000;
  color: #000;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-content {
    padding: 2.6vw;
    width: 60.9vw;
  }
}
.page .guide .guide__popup .popup-content.active {
  display: block;
}
.page .guide .guide__popup .popup-content .popup-title {
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 1px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-content .popup-title {
    font-size: 5.2vw;
    margin: 0 0 2.1vw;
  }
}
.page .guide .guide__popup .popup-content .popup-title span {
  display: block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-content .popup-title span {
    font-size: 3.6vw;
  }
}
.page .guide .guide__popup .popup-content .close-popup {
  cursor: pointer;
  font-size: 16px;
  position: absolute;
  top: 10px;
  right: 10px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-content .close-popup {
    font-size: 4.2vw;
    top: 2.6vw;
    right: 2.6vw;
  }
}
.page .guide .guide__popup .popup-wrapper:nth-child(odd) .popup-content {
  left: auto;
  right: 0;
}
.page .guide .guide__popup .open-popup {
  width: 72px;
  height: 64px;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .open-popup {
    width: 13vw;
    height: 13vw;
  }
}
.page .guide .guide__popup .popup-wrapper.popup-1 {
  left: 7.2%;
  top: 6.7%;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-wrapper.popup-1 {
    left: 5.2vw;
    top: 5.2vw;
  }
}
.page .guide .guide__popup .popup-wrapper.popup-2 {
  right: 7.2%;
  top: 6.7%;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-wrapper.popup-2 {
    right: 5.2vw;
    top: 5.2vw;
  }
}
.page .guide .guide__popup .popup-wrapper.popup-3 {
  left: 7.2%;
  top: 33.5%;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-wrapper.popup-3 {
    left: 5.2vw;
    top: 49vw;
  }
}
.page .guide .guide__popup .popup-wrapper.popup-4 {
  right: 7.2%;
  top: 33.5%;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-wrapper.popup-4 {
    right: 5.2vw;
    top: 49vw;
  }
}
.page .guide .guide__popup .popup-wrapper.popup-5 {
  left: 7.2%;
  top: 60.3%;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-wrapper.popup-5 {
    left: 5.2vw;
    top: 92.7vw;
  }
}
.page .guide .guide__popup .popup-wrapper.popup-6 {
  right: 7.2%;
  top: 60.3%;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-wrapper.popup-6 {
    right: 5.2vw;
    top: 92.7vw;
  }
}
.page .guide .guide__popup .popup-wrapper.popup-7 {
  left: 7.2%;
  top: 87%;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-wrapper.popup-7 {
    left: 5.2vw;
    top: 136.7vw;
  }
}
.page .guide .guide__popup .popup-wrapper.popup-8 {
  right: 7.2%;
  top: 87%;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__popup .popup-wrapper.popup-8 {
    right: 5.2vw;
    top: 136.7vw;
  }
}
.page .guide .guide__contents {
  margin: 0 0 80px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__contents {
    margin: 0 0 15.6vw;
  }
}
.page .guide .guide__contents:last-child {
  margin-bottom: 0;
}
.page .guide .guide__contents .page-btn--arrow {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__contents .page-btn--arrow {
    text-align: left;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.page .guide .guide__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 30px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__list {
    display: flex;
    flex-wrap: wrap;
    gap: 10.42vw 5.21vw;
    margin: 0 0 7.8vw;
  }
}
@media screen and (min-width: 769px) {
  .page .guide .guide__list .guide__item {
    width: 22.5%;
    margin: 0 3.2% 0 0;
  }
  .page .guide .guide__list .guide__item:nth-child(4n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .guide .guide__list .guide__item {
    width: calc((100% - 5.21vw) / 2);
    margin: 0;
  }
  .page .guide .guide__list .guide__img img {
    display: block;
    width: 100%;
  }
  /* ネクタイ STEP1・2 は正方形 */
  .page .guide .guide__list .guide__item:not(.guide__item--large) .guide__img img[src*="guide_tie"] {
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
  .page .guide .guide__list p {
    font-size: 3.39vw;
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
}
.page .guide .guide__list .guide__item--large {
  width: 48.3%;
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__list .guide__item--large {
    width: 100%;
  }
  .page .guide .guide__list .guide__item--large .guide__img img {
    aspect-ratio: 344 / 162;
    object-fit: contain;
    background: #8CBA95;
  }
}
.page .guide .guide__list .guide__img {
  margin: 0 0 12px;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__list .guide__img {
    margin: 0 0 2.6vw;
  }
}
.page .guide .guide__list h4 {
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 10px;
}
@media screen and (max-width: 768px) {
  .page .guide .guide__list h4 {
    font-size: 4.69vw;
    font-weight: 600;
    line-height: 7.29vw;
    margin: 0 0 2.6vw;
  }
  /* ネクタイの STEP 表記 */
  .page .guide .guide__list:has(.guide__item--large) h4 {
    font-size: 3.65vw;
    line-height: 6.25vw;
    letter-spacing: 0.1em;
    margin: 0 0 1.3vw;
  }
}
.page .guide .layout-cross {
  text-align: left;
}
.page .guide .layout-cross .layout-cross__item {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.page .guide .layout-cross .layout-cross__contents {
  width: 46.9%;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .page .guide .layout-cross .layout-cross__contents {
    width: 100%;
  }
}
.page .guide .layout-cross .layout-cross__title {
  border: 1px solid #fff;
  text-align: center;
  padding: 12px;
  margin: 0 0 30px;
}
@media screen and (max-width: 768px) {
  .page .guide .layout-cross .layout-cross__title {
    padding: 3.1vw;
    margin: 0 0 2.6vw;
  }
}
.page .guide .layout-cross .page-btn--arrow {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .page .guide .layout-cross .page-btn--arrow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 5.2vw;
    text-align: left;
  }
}
.page .guide #tab-content-3 .popup-wrapper:nth-last-child(-n+2) .popup-content {
  top: auto;
  bottom: 0;
}
.page .guide #tab-content-4 .popup-wrapper:nth-last-child(-n+1) .popup-content {
  top: auto;
  bottom: 0;
}
.page .faq {
  padding: 160px 0;
  margin-top: 160px;
  background: var(--color-gray);
}
@media screen and (max-width: 768px) {
  .page .faq {
    padding: 13vw 0;
    margin-top: 20.8vw;
  }
}
.page .faq .page__heading--lead {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .page .faq .page__heading--lead {
    margin-bottom: 5.2vw;
  }
}
.page .faq .faq__main {
  padding: 50px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .page .faq .faq__main {
    padding: 5.2vw 5.2vw 7.8vw;
  }
}
.page .faq .faq__list {
  margin: 0 0 50px;
}
@media screen and (max-width: 768px) {
  .page .faq .faq__list {
    margin: 0 0 7.8vw;
  }
}
.page .faq .faq__item {
  margin: 0 0 50px;
  border-bottom: 1px solid #222;
}
@media screen and (max-width: 768px) {
  .page .faq .faq__item {
    margin: 0 0 5.2vw;
  }
}
.page .faq .faq__item:last-child {
  margin-bottom: 0;
}
.page .faq .faq__item .faq__title {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 45px;
}
@media screen and (max-width: 768px) {
  .page .faq .faq__item .faq__title {
    margin: 0 0 5.2vw;
  }
}
.page .faq .faq__item .faq__title:after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: var(--color-green);
  background-position: center center;
  background-size: 14px auto;
  background-repeat: no-repeat;
  background-image: url("/order/assets/img/mens/icon_accordion_plus.svg");
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .page .faq .faq__item .faq__title:after {
    width: 7.3vw;
    height: 7.3vw;
    background-size: 3.6vw auto;
  }
}
.page .faq .faq__item .faq__title span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.3em;
  padding: 0 20px 0 0;
}
@media screen and (max-width: 768px) {
  .page .faq .faq__item .faq__title span {
    font-size: 5.2vw;
    padding: 0 2.6vw 0 0;
  }
}
.page .faq .faq__item .faq__title span:before {
  content: "Q";
  display: inline-block;
  font-size: 24px;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  line-height: 1.2;
  color: var(--color-green);
  margin: 0 15px 0 0;
}
@media screen and (max-width: 768px) {
  .page .faq .faq__item .faq__title span:before {
    font-size: 6.3vw;
    margin: 0 1.3vw 0 0;
  }
}
.page .faq .faq__item .faq__text {
  display: none;
  padding: 0 0 50px;
  line-height: 1.875;
}
@media screen and (max-width: 768px) {
  .page .faq .faq__item .faq__text {
    padding: 0 0 5.2vw;
  }
}
.page .faq .faq__item.is-open .faq__title span {
  color: #C9C9C9;
}
.page .faq .faq__item.is-open .faq__title span:before {
  color: #222;
}
.page .faq .faq__item.is-open .faq__title:after {
  background-color: #C9C9C9;
  background-image: url("/order/assets/img/mens/icon_accordion_minus.svg");
}
.page .faq .page-btn--box {
  width: 320px;
  margin-top: 0;
  font-size: 16px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .faq .page-btn--box {
    width: 100%;
    font-size: 4.2vw;
  }
}
.page .campaign .page-heading--border {
  margin: 0 auto 60px;
  padding: 160px 0 0;
}
@media screen and (max-width: 768px) {
  .page .campaign .page-heading--border {
    margin: 0 auto 7.8vw;
    padding-top: 20.8vw;
  }
}
.page .campaign .campaign__list {
  max-width: 800px;
  margin: 0 auto;
}
.page .campaign .campaign__item {
  margin: 0 auto 60px;
}
@media screen and (max-width: 768px) {
  .page .campaign .campaign__item {
    margin: 0 auto 7.8vw;
  }
}
.page .campaign .campaign__item:last-child {
  margin-bottom: 0;
}
.page .campaign .campaign__title {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.5;
  margin: 0 0 12px;
  text-align: center;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 768px) {
  .page .campaign .campaign__title {
    font-size: 4.69vw;
    line-height: 1.5;
    margin: 0 0 2.6vw;
  }
}

/* 学生証ご提示企画バナー（画像） */
.page .campaign .campaign__bnr {
  display: block;
}
.page .campaign .campaign__bnr img {
  display: block;
  width: 100%;
  height: auto;
}
.page .campaign a.campaign__bnr {
  transition: opacity 0.3s;
}
.page .campaign a.campaign__bnr:hover {
  opacity: 0.7;
}

/* --------------------------------------------------------------------------
   安心おまとめセットPLUS
   -------------------------------------------------------------------------- */
.sn-set { 
  padding: 0 20px; 
  margin-bottom: 0 !important;
}
.sn-set__inner {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  padding: 40px 20px 20px;
  background: #8cba95;
}
.sn-set__head { color: #fff; text-align: center; }
.sn-set__lead { font-size: 14px !important; line-height: 22px; }
@media screen and (max-width: 768px) {
  .sn-set__lead {
    font-size: 3.4vw;
  }
}
.sn-set__title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px !important;
  font-weight: 600 !important;
  line-height: 46px !important;
}
@media screen and (max-width: 768px) {
  .sn-set__title{
    font-size: 6.25vw !important;
    letter-spacing: 0.1em;
  }
}
.sn-set__title::before,
.sn-set__title::after {
  content: "";
  flex: 0 0 117px;
  height: 1px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .sn-set__title::before,
  .sn-set__title::after {
    content: none;
  }  
}
.sn-set__title::before { margin-right: 26px; }
.sn-set__title::after { margin-left: 26px; }
.sn-set__title-en { font-family: "Montserrat", sans-serif; }

.sn-set__card {
  margin-top: 41px;
  padding: 40px 20px;
  background: #fff;
}

/* タブ */
.sn-set__tabs { display: grid; grid-template-columns: 1fr 1fr; }
.sn-set__tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 81px;
  border-bottom: 3px solid #d9d9d9;
  color: #d9d9d9;
  font-weight: 600;
  text-align: center;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.sn-set__tab.is-active {
  background: #8cba95;
  border-bottom-color: #8cba95;
  color: #fff;
  cursor: default;
}
.sn-set__tab-en {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 24px;
}
.sn-set__tab-ja {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: 0;
}

/* 導入 */
.sn-set__intro { text-align: center; color: #000; }
.sn-set__icon { margin: 60px auto 0; }
.sn-set__base {
  margin-top: 10px;
  font-size: 14px;
  line-height: 30px;
}
.sn-set__base-num {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.067em;
}
.sn-set__yen-s { font-size: 16px; }
.sn-set__base-tilde {
  font-size: 24px;
  font-weight: 600;
}
.sn-set__plus {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.sn-set__plus-num {
  color: #8cba95;
  font-size: 60px;
  font-weight: 600;
  line-height: 70px;
  letter-spacing: 0.027em;
}
.sn-set__plus-mark {
  margin-right: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 54px;
  font-weight: 700;
}
.sn-set__plus-yen { font-size: 45px; }
.sn-set__plus-text { font-size: 14px; line-height: 22px; }

/* 価格ボックス */
.sn-set__price {
  position: relative;
  margin: 30px 60px 0;
  padding: 40px 33px;
  background: #8cba95;
  color: #fff;
  text-align: center;
}
.sn-set__price-label {
  position: absolute;
  top: -20px;
  left: 0;
  width: 150px;
  height: 40px;
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid #8cba95;
  color: #8cba95;
  font-size: 14px;
  line-height: 22px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .sn-set__price-label {
    width: 18.75vw;
  }
}
.sn-set__formula { font-size: 14px !important; line-height: 30px; }
.sn-set__formula-num {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.067em;
}
.sn-set__yen-m { font-size: 17px; }
.sn-set__formula-plus {
  margin: 0 10px;
  font-size: 40px;
  font-weight: 600;
  vertical-align: -0.1em;
  line-height: 1;
}
.sn-set__formula-item { font-size: 18px; font-weight: 600; }
.sn-set__price-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
}
.sn-set__regular { font-size: 14px; line-height: 30px; }
.sn-set__regular-num {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.067em;
}
.sn-set__triangle {
  width: 17px;
  margin: 0 24px;
  transform: rotate(90deg);
}
.sn-set__sale {
  font-size: 70px !important;
  font-weight: 600;
  line-height: 70px !important;
  letter-spacing: 0 !important;
}
.sn-set__sale-yen { font-size: 49px; }
.sn-set__member {
  margin-top: 20px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  font-size: 14px;
  line-height: 22px;
}
.sn-set__member-off {
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0;
}

/* コーディネートアイテム */
.sn-set__items-title {
  margin-top: 40px;
  color: #8cba95;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  text-align: center;
}
.sn-set__items {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 20px;
  margin-top: 20px;
  padding: 0 10px;
}
.sn-set__item {
  width: 160px;
  color: #000;
  text-align: center;
}
.sn-set__item img { width: 160px; margin: 0 auto; }
.sn-set__item-name {
  margin-top: 5px;
  font-size: 14px;
  line-height: 22px;
}
.sn-set__item-num {
  display: block;
  font-size: 24px;
  font-weight: 600;
  line-height: 30px;
  letter-spacing: 0.067em;
}
.sn-set__item-unit {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  line-height: 22px;
}
.sn-set__notes {
  margin-top: 63px;
  padding: 0 10px;
  font-size: 14px;
  line-height: 22px;
}

.sn-set__coupon{
  width: 400px;
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 38px 0;
  font-size: 20px !important;
  border-radius: 15px;
  position: relative;
  margin: 64px auto 0; 
}
.sn-set__coupon::after{
  content: "";
  background-image: url("../img/icon_arrow_right.png");
  background-size: cover;
  width: 6px;
  height: 12px;
  position: absolute;
  top: 43%;
  right: 20px;
}
@media screen and (max-width: 768px) {
  .sn-set{
    padding: unset;
  }
  .sn-set__inner{
    padding: 5.2vw;
  }
  .sn-set__card {
    margin-top: 5.2vw;
    padding: 5.2vw;
  }
  .sn-set__tab-en{
    font-size: 2.6vw !important;
  }
  .sn-set__tab-ja{
    font-size: 5.2vw !important;
  }
  .sn-set__icon{
    width: 18.2vw;
    margin-top: 2.6vw;
  }
  .sn-set__plus{
    flex-direction: column;
  }
  .sn-set__plus-black{
    display: inline-block;
    font-size: 3.4vw !important;
    color: #000;
    line-height: normal;
  }  
  .sn-set__price {
    margin: 5.2vw;  
    margin-top: 10.4vw;
    padding: 5.2vw 3.6vw;
  }    
  .sn-set__formula-item{
    font-size: 3.38vw;
  }  
  .sn-set__triangle{
    transform: rotate(180deg);
  }  
  .sn-set__price-row{
    flex-direction: column;
  }
  .sn-set__sale{
    font-size: 13vw !important;
  }
  .sn-set__member{
    display: block;
    height: auto;
    padding: 2.6vw 0;
    margin-top: 2.6vw;
  }
  .sn-set__formula-plus {
    font-size: 6.25vw;
  }
  .sn-set__items-title{
    margin-top: 5.2vw;
    font-size: 4.6vw;
  }
  .sn-set__item {
    width: 19.2vw;
    justify-self: center;
    align-self: flex-end;
  }
  .shoes-bag{
    width: 27.6vw;
  }
  .sn-set__items{
    margin-top: 2.6vw;
    padding: 0 2.6vw;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    justify-content: center;
    align-items: center;
  }
  .sn-set__item:nth-child(-n+4) {
    grid-column: span 3;
  }
  .sn-set__item:nth-child(n+5) {
    grid-column: span 2;
  }  
  .sn-set__item-name,.sn-set__yen-m,.sn-set__item-unit{
    font-size: 3.1vw !important;
    line-height: 20px;
  }
  .sn-set__item-name {
    margin-left: -3vw;
    margin-right: -3vw;
    white-space: nowrap;
  }
  .sn-set__item-num  {
    font-size: 4.7vw;
  }
  .sn-set__item-unit{
    margin-top: 0;
  }
  .sn-set__member-off{
    font-size: 5.2vw;
  }
  .sn-set__plus-text,.sn-set__base{
    font-size: 3.4vw !important;
  }  
  .sn-set__plus-num{
    font-size: 13vw;
    line-height: 13vw;
  }
  .sn-set__plus-mark{
    font-size: 10.4vw;
  }
  .sn-set__coupon{
    width: 89.6vw;
    font-size: 5.2vw !important;
    padding: 9.1vw;
    margin-top: 12.2vw;
  }
  .sn-set__coupon::after{
    width: 2.8vw;
    height: 5.2vw;
    right: 5.2vw;
    top: 40%;
  }  
  .sn-set__notes{
    font-size: 3.4vw;
    margin-top: 12.2vw;
  }
  /* ページ内ナビ */
  .kk-nav { padding: 20.8vw 5.2vw 0; }
  .kk-nav__list {
    display: grid;
    grid-template-columns: 152px 152px;
    gap: 7.8vw 10.4vw;
    justify-content: center;
  }
  .kk-nav__item { width: auto; }
  .kk-nav__item:nth-child(3)::before,
  .kk-nav__item:nth-child(5)::before { content: none; }
  .kk-nav__item:nth-child(2)::before,
  .kk-nav__item:nth-child(4)::before {
    content: "";
    position: absolute;
    top: 0;
    left: -5.2vw;
    width: 1px;
    height: 26.8vw;
    background: #000;
  }
  .kk-nav__link { height: 26.8vw; }
  .kk-nav__link::after {
    width: 3.1vw;
    height: 1.56vw;
    margin-top: 2.6vw;
    background-image: url("../img/icon_arrow.png");
  }
  /* デザインの字間(0.3em)では「ファーストフォーマル」が列幅を大きく超えるため詰めている */
  .kk-nav__text {
    height: 22.6vw !important;
    padding-left: 0.1em !important;
    font-size: 4.16vw !important;
    line-height: 1.8 !important;
    letter-spacing: 0.2em !important;
  }  
}

.btn-flex{
  display: flex;
  gap: 50px;
  justify-content: center;
}
@media screen and (max-width: 768px){
  .btn-flex{
    flex-direction: column;
    gap: 7.8vw;
  }
}
@media screen and (max-width: 768px) {
    .raiten {
        margin-top: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   もしくは：クーポン
   -------------------------------------------------------------------------- */
.kk-coupon {
  margin-top: 50px;
  padding: 0 20px;
}
.kk-coupon__or {
  width: 170px;
  margin: 0 auto;
  background: #8cba95;
  color: #fff;
  font-size: 24px !important;
  font-weight: 600;
  line-height: 50px !important;
  letter-spacing: 0.2em !important;
  text-align: center;
}
.kk-coupon__body {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  width: 800px;
  max-width: 100%;
  margin: 50px auto 0;
}
.kk-coupon__img {
  flex: 0 0 360px;
  aspect-ratio: 360 / 441;
}
.kk-coupon__img img { width: 100%; left: 0; top: 0; }
.kk-coupon__content { flex: 1; min-width: 0; }
.kk-coupon__label {
  display: inline-block;
  padding: 4px 19px;
  background: #fff;
  border: 1px solid #8cba95;
  border-radius: 5px;
  color: #8cba95;
  font-size: 16px !important;
  line-height: 30px !important;
}
.kk-coupon__suit {
  margin-top: 12px;
  font-size: 28px !important;
  font-weight: 600;
  line-height: 46px !important;
}
.kk-coupon__off {
  margin-top: 1px;
  font-size: 80px !important;
  font-weight: 600;
  line-height: 150px !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
}
.kk-coupon__off-num { color: #8cba95; font-size: 172px; }
.kk-coupon__box {
  position: relative;
  margin-top: 9px;
  padding: 28px 20px 24px;
  background: #8cba95;
  color: #fff;
}
.kk-coupon__box-label {
  position: absolute;
  top: -20px;
  left: 0;
  width: 72px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #8cba95;
  color: #8cba95;
  font-size: 16px !important;
  line-height: 30px !important;
}
.kk-coupon__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
}
.kk-coupon__regular {
  font-size: 24px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
}
.kk-coupon__unit { margin-right: 6px; font-size: 17px; }
.kk-coupon__unit-s,
.kk-coupon__ga { font-family: "Noto Sans JP", sans-serif; font-size: 13px; }
.kk-coupon__ga { font-size: 16px; }
.kk-coupon__yen { font-size: 17px; }
.kk-coupon__triangle { width: 14px; transform: rotate(90deg); }
.kk-coupon__sale {
  font-size: 50px !important;
  font-weight: 600;
  line-height: 1.2 !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap;
}
.kk-coupon__sale-yen { font-size: 35px; }
.kk-coupon__member {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  margin-top: 13px;
  border: 1px solid #fff;
  font-size: 16px !important;
  line-height: 32px !important;
}
.kk-coupon__member-off {
  font-size: 20px !important;
  font-weight: 600;
  letter-spacing: 0;
}

/* --------------------------------------------------------------------------
   リーズナブルな価格 & シームレスなお渡し
   -------------------------------------------------------------------------- */
.page .kk-reason {
  padding: 160px 0;
  color: #222;
  text-align: center;
}
.page .kk-reason__heading {
  line-height: 50px;
}
.page .kk-reason__price p {
  margin: 0;
  line-height: 1.5;
}
.page .kk-reason__lead {
  font-size: 20px;
  line-height: 36px !important;
  letter-spacing: 0.1em;
}
.page .kk-reason__off {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 6px;
}
.page .kk-reason__off-pre {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.1em;
}
.page .kk-reason__off-num {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 80px;
  line-height: 80px;
  letter-spacing: 0;
}
.page .kk-reason__off-unit {
  font-size: 48px;
}
@media screen and (min-width: 769px) {
  .sn-set__base .view--pc {
    display: inline;
  }
}
.page .kk-reason__case {
  margin-top: 30px !important;
  font-size: 16px;
  letter-spacing: 0.1em;
}
.page .kk-reason__case-yen {
  font-size: 14px;
  letter-spacing: 0;
}
.page .kk-reason__case-num {
  font-size: 20px;
  letter-spacing: 0;
}
.page .kk-reason__row {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
}
.page .kk-reason__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 60px;
  margin-right: 20px !important;
  border: 1px solid #8CBA95;
  border-radius: 5px;
  background: #fff;
  color: #8CBA95;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px !important;
  letter-spacing: 0.1em;
}
.page .kk-reason__unit {
  position: relative;
  top: 10px;
  margin-right: 10px !important;
  font-size: 40px;
  line-height: 52px !important;
  letter-spacing: 0.04em;
}
.page .kk-reason__sale {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 80px;
  line-height: 100px !important;
  letter-spacing: 0;
}
.page .kk-reason__sale-yen {
  font-size: 48px;
}
.page .kk-reason__tail {
  position: relative;
  top: 18px;
  margin-left: 6px !important;
  font-size: 20px;
  line-height: 36px !important;
  letter-spacing: 0.1em;
}
.page .kk-reason__link {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
  color: #222;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: 0.1em;
  text-decoration: none;
}
.page .kk-reason__link:hover {
  opacity: 0.7;
}
.page .kk-reason__link img {
  width: 20px;
  height: 20px;
}
.page .kk-reason__delivery {
  width: 90%;
  max-width: 976px;
  margin: 50px auto 0;
  padding: 50px 0;
  background: #8CBA95;
  color: #fff;
}
.page .kk-reason__delivery p {
  margin: 0;
}
.page .kk-reason__delivery-title {
  font-size: 20px;
  line-height: 29px !important;
  letter-spacing: 0.1em;
}
.page .kk-reason__delivery-term {
  font-weight: 600;
}
.page .kk-reason__delivery-note {
  margin-top: 10px !important;
  font-size: 14px;
  line-height: 17px !important;
  letter-spacing: 0.1em;
}
.page .kk-reason__flow {
  position: relative;
  display: flex;
  align-items: center;
  width: 588px;
  margin: 40px auto 0;
  padding: 0;
  list-style: none;
}
.page .kk-reason__flow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100px;
  right: 100px;
  height: 2px;
  margin-top: -1px;
  background: #fff;
}
.page .kk-reason__step {
  position: relative;
  flex-shrink: 0;
  border-radius: 50%;
}
.page .kk-reason__step--main {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  border: 2px solid #fff;
  background: #8CBA95;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.page .kk-reason__step--dot {
  width: 30px;
  height: 30px;
  margin-left: 100px;
  background: #fff;
}
.page .kk-reason__step--dot + .kk-reason__step--dot {
  margin-left: 128px;
}
.page .kk-reason__step--dot + .kk-reason__step--main {
  margin-left: 100px;
}
.page .kk-reason__step-name,
.page .kk-reason__step-term {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.page .kk-reason__step-name {
  bottom: calc(100% + 15px);
}
.page .kk-reason__step-term {
  top: calc(100% + 15px);
}
@media screen and (max-width: 768px) {
  .page .kk-reason {
    padding: 20.83vw 0;
  }
  .page .kk-reason__heading {
    margin-bottom: 5.21vw;
    line-height: 10.42vw;
    letter-spacing: 0.3em;
  }
  .page .kk-reason__heading span {
    margin-bottom: 2.6vw;
    font-size: 3.13vw;
  }
  .page .kk-reason__price {
    width: 72.88vw;
    margin: 0 auto;
  }
  .page .kk-reason__lead {
    font-size: 4.69vw;
    line-height: 7.29vw !important;
  }
  .page .kk-reason__off {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 2.6vw !important;
  }
  .page .kk-reason__off-pre {
    margin: 0;
    padding-left: 1.04vw;
    font-size: 3.65vw;
    line-height: 6.77vw;
    text-align: left;
  }
  .page .kk-reason__off-num {
    font-size: 15.63vw;
    line-height: 17.19vw;
  }
  .page .kk-reason__off-unit {
    font-size: 10.94vw;
  }
  .page .kk-reason__case {
    margin-top: 8.85vw !important;
    font-size: 3.65vw;
  }
  .page .kk-reason__case-yen {
    font-size: 3.65vw;
  }
  .page .kk-reason__case-num {
    font-size: 5.21vw;
  }
  .page .kk-reason__row {
    flex-direction: column;
    height: auto;
  }
  .page .kk-reason__badge-space {
    display: none;
  }
  .page .kk-reason__badge {
    width: 55.73vw;
    height: 11.46vw;
    margin: 2.6vw 0 0 !important;
    font-size: 3.65vw;
    line-height: 6.77vw !important;
  }
  .page .kk-reason__unit {
    top: 0;
    margin: 5.21vw 0 0 !important;
    font-size: 5.21vw;
    line-height: 7.29vw !important;
  }
  .page .kk-reason__unit .kk-en {
    font-size: 6.25vw;
  }
  .page .kk-reason__sale {
    font-size: 15.63vw;
    line-height: 17.19vw !important;
  }
  .page .kk-reason__sale-yen {
    font-size: 10.94vw;
  }
  .page .kk-reason__tail {
    top: 0;
    margin: 1.3vw 0 0 !important;
    font-size: 4.69vw;
    line-height: 7.29vw !important;
  }
  .page .kk-reason__link {
    gap: 1.56vw;
    margin-top: 5.21vw;
    font-size: 3.13vw;
    line-height: 5.21vw;
  }
  .page .kk-reason__link img {
    width: 5.21vw;
    height: 5.21vw;
  }
  .page .kk-reason__delivery {
    width: 89.58vw;
    margin-top: 7.81vw;
    padding: 7.81vw 0;
  }
  .page .kk-reason__delivery-title {
    letter-spacing: 0.33em;
    line-height: 1.4 !important;
  }
  .page .kk-reason__delivery-pre {
    font-size: 4.69vw;
  }
  .page .kk-reason__delivery-term {
    font-size: 6.25vw;
    letter-spacing: 0.25em;
  }
  .page .kk-reason__flow {
    flex-direction: column;
    width: auto;
    margin-top: 5.21vw;
  }
  .page .kk-reason__flow::before {
    top: 26.04vw;
    bottom: 26.04vw;
    left: 50%;
    right: auto;
    width: 2px;
    height: auto;
    margin: 0 0 0 -1px;
  }
  .page .kk-reason__step--main {
    width: 26.04vw;
    height: 26.04vw;
    font-size: 4.69vw;
  }
  .page .kk-reason__step--dot {
    width: 7.81vw;
    height: 7.81vw;
    margin: 9.38vw 0 0;
  }
  .page .kk-reason__step--dot + .kk-reason__step--dot {
    margin: 9.9vw 0 0;
  }
  .page .kk-reason__step--dot + .kk-reason__step--main {
    margin: 9.38vw 0 0;
  }
  .page .kk-reason__step-label {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: left;
    white-space: nowrap;
  }
  .page .kk-reason__step--dot:nth-child(2) .kk-reason__step-label {
    right: calc(100% + 5.21vw);
  }
  .page .kk-reason__step--dot:nth-child(3) .kk-reason__step-label {
    left: calc(100% + 5.21vw);
  }
  .page .kk-reason__step-name,
  .page .kk-reason__step-term {
    position: static;
    display: block;
    transform: none;
    font-size: 3.65vw;
    line-height: 6.77vw;
  }
  .page .kk-reason__step-term .kk-en {
    font-size: 4.17vw;
  }
}

/* --------------------------------------------------------------------------
   ページ内ナビ
   -------------------------------------------------------------------------- */
.kk-nav { padding: 160px 20px; }
.kk-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px 42px;
  max-width: 1020px;
  margin: 0 auto;
}
.kk-nav__item { position: relative; width: 298px; }
.kk-nav__item:nth-child(2)::before,
.kk-nav__item:nth-child(3)::before,
.kk-nav__item:nth-child(5)::before {
  content: "";
  position: absolute;
  top: 0;
  left: -21px;
  width: 1px;
  height: 110px;
  background: #000;
}
.kk-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 110px;
  transition: opacity 0.3s;
}
.kk-nav__link::after {
  content: "";
  width: 30px;
  height: 10px;
  margin-top: 20px;
  background: url("../img/icon_arrow.png") no-repeat center / contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);     
}
.kk-nav__text {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
  padding-left: 0.3em;
  color: #000;
  font-size: 20px;
  line-height: 40px;
  letter-spacing: 0.3em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px){
    /* ページ内ナビ */
  .kk-nav { padding: 80px 20px 0; }
  .kk-nav__list {
    display: grid;
    grid-template-columns: 152px 152px;
    gap: 30px 40px;
    justify-content: center;
  }
  .kk-nav__item { width: auto; }
  .kk-nav__item:nth-child(3)::before,
  .kk-nav__item:nth-child(5)::before { content: none; }
  .kk-nav__item:nth-child(2)::before,
  .kk-nav__item:nth-child(4)::before {
    content: "";
    position: absolute;
    top: 0;
    left: -20px;
    width: 1px;
    height: 103px;
    background: #000;
  }
  .kk-nav__link { height: 103px; }
  .kk-nav__link::after {
    width: 12px;
    height: 6px;
    margin-top: 10px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);    
  }
}

/* --------------------------------------------------------------------------
   オーダースーツギャラリー
   -------------------------------------------------------------------------- */
.kk-gallery { padding: 0 20px 160px; }
.kk-gallery__list {
  width: 976px;
  max-width: 100%;
  margin: 80px auto 0;
}
.kk-gallery__item {
  display: grid;
  grid-template-columns: 488px minmax(0, 1fr);
  column-gap: 20px;
  align-items: start;
}
.kk-gallery__item--reverse { grid-template-columns: minmax(0, 1fr) 488px; }
.kk-gallery__body p,
.kk-gallery__body h3,
.kk-gallery__thumbs { margin-bottom: 0; }
.kk-gallery__thumbs { padding: 0; list-style: none; }
.kk-gallery__catch,
.kk-gallery__price > p,
.kk-gallery__note { margin-top: 0; }
.page .kk-gallery__catch,
.page .kk-gallery__name { letter-spacing: 0.1em; }
@media screen and (min-width: 769px) {
  .kk-gallery__arrow.view--sp { display: none; }
}
.kk-gallery__item--reverse .kk-gallery__main { grid-column: 2; grid-row: 1; }
.kk-gallery__item--reverse .kk-gallery__body { grid-column: 1; grid-row: 1; }

/* メイン画像（重ねてフェード切り替え） */
.kk-gallery__main {
  position: relative;
  aspect-ratio: 488 / 610;
  background: #a6d8b0;
}
.kk-gallery__slide {
  position: absolute !important;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.kk-gallery__slide.is-active { opacity: 1; }
.kk-gallery__arrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-top: -15px;
}
.kk-gallery__arrow img { width: 7px; }
.kk-gallery__arrow--prev { left: 8px; }
.kk-gallery__arrow--prev img { transform: scaleX(-1); }
.kk-gallery__arrow--next { right: 8px; }

.kk-gallery__body { padding-top: 52px; }
.kk-gallery__catch {
  color: #000;
  font-size: 13px !important;
  line-height: 1.8;
}
.kk-gallery__name {
  margin-top: 6px;
  color: #000;
  font-size: 20px !important;
  font-weight: 600;
  line-height: 36px;
}

/* サムネイル */
.kk-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(3, 142px);
  gap: 21px;
  margin-top: 21px;
}
.kk-gallery__thumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 142 / 327;
  background: #d9d9d9;
  transition: background-color 0.3s;
}
.kk-gallery__thumb .kk-crop { position: absolute; inset: 0; }
.kk-gallery__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 3px solid transparent;
  transition: border-color 0.3s;
}
.kk-gallery__thumb.is-active { background: #a6d8b0; cursor: default; }
.kk-gallery__thumb.is-active::after { border-color: #000; }

/* 価格 */
.kk-gallery__price {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  column-gap: 0;
  margin-top: 23px;
}
.kk-gallery__regular {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 24px !important;
  line-height: 1.8;
  letter-spacing: 0 !important;
}
.kk-gallery__regular-s { font-size: 17px; }
.kk-gallery__arrow-text {
  margin-left: 22px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px !important;
  line-height: 24px !important;
  letter-spacing: 0.1em;
}
.kk-gallery__badge {
  margin-left: 30px;
  padding: 7px 12px 7px 11px;
  background: #fff;
  border: 1px solid #8cba95;
  border-radius: 5px;
  color: #8cba95;
  font-size: 12px !important;
  font-weight: 600!important;
  line-height: 18px!important;
  text-align: center;
  white-space: nowrap;
}
.kk-gallery__sale {
  justify-self: end;
  margin-left: 13px;
  color: #8cba95;
  font-size: 50px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
}
.kk-gallery__sale-s { font-size: 35px; }
.kk-gallery__sale-tilde {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 35px !important;
}
.kk-gallery__note {
  font-size: 14px !important;
  line-height: 22px;
  text-align: right;
}

/* --------------------------------------------------------------------------
   Hover（PCのみ）
   -------------------------------------------------------------------------- */
@media (hover: hover) {
  .kk-nav__link:hover,
  .kk-coupon__btn:hover { opacity: 0.6; }
  .kk-set__tab:not(.is-active):hover { color: #8cba95; }
  .kk-gallery__thumb:not(.is-active):hover { background: #c9e9cf; }
}

/* --------------------------------------------------------------------------
   トリミング位置
   -------------------------------------------------------------------------- */
/* ギャラリー：メイン（488×610） */
.kk-crop--g1-1 img { width: 117.58%; height: 140.94%; left: -11.71%; top: -31.25%; }
.kk-crop--g1-2 img { width: 117.64%; height: 141.25%; left: -4.17%; top: -34.58%; }
.kk-crop--g1-3 img { width: 119.67%; height: 143.7%; left: -14%; top: -35.78%; }
.kk-crop--g2-1 img { width: 118.18%; height: 141.67%; left: -12.15%; top: -31.67%; }
.kk-crop--g2-2 img { width: 137.84%; height: 165.52%; left: -30.94%; top: -49.98%; }
.kk-crop--g2-3 img { width: 119.21%; height: 143.14%; left: -12.02%; top: -32.72%; }
.kk-crop--g3-1 img { width: 126.53%; height: 152%; left: -17.34%; top: -44.43%; }
.kk-crop--g3-2 img { width: 123.18%; height: 147.91%; left: -9.48%; top: -38.53%; }
.kk-crop--g3-3 img { width: 121.8%; height: 146.25%; left: -16.63%; top: -37.92%; }
.kk-crop--g4-1 img { width: 123.36%; height: 147.87%; left: -14.73%; top: -40.82%; }
.kk-crop--g4-2 img { width: 121.1%; height: 145.26%; left: -19.38%; top: -36.7%; }
.kk-crop--g4-3 img { width: 122.78%; height: 147.43%; left: -8.66%; top: -35.78%; }
/* ギャラリー：サムネイル（142×327） */
.kk-crop--g1-1t img { width: 216.94%; height: 140.94%; left: -62.87%; top: -31.25%; }
.kk-crop--g1-2t img { width: 216.63%; height: 141.25%; left: -52.21%; top: -34.58%; }
.kk-crop--g1-3t img { width: 220.38%; height: 143.7%; left: -68.04%; top: -35.78%; }
.kk-crop--g2-1t img { width: 218.06%; height: 141.67%; left: -63.25%; top: -31.67%; }
.kk-crop--g2-2t img { width: 252.09%; height: 164.38%; left: -102.02%; top: -49.98%; }
.kk-crop--g2-3t img { width: 219.53%; height: 143.14%; left: -65.53%; top: -32.72%; }
.kk-crop--g3-1t img { width: 233.46%; height: 152%; left: -70.73%; top: -44.43%; }
.kk-crop--g3-2t img { width: 226.84%; height: 147.91%; left: -63.5%; top: -38.53%; }
.kk-crop--g3-3t img { width: 224.3%; height: 146.25%; left: -77.41%; top: -37.92%; }
.kk-crop--g4-1t img { width: 227.61%; height: 147.87%; left: -65.21%; top: -40.82%; }
.kk-crop--g4-2t img { width: 223%; height: 145.26%; left: -74.18%; top: -36.7%; }
.kk-crop--g4-3t img { width: 226.1%; height: 147.43%; left: -58.96%; top: -35.78%; }



/* 画像トリミング（Figmaの切り抜き位置を再現） */
.kk-crop { position: relative; overflow: hidden; }
.page .kk-crop img { position: absolute; max-width: none; max-height: none;}

.kk-style__card .kk-crop img{
  max-width: 100%;
  max-height: 100%;
}

:where(.kk) img { display: block; max-width: 100%; height: auto; }

@media screen and (max-width: 768px){
  /* オーダースーツギャラリー */
  .kk-gallery { padding: 80px 20px 0; }
  .kk-gallery__list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
  }
  .kk-gallery__item,
  .kk-gallery__item--reverse {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .kk-gallery__body { display: contents; }
  .kk-gallery__catch { order: 1; text-align: center; }
  .kk-gallery__name { order: 2; }
  .kk-gallery__main { order: 3; }
  .kk-gallery__thumbs { order: 4; }
  .kk-gallery__price { order: 5; }
  .kk-gallery__note { order: 6; }

  .kk-gallery__name {
    margin-top: 0;
    line-height: 1.8;
    font-size: 18px;
    text-align: center;
  }
  .kk-gallery__main {
    margin-top: 10px;
    aspect-ratio: 344 / 340;
  }
  .kk-gallery__arrow--prev { left: 5px; }
  .kk-gallery__arrow--next { right: 5px; }
  .kk-gallery__thumbs {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 16px;
  }
  .kk-gallery__thumb { aspect-ratio: 104 / 160; }
  .kk-gallery__thumb::after { border-width: 2px; }
  .kk-gallery__price {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "regular sale"
      "badge sale";
    align-items: start;
    column-gap: 10px;
    margin-top: 15px;
  }
  .kk-gallery__regular {
    grid-area: regular;
    margin-top: 0.26vw;
    font-size: 4.68vw !important;
    line-height: 1.2 !important;
  }
  .kk-gallery__regular-s { font-size: 3.64vw !important; }
  .kk-gallery__regular-s:last-child { font-size: 4.4vw !important; }
  .kk-gallery__arrow-text { margin-left: 5.7vw; line-height: 1.2; }
  .kk-gallery__badge {
    grid-area: badge;
    justify-self: start;
    margin-top: 1.3vw;
    margin-left: 0;
    padding: 1vw 1.8vw;
  }
  .kk-gallery__sale { grid-area: sale; margin-left: 0; }
  .kk-gallery__note { color: #222; }

  .kk-crop--g1-1 img { width: 92.97%; height: 140.94%; left: 1.2%; top: -31.25%; }
  .kk-crop--g1-2 img { width: 93.67%; height: 141.25%; left: 6.47%; top: -34.58%; }
  .kk-crop--g1-3 img { width: 93.93%; height: 143.7%; left: 0.12%; top: -35.78%; }
  .kk-crop--g2-1 img { width: 93.45%; height: 141.67%; left: -0.01%; top: -31.67%; }
  .kk-crop--g2-2 img { width: 107.45%; height: 164.38%; left: -14.25%; top: -49.98%; }
  .kk-crop--g2-3 img { width: 93.57%; height: 143.14%; left: 1.61%; top: -32.72%; }
  .kk-crop--g3-1 img { width: 100.05%; height: 152%; left: -2.37%; top: -44.43%; }
  .kk-crop--g3-2 img { width: 96.69%; height: 147.91%; left: 1.79%; top: -38.53%; }
  .kk-crop--g3-3 img { width: 95.61%; height: 146.25%; left: -3.52%; top: -37.92%; }
  .kk-crop--g4-1 img { width: 97.54%; height: 147.87%; left: -0.02%; top: -40.82%; }
  .kk-crop--g4-2 img { width: 95.05%; height: 145.26%; left: -1.56%; top: -36.7%; }
  .kk-crop--g4-3 img { width: 96.37%; height: 147.43%; left: 5.21%; top: -35.78%; }
  .kk-crop--g1-1t img { width: 143.92%; height: 139.67%; left: -26.36%; top: -29.7%; }
  .kk-crop--g1-2t img { width: 145.81%; height: 141.25%; left: -15.72%; top: -34.58%; }
  .kk-crop--g1-3t img { width: 146.21%; height: 143.7%; left: -28.31%; top: -35.78%; }
  .kk-crop--g2-1t img { width: 145.56%; height: 141.67%; left: -27.42%; top: -31.67%; }
  .kk-crop--g2-2t img { width: 167.25%; height: 164.38%; left: -47.98%; top: -49.98%; }
  .kk-crop--g2-3t img { width: 145.65%; height: 143.14%; left: -23.28%; top: -32.72%; }
  .kk-crop--g3-1t img { width: 155.84%; height: 152%; left: -28.22%; top: -44.43%; }
  .kk-crop--g3-2t img { width: 150.5%; height: 147.91%; left: -24.82%; top: -38.53%; }
  .kk-crop--g3-3t img { width: 148.82%; height: 146.25%; left: -29%; top: -37.92%; }
  .kk-crop--g4-1t img { width: 151.94%; height: 147.87%; left: -25.99%; top: -40.82%; }
  .kk-crop--g4-2t img { width: 147.96%; height: 145.26%; left: -30.95%; top: -36.7%; }
  .kk-crop--g4-3t img { width: 150.01%; height: 147.43%; left: -20.85%; top: -35.78%; }

  /* ファーストフォーマルスタイル */
  .kk-style {
    margin-top: 20.8vw !important;
    padding: 20.8vw 0 !important;
  }
  .kk-style__slider { margin-top: 7.8vw; }
  .kk-style__slide { width: 65.1vw !important; }
  .kk-style__name { font-size: 5.2vw !important; line-height: 1.4 !important; }
  .kk-style__visual { margin-top: 2.34vw; }
  .kk-style__visual > .kk-crop { aspect-ratio: 250 / 370; }
  .kk-style__pagination { margin-top: 7.8vw; }

  /* .kk .kk-crop--style-groom img { width: 121.28%; height: 123.1%; left: -27.02%; top: -13.1%; }
  .kk .kk-crop--style-guest img { width: 121.2%; height: 122.85%; left: -10.8%; top: -15.03%; }
  .kk .kk-crop--style-casual img { width: 121.63%; height: 123.28%; left: -9.61%; top: -15.08%; }
  .kk .kk-crop--style-ceremony img { width: 129.39%; height: 131.15%; left: -19.3%; top: -15.57%; }
  .kk .kk-crop--style-blackformal img { width: 110.63%; height: 112.13%; left: -3.11%; top: -12.06%; }  */
  
  /* もしくは：クーポン */
  .kk-coupon { margin-top: 15.6vw; }
  .kk-coupon__body {
    flex-direction: column;
    gap: 0;
    margin-top: 18.2vw;
  }
  .kk-coupon__img { flex: none; width: 100%; }
  .kk-coupon__content { width: 100%; margin-top: 5.2vw; }
  .kk-coupon__suit { margin-top: 2.6vw; font-size: 6.25vw !important; }
  .kk-coupon__off {
    margin-top: 0;
    font-size: 17.1vw !important;
    line-height: 33.8vw !important;
  }
  .kk-coupon__off-num { font-size: 36.45vw !important; }
  .kk-coupon__box {
    margin-top: 2.3vw;
    padding: 7.8vw 5.2vw;
  }
  .kk-coupon__box-label { font-size: 3.4vw !important; line-height: 1.8; }
  .kk-coupon__row { height: 12.76vw; }
  .kk-coupon__sale { font-size: 10.4vw !important; }
  .kk-coupon__sale-yen { font-size: 6.5vw !important; }
  .kk-coupon__member {
    margin-top: 2.6vw;
    font-size: 3.38vw !important;
  }
  .kk-coupon__btn {
    width: 100%;
    margin-top: 15.6vw;
  }
}



/* 共通：見出し（上下罫線） */
.kk-heading {
  margin: 0 auto;
  padding: 19px 0 19px 0.3em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  color: #000;
  font-size: 28px !important;
  line-height: 50px !important;
  letter-spacing: 0.3em;
  text-align: center;
  white-space: nowrap;
  font-weight: 500 !important;
}
.kk-heading--gallery { width: 610px; max-width: 100%; }
.kk-heading--style { width: 500px; max-width: calc(100% - 40px); }

/* 共通：POINTラベル（右に罫線） */
.kk-point-label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #000;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 26px;
  letter-spacing: 0.1em;
}
.kk-point-label::after {
  content: "";
  width: 100px;
  height: 1px;
  background: #000;
}


/* --------------------------------------------------------------------------
   ファーストフォーマルスタイル
   -------------------------------------------------------------------------- */
.kk-style {
  padding: 140px 0 160px;
  background: #f0f0f0;
  overflow: hidden;
}
.kk-style__slider { margin-top: 60px; }
.kk-style__slide { width: 460px; }
.kk-style__head { text-align: center; color: #000; }
.kk-style__catch { font-size: 16px; line-height: 1.8; }
.kk-style__name {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.8;
}
.kk-style__desc { font-size: 13px !important; line-height: 1.8 !important; }
@media screen and (max-width: 767px){
  .kk-style__desc {
    font-size: 3.38vw !important;
  }
}
.kk-style__visual { position: relative; margin-top: 19px; }
.kk-style__visual > .kk-crop {
  width: 100%;
  aspect-ratio: 460 / 610;
  background: #e5e2dd;
}
.kk-style__points { margin-top: 20px; }
.kk-style__point-list {
  display: flex;
  gap: 26px;
  margin-top: 10px;
}
.kk-style__point { width: 136px; }
.kk-style__point .kk-crop { width: 136px; height: 136px; }
.kk-style__point-text {
  margin-top: 10px;
  color: #000;
  font-size: 13px;
  line-height: 1.8;
}
.kk-style__pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 60px;
}
.kk-style__bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
}
.kk-style__bullet.is-active { background: #6a6a6a; }
/* SPのPOINTボタン */
@media screen and (max-width: 767px){
  .kk-point-btn {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.04vw;
    width: 11.45vw;
    height: 11.45vw;
    background: #000;
    color: #fff;
  }
  .kk-point-btn__label {
    font-family: "Montserrat", sans-serif;
    font-size: 2.6vw !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
  }
  .kk-point-btn__chevron { width: 1.3vw; transform: rotate(90deg); }
  .kk-point-btn--a { top: 3.9vw; left: 3.9vw; }
  .kk-point-btn--b { top: 42.4vw; left: 49.7vw; }
  .kk-point-btn--c { top: 81vw; left: 3.9vw; }
  .kk-point-btn--d { top: 81vw; left: 49.7vw; }
}
@media screen and (max-width: 767px) {
    .kk-style__visual > .kk-crop {
        aspect-ratio: 250 / 370 !important;
    }
}

/* --------------------------------------------------------------------------
   モーダル（SPのスタイルPOINT）
   -------------------------------------------------------------------------- */
.kk-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.kk-modal[hidden] { display: none; }
.kk-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.kk-modal__box {
  position: relative;
  width: 304px;
  max-width: 100%;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 30px;
  background: #000;
  color: #fff;
}
.kk-modal__close {
  position: absolute;
  top: 5px;
  right: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.kk-modal__close img { width: 10px; }
.kk-modal__img { width: 100%; aspect-ratio: 1 / 1; }
.kk-modal__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kk-modal__text {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
html.kk-is-modal-open { overflow: hidden; }






.page .feature {
    margin: 160px auto 100px !important;
    background-color: #fff;
    padding: 0;
}
.page .feature .page-heading--border {
    margin-bottom: 60px;
}
.page .feature-anchor {
    max-width: 976px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}
.page .feature-anchor__item {
    width: 31.25%;
}
.page .feature-anchor__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #222;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.3s;
}
.page .feature-anchor__link:hover {
    opacity: 0.7;
}
.page .feature-anchor__en {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0.1em;
    color: #59A4B2;
    white-space: nowrap;
}
.page .feature-anchor__title {
    margin-top: 10px;
    font-size: 20px;
    line-height: 36px;
    letter-spacing: 0.1em;
}
.page .feature-anchor__img {
    display: block;
    width: 100%;
    margin-top: 10px;
}
.page .feature-anchor__img img {
    display: block;
    width: 100%;
    height: auto;
}
.page .feature-anchor__arrow {
    width: 32px;
    height: auto;
    margin-top: 30px;
}
@media screen and (max-width: 768px){
  .page .feature{
    margin: 20.8vw auto !important;
  }
  .page .feature .page-heading--border {
      margin-bottom: 7.81vw;
  }
  .page .feature-anchor {
      max-width: 89.58vw;
      flex-direction: column;
      gap: 7.81vw;
  }
  .page .feature-anchor__item {
      width: 100%;
  }
  .page .feature-anchor__en {
      font-size: 3.13vw;
      line-height: 1.4;
  }
  .page .feature-anchor__title {
      margin-top: 1.3vw;
      font-size: 4.17vw;
      line-height: 1.4;
  }
  .page .feature-anchor__title .kk-en {
      margin: 0 0.3em;
  }
  .page .feature-anchor__img {
      margin-top: 2.6vw;
  }
  .page .feature-anchor__arrow {
      width: 4.69vw;
      margin-top: 3.91vw;
  }
}

.lineup{
  background-color: #F0F0F0;
  padding: 160px 0;
}
@media screen and (max-width: 768px) {
  .lineup{
    padding: 7.81vw 0;
  }
}
.aftercare{
  padding: 160px 0;
}
@media screen and (max-width: 768px) {
  .aftercare{
    padding: 20.83vw 0;
  }
}
.campaign{
  padding-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .campaign{
    padding-bottom: 20.8vw;
  }
}

/* --------------------------------------------------------------------------
   【入社】新しい環境を快適にする オススメOPTION
   -------------------------------------------------------------------------- */
.page .kb-opt { padding: 0 20px 180px; color: #222; }
.page .kb-opt__heading { width: 609px; max-width: 100%; }
.page .kb-opt__list {
  width: 976px;
  max-width: 100%;
  margin: 60px auto 0;
}
.page .kb-opt__item {
  display: grid;
  grid-template-columns: 488px minmax(0, 1fr);
  column-gap: 30px;
  align-items: center;
}
.page .kb-opt__item--reverse { grid-template-columns: minmax(0, 1fr) 488px; }
.page .kb-opt__item--reverse .kb-opt__visual { grid-column: 2; grid-row: 1; }
.page .kb-opt__item--reverse .kb-opt__body { grid-column: 1; grid-row: 1; }
.page .kb-opt__visual { position: relative; }
.page .kb-opt__visual img {
  display: block;
  width: 100%;
  height: auto;
}
.page .kb-opt__body p { margin: 0; }
.page .kb-opt__catch {
  font-size: 22px;
  line-height: 38px;
  letter-spacing: 0.1em;
}
.page .kb-opt__en {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 46px;
  letter-spacing: 0.1em;
}
.page .kb-opt__en img { width: auto; height: 41px; }
.page .kb-opt__lead {
  margin-top: 10px !important;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.1em;
}
.page .kb-opt__name {
  margin-top: 20px !important;
  font-size: 22px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.1em;
}
.page .kb-opt__info .kk-gallery__price {
  max-width: 428px;
  margin-top: 10px;
}
.page .kb-opt__info .kk-gallery__arrow-text { margin-left: 10px; }
.page .kb-opt__info .kk-gallery__badge { margin-left: 10px; }
/* POINT */
.page .kb-opt__point { margin-top: 10px; }
.page .kb-opt__point-label {
  display: flex;
  align-items: center;
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 26px;
  letter-spacing: 0.1em;
}
.page .kb-opt__point-label::after {
  content: "";
  width: 116px;
  height: 1px;
  margin-left: 10px;
  background: #222;
}
.page .kb-opt__point-imgs {
  display: flex;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}
.page .kb-opt__point-imgs--3 li { width: 152px; }
.page .kb-opt__point-imgs--3 li:last-child { width: 154px; }
.page .kb-opt__point-imgs img {
  display: block;
  width: 100%;
  height: 206px;
  object-fit: cover;
}
.page .kb-opt__point-text {
  margin-top: 10px !important;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.1em;
}
.page .kb-opt__note {
  margin-top: 10px !important;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 0.1em;
}

/* SPのPOINTボタン */
.page .kb-opt__point-btn {
  position: absolute;
  top: 5.21vw;
  right: 5.21vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.04vw;
  width: 11.46vw;
  height: 11.46vw;
  padding: 0;
  border: 0;
  background: #A6D8B0;
  cursor: pointer;
}
.page .kb-opt__point-btn-label {
  font-family: "Montserrat", sans-serif;
  font-size: 2.6vw;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #000;
}
.page .kb-opt__point-btn-chevron {
  width: 1.56vw;
  height: 1.56vw;
  margin-top: -0.78vw;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(45deg);
}

@media screen and (min-width: 769px) {
  .page .kb-opt__point-btn { display: none; }
}
@media screen and (max-width: 768px) {
  .page .kb-opt__badge-space { display: none; }
  .page .kb-opt { padding: 20.83vw 5.21vw 0; }
  .page .kb-opt__heading {
    width: 100%;
    padding: 5.21vw 0 5.21vw 0.3em;
    font-size: 5.73vw !important;
    line-height: 10.42vw !important;
  }
  .page .kb-opt__list {
    display: flex;
    flex-direction: column;
    gap: 7.81vw;
    margin-top: 7.81vw;
  }
  .page .kb-opt__item,
  .page .kb-opt__item--reverse {
    display: flex;
    flex-direction: column;
  }
  .page .kb-opt__body { display: contents; }
  .page .kb-opt__head { order: 1; text-align: center; }
  .page .kb-opt__visual { order: 2; margin-top: 2.6vw; }
  .page .kb-opt__info { order: 3; margin-top: 1.3vw; }
  .page .kb-opt__visual img { aspect-ratio: 344 / 340; object-fit: cover; }
  .page .kb-opt__catch {
    font-size: 4.17vw;
    line-height: 1.8;
  }
  .page .kb-opt__en {
    flex-direction: column;
    gap: 0;
    font-size: 7.29vw;
    line-height: 11.98vw;
  }
  .page .kb-opt__en img { height: 10.68vw; }
  .page .kb-opt__lead {
    margin-top: 2.6vw !important;
    font-size: 3.39vw;
    line-height: 1.8;
  }
  .page .kb-opt__name {
    margin-top: 0 !important;
    font-size: 5.73vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .page .kb-opt__info .kk-gallery__price {
    max-width: none;
    margin-top: 1.3vw;
  }
  .page .kb-opt__info .kk-gallery__arrow-text { margin-left: 5.7vw; }
  .page .kb-opt__info .kk-gallery__badge {
    margin-left: 0;
    padding: 1.04vw 5.73vw;
    letter-spacing: 0.2em;
  }
}

/* SPのPOINTモーダル */
.kb-modal .kb-modal__box {
  box-sizing: border-box;
  padding: 30px;
  background: #A6D8B0;
  color: #222;
}
.kb-modal .kb-modal__close {
  top: 5px;
  right: 5px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.kb-modal .kb-modal__close::before,
.kb-modal .kb-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 13px;
  height: 1px;
  background: #222;
}
.kb-modal .kb-modal__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.kb-modal .kb-modal__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.kb-modal .kb-modal__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 10px;
}
.kb-modal .kb-modal__grid img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 122 / 142;
  object-fit: cover;
}
.kb-modal .kb-modal__grid .kb-modal__text {
  margin: 0;
  padding: 10px 0 0 10px;
}
.kb-modal .kb-modal__wide {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 244 / 136;
  object-fit: cover;
  margin-top: 10px;
}
.kb-modal .kb-modal__text {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.kb-modal .kb-modal__note {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.kb-modal .kb-modal__box-note {
  margin: 10px 0 0;
  padding: 10px;
  border: 1px solid #000;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.1em;
}