:root{--ink:#0b3548;--paper:#f7f7f3;--white:#fff;--yellow:#ffcf32;--blue:#0b718d;--muted:#60717a;--line:#d8dadd;--max:1120px}
.detail-image{height:auto}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;line-break:strict;word-break:normal}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.phrase{display:inline-block;max-width:100%}
.header{position:sticky;top:0;z-index:20;background:#fffffff7;border-bottom:1px solid #dfe4e6}.header-inner{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:14px}.logo{font:900 29px/1 Arial,sans-serif;letter-spacing:.08em}.logo i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--yellow);margin-left:4px}.brand small{font-size:12px;font-weight:700;color:#687980}.nav{display:flex;gap:28px;margin-left:auto;font-weight:700;font-size:14px}.nav a[aria-current="page"]{border-bottom:3px solid var(--yellow)}.contact-link{background:var(--yellow);border-radius:999px;padding:11px 19px;font-weight:900}
.page-hero{background:var(--ink);color:#fff;padding:90px 0 82px}.eyebrow{margin:0 0 16px;color:var(--yellow);font:900 13px Arial,sans-serif;letter-spacing:.16em}.page-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.35;letter-spacing:-.04em;margin:0}.page-hero p{max-width:720px;color:#dbe4e7;margin:22px 0 0;font-size:17px}.breadcrumb{font-size:13px;color:#adc0c8;margin-bottom:32px}.breadcrumb a{text-decoration:underline}
.section{padding:84px 0}.section.white{background:#fff}.section.yellow{background:#f8f1dd}.section-head{display:grid;grid-template-columns:140px 1fr;gap:28px;margin-bottom:42px}.num{font:900 13px Arial;color:var(--blue);letter-spacing:.16em}.section h2{font-size:clamp(28px,3.5vw,45px);line-height:1.55;letter-spacing:-.025em;margin:0}.lead{color:var(--muted);max-width:760px;margin:18px 0 0}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}.detail:first-of-type{border-top:0;padding-top:0}.detail:nth-child(even) .detail-image{order:2}.detail-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px}.detail h3{font-size:clamp(24px,3vw,36px);line-height:1.5;margin:0 0 16px}.detail ul{margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px;list-style:none}.detail li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:700}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{background:#fff;border-top:5px solid var(--yellow);padding:30px;border-radius:10px;box-shadow:0 12px 30px #0b35480a}.feature b{display:block;color:var(--blue);font:900 13px Arial;letter-spacing:.12em}.feature h3{font-size:23px;line-height:1.55;margin:12px 0}.feature p{color:var(--muted);margin:0}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.flow div{background:var(--ink);color:#fff;padding:25px 20px;border-radius:10px}.flow strong{display:block;color:var(--yellow);font:900 13px Arial;margin-bottom:8px}.flow h3{font-size:18px;margin:0 0 8px}.flow p{font-size:14px;color:#dbe4e7;margin:0}
.message-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px}.statement{font-size:clamp(29px,3.7vw,46px);font-weight:900;line-height:1.6;letter-spacing:-.035em;margin:0}.message-copy{color:#354c57}.signature{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.signature small{display:block;color:var(--muted)}.signature strong{font-size:22px}
.company-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:38px}.company-list{margin:0;border-top:2px solid var(--ink)}.row{display:grid;grid-template-columns:150px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}.row dt{font-size:14px;color:var(--muted);font-weight:700}.row dd{margin:0;font-weight:700}.sidebox{background:var(--yellow);padding:30px}.sidebox h3{margin:0 0 20px}.history-item{border-top:1px solid #0b354866;padding:16px 0}.history-item time{display:block;font:800 13px Arial;color:#6a5910}.license{margin-top:30px;border:2px solid var(--ink);padding:26px;background:#fff}.license small{display:block;color:var(--blue);font-weight:900}.license strong{font-size:20px}
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.route{background:var(--paper);border:2px solid var(--ink);padding:30px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between}.route-line{display:flex;align-items:center;gap:10px}.route-line i{width:18px;height:18px;border:3px solid var(--ink);background:var(--yellow);border-radius:50%}.route-line hr{flex:1;border:0;height:3px;background:var(--ink)}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:52px}.contact-topics{display:grid;gap:12px}.contact-topics div{background:#fff;border-left:5px solid var(--yellow);padding:14px 18px;font-weight:800}.form{background:#fff;padding:34px;border-radius:12px}.field{margin-bottom:21px}.field label{display:block;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #aeb9bd;border-radius:6px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.required{color:#a62b20;font-size:12px;margin-left:8px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--yellow);border:0;border-radius:999px;padding:15px 22px;color:var(--ink);font:800 15px inherit;cursor:pointer}.form-note{font-size:13px;color:var(--muted);margin:16px 0 0}
.cta{background:var(--blue);color:#fff;padding:60px 0}.cta-inner{display:flex;align-items:center;gap:30px}.cta h2{font-size:clamp(30px,4vw,48px);line-height:1.3;margin:0}.cta .button{margin-left:auto;background:#fff}.back{display:inline-block;margin-top:28px;text-decoration:underline;font-weight:800}
footer{background:var(--ink);color:#fff;padding:42px 0}.footer-grid{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.footer-logo{font:900 36px Arial}.footer-address{color:#b6c5ca;font-size:14px;text-align:right}.draft{position:fixed;left:16px;bottom:16px;z-index:30;background:#fff;border:2px solid var(--ink);padding:7px 11px;font-size:12px;font-weight:900;box-shadow:4px 4px 0 var(--yellow)}
@media(max-width:850px){.nav{display:none}.header-inner{height:66px}.contact-link{margin-left:auto}.page-hero{padding:62px 0}.section{padding:62px 0}.section-head,.detail,.message-grid,.company-grid,.access-grid,.contact-grid{grid-template-columns:1fr}.detail:nth-child(even) .detail-image{order:0}.feature-grid{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.footer-grid{align-items:flex-start;flex-direction:column}.footer-address{text-align:left}.cta-inner{align-items:flex-start;flex-direction:column}.cta .button{margin-left:0}}
@media(max-width:520px){.wrap{width:min(calc(100% - 30px),var(--max))}.brand small{display:none}.contact-link{padding:8px 13px;font-size:13px}.page-hero h1{font-size:36px}.flow{grid-template-columns:1fr}.row{grid-template-columns:1fr;gap:4px}.form{padding:22px}.draft{position:static;display:inline-block;margin:10px}}

/* Reference design for OTM strengths. */
.strengths-hero{background:linear-gradient(90deg,rgba(11,53,72,.98) 0%,rgba(11,53,72,.93) 48%,rgba(11,53,72,.18) 100%),url("otm-hero-v2.png") center/cover}.strengths-hero p{max-width:650px}.strengths-heading{margin-bottom:36px}.strength-icon{display:block;width:56px;height:56px;margin:0 auto 24px}.strengths-page .feature{border-top-width:3px}.strengths-page .feature h3{min-height:72px}.strengths-promise{padding:70px 0;background:linear-gradient(90deg,#f8f3e9 0%,rgba(248,243,233,.97) 48%,rgba(248,243,233,.12) 100%),url("strengths-supply.png") center 65%/cover}.strengths-promise h2{font-size:clamp(24px,3vw,36px);margin:0 0 22px;line-height:1.5}.strengths-promise p{font-size:18px;line-height:2;margin:0}.strengths-page .cta{background:var(--ink)}.strengths-page .cta h2{font-size:clamp(24px,3vw,38px)}
@media(max-width:850px){.strengths-page .feature h3{min-height:0}.strengths-hero{background:linear-gradient(90deg,rgba(11,53,72,.96),rgba(11,53,72,.72)),url("otm-hero-v2.png") center/cover}.strengths-promise{background:linear-gradient(90deg,rgba(248,243,233,.97),rgba(248,243,233,.85)),url("strengths-supply.png") center/cover}.strengths-promise p{font-size:16px}}

/* Three columns on larger screens; one column on phones. */
.strengths-page .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(8px,1.6vw,22px)}
.strengths-page .feature{min-width:0;padding:clamp(10px,2.2vw,30px);overflow-wrap:anywhere}
.strengths-page .feature h3{font-size:clamp(18px,2.1vw,23px);min-height:3.1em}
@media(max-width:520px){.strengths-page .strength-icon{width:36px;height:36px;margin-bottom:16px}.strengths-page .feature h3{min-height:4.65em;line-height:1.55}.strengths-page .feature p{font-size:16px;line-height:1.8}}

@media(max-width:650px){
.page-hero .business-title{font-size:clamp(22px,6vw,32px);line-height:1.5}
.business-title span{display:inline-block;max-width:100%}
.strengths-page .feature-grid{grid-template-columns:1fr;gap:20px}
.strengths-page .feature{padding:24px}
.strengths-page .feature h3{min-height:0;font-size:23px}
}

.contact-grid .contact-topics-title{font-size:clamp(24px,3vw,36px);margin-bottom:1.9rem}.contact-topics-title span{display:block}

.menu,.nav .mobile-nav-link{display:none}
@media(max-width:900px){
.header-inner{height:66px;gap:16px}
.header .brand small,.header .contact-link,.header .nav{display:none}
.menu{display:block;margin-left:auto;border:1px solid var(--ink);background:none;color:var(--ink);padding:8px 12px;font:inherit;cursor:pointer}
.header .nav.open{display:flex;position:absolute;left:0;right:0;top:66px;background:#fff;padding:20px;flex-direction:column;gap:10px;box-shadow:0 15px 30px rgba(11,53,72,.1);max-height:calc(100dvh - 66px);overflow-y:auto}
.nav .mobile-nav-link{display:block}
.header .nav a{padding:8px 0}
}
