﻿/* パンくず 追加スタイル PC */
@media only screen and (min-width: 768px) {
  .breadcrumb__list {
    padding-bottom: 1.6rem;
  }
}

:root {
  --thema-color: #BF691F;
}

/* ページ共通___________________________*/
.main-area {
  font-family: "HiraKakuProN-W3", "Hiragino Kaku Gothic ProN W3", "Hiragino Sans", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  font-size: calc(14* (100vw / 375));
  overflow-x: clip;
  text-align: center;
  color: #332823;
  background: #FDF9E9;
}

.bold {
  font-family: "HiraKakuProN-W6", "Hiragino Kaku Gothic ProN W6", "Hiragino Sans", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
}

.minion {
  font-family: minion-pro, serif;
  font-weight: 400;
  font-style: normal;
}

.main-area * {
  letter-spacing: 0.05em;
}

.main-area img,
.main-area picture {
  width: 100%;
  height: auto;
}

.main-area a,
.main-area picture {
  display: inline-block;
}


_:lang(x)+_:-webkit-full-screen-document,
.ff_hkg_b {
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
}

.font-en {
  font-family: "cormorant-garamond", serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0;
}

.font-en2 {
  font-family: "montserrat", sans-serif;
  font-weight: 500;
  font-style: normal;
}

@media screen and (max-width: 767px) {
  .main-area .pcOnly {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .main-area {
    font-size: min(14 * (100vw/1400), 14px);

  }

  .main-area .spOnly {
    display: none;
  }

  .main-area a {
    transition: all 0.3s;
  }

  .ff_gara {
    font-size: 5rem;
  }
}

/* ===============================================
* pclayout *
=============================================== */
@media screen and (min-width: 768px) {
  .main-area {
    display: flex;
    justify-content: center;
  }

  .pclayout_left {
    width: min(480 * (100vw/1400), 480px);
    position: sticky;
    height: 100vh;
    top: 0;
  }

  .pclayout_right {
    width: min(500 * (100vw/1400), 500px);
  }
}

/* ===============================================
* sec__fv *
=============================================== */
.sec__fv {
  position: relative;
  text-align: center;
}

.sec__fv h3 {
  font-size: calc(18 * (100vw / 375));
  margin-top: calc(15 * (100vw / 375));
}

.sec__fv h3+p {
  margin-top: calc(10*(100vw / 375));
}

.sec__fv .sec__inner {
  background: #FFE8B2;
  margin-top: calc(44 * (100vw / 375));
  padding: calc(28 * (100vw / 375)) 0 calc(47 * (100vw / 375));
}

.sec__fv .sec__inner h3 {
  font-size: calc(34* (100vw /375));
}

.sec__fv .sec__inner h3+p {
  font-size: calc(16* (100vw /375));
  line-height: 1.6;
}

.sec__fv .sec__inner h3+p span {
  color: #F58F05;
}

.coupon_wrap {
  width: calc(300* (100vw /375));
  border-radius: calc(53* (100vw /375));
  background: #fff;
  margin: calc(10* (100vw /375)) auto 0;
  padding: calc(27 * (100vw / 375)) 0 calc(25 * (100vw / 375));
}

.coupon_ttl {
  font-size: calc(15* (100vw /375));
  line-height: 1;
  color: #A29282;
}

.coupon_wrap_inner {
  display: flex;
  justify-content: center;
  gap: calc(10* (100vw /375));
  align-content: center;
  margin-top: calc(10* (100vw /375));
}

.coupon_tx {
  font-size: calc(22* (100vw /375));
  line-height: 1;
}

.coupon_copy_btn {
  display: block;
  width: calc(68* (100vw /375));
  cursor: pointer;
  transition: opacity 0.3s;
}

.coupon_copy_btn:hover {
  opacity: 0.8;
}

.coupon_details {
  width: calc(333* (100vw /375));
  margin: calc(17* (100vw /375)) auto 0;
  text-align: left;
  font-size: calc(13* (100vw /375));
  display: flex;
  flex-direction: column;
  gap: calc(3* (100vw /375));
}

.detail_item {
  display: flex;
}

.detail_item dt {
  width: calc(73 * (100vw / 375));
  flex-shrink: 0;
  font-weight: normal;
}

.coupon_link {
  margin-top: calc(20* (100vw /375));
}

.coupon_link a {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .sec__fv {
    width: 100%;
  }

  .sec__fv h3 {
    font-size: min(18 * (100vw/1400), 18px);
    margin-top: min(-6 * (100vw/1400), -6px);
  }

  .sec__fv h3+p {
    margin-top: min(10 * (100vw/1400), 10px);
  }

  .sec__fv .sec__inner {
    margin-top: min(47 * (100vw/1400), 47px);
    padding: min(48 * (100vw/1400), 48px) 0 min(45 * (100vw/1400), 45px);
  }

  .sec__fv .sec__inner h3 {
    font-size: min(38 * (100vw/1400), 38px);
  }

  .sec__fv .sec__inner h3+p {
    font-size: min(16 * (100vw/1400), 16px);
    margin-top: min(6 * (100vw/1400), 6px);
  }

  .coupon_wrap {
    width: min(300 * (100vw/1400), 300px);
    border-radius: min(53 * (100vw/1400), 53px);
    margin: min(10 * (100vw/1400), 10px) auto 0;
    padding: min(28 * (100vw/1400), 28px) 0 min(25 * (100vw/1400), 25px);
  }

  .coupon_ttl {
    font-size: min(15 * (100vw/1400), 15px);
  }

  .coupon_wrap_inner {
    gap: min(9 * (100vw/1400), 9px);
    margin-top: min(10 * (100vw/1400), 10px);
  }

  .coupon_tx {
    font-size: min(22 * (100vw/1400), 22px);
  }

  .coupon_copy_btn {
    width: min(68 * (100vw/1400), 68px);
  }

  .coupon_details {
    width: min(420 * (100vw/1400), 420px);
    margin: min(17 * (100vw/1400), 17px) auto 0;
    font-size: min(13 * (100vw/1400), 13px);
    gap: min(3 * (100vw/1400), 3px);
  }

  .detail_item dt {
    width: min(72 * (100vw/1400), 72px);
  }

  .coupon_link {
    margin-top: min(20 * (100vw/1400), 20px);
  }
}

.nav_ttl {
  font-size: calc(28* (100vw /375));
  line-height: 1;
  margin-top: calc(53* (100vw /375));
  color: #A29282;
}

.nav_list {
  width: calc(335* (100vw /375));
  display: flex;
  flex-direction: column;
  gap: calc(8* (100vw /375));
  margin: calc(22 * (100vw / 375)) auto 0;
  padding-bottom: calc(50* (100vw /375));
}

.nav_list_item a {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  background: #F2EDD8;
  padding: calc(15 * (100vw / 375)) 0 calc(11 * (100vw / 375)) calc(15 * (100vw / 375));
  border-radius: calc(5* (100vw /375));
}

.nav_list_item a::before {
  content: "";
  position: absolute;
  background: url(../img/arrow.svg) center/contain no-repeat;
  width: calc(20* (100vw /375));
  height: calc(20* (100vw /375));
  top: calc(22* (100vw /375));
  right: calc(15* (100vw /375));
}

.nav_section_ttl {
  font-size: calc(26* (100vw /375));
  line-height: 1;
  width: calc(108* (100vw /375));
  text-align: left;
}

.nav_section_desc {
  font-size: calc(12* (100vw /375));
  text-align: left;
}

@media screen and (min-width: 768px) {
  .nav_wrap {
    position: absolute;
    top: 36.5vh;
    left: 50%;
    transform: translateX(-66.7%);
    width: min(360 * (100vw / 1400), 360px);
  }

  .nav_ttl {
    text-align: left;
    font-size: min(28 * (100vw/1400), 28px);
    margin-top: 0;
  }

  .nav_list {
    width: min(360 * (100vw/1400), 360px);
    gap: min(8 * (100vw/1400), 8px);
    margin: min(10 * (100vw/1400), 10px) auto 0;
    padding-bottom: 0;
  }

  .nav_list_item a {
    padding: min(14 * (100vw/1400), 14px) min(15 * (100vw/1400), 15px) min(12 * (100vw/1400), 12px);
    border-radius: min(5 * (100vw/1400), 5px);
  }

  .nav_list_item a::before {
    width: min(20 * (100vw/1400), 20px);
    height: min(20 * (100vw/1400), 20px);
    top: min(22 * (100vw/1400), 22px);
    right: min(15 * (100vw/1400), 15px);
  }

  .nav_section_ttl {
    font-size: min(26 * (100vw/1400), 26px);
    width: min(108 * (100vw/1400), 108px);
  }

  .nav_section_desc {
    font-size: min(12 * (100vw/1400), 12px);
  }
}

/* ===============================================
* sec *
=============================================== */
.sec {
  padding: calc(54 * (100vw / 375)) calc(20* (100vw /375)) calc(50 * (100vw / 375));
  margin: 0 auto 0;
  text-align: left;
}

.sec:nth-of-type(even) {
  background: #fff;
}

.sec_ttl {
  font-size: calc(45* (100vw /375));
  line-height: 1;
}

.sec_img {
  margin-top: calc(15* (100vw /375));
}

.sec_ttl+p {
  margin-top: calc(6* (100vw /375));
}

.price_list {
  list-style: none;
  padding: 0;
  width: calc(278 * (100vw / 375));
  margin: calc(8* (100vw /375)) 0 0 auto;
  font-size: calc(12* (100vw /375));
}

.price_item {
  display: flex;
  align-items: baseline;
  margin-bottom: calc(4* (100vw /375));
}

.price_item::after {
  content: "";
  position: relative;
  order: 2;
  flex-grow: 1;
  border-bottom: 1px dotted #A29282;
  margin: 0 calc(10 * (100vw / 375));
  top: calc(-3* (100vw /375));
}

.price_list .label {
  order: 1;
}

.price_list .value {
  order: 3;
}

.price_list .value a {
  text-decoration: underline;
}

.sec_subcontent_wrap {
  position: relative;
  border: #F0EAEA solid calc(2* (100vw /375));
  border-radius: calc(5* (100vw /375));
  width: calc(335* (100vw /375));
  margin: calc(52 * (100vw / 375)) auto 0;
  padding-bottom: calc(20* (100vw /375));
}

.sec_subcontent_ttl {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(190* (100vw /375));
  height: calc(37* (100vw /375));
  top: calc(-17 * (100vw / 375));
  left: calc(-12 * (100vw / 375));
  border-radius: calc(5* (100vw /375));
  font-size: calc(25* (100vw /375));
  line-height: 1;
  color: #fff;
  background: #8DBA58;
}

.sec_subcontent_link {
  display: flex !important;
  justify-content: flex-start;
  align-items: center;
  gap: calc(10 * (100vw / 375));
  width: calc(295 * (100vw / 375));
  margin: calc(40 * (100vw / 375)) auto 0;
}

.sec_subcontent_img {
  width: calc(140* (100vw /375));
}

.sec_subcontent_tx_1 {
  color: #A29282;
}

.sec_subcontent_tx_2 {
  margin-top: calc(3* (100vw /375));
}

.sec_subcontent_tx_3 {
  display: inline-block;
  margin-top: calc(13 * (100vw / 375));
  text-decoration: underline;
  font-size: calc(13* (100vw /375));
}


.sec_subcontent_point {
  position: relative;
  width: calc(295* (100vw /375));
  padding: calc(10* (100vw /375)) 0 calc(6* (100vw /375));
  text-align: center;
  border: #8DBA58 solid 1px;
  border-radius: calc(22* (100vw /375));
  margin: calc(25 * (100vw / 375)) auto 0;
  z-index: 1;
  color: #8DBA58;
}

.sec_subcontent_point::before {
  position: absolute;
  content: "Point";
  font-family: "montserrat", sans-serif;
  font-weight: 500;
  font-style: normal;
  top: calc(-10 * (100vw / 375));
  left: calc(33 * (100vw / 375));
  font-size: calc(12* (100vw /375));
  color: #8DBA58;
}

.sec_subcontent_point::after {
  position: absolute;
  content: "";
  background: #FDF9E9;
  top: calc(-10 * (100vw / 375));
  left: calc(23 * (100vw / 375));
  z-index: -1;
  width: calc(55* (100vw /375));
  height: calc(15* (100vw /375));
}

.sec:nth-of-type(even) .sec_subcontent_point::after {
  background: #fff;
}

.sec_subcontent_point_tx {
  margin: calc(10* (100vw /375)) auto 0;
  width: calc(295* (100vw /375));
}

@media screen and (min-width: 768px) {
  .sec {
    padding: min(57 * (100vw/1400), 57px) min(40 * (100vw/1400), 40px) min(47 * (100vw/1400), 47px);
    margin: 0 auto 0;
  }

  .sec_ttl {
    font-size: min(45 * (100vw/1400), 45px);
  }

  .sec_img {
    margin-top: min(15 * (100vw/1400), 15px);
  }

  .sec_ttl+p {
    margin-top: min(6 * (100vw/1400), 6px);
  }

  .price_list {
    width: min(278 * (100vw/1400), 278px);
    margin: min(7 * (100vw/1400), 7px) 0 0 auto;
    font-size: min(12 * (100vw/1400), 12px);
  }

  .price_item {
    margin-bottom: min(4 * (100vw/1400), 3px);
  }

  .price_item::after {
    margin: 0 min(10 * (100vw/1400), 10px);
    top: min(-3 * (100vw/1400), -3px);
  }

  .sec_subcontent_wrap {
    border: #F0EAEA solid min(2 * (100vw/1400), 2px);
    border-radius: min(5 * (100vw/1400), 5px);
    width: min(420 * (100vw/1400), 420px);
    margin: min(52 * (100vw/1400), 52px) auto 0;
    padding-bottom: min(25 * (100vw/1400), 25px);
  }

  .sec_subcontent_ttl {
    width: min(190 * (100vw/1400), 190px);
    height: min(37 * (100vw/1400), 37px);
    top: min(-17 * (100vw/1400), -17px);
    left: min(-12 * (100vw/1400), -12px);
    border-radius: min(5 * (100vw/1400), 5px);
    font-size: min(25 * (100vw/1400), 25px);
  }

  .sec_subcontent_link {
    gap: min(10 * (100vw/1400), 10px);
    width: min(340 * (100vw/1400), 340px);
    margin: min(50 * (100vw/1400), 50px) auto 0;
  }

  .sec_subcontent_img {
    width: min(140 * (100vw/1400), 140px);
  }

  .sec_subcontent_tx_2 {
    margin-top: min(2 * (100vw/1400), 2px);
  }

  .sec_subcontent_tx_3 {
    margin-top: min(13 * (100vw/1400), 13px);
    font-size: min(13 * (100vw/1400), 13px);
  }

  .sec_subcontent_point {
    width: min(355 * (100vw/1400), 355px);
    padding: min(7 * (100vw/1400), 7px) 0 min(6 * (100vw/1400), 6px);
    border-radius: min(22 * (100vw/1400), 22px);
    margin: min(27 * (100vw/1400), 27px) auto 0;
  }

  .sec_subcontent_point::before {
    top: min(-10 * (100vw/1400), -10px);
    left: min(27 * (100vw/1400), 27px);
    font-size: min(12 * (100vw/1400), 12px);
  }

  .sec_subcontent_point::after {
    top: min(-10 * (100vw/1400), -10px);
    left: min(17 * (100vw/1400), 17px);
    width: min(55 * (100vw/1400), 55px);
    height: min(15 * (100vw/1400), 15px);
  }

  .sec_subcontent_point_tx {
    margin: min(20 * (100vw/1400), 20px) auto 0;
    width: min(355 * (100vw/1400), 355px);
  }
}

/* ===============================================
* section別調整 *
=============================================== */
.sec__02 .sec_subcontent_ttl {
  background: #D8968C;
}

.sec__02 .sec_subcontent_point {
  border: #D8968C solid 1px;
  color: #D8968C;
}

.sec__02 .sec_subcontent_point::before {
  color: #D8968C;
}

.sec__03 .sec_subcontent_ttl {
  background: #1CAA9D;
}

.sec__03 .sec_subcontent_point {
  border: #1CAA9D solid 1px;
  color: #1CAA9D;
}

.sec__03 .sec_subcontent_point::before {
  color: #1CAA9D;
}

.sec__04 .sec_subcontent_ttl {
  background: #94A384;
}

.sec__04 .sec_subcontent_point {
  border: #94A384 solid 1px;
  color: #94A384;
}

.sec__04 .sec_subcontent_point::before {
  color: #94A384;
}

.sec__05 .sec_subcontent_ttl {
  background: #A090B3;
}

.sec__05 .sec_subcontent_point {
  border: #A090B3 solid 1px;
  color: #A090B3;
}

.sec__05 .sec_subcontent_point::before {
  color: #A090B3;
}

.sec__05 {
  padding: calc(54 * (100vw / 375)) calc(20 * (100vw / 375)) calc(80 * (100vw / 375));
}

@media screen and (min-width: 768px) {
  .sec__05 {
    padding: min(57 * (100vw/1400), 57px) min(40 * (100vw/1400), 40px) min(55 * (100vw/1400), 55px);
  }
}

/* ▽_____________ lp_foot_btn ______________▽ */
.main-area .lp_foot_btn {
  /* -webkit-font-smoothing: antialiased; */
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(270*(100vw / 375));
  height: calc(50*(100vw / 375));
  margin: calc(40*(100vw / 375)) auto 0;
  line-height: 1;
  font-style: normal;
  border: #000 1px solid;
  color: #000;
}


@media screen and (min-width: 768px) {
  .main-area .lp_foot_btn {
    width: min(280 * (100vw/1400), 280px);
    height: min(50 * (100vw/1400), 50px);
    margin: min(36 * (100vw/1400), 36px) auto 0;
  }

}


/* ▽ imganime ▽ */
.js-fadeIn {
  opacity: 0;
  will-change: opacity, transform;
  transition: ease-in, opacity 2500ms, transform 1500ms;
  transform: translateY(100px);
}

.showFade {
  opacity: 1;
  transform: translateY(0);
}

.js-slider-set2 {
  margin: 0;
}

.slick-dots {
  display: none;
}