@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700&display=swap');
:root{--paper:#fff;--ink:#080808;--muted:#666;--line:#111;--accent:#fff;--serif:'Noto Sans JP','Hiragino Sans',sans-serif}body{background:white;font-family:'Noto Sans JP','Hiragino Sans',sans-serif}html{scroll-padding-top:95px}p,li{line-height:2.05}h2{font-family:'Noto Sans JP','Hiragino Sans',sans-serif;font-weight:700;letter-spacing:-.035em}.wrap{width:calc(100% - 216px);max-width:1200px;margin-left:auto;margin-right:60px}.section{padding:115px 0}.micro{font-family:'Outfit',sans-serif;font-weight:500;font-size:12px;letter-spacing:.2em}.section-label{display:flex;justify-content:flex-start;align-items:baseline;gap:20px;border:0;margin:0 0 65px;padding:0}.section-label span:first-child{font:600 40px/1.2 'Outfit',sans-serif;letter-spacing:-.035em}.section-label span:last-child{font:700 12px/1.5 'Noto Sans JP',sans-serif;color:#888;letter-spacing:.08em}header{height:64px;padding:0 0 0 86px;position:fixed;background:#ffffffef;border-bottom:1px solid #eee;backdrop-filter:blur(12px)}header .wordmark{font:500 17px 'Outfit',sans-serif;letter-spacing:.24em}header .menu-toggle{display:flex;position:absolute;left:0;top:0;width:64px;height:64px;border:0;border-radius:0;align-items:center;justify-content:center;background:#080808;color:white;font-size:21px}.header-contact{display:grid;place-items:center;height:64px;width:110px;border-left:1px solid #111;font:500 14px 'Outfit',sans-serif}.mobile-menu{position:fixed;inset:64px auto 0 0;width:min(620px,100%);background:#0a0a0a;color:#fff;z-index:50;padding:45px 65px;box-shadow:40px 0 80px #0005;display:flex;flex-direction:column;gap:0}.mobile-menu>a{font:500 34px/1.5 'Outfit',sans-serif;padding:10px 0;border-bottom:1px solid #333}.menu-title{font:12px 'Outfit',sans-serif;letter-spacing:.2em;color:#888;margin-bottom:24px}.hero{height:100svh;min-height:750px;padding:120px 7% 40px 11%;background:#060606;color:white;display:flex;flex-direction:column;justify-content:space-between}.hero-art{background:linear-gradient(90deg,#070707ee,#07070799),url('src/fv-clean.jpg') center/cover;filter:grayscale(1)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 65%)}.hero-topline{border:0;color:#a5a5a5;padding:0;font-family:'Outfit',sans-serif;letter-spacing:.15em}.hero-title{margin:70px 0 45px}.hero-title>.micro{font-size:12px;color:#aaa;letter-spacing:.22em;margin-bottom:26px}.hero h1{font:600 clamp(46px,5.6vw,90px)/1.5 'Noto Sans JP','Hiragino Sans',sans-serif;letter-spacing:-.05em}.hero-bottom{align-items:end}.hero-intro{max-width:690px}.hero-intro p{font-size:13px;line-height:2;color:#c8c8c8}.scroll-link{font-family:'Outfit',sans-serif;color:#aaa}.scroll-link span{border-radius:0;border:0;border-bottom:1px solid #777}.about{padding:140px 0}.about>.wrap>.section-label{display:none}.about-grid{display:block}.about-grid h2{font:700 clamp(38px,4.8vw,72px)/1.45 'Noto Sans JP',sans-serif;letter-spacing:-.045em;margin-bottom:55px;max-width:1000px;padding:0}.about-grid .prose{max-width:800px}.prose p{font-size:16px;font-weight:600;line-height:2.2}.philosophy{background:#fff;border-top:1px solid #eee}.belief{grid-template-columns:170px 1fr;border-top:1px solid #111;padding:55px 0;margin:0;gap:45px}.belief h2{font-size:36px;line-height:1.6;margin-bottom:25px;max-width:840px}.belief p{font-size:14px;color:#555}.values-head{border-top:1px solid #111;padding-top:55px;margin:0 0 35px}.values-head h2{font:600 30px 'Outfit',sans-serif}.values-grid{gap:0 40px}.values-grid article{padding:30px 0;border-top:1px solid #ccc}.values-grid article>span{font:500 11px 'Outfit',sans-serif;color:#888}.values-grid h3{font-weight:700;font-size:19px}.values-grid p{font-size:13px;color:#666}.service{background:#fff;color:#080808;border-top:1px solid #eee}.service-intro{display:block;max-width:800px;margin:0 0 55px}.service-intro h2{font-size:32px;max-width:none;margin-bottom:25px}.service-intro h2 br{display:none}.service-intro p{font-size:14px;color:#555}.service-row{display:block;padding:0;border-top:1px solid #111}.service-row:last-child{border-bottom:1px solid #111}.service-row>summary{list-style:none;display:grid;grid-template-columns:65px 1fr 1fr 24px;align-items:center;gap:30px;cursor:pointer;padding:35px 0}.service-row>summary::-webkit-details-marker{display:none}.service-row>summary:hover .service-name>span{text-decoration:underline;text-underline-offset:5px}.service-number{font:500 14px 'Outfit',sans-serif;color:#999}.service-name>span{font:600 31px/1.2 'Outfit',sans-serif;color:#080808;letter-spacing:-.03em}.service-name h3{font-size:13px;font-weight:700;margin:10px 0 0}.service-excerpt{font-size:13px;line-height:2;color:#555}.service-arrow{font-size:24px;font-weight:400}.service-row[open] .service-arrow{transform:rotate(45deg)}.service-detail{max-width:750px;margin-left:auto;padding:15px 0 45px}.service-detail h2{font:700 24px/1.6 'Noto Sans JP',sans-serif}.service-detail p,.service-detail li{color:#555;font-size:14px}.service-detail h4{font-weight:700}.launch{background:#f7f7f7}.launch> .wrap>h2{font-size:30px;margin-bottom:45px}.steps{gap:35px}.steps article{border-top:1px solid #111}.step-num{font:600 14px 'Outfit',sans-serif;color:#888;margin-bottom:16px}.steps .micro{font-size:11px}.steps h3{font-size:20px;font-weight:700}.steps p{font-size:13px;color:#555}.founder{background:white}.founder-grid{grid-template-columns:360px 1fr;gap:70px;align-items:start}.founder img{height:470px;filter:grayscale(1)}.founder-bio{padding-top:25px}.founder-bio h2{font-size:36px;font-weight:700}.founder-bio p{font-size:14px;line-height:2.2}.message{border-color:#111;grid-template-columns:170px 1fr;gap:45px}.message h2{font-size:34px;font-weight:700;line-height:1.7}.message p{font-size:14px;color:#444}.company{background:#fafafa}.company dl{max-width:none;margin:0}.company dl>div{border-color:#ddd;grid-template-columns:210px 1fr;padding:23px 0}.company dt{font-weight:600;color:#080808}.news{padding-top:95px}.news-row{padding:28px 0;border-top:1px solid #111;border-bottom:1px solid #ddd;gap:30px}.news-row p{font-size:14px}.news-tag{border-radius:0;border:0;padding:0;color:#888}.contact{background:#080808;color:white}.contact .section-label span:last-child{color:#aaa}.contact h2{font-size:38px;font-weight:600}.contact p{color:#aaa}.contact-actions>a{border-color:#777;font-size:13px}.contact-actions>a:nth-child(2){border-color:#777}.contact-actions small{font-family:'Outfit',sans-serif;color:#aaa}footer{background:#080808;color:white;padding-top:25px}footer .wordmark{font:600 clamp(65px,12vw,180px)/1 'Outfit',sans-serif;letter-spacing:-.065em}footer .brand-dot{color:white}.footer-bottom{font-family:'Outfit',sans-serif}.footer-bottom span{color:#888}
@media(max-width:1000px){.wrap{width:calc(100% - 120px);margin-right:40px}.belief,.message{grid-template-columns:120px 1fr;gap:25px}.founder-grid{grid-template-columns:280px 1fr;gap:40px}.service-row>summary{grid-template-columns:35px 1.2fr 1fr 20px;gap:20px}.service-name>span{font-size:26px}.contact-grid{gap:40px}.service-detail{margin-left:55px}}
@media(max-width:700px){html{scroll-padding-top:80px}header{height:60px;padding-left:78px}header .menu-toggle{height:60px;width:60px}.header-contact{height:60px;width:95px}header .wordmark{font-size:15px}.wrap{width:calc(100% - 44px);margin:0 auto}.section{padding:75px 0}.section-label{display:block;margin-bottom:38px}.section-label span:first-child{font-size:34px;display:block}.section-label span:last-child{display:block;margin-top:10px;font-size:10px;text-align:left}.hero{min-height:760px;height:100svh;padding:110px 24px 30px}.hero-topline{font-size:8px}.hero-topline span:last-child{max-width:140px}.hero-title{margin:65px 0 45px}.hero-title>.micro{font-size:9px}.hero h1{font-size:clamp(28px,8vw,51px);line-height:1.65}.hero-intro p{font-size:11px;line-height:2}.scroll-link{margin-top:24px;padding-top:16px;border-color:#555}.hero-art{background-position:60% center}.about-grid h2{font-size:clamp(27px,7.2vw,43px);margin-bottom:35px}.prose p{font-size:14px;line-height:2.2}.belief{display:block;padding:35px 0}.belief>.micro{margin-bottom:22px}.belief h2{font-size:26px}.belief p{font-size:13px}.values-head{display:block;padding-top:35px}.values-head h2{font-size:30px}.values-grid{display:block}.values-grid h3{font-size:18px}.service-intro h2{font-size:26px}.service-intro p{font-size:13px}.service-row>summary{grid-template-columns:25px 1fr 20px;gap:18px;padding:28px 0}.service-name>span{font-size:26px}.service-name h3{font-size:12px}.service-excerpt{grid-column:2;grid-row:2;font-size:12px}.service-arrow{grid-column:3;grid-row:1}.service-detail{margin:0;padding:15px 0 35px}.service-detail h2{font-size:22px}.service-detail p,.service-detail li{font-size:13px}.steps{display:block}.steps article{margin-top:30px;padding-top:22px}.steps h3{font-size:19px}.founder-grid{display:block}.founder img{height:auto;max-height:530px;object-fit:cover}.founder-bio{padding:0;margin-top:30px}.founder-bio h2{font-size:32px}.message{display:block;margin-top:50px;padding-top:35px}.message h2{font-size:26px}.company dl>div{grid-template-columns:85px 1fr;font-size:12px;gap:20px}.news{padding-top:70px}.news-row{gap:20px}.contact-grid{display:block}.contact h2{font-size:28px}.contact-actions>a{font-size:12px}.mobile-menu{top:60px;padding:30px}.mobile-menu>a{font-size:30px}.service-row>summary:focus-visible{outline:2px solid #444;outline-offset:6px}}
.step-visual{display:block;width:100%;aspect-ratio:340/180;object-fit:cover;margin:0 0 28px}.steps article{padding-top:0;border-top:0}.japan-entry{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid #111;margin-top:55px;padding:35px 0 0}.japan-entry h3{font:600 30px/1.3 'Outfit',sans-serif;letter-spacing:-.025em}.japan-entry p{font-size:12px;color:#777;margin:10px 0 0}.japan-entry a{background:#080808;color:white;padding:20px 26px;display:flex;gap:45px;align-items:center;font:500 14px 'Outfit',sans-serif;white-space:nowrap}.japan-entry a span{font-size:22px}@media(max-width:700px){.japan-entry{display:block;margin-top:40px;padding-top:30px}.japan-entry h3{font-size:27px}.japan-entry a{margin-top:24px;justify-content:space-between}.step-visual{margin-bottom:22px}.steps article{padding-top:0}}
/* Hero typography refinement: stronger desktop scale, restrained mobile scale. */
.hero h1{font-size:clamp(54px,6.6vw,106px)}
@media(max-width:700px){.hero h1{font-size:clamp(29px,8.4vw,54px)}}
.mobile-menu>a{display:flex;align-items:baseline;gap:22px}.menu-en{flex:0 0 200px}.menu-ja{font:500 12px/1.7 'Noto Sans JP','Hiragino Sans',sans-serif;color:#a8a8a8;letter-spacing:.04em}@media(max-width:700px){.mobile-menu>a{gap:14px}.menu-en{flex-basis:155px}.menu-ja{font-size:10px;letter-spacing:0}}
/* Site-wide bilingual navigation and English typesetting */
.site-language{margin-left:auto;display:flex;align-items:center;gap:12px;padding:0 27px;font:500 12px 'Outfit',sans-serif}.site-language a{padding:8px 0;color:#888}.site-language a[aria-current=page]{color:#111;border-bottom:1px solid #111}.site-language span{color:#bbb}.site-language a:focus-visible{outline:2px solid #111;outline-offset:4px}.mobile-menu{overflow-y:auto}
html[lang=en] body{font-family:'Outfit',sans-serif}html[lang=en] h2,html[lang=en] h3{font-family:'Outfit',sans-serif;letter-spacing:-.025em}html[lang=en] p,html[lang=en] li{line-height:1.8}html[lang=en] .hero h1{font-family:'Outfit',sans-serif;font-size:clamp(48px,7.1vw,108px);line-height:1.08;letter-spacing:-.045em}html[lang=en] .hero-intro{max-width:720px}html[lang=en] .hero-intro p{font-size:14px;line-height:1.7}html[lang=en] .about-grid h2{font-family:'Outfit',sans-serif;font-size:clamp(42px,5.5vw,80px);line-height:1.15}html[lang=en] .prose p{font-weight:400;font-size:17px;line-height:1.85}html[lang=en] .belief h2{line-height:1.25}html[lang=en] .service-intro h2 br{display:block}html[lang=en] .service-detail h2{font-family:'Outfit',sans-serif}html[lang=en] .service-name h3{font-weight:400;color:#666;line-height:1.5}html[lang=en] .menu-ja{font-family:'Outfit',sans-serif;letter-spacing:0}html[lang=en] .message h2{line-height:1.3}
@media(max-width:700px){.site-language{gap:8px;padding:0 12px;font-size:11px}.header-contact{width:72px}header .wordmark{font-size:13px;letter-spacing:.15em}header{padding-left:73px}html[lang=en] .hero h1{font-size:clamp(34px,9vw,62px);line-height:1.15}html[lang=en] .hero-intro p{font-size:12px}html[lang=en] .hero-intro br{display:none}html[lang=en] .about-grid h2{font-size:38px}html[lang=en] .prose p{font-size:15px}html[lang=en] .service-name>span{font-size:24px}html[lang=en] .menu-en{flex-basis:145px}html[lang=en] .menu-ja{font-size:11px}html[lang=en] .company dl>div{grid-template-columns:95px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.legal-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin:35px 0 20px;font-size:11px;color:#aaa}.legal-links a:hover{text-decoration:underline;text-underline-offset:4px}.legal-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}.contact-footer{flex-wrap:wrap;gap:20px}.contact-footer .legal-links{margin:0;color:#666}.privacy-full{font-size:12px;margin:18px 0}.privacy-full a{text-decoration:underline;text-underline-offset:4px}
