.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--content-pad-x)}.section{padding:var(--sp-2xl) 0}.section-alt{background:var(--bg-cream)}.section-tag{display:block;font-family:var(--font-en);font-size:0.7rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--primary);margin-bottom:0.5rem}.section-tag.accent{color:var(--accent)}.section-title{font-size:clamp(1.5rem,3.5vw,2rem);font-weight:800;line-height:1.4;margin-bottom:0.75rem}.section-desc{color:var(--text-light);font-size:0.925rem;line-height:1.85;margin-bottom:2.5rem}.section-desc small{font-size:0.8em}.header{position:fixed;top:0;left:0;right:0;z-index:500;height:var(--header-h);display:flex;align-items:center;background:rgba(255,255,255,0.82);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid transparent;transition:border-color var(--transition),box-shadow var(--transition)}.header.scrolled{border-color:var(--border-warm);box-shadow:var(--shadow-sm)}.header-inner{display:flex;align-items:center;gap:2rem;width:100%;max-width:var(--max-w);margin:0 auto;padding-inline:var(--content-pad-x)}.logo{flex-shrink:0}.logo-img{display:block;height:29px;width:auto}.nav{flex:1}.nav-list{display:flex;align-items:center;justify-content:center;gap:0.125rem}.nav-list a{display:inline-flex;align-items:center;gap:0.35rem;padding:0.5rem 0.8rem;font-size:0.85rem;font-weight:500;color:var(--text-light);transition:color var(--transition)}.nav-list a:hover{opacity:1;color:var(--text-main)}@media (min-width:1024px){.nav-list>li>a{height:var(--header-h);padding-top:0;padding-bottom:0}}.header-cta{flex-shrink:0;font-size:0.85rem;padding:0.6rem 1.35rem}.header-cta:hover{transform:none}.nav-chevron{flex-shrink:0;width:10px;height:6px;opacity:0.65;transition:transform 0.25s ease,opacity 0.25s ease}.has-dropdown.is-active>a .nav-chevron,.has-dropdown:focus-within>a .nav-chevron{transform:rotate(180deg);opacity:1}.has-dropdown.is-active>a{color:var(--text-main)}.dropdown-panel{position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.96);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--border-warm);border-bottom:1px solid var(--border-warm);box-shadow:0 14px 30px -10px rgba(0,0,0,0.10);z-index:9;height:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:height 0.28s cubic-bezier(0.32,0.72,0,1),opacity 0.2s ease,visibility 0s linear 0.28s}.dropdown-panel.open{opacity:1;visibility:visible;pointer-events:auto;transition:height 0.28s cubic-bezier(0.32,0.72,0,1),opacity 0.18s ease}.dropdown-content{position:absolute;top:0;left:0;right:0;opacity:0;pointer-events:none;transition:opacity 0.18s ease}.dropdown-content.active{opacity:1;pointer-events:auto}.dropdown-content-inner{max-width:var(--max-w);margin:0 auto;padding:1.75rem var(--content-pad-x) 2rem;display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:2rem;align-items:stretch}.dropdown-heading{display:flex;flex-direction:column;gap:0.5rem;padding:0.5rem 1.5rem 0.5rem 0;border-right:1px solid var(--border-warm)}.dropdown-heading-title{font-size:1.15rem;font-weight:700;color:var(--text-main);line-height:1.4}.dropdown-heading-desc{font-size:0.8rem;color:var(--text-light);line-height:1.7}.dropdown-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.25rem 0.75rem;margin:0}.dropdown-list li{list-style:none}.dropdown-list a{display:flex;flex-direction:column;gap:0.2rem;padding:0.75rem 0.9rem;border-radius:var(--r-sm);white-space:normal;transition:background var(--transition)}.dropdown-list a:hover{background:var(--bg-cream)}.dropdown-link-label{font-size:0.92rem;font-weight:600;color:var(--text-main);transition:color var(--transition)}.dropdown-link-desc{font-size:0.78rem;color:var(--text-light);line-height:1.5}.dropdown-list a:hover .dropdown-link-label{color:var(--primary)}.dropdown-cat-list{column-count:2;column-gap:1rem;margin:0;padding:0}.dropdown-cat-list>li{list-style:none;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid}.dropdown-cat-sublist{margin:0.1rem 0 0.3rem 0.7rem;padding:0;border-left:1px solid var(--border-warm)}.dropdown-cat-sublist li{list-style:none}.dropdown-cat-link{display:block;padding:0.45rem 0.7rem;border-radius:var(--r-sm);font-size:0.88rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--transition),color var(--transition)}.dropdown-cat-link:hover{background:var(--bg-cream);color:var(--primary);opacity:1}.dropdown-cat-all{font-weight:600}.dropdown-cat-parent{font-weight:600}.dropdown-cat-child{position:relative;padding-left:1.4rem;font-size:0.84rem;color:var(--text-light)}.dropdown-cat-child::before{content:'';position:absolute;left:0.4rem;top:50%;width:0.6rem;height:1px;background:var(--border-warm)}.dropdown-back-btn{display:none;align-items:center;gap:0.5rem;background:transparent;border:none;font-family:inherit;font-size:0.92rem;font-weight:600;color:var(--primary);cursor:pointer;padding:0.5rem 0}.dropdown-back-btn:hover{color:var(--primary-dark)}.dropdown-back-icon{flex-shrink:0}.menu-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;width:40px;height:40px;padding:0;margin-left:auto;background:rgba(0,174,239,0.12);border:none;border-radius:12px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--primary);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.footer{position:relative;background:#16213E;color:rgba(255,255,255,0.72);overflow:hidden}.footer::before,.footer::after{content:'';position:absolute;inset:0 0 auto 0;height:3px;pointer-events:none}.footer::before{background-color:rgba(255,255,255,0.78)}.footer::after{width:40%;background-image:linear-gradient(90deg,transparent 0%,rgba(0,174,239,0.92) 42%,rgba(245,158,11,0.92) 58%,transparent 100%);filter:drop-shadow(0 0 6px rgba(0,174,239,0.32)) drop-shadow(0 0 10px rgba(245,158,11,0.22));transform:translateX(-120%);will-change:transform;animation:footer-glow-sweep 10s linear infinite}@keyframes footer-glow-sweep{0%{transform:translateX(-120%)}100%{transform:translateX(270%)}}@media (prefers-reduced-motion:reduce){.footer::after{animation:none;width:100%;background-image:linear-gradient(90deg,transparent 0%,rgba(0,174,239,0.7) 30%,rgba(245,158,11,0.7) 70%,transparent 100%);transform:none;filter:none}}.footer-inner{position:relative;display:flex;flex-direction:column;gap:var(--sp-xl);padding-top:var(--sp-2xl);padding-bottom:var(--sp-xl)}.footer-brand{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sp-lg);padding-bottom:var(--sp-lg);border-bottom:1px solid rgba(255,255,255,0.08)}.footer-brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:0.85rem;min-width:0}.footer-logo-link{display:inline-block;transition:opacity var(--transition)}.footer-logo-link:hover{opacity:0.85}.footer-logo-img{display:block;height:32px;width:auto}.footer-tagline{font-size:0.86rem;line-height:1.85;color:rgba(255,255,255,0.62);max-width:38ch}.footer-slogan{font-size:1.6rem;line-height:1.2;color:var(--primary);margin-top:-0.1rem}.footer-login-btn{display:inline-flex;align-items:center;flex-shrink:0;gap:0.5rem;padding:0.65rem 1.25rem;border-radius:var(--r-full);border:1px solid rgba(255,255,255,0.28);background:rgba(255,255,255,0.06);color:#fff;font-size:0.86rem;font-weight:700;line-height:1;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.footer-login-btn:hover{background:var(--primary);border-color:var(--primary-dark);color:#fff;opacity:1;box-shadow:0 4px 14px rgba(0,174,239,0.45)}.footer-login-icon{flex-shrink:0}.footer-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-lg) var(--sp-lg)}.footer-nav-col{display:flex;flex-direction:column}.footer-nav-label{font-size:0.82rem;font-weight:700;letter-spacing:0.06em;color:#fff;padding-bottom:0.85rem;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,0.1)}.footer-nav-list{display:flex;flex-direction:column;gap:0.6rem}.footer-nav-list a{display:inline-block;font-size:0.85rem;color:rgba(255,255,255,0.68);transition:color var(--transition)}.footer-nav-list a:hover{opacity:1;color:#fff}.footer-nav-col-cats{grid-column:1 / -1}.footer-cat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0.6rem var(--sp-lg);align-items:start}.footer-cat-parent-item{display:flex;flex-direction:column;gap:0.6rem}.footer-cat-sublist{display:flex;flex-direction:column;gap:0.6rem;margin-top:0.6rem;padding-left:0.5rem}.footer-cat-list a.footer-cat-parent,.footer-cat-list a.footer-cat-child{font-size:0.85rem;font-weight:400;color:rgba(255,255,255,0.68);transition:color var(--transition)}.footer-cat-list a.footer-cat-parent:hover,.footer-cat-list a.footer-cat-child:hover{color:#fff}.footer-cat-list a.footer-cat-child{display:inline-flex;align-items:center;gap:0.4rem}.footer-cat-list a.footer-cat-child::before{content:"";flex:none;width:0.95em;height:0.95em;background-color:currentColor;opacity:0.6;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%202v4.5a3.5%203.5%200%200%200%203.5%203.5h3.5m-2.5-2.5l2.5%202.5-2.5%202.5'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%202v4.5a3.5%203.5%200%200%200%203.5%203.5h3.5m-2.5-2.5l2.5%202.5-2.5%202.5'/%3E%3C/svg%3E") center / contain no-repeat}.footer-bottom{position:relative;border-top:1px solid rgba(255,255,255,0.08);padding:var(--sp-md) 0}.footer-bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.4rem 1.2rem}.footer-copy{font-size:0.74rem;letter-spacing:0.04em;color:rgba(255,255,255,0.55)}.footer-trademark{font-size:0.7rem;color:rgba(255,255,255,0.4)}.mobile-sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;padding:0.75rem 1rem;background:rgba(255,255,255,0.97);backdrop-filter:blur(8px);border-top:1px solid var(--border-warm);box-shadow:0 -4px 16px rgba(0,0,0,0.08);gap:0.55rem;align-items:stretch}.mobile-sticky-cta-link{flex:1;display:flex;align-items:center;justify-content:center;text-align:center}.mobile-sticky-cta-link:hover{transform:none}.mobile-sticky-video{flex-shrink:0;display:inline-flex;align-items:center;gap:0.5rem;height:50px;padding:0 0.95rem 0 0.35rem;background:#fff;border:1.5px solid var(--primary);border-radius:var(--r-full);color:var(--primary);font-family:var(--font-ja);font-size:0.82rem;font-weight:700;letter-spacing:0.02em;line-height:1;cursor:pointer;transition:background var(--transition),color var(--transition)}.mobile-sticky-video:hover,.mobile-sticky-video:focus-visible{background:var(--primary);color:#fff;outline:none}.mobile-sticky-video-icon{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition)}.mobile-sticky-video:hover .mobile-sticky-video-icon,.mobile-sticky-video:focus-visible .mobile-sticky-video-icon{background:#fff;color:var(--primary)}.mobile-sticky-video-icon svg{width:16px;height:16px}.mobile-sticky-video-label{display:inline-block;line-height:1}@media (max-width:520px){.mobile-sticky-cta{display:flex}}.video-modal{position:fixed;inset:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}.video-modal:not([open]){display:none}.video-modal[open]{display:flex;align-items:center;justify-content:center}.video-modal::backdrop{background:rgba(8,12,22,0.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.video-modal-player{display:block;width:auto;height:min(92dvh,92vh);max-width:92vw;aspect-ratio:9 / 16;background:#000;border-radius:var(--r-md);box-shadow:0 30px 80px rgba(0,0,0,0.5);outline:none}.video-modal-close{position:absolute;top:clamp(1rem,3vw,1.5rem);right:clamp(1rem,3vw,1.5rem);z-index:2;width:44px;height:44px;padding:0;border-radius:50%;background:rgba(255,255,255,0.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.28);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition),transform var(--transition)}.video-modal-close:hover,.video-modal-close:focus-visible{background:rgba(255,255,255,0.26);outline:none;transform:scale(1.06)}.video-modal-close svg{width:22px;height:22px}@media (max-width:520px){.video-modal-player{height:auto;width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.video-modal-close{top:max(env(safe-area-inset-top,0),0.75rem);right:0.75rem}}@media (max-width:1023px){.nav{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fff;z-index:400;flex:none;display:flex;flex-direction:column;padding:calc(var(--header-h) + 2.5rem) 0 2rem;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform 0.38s cubic-bezier(0.32,0.72,0,1),visibility 0s linear 0.38s}.nav.open{transform:translateX(0);visibility:visible;transition:transform 0.38s cubic-bezier(0.32,0.72,0,1),visibility 0s linear}.nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%;padding:0 var(--content-pad-x);max-width:560px;margin:0 auto}.nav-list a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0.7rem 0;font-size:1rem;font-weight:600;color:var(--text-main);border-bottom:1px solid var(--border-warm);overflow:hidden}.nav-list a::after{content:'';flex-shrink:0;width:6px;height:6px;border-right:1.5px solid var(--text-light);border-top:1.5px solid var(--text-light);transform:rotate(45deg);margin-left:0.5rem;margin-right:1px}.dropdown-panel,.dropdown-panel.open{position:fixed;top:0;left:0;right:auto;width:100vw;height:100vh;height:100dvh;z-index:401;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;padding:calc(var(--header-h) + 1.5rem) 0 2rem;overflow-y:auto;opacity:1;pointer-events:auto;visibility:hidden;transform:translateX(100%);transition:transform 0.38s cubic-bezier(0.32,0.72,0,1),visibility 0s linear 0.38s}.dropdown-panel.is-mobile-open{transform:translateX(0);visibility:visible;transition:transform 0.38s cubic-bezier(0.32,0.72,0,1),visibility 0s linear}.dropdown-content{position:relative;top:auto;left:auto;right:auto;opacity:1;pointer-events:auto;transition:none;display:none;width:100%;max-width:560px;margin:0 auto;padding:0 var(--content-pad-x)}.dropdown-content.is-mobile-active{display:block}.dropdown-back-btn{display:inline-flex;margin-bottom:0.5rem}.dropdown-content-inner{display:block;padding:0;max-width:none}.dropdown-heading{border-right:none;border-bottom:1px solid var(--border-warm);padding:0.25rem 0 1rem;margin-bottom:1rem}.dropdown-list{grid-template-columns:1fr}.dropdown-cat-list{column-count:1}.nav-chevron{display:none}.menu-toggle{display:flex;position:relative;z-index:500}.logo{position:relative;z-index:500}.header-cta{margin-left:auto;position:relative;z-index:500}.header-inner{gap:0.75rem}.menu-toggle{margin-left:0}}@media (max-width:520px){.header-cta{display:none}.menu-toggle{margin-left:auto}}@media (max-width:900px){.footer-inner{gap:var(--sp-lg);padding-top:var(--sp-xl)}}@media (max-width:767px){.section{padding:var(--sp-xl) 0}.footer-brand{flex-direction:column;align-items:flex-start;gap:var(--sp-md)}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-lg) var(--sp-md)}.footer-bottom-inner{flex-direction:column;align-items:flex-start;text-align:left}.footer-logo-img{height:28px}.footer-slogan{font-size:1.4rem}}@media (max-width:480px){.footer-nav{grid-template-columns:1fr;gap:var(--sp-md)}.footer-bottom{padding-bottom:calc(var(--sp-md) + 60px)}}@media (max-width:767px){.header-cta{font-size:0.8rem;padding:0.5rem 1rem}.logo-img{height:24px}}