:root{--color-paper:oklch(99% 0.004 230);--color-paper-2:oklch(96.5% 0.007 230);--color-rule:oklch(89% 0.012 230);--color-rule-2:oklch(93% 0.008 230);--color-muted:oklch(48% 0.02 235);--color-neutral:oklch(38% 0.025 235);--color-ink:oklch(30% 0.022 225);--color-deep:oklch(30% 0.07 245);--color-deep-ink:oklch(97% 0.006 230);--color-deep-muted:oklch(83% 0.02 235);--color-deep-faint:oklch(70% 0.02 235);--color-accent:oklch(66% 0.16 240);--color-accent-text:oklch(50% 0.13 245);--color-accent-ink:oklch(98% 0.005 230);--color-focus:oklch(50% 0.15 245);--color-error:oklch(52% 0.19 25);--font-display:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--font-body:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--text-sm:0.8rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-display:clamp(2.2rem,3.8vw + 1rem,3.8rem);--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-micro:120ms;--dur-short:220ms;--dur-long:420ms;--radius-sm:6px;--radius-md:10px;--radius-pill:999px;--page-max:1120px;--page-gutter:clamp(1rem,4vw,2.5rem);--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body,html{overflow-x:clip}body{margin:0;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-size:var(--text-base);line-height:1.75}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.3;letter-spacing:.01em;overflow-wrap:anywhere;min-width:0;margin:0}p{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:inherit}.container{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-gutter)}.nav{position:fixed;inset:0 0 auto;z-index:var(--z-sticky);background:transparent;border-bottom:1px solid transparent;transition:background var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.nav.is-scrolled{background:color-mix(in oklch,var(--color-paper) 85%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--color-rule-2);box-shadow:0 10px 30px -24px oklch(30% .02 225/.5)}.nav__inner{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-gutter);height:68px;display:flex;align-items:center;gap:var(--space-lg)}.nav__brand{display:inline-flex;align-items:center;min-height:44px;margin-right:auto}.nav__links{display:flex;align-items:center;gap:var(--space-md)}.nav__link{white-space:nowrap;font-size:.88rem;font-weight:500;color:var(--color-neutral);padding:var(--space-xs) var(--space-2xs);min-height:44px;display:inline-flex;align-items:center;transition:color var(--dur-micro) var(--ease-out)}.nav__link:hover{color:var(--color-accent-text)}.nav__toggle{display:none;border:1px solid var(--color-rule);background:var(--color-paper);border-radius:var(--radius-sm);width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}.nav__toggle-bar{display:block;width:18px;height:2px;background:var(--color-ink);position:relative}.nav__toggle-bar:after,.nav__toggle-bar:before{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--color-ink)}.nav__toggle-bar:before{top:-6px}.nav__toggle-bar:after{top:6px}.nav__sheet{display:none}@media (max-width:64rem){.nav__links{display:none}.nav__toggle{display:inline-flex}.nav__sheet{display:block;position:fixed;inset:68px 0 auto;z-index:var(--z-dropdown);background:var(--color-paper);border-bottom:1px solid var(--color-rule);padding:var(--space-sm) var(--page-gutter) var(--space-lg);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),visibility var(--dur-short)}.nav__sheet.is-open{transform:none;opacity:1;visibility:visible}.nav__sheet a{display:flex;align-items:center;min-height:48px;font-weight:500;border-bottom:1px solid var(--color-rule-2)}.nav__sheet a:last-child{border-bottom:none}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--space-lg);border-radius:var(--radius-pill);font-weight:700;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.btn:active{transform:translateY(1px)}.btn--accent{background:var(--color-accent);color:var(--color-accent-ink)}.btn--accent:hover{background:var(--color-deep);color:var(--color-deep-ink)}.btn--ghost{border-color:var(--color-rule);color:var(--color-ink)}.btn--ghost:hover{border-color:var(--color-accent-text);color:var(--color-accent-text)}.btn--on-deep{background:var(--color-accent);color:var(--color-accent-ink)}.btn--on-deep:hover{background:var(--color-paper);color:var(--color-deep)}.btn[disabled]{opacity:.55;cursor:not-allowed}.hero{padding-block:calc(68px + var(--space-2xl)) var(--space-3xl)}.hero h1{font-size:var(--text-display);font-weight:800;line-height:1.35;max-width:22em}.hero__en{margin-top:var(--space-lg);color:var(--color-muted);font-size:var(--text-md);letter-spacing:.02em}.hero__rule{margin-top:var(--space-xl);width:72px;height:3px;background:var(--color-accent)}.hero__actions{margin-top:var(--space-xl);display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.section{padding-block:var(--space-3xl)}.section--band{background:var(--color-paper-2)}.section--deep{background:var(--color-deep)}.section--deep,.section--deep .section__title,.section--deep h3{color:var(--color-deep-ink)}.section__label{font-size:var(--text-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-text)}.section--deep .section__label{color:oklch(75% .1 235)}.section__title{margin-top:var(--space-xs);font-size:var(--text-xl);font-weight:800}.section__lede{margin-top:var(--space-md);color:var(--color-neutral);max-width:38em}.section--deep .section__lede{color:var(--color-deep-muted)}.split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-xl) var(--space-2xl);align-items:center}.split--wide-text{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.split figure{margin:0;min-width:0}.split__body{color:var(--color-neutral);display:grid;gap:var(--space-sm)}.split__actions{margin-top:var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-md)}@media (max-width:60rem){.split,.split--wide-text{grid-template-columns:minmax(0,1fr)}}.product{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);padding:var(--space-xl);margin-top:var(--space-xl)}.product__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-xl);align-items:center}.product__tag{font-size:var(--text-sm);font-weight:700;color:var(--color-accent-text)}.product__title{margin-top:var(--space-xs);font-size:var(--text-lg);font-weight:800}.product__body{margin-top:var(--space-sm);color:var(--color-neutral)}@media (max-width:60rem){.product__grid{grid-template-columns:minmax(0,1fr)}}.svc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-lg) var(--space-2xl);align-items:center;padding-block:var(--space-xl)}.svc+.svc{border-top:1px solid var(--color-rule-2)}.svc figure{margin:0;min-width:0}.svc img{border-radius:var(--radius-sm);aspect-ratio:16/9;object-fit:cover;width:100%}.svc__title{font-size:var(--text-md);font-weight:800}.svc__body{margin-top:var(--space-xs);color:var(--color-neutral);max-width:40em}@media (max-width:60rem){.svc{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}}.strengths{margin-top:var(--space-xl);border-top:1px solid var(--color-rule)}.strength{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-sm) var(--space-2xl);padding-block:var(--space-xl);border-bottom:1px solid var(--color-rule)}.strength__head{display:flex;flex-direction:column;gap:var(--space-xs);align-items:flex-start}.strength__num{font-family:var(--font-display);font-weight:800;color:var(--color-accent-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.strength__title{font-size:var(--text-md);font-weight:800}.strength__body{color:var(--color-neutral)}@media (max-width:60rem){.strength{grid-template-columns:minmax(0,1fr)}}.contact-band__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-xl);align-items:center}.contact-band__cta{justify-self:end}@media (max-width:60rem){.contact-band__grid{grid-template-columns:minmax(0,1fr)}.contact-band__cta{justify-self:start}}.footer{background:var(--color-deep);color:var(--color-deep-ink);padding-block:var(--space-3xl) var(--space-xl)}.footer__statement{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);max-width:28em;line-height:1.5}.footer__statement-en{color:oklch(75% .1 235);font-size:var(--text-sm);font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-sm)}.footer__meta{margin-top:var(--space-2xl);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-lg);border-top:1px solid oklch(40% .05 245);padding-top:var(--space-lg)}.footer__links{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-lg);font-size:.9rem}.footer__links a{white-space:nowrap;color:var(--color-deep-muted);min-height:44px;display:inline-flex;align-items:center;transition:color var(--dur-micro) var(--ease-out)}.footer__links a:hover{color:var(--color-deep-ink)}.footer__legal{font-size:var(--text-sm);color:var(--color-deep-faint)}.doc{padding-block:calc(68px + var(--space-2xl)) var(--space-3xl)}.doc__title{font-size:var(--text-xl);font-weight:800}.doc__body{max-width:42em}.doc__body,.doc__body h2{margin-top:var(--space-xl)}.doc__body h2{font-size:var(--text-md)}.doc__body p{margin-top:var(--space-sm);color:var(--color-neutral)}.doc table{margin-top:var(--space-xl);border-collapse:collapse;width:100%;max-width:46em}.doc td,.doc th{text-align:left;vertical-align:top;padding:var(--space-md) var(--space-lg) var(--space-md) 0;border-bottom:1px solid var(--color-rule)}.doc th{white-space:nowrap;font-weight:700;width:9em}@media (max-width:40rem){.doc td,.doc th{display:block;width:auto;padding-right:0}.doc th{border-bottom:none;padding-bottom:0}}.profile{margin-top:var(--space-xl);max-width:44em;display:grid;gap:var(--space-sm);color:var(--color-neutral)}.profile__name{font-size:var(--text-lg);font-weight:800;color:var(--color-ink)}.profile__role{color:var(--color-accent-text);font-weight:700}.form{margin-top:var(--space-xl);max-width:38em}.form,.form__row2{display:grid;gap:var(--space-lg)}.form__row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:40rem){.form__row2{grid-template-columns:minmax(0,1fr)}}.field{display:grid;gap:var(--space-2xs)}.field__label{font-weight:700;font-size:.95rem}.field__required{color:var(--color-accent-text);font-size:var(--text-sm);margin-left:var(--space-2xs)}.field__input{min-height:48px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);outline:2px solid transparent;outline-offset:1px;transition:background-color var(--dur-micro) var(--ease-out)}textarea.field__input{min-height:8rem;resize:vertical}.field__input:hover{background:var(--color-paper-2)}.field__input:focus-visible{outline-color:var(--color-focus);border-color:var(--color-neutral)}.field__input[aria-invalid=true]{border-color:var(--color-error)}.field__helper{min-height:1lh;font-size:var(--text-sm);color:var(--color-muted)}.field__helper--error{color:var(--color-error)}.consent{display:flex;gap:var(--space-sm);align-items:flex-start;font-size:.95rem}.consent input{accent-color:var(--color-accent-text);width:18px;height:18px;margin-top:4px}.consent a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:3px}.form__success{margin-top:var(--space-xl);padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);max-width:38em}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}}