:root{--service-accent:#f4511e;--font-size-min:14px;--gutter:clamp(24px,5vw,80px);--content-width:1440px;--content-inset:max(var(--gutter),calc((100% - var(--content-width))/2));--white:#fff;--black:#000;--ease:cubic-bezier(.22,.7,.25,1)}
.header,.mobile-nav,.footer{box-sizing:border-box;font-family:"Helvetica Neue",Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:14px;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}.header *,.mobile-nav *,.footer *{box-sizing:border-box}.header p,.footer p{margin:0}.header .wordmark,.footer .wordmark{text-decoration:none!important}
.header,.mobile-nav{line-height:1.5}
.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip:focus{position:fixed;z-index:200;background:#fff;padding:12px}
.header{height:94px;padding:0 var(--content-inset);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:110;background:#fff;color:#000;border-bottom:1px solid #000}
.header a,.footer a{text-decoration:none;color:inherit}.header a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}
.header .wordmark,.footer .wordmark{font:700 44px/1 Georgia,"Times New Roman",serif;letter-spacing:-3px}.header .wordmark>span{color:var(--service-accent)}
.desktop-nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:600;letter-spacing:.03em}.desktop-nav>a{padding:8px 0}
.nav-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #000;border-radius:999px;padding:12px 16px 12px 24px!important}
.nav-contact>span,.inline-action>span{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;background:var(--service-accent);color:#fff;border-radius:50%;transition:transform .3s var(--ease)}
.nav-contact:hover>span,.inline-action:hover>span{transform:translateX(3px)}
.header .ui-arrow,.footer .ui-arrow{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.menu-toggle{display:none;width:44px;height:44px;padding:10px;border:0;background:#fff;cursor:pointer}.menu-toggle span{display:block;height:1px;margin:7px 0;background:#000;transition:transform .25s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{position:fixed;top:78px;left:0;right:0;z-index:109;background:#fff;color:#000;padding:16px var(--gutter) 32px;border-bottom:1px solid #000;max-height:calc(100dvh - 78px);overflow-y:auto}
.mobile-nav[hidden]{display:none!important}.mobile-nav a{display:block;padding:15px 0;border-bottom:1px solid #000;font-size:22px;text-decoration:none;color:inherit}
.inline-action{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;width:fit-content}
.footer{padding:64px var(--content-inset) 32px;background:var(--service-accent);color:#fff;border-radius:64px 64px 0 0;font-size:14px;line-height:1.9}.footer .wordmark>span{color:#fff}.footer .inline-action>span{background:#fff;color:var(--service-accent)}
.footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 60px;align-items:end;padding-bottom:42px}.footer-top .wordmark{font-size:clamp(76px,11.5vw,180px);letter-spacing:-.065em;line-height:.9}.footer-top p{grid-column:1;grid-row:2;text-indent:1em;font-size:clamp(14px,2vw,24px);font-weight:600;line-height:1.6;white-space:nowrap;margin:0}.footer-top>div{grid-column:2;grid-row:1;align-self:center;justify-self:end;display:flex;flex-direction:column;gap:8px}
.footer-bottom{padding-top:20px;border-top:1px solid #fff;display:flex;justify-content:space-between;align-items:start;gap:24px;letter-spacing:.03em}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:8px 18px;max-width:600px}.footer-bottom>a,.footer-bottom>span{white-space:nowrap}
.footer .preview-note:empty{display:none}.header a:focus-visible,.header button:focus-visible,.mobile-nav a:focus-visible{outline:2px solid #000;outline-offset:5px}.footer a:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:1100px){.desktop-nav{gap:18px}.footer-bottom>div{max-width:430px}}
@media(max-width:900px){.header{height:78px}.desktop-nav{display:none}.menu-toggle{display:block}.footer-bottom{flex-wrap:wrap}}
@media(max-width:600px){.header{height:72px}.header .wordmark{font-size:34px}.mobile-nav{top:72px;max-height:calc(100dvh - 72px)}.footer{border-radius:32px 32px 0 0;padding-top:44px}.footer-top{grid-template-columns:minmax(0,1fr);gap:24px}.footer-top .wordmark{font-size:80px}.footer-top>div{grid-column:1/-1;grid-row:3;justify-self:start;gap:16px}.footer-bottom{gap:16px}.footer-bottom>div{gap:8px 14px}}
@media(prefers-reduced-motion:reduce){.header *,.mobile-nav *,.footer *{transition:none!important}}
@media(max-width:600px){.footer-top .wordmark{font-size:21vw;grid-column:1/-1}.footer-top p{justify-self:start}}
.footer{color:#fff}.footer .wordmark{color:#fff}.footer-bottom{border-color:#fff}.footer a:focus-visible{outline-color:#fff}

/* Shared contact card, independent of page-specific styles. */
.footer-contact{box-sizing:border-box;padding:64px var(--content-inset) 96px;background:#fff;font-family:"Helvetica Neue",Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;scroll-margin-top:112px}
.footer-contact *{box-sizing:border-box}
.footer-contact-card{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:clamp(32px,4vw,64px);border-radius:32px;background:var(--service-accent);color:#fff!important;text-decoration:none!important;line-height:1.9}
.footer-contact-card>div{min-width:0}
.footer-contact-jp{font-size:40px;font-weight:500;line-height:1.9}
.footer-contact-sp-break{display:none}
.footer-contact-card h2{margin:0 0 0 -.035em;color:#fff;font-family:inherit;font-size:clamp(88px,13vw,200px);font-weight:600;font-style:italic;line-height:1;letter-spacing:-.065em;text-transform:none}
.footer-contact-description{margin:10px 0 0;color:#fff;font-size:20px;font-weight:500;line-height:1.9;letter-spacing:.04em}
.footer-contact-arrow{display:grid;place-items:center;width:clamp(64px,8vw,120px);aspect-ratio:1;flex-shrink:0;border:1px solid #fff;border-radius:50%;background:#fff;color:var(--service-accent);transition:transform .4s var(--ease),background-color .3s var(--ease),color .3s var(--ease)}
.footer-contact-arrow .ui-arrow{width:42%;height:42%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-card:hover .footer-contact-arrow{transform:translateX(8px);background:transparent;color:#fff}
.footer-contact-card:focus-visible{outline:2px solid #000;outline-offset:6px}
.footer-top>div .inline-action{width:100%}
@media(max-width:900px){.footer-contact-jp{font-size:34px}}
@media(max-width:600px){.footer-contact{padding-top:40px;padding-bottom:72px}.footer-contact-card{gap:12px;padding:32px 20px;border-radius:24px}.footer-contact-jp{font-size:min(28px,calc((100vw - 2 * var(--gutter) - 96px)/9));white-space:nowrap}.footer-contact-sp-break{display:block}.footer-contact-card h2{font-size:12vw;line-height:1.1;margin-top:10px}.footer-contact-description{margin-top:8px;font-size:18px}.footer-contact-arrow{width:44px}}
@media(prefers-reduced-motion:reduce){.footer-contact *{transition:none!important}}
/* One shared circular top button on every page. */
#scroll-top-btn{display:none!important}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:100;display:grid;place-items:center;width:56px;height:56px;padding:0;border:1px solid #f4511e;border-radius:50%;background:#fff;color:#f4511e;cursor:pointer;box-shadow:0 2px 12px #0000000d;transition:background-color .25s,color .25s,transform .25s}
.back-to-top svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.back-to-top:hover{background:#f4511e;color:#fff;transform:translateY(-3px)}
.back-to-top:focus-visible{outline:2px solid #f4511e;outline-offset:4px}
.sdx-in-story .back-to-top{display:none}
@media(max-width:600px){.back-to-top{right:16px;width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
.header{gap:24px}
.header .wordmark{flex-shrink:0}
.desktop-nav{white-space:nowrap}
.mobile-nav .ui-arrow{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:901px) and (max-width:1100px){.desktop-nav{gap:14px}.desktop-nav .nav-contact{gap:12px;padding:12px 12px 12px 16px!important}}

html.menu-open{overflow:hidden}
.mobile-nav{bottom:0;padding-top:20px;padding-bottom:40px;border-bottom:0}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:20px 0;border-bottom:1px solid #00000020;font-size:clamp(24px,4.5vw,28px);font-weight:600;letter-spacing:.035em;line-height:1.35;transition:color .25s}
.mobile-nav a:last-child{border-bottom:0}
.mobile-nav .drawer-arrow{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;color:var(--service-accent);transition:transform .25s}
.mobile-nav .drawer-arrow .ui-arrow{width:24px;height:24px}
.mobile-nav a:hover{color:var(--service-accent)}
.mobile-nav a:hover .drawer-arrow{transform:translateX(4px)}
.mobile-nav a:focus-visible{outline-color:var(--service-accent)}
.menu-toggle{position:relative}
.menu-toggle span{position:absolute;left:11px;right:11px;top:50%;height:1px;margin:0}
.menu-toggle span:first-child{transform:translateY(-4px)}
.menu-toggle span:last-child{transform:translateY(4px)}
.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}
.header .nav-contact{transition:background-color .25s,color .25s}.header .nav-contact:hover{background:var(--service-accent);border-color:var(--service-accent);color:#fff;text-decoration:none}.header .nav-contact>span{transition:background-color .25s,color .25s,transform .25s}.header .nav-contact:hover>span{background:#fff;color:var(--service-accent)}
