/* Unified member page. Original photographs and existing rule diagrams. */
.header .brand{background:#263d34;padding:4px 8px}
:root{--paper:#f7f4ed;--ink:#263d34;--muted:#60685e;--line:#d8cfbc;--gold:#927747;--red:#873f35;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:#e9e5da;color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:#e9e5da url('./images/asanoha.svg') repeat;font-size:15px;line-height:1.95;-webkit-text-size-adjust:100%}a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}img{max-width:100%}.site{max-width:760px;margin:0 auto;background:var(--paper)}.skip{position:fixed;top:-100px;left:12px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:8px}
h1,h2,h3,.member-scene figcaption{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.06em}h1{font-size:38px;line-height:1.4;margin:10px 0 18px}h2{font-size:27px;line-height:1.6;margin:6px 0 12px}h3{font-size:20px;line-height:1.7;margin:0 0 8px}p{margin:0 0 16px}.header{position:sticky;top:0;z-index:20;min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:#f7f4edf5;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand img{display:block;width:166px;height:40px;object-fit:contain}.header-note{font-size:11px;line-height:1.6;letter-spacing:.08em;text-align:right;color:var(--muted)}
.hero{padding:0 24px 36px;text-align:center}.member-scene{margin:0 -24px 26px;position:relative}.member-scene img{display:block;width:100%;height:220px;object-fit:cover}.member-scene figcaption{background:var(--ink);color:#f8f3e6;padding:14px 20px;font-size:17px;letter-spacing:.13em}.eyebrow,.section-kicker{color:var(--gold);font-size:11px;letter-spacing:.16em;margin:0 0 6px}.hero-lead{font-size:15px;line-height:1.9}.member-badge{display:flex;align-items:center;justify-content:center;gap:12px;padding:17px 0;margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.line-icon{font-size:10px;letter-spacing:.06em;border:1px solid #9bac9e;padding:7px;color:var(--ink)}.member-badge strong{display:block;font-weight:600;font-size:14px}.member-badge span{display:block;font-size:12px;color:var(--muted)}.notice{text-align:left;border-left:3px solid var(--red);padding:4px 0 4px 14px;font-size:14px}.notice strong{font-weight:600;color:var(--red)}.membership-detail{font-size:12px;color:var(--muted);text-align:left}.hero-actions{display:grid;gap:12px;margin-top:22px}.primary,.button,.map,.rules-cta a{display:flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:12px 18px;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:14px;font-weight:500}.text-link{font-size:13px;padding:7px}.price-notice{margin:18px 0 0;font-size:12px;color:var(--muted)}
.section{padding:42px 24px;border-top:1px solid var(--line)}.section-head{margin-bottom:26px}.section-head>p:not(.section-kicker){font-size:14px;color:var(--muted);margin-bottom:0}.prohibitions{display:grid}.prohibition{display:grid;grid-template-columns:82px minmax(0,1fr);gap:18px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}.prohibition h3{font-size:20px;color:var(--red);letter-spacing:.025em}.prohibition p{font-size:14px;margin:0;line-height:1.9}.rule-illustration{width:82px;height:82px;display:block}.caption{font-size:12px;color:var(--muted);margin:12px 0 0}.principles{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.principle{border-top:1px solid var(--line);padding:20px 0}.principle>span{display:inline-grid;place-items:center;min-width:30px;height:30px;border:1px solid #b9c3b8;color:var(--ink);margin-bottom:10px;font-size:15px}.principle h3{font-size:18px;letter-spacing:0}.principle p{font-size:14px;color:var(--muted);margin:0}.rules-cta{margin-top:22px;padding:24px;background:#ece8dc;border-top:2px solid var(--gold)}.rules-cta strong{display:block;font-family:"Yu Mincho",serif;font-size:21px;font-weight:500}.rules-cta p{font-size:13px;margin:6px 0 16px}.forgotten{background:#eee9df}.forgotten-box{padding:0 0 0 16px;border-left:3px solid var(--red)}.forgotten-box h3{font-size:21px;color:var(--red)}.forgotten-box p{font-size:15px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fact{border-top:1px solid #c8bfae;padding-top:12px}.fact span{display:block;font-size:12px;color:var(--muted)}.fact strong{display:block;font-size:17px;font-weight:500}
.hours{background:var(--ink);color:var(--paper)}.hours .section-kicker{color:#dac79f}.hours .section-head>p:not(.section-kicker),.hours-note{color:#d9dfd7}.price-card{background:var(--paper);color:var(--ink);padding:18px;margin:26px 0}.price-table{border-collapse:collapse;width:100%;table-layout:fixed;text-align:center}.price-table caption{text-align:left;font-size:17px;font-weight:600;padding-bottom:16px}.price-table caption span{display:block;font-size:12px;font-weight:400;color:var(--muted)}.price-table th,.price-table td{border-bottom:1px solid var(--line);padding:12px 5px}.price-table thead th{font-size:12px;line-height:1.7;font-weight:500}.price-table tbody th{font-size:13px;font-weight:500}.price-table td{font-size:23px;font-variant-numeric:tabular-nums;white-space:nowrap}.price-table td small{font-size:12px}.new-price{background:#e6ebdf}.hours-grid{display:grid;gap:18px}.hours-card{padding:20px;border:1px solid #809085}.hours-card h3{font-size:18px;color:#e4d3ad}.time{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #ffffff21}.time span{font-size:12px}.time strong{font-size:25px;white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums}.reception{font-size:13px;margin:12px 0 0}.reception b{color:#f0dcc2;font-weight:500}.closed{background:#f3eee0;color:var(--ink);padding:18px;margin-top:18px;font-size:14px}.closed strong{display:block;font-size:22px;font-weight:500}.hours-note{font-size:13px}.tickets{display:grid;gap:20px}.info-card{border-top:1px solid var(--line);padding-top:20px}.info-card p{font-size:14px;color:var(--muted);margin:0}.gate-note strong{display:block;color:var(--ink);font-weight:500}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.button.shop{background:transparent;color:var(--ink)}
.related-grid{display:grid}.related-card{display:block;text-decoration:none;border-top:1px solid var(--line);padding:20px 0}.related-card strong{font-family:"Yu Mincho",serif;font-size:19px;font-weight:500}.related-card span{display:block;color:var(--muted);font-size:14px;margin-top:6px}.related-card em{display:block;color:var(--gold);font-style:normal;font-size:13px;margin-top:8px}.photo{display:block;width:100%;height:auto;margin-bottom:20px}.address{font-size:16px}.address-note{font-size:14px;color:var(--muted)}.map{background:transparent;color:var(--ink)}.social{display:flex;gap:24px;margin-top:22px;font-size:14px}.footer{background:var(--ink) url('./images/asanoha.svg');color:var(--paper);text-align:center;padding:32px 24px calc(120px + env(safe-area-inset-bottom))}.footer p{font-size:12px;margin:14px 0 0;color:#d1d9cc}
.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));background:#263d34;border-top:1px solid #ae986e;box-shadow:0 -4px 20px #192c2420}.bottom-nav a{min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:7px 0;text-decoration:none;color:#f5f0df}.bottom-nav svg{width:25px;height:25px;flex-shrink:0}.bottom-nav span{font-size:11px;white-space:nowrap}.bottom-nav a:hover{background:#40574b}.bottom-nav a[aria-current]{background:var(--paper);color:var(--ink)}.bottom-nav .nav-prohibited[aria-current] svg{color:var(--red)}
@media(min-width:620px){.hero{padding:0 42px 40px}.member-scene{margin:0 -42px 30px}.member-scene img{height:300px}.section{padding:48px 42px}.hours-grid{grid-template-columns:1fr 1fr}.time strong{font-size:22px}.hero-actions{grid-template-columns:1fr 1fr;align-items:center}.header{padding-inline:42px}.member-badge{justify-content:flex-start}.hero h1{font-size:42px}.hero-lead{font-size:17px}}
@media(max-width:360px){.section{padding-inline:18px}.prohibition{grid-template-columns:66px minmax(0,1fr);gap:12px}.rule-illustration{width:66px;height:66px}.prohibition h3{font-size:18px}.principles{gap:0 16px}.price-card{padding:12px}.time strong{font-size:23px}.bottom-nav span{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Softer typography and surfaces, 2026-09-20. */
:root{font-family:"Hiragino Maru Gothic ProN","BIZ UDPGothic",Meiryo,sans-serif;--paper:#faf7ef;--ink:#304c40;--muted:#536358;--line:#e2ddce}
body{font-size:16px;font-weight:500;line-height:1.95}
h1,h2,h3,.rules-cta strong,.related-card strong{font-family:inherit;font-weight:700;letter-spacing:.025em}
h1{font-size:36px}h2{font-size:25px}h3{font-size:19px}
.member-scene figcaption{font-family:inherit;font-weight:600;background:#405e50;letter-spacing:.09em;border-radius:0 0 24px 24px}
.header .brand{border-radius:10px;background:#405e50}
.hero-lead,.section-head>p:not(.section-kicker),.prohibition p,.principle p,.info-card p,.related-card span,.address-note{font-size:15px;color:var(--ink);font-weight:500}
.header-note,.membership-detail,.caption,.price-notice{font-size:13px}
.eyebrow,.section-kicker{font-size:12px;font-weight:700;letter-spacing:.1em}
.member-badge{background:#edf1e7;border:0;border-radius:16px;padding:18px 16px}.member-badge strong{font-size:15px;font-weight:700}.line-icon{border-radius:9px;background:#fffdf7}
.notice{background:#f5ece3;border:0;border-radius:14px;padding:16px;font-size:15px}.notice strong{font-weight:700}
.primary,.button,.map,.rules-cta a{border-radius:14px;font-size:15px;font-weight:700}.text-link{font-size:14px;font-weight:600}
.prohibitions{gap:14px}.prohibition{border:1px solid #e6dfd1;border-radius:18px;padding:20px 14px;background:#fffdf7;gap:14px}.prohibition h3{font-size:19px;font-weight:700}.rule-illustration{background:#f3f0e7;border-radius:50%;padding:4px}
.principle>span{border-radius:50%;background:#eaf0e5;border:0;width:38px;height:38px;font-weight:700}.principle h3{font-size:17px}
.rules-cta,.price-card,.hours-card,.closed{border-radius:18px}.rules-cta{background:#eaf0e5;border-top:0}.rules-cta strong{font-size:20px}.rules-cta p{font-size:14px}
.forgotten{background:#f2eee4}.forgotten-box h3{font-size:20px}.fact strong,.time strong,.closed strong,.price-table tbody th,.reception b{font-weight:700}
.hours-card{background:#ffffff09;border-color:#9bab9a}.hours-card h3{font-weight:700}.hours .section-head>p:not(.section-kicker){color:#edf0e8}
.related-card strong{font-size:18px}.photo{border-radius:18px}.bottom-nav a{border-radius:12px}.bottom-nav span{font-size:12px;font-weight:700}
@media(max-width:360px){.prohibition{grid-template-columns:60px minmax(0,1fr);padding:18px 12px;gap:10px}.rule-illustration{width:60px;height:60px}.prohibition h3{font-size:17px}.bottom-nav span{font-size:11px}}
