/* Shared site header/footer and homepage presentation utilities; never restyles inner-page content. */
.tsr-home-page,.tsr-site-chrome{--tsr-ink:#071d4b;--tsr-blue:#0064f5;--tsr-muted:#53688c;--tsr-serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;color:var(--tsr-ink);font-family:"Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif;line-height:1.85;letter-spacing:.04em}
.tsr-site-chrome{letter-spacing:.04rem}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-wrap{width:88.4%;max-width:1440px;margin-inline:auto}
:is(.tsr-home-page,.tsr-site-chrome,.tsv2-back-to-top) .tsr-icon{width:24px;height:24px;display:inline-block;flex-shrink:0;vertical-align:middle}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--tsr-blue);margin:0 0 16px;line-height:1.5}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:58px;padding:14px 25px;background:linear-gradient(110deg,#0066f4,#003d9e);border:1px solid #0653d3;border-radius:4px;box-shadow:0 2px 5px #00245e12;color:#fff;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.04em;line-height:1.4;transition:filter .18s,box-shadow .18s}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-button:hover{filter:brightness(1.12);box-shadow:0 4px 14px #0064f522}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-button-outline{background:#ffffffb8;border-color:#69a2ff;color:var(--tsr-blue)}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-button-white{background:#ffffff06;border-color:#b6c3db;color:#fff}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-button .tsr-icon{width:21px;height:21px}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-button>.tsr-icon:last-child{width:17px}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-text-link{display:inline-flex;gap:10px;align-items:center;color:var(--tsr-blue);font-weight:700;font-size:15px;text-decoration:none;line-height:1.8;letter-spacing:.04em}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-text-link:hover{text-decoration:underline;text-underline-offset:5px}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-text-link .tsr-icon{width:18px;height:18px}
:is(.tsr-home-page,.tsr-site-chrome) .tsr-rule{display:block;width:43px;height:1px;background:#6ca6ff;margin:16px 0 22px}
:is(.tsr-home-page,.tsr-site-chrome) a:focus-visible,:is(.tsr-home-page,.tsr-site-chrome) button:focus-visible,:is(.tsr-home-page,.tsr-site-chrome) [tabindex]:focus-visible{outline:3px solid #0c8cde;outline-offset:4px}
.tsr-site-chrome.tsr-header{background:#ffffffed;border:0;box-shadow:none;color:var(--tsr-ink);z-index:1000}
.tsr-header .tsr-header-inner{width:88.4%;max-width:1440px;margin:auto;min-height:74px;display:flex;align-items:center;gap:22px;position:relative}
.tsr-site-chrome .tsr-brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--tsr-ink);flex-shrink:0;line-height:1.1}
.tsr-brand-image{display:block;width:190px;max-width:100%;height:auto;aspect-ratio:213.31/34.92;object-fit:contain}
.tsr-header .tsr-brand{min-width:170px;min-height:48px}
.tsr-header .tsr-navigation{flex:1;min-width:0;width:auto;padding:0}
.tsr-header .primary-navigation>.menu{justify-content:flex-end;gap:0 22px;flex-wrap:nowrap}
.tsr-header .primary-navigation .menu>li>a,.tsr-header .primary-navigation .menu>li:last-child>a{font-size:11px;line-height:1.6;letter-spacing:.025em;font-weight:700;white-space:nowrap;padding:28px 0;color:var(--tsr-ink);background:none;margin:0;border-radius:0;border:0}
.tsr-header .primary-navigation .menu>li>a[aria-current="page"],.tsr-header .primary-navigation .menu>.current-menu-item>a{position:relative}
.tsr-header .primary-navigation .menu>li>a[aria-current="page"]:after,.tsr-header .primary-navigation .menu>.current-menu-item>a:after{content:"";height:2px;background:#347cff;position:absolute;bottom:14px;left:-8px;right:-8px}
.tsr-header .primary-navigation .sub-menu a{color:var(--tsr-ink);padding:10px 0}
.tsr-search-toggle{border:0;background:none;color:var(--tsr-ink);padding:5px;cursor:pointer;display:grid;place-items:center}
.tsr-header-actions{display:flex;gap:10px;flex-shrink:0}
.tsr-header-actions .tsr-button{min-height:44px;font-size:11px;padding:10px 15px;gap:8px}
.tsr-header-actions .tsr-button .tsr-icon{width:17px;height:17px}
.tsr-search{position:absolute;top:100%;right:0;background:white;box-shadow:0 7px 20px #00245e22;padding:20px;border:1px solid #dae9f9;min-width:300px}
.tsr-search[hidden]{display:none}
.tsr-search input[type="search"]{padding:9px;max-width:220px;border:1px solid #b6c7dc}
.tsr-search input[type="submit"]{padding:9px;background:#005add;border:1px solid #005add;color:white}
.tsr-header .menu-toggle{display:none}
.tsr-footer{background:linear-gradient(110deg,#07244b,#031a38);color:#dbe5f4;padding:56px 0 40px;font-size:13px;line-height:1.9}
.tsr-footer-grid{display:grid;grid-template-columns:27% 39% 34%;align-items:start}
.tsr-footer .tsr-brand{color:white}
.tsr-footer-brand{padding-right:25px}
.tsr-footer-brand>p{font-size:13px;line-height:1.9;margin:20px 0}
.tsr-footer-brand>p br{display:none}
.tsr-footer-brand .tsr-footer-tagline{font-size:14px;margin:20px 0 16px}
.tsr-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.tsr-footer a{color:#dbe5f4;text-decoration:none}
.tsr-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.tsr-footer-navigation{padding:0 25px;border-inline:1px solid #38658c55;min-height:145px}
.tsr-footer-columns,.tsr-footer-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;list-style:none;margin:0;padding:0}
.tsr-footer-columns>div{display:flex;flex-direction:column;gap:8px}
.tsr-footer-columns strong{color:white;font-size:14px;margin-bottom:12px}
.tsr-footer-columns a{font-size:13px;line-height:1.9}
.tsr-footer-menu>.menu-item>a{font-weight:700;color:white}
.tsr-footer-menu .sub-menu{list-style:none;padding:12px 0 0;margin:0;font-size:13px}
.tsr-footer-menu .sub-menu .sub-menu{padding:3px 0 3px 9px}
.tsr-footer-access{display:grid;grid-template-columns:47% 1fr;gap:12px 20px;padding-left:25px;min-width:0}
.tsr-map{height:190px;min-width:0;overflow:hidden;border-radius:7px;background:#183c60}
.tsr-footer .tsr-map iframe{height:100%;width:100%;max-width:100%;border:0;display:block}
.tsr-address{align-self:center}
.tsr-address p{font-size:12px;line-height:1.8;margin:0 0 8px}
.tsr-address .tsr-phone{font-size:20px;white-space:nowrap;font-weight:700;line-height:1.5}
.tsr-phone>.tsr-icon{width:16px;height:16px;margin-right:7px}
.tsr-map-link{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #7893b1;border-radius:4px;padding:8px;font-size:12px;margin-top:16px;white-space:nowrap}
.tsr-map-link>.tsr-icon{width:14px;height:14px}
.tsr-footer-legal{grid-column:1/-1;display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:10px}
.tsr-footer-legal small{font-size:11px}
.tsv2-back-to-top.tsr-back-to-top .tsr-icon{transform:rotate(-90deg)}
@media(max-width:1350px){
 .tsr-header .tsr-header-inner{gap:14px;width:92%}
 .tsr-header .primary-navigation>.menu{gap:0 14px}
 .tsr-header-actions .tsr-button{padding:10px;font-size:10px}
 .tsr-footer-grid{grid-template-columns:27% 39% 34%}
 .tsr-footer-navigation{padding-inline:20px}
 .tsr-footer-access{padding-left:20px;gap:16px}
 .tsr-footer-columns{gap:24px 14px}
}
@media(max-width:1040px){
 .tsr-header .tsr-header-inner{flex-wrap:wrap;min-height:70px;gap:10px 15px}
 .tsr-header .menu-toggle{display:inline-flex;align-items:center;gap:10px;margin-left:auto;color:#0b2e5b;background:white;border-color:#bed1eb}
 .tsr-header .menu-toggle-icon{width:20px}
 .tsr-header .menu-toggle-icon span{display:block;height:2px;background:#1262cd;margin:4px 0}
 .tsr-header .primary-navigation{display:none;order:5;flex:0 0 100%;width:100%}
 .tsr-header .primary-navigation.is-open{display:block}
 .tsr-header .primary-navigation>.menu{display:block;padding:10px 0 18px}
 .tsr-header .primary-navigation .menu>li>a,.tsr-header .primary-navigation .menu>li:last-child>a{padding:12px 0;font-size:14px}
 .tsr-header .primary-navigation .sub-menu{position:static;display:block;padding-left:16px;box-shadow:none;border:0}
 .tsr-header .primary-navigation .menu>li>a:after{display:none}
 .tsr-header-actions .tsr-button{min-height:38px}
 .tsr-header .tsr-search{z-index:5}
 :is(.tsr-home-page,.tsr-site-chrome) .tsr-wrap{width:90%}
 .tsr-footer-grid{grid-template-columns:1fr 1.4fr;gap:40px 32px}
 .tsr-footer-navigation{border-right:0;padding-right:0}
 .tsr-footer-access{grid-column:1 / -1;padding:32px 0 0;border-top:1px solid #38658c55;grid-template-columns:220px minmax(0,1fr)}
 .tsr-footer-legal{justify-content:flex-start;gap:28px}
}
@media(max-width:700px){
 .tsr-header-actions{display:none}
 .tsr-header .tsr-header-inner{min-height:64px}
 .tsr-brand-image{max-width:155px}
 .tsr-footer{padding:48px 0 32px}
 .tsr-footer-grid{grid-template-columns:1fr;gap:32px}
 .tsr-footer-brand{padding:0}
 .tsr-footer-navigation{padding:32px 0;border-inline:0;border-block:1px solid #38658c55}
 .tsr-footer-columns{gap:24px 16px}
 .tsr-footer-columns a{font-size:12px}
 .tsr-footer-menu{gap:24px 16px}
 .tsr-footer-access{padding:0;border:0;grid-template-columns:1fr;gap:24px}
 .tsr-map{height:180px}
 .tsr-footer-legal{display:flex;flex-wrap:wrap;gap:16px}
}
@media(prefers-reduced-motion:reduce){.tsr-site-chrome .tsr-button{transition:none}}
