:root{--ink:#18324f;--deep:#082b55;--green:#003a83;--muted:#52667d;--line:#d4dfe9;--paper:#f3f6fa;--accent:#dceaff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:var(--text-body);line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.5}
h2{font-size:var(--text-h2);font-weight:600;letter-spacing:.025em}
h3{font-size:var(--text-h3)}
p{overflow-wrap:anywhere}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #2670bc;outline-offset:6px}
a:hover .text-link,a.text-link:hover{color:#003a83}
a.button:hover{background:var(--accent);color:var(--deep);transform:translateY(-2px)}
.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}
.section{padding-block:100px}
.eyebrow{font-family:Arial,sans-serif;letter-spacing:.16em;font-size:var(--text-small);font-weight:600;line-height:1.6}
.section-title .eyebrow,.section-head .eyebrow,.faq-layout .eyebrow{margin-bottom:18px}
.site-header{height:96px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid #e2e9f1}
.brand{width:195px;flex-shrink:0}
.brand img{width:189px}
.brand span{display:block;font-size:var(--text-small);letter-spacing:.09em;margin-top:8px}
.site-header nav{display:flex;gap:26px;align-items:center;font-size:var(--text-small);font-weight:600}
.site-header nav>a{white-space:nowrap}
.site-header nav>a:not(.nav-contact):hover{color:var(--green)}
.nav-contact{background:var(--deep);color:#fff;padding:14px 22px;display:flex;gap:25px}
.nav-contact:hover{background:#003a83}
.menu-toggle{display:none}
.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}
.skip:focus{top:10px}
.hero{height:635px;position:relative;background:var(--deep);overflow:hidden;color:#fff}
.hero-photo{position:absolute;inset:0 0 0 32%}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:58% center}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#082b55 0%,rgba(8,43,85,.94) 10%,rgba(8,43,85,.55) 45%,rgba(8,30,60,.18) 100%)}
.hero-content{position:relative;z-index:1;padding:62px 56px 68px;max-width:1500px;margin:auto}
.hero .eyebrow{font-size:var(--text-small);letter-spacing:.18em;display:flex;align-items:center;gap:12px;color:#e0ecfa}
.tiny-line{width:25px;height:1px;background:#c5dcfa}
.hero h1{font-size:var(--text-h2);line-height:1.48;letter-spacing:.05em;font-weight:600;margin:27px 0 24px;text-shadow:0 2px 20px #082b5520}
.hero h1 span{color:#c5dcfa}
.hero-description{font-size:var(--text-small);line-height:2.05;color:#ffffff}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;min-height:54px;padding:13px 24px;font-size:var(--text-small);font-weight:600;transition:transform .2s}
.button span{font-size:var(--text-h3);line-height:1}
.button.light{background:white;color:var(--deep)}
.hero .button{margin-top:28px;min-width:238px}
.hero-caption{position:absolute;right:38px;bottom:35px;display:flex;flex-direction:column;gap:5px;align-items:flex-end;font-size:var(--text-small);letter-spacing:.05em;color:white;text-shadow:0 1px 5px #000}
.hero-caption span:first-child{font-family:Arial,sans-serif;letter-spacing:.12em;font-size:var(--text-small)}
.scroll-hint{position:absolute;right:38px;top:40px;writing-mode:vertical-rl;font-family:Arial,sans-serif;font-size:var(--text-small);letter-spacing:.18em;display:flex;gap:16px}
.news-strip{display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);min-height:99px}
.news-strip>.eyebrow{white-space:nowrap}
.news-row{display:grid;grid-template-columns:105px 1fr 18px;align-items:center;gap:18px;padding:25px 0;border-bottom:1px solid var(--line);font-size:var(--text-small)}
.news-row time{font-family:Arial,sans-serif;font-size:var(--text-small);letter-spacing:.07em;color:var(--muted)}
.news-row b{font-size:var(--text-h3);font-weight:400}
.news-row:hover>span{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.news-strip .news-row{flex:1;border:0;font-size:var(--text-small)}
.all-news{font-size:var(--text-small);white-space:nowrap}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:64px 80px}
.about-copy{padding-top:29px;max-width:550px}
.lead{font-size:var(--text-h3);line-height:1.8;font-weight:600;margin-bottom:20px}
.about-copy>p:not(.lead){font-size:var(--text-body);line-height:2.15;color:#435b74}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;font-size:var(--text-small);font-weight:600;padding:12px 0;border-bottom:1px solid var(--ink)}
.text-link>span{font-size:var(--text-h3);font-weight:400}
.about-copy>.text-link{margin-top:22px}
.feature-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.feature-grid article{padding:28px 35px 0;border-right:1px solid var(--line);margin-top:27px}
.feature-grid article:first-child{padding-left:0}
.feature-grid article:last-child{border:0}
.feature-number{font-family:Georgia,serif;font-size:var(--text-h2-mobile);font-style:italic;color:#365f8b;display:block;line-height:1;margin-bottom:24px}
.feature-grid h3{font-size:var(--text-h3);margin-bottom:13px}
.feature-grid p{font-size:var(--text-small);color:#52667d;line-height:2}
.feature-en{display:block;margin-top:30px;letter-spacing:.12em;font-family:Arial,sans-serif;font-size:var(--text-small);color:#52667d}
.products-section{background:var(--paper)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
.section-head>p{font-size:var(--text-small);color:#52667d;line-height:1.9}
.product-main{display:grid;grid-template-columns:1.1fr 1fr;background:white}
.product-image{height:410px;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.product-main:hover img,.project-card:hover img{transform:scale(1.025)}
.product-copy{padding:46px 48px;align-self:center}
.tag{border:1px solid #b8cbe0;padding:4px 10px;display:inline-block;font-size:var(--text-small);margin-bottom:22px}
.product-en{font-family:Arial,sans-serif;font-size:var(--text-h2);letter-spacing:.03em;line-height:1;font-weight:500}
.product-copy h3{font-size:var(--text-h3);margin:9px 0 20px}
.product-copy>p:not(.product-en){font-size:var(--text-small);color:#52667d}
.product-copy .text-link{margin-top:17px;width:100%}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.product-card{display:flex;align-items:center;background:white;padding:25px;gap:24px}
.product-card>img{width:42%;height:160px;object-fit:cover}
.product-card>div{flex:1}
.product-card .eyebrow{font-size:var(--text-small);color:#52667d}
.product-card h3{font-size:var(--text-h3);margin:7px 0}
.product-card .text-link{width:100%;font-size:var(--text-small);gap:10px}
.accessory{display:flex;gap:22px;border-top:1px solid #cbd9e7;padding:22px 0 0;margin-top:30px;font-size:var(--text-small)}
.accessory>span:first-child{color:#52667d}
.accessory>span:last-child{margin-left:auto}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.project-img{position:relative;overflow:hidden;aspect-ratio:1.24}
.project-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.project-img>span{position:absolute;left:0;bottom:0;background:white;padding:6px 20px;font-size:var(--text-small)}
.project-card>p{font-size:var(--text-small);letter-spacing:.02em;color:#52667d;margin:21px 0 9px}
.project-card h3{font-size:var(--text-body);line-height:1.7;font-weight:600}
.project-purpose{margin-top:18px;padding-top:13px;border-top:1px solid var(--line);font-size:var(--text-small);display:flex;justify-content:space-between;color:#52667d}
.project-purpose b{font-size:var(--text-h3);font-weight:400;color:var(--ink)}
.video-band{background:#eaf0f7;padding:55px 0}
.video-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.video-inner h2{font-size:var(--text-h2-mobile);margin:10px 0}
.video-inner p:not(.eyebrow){color:#52667d;font-size:var(--text-small)}
.video-inner .button{gap:24px}
.video-inner .play-symbol{font-size:var(--text-small)}
.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.download-grid>a{border:1px solid var(--line);padding:24px 18px;display:flex;align-items:center;gap:15px;transition:background .2s}
.download-grid>a:hover{background:var(--paper)}
.pdf-icon{border:1px solid #6a85a5;color:#365f8b;padding:9px 5px;font-family:Arial,sans-serif;font-size:var(--text-small)}
.download-grid h3{font-size:var(--text-small)}
.download-grid p{font-size:var(--text-small);color:#52667d;margin-top:2px}
.download-arrow{margin-left:auto;font-size:var(--text-h3)}
.faq-section{background:var(--paper)}
.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:50px}
.faq-list{border-top:1px solid #cbd9e7}
.faq-list details{border-bottom:1px solid #cbd9e7}
.faq-list summary{cursor:pointer;padding:24px 38px 24px 0;list-style:none;position:relative;font-weight:500;font-size:var(--text-body)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'＋';position:absolute;right:0;top:23px;font-weight:400;font-size:var(--text-h3)}
.faq-list details[open] summary:after{content:'−'}
.faq-list summary>span{font-family:Georgia,serif;margin-right:15px;color:#365f8b;font-size:var(--text-h3)}
.faq-list details>p{padding:0 30px 26px 36px;font-size:var(--text-small);color:#435b74;line-height:2}
.news-section .news-row:last-child{border-bottom:0}
.contact-section{background:var(--deep);color:white;padding:70px 0}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.contact-inner h2{font-size:var(--text-h2);margin:18px 0 21px;line-height:1.6}
.contact-inner>div>p:not(.eyebrow){font-size:var(--text-small);color:#e1eaf5}
.contact-actions{min-width:345px;display:flex;flex-direction:column;align-items:center}
.contact-actions>.button{width:100%;justify-content:space-between;padding:19px 27px}
.phone{font-family:Arial,sans-serif;font-size:var(--text-h2-mobile);letter-spacing:.055em;line-height:1.5;margin-top:23px}
.phone small{display:block;font-family:sans-serif;font-size:var(--text-small);letter-spacing:.05em;text-align:center;margin-bottom:6px;color:#e1eaf5}
.external-note{font-size:var(--text-small);color:#e1eaf5;margin-top:13px}
.footer{padding:46px 0 20px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-top p{font-size:var(--text-small);color:#52667d;margin-top:12px}
.footer-links{display:flex;gap:30px;font-size:var(--text-small)}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:35px;font-size:var(--text-small);color:#52667d}
.page-heading{padding-block:55px 45px}
.breadcrumb{font-size:var(--text-small);color:#52667d;display:block;margin-bottom:30px}
.page-heading>.eyebrow{margin-bottom:14px}
.page-heading h1{font-size:var(--text-h2);max-width:1050px}
.page-heading>p:last-child:not(.eyebrow){margin-top:20px;color:#52667d}
.product-detail>section{margin:65px 0}
.detail-photo{width:100%;max-height:500px;object-fit:cover}
.product-detail h2{margin:13px 0 25px;font-size:var(--text-h2-mobile)}
.table-hint{font-size:var(--text-small);color:#52667d}
.table-scroll{overflow:auto;margin:12px 0 20px;border:1px solid var(--line)}
table{border-collapse:collapse;font-size:var(--text-small);min-width:850px;width:100%}
th,td{padding:16px;border:1px solid var(--line);white-space:nowrap;text-align:left}
th{background:var(--paper)}
.detail-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px}
.detail-project-grid img{width:100%;aspect-ratio:1.25;object-fit:cover}
.detail-project-grid p{font-size:var(--text-small);margin-top:15px}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.video-link{background:var(--paper);padding:30px}
.video-play{font-size:var(--text-h2-mobile);color:#003a83}
.video-link h3{font-size:var(--text-body);margin:14px 0}
.video-link>span:last-child{font-size:var(--text-small)}
.news-archive{padding-bottom:80px}
.article-body{max-width:900px;padding-bottom:80px}
.article-body>div:first-child{line-height:2.3}
.article-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:40px 0}
.article-images img{width:100%;height:auto}
.policy-body{max-width:900px;padding-bottom:80px}
.policy-body .bl_heading{display:none}
.policy-body h3{margin:30px 0 12px}
.policy-body p{margin-bottom:18px}
.policy-body a{text-decoration:underline}
.policy-body ul{padding-left:22px}

@media(min-width:1600px){.hero-content{padding-left:100px}
.hero{height:700px}
.hero h1{font-size:var(--text-hero)}
}

@media(max-width:1150px){.site-header{padding:0 25px;gap:20px}
.brand{width:165px}
.brand img{width:165px}
.brand span{font-size:var(--text-small)}
.site-header nav{gap:18px;font-size:var(--text-small)}
.nav-contact{padding:12px 15px;gap:10px}
.wrap{width:calc(100% - 72px)}
.hero-content{padding-left:36px}
.product-copy{padding:32px}
.product-card{padding:18px;gap:16px}
.product-card h3{font-size:var(--text-body)}
.product-card>img{height:145px}
.download-grid{grid-template-columns:1fr}
.download-grid>a{padding:22px}
.about-section{column-gap:45px}
.hero h1{font-size:var(--text-hero)}
.hero{height:610px}
.hero-caption{right:25px}
}

@media(max-width:900px){.site-header{height:82px}
.menu-toggle{display:flex;align-items:center;gap:20px;background:none;border:0;font-size:var(--text-small);padding:12px 0}
.menu-toggle span{font-size:var(--text-h3)}
.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;padding:20px 28px 28px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 24px #082b5510}
.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
.site-header nav>a{padding:15px 0;font-size:var(--text-small);border-bottom:1px solid var(--line)}
.site-header nav>.nav-contact{padding:15px 20px;margin-top:13px;justify-content:space-between}
.hero h1{font-size:var(--text-h2)}
.hero-photo{left:20%}
.hero-photo:after{background:linear-gradient(90deg,#082b55,rgba(8,43,85,.9) 20%,rgba(8,43,85,.55))}
.hero-description{font-size:var(--text-small)}
.hero-content{padding-top:60px}
.hero-caption span:first-child{display:none}
.section{padding-block:75px}
.about-section{gap:35px}
.lead{font-size:var(--text-h3)}
.feature-grid h3{font-size:var(--text-body)}
.feature-grid article{padding:20px}
.feature-grid p{font-size:var(--text-small)}
.section-head{align-items:start}
.section-head>p{font-size:var(--text-small)}
.product-main{grid-template-columns:1fr 1fr}
.product-image{height:360px}
.product-copy{padding:25px}
.product-en{font-size:var(--text-h2-mobile)}
.product-grid{gap:18px}
.product-card{display:block}
.product-card>img{width:100%;height:180px;margin-bottom:20px}
.project-grid{gap:18px}
.project-card h3{font-size:var(--text-body)}
.project-card>p{font-size:var(--text-small)}
.contact-actions{min-width:290px}
.contact-inner h2{font-size:var(--text-h2-mobile)}
.faq-layout{grid-template-columns:1fr 1.7fr;gap:28px}
.faq-layout h2{font-size:var(--text-h2-mobile)}
.footer-links{gap:18px}
.news-strip{gap:16px}
.news-strip>.eyebrow{font-size:var(--text-small)}
.news-strip .news-row{grid-template-columns:1fr 16px;gap:3px 10px}
.news-strip .news-row time{grid-column:1/-1;font-size:var(--text-small)}
.news-strip .news-row>span{font-size:var(--text-small)}
.detail-project-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:600px){html{scroll-padding-top:85px}
.wrap{width:calc(100% - 40px)}
.site-header{height:76px;padding:0 20px}
.brand{width:155px}
.brand img{width:155px}
.brand span{font-size:var(--text-small);margin-top:5px}
.site-header nav{top:76px}
.hero{height:660px}
.hero-photo{inset:0}
.hero-photo img{object-position:64% center}
.hero-photo:after{background:linear-gradient(90deg,rgba(8,30,60,.93),rgba(8,30,60,.78)),linear-gradient(0deg,rgba(8,30,60,.55),transparent 60%)}
.hero-content{padding:55px 22px 80px}
.hero .eyebrow{font-size:var(--text-small);letter-spacing:.1em;gap:8px}
.tiny-line{width:16px}
.hero h1{font-size:var(--text-h2);line-height:1.7;margin:37px 0 26px;letter-spacing:.015em}
.hero-description{font-size:var(--text-small);line-height:2.25}
.hero .button{margin-top:30px;min-width:240px}
.hero-caption{right:22px;bottom:23px;font-size:var(--text-small)}
.scroll-hint{top:auto;bottom:24px;left:22px;right:auto;writing-mode:horizontal-tb;font-size:var(--text-small);gap:12px}
.news-strip{display:grid;grid-template-columns:1fr auto;gap:0;padding-block:20px}
.news-strip .eyebrow{font-size:var(--text-small)}
.news-strip .news-row{grid-row:2;grid-column:1/-1;padding:12px 0 0;grid-template-columns:1fr 15px}
.news-strip .all-news{grid-row:1;grid-column:2;font-size:var(--text-small)}
.news-strip .news-row time{font-size:var(--text-small)}
.news-strip .news-row>span{font-size:var(--text-small)}
.section{padding-block:64px}
.about-section{display:block}
.section-title h2{font-size:var(--text-h2-mobile)}
.about-copy{padding-top:27px}
.lead{font-size:var(--text-h3)}
.about-copy>p:not(.lead){font-size:var(--text-small)}
.feature-grid{display:block;margin-top:38px}
.feature-grid article{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:25px 0 25px 47px!important;position:relative}
.feature-grid article:last-child{border-bottom:1px solid var(--line)}
.feature-number{position:absolute;left:0;top:26px;font-size:var(--text-h2-mobile)}
.feature-grid h3{font-size:var(--text-h3);margin-bottom:9px}
.feature-grid p{font-size:var(--text-small)}
.feature-en{margin-top:13px;font-size:var(--text-small)}
.section-head{display:block;margin-bottom:28px}
.section-head h2{font-size:var(--text-h2-mobile)}
.section-head>p{margin-top:17px;font-size:var(--text-small)}
.section-head>.text-link{margin-top:17px}
.eyebrow{font-size:var(--text-small)}
.product-main{display:block}
.product-image{height:260px}
.product-copy{padding:26px}
.product-copy h3{font-size:var(--text-h3)}
.product-en{font-size:var(--text-h2-mobile)}
.product-copy>p:not(.product-en){font-size:var(--text-small)}
.product-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}
.product-card{display:flex;gap:18px;padding:18px}
.product-card>img{width:40%;height:130px;margin:0}
.product-card h3{font-size:var(--text-body)}
.product-card .eyebrow{font-size:var(--text-small)}
.accessory{flex-wrap:wrap;gap:6px 13px;font-size:var(--text-small)}
.accessory>span:last-child{width:100%;margin-left:0;text-align:right;margin-top:8px}
.project-grid{grid-template-columns:1fr;gap:35px}
.project-img{aspect-ratio:1.5}
.project-card>p{font-size:var(--text-small);margin-top:15px}
.project-card h3{font-size:var(--text-h3)}
.project-purpose{margin-top:13px}
.video-band{padding:45px 0}
.video-inner{display:block}
.video-inner h2{font-size:var(--text-h3)}
.video-inner p:not(.eyebrow){font-size:var(--text-small)}
.video-inner .button{margin-top:25px;width:100%;gap:10px;font-size:var(--text-small)}
.download-grid>a{padding:20px 15px;gap:12px}
.download-grid h3{font-size:var(--text-small)}
.faq-layout{display:block}
.faq-list{margin-top:28px}
.faq-list summary{font-size:var(--text-small);padding:21px 28px 21px 0}
.faq-list summary>span{margin-right:8px;font-size:var(--text-h3)}
.faq-list details>p{padding-left:28px;padding-right:15px;font-size:var(--text-small)}
.news-row{grid-template-columns:1fr 15px;gap:7px 12px;padding:22px 0}
.news-row time{grid-column:1/-1;font-size:var(--text-small)}
.news-row>span{font-size:var(--text-small)}
.contact-section{padding:50px 0}
.contact-inner{display:block}
.contact-inner h2{font-size:var(--text-h2-mobile)}
.contact-inner>div>p:not(.eyebrow){font-size:var(--text-small)}
.contact-actions{min-width:0;margin-top:30px}
.contact-actions>.button{font-size:var(--text-small)}
.footer{padding:35px 0 22px}
.footer-top{display:block}
.footer-top img{width:170px}
.footer-links{flex-wrap:wrap;gap:20px;font-size:var(--text-small);margin-top:30px}
.footer-bottom{font-size:var(--text-small)}
.page-heading{padding-block:35px}
.page-heading h1{font-size:var(--text-h2-mobile)}
.page-heading>p:last-child{font-size:var(--text-small)}
.detail-photo{max-height:300px}
.product-detail>section{margin:40px 0}
.product-detail h2{font-size:var(--text-h3)}
.detail-project-grid{grid-template-columns:1fr}
.video-grid{grid-template-columns:1fr}
.video-link{padding:25px}
.article-images{grid-template-columns:1fr}
.article-body{font-size:var(--text-small)}
.policy-body{font-size:var(--text-small)}
.policy-body h2{font-size:var(--text-h3)}
.policy-body h3{font-size:var(--text-body)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}


/* Design tokens — 2026-09-28. See docs/design-rules.md. */
:root {
  --brand-blue:#003a83;
  --text-caption:.875rem; /* 14px: decorative labels only */
  --text-small:1rem; /* 16px: metadata and controls */
  --text-body:1.125rem; /* 18px: reading text */
  --text-h3:1.375rem; /* 22px */
  --text-h2-mobile:1.75rem; /* 28px */
  --text-h2:2.25rem; /* 36px */
  --text-h1:2.75rem; /* 44px */
  --text-hero:3.5rem; /* 56px */
}
body {font-size:var(--text-body);line-height:1.85}
.site-header {height:auto;min-height:106px;padding-block:16px}
.brand {width:200px}
.brand span {font-size:var(--text-caption);letter-spacing:0}
.site-header nav {font-size:var(--text-small);gap:20px}
.hero {height:auto;min-height:690px}
.hero-content {padding-top:64px;padding-bottom:94px}
.hero h1 {font-size:var(--text-hero);line-height:1.5;letter-spacing:.025em}
.hero-description {font-size:var(--text-body);line-height:1.85}
.hero .eyebrow,.eyebrow,.product-card .eyebrow,.feature-en,.scroll-hint,.hero-caption span:first-child {font-size:var(--text-caption)}
.hero .eyebrow {flex-wrap:wrap}
.hero-caption {font-size:var(--text-small);background:#082b55e8;padding:6px 12px}
.hero-caption span:first-child {display:none}
.scroll-hint {writing-mode:horizontal-tb;left:56px;right:auto;top:auto;bottom:28px}
.hero .button,.button,.text-link,.product-card .text-link,.video-inner .button,.contact-actions>.button {font-size:var(--text-small);min-height:48px}
.about-copy>p:not(.lead),.feature-grid p,.section-head>p,.product-copy>p:not(.product-en),.video-inner p:not(.eyebrow),.faq-list details>p,.contact-inner>div>p:not(.eyebrow),.article-body,.policy-body,.detail-project-grid p,.page-heading>p:last-child:not(.eyebrow) {font-size:var(--text-body);line-height:1.85}
.about-copy>p:not(.lead),.article-body>div:first-child,.policy-body p {max-width:40em}
.news-row,.news-strip .news-row,.news-row>span,.news-strip .news-row>span,.faq-list summary {font-size:var(--text-body)}
.news-row time,.news-strip .news-row time,.project-card>p,.project-purpose,.accessory,.download-grid p,.external-note,.footer-links,.footer-top p,.footer-bottom,.phone small,.table-hint,table,.video-link>span:last-child {font-size:var(--text-small)}
.news-strip>.eyebrow,.footer-bottom {font-size:var(--text-caption)}
.project-card h3,.product-card h3,.download-grid h3,.video-link h3,.feature-grid h3,.product-copy h3,.policy-body h3 {font-size:var(--text-h3)}
.section-title h2,.section-head h2,.faq-layout h2,.video-inner h2,.product-detail h2,.policy-body h2 {font-size:var(--text-h2)}
.page-heading h1 {font-size:var(--text-h1)}
.tag {font-size:var(--text-small)}
.product-image {height:100%;min-height:440px}
.product-copy {padding:38px}
.product-card {align-items:start}
.product-card>img {height:190px;width:36%}
.download-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.download-grid>a {align-items:start}
.download-grid h3 {font-size:var(--text-body)}
.news-row {grid-template-columns:115px minmax(0,1fr) 22px}
.faq-list summary {padding-right:38px}
.contact-actions {min-width:360px}
.footer-links {flex-wrap:wrap}
.nav-contact {padding:14px 18px;gap:16px}
@media(max-width:1200px) {
 .site-header {min-height:90px}
 .menu-toggle {display:flex;align-items:center;gap:20px;background:none;border:0;font-size:var(--text-small);padding:12px 0}
 .site-header nav {display:none;position:absolute;top:100%;left:0;right:0;padding:20px 28px 28px;background:#fff;border-bottom:1px solid var(--line);max-height:calc(100dvh - 90px);overflow:auto}
 .site-header nav.is-open {display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header nav>a {padding:15px 0;font-size:var(--text-small);border-bottom:1px solid var(--line)}
 .site-header nav>.nav-contact {padding:15px 20px;margin-top:13px;justify-content:space-between}
 .download-grid {grid-template-columns:1fr}
 .product-main {grid-template-columns:1fr 1fr}
 .product-copy {padding:28px}
 .product-card {display:block}
 .product-card>img {width:100%;margin-bottom:20px}
 .section-head {flex-wrap:wrap}
 .news-strip {flex-wrap:wrap;gap:12px;padding-block:20px}
}
@media(max-width:900px) {
 .hero h1 {font-size:var(--text-h1)}
 .hero-description {max-width:32em}
 .hero-description br {display:none}
 .feature-grid article {padding-inline:18px}
 .contact-inner {align-items:start;flex-wrap:wrap}
 .contact-actions {min-width:0;width:100%;max-width:440px}
 .faq-layout {grid-template-columns:1fr}
 .faq-list {margin-top:10px}
 .news-strip .news-row {grid-template-columns:1fr 22px}
 .project-grid {grid-template-columns:1fr}
 .project-img {aspect-ratio:1.75}
}
@media(max-width:600px) {
 .site-header {min-height:86px}
 .brand {width:180px}
 .brand img {width:170px}
 .brand span {font-size:var(--text-caption);line-height:1.5}
 .menu-toggle {gap:10px;white-space:nowrap}
 .hero {min-height:0}
 .hero-content {padding:42px 20px 106px}
 .hero h1 {font-size:var(--text-h2);line-height:1.6;margin:30px 0 25px}
 .hero .eyebrow {font-size:var(--text-caption);letter-spacing:.03em;display:block;max-width:25em}
 .tiny-line {display:none}
 .hero-description {font-size:var(--text-body)}
 .hero-caption {right:20px;bottom:16px;font-size:var(--text-caption)}
 .scroll-hint {left:20px;bottom:57px;font-size:var(--text-caption)}
 .news-strip {display:grid}
 .news-strip .news-row {grid-template-columns:minmax(0,1fr) 22px}
 .about-copy {padding-top:28px}
 .lead {font-size:var(--text-h3)}
 .section-title h2,.section-head h2,.faq-layout h2,.video-inner h2,.product-detail h2,.policy-body h2,.page-heading h1,.contact-inner h2 {font-size:var(--text-h2-mobile)}
 .product-main {display:block}
 .product-image {height:260px;min-height:0}
 .product-card {display:block;padding:24px}
 .product-card>img {width:100%;height:220px;margin-bottom:24px}
 .product-card .eyebrow {font-size:var(--text-caption)}
 .product-card .text-link {font-size:var(--text-small)}
 .news-row {grid-template-columns:minmax(0,1fr) 22px}
 .footer-top,.footer-links {display:flex;flex-direction:column;align-items:start}
 .footer-links {gap:16px}
 .footer-bottom {gap:20px}
 .article-body,.policy-body {font-size:var(--text-body)}
 .video-inner .button {flex-wrap:wrap}
 .feature-grid article {padding-left:42px!important}
 .feature-grid p br {display:none}
}
@media(max-width:359px) {
 .hero h1 {font-size:var(--text-h2-mobile)}
 .brand {width:155px}.brand img {width:150px}.brand span {max-width:150px}
 .menu-toggle {gap:4px}
}
@media(min-width:360px) and (max-width:600px) {.brand {width:200px}.brand span {white-space:nowrap}}
/* Content consistency: dates, card alignment and event information. */
.sort-label {font-size:var(--text-small);color:var(--muted);margin:-15px 0 28px}
.project-card,.project-detail-card {display:flex;flex-direction:column;min-width:0}
.project-card .project-img,.project-detail-card .project-img {flex-shrink:0}
.project-card .project-date,.project-detail-card .project-date {font-size:var(--text-small);font-weight:500;color:var(--ink);margin:20px 0 12px;display:flex;flex-wrap:wrap;gap:12px}
.project-date time {font-variant-numeric:tabular-nums;font-weight:600}
.project-card h3,.project-detail-card h3 {font-size:var(--text-h3);line-height:1.65;margin:0 0 14px;overflow-wrap:anywhere}
.project-card .project-client,.project-detail-card .project-client {font-size:var(--text-small);line-height:1.8;color:var(--muted);margin:0 0 22px}
.project-card .project-purpose,.project-detail-card .project-purpose {margin-top:auto;gap:12px;line-height:1.8}
.project-detail-card .project-img img {aspect-ratio:auto}
.project-detail-card {scroll-margin-top:125px}
.project-img>span {font-size:var(--text-small)}
.article-copy>p {margin-bottom:1.4em}
.article-copy h2 {font-size:var(--text-h2-mobile);margin:48px 0 22px}
.event-details {margin:24px 0 36px;border-top:1px solid var(--line)}
.event-details>div {display:grid;grid-template-columns:140px minmax(0,1fr);gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}
.event-details dt {font-weight:600}
.event-details dd {margin:0}
.event-button {background:var(--deep);color:white;white-space:normal}
.event-button span {flex-shrink:0}
.download-arrow {font-size:1.5rem;flex-shrink:0}
.product-card {display:flex;flex-direction:column}
.product-card>img {width:100%;height:230px;margin-bottom:24px}
.product-card>div {width:100%;display:flex;flex-direction:column;flex:1}
.product-card h3 {margin-bottom:20px}
.product-card .text-link {margin-top:auto}
@media(min-width:901px) {
 .hero-photo {inset:0}
 .hero-photo:after {background:linear-gradient(90deg,#082b55 0%,#082b55 22%,rgba(8,43,85,.92) 37%,rgba(8,43,85,.5) 62%,rgba(8,30,60,.18) 100%)}
 .hero-photo img {object-position:center}
}
@media(max-width:600px) {
 .event-details>div {grid-template-columns:1fr;gap:6px;padding:18px 0}
 .event-button {width:100%;gap:16px}
 .project-img {aspect-ratio:1.5}
 .sort-label {margin-top:0}
}
.article-heading {max-width:900px}

/* Lead product name: Japanese first, English as secondary text. */
.product-main .product-copy .product-name-ja {font-size:var(--text-h2);line-height:1.4;margin:9px 0;font-weight:700}
.product-main .product-copy .product-en {font-size:var(--text-h3);line-height:1.5;margin:0 0 20px;font-weight:500}

/* Japanese editorial labels do not need Latin tracking. */
.eyebrow {letter-spacing:.04em}
.product-main .product-copy .product-name-ja {margin-bottom:20px}
