:root{--color-primary: #0B2545;--color-secondary: #13315C;--color-accent: #3FA34D;--color-accent-soft: #E8F3EA;--color-bg: #FFFFFF;--color-bg-alt: #F4F7FA;--color-text: #132030;--color-muted: #6B7A8C;--color-line: #DCE4EC;--color-cta: #0B2545;--color-cta-text: #FFFFFF;--font-heading: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--font-en: "Manrope", "Inter", sans-serif;--font-body: "Zen Kaku Gothic New", sans-serif;--section-py: clamp(64px, 9vw, 130px);--container: 1120px;--text-max: 680px;--radius: 8px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.9;letter-spacing:.02em;font-size:16px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}h1,h2,h3{font-family:var(--font-heading);font-weight:700;letter-spacing:.04em;line-height:1.4;color:var(--color-primary)}h1{font-size:clamp(2rem,4.5vw,3.2rem)}h2{font-size:clamp(1.4rem,2.6vw,2rem)}h3{font-size:clamp(1.05rem,1.8vw,1.25rem)}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.section{padding:var(--section-py) 0;position:relative;overflow:hidden}.section--alt{background:var(--color-bg-alt)}.section>.container{position:relative;z-index:1}.label{font-family:var(--font-en);font-size:.8rem;font-weight:600;letter-spacing:.25em;color:var(--color-accent);display:flex;align-items:center;gap:14px;margin-bottom:18px;text-transform:uppercase}.label:after{content:attr(data-ja);font-family:var(--font-body);font-weight:500;letter-spacing:.1em;color:var(--color-muted);border-left:1px solid var(--color-line);padding-left:14px;text-transform:none}.label--nolabel:after{display:none}.lead{max-width:var(--text-max);margin-top:20px}.note{font-size:.8rem;color:var(--color-muted);margin-top:16px}.btn{display:inline-flex;align-items:center;gap:10px;background:var(--color-cta);color:var(--color-cta-text);font-weight:500;letter-spacing:.08em;font-size:.92rem;padding:14px 32px;border-radius:999px;border:1px solid var(--color-cta);transition:background .35s,border-color .35s,transform .35s;cursor:pointer}.btn:after{content:"→";font-family:var(--font-en);transition:transform .35s}.btn:hover{background:var(--color-accent);border-color:var(--color-accent)}.btn:hover:after{transform:translate(4px)}.btn--ghost{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--ghost:hover{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}.btn-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}.header{position:sticky;top:0;z-index:100;background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-line)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:76px}.header__logo{font-family:var(--font-en);font-weight:800;font-size:1.25rem;letter-spacing:.06em;color:var(--color-primary)}.header__logo span{display:block;font-family:var(--font-body);font-weight:500;font-size:.62rem;letter-spacing:.12em;color:var(--color-muted)}.header__nav{display:flex;gap:26px;align-items:center}.header__nav a{font-size:.86rem;letter-spacing:.06em;transition:color .3s}.header__nav a:hover,.header__nav a.active{color:var(--color-accent)}.header__cta{padding:10px 22px;font-size:.82rem}.header__burger{display:none;background:none;border:none;cursor:pointer;width:40px;height:40px;position:relative}.header__burger span{position:absolute;left:8px;width:24px;height:2px;background:var(--color-primary)}.header__burger span:nth-child(1){top:14px}.header__burger span:nth-child(2){top:20px}.header__burger span:nth-child(3){top:26px}.hero{position:relative;overflow:hidden;background:var(--color-bg-alt)}.hero__img{position:absolute;top:0;right:0;bottom:0;left:0}.hero__img img{width:100%;height:100%;object-fit:cover;animation:heroZoom 6s ease-out forwards}@keyframes heroZoom{0%{transform:scale(1.04)}to{transform:scale(1)}}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fffffff0,#ffffffc7 46%,#ffffff26)}.hero__inner{position:relative;min-height:min(78vh,680px);display:flex;flex-direction:column;justify-content:center;padding:100px 24px}.hero__label{font-family:var(--font-en);font-weight:600;font-size:.78rem;letter-spacing:.3em;color:var(--color-accent);margin-bottom:26px}.hero__title{max-width:16em}.hero__sub{max-width:560px;margin-top:26px;font-size:.95rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px;align-items:stretch}.cards>.reveal{display:flex}.card{background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;width:100%;transition:border-color .35s,transform .35s,box-shadow .35s}.card:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 12px 32px #0b254514}.card__body{padding:26px;flex:1}.card__num{font-family:var(--font-en);font-weight:800;font-size:1.4rem;color:var(--color-accent)}.card .mask-img{aspect-ratio:16/10}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:48px}.split img,.mask-img{border-radius:var(--radius)}.section--news{padding:36px 0;border-bottom:1px solid var(--color-line)}.news{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}.news .label{margin-bottom:0;margin-top:8px}.news__list li{display:flex;gap:20px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--color-line);font-size:.92rem}.news__list li:last-child{border-bottom:none}.news__date{font-family:var(--font-en);font-weight:600;color:var(--color-muted);letter-spacing:.08em;white-space:nowrap}.news__tag{font-size:.72rem;color:var(--color-accent);border:1px solid currentColor;border-radius:999px;padding:1px 10px;white-space:nowrap}.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px;text-align:center}.numbers__value{font-family:var(--font-en);font-weight:800;font-size:clamp(2.2rem,4.5vw,3.4rem);color:var(--color-primary);line-height:1.2}.numbers__value small{font-size:.4em;font-family:var(--font-body);font-weight:500;margin-left:4px}.numbers__label{font-size:.85rem;color:var(--color-muted);margin-top:6px}.spec-table{width:100%;border-collapse:collapse;margin-top:32px;max-width:760px}.spec-table th,.spec-table td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--color-line);font-weight:400;font-size:.95rem;vertical-align:top}.spec-table th{color:var(--color-muted);width:9em;font-weight:500}.timeline{margin-top:32px;max-width:680px}.timeline li{display:flex;gap:24px;padding:14px 0;border-bottom:1px solid var(--color-line);font-size:.95rem}.timeline__year{font-family:var(--font-en);font-weight:600;color:var(--color-accent);min-width:4em}.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:48px;counter-reset:flow}.flow li{background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius);padding:22px 14px;text-align:center;font-size:.88rem}.flow li:before{counter-increment:flow;content:counter(flow,decimal-leading-zero);display:block;font-family:var(--font-en);font-weight:800;color:var(--color-accent);font-size:1.1rem;margin-bottom:6px}.cta-section{background:var(--color-primary);color:#fff;text-align:center}.cta-section h2{color:#fff}.cta-section .label{justify-content:center}.cta-section .label:after{border-color:#ffffff4d;color:#ffffffb3}.cta-section__body{max-width:560px;margin:20px auto 0;font-size:.95rem;opacity:.85}.cta-section .btn{background:#fff;color:var(--color-primary);border-color:#fff;margin-top:28px}.cta-section .btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.page-head{padding-top:72px}.page-head h1{font-size:clamp(1.8rem,3.6vw,2.6rem)}.footer{background:var(--color-bg-alt);border-top:1px solid var(--color-line);padding:64px 0 32px}.footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer__logo{font-family:var(--font-en);font-weight:800;font-size:1.3rem;color:var(--color-primary)}.footer nav a{display:block;font-size:.88rem;padding:5px 0;color:var(--color-muted);transition:color .3s}.footer nav a:hover{color:var(--color-accent)}.footer__info{font-size:.85rem;color:var(--color-muted);margin-top:12px}.footer__demo{margin-top:48px;padding-top:24px;border-top:1px solid var(--color-line);font-size:.78rem;color:var(--color-muted);text-align:center}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease-out,transform .7s ease-out}.reveal.is-visible{opacity:1;transform:none}.split-title{display:block}.split-title__mask{display:block;overflow:hidden}.split-title__line{display:block;transform:translateY(110%);transition:transform .7s cubic-bezier(.22,1,.36,1)}.split-title.is-inview .split-title__line{transform:none}.mask-img{overflow:hidden;position:relative}.mask-img img{width:100%;height:100%;object-fit:cover;display:block;clip-path:inset(0 100% 0 0);transform:translateY(var(--py, 0)) scale(1.1);transition:clip-path .9s cubic-bezier(.76,0,.24,1),transform 1.2s cubic-bezier(.22,1,.36,1)}.mask-img.is-inview img{clip-path:inset(0 0 0 0);transform:translateY(var(--py, 0)) scale(1.04)}.card:hover .mask-img img{transform:translateY(var(--py, 0)) scale(1.1)}.watermark{position:absolute;right:-.05em;bottom:-.26em;z-index:0;font-family:var(--font-en);font-weight:800;font-size:clamp(5rem,14vw,13rem);line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px var(--color-line);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.cursor{position:fixed;top:-6px;left:-6px;width:12px;height:12px;z-index:9999;background:var(--color-accent);border-radius:50%;pointer-events:none;opacity:0;transition:opacity .3s,width .3s,height .3s,margin .3s,background .3s}.cursor.is-on{opacity:.55}.cursor.is-link{width:40px;height:40px;margin:-14px 0 0 -14px;background:#3fa34d26}@media (hover: none){.cursor{display:none}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:var(--color-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .7s cubic-bezier(.76,0,.24,1)}.intro.is-leaving{transform:translateY(-100%)}.intro__logo{font-family:var(--font-en);font-weight:800;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:.1em;color:var(--color-primary);display:flex}.intro__logo span{opacity:0;transform:translateY(.6em);animation:introChar .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes introChar{to{opacity:1;transform:none}}.intro__sub{font-family:var(--font-en);font-weight:600;font-size:.75rem;letter-spacing:.35em;color:var(--color-accent);margin-top:12px;opacity:0;animation:introChar .5s .5s forwards}@media (prefers-reduced-motion: reduce){.intro{display:none}.reveal,.split-title__line{opacity:1;transform:none;transition:none}.mask-img img{clip-path:none;transform:none;transition:none}.cursor{display:none}.hero__img img{animation:none}}@media (max-width: 900px){.cards,.numbers,.footer__grid{grid-template-columns:1fr}.numbers{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:36px}.news{grid-template-columns:1fr;gap:8px}.flow{grid-template-columns:1fr}.header__nav{position:fixed;inset:76px 0 auto 0;background:var(--color-bg);flex-direction:column;gap:0;border-bottom:1px solid var(--color-line);display:none;padding:12px 0 20px}.header__nav.is-open{display:flex}.header__nav a{padding:12px 24px;width:100%;text-align:center}.header__burger{display:block}.hero__overlay{background:linear-gradient(180deg,#fffffff2 30%,#ffffffbf)}}
