@charset "UTF-8";

/* ---------------------------------------------
  共通
--------------------------------------------- */
.wrapper .section_inner {
  max-width: 1366px;
  margin-inline: auto;
}
.wrapper .section_title {
  text-align: center;
  position: relative;
  z-index: 1;
}
.wrapper .section_titleEn {
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #b99b66;
}
.wrapper .section_titleJa {
  font-size: min(40 / 1366 * 100vw, 40px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #000;
}
.wrapper .section_titleJa__secondary {
  color: #fff;
}
@media (max-width: 750px) {
  .wrapper .section_inner {
    padding: 0 min(40 / 750 * 100vw, 40px);
  }
  .wrapper .section_titleEn {
    font-size: min(28 / 750 * 100vw, 28px);
  }
  .wrapper .section_titleJa {
    font-size: min(50 / 750 * 100vw, 50px);
  }
}
/* ---------------------------------------------
  アニメーション
--------------------------------------------- */
/* スクロールアニメーション共通 */
.wrapper .io {
  transition: all 1.5s ease;
}
/* fade-in
-------------------- */
.wrapper .io-fadeIn {
  opacity: 0;
  transition-delay: 0.2s;
}
.wrapper .io-fadeIn.is-active {
  opacity: 1;
}
/* ---------------------------------------------
  追従ボタン
--------------------------------------------- */
.wrapper .float {
  position: fixed;
  top: min(138 / 1366 * 100vw, 138px);
  right: 0;
  width: fit-content;
  z-index: 5;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.4s, opacity 0.4s;
}
.wrapper .float.is-show {
  visibility: visible;
  opacity: 1;
}
.wrapper .float_reservation a {
  display: block;
  font-size: min(18 / 1366 * 100vw, 18px);
  line-height: 3.8;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #970000;
  writing-mode: vertical-rl;
  border-radius: 10px 0 0 10px;
  padding: min(16 / 1366 * 100vw, 16px) 0;
}
@media (max-width: 750px) {
  .wrapper .float {
    position: fixed;
    top: auto;
    bottom: 0;
    right: 0;
    width: 100%;
  }
  .wrapper .float_reservation a {
    font-size: min(40 / 750 * 100vw, 40px);
    line-height: 2.75;
    writing-mode: horizontal-tb;
    border-radius: 0;
    padding: 0;
    text-align: center;
  }
}
/* ---------------------------------------------
  fv
--------------------------------------------- */
.wrapper .fv {
  position: relative;
  overflow: hidden;
  height: calc(100vh - min(118 / 1366 * 100vw, 118px));
}
.wrapper .fv_movie {
  height: 100%;
  object-fit: cover;
}
.wrapper .fv_scroll {
  width: 100%;
  position: absolute;
  top: 100%;
  right: 0;
  height: 160px;
  transform: translateY(-100%);
}
.wrapper .fv_scroll span {
  position: absolute;
  right: min(132 / 1366 * 100vw, 132px);
  padding-bottom: min(10 / 1366 * 100vw, 10px);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
  writing-mode: vertical-rl;
}
.wrapper .fv_scroll span::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  width: 1px;
  height: 110px;
  background-color: #fff;
  animation: fv_scrollText 2s infinite;
}
@keyframes fv_scrollText {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@media (max-width: 750px) {
  .wrapper .fv {
    height: calc(100svh - min(147 / 750 * 100vw, 147px));
  }
  .wrapper .fv_scroll {
    height: min(230 / 750 * 100vw, 230px);
  }
  .wrapper .fv_scroll span {
    right: min(40 / 750 * 100vw, 40px);
    padding-bottom: min(20 / 750 * 100vw, 20px);
    font-size: min(18 / 750 * 100vw, 18px);
  }
  .wrapper .fv_scroll span::after {
    height: min(137 / 750 * 100vw, 137px);
    left: 45%;
  }
}
/* ---------------------------------------------
  concept
--------------------------------------------- */
.wrapper .concept {
  background-image: url(../img/front-page/bg_concept_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: min(90 / 1366 * 100vw, 90px) 0 min(170 / 1366 * 100vw, 170px);
  position: relative;
}
.wrapper .concept_inner {
  position: relative;
}
.wrapper .concept_content {
  margin-top: min(100 / 1366 * 100vw, 100px);
}
.wrapper .concept_block {
  display: flex;
  align-items: center;
  gap: min(75 / 1366 * 100vw, 75px);
}
.wrapper .concept_block:not(:last-of-type) {
  margin-bottom: min(80 / 1366 * 100vw, 80px);
}
.wrapper .concept_block:nth-of-type(3) {
  flex-direction: row-reverse;
  gap: 0;
}
.wrapper .concept_image {
  width: min(683 / 1366 * 100%, 683px);
}
.wrapper .concept_body {
  width: 42%;
}
.wrapper .concept_title {
  font-size: min(40 / 1366 * 100vw, 40px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.wrapper .concept_description {
  font-size: min(14 / 1366 * 100vw, 14px);
  line-height: 1.928;
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-top: min(15 / 1366 * 100vw, 15px);
  width: 87%;
}
.wrapper .concept_subContent {
  padding-bottom: min(85 / 1366 * 100vw, 85px);
  text-align: center;
  width: min(1134 / 1366 * 100vw, 1134px);
  margin-inline: auto;
}
.wrapper .concept_subContent h3 {
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  position: relative;
  width: fit-content;
  margin-inline: auto;
}
.wrapper .concept_subContent h3::before {
  content: "";
  width: min(490 / 1366 * 100vw, 490px);
  height: 1px;
  background-color: #51564c;
  position: absolute;
  top: 50%;
  left: 0;
  translate: -104% -50%;
}
.wrapper .concept_subContent h3::after {
  content: "";
  width: min(490 / 1366 * 100vw, 490px);
  height: 1px;
  background-color: #51564c;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 104% -50%;
}
.wrapper .concept_list {
  margin-top: min(15 / 1366 * 100vw, 15px);
  padding-bottom: min(30 / 1366 * 100vw, 30px);
  border-bottom: 1px solid #51564c;
  position: relative;
  width: min(1110 / 1366 * 100vw, 1110px);
  margin-inline: auto;
}
.wrapper .concept_list::after {
  content: "";
  background: url(../img/front-page/bg_concept_list_decoration.png) right/contain no-repeat;
  position: absolute;
  bottom: max(-70 / 1366 * 100vw, -70px);
  right: max(-100 / 1366 * 100vw, -100px);
  width: min(220 / 1366 * 100vw, 220px);
  height: min(222 / 1366 * 100vw, 222px);
}
.wrapper .concept_list h4 {
  font-size: min(17 / 1366 * 100vw, 17px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #b99b66;
}
.wrapper .concept_list h4 {
  margin-top: min(10 / 1366 * 100vw, 10px);
}
.wrapper .concept_list p {
  font-size: min(14 / 1366 * 100vw, 14px);
  line-height: 1.928;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: min(5 / 1366 * 100vw, 5px);
  position: relative;
  z-index: 1;
}
.wrapper .concept_pdf {
  background: url(../img/front-page/concept_button_pc.jpg) center/cover no-repeat;
  margin-top: min(83 / 1366 * 100vw, 83px);
  text-align: center;
}
.wrapper .concept_pdf a {
  font-size: min(25 / 1366 * 100vw, 25px);
  line-height: 3.08;
  font-weight: 400;
  letter-spacing: 0.075em;
  color: #fff;
  display: block;
  position: relative;
}
.wrapper .concept_pdf a::before {
  content: "";
  width: min(18 / 1366 * 100vw, 18px);
  height: min(18 / 1366 * 100vw, 18px);
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: 67%;
  translate: 0 -50%;
  border-radius: 50%;
}
.wrapper .concept_pdf a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 31.6%;
  translate: -50% -50%;
  width: min(6 / 1366 * 100vw, 6px);
  height: min(10 / 1366 * 100vw, 10px);
  background-color: #8e5c0d;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
@media (max-width: 750px) {
  .wrapper .concept {
    background-image: url(../img/front-page/bg_concept_sp.jpg);
    padding: min(100 / 750 * 100vw, 100px) 0 min(100 / 750 * 100vw, 100px);
  }
  .wrapper .concept_inner {
    padding: 0;
  }
  .wrapper .concept_content {
    margin-top: min(108 / 750 * 100vw, 108px);
  }
  .wrapper .concept_block {
    flex-direction: column;
    align-items: flex-start;
    gap: min(45 / 750 * 100vw, 45px);
    margin-bottom: min(75 / 750 * 100vw, 75px);
  }
  .wrapper .concept_block:not(:last-of-type) {
    margin-bottom: min(100 / 750 * 100vw, 100px);
  }
  .wrapper .concept_block:nth-of-type(3) {
    flex-direction: column;
    gap: min(45 / 750 * 100vw, 45px);
  }
  .wrapper .concept_image {
    width: min(670 / 750 * 100vw, 670px);
  }
  .wrapper .concept_block:nth-of-type(3) .concept_image {
    margin: 0 0 0 auto;
  }
  .wrapper .concept_body {
    width: min(670 / 750 * 100vw, 670px);
    padding-left: min(40 / 750 * 100vw, 40px);
  }
  .wrapper .concept_block:nth-of-type(3) .concept_body {
    margin: 0 0 0 auto;
    padding: 0 min(40 / 750 * 100vw, 40px) 0 0;
  }
  .wrapper .concept_title {
    font-size: min(38 / 750 * 100vw, 38px);
    letter-spacing: 0.08em;
  }
  .wrapper .concept_description {
    font-size: min(24 / 750 * 100vw, 24px);
    line-height: 2;
    letter-spacing: 0.02em;
    margin-top: min(35 / 750 * 100vw, 35px);
    width: 100%;
  }
  .wrapper .concept_subContent {
    padding-bottom: min(108 / 750 * 100vw, 108px);
    width: min(670 / 750 * 100vw, 670px);
  }
  .wrapper .concept_subContent h3 {
    font-size: min(24 / 750 * 100vw, 24px);
  }
  .wrapper .concept_subContent h3::before {
    width: min(255 / 750 * 100vw, 255px);
    translate: -110% -50%;
  }
  .wrapper .concept_subContent h3::after {
    width: min(255 / 750 * 100vw, 255px);
    translate: 110% -50%;
  }
  .wrapper .concept_list {
    margin-top: min(15 / 750 * 100vw, 15px);
    width: 100%;
  }
  .wrapper .concept_list::after {
    bottom: max(-70 / 750 * 100vw, -70px);
    right: max(-45 / 750 * 100vw, -45px);
    width: min(190 / 750 * 100vw, 190px);
    height: min(202 / 750 * 100vw, 202px);
  }
  .wrapper .concept_list h4 {
    font-size: min(17 / 750 * 100vw, 17px);
  }
  .wrapper .concept_list h4 {
    margin-top: min(10 / 750 * 100vw, 10px);
  }
  .wrapper .concept_list p {
    font-size: min(18 / 750 * 100vw, 18px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: min(5 / 750 * 100vw, 5px);
  }
  .wrapper .concept_pdf {
  background: url(../img/front-page/concept_button_sp.jpg) center/cover no-repeat;
  margin-top: min(75 / 750 * 100vw, 75px);
  }
  .wrapper .concept_pdf a {
    font-size: min(35 / 750 * 100vw, 35px);
    line-height: 2.7145;
  }
  .wrapper .concept_pdf a::before {
    width: min(30 / 750 * 100vw, 30px);
    height: min(30 / 750 * 100vw, 30px);
    left: auto;
    right: min(50 / 750 * 100vw, 50px);
  }
  .wrapper .concept_pdf a::after {
    width: min(12 / 750 * 100vw, 12px);
    height: min(16 / 750 * 100vw, 16px);
    right: min(50 / 750 * 100vw, 50px);
  }
}
/* ---------------------------------------------
  price
--------------------------------------------- */
.wrapper .price {
  background-image: url(../img/front-page/bg_price.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(160 / 1366 * 100vw, 160px) 0 min(255 / 1366 * 100vw, 255px);
  position: relative;
}
.wrapper .price::before {
  content: "";
  background-image: url(../img/front-page/bg_price_decoration_01.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: min(363 / 1366 * 100vw, 363px);
  height: min(239 / 1366 * 100vw, 239px);
  z-index: 0;
  pointer-events: none;
}
.wrapper .price::after {
  content: "";
  background-image: url(../img/front-page/bg_price_decoration_02.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(275 / 1366 * 100vw, 275px);
  height: min(251 / 1366 * 100vw, 251px);
  z-index: 0;
  pointer-events: none;
}
.wrapper .price_inner {
  position: relative;
  padding: 0 min(80 / 1366 * 100vw, 80px);
  max-width: 1270px;
}
.wrapper .price_inner::after {
  content: "";
  background: url(../img/front-page/bg_price_text.png) top / cover no-repeat;
  position: absolute;
  bottom: max(-260 / 1366 * 100vw, -260px);
  left: 0;
  right: 0;
  margin-inline: auto;
  width: min(889 / 1366 * 100vw, 889px);
  height: min(131 / 1366 * 100vw, 131px);
  z-index: 0;
  pointer-events: none;
  opacity: 0.3;
}
.wrapper .price_content {
  background-image: url(../img/front-page/bg_price_content_pc.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(37 / 1366 * 100vw, 37px) min(53 / 1366 * 100vw, 53px) min(60 / 1366 * 100vw, 60px);
  margin-top: min(100 / 1366 * 100vw, 100px);
}
.wrapper .priceAccordion {
  position: relative;
  z-index: 1;
}
.wrapper .priceAccordion_heading {
  font-size: min(22 / 1366 * 100vw, 22px);
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 400;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #777777;
  margin: 0 min(24 / 1366 * 100vw, 24px);
  padding: min(28 / 1366 * 100vw, 28px) min(10 / 1366 * 100vw, 10px);
}
.wrapper .priceAccordion_status {
  width: min(28 / 1366 * 100vw, 28px);
  height: min(28 / 1366 * 100vw, 28px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wrapper .priceAccordion_status {
  background-color: #970000;
}
.wrapper .priceAccordion_status::before,
.wrapper .priceAccordion_status::after {
  content: "";
  position: absolute;
  width: min(14 / 1366 * 100vw, 14px);
  height: min(2 / 1366 * 100vw, 2px);
  background-color: #fff;
}
.wrapper .priceAccordion_status::before {
  transform: rotate(-90deg);
  transition: transform 0.3s;
}
.wrapper .priceAccordion_heading.is-open .priceAccordion_status::before {
  transform: rotate(0deg);
}
.wrapper .priceAccordion_body {
  display: none;
}
.wrapper .priceAccordion:not(:last-of-type) .priceAccordion_body {
  margin-bottom: min(20 / 1366 * 100vw, 20px);
}
.wrapper .priceAccordion_block {
  display: flex;
  align-items: flex-start;
  gap: min(60 / 1366 * 100vw, 60px);
  margin-top: min(30 / 1366 * 100vw, 30px);
  padding: 0 min(24 / 1366 * 100vw, 24px) 0 min(41 / 1366 * 100vw, 41px);
}
.wrapper .priceAccordion_image {
  width: min(397 / 1366 * 100vw, 397px);
}
.wrapper .priceAccordion_detail {
  width: calc(100% - min(457 / 1366 * 100vw, 457px));
}
.wrapper .priceAccordion_description {
  font-size: min(16 / 1366 * 100vw, 16px);
  line-height: 1.5625;
  letter-spacing: 0.06em;
  font-weight: 400;
  width: 90%;
}
.wrapper .priceAccordion_price {
  font-size: min(26 / 1366 * 100vw, 26px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-top: min(70 / 1366 * 100vw, 70px);
  text-align: right;
}
.wrapper .priceAccordion_price span {
  font-size: min(18 / 1366 * 100vw, 18px);
  letter-spacing: 0.1em;
}
.wrapper .priceAccordion_menu {
  margin-top: min(55 / 1366 * 100vw, 55px);
  padding: min(30 / 1366 * 100vw, 30px);
  background-color: #fff;
  position: relative;
  z-index: 1;
  clip-path: polygon(95% 0, 100% 7%, 100% 100%, 0 100%, 0 0);
}
.wrapper .priceAccordion_menu::after {
  content: "";
  background: url(../img/front-page/bg_price_menu_decoration_pc.png) right / cover no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(259 / 1366 * 100vw, 259px);
  height: min(111 / 1366 * 100vw, 111px);
  z-index: -1;
}
.wrapper .priceAccordion_menuHeading {
  font-size: min(22 / 1366 * 100vw, 22px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: min(30 / 1366 * 100vw, 30px);
}
.wrapper .priceAccordion_menuBlock {
  display: flex;
  justify-content: space-between;
}
.wrapper .priceAccordion_menuWrap {
  display: contents;
}
.wrapper .priceAccordion_menuGroup__wide {
  width: 26%;
}
.wrapper .priceAccordion_menuName {
  font-size: min(15 / 1366 * 100vw, 15px);
  line-height: 1.8;
  letter-spacing: 0;
  font-weight: 400;
  color: #b99b66;
}
.wrapper .priceAccordion_list li {
  font-size: min(15 / 1366 * 100vw, 15px);
  line-height: 1.8;
  letter-spacing: 0;
  font-weight: 400;
  padding-left: 1em;
  text-indent: -1em;
}
.wrapper .priceAccordion_list li.no_indent {
  padding-left: 0;
  text-indent: 0;
}
.wrapper .priceAccordion_list li.indent_sp {
  padding-left: 0;
  text-indent: 0;
}
.wrapper .priceAccordion_menuComment {
  margin-top: min(20 / 1366 * 100vw, 20px);
}
.wrapper .priceAccordion_menuComment li {
  font-size: min(16 / 1366 * 100vw, 16px);
  line-height: 1.5625;
  letter-spacing: 0.06em;
  font-weight: 400;
}
.wrapper .priceAccordion_banner {
  background-image: url(../img/front-page/bg_price_menu_banner_pc.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(26 / 1366 * 100vw, 26px) min(100 / 1366 * 100vw, 100px) min(26 / 1366 * 100vw, 26px) min(146 / 1366 * 100vw, 146px);
  width: min(899 / 1366 * 100vw, 899px);
  margin: min(45 / 1366 * 100vw, 45px) auto 0;
  position: relative;
}
.wrapper .priceAccordion_bannerLabel {
  background-color: #970000;
  border-radius: 50%;
  width: min(157 / 1366 * 100vw, 157px);
  height: min(157 / 1366 * 100vw, 157px);
  position: absolute;
  top: max(-25 / 1366 * 100vw, -25px);
  left: max(-35 / 1366 * 100vw, -35px);
  padding: min(3 / 1366 * 100vw, 3px);
}
.wrapper .priceAccordion_bannerCircle {
  border-radius: 50%;
  border: 1px solid #fff;
  width: 100%;
  height: 100%;
  background: inherit;
}
.wrapper .priceAccordion_bannerLabel span {
  font-size: min(21 / 1366 * 100vw, 21px);
  line-height: 1.5;
  letter-spacing: 0.01em;
  font-weight: 400;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  text-align: center;
}
.wrapper .priceAccordion_bannerWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wrapper .priceAccordion_bannerImage {
  width: min(304 / 1366 * 100vw, 304px);
}
.wrapper .priceAccordion_bannerText {
  color: #fff;
  width: 45%;
}
.wrapper .priceAccordion_bannerHeading {
  font-size: min(22 / 1366 * 100vw, 22px);
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 400;
  text-align: center;
}
.wrapper .priceAccordion_bannerDescription {
  font-size: min(16 / 1366 * 100vw, 16px);
  line-height: 1.7;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: min(15 / 1366 * 100vw, 15px);
}
@media (max-width: 750px) {
  .wrapper .price {
    background-image: url(../img/front-page/bg_price_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding: min(95 / 750 * 100vw, 95px) 0 min(188 / 750 * 100vw, 188px);
  }
  .wrapper .price::before {
    width: min(250 / 750 * 100vw, 250px);
    height: min(164 / 750 * 100vw, 164px);
  }
  .wrapper .price::after {
    width: min(140 / 750 * 100vw, 140px);
    height: min(127 / 750 * 100vw, 127px);
  }
  .wrapper .price_inner {
    padding: 0 min(28 / 750 * 100vw, 28px);
  }
  .wrapper .price_inner::after {
    bottom: max(-190 / 750 * 100vw, -190px);
    width: min(552 / 750 * 100vw, 552px);
    height: min(81 / 750 * 100vw, 81px);
  }
  .wrapper .price_content {
    background-image: url(../img/front-page/bg_price_content_sp.jpg);
    padding: min(30 / 750 * 100vw, 30px) min(17 / 750 * 100vw, 17px) min(50 / 750 * 100vw, 50px);
    margin-top: min(95 / 750 * 100vw, 95px);
  }
  .wrapper .priceAccordion_heading {
    font-size: min(30 / 750 * 100vw, 30px);
    margin: 0 min(31 / 750 * 100vw, 31px);
    padding: min(20 / 750 * 100vw, 20px) min(26 / 750 * 100vw, 26px);
  }
  .wrapper .priceAccordion_status {
    width: min(31 / 750 * 100vw, 31px);
    height: min(31 / 750 * 100vw, 31px);
  }
  .wrapper .priceAccordion_status::before,
  .wrapper .priceAccordion_status::after {
    width: min(18 / 750 * 100vw, 18px);
    height: min(2 / 750 * 100vw, 2px);
  }
  .wrapper .priceAccordion:not(:last-of-type) .priceAccordion_body {
    margin-bottom: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .priceAccordion_block {
    flex-direction: column;
    align-items: center;
    gap: min(30 / 750 * 100vw, 30px);
    margin-top: min(23 / 750 * 100vw, 23px);
    padding: 0 min(20 / 750 * 100vw, 20px);
  }
  .wrapper .priceAccordion_image {
    width: min(472 / 750 * 100vw, 472px);
  }
  .wrapper .priceAccordion_detail {
    width: 100%;
  }
  .wrapper .priceAccordion_description {
    font-size: min(20 / 750 * 100vw, 20px);
    width: 100%;
  }
  .wrapper .priceAccordion_price {
    font-size: min(30 / 750 * 100vw, 30px);
    margin-top: min(5 / 750 * 100vw, 5px);
  }
  .wrapper .priceAccordion_price span {
    font-size: min(17 / 750 * 100vw, 17px);
  }
  .wrapper .priceAccordion_menu {
    margin-top: min(39 / 750 * 100vw, 39px);
    padding: min(28 / 750 * 100vw, 28px);
    clip-path: polygon(94% 0, 100% 4%, 100% 100%, 0 100%, 0 0);
  }
  .wrapper .priceAccordion_menu::after {
    background: url(../img/front-page/bg_price_menu_decoration_sp.png) right / cover no-repeat;
    width: min(228 / 750 * 100vw, 228px);
    height: min(107 / 750 * 100vw, 107px);
  }
  .wrapper .priceAccordion_menuHeading {
    font-size: min(25 / 750 * 100vw, 25px);
    margin-bottom: min(30 / 750 * 100vw, 30px);
  }
  .wrapper .priceAccordion_menuWrap {
    display: block;
    width: 50%;
  }
  .wrapper .priceAccordion_menuGroup__wide {
    width: auto;
  }
  .wrapper .priceAccordion_menuName {
    font-size: min(20 / 750 * 100vw, 20px);
    line-height: 1.3;
    letter-spacing: -0.01em;
  }
  .wrapper .priceAccordion_list li {
    font-size: min(20 / 750 * 100vw, 20px);
    line-height: 1.3;
    letter-spacing: -0.01em;
  }
  .wrapper .priceAccordion_list li.indent_sp {
    padding-left: 1em;
    text-indent: -1em;
  }
  .wrapper .priceAccordion_menuComment {
    margin-top: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .priceAccordion_menuComment li {
    font-size: min(18 / 750 * 100vw, 18px);
    line-height: 1.333;
    letter-spacing: 0;
  }
  .wrapper .priceAccordion_banner {
    background-image: url(../img/front-page/bg_price_menu_banner_sp.jpg);
    padding: 0;
    width: min(550 / 750 * 100vw, 550px);
    margin: min(40 / 750 * 100vw, 40px) auto 0;
  }
  .wrapper .priceAccordion_bannerLabel {
    width: min(157 / 750 * 100vw, 157px);
    height: min(157 / 750 * 100vw, 157px);
    top: max(-25 / 750 * 100vw, -25px);
    left: max(-35 / 750 * 100vw, -35px);
    padding: min(3 / 750 * 100vw, 3px);
  }
  .wrapper .priceAccordion_bannerLabel span {
    font-size: min(21 / 750 * 100vw, 21px);
  }
  .wrapper .priceAccordion_bannerWrap {
    flex-direction: column;
  }
  .wrapper .priceAccordion_bannerImage {
    width: 100%;
  }
  .wrapper .priceAccordion_bannerText {
    width: 66%;
    padding: min(25 / 750 * 100vw, 25px) 0;
  }
  .wrapper .priceAccordion_bannerHeading {
    font-size: min(24 / 750 * 100vw, 24px);
  }
  .wrapper .priceAccordion_bannerDescription {
    font-size: min(20 / 750 * 100vw, 20px);
    line-height: 1.25;
    margin-top: min(15 / 750 * 100vw, 15px);
  }
}
/* ---------------------------------------------
  menu
--------------------------------------------- */
.wrapper .menu {
  background-image: url(../img/front-page/bg_menu_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: min(160 / 1366 * 100vw, 160px) 0 min(180 / 1366 * 100vw, 180px);
  position: relative;
}
.wrapper .menu::before {
  content: "";
  background: url(../img/front-page/bg_menu_decoration_01_pc.png) left/contain no-repeat;
  position: absolute;
  top: max(-115 / 1366 * 100vw, -115px);
  left: 0;
  width: min(228 / 1366 * 100vw, 228px);
  height: min(470 / 1366 * 100vw, 470px);
  z-index: 0;
  pointer-events: none;
}
.wrapper .menu::after {
  content: "";
  background: url(../img/front-page/bg_menu_decoration_02_pc.png) right/contain no-repeat;
  position: absolute;
  top: max(-30 / 1366 * 100vw, -30px);
  right: 0;
  width: min(237 / 1366 * 100vw, 237px);
  height: min(426 / 1366 * 100vw, 426px);
  z-index: 0;
  pointer-events: none;
}
.wrapper .menu_bg::before {
  content: "";
  background: url(../img/front-page/bg_menu_decoration_03_pc.png) left/contain no-repeat;
  position: absolute;
  top: min(123 / 1366 * 100vw, 123px);
  left: 0;
  width: min(380 / 1366 * 100vw, 380px);
  height: min(209 / 1366 * 100vw, 209px);
  z-index: 0;
  pointer-events: none;
}
.wrapper .menu_bg::after {
  content: "";
  background: url(../img/front-page/bg_menu_decoration_04_pc.png) right/contain no-repeat;
  position: absolute;
  top: min(117 / 1366 * 100vw, 117px);
  right: 0;
  width: min(387 / 1366 * 100vw, 387px);
  height: min(299 / 1366 * 100vw, 299px);
  z-index: 0;
  pointer-events: none;
}
.wrapper .menu_inner {
  position: relative;
  padding: 0 min(80 / 1366 * 100vw, 80px);
}
.wrapper .menu_description {
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-align: center;
  margin-top: min(40 / 1366 * 100vw, 40px);
}
.wrapper .menu_list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(12 / 1366 * 100vw, 12px);
  margin-top: min(80 / 1366 * 100vw, 80px);
}
@media (max-width: 750px) {
  .wrapper .menu {
    background-image: url(../img/front-page/bg_menu_sp.jpg);
    padding: min(100 / 750 * 100vw, 100px) 0 min(132 / 750 * 100vw, 132px);
  }
  .wrapper .menu::before {
    background: url(../img/front-page/bg_menu_decoration_01_sp.png) left/contain no-repeat;
    top: max(-30 / 750 * 100vw, -30px);
    width: min(145 / 750 * 100vw, 145px);
    height: min(293 / 750 * 100vw, 293px);
  }
  .wrapper .menu::after {
    background: url(../img/front-page/bg_menu_decoration_02_sp.png) right/contain no-repeat;
    top: max(-10 / 750 * 100vw, -10px);
    width: min(162 / 750 * 100vw, 162px);
    height: min(292 / 750 * 100vw, 292px);
  }
  .wrapper .menu_bg::before {
    background: url(../img/front-page/bg_menu_decoration_03_sp.png) left/contain no-repeat;
    top: min(120 / 750 * 100vw, 120px);
    width: min(254 / 750 * 100vw, 254px);
    height: min(143 / 750 * 100vw, 143px);
  }
  .wrapper .menu_bg::after {
    background: url(../img/front-page/bg_menu_decoration_04_sp.png) right/contain no-repeat;
    top: min(230 / 750 * 100vw, 230px);
    width: min(193 / 750 * 100vw, 193px);
    height: min(131 / 750 * 100vw, 131px);
  }
  .wrapper .menu_inner {
    padding: 0 min(70 / 750 * 100vw, 70px);
  }
  .wrapper .menu_description {
    font-size: min(24 / 750 * 100vw, 24px);
    margin-top: min(30 / 750 * 100vw, 30px);
  }
  .wrapper .menu_list {
    gap: min(7 / 750 * 100vw, 7px);
    margin-top: min(30 / 750 * 100vw, 30px);
  }
}
/* ---------------------------------------------
  voice
--------------------------------------------- */
.wrapper .bg_main {
  background-image: url(../img/front-page/bg_main_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.wrapper .voice {
  padding: min(100 / 1366 * 100vw, 100px) 0 min(130 / 1366 * 100vw, 130px);
}
.wrapper .voice_description {
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-align: center;
  margin-top: min(40 / 1366 * 100vw, 40px);
}
.wrapper .voice_button {
  width: min(130 / 1366 * 100vw, 130px);
  margin: min(40 / 1366 * 100vw, 40px) auto 0;
}
.wrapper .voice_button a {
  font-size: min(14 / 1366 * 100vw, 14px);
  line-height: 2.86;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
  background-color: #b99b66;
  text-align: center;
  display: block;
}
.wrapper .voice_review {
  max-width: 1200px;
  margin-inline: auto;
}
@media (max-width: 750px) {
  .wrapper .bg_main {
    background-image: url(../img/front-page/bg_main_sp.jpg);
    background-image: none;
  }
  .wrapper .voice {
    padding: min(85 / 750 * 100vw, 85px) 0 min(110 / 750 * 100vw, 110px);
    background-image: url(../img/front-page/bg_main_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .wrapper .voice_description {
    font-size: min(24 / 750 * 100vw, 24px);
    line-height: 2;
    margin-top: min(30 / 750 * 100vw, 30px);
  }
  .wrapper .voice_button {
    width: min(233 / 750 * 100vw, 233px);
    margin: min(46 / 750 * 100vw, 46px) auto 0;
  }
  .wrapper .voice_button a {
    font-size: min(30 / 750 * 100vw, 30px);
    line-height: 2.4;
  }
}
/* ---------------------------------------------
  sns
--------------------------------------------- */
.wrapper .sns {
  padding: 0 min(83 / 1366 * 100vw, 83px);
}
.wrapper .sns_review {
  max-width: 1200px;
  margin-inline: auto;
}
.wrapper .sns_inner {
  background-color: #fff;
  padding: min(33 / 1366 * 100vw, 33px) 0;
}
.wrapper .sns_share {
  margin-top: min(10 / 1366 * 100vw, 10px);
}
.wrapper .sns_share a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(10 / 1366 * 100vw, 10px);
  width: min(237 / 1366 * 100vw, 237px);
  border-radius: 23px;
  background-color: #b99b66;
  margin-inline: auto;
}
.wrapper .sns_shareIcon {
  width: min(23 / 1366 * 100vw, 23px);
  margin-top: min(1 / 1366 * 100vw, 1px);
}
.wrapper .sns_share span {
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 2.25;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
}
@media (max-width: 750px) {
  .wrapper .sns {
    padding: 0;
  }
  .wrapper .sns_inner {
    padding: min(70 / 750 * 100vw, 70px) 0 min(102 / 750 * 100vw, 102px);
  }
  .wrapper .sns_share {
    margin-top: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .sns_share a {
    gap: min(15 / 750 * 100vw, 15px);
    width: min(388 / 750 * 100vw, 388px);
    border-radius: 38px;
  }
  .wrapper .sns_shareIcon {
    width: min(31 / 750 * 100vw, 31px);
    margin-top: min(3 / 750 * 100vw, 3px);
  }
  .wrapper .sns_share span {
    font-size: min(30 / 750 * 100vw, 30px);
    line-height: 2.5;
  }
}
/* ---------------------------------------------
  shop
--------------------------------------------- */
.wrapper .shop {
  padding: min(80 / 1366 * 100vw, 80px) 0 min(181 / 1366 * 100vw, 181px);
}
.wrapper .shop_inner {
  padding: 0 min(83 / 1366 * 100vw, 83px);
}
.wrapper .shop_content {
  margin-top: min(55 / 1366 * 100vw, 55px);
  display: flex;
  gap: min(40 / 1366 * 100vw, 40px);
}
.wrapper .shop_image {
  width: min(580 / 1366 * 100vw, 580px);
}
.wrapper .shop_detail {
  width: min(580 / 1366 * 100vw, 580px);
}
.wrapper .shop_info {
  display: block;
  margin-top: max(-10 / 1366 * 100vw, -10px);
}
.wrapper .shop_infoGroup {
  display: flex;
}
.wrapper .shop_infoLeft {
  width: 16%;
}
.wrapper .shop_infoRight {
  width: calc(100% - 16%);
}
.wrapper .shop_infoLabel {
  font-size: min(12 / 1366 * 100vw, 12px);
  line-height: 2.25;
  font-weight: 400;
  letter-spacing: 0.04em;
}
.wrapper .shop_infoValue {
  font-size: min(12 / 1366 * 100vw, 12px);
  line-height: 2.25;
  font-weight: 400;
  letter-spacing: 0.04em;
}
.wrapper .shop_infoValue__map span {
  display: inline-block;
  width: min(10 / 1366 * 100vw, 10px);
  height: min(16 / 1366 * 100vw, 16px);
  vertical-align: sub;
}
.wrapper .shop_infoValue__map a {
  color: inherit;
  border-bottom: 1px solid currentColor;
}
.wrapper .shop_infoValue__tel a {
  color: inherit;
}
.wrapper .shop_reservation {
  margin-top: min(20 / 1366 * 100vw, 20px);
  text-align: center;
}
.wrapper .shop_reservation a {
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 2.8;
  font-weight: 400;
  letter-spacing: 0.2em;
  color: #fff;
  background-color: #970000;
  width: 100%;
  display: block;
  position: relative;
}
.wrapper .shop_reservation a::before {
  content: "";
  width: min(18 / 1366 * 100vw, 18px);
  height: min(18 / 1366 * 100vw, 18px);
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  right: min(100 / 1366 * 100vw, 100px);
  translate: 0 -50%;
  border-radius: 50%;
}
.wrapper .shop_reservation a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(102 / 1366 * 100vw, 102px);
  translate: -50% -50%;
  width: min(6 / 1366 * 100vw, 6px);
  height: min(10 / 1366 * 100vw, 10px);
  background-color: #970000;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
@media (max-width: 750px) {
  .wrapper .shop {
    padding: min(80 / 750 * 100vw, 80px) 0 min(140 / 750 * 100vw, 140px);
    background-image: url(../img/front-page/bg_main_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .wrapper .shop_content {
    display: flex;
    flex-direction: column;
    gap: min(40 / 750 * 100vw, 40px);
    margin-top: min(90 / 750 * 100vw, 90px);
  }
  .wrapper .shop_image {
    width: 100%;
  }
  .wrapper .shop_detail {
    width: 100%;
  }
  .wrapper .shop_info {
    margin-top: 0;
  }
  .wrapper .shop_infoLeft {
    width: 25%;
  }
  .wrapper .shop_infoRight {
    width: 75%;
  }
  .wrapper .shop_infoLabel {
    font-size: min(24 / 750 * 100vw, 24px);
  }
  .wrapper .shop_infoValue {
    font-size: min(24 / 750 * 100vw, 24px);
  }
  .wrapper .shop_infoValue__map span {
    width: min(14 / 750 * 100vw, 14px);
    height: min(21 / 750 * 100vw, 21px);
    vertical-align: middle;
  }
  .wrapper .shop_reservation {
    margin-top: min(50 / 750 * 100vw, 50px);
  }
  .wrapper .shop_reservation a {
    font-size: min(35 / 750 * 100vw, 35px);
    line-height: 2.7;
  }
  .wrapper .shop_reservation a::before {
    width: min(30 / 750 * 100vw, 30px);
    height: min(30 / 750 * 100vw, 30px);
    right: min(40 / 750 * 100vw, 40px);
  }
  .wrapper .shop_reservation a::after {
    width: min(12 / 750 * 100vw, 12px);
    height: min(16 / 750 * 100vw, 16px);
    right: min(40 / 750 * 100vw, 40px);
  }
}

/* ---------------------------------------------
  キャンペーン
--------------------------------------------- */
.wrapper .campaign_area {
  background-color: #5a5f50;
}
.wrapper .campaign_area picture {
  display: block;
  max-width: 1366px;
  margin: 0 auto;
}
.wrapper .price_cp .priceAccordion_heading {
  justify-content: flex-start;
  cursor: default;
}
.wrapper .price_cp .priceAccordion_heading span {
  margin-left: 3%;
  font-size: min(16 / 1366 * 100vw, 16px);
  display: inline-block;
}
.wrapper .price_cp .priceAccordion_body {
  display: block;
}
.wrapper .price_cp .priceAccordion_price {
  margin-top: min(25 / 1366 * 100vw, 25px);
}
.wrapper .price_cp .price_campaign_area {
  margin-top: min(20 / 1366 * 100vw, 20px);
}
.wrapper .float_cp a {
  font-size: min(18 / 1366 * 100vw, 18px);
  text-orientation: upright;
  line-height: 1.4;
  text-align: center;
  padding: min(16 / 1366 * 100vw, 16px);
}
@media (max-width: 750px) {
  .wrapper .price_cp .priceAccordion_heading span {
    font-size: min(18 / 750 * 100vw, 18px);
  }
  .wrapper .price_cp .price_campaign_area {
    margin-top: min(70 / 1366 * 100vw, 70px);
  }
  .wrapper .float_cp a {
    font-size: min(28 / 750 * 100vw, 28px);
    line-height: 1.6;
    padding: 4%;
  }
}
