@charset "UTF-8";
/* production date 2025/12/01 ~ 2025/12/00 */
/* SDH モデルハウス グランドオープン LP */
/*----------------------------------------------------------------------------------------------------------------
font-face
----------------------------------------------------------------------------------------------------------------*/
@font-face {
  font-family: "Zen Kaku Gothic New" , sans-serif;
  src: url("../fonts/ZenKakuGothicNew-Black.ttf") format("truetype");
}

@font-face {
  font-family: "Zen Kaku Gothic New" , sans-serif;
  src: url("../fonts/ZenKakuGothicNew-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "Zen Kaku Gothic New" , sans-serif;
  src: url("../fonts/ZenKakuGothicNew-Light.ttf") format("truetype");
}

@font-face {
  font-family: "Zen Kaku Gothic New" , sans-serif;
  src: url("../fonts/ZenKakuGothicNew-Medium.ttf") format("truetype");
}

@font-face {
  font-family: "Zen Kaku Gothic New" , sans-serif;
  src: url("../fonts/ZenKakuGothicNew-Regular.ttf") format("truetype");
}

/*----------------------------------------------------------------------------------------------------------------
mixin
----------------------------------------------------------------------------------------------------------------*/
/* img */
/* font */
/* hover transition */
/* color */
/*----------------------------------------------------------------------------------------------------------------
common
----------------------------------------------------------------------------------------------------------------*/
/* btn reservation */
.btn_style--reservation {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  text-align: center;
  margin: 0px auto;
}

.btn_style--reservation a {
  display: inline-block;
  width: 240px;
  height: auto;
  background: #78826e;
  border-radius: 150px;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
}

.btn_style--reservation a .btn_style__txBox {
  padding: 18px 0px;
  text-align: center;
}

.btn_style--reservation a .btn_style__txBox p {
  color: #FFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.0;
  letter-spacing: 0.17em;
}

.btn_style--reservation a:hover, .btn_style--reservation a:focus {
  background: #cc5551;
  opacity: 0.8;
}

/*----------------------------------------------------------------------------------------------------------------
base
----------------------------------------------------------------------------------------------------------------*/
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #505050;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

img {
  user-drag: none;
  /* ドラッグ禁止 */
  user-select: none;
  /* 選択禁止 */
  -webkit-user-drag: none;
  /* Webkitブラウザ（ChromeやSafari）向け */
  -webkit-user-select: none;
  -moz-user-select: none;
  /* Firefox向け */
  -ms-user-select: none;
  /* IE向け */
  pointer-events: none;
  /* 右クリックや長押し禁止 */
}

/* 全体のコンテンツ */
.body__wrap {
  position: relative;
  width: 100%;
  height: auto;
}

.body__inner {
  position: relative;
}

/* 固定のコンテンツ */
.fixed__wrap {
  position: fixed;
  width: 100dvw;
  height: 100dvh;
  background: #e6e5e2;
  z-index: 10;
}

/* モバイルファーストのコンテンツ */
.mobile-first__wrap {
  position: absolute;
  overflow: hidden;
  top: 0;
  right: 290px;
  width: 390px;
  height: auto;
  background: #FFF;
  z-index: 100;
}

@media screen and (max-width: 992px) {
  .mobile-first__wrap {
    right: auto;
    left: 80px;
  }
}

@media screen and (max-width: 768px) {
  .mobile-first__wrap {
    left: 0;
  }
}

@media screen and (max-width: 650px) {
  .mobile-first__wrap {
    width: 100%;
  }
}

/*----------------------------------------------------------------------------------------------------------------
header
----------------------------------------------------------------------------------------------------------------*/
/* 画面右側のナビゲーション */
.header_block {
  position: absolute;
  top: 0;
  right: 0;
  width: 290px;
  height: auto;
}

@media screen and (max-width: 768px) {
  .header_block {
    width: 260px;
  }
}

@media screen and (max-width: 650px) {
  .header_block {
    display: none;
  }
}

.header_block__inner {
  display: inline-block;
  width: 100%;
  height: auto;
  padding: 66px 0px 0px 30px;
}

.header_block__logo {
  width: 210px;
  height: auto;
  margin-bottom: 30px;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
}

.header_block__logo img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.header_block__logo:hover, .header_block__logo:focus {
  opacity: 0.6;
}

.header_block__nav li {
  display: block;
  margin-bottom: 10px;
  color: #505050;
  background: #FFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
}

.header_block__nav li a {
  display: inline-block;
  width: 100%;
  height: auto;
  padding: 10px 0px 10px 12px;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
}

.header_block__nav li:last-child {
  margin-bottom: 0;
}

.header_block__nav li:hover, .header_block__nav li:focus {
  opacity: 0.6;
}

/*----------------------------------------------------------------------------------------------------------------
asideMv
----------------------------------------------------------------------------------------------------------------*/
/* 画面左側のビジュアル */
.asideMv_block {
  position: relative;
  overflow: hidden;
  top: 0;
  left: 0;
  width: calc(100% - (290px + 390px));
  height: 100dvh;
}

@media screen and (max-width: 992px) {
  .asideMv_block {
    display: none;
  }
}

.asideMv_block__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: auto;
  height: auto;
  padding: 54px 8dvw 0px;
}

@media screen and (max-width: 1200px) {
  .asideMv_block__inner {
    padding: 54px 4dvw 0px;
  }
}

.asideMv_block__imgInner {
  text-align: center;
}

.asideMv_block__imgBox {
  display: inline-block;
}

.asideMv_block__imgBox img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.asideMv_block__txBox {
  display: inline-block;
  width: 20dvw;
  height: auto;
  margin-top: 38px;
  text-align: center;
}

@media screen and (max-width: 1200px) {
  .asideMv_block__txBox {
    width: 22dvw;
  }
}

.asideMv_block__title {
  width: 100%;
  height: auto;
  margin: 0px auto;
}

.asideMv_block__title img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/*----------------------------------------------------------------------------------------------------------------
fv
----------------------------------------------------------------------------------------------------------------*/
.fv_block {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  z-index: 100;
  /* ファーストビュー　メイン画像 */
  /* グランドオープンと日付 */
  /* 予約について */
}

.fv_block__inner {
  position: relative;
  width: 100%;
  height: auto;
}

.fv_block__upperInner {
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 24px;
}

.fv_block__copyBox {
  position: absolute;
  top: 50%;
  width: 100%;
  height: auto;
  text-align: center;
  z-index: 100;
}

.fv_block__copy {
  color: #FFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  line-height: 1.0;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.8);
}

.fv_block__imgBox {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 10;
}

.fv_block__imgBox img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv_block__underInner {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 100;
  margin-bottom: 46px;
}

.fv_block__txBox {
  position: relative;
  width: 100%;
  height: auto;
  padding: 0px 60px;
  margin-bottom: 40px;
}

.fv_block__title {
  width: 100%;
  height: auto;
  margin-bottom: 36px;
}

.fv_block__title img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv_block__date {
  width: 100%;
  height: auto;
}

.fv_block__date img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv_block__reservationBox {
  position: relative;
  width: 100%;
  height: auto;
  display: inline-block;
  margin: 0px auto;
  text-align: center;
}

.fv_block__reservationTx--s p {
  margin: 68px 0px 30px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.01em;
}

.fv_block__reservationTx--s p span {
  color: #cc5551;
}

.fv_block__reservationTx--m {
  padding: 0px 70px;
}

@media screen and (max-width: 650px) {
  .fv_block__reservationTx--m {
    padding: 0px 24dvw;
  }
}

@media screen and (max-width: 450px) {
  .fv_block__reservationTx--m {
    padding: 0px 20dvw;
  }
}

@media screen and (max-width: 380px) {
  .fv_block__reservationTx--m {
    padding: 0px 16dvw;
  }
}

.fv_block__reservationTx--m p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 2.5;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #505050;
  white-space: nowrap;
}

/*----------------------------------------------------------------------------------------------------------------
sabMv
----------------------------------------------------------------------------------------------------------------*/
/* 青空の写真と文章 */
.sabMv_block {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  z-index: 100;
}

.sabMv_block__inner {
  width: 100%;
  height: auto;
  margin-bottom: 60px;
}

.sabMv_block__txBox {
  position: absolute;
  width: 100%;
  height: auto;
  text-align: center;
  margin-top: 68px;
  z-index: 100;
}

.sabMv_block__txBox p {
  color: #FFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 3;
  letter-spacing: 0.02em;
  text-shadow: 0px 0px 15px #294f94;
}

.sabMv_block__imgBox {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 10;
}

.sabMv_block__imgBox img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/*----------------------------------------------------------------------------------------------------------------
features
----------------------------------------------------------------------------------------------------------------*/
/* ラクラスの特徴３つ */
.features_block {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.features_block__inner {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}

.features_block__card {
  display: block;
  width: calc(100% - 42px);
  height: auto;
}

.features_block__card:nth-child(even) {
  width: 100%;
  margin: 96px 0 96px 42px;
}

.features_block__card:nth-child(even) .features_block__txBox {
  margin-left: 0;
}

.features_block__imgBox {
  margin-bottom: 6px;
}

.features_block__imgBox img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.features_block__txBox {
  margin-left: 50px;
}

.features_block__txBox p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/*----------------------------------------------------------------------------------------------------------------
features
----------------------------------------------------------------------------------------------------------------*/
/* シンプルライフのヒント */
.tip_block {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.tip_block__inner {
  margin: 62px 45px;
  padding: 62px 0px 31px;
  border-top: 0.5px solid #505050;
  text-align: center;
}

.tip_block__txBox {
  display: inline-block;
  text-align: center;
  margin-bottom: 28px;
}

.tip_block__txBox p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.01em;
}

.tip_block__cardBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 14px;
}

@media screen and (max-width: 650px) {
  .tip_block__cardBox {
    gap: 14px;
  }
}

.tip_block__imgBox {
  width: calc(50% - 10px);
  height: auto;
}

@media screen and (max-width: 650px) {
  .tip_block__imgBox {
    width: calc(50% - 10px);
  }
}

.tip_block__imgBox img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/*----------------------------------------------------------------------------------------------------------------
access
----------------------------------------------------------------------------------------------------------------*/
/* アクセス */
.access_block {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.access_block__inner {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 44px 68px;
}

.access_block__txBox {
  display: block;
  margin-bottom: 10px;
}

.access_block__tx {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.access_block__tx span {
  margin-right: 10px;
  padding: 0 2px 0.5px;
  font-size: 9px;
  font-weight: 500;
  line-height: 1;
  border: 0.5px solid #505050;
}

.access_block__iframe {
  display: inline-block;
  width: 300px;
  height: 300px;
}

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

.access_block__iframe iframe {
  width: 300px;
  height: 300px;
}

@media screen and (max-width: 650px) {
  .access_block__iframe iframe {
    width: calc(100% - 88px);
  }
}

/*----------------------------------------------------------------------------------------------------------------
gift
----------------------------------------------------------------------------------------------------------------*/
/* シンプルライフのヒント */
.gift_block {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  /* 無印良品ギフトセット */
  /* Amazonギフトカード特典 */
  /* 来場予約するボタン */
}

.gift_block__inner {
  padding: 54px 44px 44px;
  background: #dcd2b434;
}

.gift_block__gift01 {
  position: relative;
  width: 100%;
  height: auto;
  background: #FFF;
}

.gift_block__txBox {
  position: absolute;
  display: inline-block;
  margin-top: -12px;
  padding: 8px 30px;
  background: #78826e;
}

.gift_block__txBox p {
  color: #FFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.1em;
}

.gift_block__imgInner {
  padding: 36px 25px 25px;
}

.gift_block__imgInner P {
  margin-bottom: 20px;
  color: #78826e;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}

.gift_block__imgBox img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.gift_block__gift02 {
  margin: 32px 0;
}

.gift_block__imgBox img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.gift_block__btnInner {
  margin: 0 auto;
  text-align: center;
}

.gift_block__tx--red {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 18px;
  color: #cc5551;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
  /* 斜めのライン */
}

.gift_block__tx--red::before, .gift_block__tx--red::after {
  background-color: #cc5551;
  content: "";
  height: 1px;
  width: 50px;
}

.gift_block__tx--red::before {
  margin-right: -12px;
  -webkit-transform: rotate(74deg);
          transform: rotate(74deg);
}

.gift_block__tx--red::after {
  margin-left: -24px;
  -webkit-transform: rotate(-74deg);
          transform: rotate(-74deg);
}

/*----------------------------------------------------------------------------------------------------------------
other
----------------------------------------------------------------------------------------------------------------*/
/* その他 */
.other_block {
  position: relative;
  overflow: hidden;
  margin: 56px 45px 40px;
}

/* ご予約の流れ */
.flow__inner {
  position: relative;
  width: 100%;
  height: auto;
  text-align: center;
}

.flow__inner {
  width: 100%;
  height: auto;
  text-align: center;
  margin-bottom: 55px;
}

.flow__title {
  display: block;
  margin-bottom: 18px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
}

.flow__listBox {
  display: inline-block;
}

.flow__list {
  color: #505050;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 4;
  letter-spacing: 0.12em;
  text-align: start;
  /* 四番目(最後)だけ擬似要素を非表示 */
}

.flow__list span {
  position: relative;
  margin-right: 26px;
  padding: 5px 18px 7px 20px;
  font-size: 13px;
  letter-spacing: 0.15em;
  color: #FFF;
  background: #78826e;
}

.flow__list span:after {
  content: "";
  position: absolute;
  top: 26px;
  left: 50%;
  display: inline-block;
  width: 1.5px;
  height: 32px;
  background: #78826e;
}

.flow__list.hp_afterContent__none span::after {
  display: none !important;
}

.flow__list a {
  display: inline-block;
  color: #cc5551;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: solid;
          text-decoration-style: solid;
  text-decoration-thickness: 1px;
  -webkit-text-decoration-color: #cc5551;
          text-decoration-color: #cc5551;
  text-underline-offset: 6px;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
}

.flow__list a:hover, .flow__list a:focus {
  opacity: 0.6;
}

/* Q&A */
.qa__inner {
  position: relative;
  width: 100%;
  height: auto;
  text-align: center;
  margin-bottom: 55px;
}

.qa__details .qa__title {
  position: relative;
  margin-bottom: 10px;
  padding: 6px 10px;
  color: #3b535f;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  border: #3b535f 0.8px solid;
  list-style: none;
  cursor: pointer;
}

.qa__details .qa__title::after {
  content: "";
  position: absolute;
  top: 11px;
  right: 12px;
  width: 13px;
  height: 10px;
  background-image: url("../img/arrows.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
}

.qa__details[open] > summary.qa__title::after {
  top: 9px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.qa__list {
  margin-bottom: 10px;
  color: #505050;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: -0.08em;
  text-align: start;
}

.qa__list span {
  color: #3b535f;
  font-size: 12px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: -0.02em;
}

/* 注意事項 */
.precautions__inner {
  position: relative;
  width: 100%;
  height: auto;
  text-align: center;
}

.precautions__title {
  display: inline-block;
  margin-bottom: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
}

.precautions__tx {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: -0.08em;
  text-align: start;
}

/*----------------------------------------------------------------------------------------------------------------
contact
----------------------------------------------------------------------------------------------------------------*/
/* お問い合わせフォーム */
#contact {padding-bottom: 40px}
#contact .note {font-size: .6rem; text-align: center; margin-top: 30px}
#contact .note .underline {text-decoration: underline}
