/* Ace | 木原航太郎 OFFICIAL page — styles are namespaced to avoid theme collisions. */
.kotaro-official{--ko-bg:#08090b;--ko-panel:#0e1013;--ko-fg:#f5f3eb;--ko-muted:#96999e;--ko-line:rgba(255,255,255,.14);--ko-accent:#d7ff3f;background:var(--ko-bg);color:var(--ko-fg);font-family:Arial,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;overflow:hidden;line-height:1.6}.kotaro-official *{box-sizing:border-box}.kotaro-official img{display:block;max-width:100%}.kotaro-official a{color:inherit;text-decoration:none}.ko-shell{width:min(1380px,calc(100% - 64px));margin-inline:auto}.ko-kicker{margin:0;color:var(--ko-accent);font-size:11px;letter-spacing:.26em;font-weight:700}.ko-label{display:flex;align-items:center;gap:14px;margin-bottom:72px;color:#c9c9c4;font-size:11px;letter-spacing:.18em}.ko-label span{color:var(--ko-accent)}
.ko-hero{min-height:calc(100svh - 40px);position:relative;background:radial-gradient(circle at 72% 35%,rgba(45,65,84,.45),transparent 30%),linear-gradient(135deg,#090b0f,#070809 60%,#0d1116)}.ko-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 85%);pointer-events:none}.ko-hero__inner{min-height:calc(100svh - 40px);display:grid;grid-template-columns:1.03fr .97fr;align-items:center;position:relative;z-index:1}.ko-hero__copy{padding:110px 0 90px;position:relative;z-index:3}.ko-hero h1{margin:22px 0 20px;font-weight:900;font-size:clamp(82px,11.2vw,176px);line-height:.77;letter-spacing:-.085em}.ko-hero h1 span{display:block}.ko-name{font-size:clamp(22px,2.4vw,34px);letter-spacing:.28em;margin:26px 0 4px}.ko-role{margin:0;color:#9fa4a9;font-size:12px;letter-spacing:.15em}.ko-lead{margin:48px 0 0;font-size:16px;line-height:2;color:#d3d3cc}.ko-scroll{display:inline-flex;align-items:center;gap:14px;margin-top:40px;font-size:10px;letter-spacing:.2em;color:#b4b5b2}.ko-scroll span{width:56px;height:56px;border:1px solid var(--ko-line);border-radius:50%;display:grid;place-items:center;font-size:22px;color:var(--ko-fg)}.ko-hero__visual{height:min(89svh,920px);align-self:end;position:relative;display:flex;justify-content:center;align-items:flex-end}.ko-hero__visual img{height:94%;width:auto;max-width:none;position:relative;z-index:2;filter:drop-shadow(0 22px 34px rgba(0,0,0,.4))}.ko-hero__side{position:absolute;right:-15px;top:46%;transform:rotate(90deg) translateX(50%);transform-origin:right top;white-space:nowrap;color:#75797d;font-size:9px;letter-spacing:.3em;z-index:3}.ko-orbit{position:absolute;border:1px solid rgba(215,255,63,.23);border-radius:50%;z-index:1}.ko-orbit--one{width:560px;height:560px;right:-50px;top:15%}.ko-orbit--two{width:380px;height:380px;right:35px;top:25%;border-color:rgba(255,255,255,.08)}
.ko-section{padding:135px 0;border-top:1px solid var(--ko-line)}.ko-about__grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:clamp(60px,8vw,130px);align-items:center}.ko-photo-card{position:relative;min-height:660px;border:1px solid var(--ko-line);background:linear-gradient(160deg,#11151a,#090a0c);overflow:hidden}.ko-photo-card::before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(215,255,63,.24);border-radius:50%;right:-70px;top:50px}.ko-photo-card img{position:absolute;inset:auto 50% 0 auto;transform:translateX(50%);height:92%;width:auto;max-width:none;z-index:2}.ko-photo-index{position:absolute;left:20px;top:20px;color:#7e8286;font-size:9px;letter-spacing:.2em;z-index:3}.ko-about__copy h2{margin:0 0 42px;font-size:clamp(38px,5vw,72px);line-height:1.2;letter-spacing:-.055em;font-weight:700}.ko-about__copy h2 em{font-style:normal;color:var(--ko-accent)}.ko-about__copy p{max-width:650px;margin:0 0 18px;color:#b6b7b3;font-size:15px;line-height:2}.ko-sign{margin-top:45px;font-size:11px;letter-spacing:.22em;color:#deded8}
.ko-manifesto{border-top:1px solid var(--ko-line);background:linear-gradient(90deg,#0b0d10,#111317 45%,#090a0c);}.ko-manifesto__grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px}.ko-manifesto__copy{padding:110px 70px 110px 0;display:flex;flex-direction:column;justify-content:center}.ko-manifesto__copy h2{margin:24px 0 38px;font-size:clamp(60px,7vw,112px);line-height:.98;letter-spacing:-.065em}.ko-manifesto__copy h2 strong{color:var(--ko-accent)}.ko-manifesto__copy>p:last-child{max-width:560px;color:#9fa19f;font-size:14px;line-height:2}.ko-manifesto__visual{position:relative;overflow:hidden;display:flex;justify-content:center;align-items:flex-end;background:radial-gradient(circle at center,rgba(51,68,82,.35),transparent 58%)}.ko-manifesto__visual img{height:94%;width:auto;max-width:none;filter:drop-shadow(0 24px 30px rgba(0,0,0,.4))}.ko-caption{position:absolute;right:25px;bottom:24px;font-size:9px;letter-spacing:.25em;color:#777b7e}
.ko-business__head{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;margin-bottom:70px}.ko-business__head h2{margin:0;font-size:clamp(68px,9.2vw,140px);line-height:.81;letter-spacing:-.08em}.ko-business__head>p{justify-self:end;max-width:390px;color:#a7a9a6;font-size:14px;line-height:1.9}.ko-business__list{border-top:1px solid var(--ko-line)}.ko-business article{display:grid;grid-template-columns:70px 1fr 1.2fr 40px;gap:24px;align-items:center;padding:38px 0;border-bottom:1px solid var(--ko-line)}.ko-no{color:var(--ko-accent);font-size:11px}.ko-business small{display:block;margin-bottom:7px;color:#777b7e;font-size:9px;letter-spacing:.18em}.ko-business h3{margin:0;font-size:clamp(25px,2.5vw,38px);font-weight:500}.ko-business article>p{margin:0;max-width:520px;color:#a8aaa7;font-size:13px;line-height:1.9}.ko-arrow{justify-self:end;font-size:22px}
.ko-vision{padding:145px 0 120px;border-top:1px solid var(--ko-line);background:radial-gradient(circle at 90% 0,rgba(215,255,63,.09),transparent 28%),#08090b}.ko-vision h2{margin:24px 0 85px;font-size:clamp(58px,8vw,124px);line-height:.98;letter-spacing:-.07em}.ko-principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ko-line);border-bottom:1px solid var(--ko-line)}.ko-principles>div{min-height:220px;padding:28px 30px 34px 0;border-right:1px solid var(--ko-line)}.ko-principles>div+div{padding-left:30px}.ko-principles>div:last-child{border-right:0}.ko-principles span{color:var(--ko-accent);font-size:10px}.ko-principles h3{margin:55px 0 10px;font-size:22px}.ko-principles p{margin:0;color:#969994;font-size:13px}
.ko-contact{padding:150px 0 50px;border-top:1px solid var(--ko-line);background:#070809}.ko-contact h2{margin:34px 0 90px;font-size:clamp(88px,14vw,205px);line-height:.72;letter-spacing:-.085em}.ko-contact__bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:38px 0 100px;border-top:1px solid var(--ko-line)}.ko-contact__bottom>p{margin:0;color:#b3b5b2;font-size:14px}.ko-contact__bottom>div{display:flex;flex-direction:column}.ko-contact__bottom a{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--ko-line);font-size:13px;letter-spacing:.1em}.ko-back{display:block;padding-top:22px;border-top:1px solid var(--ko-line);text-align:right;color:#747873;font-size:9px;letter-spacing:.18em}
@media(max-width:980px){.ko-shell{width:min(100% - 34px,1380px)}.ko-hero__inner{grid-template-columns:1fr;min-height:auto;padding-top:65px}.ko-hero__copy{padding:55px 0 15px}.ko-hero h1{font-size:clamp(70px,21vw,140px)}.ko-hero__visual{height:600px}.ko-hero__visual img{height:100%}.ko-orbit--one{width:430px;height:430px}.ko-orbit--two{width:290px;height:290px}.ko-hero__side{display:none}.ko-section{padding:95px 0}.ko-label{margin-bottom:50px}.ko-about__grid,.ko-manifesto__grid,.ko-business__head,.ko-contact__bottom{grid-template-columns:1fr}.ko-photo-card{min-height:570px}.ko-about__copy{padding-top:5px}.ko-manifesto__copy{padding:85px 0 25px}.ko-manifesto__visual{min-height:590px}.ko-business__head>p{justify-self:start;margin-top:35px}.ko-business article{grid-template-columns:42px 1fr 30px;gap:14px}.ko-business article>p{grid-column:2/4;padding-right:12px}.ko-principles{grid-template-columns:1fr}.ko-principles>div{border-right:0;border-bottom:1px solid var(--ko-line);padding-left:0!important}.ko-contact__bottom>div{margin-top:10px}}
@media(max-width:560px){.ko-hero__visual{height:470px}.ko-name{font-size:20px}.ko-lead{font-size:14px}.ko-photo-card{min-height:470px}.ko-manifesto__visual{min-height:500px}.ko-contact h2{font-size:21vw}}
