/* 追加分だけ(先方 client.css は触らない): body基礎・SPメニュー・予約小窓・平日/土日切替・下層ページの小物 */
body{margin:0;background:#F5F2EC;color:#24221F;font-family:'Zen Kaku Gothic New','Hiragino Sans','Noto Sans JP',sans-serif;font-weight:500;font-size:16.5px;line-height:2;letter-spacing:0.04em;-webkit-font-smoothing:antialiased}
.page{min-width:0}
html{scroll-behavior:smooth}
body.lock{overflow:hidden}
img{max-width:100%}

/* ヘッダー: SPではナビを畳む */
.hd-sp{display:none;align-items:center;gap:10px}
.burger{width:46px;height:46px;border:1px solid #CFC8BB;background:#fff;display:grid;place-items:center;gap:0;cursor:pointer;padding:0;position:relative}
.burger span{position:absolute;width:20px;height:1.5px;background:#1C1B18;transition:transform .3s ease,opacity .3s ease}
.burger span:nth-child(1){transform:translateY(-6px)}.burger span:nth-child(3){transform:translateY(6px)}
.burger.is-open span:nth-child(1){transform:rotate(45deg)}.burger.is-open span:nth-child(2){opacity:0}.burger.is-open span:nth-child(3){transform:rotate(-45deg)}
/* 1600px以下はナビを詰めて1行に(項目8つ+ボタン)、1240px以下はハンバーガーに */
@media (max-width:1600px){
  .site-header .gnav{font-size:14px!important;gap:0 15px!important}
  .site-header .gnav .btn{padding:0 18px!important;min-height:46px!important}
}
@media (max-width:1400px){
  .site-header a[aria-label] > span:nth-child(2),.site-header a[aria-label] > span:nth-child(3){display:none!important}
}
@media (max-width:1180px){
  .site-header .gnav{display:none!important}
  .hd-sp{display:flex}
  .site-header .wrap{min-height:72px!important}
  .site-header a[aria-label] > span:first-child{font-size:28px!important}
}
.spmenu{position:fixed;inset:0;top:0;z-index:35;background:#F5F2EC;padding-top:88px;overflow:auto;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.spmenu.open{opacity:1;visibility:visible}
.spmenu nav{display:flex;flex-direction:column;padding-top:16px;padding-bottom:40px}
.spmenu nav a:not(.btn):not(.link){display:block;padding:16px 0;border-bottom:1px solid #DCD6CB;text-decoration:none;color:#1C1B18;font-family:'Zen Old Mincho',serif;font-weight:600;font-size:20px;letter-spacing:.08em}
.spmenu nav .btn{margin-top:24px}
.spmenu nav .link{align-self:flex-start;margin-top:18px}

/* 予約小窓 */
.book{position:fixed;inset:0;z-index:60;background:rgba(28,27,24,.6);display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.book.open{opacity:1;visibility:visible}
.book-panel{position:relative;width:min(860px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:18px;transform:translateY(12px);transition:transform .35s ease}
.book.open .book-panel{transform:none}
.book-close{position:absolute;right:14px;top:10px;width:44px;height:44px;border:0;background:transparent;font-size:30px;line-height:1;color:#1C1B18;cursor:pointer}
.book-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:10px}
@media (min-width:720px){.book-grid{grid-template-columns:1fr 1fr}}
.book-col{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid #DCD6CB;background:#F5F2EC;min-width:0}
.book-col .btn{align-self:stretch;min-height:52px;padding:0 18px;font-size:14px}
.book-col--bday{background:#1C1E1A;color:#E7E2D8;border-color:#3A3D36}
.book-h{margin:0;font-family:'Zen Old Mincho',serif;font-weight:600;font-size:19px;letter-spacing:.06em;color:#1C1B18}
.book-col--bday .book-h{color:#F3EFE7}

/* 料金: 平日/土日 切替 */
.wk-btn{background:transparent;color:#1C1B18;border:0;padding:10px 30px;min-height:46px;font:inherit;font-size:14px;letter-spacing:.2em;cursor:pointer}
.wk-btn[aria-pressed="true"]{background:#1C1B18;color:#FFFFFF}

/* 予約の流れ: 2つの入口 */
.entry-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:860px){.entry-grid{grid-template-columns:1fr 1fr}}
.entry{padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;gap:14px;min-width:0}
.entry .btn{align-self:flex-start;min-width:260px}
@media (max-width:520px){.entry .btn{align-self:stretch;min-width:0}}

/* コンセプト概要(下層ページの要約) */
.ov{display:grid;grid-template-columns:1fr;gap:28px clamp(32px,5vw,72px);align-items:center}
@media (min-width:860px){.ov{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.ov--rev > :first-child{order:2}}
.ov-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px}
.ov-steps li{display:flex;gap:10px;align-items:baseline;font-size:15px;border-top:1px solid #DCD6CB;padding-top:10px}
.ov-steps .num{color:#866A3E;font-size:17px}
.ov-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.ov-list li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px 16px;padding:12px 0;border-top:1px solid #DCD6CB;font-size:15px;align-items:baseline}
.ov-list li:last-child{border-bottom:1px solid #DCD6CB}
.ov-list b{font-family:'Zen Old Mincho',serif;font-weight:600;letter-spacing:.06em;font-size:16px}
@media (max-width:520px){.ov-list li{grid-template-columns:1fr}}

/* オーナー募集 */
.owner-points{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0;border-top:1px solid #3D403A}
.owner-points li{padding:20px 20px 20px 0;border-bottom:1px solid #3D403A;display:flex;flex-direction:column;gap:6px}
.owner-points b{font-family:'Zen Old Mincho',serif;font-weight:600;font-size:18px;letter-spacing:.06em;color:#F3EFE7}
.owner-points span{font-size:14px;color:#BDB6A8}

/* 下層ページ共通 */
.page-head{padding:clamp(48px,6vw,80px) 0 0}
.crumb{margin:0 0 10px;font-family:'Marcellus',serif;font-size:12px;letter-spacing:.22em;color:#866A3E;text-transform:uppercase;display:flex;gap:10px}
.crumb a{text-decoration:none;color:inherit}
.cta-sec{background:#1C1E1A;color:#E7E2D8;padding:clamp(72px,9vw,120px) 0;text-align:center}
.cta-sec .wrap{display:flex;flex-direction:column;align-items:center;gap:22px}
.tbl-def{width:100%;border-collapse:collapse;font-size:15.5px}
.tbl-def th,.tbl-def td{text-align:left;vertical-align:top;padding:14px 0;border-bottom:1px solid #DCD6CB}
.tbl-def th{width:11em;font-weight:500;color:#5A574F;padding-right:16px}
.dark .tbl-def th,.dark .tbl-def td{border-color:#3D403A}
.prose{max-width:46em}
.prose h3{margin:2em 0 .6em}
.prose ul{padding-left:1.2em}
.tbd{color:#A2523F;font-size:.85em}
.hist{margin:0;padding:0;list-style:none}
.hist li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid #DCD6CB;font-size:15.5px}
.hist .num{color:#866A3E}
.sub-sec{padding-top:clamp(56px,7vw,96px)!important}
/* SPヘッダーを1行に: ロゴの日本語ラベルと仕切りを隠す */
@media (max-width:600px){
  .site-header a[aria-label] > span:nth-child(2),.site-header a[aria-label] > span:nth-child(3){display:none!important}
  .site-header .wrap{flex-wrap:nowrap!important;gap:12px!important}
}
/* SP: 先方マークアップの white-space:nowrap 行は折り返しを許可(375px幅ではみ出すため) */
@media (max-width:520px){
  [style*="white-space: nowrap"]:not(.btn):not(.hcap-t span):not(.marq span){white-space:normal!important}
}

/* プレビュー帯(PREVIEW=False で消える) */
.draft-bar{background:#866A3E;color:#F5F2EC;text-align:center;font-size:12px;letter-spacing:.08em;padding:6px 12px;line-height:1.6}
