/*
 * SEEN — 客室詳細ページ（Deep Sea／Shallow Sea）
 * mock: claude.ai artifact 5TwRRFGeDHjZ8KVNUT3tpm (Deep Sea) を基準に両室共通化
 * ヘッダー・フッターは site-chrome.css（全ページ共通）を使用
 */
.seen-room{--paper:#FBFBFA;--ink:#14181A;--mist:#8A9296;--deep:#1B3B47;--shallow:#A8BFC4;--tide:#E4E7E5;--wash:#F3F5F4;
--display:'Forum',serif;--mincho:'Zen Old Mincho',serif;--body:'Zen Kaku Gothic New',system-ui,sans-serif;
--pad:clamp(20px,5vw,80px)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:300;line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--pad)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}


.hero{position:relative;height:100svh;min-height:620px;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;
 transform:scale(1.06);animation:hin 3s cubic-bezier(.2,.7,.25,1) forwards}
@keyframes hin{to{transform:scale(1)}}
.hero::after{content:'';position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(4,10,14,.42) 0%,rgba(4,10,14,.12) 32%,rgba(4,10,14,0) 52%,rgba(4,10,14,.46) 100%)}
.hero-in{position:absolute;z-index:3;left:0;bottom:clamp(50px,8vh,90px);padding:0 var(--pad);color:#fff}
.hero-in .en{font-weight:400;font-family:var(--display);font-size:clamp(38px,6.4vw,82px);letter-spacing:.06em;line-height:1;
 text-shadow:0 2px 34px rgba(0,8,14,.5)}
.hero-in .jp{font-family:var(--mincho);font-size:clamp(13px,1.5vw,17px);letter-spacing:.34em;margin-top:14px;opacity:.92}
.hero-in .sub{margin-top:20px;font-size:clamp(12.5px,1.3vw,15px);letter-spacing:.09em;line-height:2.1;max-width:28em;
 text-shadow:0 1px 18px rgba(0,8,14,.6)}

/* 断面ダイアグラム */
.dia{padding:clamp(66px,9vw,110px) 0 clamp(60px,8vw,90px);background:var(--wash);border-bottom:1px solid var(--tide)}
.dia-col{max-width:460px;margin:0 auto}
.col-h{text-align:center;padding-bottom:18px}
.col-h .en{font-family:var(--display);font-size:clamp(24px,3vw,36px);letter-spacing:.08em}
.col-h .ja{font-size:11px;letter-spacing:.3em;color:#5A6468;margin-top:6px}
.floor{border:1px solid var(--tide);padding:22px 16px;text-align:center;background:var(--paper)}
.floor+.floor{border-top:0}
.floor .fl{font-weight:500;font-size:11px;letter-spacing:.22em;opacity:.62}
.floor .fn{margin-top:8px;font-size:14px;letter-spacing:.08em}
.floor.live{background:var(--deep);border-color:var(--deep);color:#fff}
.floor.live .fl{opacity:.55}
.sealine{position:relative;height:46px;margin-top:0}
.sealine .line{position:absolute;left:0;top:0;height:1px;width:25%;background:var(--deep);will-change:width}
.sealine .lab{position:absolute;top:9px;left:25%;transform:translateX(-50%);background:var(--wash);will-change:left,transform;
 padding:0 14px;font-size:10px;letter-spacing:.28em;color:#4A5559;white-space:nowrap}
.dia-spec{list-style:none;display:flex;justify-content:center;gap:clamp(26px,5vw,70px);
 margin:clamp(26px,3.4vw,40px) auto 0;flex-wrap:wrap}
.dia-spec li{display:flex;align-items:baseline;gap:6px}
.dia-spec b{font-family:var(--display);font-weight:400;font-size:clamp(24px,3vw,34px);letter-spacing:.02em;line-height:1}
.dia-spec span{font-size:11.5px;letter-spacing:.14em;color:#5A6468}

/* 間取り図 */
.plan{padding:clamp(50px,7vw,90px) 0 0}
.plan img{width:100%;max-width:720px;margin:0 auto;mix-blend-mode:multiply}

.chap{padding:clamp(60px,8vw,110px) 0 0}
.chap-h{text-align:center;margin-bottom:clamp(34px,4.6vw,56px)}
.ch-en{font-family:var(--display);font-size:clamp(28px,3.6vw,46px);letter-spacing:.06em;line-height:1}
.ch-jp{font-size:11px;letter-spacing:.34em;color:#5A6468;margin-top:9px}
.chap h3{font-family:var(--mincho);font-weight:400;font-size:clamp(17px,2.1vw,25px);letter-spacing:.12em;margin-top:24px}
.chap p{font-size:13.5px;line-height:2.2;color:#40484B;margin:14px auto 0;max-width:34em}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--tide)}
.gal .g{background:var(--paper);overflow:hidden}
.gal .wide{grid-column:1/-1}
.gal .g img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.3,1)}
.gal .wide img{aspect-ratio:16/9}
.gal .g:hover img{transform:scale(1.03)}
@media(max-width:700px){.gal{grid-template-columns:1fr}.gal .g img,.gal .wide img{aspect-ratio:3/2}}

.fac{padding:clamp(70px,9vw,120px) 0}
.fac h2{font-family:var(--display);font-size:clamp(28px,3.6vw,46px);letter-spacing:.05em;text-align:center}
.fac .jp{text-align:center;font-size:12.5px;letter-spacing:.2em;color:#4A5559;margin-top:10px}
.fac-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(30px,5vw,80px);margin-top:clamp(34px,4.4vw,52px)}
.fac-grid>div{padding:18px 2px;border-bottom:1px solid var(--tide);display:grid;grid-template-columns:7.5em 1fr;gap:18px;font-size:13px;letter-spacing:.04em;line-height:1.95}
.fac-grid dt{color:#5A6468}
.fac-grid>div:first-child,.fac-grid>div:nth-child(2){border-top:1px solid var(--tide)}
.note{margin-top:24px;font-size:11.5px;line-height:2.1;color:#5A6468}
@media(max-width:760px){.fac-grid{grid-template-columns:1fr}.fac-grid>div:nth-child(2){border-top:0}}

/* 食事 */
.dining{padding:clamp(70px,9vw,120px) 0}
.dining h2{font-family:var(--display);font-size:clamp(28px,3.6vw,46px);letter-spacing:.05em;text-align:center}
.dining .jp{text-align:center;font-size:12.5px;letter-spacing:.2em;color:#4A5559;margin-top:10px}
.din-lead{font-family:var(--mincho);font-size:clamp(15px,1.7vw,19px);line-height:2.2;letter-spacing:.08em;
 text-align:center;margin-top:clamp(22px,3vw,34px)}
.din-hero{margin-top:clamp(30px,4vw,52px);overflow:hidden}
.din-hero img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 56%}
.din-sub{display:flex;align-items:baseline;justify-content:center;gap:14px;margin-top:clamp(44px,5.6vw,76px)}
.din-sub .en{font-family:var(--display);font-size:clamp(20px,2.4vw,30px);letter-spacing:.06em}
.din-sub .ja{font-size:11px;letter-spacing:.3em;color:#5A6468}
.din-duo{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--tide);margin-top:clamp(18px,2.4vw,28px)}
.din-duo figure{overflow:hidden;background:var(--paper)}
.din-duo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.3,1)}
.din-duo figure:hover img{transform:scale(1.03)}
.din-cap{text-align:center;margin-top:16px;font-size:13px;line-height:2.1;color:#40484B;letter-spacing:.04em}
.din-menu{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--tide);border-bottom:1px solid var(--tide)}
.din-menu summary{list-style:none;cursor:pointer;padding:20px 2px;font-size:12.5px;letter-spacing:.14em;
 display:flex;align-items:center;justify-content:center;gap:12px;color:#40484B}
.din-menu summary::-webkit-details-marker{display:none}
.din-menu summary::after{content:'+';font-family:var(--display);font-size:17px;line-height:1;color:#5A6468}
.din-menu[open] summary::after{content:'–'}
.dm-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,64px);padding:4px 2px 26px}
.dm-grid h4{font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:.08em;
 padding-bottom:10px;border-bottom:1px solid var(--tide)}
.dm-grid ul{list-style:none;margin-top:12px}
.dm-grid li{font-size:13px;line-height:2.2;color:#40484B;letter-spacing:.04em}
.din-price{margin-top:clamp(34px,4.4vw,52px);display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap}
.din-price b{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.6vw,56px);line-height:1}
.din-price span{font-size:12.5px;letter-spacing:.08em;color:#5A6468}
.din-note{margin-top:18px;text-align:center;font-size:11.5px;line-height:2.1;color:#5A6468}
@media(max-width:700px){
  .din-hero{margin-inline:calc(50% - 50vw)}
  .din-hero img{aspect-ratio:3/2}
  .din-duo{margin-inline:calc(50% - 50vw)}
  .din-duo img{aspect-ratio:1/1}
  .din-cap{padding-inline:4px}
  .dm-grid{grid-template-columns:1fr;gap:26px}
}

.price{background:var(--wash);padding:clamp(70px,9vw,120px) 0;text-align:center}
.price h2{font-family:var(--display);font-size:clamp(28px,3.6vw,46px);letter-spacing:.05em}
.price .jp{font-size:12.5px;letter-spacing:.2em;color:#4A5559;margin-top:10px}
.pnum{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:clamp(28px,3.6vw,44px)}
.pnum .amt{font-family:var(--display);font-size:clamp(46px,7vw,84px);line-height:1;letter-spacing:.02em}
.pnum .unit{font-family:var(--display);font-size:clamp(20px,2.4vw,30px);color:#5A6468}
.pdesc{margin-top:18px;font-size:13px;line-height:2.1;letter-spacing:.06em;color:#40484B}
.note{margin-top:26px;font-size:11.5px;line-height:2.1;color:#5A6468}
.cta{display:inline-block;margin-top:34px;background:var(--deep);color:#fff;padding:17px 44px;font-size:13px;letter-spacing:.16em;transition:background .35s}
.cta:hover{background:var(--ink)}
.ctaw{text-align:center}

.other{position:relative;height:clamp(300px,42vw,460px);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.other img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 2s cubic-bezier(.2,.7,.3,1)}
.other:hover img{transform:scale(1.04)}
.other::after{content:'';position:absolute;inset:0;background:rgba(6,14,20,.42)}
.other .in{position:relative;z-index:2;color:#fff;display:block}
.other .en{display:block;font-family:var(--display);font-size:clamp(30px,4.4vw,56px);letter-spacing:.06em}
.other .ja{display:block;font-size:11px;letter-spacing:.34em;margin-top:10px;opacity:.85}
.other .go{display:inline-flex;gap:12px;margin-top:22px;font-size:12.5px;letter-spacing:.14em;border-bottom:1px solid #fff;padding-bottom:6px}


/* 章ごとのレイアウト */
.gal.solo{grid-template-columns:1fr}
.gal.solo .g img{aspect-ratio:21/9}
.gal.duo{grid-template-columns:repeat(2,1fr)}
.gal.duo .g img{aspect-ratio:4/5}
.gal.duo .wide{grid-column:1/-1}
.gal.duo .wide img{aspect-ratio:16/9}

/* 横スライド */
.slider{position:relative}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,620px);gap:1px;
 overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
 scrollbar-width:none;-ms-overflow-style:none;background:var(--tide)}
.strip::-webkit-scrollbar{display:none}
.strip figure{scroll-snap-align:center;background:var(--paper)}
.strip img{width:100%;aspect-ratio:3/2;object-fit:cover}
.slider.tall .strip{grid-auto-columns:min(62vw,430px)}
.slider.tall .strip img{aspect-ratio:4/5}
.sctrl{display:flex;justify-content:center;padding:14px var(--pad) 0}

/* PC：スライドをやめてグリッドで見せる（701px以上） */
@media(min-width:701px){
  .strip{grid-auto-flow:row;grid-template-columns:repeat(2,1fr);grid-auto-columns:auto;
    overflow:visible;scroll-snap-type:none;gap:1px}
    /* 1枚目を大きく、残り2枚を並べる */
  .strip figure:first-child{grid-column:1/-1}
  .strip figure:first-child img{aspect-ratio:16/9}
  .sctrl{display:none}
  .strip figure{overflow:hidden}
  .strip img{transition:transform 1.6s cubic-bezier(.2,.7,.3,1)}
  .strip figure:hover img{transform:scale(1.03)}
}
/* スマホ：スライドを画面幅いっぱいに。矢印は隠してスワイプのみ */
@media(max-width:700px){
  .strip{grid-auto-columns:100vw;margin-inline:calc(50% - 50vw);background:none;gap:0}
  .slider.tall .strip{grid-auto-columns:100vw}
  .slider.tall .strip img{aspect-ratio:3/4}
  .sctrl{justify-content:center;padding-top:14px}
  .sdots{margin-right:0}
  .sdots i{width:16px}
  /* 静止レイアウトも全幅に */
  .gal{margin-inline:calc(50% - 50vw)}
  .gal.solo .g img{aspect-ratio:16/10}
  .fb-strip img{aspect-ratio:3/2}
}
.sdots{display:flex;gap:7px}
.sdots i{width:22px;height:1px;background:var(--tide);transition:background .4s}
.sdots i.on{background:var(--ink)}

/* 設備：エリア別スライド */
.fblock{border-top:1px solid var(--tide);padding:clamp(34px,4.6vw,56px) 0}
.fblock:last-of-type{border-bottom:1px solid var(--tide)}
.fb-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,60px);align-items:center}
.fb-head .en{font-family:var(--display);font-size:clamp(22px,2.6vw,32px);letter-spacing:.06em}
.fb-head .ja{font-size:11px;letter-spacing:.3em;color:#5A6468;margin-top:7px}
.fb-list{margin-top:20px;font-size:13px;line-height:2.1;color:#40484B;letter-spacing:.03em}
.fb-strip{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:0;overflow-x:auto;
 scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.fb-strip::-webkit-scrollbar{display:none}
.fb-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:center}
.fb-dots{display:flex;gap:7px;margin-top:12px}
.fb-dots i{width:20px;height:1px;background:var(--tide)}
.fb-dots i.on{background:var(--ink)}
@media(min-width:861px){
  .fb-strip.one{grid-template-columns:1fr!important}
  .fb-strip.one img{aspect-ratio:4/3}
  .fb-strip{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;
    overflow:visible;scroll-snap-type:none;gap:1px;background:var(--tide)}
  .fb-strip img{aspect-ratio:3/4}
  .fb-dots{display:none}
}
@media(max-width:860px){.fb-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
:focus-visible{outline:2px solid var(--deep);outline-offset:3px}

/* Shallow Sea 用：数字の下の説明文 */
.dia-note{max-width:34em;margin:clamp(20px,2.6vw,30px) auto 0;text-align:center;font-size:13.5px;line-height:2.2;color:#40484B;letter-spacing:.04em}

/* 見出しは他の英字見出しと同じ細さに揃える */
.seen-room h1,.seen-room h2,.seen-room h3,.seen-room h4{font-weight:400}

/* v1.7.1 ---------------------------------------------------------------- */
/* 部屋番号ラベル（ヒーロー） */
.hero-in .room-no{font-family:var(--display);font-size:clamp(12px,1.2vw,14px);letter-spacing:.32em;margin-bottom:14px;opacity:.9;text-shadow:0 1px 18px rgba(0,8,14,.6)}
/* 間取りの上の紹介文 */
.dia-lead{font-family:var(--mincho);font-size:clamp(15px,1.7vw,19px);line-height:2.2;letter-spacing:.08em;text-align:center;margin:0 auto clamp(40px,5vw,64px);max-width:30em}
/* 設備：4枚以上は1枚目を大きく、残りを3列（PC） */
@media(min-width:861px){
  .fb-strip.lead{grid-template-columns:repeat(3,1fr)}
  .fb-strip.lead img{aspect-ratio:1/1}
  .fb-strip.lead img:first-child{grid-column:1/-1;aspect-ratio:3/2}
  .fblock:has(.fb-strip.lead) .fb-grid{align-items:start}
  .fblock:has(.fb-strip.lead) .fb-head{position:sticky;top:110px}
}
/* 一棟貸しへの導線 */
.villa-cta{background:var(--deep);color:#fff;padding:clamp(60px,8vw,100px) 0}
.villa-cta-in{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,5vw,80px);align-items:end}
.villa-cta-label{font-family:var(--display);font-size:12px;letter-spacing:.32em;opacity:.7}
.villa-cta h2{font-family:var(--mincho);font-size:clamp(26px,3.4vw,40px);letter-spacing:.14em;margin-top:12px;line-height:1.4}
.villa-cta h2 span{display:block;font-family:var(--body);font-size:12px;letter-spacing:.2em;margin-top:12px;opacity:.75}
.villa-cta p{font-size:13.5px;line-height:2.2;letter-spacing:.04em;color:rgba(255,255,255,.85);max-width:34em}
.villa-cta-link{display:inline-flex;gap:12px;margin-top:24px;font-size:13px;letter-spacing:.14em;border-bottom:1px solid #fff;padding-bottom:6px;transition:opacity .3s}
.villa-cta-link:hover{opacity:.7}
@media(max-width:760px){.villa-cta-in{grid-template-columns:1fr;align-items:start}}

/* v1.7.1 rev2 ----------------------------------------------------------- */
/* 設備：2枚は横並び */
@media(min-width:861px){.fb-strip.two{grid-template-columns:repeat(2,1fr)}.fb-strip.two img{aspect-ratio:3/4}}
/* 設備：備品の中身（写真＋名称） */
.fb-items{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,32px);margin-top:clamp(28px,3.6vw,44px)}
.fb-items figure{overflow:hidden;background:var(--tide)}
.fb-items img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.3,1)}
.fb-items li:hover img{transform:scale(1.03)}
.fi-h{display:flex;align-items:baseline;gap:10px;margin-top:14px;padding-bottom:8px;border-bottom:1px solid var(--tide)}
.fi-h .en{font-family:var(--display);font-size:17px;letter-spacing:.06em}
.fi-h .ja{font-size:10.5px;letter-spacing:.24em;color:#5A6468}
.fb-items p{margin-top:10px;font-size:12px;line-height:2;color:#40484B;letter-spacing:.03em}
@media(max-width:860px){.fb-items{grid-template-columns:repeat(2,1fr);gap:26px 14px}}
/* もう一方のお部屋：控えめなテキストリンク */
.other-room{padding-block:clamp(40px,5vw,64px)}
.other-room a{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:clamp(14px,3vw,40px);padding:22px 2px;border-top:1px solid var(--tide);border-bottom:1px solid var(--tide);transition:color .3s}
.or-no{font-family:var(--display);font-size:12px;letter-spacing:.3em;color:#5A6468}
.or-name{font-family:var(--display);font-size:clamp(22px,2.6vw,30px);letter-spacing:.06em}
.or-name small{font-family:var(--body);font-size:11px;letter-spacing:.28em;color:#5A6468;margin-left:14px}
.or-go{font-size:12px;letter-spacing:.14em;color:#40484B}
.or-go span{display:inline-block;margin-left:8px;transition:transform .4s}
.other-room a:hover{color:var(--deep)}
.other-room a:hover .or-go span{transform:translateX(4px)}
@media(max-width:700px){.other-room a{grid-template-columns:1fr auto}.or-no{grid-column:1/-1}.or-go{font-size:0}.or-go span{font-size:16px}}
.fi-h{flex-wrap:wrap;row-gap:2px}
@media(max-width:860px){.fi-h .en{font-size:15px;white-space:nowrap}.fi-h .ja{flex-basis:100%}}

/* v1.7.1 rev3：設備は1枚ずつのスライダー ----------------------------- */
.fb-slide{min-width:0}
.fb-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.fb-track::-webkit-scrollbar{display:none}
.fb-fig{scroll-snap-align:start;margin:0;min-width:0}
.fb-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--tide)}
.fb-fig figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:12px}
.fb-fig figcaption .en{font-family:var(--display);font-size:16px;letter-spacing:.06em}
.fb-fig figcaption .ja{font-size:10.5px;letter-spacing:.24em;color:#5A6468}
.fb-fig figcaption .li{flex-basis:100%;font-size:12px;line-height:2;color:#40484B;letter-spacing:.03em}
.fb-ctrl{display:flex;align-items:center;gap:14px;margin-top:14px}
.fb-dots{display:flex;gap:7px;margin-right:auto}
.fb-dots button{width:20px;height:9px;padding:4px 0;border:0;background:none;cursor:pointer;position:relative}
.fb-dots button::after{content:'';position:absolute;left:0;right:0;top:4px;height:1px;background:var(--tide);transition:background .4s}
.fb-dots button.on::after{background:var(--ink)}
.fb-count{font-family:var(--display);font-size:12px;letter-spacing:.12em;color:#5A6468;font-variant-numeric:tabular-nums}
.fb-count b{font-weight:400;color:var(--ink)}
.fb-prev,.fb-next{width:36px;height:36px;border:1px solid var(--tide);border-radius:50%;background:var(--paper);color:var(--ink);font-size:13px;cursor:pointer;transition:border-color .3s,background .3s}
.fb-prev:hover,.fb-next:hover{border-color:var(--ink)}
.fblock .fb-grid{align-items:start}
@media(max-width:860px){.fb-prev,.fb-next{display:none}}
.fb-ctrl .fb-dots{display:flex;margin-top:0}
/* キャプションは写真の上に重ねて、スライドの高さを揃える */
.fb-fig{position:relative}
.fb-fig figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:48px 18px 14px;color:#fff;background:linear-gradient(180deg,rgba(6,12,16,0) 0%,rgba(6,12,16,.72) 100%)}
.fb-fig figcaption .ja{color:rgba(255,255,255,.8)}
.fb-fig figcaption .li{color:rgba(255,255,255,.92);font-size:11.5px;line-height:1.9}
@media(max-width:860px){.fb-fig img{aspect-ratio:4/3}.fb-fig figcaption{padding:40px 14px 12px}}

/* ほかのお部屋・一棟貸し：細い罫線で仕切ったリスト */
.other-room a+a{border-top:0}
.other-room a{grid-template-columns:8.5em 1fr auto}
.other-room .or-name{font-family:var(--mincho)}
.other-room a:first-child .or-name{font-family:var(--display)}
@media(max-width:700px){.other-room a{grid-template-columns:1fr auto}}
.other-room a+a .or-name{font-size:clamp(19px,2.1vw,25px);letter-spacing:.14em}

/* v1.7.1 rev4 ----------------------------------------------------------- */
/* 紹介文：Layoutと分けて独立したブロックに */
.room-intro{padding:clamp(72px,10vw,130px) 0 clamp(64px,9vw,110px);background:var(--paper)}
.room-intro-text{font-family:var(--mincho);font-size:clamp(17px,2vw,23px);line-height:2.3;letter-spacing:.12em;text-align:center;max-width:30em;margin:0 auto}
.room-intro-text::after{content:'';display:block;width:1px;height:clamp(40px,5vw,64px);background:var(--mist);margin:clamp(36px,4.6vw,56px) auto 0;opacity:.6}
/* スマホ：ヒーロー写真をやや左寄せ（テーブルを入れつつ島が切れない位置） */
@media(max-width:700px){.hero img{object-position:36% 55%}.room-intro-text{font-size:16px;letter-spacing:.08em}}
@media(max-width:700px){.hero img{object-position:38% 55%}.room-intro-text{font-size:max(13px,3.6vw);letter-spacing:.02em;line-height:2.4}}
.room-intro-text::after{content:none}
/* スマホ：ヒーローは高さ72%（パターンC） */
@media(max-width:700px){.hero{height:72svh;min-height:480px}.hero img{object-position:42% 55%}}

/* v1.7.1 rev5：Shallow Sea ------------------------------------------------ */
/* 淡い色調（浅瀬）：間取りの強調階をライトブルーに */
.dia--light .floor.live{background:#C3DBE3;border-color:#C3DBE3;color:var(--ink)}
.dia--light .floor.live .fl{opacity:.7}
.dia--light .sealine .line{background:#7FA3AE}
/* スマホのヒーロー位置は部屋ごとに指定可 */
@media(max-width:700px){.hero img{object-position:var(--sp-pos,42% 55%)}}
/* 日本語の改行を文節単位に（対応ブラウザ） */
.room-intro-text,.dia-note,.din-cap,.chap h3{word-break:auto-phrase}
.room-intro-text{max-width:40em}
/* キャプション：半透明の背景パネルで視認性を上げる */
.fb-fig figcaption{left:12px;right:auto;bottom:12px;max-width:calc(100% - 24px);padding:12px 16px 13px;background:rgba(14,22,27,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:2px}
.fb-fig figcaption .en{font-size:17px}
.fb-fig figcaption .ja{color:rgba(255,255,255,.75);font-size:11px}
.fb-fig figcaption .li{color:#fff;font-size:12.5px;line-height:1.85;margin-top:2px}
@media(max-width:860px){.fb-fig figcaption{left:8px;bottom:8px;max-width:calc(100% - 16px);padding:10px 12px}.fb-fig figcaption .li{font-size:11.5px}}
/* スマホ：キャプションは写真の下に（写真を隠さない） */
.fb-cap-out{display:none}
@media(max-width:860px){
  .fb-fig figcaption{display:none}
  .fb-cap-out{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-top:12px}
  .fb-cap-out:empty{margin-top:0}
  .fb-cap-out .en{font-family:var(--display);font-size:16px;letter-spacing:.06em}
  .fb-cap-out .ja{font-size:10.5px;letter-spacing:.24em;color:#5A6468}
  .fb-cap-out .li{flex-basis:100%;font-size:12px;line-height:1.9;color:#40484B;margin-top:2px}
}
/* PC：キャプション背景を薄く */
@media(min-width:861px){.fb-fig figcaption{background:rgba(14,22,27,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.fb-fig figcaption .en,.fb-fig figcaption .li{text-shadow:0 1px 6px rgba(0,0,0,.35)}}

/* 炭酸泉温浴風呂の訴求パート（Bathroomの直後） */
.spring{display:grid;grid-template-columns:1.05fr .95fr;margin:0 calc(var(--pad) * -1);background:var(--deep);color:#fff}
.spring-ph{margin:0;min-height:clamp(380px,40vw,560px);overflow:hidden}
.spring-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 72%}
.spring-txt{padding:clamp(40px,6vw,90px) clamp(28px,5vw,80px);display:flex;flex-direction:column;justify-content:center}
.spring-en{font-family:var(--display);font-size:13px;letter-spacing:.32em;color:rgba(255,255,255,.62)}
.spring h3{font-family:var(--mincho);font-weight:400;font-size:clamp(24px,2.6vw,34px);letter-spacing:.16em;margin-top:12px;line-height:1.4}
.spring-lead{font-family:var(--mincho);font-size:clamp(16px,1.6vw,20px);line-height:2;letter-spacing:.1em;margin-top:clamp(22px,2.6vw,32px);padding-top:clamp(22px,2.6vw,32px);border-top:1px solid rgba(255,255,255,.22)}
.spring-copy{font-size:13.5px;line-height:2.2;letter-spacing:.05em;color:rgba(255,255,255,.82);margin-top:18px;max-width:30em;word-break:auto-phrase}
@media(max-width:860px){.spring{grid-template-columns:1fr}.spring-ph{min-height:0;aspect-ratio:4/3}}

/* 炭酸泉：Bathroomの説明欄に組み込み */
.spring{display:none}
.spring-in{margin-top:clamp(22px,2.6vw,32px);padding:clamp(20px,2.4vw,28px) clamp(20px,2.4vw,28px) clamp(18px,2.2vw,26px);background:var(--wash);border-left:2px solid var(--deep)}
.spring-in .spring-en{font-family:var(--display);font-size:11.5px;letter-spacing:.3em;color:#5A6468}
.spring-in h4{font-family:var(--mincho);font-weight:400;font-size:clamp(19px,1.9vw,23px);letter-spacing:.14em;margin-top:6px;color:var(--ink)}
.spring-in .spring-lead{font-family:var(--mincho);font-size:15px;line-height:1.9;letter-spacing:.08em;margin-top:12px;color:var(--deep)}
.spring-in .spring-copy{font-size:12.5px;line-height:2.1;letter-spacing:.04em;color:#40484B;margin-top:8px;word-break:auto-phrase}
.spring-in .spring-lead{padding-top:0;border-top:0}.spring-in .spring-copy{max-width:none}
.spring-in h4{margin-top:0}

/* 間取り：SPは余白を詰めた専用画像を画面幅いっぱいに */
@media(max-width:700px){.plan .wrap{padding-left:8px;padding-right:8px}.plan img{max-width:none}}

/* ===== SP調整 v1.7.1 ===== */
.s-count,.s-prev,.s-next{display:none}
@media(max-width:700px){
  /* 章スライド：ドット＋枚数＋矢印 */
  .sctrl{justify-content:flex-start;align-items:center;gap:12px;padding:14px var(--pad) 0}
  .sctrl .sdots{margin-right:auto}
  .s-count{display:inline}
  .s-prev,.s-next{display:inline-block;width:34px;height:34px;border:1px solid #C9D0D2;border-radius:50%;background:var(--paper);color:var(--ink);font-size:13px;cursor:pointer}
  /* 章の境目：区切り線と余白 */
  .chap{padding-top:56px}
  .chap + .chap{margin-top:64px}
  /* 設備：見出しを写真の上に（ブロックの始まりを明確に） */
  .fb-grid{display:flex;flex-direction:column;gap:0}
  .fb-head{display:contents}
  .fb-head .en{order:-2}
  .fb-head .ja{order:-1;margin-bottom:18px}
  .fb-slide{order:0}
  .fb-head .fb-list,.fb-head .spring-in{order:1}
  .fb-head .fb-list{margin-top:18px}
  .fblock{padding:44px 0;border-top:1px solid #C9D0D2}
  .fb-prev,.fb-next{display:inline-block;width:34px;height:34px;border-color:#C9D0D2}
  .fb-ctrl{gap:12px}
  .fb-cap-out{margin-top:10px}
}
/* 炭酸泉：左のバーをはっきり */
.spring-in{border-left:3px solid var(--deep)}
@media(max-width:700px){.fb-cap-out:not(:empty){background:#EEF1F1;padding:10px 12px;margin-top:12px}}

/* ===== v1.7.1b：スライド操作はドット（＿＿＿）タップ＋スワイプに統一 ===== */
.sdots button{width:22px;height:24px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.sdots button::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#C9D0D2;transition:background .4s}
.sdots button.on::after{background:var(--ink)}
.sctrl{padding-top:6px}
@media(max-width:700px){
  .sctrl{justify-content:center}
  .sctrl .sdots{margin-right:0}
  .sdots{gap:8px}
  .sdots button{width:28px}
  /* 設備スライダーもスマホは矢印・枚数なし */
  .fb-prev,.fb-next,.fb-count{display:none!important}
  .fb-ctrl{justify-content:center;margin-top:6px}
  .fb-ctrl .fb-dots{margin-right:0;gap:8px}
  .fb-dots button{width:28px;height:24px;padding:0}
  .fb-dots button::after{top:50%;background:#C9D0D2}
  .fb-dots button.on::after{background:var(--ink)}
}
.din-hero img{object-position:50% 62%}

/* ===== 一棟貸し（/whole-villa/） ===== */
.wv-spec{display:flex;justify-content:center;flex-wrap:wrap;gap:12px clamp(26px,4vw,56px);margin-top:clamp(34px,4vw,48px);list-style:none;padding:0}
.wv-spec li{display:flex;align-items:baseline;gap:6px;font-size:12px;letter-spacing:.14em;color:#5A6468}
.wv-spec b{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.2vw,38px);color:var(--ink);letter-spacing:.02em}
.wv-head{text-align:center;margin-bottom:clamp(34px,4.6vw,56px)}
.wv-head h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.6vw,46px);letter-spacing:.05em}
.wv-head .jp{font-size:12.5px;letter-spacing:.2em;color:#4A5559;margin-top:10px}
.wv-rooms{padding:clamp(70px,9vw,120px) 0;background:var(--wash)}
.wv-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.wv-room{display:block;color:var(--ink)}
.wv-room figure{overflow:hidden;margin:0}
.wv-room img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform 1.6s cubic-bezier(.2,.7,.3,1)}
.wv-room:hover img{transform:scale(1.03)}
.wv-room-no{margin-top:20px;font-family:var(--display);font-size:12px;letter-spacing:.24em;color:#8FA7AF}
.wv-room h3{margin-top:6px;font-family:var(--display);font-weight:400;font-size:clamp(24px,2.6vw,32px);letter-spacing:.04em}
.wv-room h3 small{margin-left:12px;font-family:var(--mincho);font-size:13px;letter-spacing:.2em;color:#5A6468}
.wv-room-catch{margin-top:10px;font-family:var(--mincho);font-size:15px;letter-spacing:.1em}
.wv-room-spec{margin-top:6px;font-size:12px;letter-spacing:.1em;color:#5A6468}
.wv-room-go{display:inline-block;margin-top:16px;font-size:12px;letter-spacing:.14em;border-bottom:1px solid currentColor;padding-bottom:4px}
.wv-room:hover .wv-room-go{color:var(--deep)}
.wv-terrace{padding:clamp(70px,9vw,120px) 0}
.wv-terrace .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:center}
.wv-terrace figure{margin:0}
.wv-terrace img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.wv-en{font-family:var(--display);font-size:13px;letter-spacing:.24em;color:#8FA7AF}
.wv-terrace h3{margin-top:10px;font-family:var(--mincho);font-weight:400;font-size:clamp(20px,2.2vw,26px);letter-spacing:.12em;line-height:1.7}
.wv-terrace-txt p:last-child{margin-top:20px;font-size:13.5px;line-height:2.2;color:#40484B;letter-spacing:.04em}
.wv-for{padding:0 0 clamp(70px,9vw,120px)}
.wv-for-list{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 12px;list-style:none;padding:0}
.wv-for-list li{padding:10px 22px;border:1px solid #C9D0D2;border-radius:999px;font-size:13px;letter-spacing:.12em}
.wv-meal{padding:clamp(70px,9vw,120px) 0;text-align:center}
.wv-meal-txt{font-size:13.5px;line-height:2.2;color:#40484B;letter-spacing:.04em}
.whole-villa .other-room{padding-top:0}
@media(max-width:700px){
  .wv-room-grid{grid-template-columns:1fr;gap:44px}
  .wv-room img{width:calc(100% + 2*var(--pad));max-width:none;margin-inline:calc(-1*var(--pad))}
  .wv-terrace .wrap{grid-template-columns:1fr}
  .wv-spec{gap:10px 24px}
}

/* --- 一棟貸し v2 --- */
.wv-hero-en{font-family:var(--display);font-size:clamp(13px,1.2vw,16px);letter-spacing:.3em;color:rgba(255,255,255,.85)}
.wv-hero-ja{margin-top:10px;font-family:var(--mincho);font-weight:400;font-size:clamp(36px,5.2vw,68px);letter-spacing:.16em;line-height:1.2;color:#fff}
/* 概要：2段×2列 */
.wv-spec{display:grid;grid-template-columns:repeat(2,minmax(0,200px));justify-content:center;gap:0;margin-top:clamp(36px,4.4vw,52px);border-top:1px solid #D5DBDD}
.wv-spec li{flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:20px 10px;border-bottom:1px solid #D5DBDD}
.wv-spec li:nth-child(odd){border-right:1px solid #D5DBDD}
.wv-spec li>span:first-child:not(:only-child){order:-1}
/* Rooms：各部屋の2F・1Fを1枚ずつ */
.wv-room{display:flex;flex-direction:column;gap:14px}
.wv-room-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.wv-room-h h3{margin:0}
.wv-room-spec{margin:0}
.wv-floor{position:relative;margin:0;overflow:hidden}
.wv-floor img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:none}
.wv-floor figcaption{position:absolute;left:0;bottom:0;display:flex;align-items:baseline;gap:10px;padding:9px 14px;background:rgba(10,16,18,.55);color:#fff;font-size:12px;letter-spacing:.12em;backdrop-filter:blur(4px)}
.wv-floor figcaption b{font-family:var(--display);font-weight:400;font-size:16px;letter-spacing:.06em}
.wv-room-go{align-self:flex-start;margin-top:6px;color:var(--ink)}
.wv-room-go:hover{color:var(--deep)}
.wv-room:hover img{transform:none}
/* 食卓の写真 */
.wv-dining{margin:clamp(44px,6vw,80px) 0 0}
.wv-dining img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 55%;display:block}
@media(max-width:700px){
  .wv-spec{grid-template-columns:repeat(2,1fr)}
  .wv-room img{width:100%;margin-inline:0}
  .wv-floor{margin-inline:calc(-1*var(--pad))}
  .wv-dining img{aspect-ratio:4/3}
}
.wv-spec li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 10px}
.wv-spec .k{font-size:11px;letter-spacing:.24em;color:#5A6468}
.wv-spec b{display:flex;align-items:baseline;gap:4px;line-height:1}
.wv-spec b small{font-family:var(--body,inherit);font-size:12px;letter-spacing:.1em;color:#5A6468}
/* 一棟貸し：間取り図（TOPと同じ表現） */
.wv-diagram{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:clamp(10px,2vw,24px);max-width:860px;margin:0 auto}
.wv-dh{text-align:center;padding-bottom:16px;font-family:var(--display);font-size:clamp(20px,2.4vw,30px);letter-spacing:.08em}
.wv-dh small{display:block;margin-top:6px;font-family:inherit;font-size:12px;letter-spacing:.24em;color:#4A5559}
.wv-fl{border:1px solid #D5DBDD;padding:18px 12px;text-align:center;font-size:13.5px;letter-spacing:.08em;line-height:1.7;background:var(--paper)}
.wv-fl+.wv-fl{border-top:0}
.wv-fl b{display:block;font-weight:500;font-size:11px;letter-spacing:.22em;opacity:.62;margin-bottom:6px}
.wv-fl.live{background:var(--deep);border-color:var(--deep);color:#fff}
.wv-dcol--b .wv-fl.live{background:#A9C0C5;border-color:#A9C0C5;color:var(--ink)}
.wv-plus{align-self:center;margin-top:48px;font-size:clamp(20px,2.4vw,28px);color:#8A9296}
.wv-dnote{margin:22px auto clamp(44px,6vw,72px);text-align:center;font-size:13px;letter-spacing:.06em;line-height:2;color:#40484B;word-break:auto-phrase}
@media(max-width:700px){.wv-fl{padding:13px 6px;font-size:12px}.wv-plus{margin-top:40px}}
/* --- 一棟貸し v3：概要はシンプルに／図と写真を一体に --- */
.wv-spec{display:flex;justify-content:center;flex-wrap:wrap;gap:18px clamp(34px,5vw,72px);border:0;margin-top:clamp(36px,4.4vw,52px)}
.wv-spec li{border:0!important;padding:0}
.wv-plan{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(12px,2vw,26px);align-items:start}
.wv-pcol{display:flex;flex-direction:column}
.wv-ph{margin:0 0 14px;text-align:center;font-family:var(--display);font-weight:400;font-size:clamp(22px,2.6vw,32px);letter-spacing:.06em}
.wv-pfloor{border:1px solid #D5DBDD;border-bottom:0;background:var(--paper)}
.wv-pfloor:last-of-type{border-bottom:1px solid #D5DBDD}
.wv-plab{display:flex;align-items:baseline;justify-content:center;gap:12px;padding:12px 10px;font-size:13px;letter-spacing:.1em}
.wv-plab b{font-weight:500;font-size:11px;letter-spacing:.22em;opacity:.62}
.wv-pfloor.live{border-color:var(--deep)}
.wv-pfloor.live .wv-plab{background:var(--deep);color:#fff}
.wv-pcol--shallow .wv-pfloor.live{border-color:var(--shallow)}
.wv-pcol--shallow .wv-pfloor.live .wv-plab{background:var(--shallow);color:var(--ink)}
.wv-pimgs{display:grid;gap:2px}
.wv-pimgs.n2{grid-template-columns:1fr 1fr}
.wv-pimgs img{width:100%;display:block;object-fit:cover;aspect-ratio:3/2}
.wv-pimgs.n2 img{aspect-ratio:3/4}
.wv-plan .wv-plus{align-self:center;margin-top:40px;font-size:clamp(20px,2.4vw,28px);color:#8A9296}
.wv-pcol .wv-room-go{margin-top:16px;align-self:center}
.wv-rooms .wv-dnote{margin:28px auto 0}
@media(max-width:700px){
  .wv-plan{grid-template-columns:1fr}
  .wv-plan .wv-plus{margin:0;justify-self:center}
  .wv-spec{gap:16px 28px}
}
/* 概要：2段×2列、中央に細い区切り線 */
.wv-spec{display:grid;grid-template-columns:repeat(2,minmax(0,170px));justify-content:center;gap:0;margin-top:clamp(36px,4.4vw,52px)}
.wv-spec li{padding:18px 10px!important}
.wv-spec li:nth-child(odd){border-right:1px solid #D5DBDD!important}
.wv-spec li:nth-child(-n+2){border-bottom:1px solid #D5DBDD!important}
.wv-spec .n{font-size:10.5px;letter-spacing:.1em;color:#7A8387}
/* 一棟貸し：リード文は「、」で改行させる／SPは大きく。テラスはSPで文→写真の順 */
.wv-intro span{display:inline-block}
@media(max-width:700px){
  .whole-villa .wv-intro{font-size:min(5vw,21px);letter-spacing:.06em;line-height:2}
  .wv-terrace-txt{order:-1}
}
.wv-dining+.wrap .wv-for-list{margin-top:clamp(28px,4vw,44px)}
.wv-for .wv-dining{margin-top:clamp(28px,4vw,48px)}
