/* ===== SALON ===== */
.sec-title{font-family:var(--en);font-weight:400;font-size:clamp(30px,3.6vw,46px);letter-spacing:.06em;color:var(--forest);line-height:1.1}
.sec-title small{display:block;font-family:var(--jp);font-weight:400;font-size:14px;letter-spacing:.24em;color:var(--moss);margin-top:12px}
.sec-lead{margin-top:24px;color:var(--ink-soft);max-width:36em}

.floor{padding:clamp(72px,9vw,128px) 0}
.floor__map{position:relative;margin-top:clamp(40px,5vw,64px);aspect-ratio:16/9}
.floor__pin{position:absolute;width:30px;height:30px;border-radius:50%;background:var(--forest);color:#F2ECDF;font-family:var(--en);font-size:13px;display:grid;place-items:center;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(246,241,232,.7)}
.floor__note{font-size:12px;color:var(--ink-soft);margin-top:12px}

.rooms{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,48px) clamp(16px,2.4vw,36px);margin-top:clamp(56px,7vw,96px)}
.room .ph{aspect-ratio:4/3;margin-bottom:18px}
.room h3{display:flex;align-items:baseline;gap:12px;font-family:var(--en);font-weight:400;font-size:clamp(18px,1.7vw,22px);letter-spacing:.06em;color:var(--forest);line-height:1.4}
.room h3 b{font-weight:400;flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--forest);font-size:12px;display:grid;place-items:center;transform:translateY(-2px)}
.room .jp{font-size:12px;letter-spacing:.16em;color:var(--moss);margin:4px 0 10px 38px}
.room p.desc{font-size:14px;color:var(--ink-soft);line-height:1.95}

.access{padding:clamp(72px,9vw,128px) 0;border-top:1px solid var(--line)}
.access__in{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,6vw,96px);align-items:start}
.info{display:grid;grid-template-columns:6.5em 1fr;row-gap:16px;margin-top:36px;font-size:14px}
.info dt{color:var(--moss);letter-spacing:.14em}
.info dd small{display:block;font-size:12px;color:var(--ink-soft)}
.map{aspect-ratio:4/3;width:100%;border:0;background:var(--sand);filter:grayscale(.35) sepia(.12)}
.map-link{margin-top:14px}

.park{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.park .ph{aspect-ratio:4/3}
.park h3{font-size:clamp(18px,1.8vw,22px);font-weight:500;letter-spacing:.12em;line-height:1.7;color:var(--forest)}
.steps{list-style:none;counter-reset:s;margin-top:24px;border-top:1px solid var(--line)}
.steps li{counter-increment:s;display:grid;grid-template-columns:2.4em 1fr;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-soft);line-height:1.9}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--en);color:var(--forest);letter-spacing:.06em}
.mens-note{margin-top:28px;font-size:13px;color:var(--ink-soft)}
.mens-note a{color:var(--forest);border-bottom:1px solid currentColor}

@media (max-width:860px){
  .rooms{grid-template-columns:1fr 1fr}
  .access__in,.park{grid-template-columns:1fr}
  .park .ph{order:-1}
  .floor__pin{width:24px;height:24px;font-size:11px}
}
@media (max-width:520px){ .rooms{grid-template-columns:1fr} }
/* 案内図・イラストが未設定のとき（2026-11-02） */
.park--noimg{grid-template-columns:1fr;max-width:760px}
.rooms__note{margin-top:24px}
.sec-title + .rooms{margin-top:clamp(32px,4vw,56px)}
.page-hd + .access{border-top:0}
