:root{--ink:#04040a;--blue:#2436c9;--red:#e5372e;--white:#f5f5f7;--muted:#a5a7bb;--line:rgba(255,255,255,.17);--font-body:"Noto Sans JP",sans-serif;--font-display:"Oswald","Arial Narrow",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--font-body);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #98a6ff;outline-offset:5px}::selection{background:var(--red);color:white}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5}h2{font-size:clamp(1.9rem,3.7vw,3.4rem);font-weight:800;letter-spacing:-.055em}h3{letter-spacing:-.035em}.wrap{width:min(1280px,calc(100% - 40px));margin-inline:auto}.section{padding-block:90px}.eyebrow{font-family:var(--font-display);font-weight:400;font-size:.875rem;line-height:1.5;letter-spacing:.13em;display:flex;align-items:center;gap:12px}.red-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}.section-index{color:var(--red)}.section-heading .eyebrow{margin-bottom:25px}.section-heading-row{display:flex;flex-direction:column;gap:20px;margin-bottom:45px}.section-heading-row>p{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:62px;padding:16px 24px;background:var(--red);font-size:.9375rem;font-weight:700;border:1px solid transparent;color:white;transition:background .2s,transform .2s}.button span[aria-hidden]{font-size:1.5rem;line-height:1}.button:hover{background:#c72c25;transform:translateY(-2px)}.button-small{font-size:.8125rem;min-height:44px;padding:11px 18px;gap:25px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.9375rem;font-weight:600;padding-block:14px;border-bottom:1px solid var(--line);width:fit-content;min-width:210px}.text-link:hover{color:#ff827b;border-color:var(--red)}.text-link>span[aria-hidden]{font-size:1.5rem}.tag{display:inline-block;width:fit-content;border:1px solid var(--line);padding:4px 10px;font-family:var(--font-display);font-size:.75rem;letter-spacing:.08em;line-height:1.5;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:15px;padding:10px 20px;background:white;color:var(--ink);z-index:100}.skip-link:focus{top:10px}
.site-header{min-height:84px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(4,4,10,.94);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:inline-flex;flex-direction:column;line-height:1;flex-shrink:0}.brand-mark{font-family:var(--font-display);font-weight:700;font-size:2.4rem;letter-spacing:-.07em}.brand-dot{color:var(--red)}.brand-caption{font-family:var(--font-display);font-size:.6rem;letter-spacing:.13em;margin-top:5px}.navigation{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:flex-end}.navigation>a:not(.button){font-family:var(--font-display);font-size:.8125rem;letter-spacing:.08em;padding-block:10px}.navigation>a:not(.button):hover{color:#ff827b}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:white;min-height:44px;padding:10px 12px;gap:15px;align-items:center}.menu-label{font-family:var(--font-display);font-size:.75rem;letter-spacing:.12em}.menu-lines{width:18px;height:10px;border-top:1px solid;border-bottom:1px solid;position:relative}.menu-toggle[aria-expanded="true"] .menu-lines{height:0;border-bottom:0;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-lines:after{content:"";position:absolute;width:18px;left:0;top:-1px;border-top:1px solid;transform:rotate(90deg)}
.hero{position:relative;isolation:isolate;min-height:min(850px,calc(100svh - 84px));display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:linear-gradient(112deg,#04040a 18%,#0c1036 56%,#2436c9 100%)}.hero:before{content:"";position:absolute;inset:0;z-index:-1;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:90px 90px;mask-image:linear-gradient(90deg,transparent,black)}.hero-content{padding-top:75px;padding-bottom:85px;position:relative}.hero .eyebrow{font-size:.75rem;margin-bottom:30px}.hero h1{font-size:clamp(2.2rem,6vw,5.75rem);font-weight:900;letter-spacing:-.065em;line-height:1.4}.hero h1>span{background:linear-gradient(transparent 88%,var(--red) 88%,var(--red) 94%,transparent 94%)}.hero-statement{font-weight:700;font-size:clamp(1.1rem,2.1vw,1.9rem);letter-spacing:.025em;margin-top:24px}.hero-description{color:#c1c4dd;margin:25px 0 30px;font-size:.9375rem}.cta-note{font-size:.75rem;color:#c1c4dd;margin-top:13px}.hero-bottom{position:relative;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--font-display);font-size:.6875rem;letter-spacing:.12em;padding-block:22px;border-top:1px solid var(--line);margin-top:auto;color:#c1c4dd}.hero-bottom a{display:flex;gap:26px;align-items:center}.hero-bottom a span{color:white;font-size:1.4rem}.hero-art{position:absolute;width:760px;height:760px;right:-220px;top:50%;transform:translateY(-48%) rotate(-26deg);z-index:-1;opacity:.75}.orbit{position:absolute;inset:0;border:1px solid rgba(160,177,255,.36);border-radius:50%;transform:scaleX(.69)}.orbit-two{inset:60px;border-width:30px;border-color:rgba(89,111,255,.21);box-shadow:inset 4px 0 12px rgba(195,203,255,.15),4px 0 15px rgba(114,138,255,.18)}.orbit-three{inset:140px;border-width:1px;border-color:rgba(185,197,255,.6)}.orbit-four{inset:200px;border-width:45px;border-color:rgba(95,119,255,.35);box-shadow:inset 3px 0 8px rgba(255,255,255,.2)}.orbit-core{position:absolute;width:12px;height:12px;top:32%;right:24%;border-radius:50%;background:var(--red);box-shadow:0 0 30px rgba(229,55,46,.6)}.art-cross{position:absolute;color:#a5b3ff;font-size:28px;font-weight:400;transform:rotate(26deg)}.cross-one{top:14%;left:21%}.cross-two{right:18%;bottom:15%}
.results{padding-block:40px 0}.section-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.section-top>p{font-size:.8125rem;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:35px 0}.metric{padding-inline:14px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric-label{font-size:.6875rem;color:#b7b9cc}.metric-value{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,7rem);font-weight:500;letter-spacing:-.035em;line-height:1.3;white-space:nowrap;margin:8px 0}.metric-value>span{font-family:var(--font-body);font-size:clamp(.6875rem,1.6vw,1.375rem);font-weight:600;letter-spacing:0;margin-left:6px}.metric-en{font-family:var(--font-display);font-size:.6875rem;letter-spacing:.13em;color:var(--muted)}.talent-result{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:22px}.talent-result p{font-size:.8125rem}.talent-result strong{font-weight:700}.result-arrow{font-size:2rem;color:var(--red);margin-left:auto}.talent-result .tag{font-size:.625rem}
.about{display:grid;gap:40px}.about-content{color:var(--muted)}.about-content .lead{font-size:1.5rem;font-weight:700;line-height:1.7;color:var(--white);margin-bottom:25px}.about-content>p+p{margin-top:25px}.database{margin-top:35px;border-top:1px solid var(--line);padding-top:25px;display:flex;gap:22px;align-items:center}.database-number{font-size:clamp(2.5rem,5vw,4rem);font-family:var(--font-display);line-height:1.3;color:var(--white);letter-spacing:-.03em}.database-number>span{font-size:2rem;color:var(--red);padding-left:3px}.database>span+span{font-size:.8125rem}.micro-en{font-family:var(--font-display);font-size:.625rem;letter-spacing:.08em;color:#797e9b}
.services{background:#0b0c16;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-main{background:linear-gradient(115deg,#141731,#15216d);border:1px solid rgba(130,150,255,.25);position:relative;overflow:hidden;padding:30px 25px}.service-main-copy{position:relative;z-index:1}.service-number{color:var(--red);font-size:1.25rem;letter-spacing:0;margin-right:4px}.service-main h3{font-size:clamp(1.6rem,3vw,2.75rem);margin:28px 0 22px}.service-main p:not(.eyebrow){color:#bec3e1;font-size:.9375rem}.service-main .text-link{margin-top:25px}.service-main .tag{font-size:.625rem}.service-art{display:none}.service-grid{display:grid}.service-card{padding:35px 25px;border:1px solid var(--line);border-top:0;display:flex;flex-direction:column;min-width:0}.service-card h3{font-size:1.5rem;margin-top:25px;min-height:75px}.service-card p:not(.eyebrow){font-size:.875rem;color:var(--muted);margin:22px 0 25px}.modely-name{font-family:var(--font-display);font-size:2.75rem;line-height:1.4;display:flex;align-items:center;gap:20px;letter-spacing:-.03em}.modely-name>span{font-size:1.8rem;font-family:var(--font-body);font-weight:400;color:#7c8dff}.service-card .text-link{margin-top:auto;min-width:0;width:100%;font-size:.875rem}.card-bottom{font-family:var(--font-display);font-size:.75rem;letter-spacing:.07em;color:#7b7e98;display:block;margin-top:auto;padding-top:15px}
.work-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding-block:30px;border-top:1px solid var(--line);align-items:center}.work-row:last-child{border-bottom:1px solid var(--line)}.work-category{display:flex;gap:15px;align-items:center;grid-column:1/-1}.work-index{font-family:var(--font-display);font-size:.875rem;color:var(--muted)}.work-category h3{font-size:1.125rem}.work-outcome>span{color:var(--muted);font-size:.8125rem}.work-outcome p{font-size:clamp(3.2rem,5vw,4.7rem);font-family:var(--font-display);font-weight:500;line-height:1.35;letter-spacing:-.035em}.plus{color:var(--red);font-size:.8em}.unit{font-size:1rem;font-family:var(--font-body);font-weight:600;letter-spacing:0;margin-left:10px}.work-detail{font-size:.8125rem;color:var(--muted)}.work-detail strong{color:var(--white);font-weight:500}.work-arrow{display:none}.works-note{font-size:.75rem;color:var(--muted);margin-top:20px}.company{display:grid;gap:35px;padding-top:20px}.company-wordmark{font-family:var(--font-display);font-size:7rem;letter-spacing:-.07em;line-height:1.2;margin-top:30px;color:#22243a;font-weight:700}.company-wordmark span{color:var(--red)}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:22px 0;border-top:1px solid var(--line);font-size:.8125rem}.company-table>div:last-child{border-bottom:1px solid var(--line)}.company-table dt{color:var(--muted)}.company-table dd{margin:0;line-height:2}
.contact{position:relative;background:linear-gradient(120deg,#101434,#2436c9);border-top:1px solid #3a48b8}.contact-grid{display:grid;gap:45px}.contact-copy h2{font-size:clamp(2.3rem,4.5vw,4.2rem);margin:28px 0 30px;line-height:1.5}.contact-copy h2>span{color:#b7c2ff}.contact-copy h3{font-size:1.125rem;margin-bottom:15px}.contact-copy>p:not(.eyebrow){color:#c9cfea;font-size:.9375rem}.contact-symbol{display:none}.contact-form{padding:25px 20px;background:rgba(4,4,10,.32);border:1px solid rgba(255,255,255,.22)}.form-notice{font-size:.8125rem;color:#d0d5ee;border-left:2px solid var(--red);padding-left:12px;margin-bottom:25px;line-height:1.8}.field{margin-bottom:21px}.field label{display:flex;align-items:center;gap:12px;font-size:.875rem;font-weight:500;margin-bottom:8px}.field label>span{font-size:.6875rem;color:#bbc3e9;font-weight:400;border:1px solid #616fa2;padding:0 6px;line-height:1.8}.field select{display:block;width:100%;border:1px solid #6470a5;background:rgba(4,4,10,.25);color:white;border-radius:0;padding:12px 14px;min-height:49px;font-size:1rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a6afd3' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.field select:focus{border-color:#98a6ff}.field select option{color:#04040a}
.field input,.field textarea{display:block;width:100%;border:1px solid #6470a5;background:rgba(4,4,10,.25);color:white;border-radius:0;padding:12px 14px;min-height:49px;font-size:1rem;transition:border-color .2s}.field textarea{resize:vertical;min-height:110px}.field input::placeholder,.field textarea::placeholder{color:#a6afd3;opacity:1}.field input:hover,.field textarea:hover{border-color:#a7b4f5}.field small{display:block;margin-top:7px;color:#c1c9e9;font-size:.75rem}.button-submit{width:100%;margin-top:5px}.form-status{font-size:.875rem;line-height:1.8}.form-status:not(:empty){padding:15px;margin-top:16px;border:1px solid #9eaceb;background:#152054}.site-footer{display:flex;align-items:center;flex-wrap:wrap;gap:25px;padding-block:35px}.site-footer>p{font-size:.75rem;color:var(--muted)}.site-footer small{font-size:.6875rem;letter-spacing:.04em;color:var(--muted)}.back-top{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);margin-left:auto;font-size:1.4rem}.back-top:hover{border-color:var(--red)}
@media(max-width:767px){.site-header{flex-wrap:wrap}.navigation{justify-content:flex-start;width:100%;padding-top:10px}.navigation .button{width:100%}.menu-toggle:not([hidden]){display:flex}.navigation.is-collapsible{display:none;padding-bottom:10px}.navigation.is-collapsible.is-open{display:flex}.navigation.is-collapsible>a:not(.button){width:calc(50% - 8px);padding:10px 0}.hero-art{right:-450px;opacity:.45}.hero-bottom>span{max-width:150px}.hero-bottom a{gap:12px}.contact-copy .eyebrow{font-size:.75rem}}
@media(min-width:768px){.wrap{width:min(1280px,calc(100% - 96px))}.site-header{padding-inline:48px;min-height:92px}.navigation{gap:22px}.brand-mark{font-size:2.6rem}.section{padding-block:120px}.hero-content{padding-top:85px;padding-bottom:90px}.hero .eyebrow{font-size:.875rem}.hero-description{font-size:1rem}.hero-bottom{font-size:.75rem}.metrics{padding:40px 0}.metric{padding-inline:40px}.metric-label{font-size:.875rem}.metric-en{font-size:.75rem}.talent-result{padding-block:25px;gap:30px}.talent-result p{font-size:1rem}.talent-result .tag{font-size:.75rem}.mobile-break{display:none}.section-heading-row{flex-direction:row;justify-content:space-between;align-items:flex-end;margin-bottom:50px;gap:35px}.section-heading-row>p{font-size:.875rem}.about,.company{grid-template-columns:1fr 1fr;gap:65px}.about-content .lead{font-size:1.75rem}.service-main{padding:45px}.service-main-copy{width:70%}.service-art{display:block;position:absolute;right:35px;top:50%;width:26%;aspect-ratio:1;transform:translateY(-50%);opacity:.7;pointer-events:none}.service-shape{position:absolute;inset:12%;border:1px solid var(--muted);transform:rotate(45deg)}.service-shape:nth-child(2){inset:24%;border-color:var(--white);transform:rotate(15deg)}.service-shape:nth-child(3){inset:36%;border-color:var(--red);transform:rotate(-15deg);background:rgba(229,55,46,.08)}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{padding:30px 25px}.service-card+.service-card{border-left:0}.service-card h3{font-size:1.25rem;min-height:85px}.service-card .eyebrow{font-size:.75rem;gap:10px}.service-card p:not(.eyebrow){font-size:.8125rem}.work-row{grid-template-columns:1fr 1.2fr 1fr 35px;gap:25px;padding-block:32px}.work-category{grid-column:auto;gap:22px}.work-category h3{font-size:1.25rem}.work-detail{font-size:.875rem}.work-arrow{display:block;font-size:2rem;color:var(--red)}.work-outcome>span{font-size:.875rem}.company{padding-top:20px}.company-table>div{grid-template-columns:100px 1fr;font-size:.9375rem}.contact-grid{grid-template-columns:1fr 1fr;gap:65px}.contact-form{padding:35px}.contact-symbol{display:block;font-size:7rem;line-height:1.3;margin-top:30px;font-weight:400;color:#8094ff}.site-footer small{margin-left:auto}.back-top{margin-left:15px}}
@media(min-width:1100px){.navigation{gap:36px}.hero-art{right:-75px}.hero-content{padding-top:90px}.service-card{padding:35px}.service-card h3{font-size:1.5rem}.service-card p:not(.eyebrow){font-size:.9375rem}.contact-form{padding:40px}.metric-value{font-size:7rem}}
@media(max-width:374px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:1.9rem}.metric{padding-inline:8px}.metric-value{font-size:2.1rem}.metric-value>span{margin-left:3px;font-size:.625rem}.metric-en{font-size:.625rem}.talent-result{gap:12px}.database{gap:12px;flex-wrap:wrap}.work-outcome p{font-size:2.7rem}.unit{font-size:.875rem}.service-main{padding:25px 20px}.service-main .eyebrow{gap:8px;font-size:.75rem}.contact-form{padding:23px 16px}.company-table>div{grid-template-columns:75px 1fr;gap:10px}}
@media(prefers-reduced-motion:no-preference){.reveal.is-pending{opacity:0;transform:translateY(20px)}.reveal{transition:opacity .65s ease,transform .65s ease}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* クライアント実績: 顔写真つき行（2026-09-14追加） */
.work-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--line);flex-shrink:0}
.work-role{font-size:.75rem;color:var(--muted);margin-top:4px}
@media(min-width:768px){.work-avatar{width:72px;height:72px;border-color:rgba(229,55,46,.45)}}

/* ヒーローPV: 実写×MiniMax混成ループ（2026-09-14追加） */
.hero{position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;z-index:-2;pointer-events:none}
.hero-video video{position:absolute;right:0;top:0;width:68%;height:100%;object-fit:cover;opacity:.85}
.hero-video-fade{position:absolute;inset:0;background:linear-gradient(90deg,#04040a 0%,#04040a 30%,rgba(4,4,10,.55) 55%,rgba(4,4,10,.15) 75%,rgba(4,4,10,.45) 100%),linear-gradient(0deg,rgba(4,4,10,.85) 0%,transparent 25%,transparent 80%,rgba(4,4,10,.6) 100%)}
.hero-art{opacity:.35}
@media(max-width:767px){.hero-video video{width:100%;opacity:.5}}
@media(prefers-reduced-motion:reduce){.hero-video video{display:none}.hero-video{background:url('assets/hero_poster.jpg') right center/cover no-repeat;opacity:.4}}

/* ストーリーカード型の実績（2026-09-14 モバイル泣き別れ対策で全面刷新） */
.story-cards{display:grid;gap:22px}
.story-card{border:1px solid var(--line);padding:26px 22px;display:grid;gap:16px;background:rgba(255,255,255,.015)}
.story-head{display:flex;gap:16px;align-items:center}
.story-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgba(229,55,46,.5);flex-shrink:0}
.story-index{font-family:var(--font-display);font-size:.6875rem;letter-spacing:.18em;color:var(--red)}
.story-head h3{font-size:1.25rem;margin-top:2px}
.story-role{font-size:.75rem;color:var(--muted);margin-top:3px}
.story-result{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
.story-result-label{font-size:.8125rem;color:var(--muted)}
.story-result strong{font-weight:600;font-size:1.5rem;white-space:nowrap}
.story-result em{font-family:var(--font-display);font-style:normal;font-size:2.8rem;letter-spacing:-.03em;color:var(--white);margin-right:2px}
.story-result strong em+*,.story-result strong{color:var(--white)}
.story-lead{font-size:1rem;font-weight:700}
.story-flow{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.story-flow li{font-size:.75rem;color:#c9cfff;border:1px solid rgba(143,164,255,.35);padding:6px 12px;border-radius:999px;white-space:nowrap;display:flex;align-items:center}
.story-flow li:not(:last-child)::after{content:"→";margin-left:-2px;margin-right:-8px;position:relative;left:14px;color:var(--red)}
.story-stats{font-size:.6875rem;color:var(--muted)}
@media(min-width:768px){
 .story-cards{grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
 .story-card{padding:32px 28px;gap:18px}
 .story-avatar{width:76px;height:76px}
 .story-result em{font-size:3.4rem}
}
.story-avatar-text{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:#c9cfff;background:linear-gradient(135deg,#0a0f3d,#2436c9)}
@media(min-width:768px){.story-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.story-cards{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1100px){.story-cards{grid-template-columns:repeat(3,1fr)}}

/* FOUNDER セクション（2026-09-14追加） */
.founder-grid{display:grid;gap:35px}
.founder-photo-wrap{position:relative;max-width:420px}
.founder-photo{width:100%;height:auto;display:block;border:1px solid var(--line);filter:saturate(.92)}
.founder-photo-wrap::before{content:"";position:absolute;left:-14px;top:-14px;width:100%;height:100%;border:2px solid var(--red);z-index:-1}
.founder-handle{position:absolute;right:12px;bottom:12px;font-family:var(--font-display);font-size:.6875rem;letter-spacing:.14em;background:rgba(4,4,10,.75);padding:6px 12px;color:#c9cfff}
.founder-copy{display:grid;gap:18px;align-content:center}
.founder-name{font-size:1rem}.founder-name strong{font-size:1.375rem;font-weight:800}
.founder-story{color:#c6c9d8;line-height:2.1;font-size:.9375rem}
.founder-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.founder-chips li{font-size:.75rem;color:#c9cfff;border:1px solid rgba(143,164,255,.35);padding:6px 12px;border-radius:999px;white-space:nowrap}
.founder-note{font-size:.875rem;font-weight:700;display:flex;align-items:center;gap:10px}
.red-underline{box-shadow:inset 0 -14px 0 rgba(229,55,46,.55)}
@media(min-width:768px){.founder-grid{grid-template-columns:5fr 7fr;gap:70px;align-items:center}}
/* FOUNDER: モバイルは写真を控えめに（パンチ調整 2026-09-14） */
.founder-photo{filter:saturate(.78) contrast(.98)}
@media(max-width:767px){
 .founder-photo-wrap{max-width:230px;margin-left:6px}
 .founder-photo-wrap::before{left:-10px;top:-10px}
 .founder-handle{right:8px;bottom:8px;font-size:.5625rem;padding:4px 8px}
}

/* 会社概要: 地図・採用ページ（2026-09-14追加） */
.company-map-row{display:block!important}
.company-map-row dt{margin-bottom:12px}
.company-map{aspect-ratio:16/8;border:1px solid var(--line)}
.company-map iframe{width:100%;height:100%;border:0;filter:invert(.9) grayscale(.85) contrast(.95)}
.recruit-page h1{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:900;line-height:1.3;margin:14px 0 18px}
.recruit-lead{color:#c6c9d8;line-height:2}
.job-list{display:grid;gap:22px;margin-top:40px}
.job-card{border:1px solid var(--line);padding:28px 24px;display:grid;gap:18px;background:rgba(255,255,255,.015)}
.job-card h2{font-size:1.25rem}
.job-table{margin:0}
.job-table>div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:.8125rem}
.job-table dt{color:var(--muted)}.job-table dd{margin:0;line-height:1.9}
.job-card .button{justify-self:start}
@media(min-width:768px){.job-list{grid-template-columns:repeat(3,1fr)}.recruit-page{padding-top:60px}}

/* 粒子オープニング（2026-09-15追加・dip参考） */
#intro-overlay{position:fixed;inset:0;z-index:9999;background:#04040a;transition:opacity .2s}

/* レビュー反映（2026-09-15）: 最小幅あふれ対策・列数調整・CTAコントラスト */
.story-card,.story-head>div,.company-table,.company-table dd,.founder-copy{min-width:0}
.story-flow li,.founder-chips li{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.story-flow li:not(:last-child)::after{content:"";margin:0}
.company-table .text-link{min-width:0;max-width:100%}
@media(min-width:768px){
 .story-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .company{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .job-list{grid-template-columns:repeat(1,minmax(0,1fr))}
}
@media(min-width:1100px){
 .story-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .job-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.button,.button-submit{background:#cf2b23;font-weight:700}
.button:hover{background:#e5372e}

/* dip参考の追加要素（2026-09-15）: ゴーストボタン・巨大英字 */
.button-ghost{display:inline-flex;align-items:center;gap:10px;background:transparent;border:1px solid rgba(255,255,255,.35);color:var(--white);padding:14px 26px;font-size:.8125rem;font-weight:700;text-decoration:none;transition:border-color .2s,background .2s}
.button-ghost:hover{border-color:var(--red);background:rgba(229,55,46,.08)}
.section{position:relative}
.giant-en{position:absolute;top:8px;right:-10px;font-family:var(--font-display);font-weight:700;font-size:clamp(4rem,13vw,11rem);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(143,164,255,.14);pointer-events:none;user-select:none;line-height:1;z-index:0}

/* デザイン改修ラウンド2（2026-09-15・Codex提案反映） */
.hero-art{display:none}
.hero h1{letter-spacing:-.025em}
h2{letter-spacing:-.02em}
.story-role{font-size:.875rem}
.story-stats{font-size:.8125rem;line-height:1.8}
/* 工程チップ→プレーンな流れ表記（枠を外して文章化） */
.story-flow li{border:0;padding:2px 0;border-radius:0;color:#aab3d8;font-size:.8125rem}
.story-flow li:not(:last-child)::after{content:"→";margin:0 10px;color:var(--red)}
/* FOUNDERの赤は下線1箇所に絞る */
.founder-photo-wrap::before{border-color:rgba(143,164,255,.25)}
.founder-avatar,.founder-photo{border-color:var(--line)}
/* 実績直後CTA */
.works-cta{margin-top:45px;display:flex;flex-direction:column;gap:18px;align-items:flex-start;border:1px solid var(--line);padding:30px 26px}
.works-cta p{font-size:1.0625rem;font-weight:700}
@media(min-width:768px){.works-cta{flex-direction:row;justify-content:space-between;align-items:center;padding:34px 40px}}
/* モバイル固定CTA */
.sticky-cta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:90;display:flex;justify-content:center;align-items:center;gap:8px;background:#cf2b23;color:#fff;font-weight:700;font-size:.9375rem;padding:15px;text-decoration:none;box-shadow:0 6px 24px rgba(0,0,0,.45)}

/* R3: 成果の条件注記と背景PVの操作 */
.story-result-note{font-size:.75rem;line-height:1.8;color:var(--muted);margin-top:-8px;overflow-wrap:anywhere}
.hero-controls{display:flex;justify-content:flex-end;padding-bottom:16px}
.hero-video-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:50%;background:var(--ink);color:var(--white);line-height:1}
.hero-video-toggle:hover{border-color:var(--muted)}
.hero-video-toggle[hidden]{display:none}
.contact-form{min-width:0}
@media(prefers-reduced-motion:reduce){.hero-controls{display:none}}
