@charset "utf-8";
/* CSS Document */
.site-header { width:100%; background:#fff; border-top:1px solid #ddd; border-bottom:1px solid #ddd; position:relative; z-index:1000; }
.header-inner { width:1200px; height:120px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; background:#fff; }
.site-logo { width:400px; flex-shrink:0; }
.site-logo a { display:block;}
.site-logo-placeholder { width:400px;display:flex; align-items:center; justify-content:center; box-sizing:border-box; }
.site-logo-image { width:400px; height:auto; display:block; }
.global-nav { width:700px; height:100%; }
.global-nav-list { width:100%; height:100%; margin:0; padding:0; display:flex; align-items:stretch; list-style:none; }
.global-nav-item { width:20%; height:100%; border-left:1px solid #ddd; position:relative; }
.global-nav-item:last-child { border-right:1px solid #ddd; }
.global-nav-item a { width:100%; height:100%; padding:20px 10px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; box-sizing:border-box; color:#222; text-align:center; text-decoration:none; position:relative; transition:background-color .3s ease,color .3s ease; }
.global-nav-item a::after { content:""; width:0; height:4px; background:#f4a000; position:absolute; right:20px; bottom:24px; left:20px; margin:auto; transition:width .3s ease; }
.global-nav-item a:hover { color:#004da0; background:#f5f9fd; }
.global-nav-item a:hover::after { width:calc(100% - 40px); }
.global-nav-item.is-current a { color:#004da0; background:#f5f9fd; }
.global-nav-item.is-current a::after { width:calc(100% - 40px); }
.global-nav-icon { color:#004da0; font-size:28px; line-height:1; transition:color .3s ease,transform .3s ease; }
.global-nav-item a:hover .global-nav-icon { color:#f4a000; transform:translateY(-3px); }
.global-nav-text { font-size:17px; font-weight:700; line-height:1.4; letter-spacing:.03em; white-space:nowrap; }
.menu-toggle { display:none; }
.menu-toggle-lines { display:block; }
.menu-toggle-line { display:block; }
.menu-toggle-text { display:block; }
.header-color-line { width:100%; height:10px; display:flex; overflow:hidden; background:#004da0; }
.header-color-blue { width:calc(100% - 170px); height:100%; background:#004da0; }
.header-color-orange { width:90px; height:100%; margin-left:-8px; background:#f4a000; transform:skewX(-38deg); }
.header-color-red { width:90px; height:100%; margin-left:-8px; background:#e73820; transform:skewX(-38deg); }

@media screen and (max-width:749px) {
.site-header { width:100%; background:#fff; position:relative; z-index:1000;     position: sticky;top:0;}
.header-inner { width:100%; height:90px; padding:0 15px; display:flex; align-items:center; justify-content:space-between; box-sizing:border-box; position:relative; }
.site-logo { width:calc(100% - 75px); max-width:400px; flex-shrink:1; }
.site-logo a { display:block; }
.site-logo-placeholder { width:100%; max-width:280px; height:58px; display:flex; align-items:center; justify-content:center; box-sizing:border-box; border:2px solid #004da0; color:#004da0; font-size:20px; font-weight:700; letter-spacing:.06em; }
.site-logo-image { width:100%; max-width:280px; height:auto; display:block; }
.menu-toggle { width:60px; height:68px; padding:6px 5px 4px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; box-sizing:border-box; border:0; background:transparent; color:#004da0; cursor:pointer; position:relative; z-index:1002; }
.menu-toggle-lines { width:34px; height:25px; display:flex; flex-direction:column; justify-content:space-between; position:relative; }
.menu-toggle-line { width:34px; height:4px; display:block; border-radius:3px; background:#004da0; transform-origin:center; transition:transform .3s ease,opacity .3s ease,background-color .3s ease; }
.menu-toggle-text { color:#004da0; font-size:11px; font-weight:700; line-height:1; letter-spacing:.05em; }
.menu-toggle.is-open .menu-toggle-line:nth-child(1) { transform:translateY(10.5px) rotate(45deg); }
.menu-toggle.is-open .menu-toggle-line:nth-child(2) { opacity:0; }
.menu-toggle.is-open .menu-toggle-line:nth-child(3) { transform:translateY(-10.5px) rotate(-45deg); }
.menu-toggle.is-open .menu-toggle-text { font-size:0; }
.menu-toggle.is-open .menu-toggle-text::after { content:"閉じる"; font-size:11px; }
.global-nav { width:100%; height:auto; max-height:0; overflow:hidden; background:#fff; position:absolute; top:90px; left:0; z-index:1001; opacity:0; visibility:hidden; box-shadow:0 12px 20px rgba(0,77,160,.15); transition:max-height .45s ease,opacity .3s ease,visibility .3s ease; }
.global-nav.is-open { max-height:500px; opacity:1; visibility:visible; }
.global-nav-list { width:100%; height:auto; margin:0; padding:0; display:block; background:#fff; }
.global-nav-item { width:100%; height:auto; border-left:0; border-bottom:1px solid #ddd; position:relative; }
.global-nav-item:last-child { border-right:0; border-bottom:0; }
.global-nav-item a { width:100%; height:64px; padding:0 55px 0 22px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:18px; box-sizing:border-box; color:#222; background:#fff; text-align:left; position:relative; }
.global-nav-item a::before { content:""; width:9px; height:9px; border-top:2px solid #004da0; border-right:2px solid #004da0; position:absolute; top:50%; right:24px; transform:translateY(-50%) rotate(45deg); }
.global-nav-item a::after { width:4px; height:0; margin:0; background:#f4a000; position:absolute; top:50%; right:auto; bottom:auto; left:0; transform:translateY(-50%); transition:height .3s ease; }
.global-nav-item a:hover { color:#004da0; background:#f5f9fd; }
.global-nav-item a:hover::after { width:4px; height:100%; }
.global-nav-item.is-current a { color:#004da0; background:#f5f9fd; }
.global-nav-item.is-current a::after { width:4px; height:100%; }
.global-nav-icon { width:28px; color:#004da0; font-size:24px; line-height:1; text-align:center; flex-shrink:0; }
.global-nav-item a:hover .global-nav-icon { color:#f4a000; transform:none; }
.global-nav-text { font-size:16px; font-weight:700; line-height:1.4; letter-spacing:.03em; }
.header-color-line { width:100%; height:8px; display:flex; overflow:hidden; }
.header-color-blue { width:calc(100% - 120px); height:100%; background:#004da0; }
.header-color-orange { width:65px; height:100%; margin-left:-7px; background:#f4a000; transform:skewX(-38deg); }
.header-color-red { width:65px; height:100%; margin-left:-7px; background:#e73820; transform:skewX(-38deg); }
}

.fixed-contact,.fixed-contact *,.fixed-contact *::before,.fixed-contact *::after{box-sizing:border-box;}
.fixed-contact-pc{position:fixed;top:50%;right:0;transform:translateY(-50%);width:86px;padding:20px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:16px 0 0 16px;background:#004da0;color:#fff;text-decoration:none;box-shadow:0 12px 30px rgba(0,50,100,.25);z-index:999;transition:.3s;}
.fixed-contact-pc:hover{width:94px;background:#003a79;}
.fixed-contact-en{font-size:11px;font-weight:700;letter-spacing:.15em;writing-mode:vertical-rl;}
.fixed-contact-pc strong{font-size:16px;writing-mode:vertical-rl;letter-spacing:.1em;}
.fixed-contact-pc i{font-size:22px;}
.fixed-contact-sp{display:none;}
@media screen and (max-width:749px){
.fixed-contact-pc{display:none;}
.fixed-contact-sp{position:fixed;left:0;right:0;bottom:0;height:68px;display:grid;grid-template-columns:1fr 1fr;z-index:9999;box-shadow:0 -6px 18px rgba(0,0,0,.18);}
.fixed-contact-sp a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-decoration:none;}
.fixed-contact-sp i{margin-bottom:4px;font-size:20px;}
.fixed-contact-sp span{font-size:14px;font-weight:700;line-height:1.2;}
.fixed-contact-sp small{margin-top:3px;font-size:11px;opacity:.9;}
.fixed-contact-sp-tel{background:#004da0;}
.fixed-contact-sp-mail{background:#f4a000;color:#222;}
body{padding-bottom:68px;}
}