/* Integration v2: mobile defaults, then larger screens. */
:root{--header-offset:96px;--copy:#D9E0E5;--muted:#B1BEC9;--rule:rgba(217,224,229,.2)}
html{scroll-padding-top:var(--header-offset)}
body{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--copy);word-break:normal;overflow-wrap:break-word}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #F2C879;outline-offset:4px}
.skip-link{position:fixed;top:8px;left:12px;z-index:1000;padding:12px 20px;color:#0B1420;background:#FAF7F0;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.header-wrap{background:#0B1420;border-color:var(--rule);backdrop-filter:none}
.header-inner{position:relative;max-width:1180px;gap:8px 12px;padding:8px 20px;flex-wrap:wrap}
.header-logo-link{display:flex;align-items:center;min-width:44px;min-height:56px;margin-right:auto}
.header-logo-img{height:56px;width:56px;object-fit:contain}
.header-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border-radius:3px;background:#22D3C5;color:#0B1420;box-shadow:none;font-size:12px;letter-spacing:0;order:2;transition:none}
.header-cta-btn:hover{background:#6FE3D6;box-shadow:none;transform:none}
.menu-toggle{display:none;align-items:center;justify-content:center;min-height:44px;border:1px solid #798C9C;border-radius:3px;background:transparent;color:#FAF7F0;padding:8px 10px;font:500 13px/1.5 "Yu Gothic",Meiryo,sans-serif;order:3;cursor:pointer}
.has-menu .menu-toggle{display:inline-flex}
.site-navigation{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;order:4;width:100%;padding:8px 0 12px;border-top:1px solid var(--rule)}
.site-navigation a{display:flex;align-items:center;min-height:44px;padding:8px 0;color:#D9E0E5;font-size:14px;text-decoration:none}
.site-navigation a:hover{color:#6FE3D6}
.has-menu .site-navigation{display:none}
.has-menu.is-menu-open .site-navigation{display:grid}
main section[id],main h2[id],main h3[id],main #line-consultation{scroll-margin-top:var(--header-offset)}
main{outline:none}
main .hero-section{padding:32px 0 36px}
main .hero-title{font-size:clamp(25px,6.95vw,28px);line-height:1.65;letter-spacing:.01em}
main .hero-lead{margin-bottom:22px}
main .hero-layout{grid-template-columns:minmax(0,1fr);gap:24px}
main .hero-visual{background:transparent;padding:0;align-self:auto}
main .hero-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
main .hero-visual figcaption{font-size:15px;border:0;padding-top:12px;color:#F2C879}
main .hero-visual figcaption span{font-size:12px;margin-top:3px}
main .hero-subnav{display:none}
main .hero-eyebrow{font-size:13px;letter-spacing:.025em}
main .section-title{letter-spacing:.015em}
main .product-selection{border-top:1px solid var(--rule);padding-top:40px}
main .product-selection .section-lead{margin-bottom:28px}
main .featured-product{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:28px}
main .featured-heading{min-width:0}
main .featured-heading .product-name{font-size:clamp(26px,7vw,30px);line-height:1.5;margin:0 0 8px}
main .product-phrase{display:inline-block;max-width:100%}
main .product-status{font-size:13px;margin-bottom:10px;color:#F2C879}
main .product-english{color:#B1BEC9;font:500 11px/1.7 Arial,sans-serif;letter-spacing:.07em;margin:0 0 12px;overflow-wrap:normal;word-break:normal}
main .featured-heading .product-english{margin-bottom:0}
main .featured-photo{height:320px;aspect-ratio:auto;background:#FAF7F0}
main .featured-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}
main .featured-figure figcaption{font-size:12px;line-height:1.7;margin-top:8px}
main .product-description{font-size:16px;line-height:1.9}
main .product-features{list-style:none;margin:18px 0 20px;padding:0}
main .product-features li{position:relative;padding:9px 0 9px 18px;border-top:1px solid var(--rule);font-size:15px}
main .product-features li::before{content:"";position:absolute;left:0;top:21px;width:5px;height:5px;background:#F2C879}
main .product-contact.is-featured{display:flex;justify-content:center;width:100%;min-height:52px;border-radius:3px;background:#22D3C5;color:#0B1420;font-weight:600;padding:12px 14px}
main .product-contact.is-featured:hover{background:#6FE3D6}
main .representative-products{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:24px}
main .representative-product{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding-top:24px;align-items:start}
main .representative-copy{display:block;min-width:0}
main .representative-product .product-photo{width:112px;height:148px;grid-column:auto;grid-row:auto;aspect-ratio:auto;margin:0}
main .representative-product .product-photo img{width:100%;height:100%;max-height:none;object-fit:contain}
main .representative-product .product-name{font-size:18px;line-height:1.65;margin:0 0 8px;word-break:normal;overflow-wrap:break-word}
main .representative-product .product-english{font-size:10px;letter-spacing:.02em;margin-bottom:10px}
main .representative-product .product-description{font-size:15px;line-height:1.85;margin:0}
main .selection-note{font-size:13px;line-height:1.85;margin-bottom:24px;padding-left:12px}
main .product-list-route p{font-size:17px}
main .product-list-route .product-route-note{font-size:14px}
main .product-list-link{font-size:15px;padding:12px 10px}
main .review-notice{border-left:2px solid #F2C879;padding-left:14px;color:#B1BEC9;font-size:13px;line-height:1.85;margin:20px 0 24px;max-width:56em}
main .support-conditions{font-size:16px;line-height:1.9;color:#D9E0E5}
main .flow-section{background:#1A2A3A}
main .flow-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:0}
main .flow-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:16px;padding:24px 0;border-top:1px solid var(--rule)}
main .flow-number{font:500 20px/1.6 Georgia,serif;color:#F2C879}
main .flow-list h3{font:600 18px/1.8 "Yu Gothic",Meiryo,sans-serif;margin-bottom:8px}
main .flow-list p{font-size:16px;line-height:1.9;color:#D9E0E5}
main .voice-section .section-title{font-size:25px}
main .voice-list{grid-template-columns:minmax(0,1fr);gap:0}
main .voice-card{border-top:1px solid var(--rule);border-bottom:0;padding:24px 0;margin:0;box-shadow:none}
main .voice-topic{font-size:13px;color:#F2C879;margin-bottom:12px}
main .voice-text{font-size:17px;line-height:1.95;margin:0 0 16px;font-weight:400}
main .voice-role{font-size:13px;color:#D9E0E5;margin:0 0 4px}
main .voice-edit-note,main .voice-disclaimer{font-size:12px;color:#B1BEC9;line-height:1.8}
main .voice-disclaimer{margin-top:12px}
main .top-return{padding-top:24px;padding-bottom:24px;text-align:center}
main .top-return a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;color:#D9E0E5;font-size:14px;text-underline-offset:5px;gap:6px}
.footer-wrap{padding:16px 20px 32px;background:#0B1420;border:0;display:flex;flex-direction:column;align-items:center;gap:20px}
.footer-wrap .line-qr{width:164px;margin:0;text-align:center}
.footer-wrap .line-qr-image-link{display:block;padding:10px;background:#fff;border-radius:3px;line-height:0}
.footer-wrap .line-qr img{display:block;width:100%;height:auto;object-fit:contain}
.footer-wrap .line-qr figcaption{font-size:12px;color:#B1BEC9;margin-top:12px}
.footer-copy{font:400 12px/1.8 Arial,sans-serif;color:#B1BEC9}
.back-to-top-btn{bottom:16px;right:16px;width:44px;height:44px;box-shadow:none;transition:none}
main .cta-banner-section .btn-primary{width:100%}
.product-catalog .catalog-product .product-photo{aspect-ratio:auto;height:280px}
.product-catalog .catalog-product .product-photo img{width:100%;height:100%;max-height:none;object-fit:contain}
.product-catalog .catalog-grid.is-single .product-photo{height:280px;aspect-ratio:auto}
.product-catalog .catalog-category-heading h2{scroll-margin-top:var(--header-offset)}
.product-catalog .catalog-product .product-name{word-break:normal;overflow-wrap:break-word}
.product-catalog .catalog-status{font-size:12px;color:#B1BEC9}
.product-catalog .catalog-main{padding-bottom:0}
@media(min-width:641px){
 main .hero-section{padding:48px 0}main .hero-title{font-size:32px}main .hero-visual{max-width:640px}
 main .featured-product{grid-template-columns:1.05fr 1fr;grid-template-rows:auto 1fr;gap:16px 36px;align-items:start}
 main .featured-heading{grid-column:2;grid-row:1}main .featured-copy{grid-column:2;grid-row:2}main .featured-figure{grid-column:1;grid-row:1 / span 2}
 main .featured-photo{height:440px}main .featured-heading .product-name{font-size:30px}
 main .representative-products{grid-template-columns:1fr 1fr;gap:32px}
 main .representative-product{display:block}main .representative-product .product-photo{width:100%;height:220px;margin-bottom:20px}
 main .representative-product .product-name{font-size:21px}
 main .product-contact.is-featured{width:fit-content;padding:12px 22px}
 main .cta-banner-section .btn-primary{width:fit-content}
}
@media(min-width:1000px){
 .header-inner{padding:10px 30px;gap:0 24px;flex-wrap:nowrap}
 .header-logo-img{height:58px;width:58px}.header-logo-link{margin-right:0;order:1}
 .has-menu .menu-toggle{display:none}.has-menu .site-navigation,.has-menu.is-menu-open .site-navigation,.site-navigation{display:flex;justify-content:center;gap:16px;order:2;width:auto;flex:1;border:0;padding:0}
 .site-navigation a{font-size:12px;white-space:nowrap}.site-navigation a:last-child{display:none}
 .header-cta-btn{order:3;padding:12px 16px;font-size:13px}
 main .hero-layout{grid-template-columns:1.1fr 1fr;gap:40px}main .hero-title{font-size:37px}
 main .hero-visual{max-width:none}main .hero-section{padding:56px 0}
 main .featured-photo{height:500px}main .featured-product{gap:18px 56px;margin-bottom:44px}
 main .representative-product{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px}
 main .representative-product .product-photo{height:200px;margin:0}
 main .flow-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
 main .voice-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
 main .voice-card{padding:24px 0}main .voice-text{font-size:17px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
