
:root {
  --navy:#113851;--navy-deep:#0c2d44;--blue:#137fa7;--blue-strong:#096b92;
  --light:#eaf6fa;--aqua:#56bed2;--ink:#253f50;--text:#4b6676;
  --muted:#6d8491;--line:#d9e7ec;--white:#fff;--surface:#f6fafc;
  --font-ja:'Noto Sans JP','Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;
  --font-en:'DM Sans',Arial,sans-serif;--container:1240px;--header-height:80px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;min-width:300px;color:var(--ink);background:#fff;font:400 15px/1.9 var(--font-ja);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #e8a943;outline-offset:3px}
button,input,select{font:inherit}button{cursor:pointer}img,svg{max-width:100%}svg{vertical-align:middle}
::selection{color:var(--navy);background:#bce7f0}
.container{width:min(calc(100% - 64px),var(--container));margin-inline:auto}
.skip-link{position:fixed;z-index:999;top:10px;left:10px;transform:translateY(-190%);padding:10px 20px;background:var(--navy);color:white;border-radius:4px}
.skip-link:focus{transform:none}

.utility-bar{height:32px;color:#bbd3de;background:var(--navy-deep);font:600 9px/1.3 var(--font-en);letter-spacing:.12em}
.utility-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;height:100%}
.utility-divider{display:inline-block;margin:0 11px -2px;height:12px;border-left:1px solid #6e93a5}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.985);border-bottom:1px solid #e2edf1;transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 7px 22px #163c5215}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;height:var(--header-height)}
.brand{display:inline-flex;align-items:center;gap:11px;min-width:0;flex:0 0 auto}
.brand-mark{position:relative;display:grid;place-items:center;flex:0 0 48px;height:49px;border-radius:5px;background:linear-gradient(145deg,#169bbf,#16517a);color:white;font:800 26px/1 var(--font-en);letter-spacing:-.06em}
.brand-mark-line{position:absolute;bottom:7px;width:25px;height:2px;background:#a3e3ef;border-radius:2px}
.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.brand-copy strong{color:var(--navy);font-size:15px;font-weight:800;line-height:1.5;white-space:nowrap}
.brand-copy small{color:#718c99;font:700 8px/1.5 var(--font-en);letter-spacing:.06em;white-space:nowrap}
.site-nav{align-self:stretch;min-width:0}
.nav-primary{display:flex;align-items:stretch;gap:clamp(2px,.4vw,8px);height:100%;list-style:none;margin:0;padding:0}
.nav-primary>li{position:relative;display:flex;align-items:stretch}
.nav-link{position:relative;display:inline-flex;justify-content:center;align-items:center;gap:5px;min-width:57px;height:100%;padding:3px clamp(7px,.73vw,12px) 0;color:#415b69;font-size:12px;font-weight:800;white-space:nowrap;transition:color .18s}
.nav-link::after{position:absolute;content:'';height:3px;bottom:-1px;left:9px;right:9px;background:var(--blue);transform:scaleX(0);transition:transform .18s}
.nav-link:hover,.nav-link.is-active{color:var(--blue-strong)}
.nav-link:hover::after,.nav-link.is-active::after{transform:scaleX(1)}
.nav-badge{position:absolute;top:8px;right:-1px;z-index:1;display:inline-block;padding:2px 5px;border-radius:2px;background:#e2f5fa;color:#167da2;font:800 8px/1.15 var(--font-en);letter-spacing:0}
.nav-badge--updated{background:#fff1d8;color:#986016}
.nav-toggle,.nav-backdrop{display:none}
.nav-more{position:relative;height:100%}
.nav-more>summary{list-style:none;cursor:pointer;user-select:none}
.nav-more>summary::-webkit-details-marker{display:none}
.nav-link--more{height:100%;padding-right:3px}
.nav-link--more svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s}
.nav-more[open] .nav-link--more svg{transform:rotate(180deg)}
.nav-more-panel{position:absolute;right:-2px;top:calc(100% + 1px);width:min(360px,90vw);padding:20px 18px 16px;border:1px solid #d9e9ee;border-top:3px solid var(--blue);border-radius:0 0 6px 6px;box-shadow:0 18px 32px #1439502e;background:#fff}
.nav-more-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 4px 9px;padding-bottom:12px;border-bottom:1px solid #dce9ee;font-size:15px;font-weight:800;color:var(--navy)}
.nav-more-heading small{font:800 9px var(--font-en);letter-spacing:.1em;color:var(--blue)}
.nav-more-links{list-style:none;padding:0;margin:0}
.nav-more-links li{display:block}
.nav-more-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 8px;border-radius:4px;font-size:14px;font-weight:700;color:#375466}
.nav-more-link:hover,.nav-more-link.is-active{color:var(--blue-strong);background:#f0f8fb}
.nav-more-link .nav-badge{position:static;margin-left:auto;font-size:8px}
.nav-chevron{font-family:var(--font-en);color:var(--blue)}

.button{display:inline-flex;align-items:center;justify-content:center;gap:29px;min-height:53px;padding:13px 21px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:800;line-height:1.4;transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px)}
.button--primary{color:#fff;background:var(--navy);box-shadow:0 8px 18px #17425c21}
.button--primary:hover{background:#1a5e7e}
.button--outline{color:var(--navy);border-color:#abcbd8;background:#ffffffb8}
.button--outline:hover{background:#fff;border-color:var(--blue)}
.button-arrow{font:400 18px/1 var(--font-en)}
.text-link{display:inline-flex;gap:25px;align-items:center;padding:0 0 9px;border-bottom:1px solid var(--blue);font-size:13px;font-weight:800;color:var(--blue-strong);transition:gap .2s}
.text-link:hover{gap:32px}
.text-link>span{font:400 19px/1 var(--font-en)}
.section-kicker{display:flex;align-items:center;gap:14px;margin:0 0 13px;font:800 10px/1.45 var(--font-en);letter-spacing:.14em;color:var(--blue)}
.section-kicker-line{display:inline-block;width:32px;height:1px;background:#a1cbd8}

.hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(108deg,#f8fcfd 0%,#e9f6fa 60%,#d5edf6 100%)}
.hero-grid-overlay{position:absolute;inset:0;z-index:-1;opacity:.3;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:75px 75px;mask-image:linear-gradient(to right,transparent 15%,black 96%)}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr);align-items:center;gap:45px;min-height:620px}
.hero-content{position:relative;z-index:2;padding:67px 0 86px}
.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 31px;font:800 10px/1.5 var(--font-en);letter-spacing:.1em;color:#267f9e}
.eyebrow-line{width:31px;height:2px;background:#2099bc}
.eyebrow-dot{color:#a1c6d3}
.hero h1{margin:0;color:var(--navy);font-size:clamp(42px,4.3vw,64px);line-height:1.48;font-weight:900;letter-spacing:-.045em}
.hero h1 span{color:#176183}
.hero-en{margin:15px 0 0;max-width:560px;font:600 clamp(16px,1.6vw,19px)/1.65 var(--font-en);letter-spacing:0;color:#487a90}
.hero-rule{width:60px;margin:26px 0 19px;border-top:3px solid #1c95b9}
.hero-lead{margin:0;font-size:17px;font-weight:700;line-height:1.87;color:#35586a}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-poster-area{position:relative;display:flex;justify-content:center;align-items:center;min-height:550px;isolation:isolate}
.hero-poster-orbit{position:absolute;border:1px solid #ffffffac;border-radius:50%;z-index:-1;pointer-events:none}
.hero-poster-orbit--one{width:500px;height:500px;box-shadow:0 0 0 35px #ffffff22,0 0 0 95px #ffffff15}
.hero-poster-orbit--two{width:410px;height:410px;border-color:#77bed23b}
.hero-poster{width:min(100%,330px);max-width:330px;margin:6px 0 0;text-align:center;transform:rotate(1.8deg)}
.hero-poster-frame{position:relative;padding:9px;background:#fff;box-shadow:0 22px 55px #0e5d7c34,0 4px 13px #164f6a17}
.hero-poster-frame img{display:block;width:100%;height:auto;aspect-ratio:720/1000;object-fit:cover;background:#187497}
.poster-preview-badge{position:absolute;top:18px;right:17px;z-index:2;padding:5px 8px;background:#fff;color:#1b5f7d;font:800 9px/1.5 var(--font-en)}
.hero-poster figcaption{margin-top:11px;color:#527d8f;font-size:11px;font-weight:600;transform:rotate(-1.8deg)}
.hero-edge{position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#14638b,#1aa9c2 65%,#a9e7ef)}

.key-facts-wrap{position:relative;z-index:2;margin-top:-35px}
.key-facts{display:grid;grid-template-columns:1fr 1fr 1.15fr;min-height:116px;overflow:hidden;border:1px solid #dce8ec;border-radius:5px;background:#fff;box-shadow:0 16px 38px #1b56701c}
.fact{display:flex;align-items:center;gap:20px;padding:24px clamp(18px,2.2vw,39px)}
.fact+.fact{border-left:1px solid #dce8ec}
.fact-number{flex:0 0 auto;color:#9dccdd;font:800 24px/1 var(--font-en)}
.fact-text{min-width:0}
.fact-title{display:block;color:#47758b;font-size:12px;font-weight:800;line-height:1.5}
.fact-title small{margin-left:6px;color:#92adbc;font:800 10px var(--font-en);letter-spacing:.04em}
.fact-text strong{display:block;margin-top:6px;color:var(--navy);font-size:15px;font-weight:800;line-height:1.5}

.news-section{padding:106px 0 110px;background:#fff}
.news-layout{display:grid;grid-template-columns:28% minmax(0,1fr);gap:6%;align-items:start}
.section-intro h2{margin:0;color:var(--navy);font-size:clamp(29px,3vw,36px);font-weight:900;line-height:1.4}
.section-sub{margin:6px 0 20px;color:#8da5b2;font:600 13px/1.5 var(--font-en)}
.news-intro-copy{max-width:260px;margin:0 0 31px;color:#638092;font-size:14px;line-height:1.9}
.news-content{min-width:0}
.demo-disclaimer{margin:0 0 13px;padding:9px 13px;border:1px solid #f0e6ce;border-radius:3px;background:#fff9ec;color:#805d2c;font-size:11px;line-height:1.8}
.demo-disclaimer strong{margin-right:9px;font:800 10px var(--font-en);letter-spacing:.06em}
.news-scroll{position:relative;max-height:495px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-top:1px solid #dae7ec;border-bottom:1px solid #dae7ec;scrollbar-color:#91c7d8 #eef5f8;scrollbar-width:thin}
.news-feed{padding:0;margin:0;list-style:none}
.news-feed li{border-bottom:1px solid #e4edf1}
.news-feed li:last-child{border-bottom:0}
.news-row{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:4px 14px;align-items:center;min-height:100px;padding:18px 21px 17px 9px;transition:background .2s}
.news-row:hover{background:#f3f9fb}
.news-row-meta{grid-column:1;display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.news-row-meta time,.archive-meta time{color:#5e8294;font:700 12px/1.5 var(--font-en);letter-spacing:.02em}
.news-category{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:3px 8px;border:1px solid #bfdfeb;border-radius:2px;background:#f3fafc;color:#167296;font-size:10px;font-weight:700;line-height:1.4}
.news-demo-label{display:inline-block;padding:3px 6px;border:1px solid #e8d6ae;border-radius:2px;color:#8c6e3c;background:#fffaef;font:800 9px/1.4 var(--font-en)}
.news-row-title{grid-column:1;color:var(--navy);font-size:14px;font-weight:700;line-height:1.65}
.news-row-arrow{grid-column:2;grid-row:1/span 2;justify-self:end;color:#2788a9;font:400 21px/1 var(--font-en)}
.news-scroll-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 3px 0;color:#7b9ca9;font:800 10px/1.4 var(--font-en);letter-spacing:.05em}
.news-scroll-footer a{color:var(--blue-strong);font-size:13px;font-family:var(--font-ja);letter-spacing:0}
.news-scroll-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.news-empty{padding:40px;background:#f2f9fb;border:1px solid #d7eaf1;border-left:4px solid var(--blue)}
.news-empty strong{display:block;color:var(--navy);font-size:16px}.news-empty p{margin:6px 0 0;font-size:13px;color:var(--muted)}

.page-banner{position:relative;isolation:isolate;min-height:236px;overflow:hidden;background:linear-gradient(110deg,#eff9fc,#e5f3f8 68%,#c8e8f1)}
.page-banner::before{position:absolute;z-index:-1;content:'';width:460px;height:460px;right:5%;top:-230px;border:1px solid #ffffffaa;border-radius:50%;box-shadow:0 0 0 35px #fff2,0 0 0 100px #fff2}
.page-banner-orb{position:absolute;z-index:-1;width:270px;height:270px;right:16%;top:5%;border-radius:50%;background:radial-gradient(circle,#91cfe369,transparent 66%)}
.page-banner-inner{padding:22px 0 48px}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:33px;color:#608699;font-size:11px}
.breadcrumbs a:hover{color:var(--blue-strong);text-decoration:underline}
.breadcrumbs span[aria-hidden]{color:#accbd6}
.page-banner-label{margin-bottom:7px;color:#3186a6;font:800 10px var(--font-en);letter-spacing:.16em}
.page-banner h1{margin:0;color:var(--navy);font-size:clamp(29px,3.2vw,45px);font-weight:900;line-height:1.4;overflow-wrap:anywhere}
.page-banner p{margin:7px 0 0;color:#597b8d;font-size:13px}
.inner-main{min-height:53vh;padding:67px 0 100px;background:linear-gradient(180deg,#fff,#f8fbfc)}
.inner-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;align-items:start;gap:62px}
.inner-content{min-width:0}
.content-heading{margin:0 0 24px;padding:0 0 15px;border-bottom:2px solid #b8dbe7;color:var(--navy);font-size:23px;font-weight:800}
.content-description{margin:0 0 30px;color:#526d7d;font-size:14px;line-height:2}
.details-table{width:100%;border-collapse:collapse;table-layout:fixed}
.details-table tr{border-bottom:1px solid #dce7ec}
.details-table th,.details-table td{text-align:left;padding:22px 19px;vertical-align:top;font-size:14px;line-height:1.9}
.details-table th{width:175px;color:#34566a;background:#eff7fa;font-weight:800}
.details-table td{color:var(--ink);background:#fff;overflow-wrap:anywhere}
.details-table td small{display:block;margin-top:5px;color:#667f8c;font:500 13px/1.6 var(--font-en)}
.details-table td strong{color:var(--navy)}
.side-card{padding:25px 23px;border:1px solid #dce7ed;border-radius:5px;background:#fff;box-shadow:0 12px 30px #0b476009}
.side-card-kicker{margin:0 0 14px;color:var(--blue);font:800 10px var(--font-en);letter-spacing:.12em}
.side-card strong{display:block;color:var(--navy);font-size:15px;font-weight:800;line-height:1.6}
.side-card small{display:block;margin:7px 0 19px;color:#6c8795;font-size:11px;line-height:1.6}
.side-card hr{height:1px;margin:17px 0;border:0;background:var(--line)}
.side-card p{margin:0;color:#4f6c7c;font-size:12px;line-height:1.85}
.side-card .side-card-link{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:23px;padding-top:15px;border-top:1px solid var(--line);color:var(--blue-strong);font-size:12px;font-weight:800}
.page-panel{padding:40px;background:#fff;border:1px solid #dbe8ed;border-radius:5px}
.pending-panel{position:relative;display:flex;gap:26px;align-items:center;min-height:320px;overflow:hidden;background:linear-gradient(115deg,#f5fafc,#fff 70%)}
.pending-panel::after{position:absolute;content:'';right:-130px;top:-110px;width:260px;height:260px;border:1px solid #d9edf3;border-radius:50%;box-shadow:0 0 0 40px #f0f8fb;pointer-events:none}
.pending-icon{display:grid;place-items:center;flex:0 0 78px;width:78px;height:78px;color:#287b9d;background:#e1f2f8;border-radius:50%}
.pending-icon svg{width:40px;height:40px}
.pending-copy{position:relative;z-index:1;min-width:0}
.pending-label{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:3px;background:#e4f3f8;color:#267c9e;font:800 10px/1.3 var(--font-en);letter-spacing:.09em}
.pending-copy h2{margin:0 0 13px;color:var(--navy);font-size:22px;line-height:1.55}
.pending-copy p{margin:0;color:#5a7685;font-size:13px;line-height:1.9}
.below-panel{display:flex;gap:15px;align-items:center;margin-top:28px;padding:18px 20px;border-left:3px solid #2d91ad;background:#eef7fa;color:#567282;font-size:12px}
.below-panel svg{width:20px;height:20px;flex-shrink:0;color:var(--blue)}
.below-panel p{margin:0}.below-panel a{color:var(--blue-strong);text-decoration:underline;text-underline-offset:3px}

.access-main{padding-top:62px}
.access-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:center;gap:6%;padding:0 0 64px;border-bottom:1px solid var(--line)}
.access-venue-title{margin:0;color:var(--navy);font-size:clamp(31px,3vw,40px);font-weight:900;line-height:1.4}
.access-building-name{margin:5px 0 14px;color:#58869a;font-size:17px;font-weight:700}
.access-address{margin:0 0 21px;color:var(--navy);font-size:15px;font-weight:700}
.access-intro-text{max-width:640px;margin:0;color:#5a7280;font-size:14px;line-height:2}
.access-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.access-highlight{position:relative;overflow:hidden;padding:37px 35px 29px;border-radius:4px;background:linear-gradient(140deg,#115574,#299db8);color:#fff;box-shadow:0 13px 30px #1c759528}
.access-highlight::after{position:absolute;right:-100px;bottom:-140px;content:'';width:300px;height:300px;border:1px solid #ffffff3b;border-radius:50%;box-shadow:0 0 0 24px #ffffff0a,0 0 0 70px #ffffff0c}
.access-highlight>span{font:800 11px/1.5 var(--font-en);letter-spacing:.1em;color:#d7edf5}
.access-highlight strong{display:block;margin:10px 0 0;font-size:28px;line-height:1.45}
.access-highlight strong em{font:800 92px/1.05 var(--font-en);font-style:normal;letter-spacing:-.08em}
.access-highlight p{position:relative;z-index:1;margin:5px 0 12px;font-size:14px;font-weight:700}
.access-highlight-rule{position:relative;z-index:1;width:45px;height:2px;margin:20px 0;background:#88d6e8}
.access-highlight small{position:relative;z-index:1;display:block;font-size:12px;line-height:1.8;color:#e6f3f8}
.access-section-heading{margin:63px 0 23px}.access-section-heading h2{margin:0;color:var(--navy);font-size:27px;font-weight:900}
.access-section-heading>p:last-child:not(.section-kicker){margin:5px 0 0;color:#658393;font-size:13px}
.map-embed-wrap{overflow:hidden;border:1px solid #d8e6eb;border-radius:5px;background:#e7f4f8;box-shadow:0 5px 20px #0e506509}
.map-embed-wrap iframe{display:block;width:100%;height:440px;border:0}
.map-under-row{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:15px 1px;color:#6c8490;font-size:12px;line-height:1.7}
.map-under-row a{color:var(--blue-strong);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.access-section-heading--routes{margin-top:60px}
.station-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.station-item{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:98px;padding:22px 23px;border:1px solid #dce8ee;border-radius:4px;background:#fff}
.station-item>div{display:flex;flex-direction:column;gap:7px}
.station-item strong{color:var(--navy);font-size:14px;line-height:1.5}
.station-mode{align-self:flex-start;font:800 10px/1.5 var(--font-en);letter-spacing:.06em;color:#1978a3}
.station-mode--hanshin{font-family:var(--font-ja);color:#ae6132}.station-mode--metro{color:#167e9d}
.station-time{flex:0 0 auto;color:#6a8797;font-size:12px}.station-time b{color:#116a8e;font-size:17px}
.access-tip{display:flex;align-items:start;gap:18px;margin-top:29px;padding:24px 26px;background:#edf8fb;border-left:4px solid #2d99b6}
.access-tip-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #91c9dc;border-radius:50%;color:#237fa0;font:800 17px/1 var(--font-en)}
.access-tip strong{display:block;margin-bottom:5px;color:var(--navy);font-size:15px}.access-tip p{margin:0;color:#577586;font-size:13px;line-height:2}
.access-source{margin:17px 0 0;color:#728a96;font-size:12px}.access-source a{color:var(--blue-strong);text-decoration:underline}

.news-archive-main{padding-top:54px}
.news-archive-header{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}
.news-archive-header h2{margin:0;color:var(--navy);font-size:26px;font-weight:900}
.news-archive-header>p{margin:0 0 5px;color:#658293;font-size:13px}
.demo-disclaimer--page{margin-bottom:20px;padding:12px 16px;font-size:12px}
.news-filter{display:flex;align-items:end;flex-wrap:wrap;gap:13px;padding:22px;border:1px solid #dce9ee;border-radius:5px;background:#f3f9fb}
.news-filter-group{display:flex;flex-direction:column;gap:7px;min-width:205px}
.news-filter-group label{color:#4a7386;font-size:11px;font-weight:800}
.news-filter-group select,.news-filter-group input{width:100%;height:46px;padding:0 13px;outline-offset:1px;border:1px solid #cfdfe5;border-radius:3px;background:#fff;color:var(--ink);font-size:13px}
.news-filter-search{flex:1;min-width:240px}
.filter-button{min-height:46px;padding:0 24px;border:0;border-radius:3px;background:var(--navy);color:#fff;font-size:13px;font-weight:800}.filter-button:hover{background:#1a5d7f}
.filter-button span{margin-left:12px;font:400 18px/1 var(--font-en)}
.filter-reset{align-self:end;padding:10px 0;color:var(--blue-strong);font-size:12px;text-decoration:underline}
.news-result-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:30px;padding-bottom:10px;border-bottom:2px solid #9bc8d8}
.news-result-head strong{color:var(--navy);font:800 23px/1.3 var(--font-en)}.news-result-head small{font:700 13px var(--font-ja)}.news-result-head>span{color:#728c99;font-size:12px}
.news-archive-list{list-style:none;margin:0;padding:0}
.news-archive-list li{border-bottom:1px solid #e0e9ed}
.news-archive-list li a{position:relative;display:flex;flex-direction:column;gap:7px;padding:19px 60px 18px 15px;transition:background .2s}
.news-archive-list li a:hover{background:#f5fafc}
.archive-meta{display:flex;align-items:center;flex-wrap:wrap;gap:11px}
.archive-title{font-size:15px;line-height:1.7;color:var(--navy);font-weight:800}
.archive-excerpt{font-size:12px;color:#718b99;line-height:1.7}
.archive-arrow{position:absolute;top:50%;right:15px;transform:translateY(-50%);font:400 22px/1 var(--font-en);color:var(--blue)}
.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:35px}
.pagination a{display:grid;place-items:center;min-width:39px;height:39px;padding:0 12px;border:1px solid #cee1e8;border-radius:3px;font:800 13px var(--font-en);color:#285f7a}
.pagination a:hover,.pagination a[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}
.news-no-results{padding:55px 25px;text-align:center;background:#f4fafc}.news-no-results h3{margin:0 0 7px;color:var(--navy);font-size:21px}.news-no-results p{margin:0 0 20px;color:#647f8f;font-size:13px}
.news-detail-main{padding-top:57px}.news-article{max-width:910px;margin:auto;border:1px solid #e0e9ed;border-radius:5px;background:#fff;overflow:hidden}
.news-article-head{padding:40px 46px 33px;border-bottom:1px solid #e0e9ed}.news-article-head h2{margin:15px 0 0;color:var(--navy);font-size:clamp(22px,2.5vw,29px);line-height:1.6;overflow-wrap:anywhere}
.news-article>.demo-disclaimer{margin:23px 45px 0}.news-article-body{padding:32px 46px 50px;min-height:200px;font-size:15px;color:#4d6b7b}.news-article-body p{margin:0 0 20px;line-height:2.1}.news-article-body .button{margin-top:8px}
.news-article-bottom{padding:20px 46px;border-top:1px solid #e0e9ed;background:#f7fafb}.news-article-bottom a{color:var(--blue-strong);font-size:13px;font-weight:800}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-office{padding:30px;border:1px solid #dce8ec;background:#fff;border-radius:5px}
.contact-office h3{margin:0 0 15px;padding-bottom:10px;border-bottom:2px solid #b4dce8;color:var(--navy);font-size:20px}
.contact-office strong{display:block;color:var(--navy);font-size:16px}.contact-office p{margin:4px 0;color:#5a7789;font-size:13px}
.contact-office address{font-style:normal;line-height:2;color:#536d7b;font-size:13px;overflow-wrap:anywhere}
.contact-office a{color:var(--blue-strong);text-decoration:underline;text-underline-offset:3px}
.contact-office .contact-note{margin:15px 0 0;padding-top:15px;border-top:1px solid #e4edf1;color:#8699a3;font-size:11px}

.site-footer{background:#0f3047;color:#edf7fc}
.footer-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:44px 0 33px}
.footer-brand{display:flex;align-items:center;gap:20px}
.footer-mark{color:#fff;font:800 59px/1 var(--font-en);letter-spacing:-.1em;padding-right:.08em}
.footer-mark span{color:#60cadc}
.footer-brand strong{display:block;font-size:19px;line-height:1.5}
.footer-brand p{max-width:430px;margin:2px 0 0;color:#a5cad8;font:600 11px/1.5 var(--font-en)}
.footer-event-line{margin:0;color:#c8dee7;font-size:13px;font-weight:600;white-space:nowrap}.footer-slash{margin:0 10px;color:#729cac}
.footer-offices{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:26px 0 44px;border-top:1px solid #42617a}
.footer-office{min-width:0}
.footer-office+.footer-office{padding-left:39px;border-left:1px solid #42617a}
.footer-office h2{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:#fff;font-size:15px;font-weight:800}
.footer-office h2 small{color:#76bed1;font:800 9px/1.4 var(--font-en);letter-spacing:.1em}
.footer-office-name{display:block;font-size:15px;line-height:1.7}
.footer-office p{margin:2px 0;font-size:12px;color:#c8e0e9;line-height:1.8}
.footer-office address{margin-top:9px;font-style:normal;font-size:12px;line-height:1.9;color:#c1d6e0;overflow-wrap:anywhere}
.footer-office address a:hover{color:#9de3f2;text-decoration:underline}
.footer-office .footer-office-note{margin:13px 0 0;font-size:10px;color:#9bb9c5;line-height:1.7}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 21px;border-top:1px solid #42617a;color:#a6c0cc;font:500 11px/1.7 var(--font-en)}
.footer-bottom-links{display:flex;flex-wrap:wrap;gap:20px}.footer-bottom a{font-weight:800;color:#d8edf5}.footer-bottom a:hover{color:#76cde0}
.to-top{position:fixed;z-index:60;right:25px;bottom:25px;display:grid;place-items:center;width:45px;height:45px;border:1px solid #a4d8e6;border-radius:50%;background:#176081;color:#fff;box-shadow:0 7px 15px #10506a35;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}
.to-top svg{width:21px;height:21px}.to-top.is-visible{opacity:1;visibility:visible;transform:none}.to-top:hover{background:#1685a8}

@media(max-width:1160px){
  .header-inner{gap:10px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:7px}.nav-link{padding-inline:6px;font-size:11px}
  .hero-layout{min-height:590px;gap:24px}.hero-poster{width:300px}.hero-poster-area{min-height:515px}
  .fact{padding-inline:20px;gap:13px}.fact-text strong{font-size:13px}
}
@media(max-width:1050px){
  :root{--header-height:74px}
  .brand-mark{width:45px;height:45px;flex-basis:45px;font-size:24px}
  .nav-toggle{display:flex;align-items:center;gap:9px;justify-content:center;min-width:49px;height:44px;padding:0 11px;border:1px solid #cbdee6;border-radius:4px;background:#fff;color:var(--navy)}
  .nav-toggle-label{font:800 11px/1 var(--font-en);letter-spacing:.06em}
  .nav-toggle-bars{display:flex;flex-direction:column;justify-content:center;gap:5px;width:21px;height:22px}
  .nav-toggle-bars i{display:block;width:21px;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s,opacity .2s}
  .nav-toggle[aria-expanded="true"] .nav-toggle-bars i:first-child{transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .nav-toggle-bars i:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] .nav-toggle-bars i:last-child{transform:translateY(-7px) rotate(-45deg)}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain;background:#fff;border-top:1px solid #dfebef;box-shadow:0 20px 27px #0a314733}
  .site-nav.is-open{display:block}
  .nav-primary{display:block;width:min(100% - 50px,700px);height:auto;margin:auto;padding:13px 0 30px}
  .nav-primary>li{display:block;border-bottom:1px solid #e7eff2}
  .nav-link{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:12px 13px;font-size:14px}
  .nav-link::after{top:8px;bottom:8px;left:0;right:auto;width:3px;height:auto;transform:scaleY(0)}
  .nav-link:hover::after,.nav-link.is-active::after{transform:scaleY(1)}
  .nav-link.is-active{padding-left:17px;background:#f0f8fb}
  .nav-link .nav-badge{position:static;margin-left:auto;padding:4px 7px;font-size:9px}
  .nav-more{height:auto}.nav-link--more{min-height:52px;padding:12px 13px}.nav-link--more svg{margin-left:auto}
  .nav-more-panel{position:static;width:100%;padding:4px 13px 14px;border:0;border-radius:0;box-shadow:none;background:#f6fbfd}
  .nav-more-heading{font-size:12px;margin:0 0 4px;padding:8px 7px;color:#658494}
  .nav-more-link{min-height:47px;padding:9px 10px;font-size:13px}
  .nav-more-links{padding-left:5px}
  .nav-backdrop.is-visible{display:block;position:fixed;inset:var(--header-height) 0 0;z-index:80;background:#061e31a6}
  body.menu-open{overflow:hidden}
  .hero-layout{grid-template-columns:minmax(0,1fr) minmax(245px,.8fr);min-height:550px}
  .hero h1{font-size:clamp(35px,4.8vw,53px)}.hero-poster{width:260px}.hero-poster-area{min-height:495px}
  .hero-poster-orbit--one{width:390px;height:390px}.hero-poster-orbit--two{width:310px;height:310px}
  .inner-layout{gap:28px;grid-template-columns:minmax(0,1fr) 245px}
}
@media(max-width:760px){
  .container{width:min(calc(100% - 40px),var(--container))}
  .utility-bar{display:none}
  .hero-layout{grid-template-columns:1fr;gap:0;padding-bottom:35px;min-height:0}
  .hero-content{padding:58px 0 15px}
  .hero h1{font-size:clamp(35px,8vw,50px)}
  .hero-poster-area{min-height:0;padding:20px 0 34px}
  .hero-poster{width:min(64%,250px);max-width:250px;margin:0;transform:rotate(1deg)}
  .hero-poster-orbit--one{width:390px;height:390px}.hero-poster-orbit--two{width:310px;height:310px}
  .key-facts-wrap{margin-top:-23px}
  .key-facts{grid-template-columns:1fr;min-height:0}
  .fact{padding:15px 25px}.fact+.fact{border-left:0;border-top:1px solid var(--line)}
  .fact-text strong{font-size:15px}.fact-number{font-size:21px}
  .news-section{padding:70px 0 80px}.news-layout{grid-template-columns:1fr;gap:23px}
  .news-intro-copy{max-width:570px;margin-bottom:15px}
  .news-scroll{max-height:460px}
  .page-banner{min-height:210px}.page-banner-inner{padding:19px 0 39px}.breadcrumbs{margin-bottom:26px}
  .inner-main{padding:48px 0 75px}.inner-layout{grid-template-columns:1fr;gap:30px}
  .inner-aside{max-width:100%}
  .access-intro-grid{grid-template-columns:1fr;gap:26px}.access-highlight{max-width:520px;padding:24px 30px}
  .access-highlight strong em{font-size:70px}.access-highlight small{font-size:11px}
  .map-embed-wrap iframe{height:360px}
  .footer-intro{align-items:start;flex-direction:column;gap:13px}
  .footer-offices{gap:24px}.footer-office+.footer-office{padding-left:25px}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:550px){
  :root{--header-height:70px}
  .container{width:min(calc(100% - 34px),var(--container))}
  .header-inner{gap:8px}.brand{gap:8px}.brand-mark{flex-basis:40px;width:40px;height:42px;font-size:22px}.brand-mark-line{width:23px;bottom:6px}
  .brand-copy strong{font-size:clamp(11px,3.45vw,15px)}.brand-copy small{font-size:clamp(5.6px,1.6vw,7.8px);letter-spacing:0}
  .nav-toggle{width:44px;min-width:44px;height:44px;padding:0}.nav-toggle-label{display:none}
  .nav-primary{width:calc(100% - 35px)}
  .hero-content{padding:45px 0 5px}.eyebrow{gap:7px;margin-bottom:22px;font-size:9px;letter-spacing:.04em}.eyebrow-line{width:21px}
  .hero h1{font-size:clamp(31px,8.4vw,42px);line-height:1.47}.hero-en{font-size:14px;line-height:1.65}.hero-rule{margin:19px 0 17px}.hero-lead{font-size:14px}
  .hero-actions{gap:9px;margin-top:23px}.button{min-height:48px;padding:12px 13px;gap:14px;font-size:12px}.button-arrow{font-size:15px}
  .hero-poster-area{padding:22px 0 23px}.hero-poster{width:min(67%,230px)}.hero-poster-orbit--one{width:305px;height:305px}.hero-poster-orbit--two{width:245px;height:245px}
  .hero-poster figcaption{font-size:10px}.poster-preview-badge{top:14px;right:12px;font-size:8px}
  .fact{padding:13px 18px}.fact-text strong{font-size:13px}.fact-number{font-size:20px}
  .news-section{padding:64px 0 70px}.section-intro h2{font-size:29px}.news-intro-copy{font-size:13px}
  .news-row{min-height:95px;padding:15px 12px 15px 5px}.news-row-meta{gap:7px}.news-row-meta time{font-size:11px}.news-category{min-width:60px;padding:3px 6px;font-size:9px}.news-demo-label{font-size:8px}.news-row-title{font-size:13px}.news-scroll-footer{font-size:9px}.news-scroll-footer a{font-size:12px}
  .page-banner h1{font-size:30px}.page-panel{padding:25px 20px}.pending-panel{min-height:275px;flex-direction:column;align-items:start;gap:16px}.pending-icon{flex-basis:58px;width:58px;height:58px}.pending-icon svg{width:30px;height:30px}.pending-copy h2{font-size:18px}
  .details-table th,.details-table td{display:block;width:100%;padding:12px 15px}.details-table td{padding-bottom:17px}
  .access-intro-grid{padding-bottom:38px}.access-venue-title{font-size:31px}.access-building-name{font-size:15px}.access-address{font-size:13px}.access-intro-text{font-size:13px}
  .access-highlight{max-width:none;padding:20px 25px}.access-section-heading{margin:42px 0 16px}.access-section-heading h2{font-size:25px}
  .map-embed-wrap iframe{height:320px}.station-list{grid-template-columns:1fr}.station-item{min-height:78px;padding:15px 18px}.access-tip{padding:17px;gap:12px}.access-tip p{font-size:12px}
  .news-archive-header{align-items:start;flex-direction:column;gap:5px}.news-filter{padding:16px}.news-filter-group,.news-filter-search{min-width:100%;width:100%}.filter-button{width:100%}
  .news-archive-list li a{padding:16px 40px 18px 5px}.archive-title{font-size:14px}.archive-excerpt{font-size:12px}
  .news-article-head{padding:27px 21px}.news-article-body{padding:26px 21px;min-height:170px;font-size:14px}.news-article-bottom{padding:18px 21px}.news-article>.demo-disclaimer{margin:18px 20px 0}
  .footer-intro{padding:36px 0 23px}.footer-brand{gap:14px}.footer-mark{font-size:49px}.footer-brand strong{font-size:16px}.footer-brand p{font-size:9px}.footer-event-line{font-size:12px;white-space:normal}
  .footer-offices{grid-template-columns:1fr;padding:25px 0 32px;gap:30px}.footer-office+.footer-office{border-left:0;border-top:1px solid #42617a;padding:28px 0 0}
  .footer-office h2{font-size:15px}.footer-office address{font-size:12px}.footer-bottom{align-items:start;gap:12px;flex-direction:column;font-size:10px}
  .to-top{width:41px;height:41px;right:15px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
