/* BASE: reference-derived shared design foundation */
:root{--navy:#082b63;--navy-band:#092f64;--red:#c91625;--red-bright:#e32332;--ink:#354052;--white:#fff;--pale:#f0f4f7;--line:#d6dde5;--cyan:#a5dff3;--body-font:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--content:1120px;--gutter:4.8%}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body-font);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}body,button,input,textarea{font-family:var(--body-font)}main{display:block}h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0}h1,h2,h3,h4{color:var(--navy);font-weight:800;line-height:1.4;letter-spacing:.015em}h1{font-size:clamp(34px,4.1vw,56px);line-height:1.25}h2{font-size:clamp(27px,2.65vw,39px)}h3{font-size:clamp(20px,1.75vw,26px)}p{line-break:strict;overflow-wrap:anywhere}ul,ol{padding-left:1.5em}li+li{margin-top:8px}a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:5px;transition:background-color .18s,color .18s}a:hover{color:var(--red)}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2785b8;outline-offset:5px}#site-content:focus{outline:none}[id]{scroll-margin-top:24px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-skip-link{position:fixed;left:16px;top:-120px;z-index:100;background:white;padding:14px 22px;border:2px solid var(--navy)}.site-skip-link:focus{top:12px}.wp-block-group{margin-block-start:0;margin-block-end:0}.wp-block-group>*{margin-block-start:0;margin-block-end:0}.wp-block-buttons{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.wp-block-button{margin:0}.wp-block-button a,.site-cta,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;border:1px solid var(--red);border-radius:2px;padding:12px 27px;background:var(--red);color:white;font-size:16px;font-weight:700;text-decoration:none;line-height:1.5}.site-cta::after,button[type=submit]::after{content:'→'}.wp-block-button a:hover,.site-cta:hover,button[type=submit]:hover{background:#a7101d;border-color:#a7101d;color:white}.outline .wp-block-button a,.wp-block-button.outline a{background:transparent;border-color:#496993;color:var(--navy)}.outline .wp-block-button a:hover,.wp-block-button.outline a:hover{background:var(--pale)}
.site-header{background:white;border-bottom:1px solid var(--line)}.site-header-inner,.site-footer-inner{width:90.4%;max-width:var(--content);margin:auto}.site-header-inner{min-height:104px;display:flex;justify-content:space-between;align-items:center;gap:24px}.site-brand{position:relative;display:flex;flex-direction:column;flex-shrink:0;width:300px;min-height:84px;background:url('assets/images/base-logo.png') no-repeat left bottom 6px;background-size:100% auto;text-decoration:none;color:var(--navy)}.site-brand-name{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.site-brand-note{font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.01em;padding-top:3px;white-space:nowrap}.site-desktop-nav{display:flex;align-items:center;gap:24px}.site-desktop-nav nav{display:flex;align-items:center}.site-desktop-nav nav a{font-size:13px;font-weight:700;line-height:1.2;padding:16px 16px;text-decoration:none;white-space:nowrap;position:relative}.site-desktop-nav nav a+a::before{content:'';height:12px;width:1px;position:absolute;left:0;top:50%;transform:translateY(-50%);background:var(--line)}.site-desktop-nav nav a[href$='/home/'],.site-desktop-nav nav a[href$='/contact/'],.site-desktop-nav nav a[href$='/equipment/'],.site-desktop-nav nav a[href$='/training/'],.site-desktop-nav nav a[href$='/privacy/'],.site-desktop-nav nav a:first-child{display:none}.site-desktop-nav .site-cta{font-size:14px;padding:12px 24px;min-height:50px;white-space:nowrap}.site-desktop-nav nav a[aria-current=page]{color:var(--red)}.site-mobile-menu{display:none}.site-footer{border-top:2px solid var(--navy);padding:24px 0 20px}.site-footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px}.site-footer .site-brand{width:280px;min-height:61px;background-position:left center}.site-footer .site-brand-note{display:none}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 20px;max-width:710px}.site-footer nav a{font-size:12px;text-decoration:none;padding:9px 0;font-weight:700}.site-footer-copy{font-size:12px;margin-top:20px}.site-footer-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:11px;color:#637087}
/* News, article, empty, error, pagination */
.sb-page-intro,.sb-news-list,.sb-news-empty,.sb-article,.sitebuilder-news>.navigation{width:90.4%;max-width:var(--content);margin-left:auto;margin-right:auto}.sb-page-intro{padding:60px 0 38px}.sb-eyebrow{color:var(--red);font-size:14px;letter-spacing:.08em;margin-bottom:6px;font-weight:600}.sb-page-intro p:not(.sb-eyebrow){margin-top:20px}.sb-page-intro .wp-block-buttons{margin-top:30px}.sb-news-list{border-top:2px solid var(--navy);margin-bottom:32px}.sb-news-row{display:grid;grid-template-columns:130px 1fr 30px;gap:30px;align-items:start;border-bottom:1px solid var(--line);padding:28px 0;text-decoration:none}.sb-news-row:hover{background:var(--pale)}.sb-news-date{font-size:14px;color:#586879;font-variant-numeric:tabular-nums}.sb-news-row h2{font-size:24px;margin-bottom:8px}.sb-news-row p{font-size:16px;color:var(--ink)}.sb-news-arrow{font-size:25px}.sb-news-empty{padding:42px;background:var(--pale);margin-top:10px;margin-bottom:72px;border-top:2px solid var(--navy)}.sb-news-empty h2{font-size:25px;margin-bottom:14px}.sb-news-empty .wp-block-buttons{margin-top:24px}.pagination{padding-bottom:50px}.nav-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:7px 12px;border:1px solid var(--line);text-decoration:none}.page-numbers.current{background:var(--navy);color:white}.sb-article{max-width:850px;padding:56px 0 72px}.sb-article header h1{font-size:clamp(30px,3vw,44px);margin-bottom:20px}.sb-article-body{margin:36px 0}.sb-article-body>*+*{margin-top:24px}.sb-article-body h2{font-size:29px}.sb-article-body h3{font-size:23px}.sb-article-back{display:inline-block;padding:14px 0;font-weight:700}.error404 #site-content{min-height:60vh}
/* Supported contact form and receipt surface */
.sb-contact{padding:55px 0 64px}.sb-contact-layout{width:90.4%;max-width:var(--content);margin:auto;display:grid;grid-template-columns:1fr 1.16fr;gap:50px;align-items:start}.sb-contact-copy{min-width:0}.sb-contact-copy h1{font-size:clamp(30px,3vw,42px)}.sb-contact-form{border-left:1px solid var(--line);padding-left:50px;min-width:0}.sb-contact-form>p{font-size:14px;margin-bottom:20px}.sb-contact-form form{display:flex;flex-direction:column}.sb-contact-form label{font-size:15px;font-weight:700;color:var(--navy);margin:14px 0 5px}.sb-contact-form input:not([type=checkbox]),.sb-contact-form textarea{display:block;width:100%;min-width:0;background:white;color:var(--ink);border:1px solid #aeb9c6;border-radius:2px;padding:10px 12px;font-size:17px;line-height:1.5;min-height:46px;box-shadow:inset 0 1px 3px #082b6309}.sb-contact-form textarea{min-height:190px;resize:vertical}.sb-contact-form .sb-privacy{font-size:14px;padding-top:16px}.sb-contact-form .sb-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0 22px;font-size:14px;min-height:44px;cursor:pointer}.sb-consent input{margin-top:5px;width:19px;height:19px;flex-shrink:0;accent-color:var(--navy)}.sb-contact-form button[type=submit]{width:100%;min-height:56px}.sb-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.sb-contact-status{background:var(--pale);border-left:4px solid var(--navy);padding:16px}.sb-contact-status[data-success=false]{background:#fff0f0;border-color:var(--red);color:#971222}.sb-contact-thanks{min-height:60vh}.sb-contact-thanks .sb-contact-copy>p{color:var(--red);font-size:14px;margin-bottom:10px}.sb-contact-thanks .sb-contact-form>p{font-size:17px}
@media(max-width:1250px){.site-brand{width:254px;min-height:74px}.site-brand-note{font-size:9.5px}.site-desktop-nav{gap:10px}.site-desktop-nav nav a{padding:15px 12px;font-size:12px}.site-desktop-nav .site-cta{padding:12px 18px}}
@media(max-width:1000px){.site-header-inner{min-height:90px}.site-desktop-nav{display:none}.site-mobile-menu{display:block;position:relative}.site-mobile-menu summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700;color:var(--navy);padding:14px 17px;border:1px solid var(--navy);min-height:48px}.site-mobile-menu summary::-webkit-details-marker{display:none}.site-mobile-menu summary::after{content:'＋';padding-left:12px}.site-mobile-menu[open] summary::after{content:'−'}.site-mobile-menu[open]{position:static}.site-mobile-menu nav{position:absolute;top:90px;left:0;right:0;z-index:20;padding:24px 5% 104px;background:white;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-bottom:2px solid var(--navy);box-shadow:0 12px 24px #082b6314}.site-mobile-menu nav a{padding:14px 0;min-height:50px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700;font-size:15px}.site-mobile-menu .site-cta{position:absolute;top:392px;left:5%;right:5%;z-index:21;min-height:48px}.site-mobile-menu nav a[aria-current=page]{color:var(--red)}.site-footer-top{align-items:flex-start}.site-footer nav{gap:0 18px}.sb-contact-layout{gap:30px}.sb-contact-form{padding-left:30px}}
@media(max-width:767px){body{font-size:16px;line-height:1.8}h1{font-size:32px;line-height:1.35}h2{font-size:27px;line-height:1.4}h3{font-size:21px}.site-header-inner,.site-footer-inner{width:calc(100% - 40px)}.site-header-inner{min-height:88px;gap:12px}.site-brand{width:225px;min-height:67px;background-position:left bottom 3px}.site-brand-note{font-size:8.4px;padding:0;letter-spacing:0}.site-mobile-menu summary{font-size:12px;padding:12px 10px;white-space:nowrap}.site-mobile-menu summary::after{padding-left:5px}.site-mobile-menu nav{top:88px}.site-mobile-menu .site-cta{top:390px}.site-footer{padding:26px 0}.site-footer-top{flex-direction:column;gap:20px}.site-footer .site-brand{width:235px;min-height:52px}.site-footer nav{justify-content:flex-start;gap:0 20px}.site-footer nav a{font-size:13px;min-height:44px;display:flex;align-items:center}.site-footer-copy{font-size:12px}.site-footer-bottom{font-size:10px}.wp-block-buttons{gap:12px}.wp-block-button a,.site-cta{min-height:50px;font-size:15px;padding:12px 20px}.sb-page-intro,.sb-news-list,.sb-news-empty,.sb-article,.sitebuilder-news>.navigation{width:calc(100% - 40px)}.sb-page-intro{padding:34px 0 28px}.sb-page-intro h1{font-size:30px}.sb-news-row{grid-template-columns:1fr 24px;gap:8px;padding:23px 0}.sb-news-row time{grid-column:1 / -1}.sb-news-row h2{font-size:21px}.sb-news-row p{font-size:15px}.sb-news-empty{padding:26px 20px;margin-bottom:45px}.sb-news-empty h2{font-size:23px}.sb-article{padding:34px 0 45px}.sb-contact{padding:30px 0 44px}.sb-contact-layout{width:calc(100% - 40px);display:flex;flex-direction:column;gap:28px}.sb-contact-copy,.sb-contact-form{width:100%}.sb-contact-copy h1{font-size:30px}.sb-contact-form{padding:26px 0 0;border-left:0;border-top:1px solid var(--line)}.sb-contact-form textarea{min-height:190px}.sb-contact-form>p{font-size:14px}.sb-contact-thanks{min-height:65vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Balance Japanese heading lines without splitting off a trailing character. */
h1,h2,h3{text-wrap:balance}

/* Japanese news titles follow strict punctuation and small-kana line rules. */
.sitebuilder-news h1,.sitebuilder-news h2{line-break:strict;word-break:normal;overflow-wrap:break-word}
@media(max-width:767px){.sb-news-empty h2{max-inline-size:12.3em;text-wrap:wrap}}
