/* 承認A：館内の窓と看板。FVの意匠には適用しない。 */
.sign-title{display:inline-block;position:relative;background:var(--ink);color:var(--bg);padding:18px 35px!important;font-size:56px!important;line-height:1.5;letter-spacing:.04em;box-shadow:8px 8px 0 var(--bg);max-width:100%;width:fit-content}.sign-title:before{display:none!important}.section-heading{display:flex;align-items:center;gap:70px;margin-bottom:64px}.section-heading .section-lead{margin:0;max-width:480px}.chapter-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px max(4%,calc((100vw - 1440px)/2));font-size:14px;letter-spacing:.08em;border-bottom:1px solid var(--line)}.first,.seasonal,.events,.access{background:var(--bg) url('../decor/paper-grain.svg') 0 0/900px}.first,.lounge{padding:0}.entry-layout{position:relative;display:grid;grid-template-columns:58% 42%;padding:90px 0 100px;max-width:1600px;margin:auto}.entry-photo{grid-column:1;grid-row:1/3;align-self:start;margin-top:68px;border-block:10px solid var(--ink);border-right:10px solid var(--ink);position:relative;overflow:hidden}.entry-photo img{aspect-ratio:1.25;object-fit:cover}.entry-photo figcaption,.lounge-photo figcaption{background:var(--ink);color:var(--bg);padding:13px 32px;font-size:14px}.entry-title{grid-column:2;grid-row:1;padding:0 40px 30px 0;margin-left:-70px;z-index:1;align-self:start}.entry-title .sign-title{min-width:330px}.entry-title .section-lead{margin:40px 0 0 110px}.entry-body{grid-column:2;grid-row:2;padding:0 48px 0 40px;max-width:530px;align-self:start}.entry-body p+p{margin-top:24px}.entry-body .text-link{margin-top:30px;width:100%;max-width:320px}.window-grid{position:absolute;right:0;top:25px;width:210px;height:145px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;opacity:.3;pointer-events:none}.window-grid i{border:1px solid var(--line)}.threshold{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 4%;border-block:7px solid var(--ink);height:85px;background:var(--face)}.threshold span{border:1px solid var(--line);position:relative}.threshold span:after{content:'';position:absolute;left:50%;height:100%;border-left:1px solid var(--line)}
/* 来店前の情報は一枚の番台の掲示へ */
.visit{padding:105px 0}.visit-grid{grid-template-columns:.9fr 1.1fr;gap:72px}.visit h2{font-size:56px}.visit .sign-title{box-shadow:8px 8px 0 var(--bg)}.visit-data{border:0;outline:0;padding:0 0 0 48px;border-left:1px solid var(--bg)}.opening-hours{gap:12px}.time,.price-list strong{font-size:56px}.price-list>div{padding:16px 0}.price-list dt{font-size:18px}.price-list dd{font-size:28px}
/* 浴場は桟の先へ大きく開く */
.bath-section{padding:105px 0 70px}.bath-section .section-heading{gap:70px}.bath-track{gap:64px;padding:0 48px}.bath-slide{width:min(78vw,1200px)}.bath-slide img{aspect-ratio:1.5;border-block:9px solid var(--ink)}.bath-slide figcaption{margin-top:18px}.bath-slide .window-outline{inset:-12px 24px 60px -12px}.bath-pin{padding-top:20px}.marquee{border-block:3px double var(--line);padding:25px 0}.marquee-track{font-size:45px}
/* 季節の湯：主写真と小さな近景の差 */
.seasonal{padding:90px 0 100px}.seasonal>.ct{width:92%;max-width:1440px}.seasonal .photo-list{grid-template-columns:1.45fr 1fr;gap:56px}.seasonal .story-card{border:0;padding:0}.seasonal .story-card figure{padding:0;border:0}.seasonal .story-card figure:after{display:none}.seasonal .story-card:first-child{margin-left:-4vw}.seasonal .story-card:first-child img{aspect-ratio:1.5;border-block:9px solid var(--ink);border-right:9px solid var(--ink)}.seasonal .story-card:first-child .card-copy{padding-left:4vw;max-width:650px}.seasonal .story-card:nth-child(2){margin-top:150px}.seasonal .story-card:nth-child(2) img{aspect-ratio:1.2}.seasonal .card-copy{padding-top:24px;padding-right:0}.seasonal .aux{border-top:1px solid var(--line);max-width:none;padding-top:24px;margin-top:48px}
/* 休憩所：窓辺の大きな一場面に、手前の読み物を重ねる */
.lounge{border:0;background:var(--face) url('../decor/paper-grain.svg') 0 0/900px}.lounge-scene{position:relative;max-width:1440px;margin:auto;padding:90px 0 105px;display:grid;grid-template-columns:34% 66%}.lounge-title{grid-column:1;grid-row:1;z-index:1;padding:0 0 0 48px;width:500px;margin-bottom:36px}.lounge-title .sign-title{box-shadow:8px 8px 0 var(--face)}.lounge-photo{grid-column:2;grid-row:1/3;margin-top:95px;border:9px solid var(--ink);border-right:0;align-self:start;overflow:hidden}.lounge-photo img{aspect-ratio:1.4;object-fit:cover}.lounge-reading{grid-column:1;grid-row:2;margin-right:-72px;padding:36px 40px 36px 48px;background:var(--face);z-index:1}.lounge-reading .section-lead{margin:0 0 28px}.lounge-reading .text-link{margin-top:28px;width:100%}
/* 催しは館内の掲示に。共通データの本文をそのまま読む */
.events{padding:110px 0 95px}.event-list{gap:64px;border-top:9px solid var(--ink);padding-top:45px;position:relative}.event-list:before{content:'';position:absolute;left:15%;right:15%;top:13px;border-top:1px solid var(--line)}.event-list .story-card{display:flex;flex-direction:column;border:1px solid var(--ink);padding:0;background:var(--face);align-self:start}.event-list .story-card:nth-child(2){margin-top:80px;background:var(--bg)}.event-list .card-copy{order:0;padding:28px 32px 30px;border-bottom:4px double var(--ink);max-width:none}.event-list .card-copy h3{font-size:45px;line-height:1.45;margin:10px 0 22px}.event-list .card-meta{font-size:14px;letter-spacing:.15em}.event-list .story-card figure{order:1;margin:20px;padding:0;border:0}.event-list .story-card img{aspect-ratio:1.5}.event-list .story-card:not([href]):hover{transform:none}
/* 営業情報は密度を上げ、帰り際の案内に接続 */
.news{padding:80px 0;border-block:3px double var(--line)}.news-grid{grid-template-columns:.8fr 1.2fr;gap:72px}.news-row{grid-template-columns:100px 1fr;gap:28px;padding:30px 0}.news-row:hover h3{text-decoration:none}.news-row[href]:hover h3{text-decoration:underline}.access{padding:105px 0}.access-grid{border:0;outline:0;padding:0;grid-template-columns:1fr 1fr;gap:64px}.access .reading-block{border:0;padding:38px 42px;border-block:8px solid var(--ink);background:var(--face);max-width:none}.access-name{font-size:28px}.site-footer{border-top:8px solid var(--ink)}.menu-dialog{border-width:8px;outline:0;padding:32px 40px}.menu-top{border-bottom:1px solid var(--line)}.menu-title{background:var(--ink);color:var(--bg);padding:12px 20px;font-size:28px}.menu-body nav a{padding:13px 0}.menu-body nav a:hover,.footer-bottom nav a:hover{text-decoration:underline;text-underline-offset:6px}
@media(min-width:751px) and (max-width:1100px){.entry-layout{grid-template-columns:55% 45%;padding-top:65px}.entry-title{margin-left:-30px;padding-right:24px}.entry-title .section-lead{margin-left:55px}.entry-body{padding-left:24px;padding-right:24px}.entry-title .sign-title{min-width:0}.visit-grid{gap:40px}.visit-data{padding-left:28px}.time,.price-list strong{font-size:40px}.lounge-scene{grid-template-columns:40% 60%}.lounge-title{padding-left:32px;width:390px}.lounge-reading{padding:28px 32px;margin-right:-45px}.section-heading{gap:40px}.lounge-photo img{aspect-ratio:1}.news-grid{gap:40px}}
@media(min-width:601px) and (max-width:900px){.sign-title{font-size:40px!important}.event-list .card-copy h3{font-size:40px}.section-lead{font-size:20px}.event-list .card-copy{padding:24px}.marquee-track{font-size:40px}.seasonal .section-heading{gap:35px}}
@media(max-width:899px){.bath-track{padding:0 32px;gap:64px}.bath-slide{width:100%}.bath-section .section-heading{display:flex;align-items:center}.bath-section .section-lead{margin:0}.visit-grid{grid-template-columns:1fr}.visit-data{padding:26px 0 0;border-left:0;border-top:1px solid var(--bg)}.event-list{gap:32px}.news-grid{grid-template-columns:1fr;gap:45px}.access-grid{gap:36px}.access .reading-block{padding:28px}.window-grid{display:none}}
@media(max-width:750px){.sign-title{font-size:36px!important;padding:12px 20px!important;box-shadow:5px 5px 0 var(--bg);line-height:1.5}.section-heading{display:block;margin-bottom:38px}.section-heading .section-lead{margin-top:28px}.chapter-top{font-size:12px;padding:16px 24px}.chapter-top span:nth-child(2){display:none}.entry-layout{display:flex;flex-direction:column;padding:45px 0 64px}.entry-title{order:0;padding:0;margin:0 24px;position:relative}.entry-title .sign-title{min-width:0}.entry-title .section-lead{margin:28px 0}.entry-photo{order:1;margin:0 24px 0 0;border-width:6px}.entry-photo img{aspect-ratio:1.25}.entry-photo figcaption,.lounge-photo figcaption{padding:10px 20px}.entry-body{order:2;padding:30px 24px 0;max-width:none}.threshold{height:52px;gap:6px;border-width:4px;padding:7px 24px}.visit{padding:72px 0}.visit-grid{gap:32px}.visit-data{padding-top:28px}.visit .section-lead{margin-top:28px}.time,.price-list strong{font-size:36px}.price-list dd{font-size:24px}.bath-section{padding:64px 0}.bath-section .section-heading{display:block}.bath-section .section-lead{margin-top:28px}.bath-track{padding:0 24px;gap:48px}.bath-slide img{border-width:6px}.bath-slide figcaption{font-size:20px}.marquee-track{font-size:34px}.seasonal{padding:64px 0}.seasonal>.ct{width:calc(100% - 48px)}.seasonal .photo-list{grid-template-columns:1fr;gap:40px}.seasonal .story-card:first-child{margin-left:-24px}.seasonal .story-card:first-child img{border-width:6px}.seasonal .story-card:first-child .card-copy{padding-left:24px}.seasonal .story-card:nth-child(2){margin:0 0 0 38px}.seasonal .aux{margin-top:32px}.lounge-scene{display:flex;flex-direction:column;padding:55px 0 64px}.lounge-title{order:0;width:auto;margin:0 24px 32px;padding:0}.lounge-title .sign-title{box-shadow:5px 5px 0 var(--face)}.lounge-photo{order:1;margin:0 0 0 24px;border-width:6px}.lounge-photo img{aspect-ratio:1.25}.lounge-reading{order:2;margin:0;padding:30px 24px 0;max-width:560px}.events{padding:64px 0}.event-list{grid-template-columns:1fr;gap:40px;border-width:6px;padding-top:28px}.event-list .story-card:nth-child(2){margin-top:0}.event-list .card-copy{padding:22px 24px}.event-list .card-copy h3{font-size:36px;margin-top:10px}.event-list .story-card figure{margin:14px}.news{padding:64px 0}.news-row{grid-template-columns:1fr;gap:8px;padding:24px 0}.news-row h3{font-size:24px}.access{padding:64px 0}.access-grid{grid-template-columns:1fr}.access .reading-block{border-top:6px solid var(--ink);border-bottom:6px solid var(--ink);padding:26px 24px}.access-name{font-size:24px}.menu-dialog{padding:20px 18px;border-width:5px}.menu-title{font-size:20px;padding:8px 12px}.menu-top{gap:6px}.close{min-width:70px;padding:0}.footer-top>p{font-size:20px}}

/* 読みやすい間隔を保ちつつ、写真と建具で節のテンポを変える。 */
@media(min-width:751px){.visit{padding:112px 0}.bath-section{padding:112px 0 88px}.seasonal{padding:112px 0}.events{padding:120px 0 112px}.news{padding:108px 0}.access{padding:112px 0}}
@media(max-width:750px){.bath-section,.seasonal,.events,.news,.access{padding:76px 0}.visit .sign-title{box-shadow:5px 5px 0 var(--bg)}}
@media(min-width:751px){.lounge-photo figcaption{padding-left:110px}}
@media(max-width:1100px){.event-list .card-copy h3{font-size:28px}}

/* 館内の横案内。文字記号を使わず、看板の桟と同じ細さで描く。 */
.arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:32px;flex:none;clip-path:none;transition:transform .25s ease}
.arrow svg{display:block;width:38px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter}
.text-link:hover .arrow,.text-link:focus-visible .arrow,.menu-body nav a:hover .arrow,.menu-body nav a:focus-visible .arrow{clip-path:none;transform:translateX(4px)}
.arrow-up svg{transform:rotate(-90deg)}
.text-link:hover .arrow-up,.text-link:focus-visible .arrow-up{transform:translateY(-4px)}
@media(prefers-reduced-motion:reduce){.text-link:hover .arrow,.text-link:focus-visible .arrow,.menu-body nav a:hover .arrow,.menu-body nav a:focus-visible .arrow{transform:none}}
