@charset "utf-8";

/*common*/
.pc-only { display: block!important; }
.sp-only { display: none!important; }

section, main { position: relative; display: block; }
body { width: 100%; overflow-x: hidden; }

img { max-width: 100%; }

._mt50 { margin-top: 5.0rem; }

@media screen and (max-width: 900px) {
	.pc-only { display: none!important; }
	.sp-only { display: block!important; }
}

/*no-js*/
.no-js .js-scroll-fade,
.no-js .top_main_txt.is-animation .catch,
.no-js .top_main_txt.is-animation .read { opacity: 1!important; }
.no-js body #loading { display: none; }

/*loading*/
body #loading {
    background: #fff;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100010;
    pointer-events: none;
    -webkit-transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 1.0s; transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 1.0s;
}

body #loading.is-animation {
    opacity: 0;
}

/*fade*/
.js-scroll-fade { opacity: 0; }
.isActive  {
    -webkit-animation-timing-function: cubic-bezier(.16,1,.3,1);
    animation-timing-function: cubic-bezier(.16,1,.3,1);
    -webkit-animation-duration: 2.5s;
    animation-duration: 2.5s;
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;tansform:none}
}
@keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;transform:none}
}

/*style*/
header > .inner { width: 100%; display: flex; justify-content: space-between; align-items: center; position: fixed; top: 0; left: 0; z-index: 9999; background: #fff; }
.header_logo { width: 6.1rem; margin-left: 1.42%; }
.header_function { display: flex; }
.header_function > a {display: flex; align-items: center; justify-content: center; width: 26.0rem; height: 7.6rem; text-align: center; font-size: 1.6rem; font-weight: 700; }
.header_function > a.cataglog { background: #f6f6f6; }
.header_function > a.cataglog .arrow path { stroke: #000; }
.header_function > a.reservation { background: #000; color: #fff; }
.header_function > a.reservation .arrow path { stroke: #fff; }
.header_function > a.cataglog .arrow,
.header_function > a.reservation .arrow { line-height: 1; margin-left: 1.2rem; }

.top_main { padding-top: 7.6rem; }
.top_main > .inner { width: 100%; height: calc(100vh - 7.6rem); position: relative; }
/*.top_main_ph img { width: 100%; height: 100%; position: absolute; }*/
.top_main_logo { width: 18.2rem; position: absolute; left: 50%; top: 50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); z-index: 2; }

.top_main_ph {
  overflow: hidden;
}

.swiper {
  width: 100%;
}
.upper-slider, .lower-slider {
    pointer-events: none;
}
.upper-slider .swiper-wrapper,
.lower-slider .swiper-wrapper {
  transition-timing-function: linear !important;
}

/* 下段だけ半分（スライド1枚の半分）ずらす */
.lower-slider {
  width: 100%;
  overflow: hidden;
    margin-top: -1px;
}
/*.lower-slider .swiper-wrapper {
  margin-left: 150%;
}*/
.lower-slider .swiper-wrapper {
  margin: 0 !important;
  left: 0 !important;
  padding: 0 !important;
}
/* 下段の「中身」だけを右に半分（50%）ずらす */
.lower-slider .swiper-slide {
  transform: translateX(50%); /* 50%でピッタリ半分。30%などで「少し」に調整可能 */
}

@media screen and (max-width: 1000px) {
    .lower-slider .swiper-slide {
      transform: translateX(50%); /* 50%でピッタリ半分。30%などで「少し」に調整可能 */
    }
}

@media screen and (max-width: 600px) {
    .lower-slider .swiper-slide {
      transform: translateX(50%); /* 50%でピッタリ半分。30%などで「少し」に調整可能 */
    }
}

/* ループの隙間を埋めるために、下段の親要素に overflow: visible を指定し、
   外側のコンテナで overflow: hidden するのがコツです */
.lower-slider {
  overflow: visible !important;
}
.swiper-container-wrapper { /* Swiperを囲う親要素がある場合 */
  overflow: hidden;
}

.top_main_ph .swiper-slide { height: calc(50vh - 3.8rem + 1px); }
.top_main_ph .swiper-slide img {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.top_concept { background: #786D55; padding: 5.0rem 0 12.0rem; }
.top_concept * { color: #fff; }
.top_concept .ph_set01 { position: relative; text-align: right; }
.top_concept .ph_set01 .ph01 { width: 14.42%; position: absolute; top: 40%; left: 10.21%; }
.top_concept .ph_set01 .ph01 img { width: 100%; }
.top_concept .ph_set01 .ph02 img { width: 37.07%; }

.top_concept .txt { margin: 3.0rem auto 0; padding: 0 28.94%; position: relative; text-align: center; }
.top_concept .read { font-size: 4.8rem; line-height: 1.5; margin-bottom: 3.5rem; position: relative; z-index: 2;}
.top_concept p { position: relative; z-index: 2; }
.top_concept .txt .ph03 { width: 27.64%;  position: absolute; left: 0; bottom: 0; }
.top_concept .txt .ph04 { width: 16.28%;  position: absolute; right: 5.64%; top: 12%; }
.top_concept .txt .ph05 { width: 20.07%;  position: absolute; right: 4.64%; bottom: 5%; }

.top_concept .catch { text-align: center; }
.top_concept .catch .en { font-size: 5.2rem; line-height: 1; margin-top:8.0rem;  }
.top_concept .catch .ja { font-size: 2.0rem; }

.top_concept .point { width: 80.71%; margin: 5.0rem auto 0; display: flex; justify-content: space-between;}
.top_concept .point li { width: 20.35%; padding-bottom:  20.35%; font-size: 2.8rem; line-height: 1.5; text-align: center; border: 1px solid #fff; border-radius: 50%; position: relative; }
.top_concept .point li span { display: block; position: absolute; top: 50%; width: 100%; -webkit-transform:translateY(-50%);transform:translateY(-50%); }
.top_concept .point li span b { color: #E9CF97; font-weight: 400; }

.anchor_nav { display: flex; }
.anchor_nav a  { width: 33.33%; padding: 2.5rem 0; background: #000; position: relative; font-size: 1.6rem; color: #fff; text-align: center; line-height: 1.2; }
.anchor_nav a + a:before { content: ""; display: block; width: 1px; height: 60%; position: absolute; left: 0; top: 20%; background: #fff;}

.common_hd { text-align: center; }
.common_hd .en { font-size: 1.6rem; }
.common_hd .ja { font-size: 4.8rem; line-height: 1; }
.common_head { margin-top: 8.0rem; text-align: center; }
.common_head .catch { font-size: 2.4rem; margin-bottom: 2.0rem; }

.top_design { margin-top: 14.0rem; }
.top_design > .inner { width: 80.71%; margin: 0 auto; }

.design_item { margin-top: 9.0rem; }

.design_item_hd .sub { font-size: 1.4rem; font-weight: 400; text-transform: uppercase; }
.design_item_hd .sub span { display: inline-block; font-size: 1.4rem; padding-right: 2.8rem; position: relative; }
/*.design_item_hd .sub span:after { content: ""; display: block; width: 1px; height: 2.5rem; -webkit-transform:rotate(45deg);transform:rotate(45deg);  transform-origin: top center; background: #C0C0C0; position: absolute; right: 0.5rem; top: 0.2rem; }*/
.design_item_hd > .main { font-size: 6.4rem; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.design_item_hd > .read { margin: 2.0rem 0 1.0rem; font-size: 1.6rem; font-weight: 700; }

.design_item_head { display: flex; justify-content: space-between; align-items: center; margin: 4.8rem 0 0;}
.design_item_box:nth-child(2n) .design_item_head { flex-direction: row-reverse;}
.design_item_list .ph { width: 57.52%; }
.design_item_list .txt { width: 40.44%; text-align: center; }
.design_item_list .name { font-size: 4.8rem; text-transform: uppercase; }
.design_item_list .btn_more { display: block; width: 100%; max-width: 30.8rem; margin: 4.0rem auto 0; padding: 1.5rem; background: #000; font-size: 1.8rem; font-weight: 700; color: #fff; cursor: pointer; }
.design_item_list .btn_more .ico { display: inline-block; width: 1.9rem; height: 1.9rem; margin: 0 0 0 0.5rem; position: relative; }
.design_item_list .btn_more .ico:before,
.design_item_list .btn_more .ico:after { content: ""; display: block; width: 100%; height: 1px; background: #fff; position: absolute; left: 0; top: 0.8rem; -webkit-transition: transform 0.7s cubic-bezier(.16,1,.3,1); transition: transform 0.7s cubic-bezier(.16,1,.3,1); }
.design_item_list .btn_more .ico:after { -webkit-transform:rotate(90deg);transform:rotate(90deg);  }
.design_item_box.is-open .btn_more .ico:before { -webkit-transform:rotate(45deg);transform:rotate(45deg); }
.design_item_box.is-open .btn_more .ico:after { -webkit-transform:rotate(135deg);transform:rotate(135deg); }

.design_item_body {overflow: hidden;
    max-height: 0;
    transition: max-height 0.7s cubic-bezier(0.25, 1, 0.5, 1),opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1); /* ここでイージングを指定 */
    opacity: 0; }
.design_item_box.is-open .design_item_body {
    max-height: 1000px; /* コンテンツより十分大きい値を指定 */
    opacity: 1;
}
.design_item_body .read { font-size: 3.6rem; margin-bottom: 3.0rem; padding-top: 10.0rem; }
.option_item_list { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 1.94%; margin-top: 8.0rem; }
.option_item_list .ttl { font-size: 1.6rem; font-weight: 700; line-height: 1.2; border-left: 4px solid #6D6D6D; padding-left: 1.8rem; }
.btn_close { display: flex; align-items: center; font-size: 1.8rem; cursor: pointer; }
.btn_close:before, .btn_close:after { content: ""; display: block; height: 1px; background: #6D6D6D; flex-grow: 2; }
.btn_close .close { padding-left: 1.7rem; }
.btn_close .ico { padding: 0 0.9rem; line-height: 0; }


.top_interior { margin-top: 17.0rem; }
.top_interior > .inner { overflow-x: hidden; }
.interior_item_list { margin-top: 9.0rem; }
.interior_item { text-align: center; }
.interior_item .name { font-size: 2.4rem; color: #9A875C; margin: 2.0rem 0 1.0rem; text-transform: uppercase; }
.interior_item p { font-size: 1.4rem; }

.interior_item_list .swiper-slide {
  width: 46.42%; /* slidesPerView: 2 に相当する幅を自分で指定 */
  margin-right: 4.78%; /* spaceBetween の代わり */
}
 .swiper-wrapper {
  /* 描画の遅延を防ぐ魔法のプロパティ */
  will-change: transform;
}

.swiper-slide {
  /* スライドが消える瞬間のガタつき防止 */
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.top_plan { background: #F6F6F6; margin-top: 6.0rem; padding: 10.0rem 0 18.0rem; }
.top_plan > .inner { width: 80.71%; margin: 0 auto; }
.plan_item_list { margin-top: 9.6rem; }
.plan_item_head { display: flex; flex-direction: row-reverse; justify-content: space-between; }
.plan_item +.plan_item  { margin-top: 10.8rem;}
.plan_item_head > .ph { width: 57.52%; }
.plan_item_head > .txt { width: 32.12%; }
.plan_item .num { font-size: 2.0rem; font-size: 400; color: #6D6D6D; }
.plan_item .num span { color: #9A875C; }
.plan_item .read { margin: 2.0rem 0; font-size: 3.6rem; font-weight: 400; line-height: 1.66; }
.plan_item .btn_more { display: block; width: 100%; max-width: 26.6rem; margin: 4.0rem 0 0; padding: 1.5rem; background: #000; font-size: 1.8rem; font-weight: 700; color: #fff; text-align: center; cursor: pointer; }
.plan_item .btn_more .ico { display: inline-block; width: 1.9rem; height: 1.9rem; margin: 0 0 0 0.5rem; position: relative; }
.plan_item .btn_more .ico:before,
.plan_item .btn_more .ico:after { content: ""; display: block; width: 100%; height: 1px; background: #fff; position: absolute; left: 0; top: 0.8rem; -webkit-transition: transform 0.7s cubic-bezier(.16,1,.3,1); transition: transform 0.7s cubic-bezier(.16,1,.3,1); }
.plan_item .btn_more .ico:after { -webkit-transform:rotate(90deg);transform:rotate(90deg);  }
.plan_item.is-open .btn_more .ico:before { -webkit-transform:rotate(45deg);transform:rotate(45deg); }
.plan_item.is-open .btn_more .ico:after { -webkit-transform:rotate(135deg);transform:rotate(135deg); }

.plan_item_body {overflow: hidden;
    max-height: 0;
    transition: max-height 0.7s cubic-bezier(0.25, 1, 0.5, 1),opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1); /* ここでイージングを指定 */
    opacity: 0; }
.plan_item.is-open .plan_item_body {
    max-height: 5000px; /* コンテンツより十分大きい値を指定 */
    opacity: 1;
}

.plan_item_body  .read { padding: 12.0rem 0 7.0rem; margin: 0; }
.detail_box { display: flex; justify-content: space-between; padding-bottom: 7.0rem; }
.plan_item_body .madori { width: 40.08%; }
.plan_item_body .detail { width: 49.02%; }

.plan_item_body .madori .num { margin-bottom: 3.8rem; }
.plan_item_body .madori .num span { display: inline-block; padding: 0.5rem 0 0.8rem; background: #9A875C; font-size: 3.0rem; color: #fff; line-height: 1.0; width: 4.8rem; text-align: center; }
.plan_item_body .madori .ph + .num { margin-top: 22.0rem; }

.plan_item_body .detail .data01 { font-size: 2.4rem; }
.plan_item_body .detail .data02 { font-size: 1.6rem; display: grid; grid-template-columns: 5em 1fr; grid-column-gap: 1em; grid-row-gap: 0.8rem; margin: 2.0rem 0 0.8rem; }
.plan_item_body .detail .price * { color: #9A875C; }
.plan_item_body .detail .price .label { font-size: 1.6rem; }
.plan_item_body .detail .price .num { font-size: 3.0rem; line-height: 1; }
.plan_item_body .detail .price .num small { font-size: 2.0rem; }
.plan_item_body .detail .notes { margin-top: 2.0rem; font-size: 1.2rem; line-height: 1.5; }
.plan_item_body .detail .notes + .notes { padding-top: 2.0rem; border-top: 1px solid #ccc; }
.plan_item_body .detail .point_ttl { margin-top: 7.0rem; font-size: 2.8rem; font-weight: 600; color: #9A875C; line-height: 1; }
.plan_item_body .detail .point_item { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 3.61%; margin-top: 5.6rem; }
.plan_item_body .detail .point_item .ttl { position: relative; margin-bottom: 1.5rem; padding-left: 4.2rem; font-size: 1.8rem; line-height: 1.5; font-weight: 600; }
.plan_item_body .detail .point_item .ttl .num { display: block; width: 2.9rem; height: 2.9rem; text-align: center; position: absolute; left: 0; font-size: 1.6rem; line-height: 1.8; background: #9A875C; color: #fff; }
.plan_item_body .detail .point_item + .notes { margin-top: 7.0rem; text-align: right; }

.common_btn_more { max-width: 55.2rem; margin: 9.6rem auto 0; }
.common_btn_more a { display: block; width: 100%; padding: 2.0rem; box-sizing: border-box; background: #000; font-size: 2.4rem; color: #fff; text-align: center; position: relative; }
.common_btn_more a .arrow { display: block; width: 2.0rem; height: 1.0rem; background: url("../img/arrow_btn.svg") no-repeat center /contain; position: absolute; right: 3.2rem; top: 50%; -webkit-transform:translateY(-50%);transform:translateY(-50%);  }
.common_btn_more .caption { font-size: 1.6rem; text-align: center; margin-top: 1.5rem; }

.top_performance { margin-top: 12.0rem; }
.top_performance > .inner { width: 80.71%; margin: 0 auto; }
.performance_item_list { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 14.51%; grid-row-gap: 3.0rem; margin: 9.6rem 0; }
.performance_item .ph { text-align: center; }
.performance_item .ttl { margin: 1.5rem 0 .7rem; font-size: 1.6rem; text-align: center; }

.top_contact { background: #F6F6F6; margin-top: 12.0rem; padding: 1px 0 8.5rem; }
.top_contact > .inner { width: 80.71%; margin: 0 auto; }

.contact_item_list { display: flex; justify-content: space-between; margin-top: 9.6rem; }
.contact_item { width: 32.12%; background: #fff; padding: 1.4rem 3.27%; box-sizing: border-box;  }
.contact_item .ttl { font-size: 2.4rem; text-align: center; border-bottom: 1px dotted #5D5C5C; }
.contact_item .catch { font-size: 4.0rem; text-align: center; line-height: 2.0; }
.contact_item .catch._time { font-size: 3.2rem; line-height: 1.3; }
.contact_item .catch._time .num { font-size: 6.4rem; }

@media screen and (max-width: 767px) {
header > .inner { display: flex; justify-content: space-between; align-items: center; position: relative; }
    .header_logo { width: 10rem; margin: 2.0rem auto; }
    .header_function { display: flex; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10;}
    .header_function > a {display: flex; align-items: center; justify-content: center; width: 50%; height: 9.6rem; text-align: center; font-size: 2.4rem; font-weight: 700; }
.header_function > a.cataglog { background: #f6f6f6; }
.header_function > a.cataglog .arrow path { stroke: #000; }
.header_function > a.reservation { background: #000; color: #fff; }
.header_function > a.reservation .arrow path { stroke: #fff; }
.header_function > a.cataglog .arrow,
.header_function > a.reservation .arrow { line-height: 1; margin-left: 1.2rem; }

    .top_main_ph .swiper-slide { height: calc(25vh - 3.8rem + 1px); }
    .top_main { padding-top: 0; }
    .top_main > .inner { width: 100%; height: calc(50vh - 7.6rem); position: relative; }
/*.top_main_ph img { width: 100%; height: 100%; position: absolute; }*/
.top_main_logo { width: 18.2rem; position: absolute; left: 50%; top: 50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%); }

.top_concept { background: #786D55; padding-bottom: 12.0rem; }
.top_concept * { color: #fff; }
.top_concept .ph_set01 { position: relative; text-align: right; }
    .top_concept .ph_set01 .ph01 { width: 21.42%; position: absolute; top: 40%; left: 10.21%; }
.top_concept .ph_set01 .ph01 img { width: 100%; }
    .top_concept .ph_set01 .ph02 img { width: 45.07%; }

    .top_concept .txt { margin: 3.0rem auto 0; padding: 0 6.66%; position: relative; text-align: center; }
.top_concept .read { font-size: 4.8rem; line-height: 1.5; margin-bottom: 3.5rem; position: relative; z-index: 2;}
.top_concept p { position: relative; z-index: 2; }
    .ph_set02 { position: relative; width: 115.36%; height: 68vw; margin-left: -7.68%; margin-top: 7.0rem; }
    .top_concept .txt .ph03 { width: 40.64%;  position: relative; left: 0; top: 9%; }
    .top_concept .txt .ph04 { width: 37.28%;  position: absolute; right: 5.64%; top: 4%; }
    .top_concept .txt .ph05 { width: 41.57%;  position: absolute; right: 6.64%; bottom: 5%; }

    .top_concept .catch .en { font-size: 5.2rem; line-height: 1; margin-top:7.0rem;  }
.top_concept .catch .ja { font-size: 2.0rem; }

.top_concept .point { width: 86.66%; margin: 5.0rem auto 0; display: flex; justify-content: space-between; flex-wrap: wrap; }
    .top_concept .point li { width: 45.35%; padding-bottom: 45.35%; margin-top: 9.3%; font-size: 2.8rem; line-height: 1.5; text-align: center; border: 1px solid #fff; border-radius: 50%; position: relative; }
.top_concept .point li span { display: block; position: absolute; top: 50%; width: 100%; -webkit-transform:translateY(-50%);transform:translateY(-50%); }
.top_concept .point li span b { color: #E9CF97; font-weight: 400; }

.anchor_nav { display: flex; }
    .anchor_nav a  { width: 33.33%; padding: 3.0rem 0; background: #000; position: relative; font-size: 2.0rem; color: #fff; text-align: center; line-height: 1.2; }
.anchor_nav a + a:before { content: ""; display: block; width: 1px; height: 80%; position: absolute; left: 0; top: 10%; background: #fff;}

.common_hd { text-align: center; }
.common_hd .en { font-size: 1.6rem; }
.common_hd .ja { font-size: 4.8rem; line-height: 1; }
.common_head { margin-top: 8.0rem; text-align: center; }
    .top_interior .common_head { margin: 8.0rem 6.66% 0; }
    .common_head .catch { font-size: 3.0rem; margin-bottom: 2.0rem; }
    .common_head p { text-align: left; }

.top_design { margin-top: 14.0rem; }
.top_design > .inner { width: 86.66%; margin: 0 auto; }

.design_item { margin-top: 9.0rem; }

.design_item_hd .sub { font-size: 1.4rem; font-weight: 400; }
.design_item_hd .sub span { display: inline-block; font-size: 1.4rem; padding-right: 2.8rem; position: relative; }
.design_item_hd > .main { font-size: 6.4rem; font-weight: 700; line-height: 1.2; }
    .design_item_hd > .read { margin-top: 2.0rem; font-size: 2.4rem; font-weight: 700; }

    .design_item_head { display: block; justify-content: space-between; align-items: center; margin: 7.8rem 0 0;}
.design_item_box:nth-child(2n) .design_item_head { flex-direction: row-reverse;}
    .design_item_list .ph { width: auto; }
    .design_item_list .txt { width: auto; text-align: center; margin-top: 3.0rem; }
.design_item_list .name { font-size: 4.8rem; }
    .design_item_list .btn_more { display: block; width: 100%; max-width: 30.8rem; margin: 2.0rem auto 0; padding: 1.5rem; background: #000; font-size: 1.8rem; font-weight: 700; color: #fff; cursor: pointer; }
.design_item_list .btn_more .ico { display: inline-block; width: 1.9rem; height: 1.9rem; margin: 0 0 0 0.5rem; position: relative; }
.design_item_list .btn_more .ico:before,
.design_item_list .btn_more .ico:after { content: ""; display: block; width: 100%; height: 1px; background: #fff; position: absolute; left: 0; top: 0.8rem; -webkit-transition: transform 0.7s cubic-bezier(.16,1,.3,1); transition: transform 0.7s cubic-bezier(.16,1,.3,1); }
.design_item_list .btn_more .ico:after { -webkit-transform:rotate(90deg);transform:rotate(90deg);  }
.design_item_box.is-open .btn_more .ico:before { -webkit-transform:rotate(45deg);transform:rotate(45deg); }
.design_item_box.is-open .btn_more .ico:after { -webkit-transform:rotate(135deg);transform:rotate(135deg); }

.design_item_body {overflow: hidden;
    max-height: 0;
    transition: max-height 0.7s cubic-bezier(0.25, 1, 0.5, 1),opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1); /* ここでイージングを指定 */
    opacity: 0; }
.design_item_box.is-open .design_item_body {
    max-height: 1000px; /* コンテンツより十分大きい値を指定 */
    opacity: 1;
}
    .design_item_body .read { font-size: 3.6rem; margin-bottom: 3.0rem; padding-top: 7.0rem; }
    .option_item_list { display: grid; grid-template-columns: 1fr; grid-row-gap: 5.0rem; margin-top: 8.0rem; }
    .option_item_list .ttl { font-size: 2.4rem; font-weight: 700; line-height: 1.2; border-left: 4px solid #6D6D6D; padding-left: 1.8rem; }
    .btn_close { display: flex; align-items: center; font-size: 2.4rem; cursor: pointer; }
.btn_close:before, .btn_close:after { content: ""; display: block; height: 1px; background: #6D6D6D; flex-grow: 2; }
.btn_close .close { padding-left: 1.7rem; }
.btn_close .ico { padding: 0 0.9rem; line-height: 0; }


.top_interior { margin-top: 17.0rem; }
.interior_item_list { margin-top: 9.0rem; }
.interior_item { text-align: center; }
.interior_item .name { font-size: 2.4rem; color: #9A875C; margin: 2.0rem 0 1.0rem; }
    .interior_item p { font-size: 2.0rem; }

    .interior_item_list .swiper-slide {
      width: 66.42%; /* slidesPerView: 2 に相当する幅を自分で指定 */
      margin: 0 2.78%; /* spaceBetween の代わり */
    }
 .swiper-wrapper {
  /* 描画の遅延を防ぐ魔法のプロパティ */
  will-change: transform;
}

.swiper-slide {
  /* スライドが消える瞬間のガタつき防止 */
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.top_plan { background: #F6F6F6; margin-top: 6.0rem; padding: 10.0rem 0 18.0rem; }
.top_plan > .inner { width: 86.66%; margin: 0 auto; }
.plan_item_list { margin-top: 9.6rem; }
    .plan_item_head { display: block; flex-direction: row-reverse; justify-content: space-between;}
.plan_item +.plan_item  { margin-top: 10.8rem;}
    .plan_item_head > .ph { width: auto; }
    .plan_item_head > .txt { width: auto; margin-top: 3.0rem;  }
.plan_item .num { font-size: 2.0rem; font-size: 400; color: #6D6D6D; }
.plan_item .num span { color: #9A875C; }
.plan_item .read { margin: 2.0rem 0; font-size: 3.6rem; font-weight: 400; line-height: 1.66; }
.plan_item .btn_more { display: block; width: 100%; max-width: 26.6rem; margin: 4.0rem auto 0; padding: 1.5rem; background: #000; font-size: 1.8rem; font-weight: 700; color: #fff; text-align: center; cursor: pointer; }
.plan_item .btn_more .ico { display: inline-block; width: 1.9rem; height: 1.9rem; margin: 0 0 0 0.5rem; position: relative; }
.plan_item .btn_more .ico:before,
.plan_item .btn_more .ico:after { content: ""; display: block; width: 100%; height: 1px; background: #fff; position: absolute; left: 0; top: 0.8rem; -webkit-transition: transform 0.7s cubic-bezier(.16,1,.3,1); transition: transform 0.7s cubic-bezier(.16,1,.3,1); }
.plan_item .btn_more .ico:after { -webkit-transform:rotate(90deg);transform:rotate(90deg);  }
.plan_item.is-open .btn_more .ico:before { -webkit-transform:rotate(45deg);transform:rotate(45deg); }
.plan_item.is-open .btn_more .ico:after { -webkit-transform:rotate(135deg);transform:rotate(135deg); }

.plan_item_body {overflow: hidden;
    max-height: 0;
    transition: max-height 0.7s cubic-bezier(0.25, 1, 0.5, 1),opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1); /* ここでイージングを指定 */
    opacity: 0; }
.plan_item.is-open .plan_item_body {
    max-height: 5000px; /* コンテンツより十分大きい値を指定 */
    opacity: 1;
}

.plan_item_body  .read { padding: 7.0rem 0 7.0rem; margin: 0; }
    .detail_box { display: block; justify-content: space-between; padding-bottom: 7.0rem; }
    .plan_item_body .madori { width: auto; }
    .plan_item_body .detail { width: auto; }

.plan_item_body .madori .num { margin-bottom: 3.8rem; }
.plan_item_body .madori .num span { display: inline-block; padding: 0.5rem 0 0.8rem; background: #9A875C; font-size: 3.0rem; color: #fff; line-height: 1.0; width: 4.8rem; text-align: center; }
    .plan_item_body .madori .ph + .num { margin-top: 10.0rem; }

    .plan_item_body .detail  { margin-top: 7.0rem; }
    .plan_item_body .detail .data01 { font-size: 3.0rem; }
    .plan_item_body .detail .data02 { font-size: 2.4rem; display: grid; grid-template-columns: 5em 1fr; grid-column-gap: 1em; grid-row-gap: 0.8rem; margin: 2.0rem 0 0.8rem; }
.plan_item_body .detail .price * { color: #9A875C; }
    .plan_item_body .detail .price .label { font-size: 2.4rem; }
    .plan_item_body .detail .price .num { font-size: 4.0rem; line-height: 1; }
    .plan_item_body .detail .price .num small { font-size: 3.0rem; }
    .plan_item_body .detail .notes { margin-top: 2.0rem; font-size: 1.8rem; line-height: 1.5; }
    .plan_item_body .detail .notes + .notes { padding-top: 2.0rem; border-top: 1px solid #ccc; }
    .plan_item_body .detail .point_ttl { margin-top: 7.0rem; font-size: 4.0rem; color: #9A875C; line-height: 1; }
    .plan_item_body .detail .point_item { display: grid; grid-template-columns: 1fr; grid-column-gap: 3.61%; margin-top: 5.6rem; }
    .plan_item_body .detail .point_item .ttl { position: relative; margin-bottom: 1.5rem; padding-left: 6.2rem; font-size: 2.4rem; line-height: 1.5; font-weight: 600; }
    .plan_item_body .detail .point_item .ttl .num { display: block; width: 3.9rem; height: 3.9rem; text-align: center; position: absolute; left: 0; font-size: 2.4rem; line-height: 1.4; background: #9A875C; color: #fff; }
    .plan_item_body .detail .point_item .ph { margin-top: 3.0rem; }
    .plan_item_body .detail .point_item + .notes { margin-top: 5.0rem; text-align: left; }

.common_btn_more { max-width: 55.2rem; margin: 9.6rem auto 0; }
.common_btn_more a { display: block; width: 100%; padding: 2.0rem; box-sizing: border-box; background: #000; font-size: 2.4rem; color: #fff; text-align: center;}
    .common_btn_more .caption { font-size: 2.4rem; text-align: center; margin-top: 1.5rem; }

.top_performance { margin-top: 12.0rem; }
.top_performance > .inner { width: 86.66%; margin: 0 auto; }
    .performance_item_list { display: grid; grid-template-columns: 1fr; grid-column-gap: 7.51%; grid-row-gap: 7.0rem; margin: 9.6rem 0; }
.performance_item .ph { text-align: center; }
    .performance_item .ttl { margin: 1.5rem 0 .7rem; font-size: 2.4rem; text-align: center; }

.top_contact { background: #F6F6F6; margin-top: 12.0rem; padding: 1px 0 8.5rem; }
.top_contact > .inner { width: 86.66%; margin: 0 auto; }

    .contact_item_list { display: grid; grid-template-columns: 1fr; grid-row-gap: 2.0rem; margin-top: 9.6rem; }
    .contact_item { width: auto; background: #fff; padding: 3.4rem 6.66%; box-sizing: border-box;  }
    .contact_item .ttl { font-size: 3.0rem; text-align: center; border-bottom: 1px dotted #5D5C5C; }
.contact_item .catch { font-size: 4.0rem; text-align: center; line-height: 2.0; }
    .contact_item .catch._time { font-size: 5.0rem; line-height: 1.3; }
.contact_item .catch._time .num { font-size: 6.4rem; }
}


/*@media screen and (max-width: 1000px) {
    .lower-slider .swiper-wrapper {
      margin-left: 50%; 
    }
}
@media screen and (max-width: 600px) {
    .lower-slider .swiper-wrapper {
      margin-left: 50%;
}*/

.l-footer__address { font-size: 1.5rem; }
.l-footer__bottom-item { font-size: 1.4rem; }
.l-footer-pagetop__txt { font-size: 1.2rem; }

@media screen and (max-width: 1200px) {
    .l-footer__address { font-size: 16px; }
    .l-footer__bottom-item { font-size: 14px; }
    .l-footer-pagetop__txt { font-size: 12px; }
    
}

/*link*/
*.link_txt { text-decoration: underline!important; }
.partner_list_item .link a { border-bottom: 1px solid #000; }

@media screen and (min-width: 900px) {   
    *.link_txt:hover { text-decoration: none!important; }
    .partner_list_item .link a:hover { border-bottom: none; }
    
    .common_btn_more a,
    .btn_more { -webkit-transition: background 1.0s cubic-bezier(.16,1,.3,1); transition: background 1.0s cubic-bezier(.16,1,.3,1); }
    .common_btn_more a:hover,
    .btn_more:hover { background: #E6AF1B; }
    
}
