@charset "UTF-8";

/* ========================================
   共通ヘッダー・グローバルメニュー
======================================== */
body{padding-top:88px}
body.menu-open{overflow:hidden}
.header{height:88px;padding-left:var(--pad,clamp(22px,5vw,84px));display:flex;align-items:stretch;background:#fff;position:fixed;top:0;left:0;width:100%;z-index:50;box-shadow:0 4px 20px rgba(3,31,64,.06)}
.syubyou-logo{display:block;width:auto;height:45px;margin-left:24px;margin-right:auto;align-self:center;flex-shrink:0;object-fit:contain}
.brand{display:flex;flex-direction:column;justify-content:center;margin-right:auto;line-height:1.25}
.brand span{color:var(--blue,#0755a4);font:800 12px Arial,sans-serif;letter-spacing:.18em}
.brand strong{font-size:19px;letter-spacing:.07em}
.global-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,44px);padding:0 40px}
.global-nav>a{font-weight:700;font-size:16px}
.global-nav>a:hover{color:var(--blue,#0755a4)}
.menu-button{display:none}
/*
.fixed-online{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:40;width:58px;height:210px;color:#fff;background:var(--red,#e3342f);display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column;box-shadow:0 8px 30px rgba(108,0,0,.25)}
.fixed-online span{writing-mode:vertical-rl;font:800 12px Arial,sans-serif;letter-spacing:.18em}
*/
.fixed-banners{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:8px}
.fixed-banner{width:58px;height:210px;color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column;box-shadow:0 8px 30px rgba(108,0,0,.25);text-decoration:none;transition:opacity .2s}
.fixed-banner:hover{opacity:.85}
.fixed-banner span{writing-mode:vertical-rl;font:500 12px Arial,sans-serif;letter-spacing:.18em}
.fixed-online{background:var(--red,#e3342f)}
.fixed-instagram{height:150px;background:linear-gradient(180deg,#833ab4,#e1306c,#f77737)}
/* ========================================
   サービスプルダウン
======================================== */
.nav-dropdown{height:100%;display:flex;align-items:center}
.nav-dropdown-button{position:relative;height:100%;display:flex;align-items:center;gap:10px;padding:0;border:0;color:var(--ink,#14263a);background:transparent;font-weight:700;font-size:16px;cursor:pointer}
.nav-dropdown-button::after{content:"";position:absolute;right:0;bottom:22px;left:0;height:2px;background:var(--blue,#0755a4);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.nav-dropdown-button i{position:relative;width:18px;height:18px;border:1px solid #cbd7e2;border-radius:50%;transition:background .3s ease,border-color .3s ease,transform .3s ease}
.nav-dropdown-button i::before,.nav-dropdown-button i::after{content:"";position:absolute;top:50%;left:50%;width:7px;height:1px;background:var(--blue,#0755a4);transform:translate(-50%,-50%);transition:transform .3s ease,background .3s ease}
.nav-dropdown-button i::after{transform:translate(-50%,-50%) rotate(90deg)}
.nav-dropdown:hover .nav-dropdown-button,.nav-dropdown:focus-within .nav-dropdown-button,.nav-dropdown.is-open .nav-dropdown-button{color:var(--blue,#0755a4)}
.nav-dropdown:hover .nav-dropdown-button::after,.nav-dropdown:focus-within .nav-dropdown-button::after,.nav-dropdown.is-open .nav-dropdown-button::after{transform:scaleX(1);transform-origin:left}
.nav-dropdown:hover .nav-dropdown-button i,.nav-dropdown:focus-within .nav-dropdown-button i,.nav-dropdown.is-open .nav-dropdown-button i{border-color:var(--blue,#0755a4);background:var(--blue,#0755a4);transform:rotate(180deg)}
.nav-dropdown:hover .nav-dropdown-button i::before,.nav-dropdown:hover .nav-dropdown-button i::after,.nav-dropdown:focus-within .nav-dropdown-button i::before,.nav-dropdown:focus-within .nav-dropdown-button i::after,.nav-dropdown.is-open .nav-dropdown-button i::before,.nav-dropdown.is-open .nav-dropdown-button i::after{background:#fff}
.nav-dropdown:hover .nav-dropdown-button i::after,.nav-dropdown:focus-within .nav-dropdown-button i::after,.nav-dropdown.is-open .nav-dropdown-button i::after{transform:translate(-50%,-50%) rotate(0)}
.nav-dropdown-menu{position:fixed;top:88px;right:0;left:0;z-index:45;padding:0 var(--pad,clamp(22px,5vw,84px));color:#fff;background:linear-gradient(105deg,rgba(3,31,64,.98),rgba(7,85,164,.97));box-shadow:0 25px 50px rgba(3,31,64,.22);opacity:0;visibility:hidden;transform:translateY(-15px);pointer-events:none;transition:opacity .35s ease,visibility .35s ease,transform .35s ease}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.nav-dropdown-inner{width:min(1180px,100%);margin:0 auto;padding:38px 0 42px;display:grid;grid-template-columns:330px 1fr;gap:clamp(35px,6vw,90px)}
.nav-dropdown-title{padding-right:35px;border-right:1px solid rgba(255,255,255,.2)}
.nav-dropdown-title span{color:#82c5ff;font:800 11px Arial,sans-serif;letter-spacing:.2em}
.nav-dropdown-title strong{display:block;margin-top:8px;font-size:27px;letter-spacing:.06em}
.nav-dropdown-title p{margin:12px 0 0;color:rgba(255,255,255,.68);font-size:13px;line-height:1.8}
.nav-dropdown-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px}
.global-nav .nav-dropdown-links a{position:relative;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:12px;padding:16px 8px;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);overflow:hidden;transition:padding .3s ease,background .3s ease}
.global-nav .nav-dropdown-links a::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.1);transform:translateX(-102%);transition:transform .35s ease}
.global-nav .nav-dropdown-links a:hover,.global-nav .nav-dropdown-links a[aria-current="page"]{padding-right:15px;padding-left:15px;color:#fff}
.global-nav .nav-dropdown-links a:hover::before,.global-nav .nav-dropdown-links a[aria-current="page"]::before{transform:translateX(0)}
.nav-dropdown-links a>*{position:relative;z-index:1}
.nav-dropdown-links a span{color:#82c5ff;font:800 11px Arial,sans-serif;letter-spacing:.1em}
.nav-dropdown-links a strong{font-size:15px;letter-spacing:.04em}

/* ========================================
   タブレット・スマートフォン
======================================== */
@media(max-width:1650px){
body{padding-top:72px}
body.menu-open{overflow:hidden;touch-action:none}
.header{height:72px;padding-left:20px}
.brand{min-width:0;padding-right:10px}
.global-nav{display:none;position:fixed;inset:72px 0 0;z-index:60;box-sizing:border-box;width:100%;height:calc(100dvh - 72px);padding:24px 24px 40px;background:var(--navy,#031f40);flex-direction:column;align-items:flex-start;gap:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.global-nav.is-open{display:flex}
.global-nav>a{flex:0 0 auto;display:flex;align-items:center;width:100%;min-height:64px;padding:12px 4px;color:#fff;font-size:21px;line-height:1.45;border-bottom:1px solid rgba(255,255,255,.15)}
.menu-button{display:flex;flex:0 0 72px;width:72px;height:72px;padding:0;border:0;background:var(--blue,#0755a4);flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;position:relative;z-index:2}
.menu-button i{width:23px;height:1px;background:#fff}
.menu-button b{font:700 8px Arial,sans-serif;color:#fff}
.fixed-online{width:48px}
.nav-dropdown{flex:0 0 auto;width:100%;height:auto;display:block;border-bottom:1px solid rgba(255,255,255,.15)}
.nav-dropdown-button{box-sizing:border-box;width:100%;height:auto;min-height:64px;padding:12px 4px;justify-content:space-between;color:#fff;font-size:21px;line-height:1.45;text-align:left}
.nav-dropdown-button::after{display:none}
.nav-dropdown-button i{width:28px;height:28px;border-color:rgba(255,255,255,.4)}
.nav-dropdown-button i::before,.nav-dropdown-button i::after{width:9px;background:#fff}
.nav-dropdown:hover .nav-dropdown-button{color:#fff}
.nav-dropdown:hover .nav-dropdown-button i{border-color:rgba(255,255,255,.4);background:transparent;transform:none}
.nav-dropdown:hover .nav-dropdown-button i::after{transform:translate(-50%,-50%) rotate(90deg)}
.nav-dropdown.is-open .nav-dropdown-button{color:#82c5ff}
.nav-dropdown.is-open .nav-dropdown-button i,.nav-dropdown.is-open:hover .nav-dropdown-button i{border-color:var(--blue,#0755a4);background:var(--blue,#0755a4);transform:rotate(180deg)}
.nav-dropdown.is-open .nav-dropdown-button i::after,.nav-dropdown.is-open:hover .nav-dropdown-button i::after{background:#fff;transform:translate(-50%,-50%) rotate(0)}
.nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{position:static;max-height:0;padding:0 16px;background:rgba(255,255,255,.05);box-shadow:none;opacity:1;visibility:visible;transform:none;overflow:hidden;pointer-events:none;transition:max-height .5s cubic-bezier(.22,.61,.36,1),padding .5s ease}
.nav-dropdown.is-open .nav-dropdown-menu,.nav-dropdown.is-open:hover .nav-dropdown-menu,.nav-dropdown.is-open:focus-within .nav-dropdown-menu{max-height:520px;padding:8px 16px 20px;pointer-events:auto}
.nav-dropdown-inner{display:block;padding:0}
.nav-dropdown-title{display:none}
.nav-dropdown-links{display:block;width:100%}
.global-nav .nav-dropdown-links a{box-sizing:border-box;grid-template-columns:30px 1fr;width:100%;min-height:50px;padding:10px 4px;color:#fff;font-size:14px;line-height:1.45;border-bottom:1px solid rgba(255,255,255,.12)}
.nav-dropdown-links a strong{font-size:14px}
}

@media(max-width:640px){
.syubyou-logo{height:25px;margin-left:0}
.brand strong{font-size:15px}
.brand span{font-size:9px}
/*
.fixed-online{top:auto;bottom:18px;right:10px;transform:none;width:auto;height:46px;padding:0 15px;flex-direction:row}
.fixed-online span{writing-mode:horizontal-tb}
*/
.fixed-banners{top:auto;bottom:18px;right:10px;left:10px;transform:none;flex-direction:row;justify-content:flex-end;gap:6px}
.fixed-banner{width:auto;height:46px;padding:0 12px;flex-direction:row}
.fixed-banner span{writing-mode:horizontal-tb;letter-spacing:.05em}
.fixed-instagram{height:46px}
}