@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{--navy:#071323;--blue:#0b2039;--gold:#caa45f;--paper:#f2f0eb;--ink:#132130;--muted:#68727c;--line:#d8d6d0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);letter-spacing:.03em;margin:0;font-family:DM Sans,Noto Sans JP,sans-serif}a{color:inherit;text-decoration:none}header{color:#fff;z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#071323f0;border-bottom:1px solid #ffffff1b;justify-content:space-between;align-items:center;width:100%;height:88px;padding:0 4.5vw;display:flex;position:fixed;top:0}.logo{align-items:center;gap:14px;display:flex}.logo span{letter-spacing:-.06em;font-size:31px;font-weight:600;line-height:1}.logo small{letter-spacing:.12em;color:#bfc6ce;font-size:10px}nav{align-items:center;gap:34px;height:100%;display:flex}nav>a{letter-spacing:.16em;color:#c7ced6;font-size:11px;transition:all .25s}nav>a:hover{color:#fff}.nav-contact{color:#fff;border:1px solid #ffffff45;align-items:center;gap:28px;height:44px;padding:0 20px;display:flex}.nav-contact b{color:var(--gold)}.menu{color:#fff;background:0 0;border:0;font-size:24px;display:none}.hero{color:#fff;background:var(--navy);align-items:center;height:max(760px,100vh);display:flex;position:relative;overflow:hidden}.hero-bg{background:linear-gradient(90deg,#040d19f5 0%,#040d1994 44%,#040d1914 75%),url(/assets/yfa-hero.png) 50%/cover no-repeat;animation:1.5s both reveal;position:absolute;inset:0}@keyframes reveal{0%{opacity:.5;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.hero-copy{width:91%;max-width:1300px;margin:auto;padding-top:70px;position:relative}.eyebrow,.section-tag{letter-spacing:.25em;color:var(--gold);align-items:center;gap:14px;font-size:10px;font-weight:600;display:flex}.eyebrow:before,.section-tag:before{content:"";background:currentColor;width:32px;height:1px}.hero h1{letter-spacing:.04em;margin:35px 0 10px;font-size:clamp(48px,6.3vw,92px);font-weight:500;line-height:1.12}.hero-en{letter-spacing:.34em!important;color:#98a5b4!important;font-size:13px!important}.hero-copy>p:last-of-type{color:#d5dbe2;margin:38px 0;font-family:Noto Sans JP;font-size:15px;line-height:2}.btn{background:var(--gold);color:#071323;letter-spacing:.1em;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:70px;min-width:270px;padding:19px 22px;font-size:12px;font-weight:600;transition:all .25s;display:inline-flex}.btn:hover{background:#e0be7c;transform:translateY(-2px)}.arrow{font-size:18px}.scroll{letter-spacing:.25em;writing-mode:vertical-rl;color:#aeb7c1;font-size:9px;position:absolute;bottom:35px;right:4.5vw}.scroll i{background:#fff5;width:1px;height:65px;margin-top:14px;display:inline-block}.section{max-width:1500px;margin:auto;padding:130px 6vw}.intro{grid-template-columns:27% 1fr;display:grid}.intro h2,.heading h2,.process h2,.philosophy h2,.contact-page h2{letter-spacing:.04em;margin:0;font-size:clamp(38px,4.8vw,68px);font-weight:500;line-height:1.35}.intro h2 em{color:var(--gold);font-style:normal}.intro>div:last-child>p{max-width:670px;color:var(--muted);margin:38px 0;line-height:2.2}.text-link{border-bottom:1px solid #9da4aa;align-items:center;gap:55px;padding-bottom:10px;font-size:12px;font-weight:600;display:inline-flex}.service{background:#fff;max-width:none}.heading{max-width:1380px;margin:0 auto 70px}.service-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:1380px;margin:auto;display:grid}.service-grid article{border-right:1px solid var(--line);padding:42px 38px 48px;position:relative}.service-grid article:last-child{border:0}.service-no{color:#9da3a9;font-size:11px}.service-icon{color:var(--gold);margin:45px 0 35px;font-size:54px;font-weight:200}.service-grid small,.service-detail small{letter-spacing:.18em;color:#87909a;font-size:9px}.service-grid h3{margin:12px 0 22px;font-size:25px}.service-grid p,.service-detail p{color:var(--muted);font-size:13px;line-height:2}.tags{flex-wrap:wrap;gap:6px;margin-top:30px;display:flex}.tags span{color:#68727c;background:#f0eee9;padding:7px 9px;font-size:9px}.service>.btn{width:max-content;margin:60px auto 0;display:flex}.dark{background:var(--navy);color:#fff}.works-preview{padding-bottom:160px}.row{justify-content:space-between;align-items:end;display:flex}.works-list{border-top:1px solid #aaa}.works-list a{border-bottom:1px solid var(--line);grid-template-columns:8% 1fr 30% 40px;align-items:center;min-height:116px;transition:all .25s;display:grid}.works-list a:hover{background:#eae7e0;padding-left:15px}.works-list span,.works-list small{color:#87909a;font-size:10px}.works-list h3{font-size:24px;font-weight:500}.cta{background:var(--navy);color:#fff;min-height:550px;padding:130px 9vw;position:relative;overflow:hidden}.cta h2{margin:34px 0 50px;font-size:clamp(45px,5.5vw,78px);font-weight:500;line-height:1.25}.light{background:#fff}.cta-orbit{color:#ffffff09;border:1px solid #ffffff21;border-radius:50%;place-items:center;width:500px;height:500px;font-size:100px;font-weight:600;display:grid;position:absolute;top:30px;right:-50px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff04}footer{color:#fff;background:#040c16;padding:80px 6vw 24px}.footer-main{grid-template-columns:2fr 1fr 1.3fr;gap:70px;padding-bottom:75px;display:grid}.footer-logo{letter-spacing:-.05em;font-size:40px;font-weight:600}.footer-main p{color:#84909e;font-size:12px;line-height:1.9}.footer-links,.footer-address{flex-direction:column;gap:16px;display:flex}.footer-links a,.footer-address a{color:#c5ccd4;font-size:12px}.footer-address b{font-size:13px}.footer-bottom{color:#657080;border-top:1px solid #ffffff19;justify-content:space-between;padding-top:22px;font-size:9px;display:flex}.page-hero{background:var(--navy);color:#fff;padding:230px 7vw 110px;position:relative;overflow:hidden}.page-hero:after{content:"YFA";color:#ffffff05;letter-spacing:-.08em;font-size:28vw;font-weight:600;position:absolute;bottom:-8vw;right:-1vw}.page-hero h1{z-index:1;margin:40px 0 35px;font-size:clamp(48px,6.4vw,88px);font-weight:500;line-height:1.25;position:relative}.page-hero p{color:#adb7c2;max-width:570px;font-size:14px;line-height:2}.hero-line{background:var(--gold);width:35%;height:1px;position:absolute;bottom:100px;right:0}.service-detail article{border-bottom:1px solid var(--line);grid-template-columns:10% 1fr 25%;align-items:center;padding:75px 0;display:grid}.detail-index{color:#9ba2a9;font-size:12px}.service-detail h2{margin:10px 0 25px;font-size:45px}.service-detail p{max-width:620px}.service-detail ul{gap:8px;padding:0;list-style:none;display:flex}.service-detail li{border:1px solid var(--line);padding:8px 12px;font-size:10px}.detail-shape{color:var(--gold);text-align:center;font-size:110px}.process{background:#fff;max-width:none}.process-grid{grid-template-columns:repeat(4,1fr);margin-top:70px;display:grid}.process-grid div{border-top:1px solid var(--ink);padding:25px 5px}.process-grid span{color:#8b9298;margin-bottom:45px;font-size:10px;display:block}.process-grid b{font-size:15px}.works-page{grid-template-columns:1fr 1fr;gap:80px 35px;display:grid}.work-visual{aspect-ratio:1.45;color:#fff;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.work-visual span{letter-spacing:.18em;font-size:9px;position:absolute;top:18px;left:20px}.work-visual strong{opacity:.18;font-size:130px}.v1{background:linear-gradient(135deg,#132337,#8b714c)}.v2{background:linear-gradient(135deg,#dad8d1,#235560)}.v3{background:linear-gradient(135deg,#111,#40546d)}.v4{background:linear-gradient(135deg,#856857,#d4b484)}.work-meta{border-bottom:1px solid var(--line);grid-template-columns:10% 1fr 30px;align-items:center;padding:22px 4px;display:grid}.work-meta>span,.work-meta p{color:#899198;font-size:9px}.work-meta h2{margin:0 0 7px;font-size:24px}.company{grid-template-columns:1fr 1.2fr;gap:12vw;display:grid}.philosophy p{color:var(--muted);max-width:510px;line-height:2.2}.outline .section-tag{margin-bottom:45px}.info-row{border-top:1px solid var(--line);grid-template-columns:30% 1fr;padding:25px 0;font-size:13px;display:grid}.info-row:last-child{border-bottom:1px solid var(--line)}.info-row dt{color:#777f87}.info-row dd{margin:0}.contact-page{grid-template-columns:1fr 1.1fr;gap:10vw;display:grid}.contact-page h2{margin:35px 0;font-size:35px}.phone{margin:40px 0 5px;font-size:34px;display:block}.contact-page>div>p{color:#8b9298;font-size:10px}.mail{border-bottom:1px solid;gap:40px;margin-top:25px;padding:12px 0;display:inline-flex}form{flex-direction:column;gap:26px;display:flex}label{font-size:11px;font-weight:600}input,select,textarea{font:inherit;border:1px solid var(--line);background:#fff;outline:none;width:100%;margin-top:10px;padding:16px;display:block}input:focus,select:focus,textarea:focus{border-color:var(--gold)}form small{color:#8b9298}.not-found{text-align:center;padding:220px 8vw}.not-found h1{color:var(--gold);margin:0;font-size:120px}@media (width<=850px){header{height:70px}.menu{z-index:2;display:block}nav{background:var(--navy);flex-direction:column;justify-content:center;height:100vh;display:none;position:fixed;inset:0}nav.open{display:flex}nav>a{font-size:16px}.hero{min-height:760px}.hero-bg{background-position:63%}.hero-copy{padding-top:0}.hero h1{font-size:48px}.intro,.company,.contact-page{grid-template-columns:1fr;gap:65px}.section{padding:85px 6vw}.section-tag{margin-bottom:35px}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--line)}.row{display:block}.row .text-link{margin-top:30px}.works-list a{grid-template-columns:12% 1fr 30px}.works-list small{display:none}.cta{min-height:480px;padding:90px 7vw}.cta-orbit{opacity:.5}.footer-main{grid-template-columns:1fr;gap:45px}.page-hero{padding:170px 7vw 80px}.hero-line{display:none}.service-detail article{grid-template-columns:12% 1fr}.detail-shape{display:none}.service-detail h2{font-size:34px}.service-detail ul{flex-wrap:wrap}.process-grid{grid-template-columns:1fr 1fr}.works-page{grid-template-columns:1fr;gap:50px}.contact-page h2{font-size:30px}}@media (width<=520px){.hero h1{font-size:41px}.btn{gap:30px;min-width:250px}.intro h2,.heading h2{font-size:37px}.service-grid article{padding:35px 20px}.works-list h3{font-size:18px}.footer-main{grid-template-columns:1fr}.page-hero h1{font-size:42px}.works-page{padding-left:4vw;padding-right:4vw}.process-grid{grid-template-columns:1fr}.info-row{grid-template-columns:1fr;gap:8px}.phone{font-size:28px}}
