:root{--bg: #faf8f4;--surface: #ffffff;--surface-alt: #f1ede5;--text: #26303f;--text-soft: #545d6b;--muted: #8a93a0;--navy: #1f2a3d;--navy-deep: #182233;--on-dark: #f6f3ec;--on-dark-soft: #c9cdd4;--accent: #c1814d;--accent-press: #a86c3b;--on-accent: #ffffff;--border: #e3ddd0;--warn-bg: #f7ede2;--warn-line: #9a6536;--focus: #1f2a3d;--focus-on-dark: var(--on-dark);--font-serif: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;--font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;--maxw: 760px;--gutter: 16px;--tap: 48px;--radius: 6px;--color-bg: var(--bg);--color-bg-alt: var(--surface-alt);--color-text: var(--text);--color-accent: var(--navy);--color-border-soft: var(--border)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.75;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}h1,h2,h3{font-family:var(--font-serif);font-weight:500;line-height:1.4;letter-spacing:.02em;color:var(--text)}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg,iframe{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}strong{font-weight:700}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.site-header :focus-visible,.site-footer :focus-visible,.emergency-band :focus-visible{outline-color:var(--focus-on-dark)}.site-header .lang-menu :focus-visible{outline-color:var(--focus)}[hidden],.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.w-full{width:100%}.h-auto{height:auto}.h-full{height:100%}.object-cover{object-fit:cover}.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}@media(min-width:768px){:root{--gutter: 32px}}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft);font-weight:500}.icon{width:22px;height:22px;flex-shrink:0}.chev{width:18px;height:18px;flex-shrink:0;color:var(--muted)}.row-title,.row-text,.card-link .title,.card-link .text,.card-link .more,.emergency-band .title,.emergency-band .text{display:block}.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:var(--on-dark)}.site-header .container,.site-footer .container{max-width:1120px}.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:64px}.brand{min-width:0;overflow:hidden;display:flex;flex-direction:column;line-height:1.2;min-height:var(--tap);justify-content:center}.brand-name{font-family:var(--font-serif);font-size:12.5px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:420px){.brand-name{font-size:15px;letter-spacing:.06em}}.brand-sub{font-size:10px;letter-spacing:.24em;color:var(--on-dark-soft)}.header-tools{display:flex;align-items:center;gap:0;flex-shrink:0}.nav-desktop{display:none;gap:20px;font-size:14px;margin-right:12px}.nav-desktop a{color:var(--on-dark-soft)}.nav-desktop a:hover{color:var(--on-dark)}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);color:var(--on-dark)}.mobile-menu{border-top:1px solid rgba(255,255,255,.12)}.mobile-menu .container{display:flex;flex-direction:column;padding-top:4px;padding-bottom:8px}.mobile-menu a{display:flex;align-items:center;min-height:var(--tap);font-size:15px;border-bottom:1px solid rgba(255,255,255,.08)}.mobile-menu a:last-child{border-bottom:0}@media(min-width:1024px){.nav-desktop{display:flex}.menu-toggle,.mobile-menu{display:none!important}}.lang-switch{position:relative}.lang-switch>summary{display:flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 10px;border:1px solid rgba(246,243,236,.45);border-radius:9999px;font-size:14px;line-height:1;white-space:nowrap;color:var(--on-dark);cursor:pointer}.site-header .lang-switch[open]>summary{border-color:var(--on-dark);color:var(--on-dark)}.lang-switch>summary svg{flex-shrink:0}.lang-menu{position:absolute;right:0;margin-top:8px;min-width:176px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #1f2a3d29;padding:6px 0;z-index:60}.lang-menu a{display:flex;align-items:center;min-height:var(--tap);padding:0 16px;font-size:15px;color:var(--text)}.lang-menu a[aria-current=true]{font-weight:700;box-shadow:inset 3px 0 0 var(--navy)}.backbar{border-bottom:1px solid var(--border);background:var(--surface-alt)}.backlink{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);font-size:14px;color:var(--text-soft)}.backlink:hover{color:var(--text)}.backlink .chev{color:var(--text-soft)}.page-hero{padding:32px 0 24px}.page-hero h1{font-size:26px;margin-top:6px}.page-hero .lead{margin-top:12px;color:var(--text-soft)}@media(min-width:768px){.page-hero{padding:48px 0 32px}.page-hero h1{font-size:32px}}.section{padding:8px 0 48px}.section-alt{padding:32px 0 48px;background:var(--surface-alt);border-top:1px solid var(--border)}.section-title{font-size:20px;margin-bottom:8px}.section-lead{color:var(--text-soft);font-size:15px;margin-bottom:20px}.toc{margin:20px 0 8px;padding:14px 16px;background:var(--surface-alt);border:1px solid var(--border);border-radius:10px}.toc-label{font-size:12px;letter-spacing:.08em;color:var(--text-soft);font-weight:700;margin:0 0 10px;text-transform:uppercase}.toc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.toc-list li,.prose .toc-list>li{min-width:0;padding-left:0;margin:0}.prose .toc-list>li:before{content:none}.prose .toc-list{margin:0}.toc-list a{display:flex;align-items:center;min-height:44px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:9999px;font-size:13px;line-height:1.35;color:var(--text);text-decoration:none}.toc-list a:hover{border-color:var(--navy)}.prose{color:var(--text)}.prose h2{font-size:20px;margin:36px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border);scroll-margin-top:80px}.prose h3{font-size:17px;margin:24px 0 8px}.prose p{margin:12px 0}.prose>:first-child{margin-top:0}.prose ul{margin:12px 0}.prose ul>li{position:relative;padding-left:20px;margin:8px 0}.prose ul>li:before{content:"";position:absolute;left:4px;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--muted)}.prose a:not([class]),.text-link{color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:500}.prose a:not([class]):hover,.text-link:hover{text-decoration-thickness:2px}.prose .note{font-size:14px;color:var(--text-soft)}.prose .back{margin-top:32px}.prose p:has(>a+br){line-height:2.6}.steps{counter-reset:step;margin:16px 0 24px}.steps>li{counter-increment:step;position:relative;padding:2px 0 20px 46px}.steps>li:before{content:counter(step);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--surface);border:1px solid var(--navy);color:var(--navy);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.steps>li:after{content:"";position:absolute;left:15px;top:34px;bottom:2px;width:1px;background:var(--border)}.steps>li:last-child{padding-bottom:4px}.steps>li:last-child:after{display:none}.steps-solid>li:before{background:var(--navy);color:var(--on-dark)}.legend{margin-top:0}.legend>li{padding-bottom:10px}.legend>li:after{display:none}.callout{margin:16px 0;padding:16px 18px;border-radius:var(--radius)}.callout-info{background:var(--surface-alt);border:1px solid var(--border);border-left:4px solid var(--navy)}.callout-warn{background:var(--warn-bg);border:1px solid #ecdcc8;border-left:4px solid var(--warn-line)}.callout-spaced{margin-top:40px}.callout .callout-h{font-size:16px;margin:0 0 6px;padding:0;border:0;font-family:var(--font-sans);font-weight:700}.callout p{margin:4px 0}.callout .small{font-size:14px}.callout .tel{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--navy);text-decoration:underline;text-underline-offset:4px}.pdf-card{margin:24px 0;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.pdf-card-head{display:flex;gap:14px;align-items:flex-start}.pdf-card-icon{width:44px;height:44px;border-radius:8px;background:var(--surface-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--navy)}.pdf-card h2,.pdf-card h3{font-size:18px;margin:0;padding:0;border:0}.pdf-card .eyebrow{margin-bottom:2px}.pdf-card .desc{font-size:15px;color:var(--text-soft);margin:6px 0 0}.pdf-card .note{font-size:13px;color:var(--text-soft);margin:12px 0 0;line-height:1.7}.pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin-top:16px;padding:10px 16px;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-size:19px;font-weight:700;line-height:1.3;text-align:center}.btn-primary:hover{background:var(--accent-press)}.btn-primary .size{font-weight:700;white-space:nowrap}.btn-caption{font-size:13px;color:var(--text-soft);text-align:center;margin-top:6px}.pdf-link{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.pdf-link:hover{border-color:var(--navy)}.pdf-link .icon{width:20px;height:20px;color:var(--navy)}.pdf-link .t{display:flex;flex-direction:column;min-width:0;line-height:1.35}.pdf-link .label{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-link .size{font-size:12px;color:var(--text-soft)}.card-link{display:flex;align-items:center;gap:12px;min-height:64px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.card-link:hover{border-color:var(--navy)}.card-link .body{flex:1;min-width:0}.card-link .title{font-family:var(--font-serif);font-size:17px;font-weight:500;line-height:1.45}.card-link .text{font-size:14px;color:var(--text-soft);margin-top:4px;line-height:1.65}.card-link .more{font-size:13px;font-weight:500;color:var(--navy);margin-top:8px}.card-stack{display:grid;gap:12px}@media(min-width:768px){.card-stack.cols-2{grid-template-columns:1fr 1fr}}.row-list{border-top:1px solid var(--border)}.row-list a{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 2px;border-bottom:1px solid var(--border)}.row-list a:hover .row-title{text-decoration:underline;text-underline-offset:3px}.row-list .row-body{flex:1;min-width:0}.row-list .row-title{font-weight:700;font-size:16px;line-height:1.45}.row-list .row-text{font-size:14px;color:var(--text-soft);line-height:1.6;margin-top:2px}.home-head{padding:28px 0 20px}.home-head h1{font-size:28px;margin-top:6px}.home-head .lead{margin-top:12px;color:var(--text-soft)}.home-photo{border-radius:10px;overflow:hidden;background:var(--surface-alt);aspect-ratio:4 / 3}.home-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}@media(min-width:768px){.home-head{padding:48px 0 28px}.home-head h1{font-size:34px}.home-photo{aspect-ratio:16 / 9}}.home-map{margin-top:20px}.home-map .map-frame{aspect-ratio:auto;height:240px;margin-bottom:12px}.home-map .row-list{margin-bottom:8px}@media(min-width:768px){.home-map{margin-top:28px}.home-map .map-frame{height:320px}}.stages{margin-top:28px}.tablist{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--surface-alt);border:1px solid var(--border);border-radius:10px}.tab{min-height:56px;padding:6px 4px;border-radius:7px;color:var(--text-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25;text-align:center}.tab .tab-step{font-size:11px;letter-spacing:.12em}.tab .tab-name{font-size:14px;font-weight:700}.tab[aria-selected=true]{background:var(--navy);color:var(--on-dark)}.stage-panel{margin-top:16px;padding:20px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.stage-panel+.stage-panel{margin-top:16px}.stage-label{font-size:13px;letter-spacing:.12em;color:var(--text-soft);font-family:var(--font-sans);font-weight:700;margin-bottom:8px}.stage-panel h3{font-size:19px;margin-bottom:4px}.stage-panel .callout{margin:12px 0 16px}.stage-panel .callout-h{font-size:15px}.stage-panel .desc{font-size:15px;color:var(--text-soft)}.stage-panel .lock-note{font-size:13px;color:var(--text-soft);margin-top:10px;line-height:1.7}.js-tabs .stage-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:112px;padding:16px 10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-align:center;font-weight:700;font-size:15px;line-height:1.4}.tile:hover{border-color:var(--navy)}.tile .icon{width:26px;height:26px;color:var(--navy)}.stage-list{margin-top:36px}.stage-list h2{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--text-soft);margin:28px 0 8px}.stage-list h2:first-child{margin-top:0}.emergency-band{margin-top:48px;background:var(--navy-deep);color:var(--on-dark)}.emergency-band a{display:flex;align-items:center;gap:14px;min-height:80px;padding:18px 0}.emergency-band .t{flex:1;min-width:0}.emergency-band .title{font-weight:700;font-size:17px}.emergency-band .text{font-size:14px;color:var(--on-dark-soft);margin-top:2px}.emergency-band .chev{color:var(--on-dark)}.figures{display:grid;gap:16px;margin-bottom:8px}@media(min-width:768px){.figures{grid-template-columns:repeat(3,1fr)}.figures.cols-2{grid-template-columns:1fr 1fr}}.figure-frame{overflow:hidden;background:var(--surface-alt);border-radius:8px}.figure figcaption{font-size:13px;color:var(--text-soft);margin-top:8px;line-height:1.6}.figure-inline{--fig-maxh: min(55vh, 460px);max-width:min(100%,calc(var(--fig-maxh) * var(--ar)),560px);margin:16px auto 24px}.map-frame{aspect-ratio:4 / 3;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:var(--surface-alt);margin-bottom:20px}@media(min-width:768px){.map-frame{aspect-ratio:16 / 10}}.address-ja{font-weight:700}.address-en{font-size:14px;color:var(--text-soft)}.faq-group{margin-bottom:36px}.faq-group h2{font-size:19px;padding-bottom:10px;border-bottom:1px solid var(--border);scroll-margin-top:80px}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 0;cursor:pointer;list-style:none;font-weight:500}.faq-item summary::-webkit-details-marker{display:none}.faq-item .plus{width:18px;height:18px;color:var(--navy);flex-shrink:0;transition:transform .15s}.faq-item[open] .plus{transform:rotate(45deg)}.faq-item .answer{padding:0 0 16px;font-size:15px;color:var(--text-soft)}.faq-item .answer a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}.place-group{margin-bottom:40px}.place-group>h2{font-size:20px;padding-bottom:10px;margin-bottom:16px;border-bottom:1px solid var(--border);scroll-margin-top:80px}.place-list{display:grid;gap:16px}@media(min-width:768px){.place-list.cols-2{grid-template-columns:1fr 1fr}}.place{padding:20px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0}.place h3{font-size:18px}.place .catch{font-size:15px;font-weight:700;color:var(--navy);margin-top:4px}.place .desc{font-size:15px;color:var(--text-soft);margin-top:8px}.place dl{display:grid;gap:10px;margin-top:14px;font-size:14px}@media(min-width:768px){.place dl.two{grid-template-columns:1fr 1fr;column-gap:24px}.place dl.two .wide{grid-column:span 2}}.place dt{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text-soft)}.place dl.inline dt{display:inline;margin-right:8px}.place dl.inline dd{display:inline}.place .point{font-size:14px;margin-top:14px;padding:10px 12px;background:var(--surface-alt);border-radius:var(--radius)}.place .point span{font-weight:700}.place .map{display:inline-flex;align-items:center;min-height:var(--tap);margin-top:6px}.footnote{font-size:13px;color:var(--text-soft);margin-top:24px}.back-bottom{margin-top:32px}.back-bottom a{display:inline-flex;align-items:center;min-height:var(--tap)}.site-footer{background:var(--navy);color:var(--on-dark);margin-top:0}main{padding-bottom:48px}main:has(.emergency-band:last-child){padding-bottom:0}.site-footer .inner{padding-top:36px;padding-bottom:20px;display:grid;gap:28px}@media(min-width:768px){.site-footer .inner{grid-template-columns:1fr 1fr}}.site-footer .help{font-size:13px;color:var(--on-dark-soft);margin-top:16px;line-height:1.8}.site-footer .f-heading{font-size:12px;letter-spacing:.12em;color:var(--on-dark-soft);margin-bottom:4px}.site-footer .f-links a{display:flex;align-items:center;min-height:var(--tap);font-size:15px}.site-footer .f-langs{display:flex;gap:16px;margin-top:8px;font-size:14px}.site-footer .f-langs a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--on-dark-soft)}.site-footer .f-langs a.is-current{color:var(--on-dark);font-weight:700}.site-footer .legal{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;padding-bottom:24px;font-size:12px;color:var(--on-dark-soft);display:grid;gap:6px}.fade-in{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}.fade-in.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.fade-in{opacity:1;transform:none;transition:none}}
