@charset "UTF-8";
.plan .l-content {
  overflow: visible;
}
.plan .bnr {
  margin-top: min(3.602vw, 60px);
  padding: 0 min(14.409vw, 240px);
}
.plan .bnr ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
.plan .bnr ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 50%;
}

.t-madori__drawing__info {
  margin-top: 0;
  padding: 0.2em 1em;
  text-align: center;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .t-madori__drawing__info {
    padding: 0.5em 1em;
  }
}

/*
.u-textlink--download {
  opacity: 0;
  pointer-events: none;
}
*/
.plan.detail #zoom.c-modal__container .c-modal__contents > p {
  position: relative;
  width: 90%;
  margin: 0 auto;
  padding: clamp(16px, 1.441vw, 24px);
}
@media screen and (max-width: 768px) {
  .plan.detail #zoom.c-modal__container .c-modal__contents > p {
    width: 100%;
    padding: clamp(16px, 5.333vw, 24px) 0;
  }
}
.plan.detail .leaflet-container {
  background-color: rgb(255, 255, 255);
}
.plan.detail .leaflet-control-container > * {
  left: auto;
  top: auto;
  bottom: 10px;
  right: 10px;
}
@media screen and (max-width: 768px) {
  .plan.detail .leaflet-control-container > * {
    bottom: 5px;
    right: 5px;
  }
}
.plan.detail .leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: none;
}
.plan.detail .leaflet-bar a:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 0;
}

/* --------------------------------------
  間取りTOP（追加分）
---------------------------------------- */
/* --------------------------------------
  イントロ
---------------------------------------- */
.plan .t-plan__intro {
  margin-top: clamp(56px, 5.043vw, 84px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__intro {
    margin-top: clamp(64px, 21.333vw, 96px);
  }
}
.plan .t-plan__intro .l-inner {
  max-width: min(72.767vw, 1212px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__intro .l-inner {
    max-width: 100%;
  }
}
.plan .t-plan__intro__image {
  margin-top: clamp(24px, 2.161vw, 36px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__intro__image {
    margin-top: clamp(24px, 8vw, 36px);
  }
}
.plan .t-plan__intro__shikihai {
  margin: auto;
  margin-top: clamp(64px, 5.764vw, 96px);
  max-width: min(44.669vw, 744px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__intro__shikihai {
    margin-top: clamp(48px, 16vw, 72px);
    max-width: 100%;
  }
}

/* --------------------------------------
  プランタイプリスト
---------------------------------------- */
.plan .t-plan__planTypeList {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  margin-top: clamp(56px, 5.043vw, 84px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList {
    margin-top: clamp(64px, 21.333vw, 96px);
  }
}
.plan .t-plan__planTypeList .l-inner {
  max-width: min(79.251vw, 1320px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList .l-inner {
    max-width: 100%;
  }
}
.plan .t-plan__planTypeList__title {
  font-family: "Noto Serif JP", serif;
}
.plan .t-plan__planTypeList__block01 {
  margin-top: min(2.882vw, 48px);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr min(2.882vw, 48px) 1fr min(2.882vw, 48px) 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.882vw, 48px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01 {
    margin-top: min(5.333vw, 24px);
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: min(13.333vw, 60px);
  }
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item {
    width: 100%;
  }
}
.plan .t-plan__planTypeList__block01__item {
  background: -webkit-gradient(linear, left top, right top, from(rgb(227, 225, 221)), color-stop(50%, rgb(252, 250, 247)), to(rgb(227, 225, 221)));
  background: linear-gradient(90deg, rgb(227, 225, 221) 0%, rgb(252, 250, 247) 50%, rgb(227, 225, 221) 100%);
}
.plan .t-plan__planTypeList__block01__item__head {
  position: relative;
  padding: min(1.009vw, 16.8px) min(1.441vw, 24px) min(1.153vw, 19.2px);
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(rgb(60, 51, 16)), color-stop(50%, rgb(124, 117, 91)), to(rgb(60, 51, 16)));
  background: linear-gradient(90deg, rgb(60, 51, 16) 0%, rgb(124, 117, 91) 50%, rgb(60, 51, 16) 100%);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__head {
    padding: min(4.267vw, 19.2px) min(5.333vw, 24px) min(4.8vw, 21.6px);
  }
}
.plan .t-plan__planTypeList__block01__item__head__badge {
  display: none;
  position: absolute;
  top: min(1.009vw, 16.8px);
  right: min(1.009vw, 16.8px);
  padding: min(0.36vw, 6px) min(0.72vw, 12px);
  color: #3c3310;
  font-size: clamp(8px, 0.72vw, 12px);
  line-height: 1;
  background-color: #fff;
  border: 1px solid currentColor;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__head__badge {
    top: min(3.733vw, 16.8px);
    right: min(3.733vw, 16.8px);
    padding: min(1.333vw, 6px) min(3.2vw, 14.4px);
    font-size: clamp(8.8px, 2.933vw, 13.2px);
  }
}
.plan .t-plan__planTypeList__block01__item__head__type {
  font-size: clamp(10.4px, 0.937vw, 15.6px);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__head__type {
    font-size: clamp(10.4px, 3.467vw, 15.6px);
  }
}
.plan .t-plan__planTypeList__block01__item__head__name {
  margin-top: min(0.432vw, 7.2px);
  font-size: clamp(16px, 1.441vw, 24px);
  letter-spacing: 0.04em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__head__name {
    margin-top: min(1.6vw, 7.2px);
    font-size: clamp(16px, 5.333vw, 24px);
  }
}
.plan .t-plan__planTypeList__block01__item__head__name em {
  font-size: 70%;
}
.plan .t-plan__planTypeList__block01__item__head:has(> .t-plan__planTypeList__block01__item__head__area) {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 39%;
  grid-template-columns: 1fr 39%;
      grid-template-areas: "type area" "name area";
  padding: 0;
}
.plan .t-plan__planTypeList__block01__item__head:has(> .t-plan__planTypeList__block01__item__head__area) .t-plan__planTypeList__block01__item__head__type {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: type;
  -ms-grid-row-align: end;
      align-self: end;
  padding: min(1.009vw, 16.8px) min(0.72vw, 12px) 0 min(1.441vw, 24px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__head:has(> .t-plan__planTypeList__block01__item__head__area) .t-plan__planTypeList__block01__item__head__type {
    padding: min(4.267vw, 19.2px) min(2.667vw, 12px) 0 min(5.333vw, 24px);
  }
}
.plan .t-plan__planTypeList__block01__item__head:has(> .t-plan__planTypeList__block01__item__head__area) .t-plan__planTypeList__block01__item__head__name {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: name;
  -ms-grid-row-align: start;
      align-self: start;
  padding: 0 min(0.72vw, 12px) min(1.153vw, 19.2px) min(1.441vw, 24px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__head:has(> .t-plan__planTypeList__block01__item__head__area) .t-plan__planTypeList__block01__item__head__name {
    padding: 0 min(2.667vw, 12px) min(4.8vw, 21.6px) min(5.333vw, 24px);
  }
}
.plan .t-plan__planTypeList__block01__item__head__area {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 2;
  grid-area: area;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(0.432vw, 7.2px);
  margin-top: 0;
  padding: min(0.865vw, 14.4px) min(1.153vw, 19.2px);
  color: #333;
  background: -webkit-gradient(linear, left top, right top, from(rgb(240, 238, 234)), color-stop(50%, rgb(252, 250, 247)), to(rgb(227, 225, 221)));
  background: linear-gradient(90deg, rgb(240, 238, 234) 0%, rgb(252, 250, 247) 50%, rgb(227, 225, 221) 100%);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__head__area {
    gap: min(1.6vw, 7.2px);
    padding: min(3.2vw, 14.4px) min(4.267vw, 19.2px);
  }
}
.plan .t-plan__planTypeList__block01__item__body {
  padding: min(0.72vw, 12px) min(0vw, 0px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__body {
    padding: min(2.667vw, 12px) min(0vw, 0px);
  }
}
.plan .t-plan__planTypeList__block01__item p + p {
  margin-top: 0em;
}
.plan .t-plan__planTypeList__block01__item__bodyInner {
  padding: min(0vw, 0px) min(1.009vw, 16.8px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__bodyInner {
    padding: min(0vw, 0px) min(2.667vw, 12px);
  }
}
.plan .t-plan__planTypeList__block01__item__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: min(0.72vw, 12px);
  padding-bottom: min(0.72vw, 12px);
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__area {
    gap: min(2.667vw, 12px);
    padding-bottom: min(2.667vw, 12px);
  }
}
.plan .t-plan__planTypeList__block01__item__area__label {
  font-size: clamp(10.4px, 0.937vw, 15.6px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__area__label {
    font-size: clamp(10.4px, 3.467vw, 15.6px);
  }
}
.plan .t-plan__planTypeList__block01__item__area__size {
  font-size: clamp(14.4px, 1.297vw, 21.6px);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__area__size {
    font-size: clamp(14.4px, 4.8vw, 21.6px);
  }
}
.plan .t-plan__planTypeList__block01__item__area__size .num {
  font-size: clamp(32px, 2.882vw, 48px);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__area__size .num {
    font-size: clamp(32px, 10.667vw, 48px);
  }
}
.plan .t-plan__planTypeList__block01__item__note {
  padding: min(0.72vw, 12px) 0 min(0vw, 0px);
  font-size: clamp(8.8px, 0.793vw, 13.2px);
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__note {
    padding: min(2.667vw, 12px) 0 min(0vw, 0px);
    font-size: clamp(8.8px, 2.933vw, 13.2px);
  }
}
.plan .t-plan__planTypeList__block01__item__fig {
  margin-top: min(1.153vw, 19.2px);
  text-align: center;
  border-top: 1px solid #707070;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeList__block01__item__fig {
    margin-top: min(4.267vw, 19.2px);
  }
}
.plan .t-plan__planTypeList__block01.premium {
  margin-top: 0;
}
.plan .t-plan__planTypeList__block01.premium .t-plan__planTypeList__block01__item__head {
  background: -webkit-gradient(linear, left top, right top, from(rgb(118, 98, 30)), color-stop(50%, rgb(177, 156, 88)), to(rgb(118, 98, 30)));
  background: linear-gradient(90deg, rgb(118, 98, 30) 0%, rgb(177, 156, 88) 50%, rgb(118, 98, 30) 100%);
}
.plan .t-plan__planTypeList__block01.premium .t-plan__planTypeList__block01__item__head__badge {
  display: block;
}
.plan .t-plan__planTypeList {
  /* --------------------------------------
    プレミアムプラン（タイトルブロック＋カード）
  ---------------------------------------- */
}
.plan .t-plan__planTypeListPremium {
  /* タイトルブロック＋カードを中央寄せ。各要素は上の3カラムリストの
     1カラムと同じ幅（(100% - gap*2) / 3）に揃える */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: min(0vw, 0px);
  margin-top: clamp(48px, 4.323vw, 72px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(0vw, 0px);
    margin-top: clamp(48px, 16vw, 72px);
  }
}
.plan .t-plan__planTypeListPremium {
  /* プレミアムセクション内でのみ：カード1枚を1カラム表示にして
     通常カードと同じ1/3幅（≒340px）にする。
     .block01.premium 自体の見た目・マークアップは変更なし */
}
.plan .t-plan__planTypeListPremium > .t-plan__planTypeList__block01.premium {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - min(0vw, 0px) * 2) / 3);
          flex: 0 0 calc((100% - min(0vw, 0px) * 2) / 3);
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium > .t-plan__planTypeList__block01.premium {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    max-width: 340px;
  }
}
.plan .t-plan__planTypeListPremium__titleBlock {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - min(0vw, 0px) * 2) / 3);
          flex: 0 0 calc((100% - min(0vw, 0px) * 2) / 3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium__titleBlock {
    /* SPのみ：figure を1番目、head を2番目に */
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    max-width: 340px;
  }
}
.plan .t-plan__planTypeListPremium__titleBlock__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: min(2.882vw, 48px) min(0.72vw, 12px);
  color: #fff;
  background: linear-gradient(120deg, rgb(74, 52, 30) 0%, rgb(168, 146, 101) 100%);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium__titleBlock__head {
    padding: min(5.333vw, 24px) min(1.441vw, 24px);
  }
}
.plan .t-plan__planTypeListPremium__titleBlock__en {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(24px, 2.161vw, 36px);
  letter-spacing: 0.06em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium__titleBlock__en {
    font-size: clamp(22.4px, 7.467vw, 33.6px);
  }
}
.plan .t-plan__planTypeListPremium__titleBlock__text {
  font-size: clamp(10.4px, 0.937vw, 15.6px);
  letter-spacing: 0.02em;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium__titleBlock__text {
    font-size: clamp(10.4px, 3.467vw, 15.6px);
  }
}
.plan .t-plan__planTypeListPremium__titleBlock {
  /* グローバルの p + p { margin-top: 2em } を打ち消し */
}
.plan .t-plan__planTypeListPremium__titleBlock p + p {
  margin-top: min(0.865vw, 14.4px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium__titleBlock p + p {
    margin-top: min(3.2vw, 14.4px);
  }
}
.plan .t-plan__planTypeListPremium__titleBlock__fig {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium__titleBlock__fig {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
.plan .t-plan__planTypeListPremium__titleBlock__fig img {
  width: auto;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__planTypeListPremium__titleBlock__fig img {
    height: auto;
  }
}
.plan .t-plan__planTypeListPremium__titleBlock__fig figcaption {
  color: #fff;
}

/* --------------------------------------
  プランタイプリスト下判例
---------------------------------------- */
.plan .t-plan__hanrei {
  margin-top: min(2.882vw, 48px);
}
@media screen and (max-width: 768px) {
  .plan .t-plan__hanrei {
    margin-top: min(10.667vw, 48px);
  }
}
.plan .t-plan__hanrei .l-inner {
  margin: auto;
  width: 90%;
  max-width: 1320px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .plan .t-plan__hanrei .l-inner {
    text-align: left;
  }
}
.plan .t-plan__hanrei .l-inner .captionread {
  margin-top: 1em;
}

/* --------------------------------------
  間取り詳細（追加分）
---------------------------------------- */
.detail .u-text--regular {
  font-weight: 400;
}
.detail .t-madori__drawing__control {
  background-color: #f6f6f6;
}
.detail .t-madori__drawing__control .u-textlink--zoom {
  padding-block: min(1.009vw, 16.8px);
  color: #000;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .detail .t-madori__drawing__control .u-textlink--zoom {
    padding-block: min(2.133vw, 9.6px);
  }
}

.t-madori__title__area {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.t-madori__title__caption {
  font-size: min(0.72vw, 12px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  width: 100%;
}
@media screen and (max-width: 768px) {
  .t-madori__title__caption {
    font-size: min(2.667vw, 12px);
  }
}

.c-slider--modal img {
  margin: 0;
}

span.mt {
  display: block;
  padding-top: min(1.441vw, 24px);
}

.t-madori__drawing__info {
  margin-top: min(0.72vw, 12px);
  font-size: min(0.72vw, 12px);
}
@media screen and (max-width: 768px) {
  .t-madori__drawing__info {
    margin-top: min(2.667vw, 12px);
    font-size: min(2.667vw, 12px);
    line-height: 1.7;
  }
}
.t-madori__drawing__info.--infoSecond {
  margin-bottom: min(2.161vw, 36px);
}
@media screen and (max-width: 768px) {
  .t-madori__drawing__info.--infoSecond {
    margin-bottom: min(5.333vw, 24px);
  }
}

/* --------------------------------------
  Zehタイトル部分
---------------------------------------- */
.c-title--page--full.inpage {
  margin-top: clamp(56px, 5.043vw, 84px);
  height: clamp(400px, 50vh, 400px);
  height: clamp(400px, 50svh, 400px);
}
@media screen and (max-width: 768px) {
  .c-title--page--full.inpage {
    margin-top: clamp(64px, 21.333vw, 96px);
    height: 180px;
  }
}
.c-title--page--full.inpage .c-title--page--full__title {
  font-size: clamp(28.8px, 2.594vw, 43.2px);
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
  .c-title--page--full.inpage .c-title--page--full__title {
    font-size: clamp(24px, 8vw, 36px);
  }
}
/*# sourceMappingURL=plan.css.map */