:root {
  --ink: #16324f;
  --paper: #f7fafc;
  --cream: #eaf6f8;
  --line: rgba(22,50,79,.18);
  --accent: #2a9d8f;
  --orange: #f28c45;
  --muted: #5a6b78;
  --radius: 2px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; line-height: 1.7; letter-spacing: .02em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; background: var(--accent); padding: 12px 18px; color: var(--ink); }
.skip-link:focus { top: 12px; }

.notice { min-height: 31px; background: var(--accent); color: var(--ink); display: flex; align-items: center; justify-content: center; gap: 8px; padding: 5px 16px; font-weight: 700; font-size: 11px; letter-spacing: .08em; text-align: center; }
.notice__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); animation: pulse 1.8s infinite; }
@keyframes pulse { 50% { opacity: .35; } }

.site-header { height: 82px; padding: 0 3.5vw; display: flex; align-items: center; justify-content: space-between; background: rgba(244,240,232,.94); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(12px); }
.brand { display: flex; align-items: center; gap: 13px; text-decoration: none; }
.brand__symbol { width: 52px; height: 52px; object-fit: contain; flex: 0 0 auto; }
.brand__wordmark { display:block; }
.brand__mark { width: 38px; height: 38px; border: 2px solid var(--ink); display: flex; gap: 3px; align-items: flex-end; padding: 5px; transform: rotate(-3deg); }
.brand__mark i { display: block; width: 7px; background: var(--ink); }
.brand__mark i:nth-child(1) { height: 14px; }.brand__mark i:nth-child(2) { height: 23px; }.brand__mark i:nth-child(3) { height: 9px; }
.brand strong { display: block; font-size: 16px; letter-spacing: .14em; line-height: 1.1; }
.brand small { color: var(--muted); font-size: 9px; display: block; margin-top: 3px; }
.desktop-nav { display: flex; align-items: center; gap: 31px; font-size: 13px; font-weight: 700; }
.desktop-nav a { text-decoration: none; position: relative; }
.desktop-nav a::after { content:""; position:absolute; left:0; bottom:-7px; width:0; height:2px; background:var(--orange); transition:.25s; }
.desktop-nav a:hover::after { width:100%; }
.nav-contact { border: 0; background: var(--ink); color: white; padding: 13px 22px; cursor: pointer; }
.menu-button, .mobile-menu { display: none; }

.hero { min-height: calc(100vh - 113px); padding: 8vh max(4vw, 24px) 0; background: var(--ink); color: white; position: relative; overflow: hidden; }
.hero__grid { position:absolute; inset:0; opacity:.16; background-image: linear-gradient(rgba(80,180,220,.22) 1px, transparent 1px),linear-gradient(90deg, rgba(80,180,220,.22) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom,black 0%,transparent 74%); }
.hero::before { content:""; width: 48vw; height:48vw; max-width:680px; max-height:680px; position:absolute; border: 1px solid rgba(80,180,220,.28); border-radius:50%; right:-10vw; top:-20vw; box-shadow: 0 0 0 80px rgba(80,180,220,.035),0 0 0 160px rgba(80,180,220,.02); }
.hero__eyebrow, .eyebrow, .mini-label { font-size: 10px; letter-spacing: .22em; font-weight: 800; text-transform: uppercase; }
.hero__eyebrow { color: var(--accent); position:relative; }
.hero-brand{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:14px;max-width:880px}.hero-brand__mark{width:68px;height:68px;background:white;border-radius:50%;padding:6px;display:grid;place-items:center}.hero-brand__mark img{width:100%;height:100%;object-fit:contain}.hero-brand__name strong{display:block;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:21px;line-height:1}.hero-brand__name small{display:block;color:#b9cad7;font-size:10px;margin-top:6px;font-weight:700}.hero-brand__line{font-size:9px;letter-spacing:.2em;color:var(--accent);font-weight:900;border-left:1px solid #49627c;padding-left:18px}
.hero h1 { position:relative; font-size: clamp(54px, 9vw, 132px); line-height: .9; letter-spacing: -.07em; margin: 22px 0 30px; max-width: 1000px; font-weight: 900; }
.hero h1.hero__message { font-size:clamp(40px,4.8vw,72px);line-height:1.08;letter-spacing:-.055em;max-width:1100px; }
.hero h1 span { color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.85); }
.hero__lead { position: relative; margin: 0; color: #c3c5be; font-size: clamp(14px,1.5vw,19px); max-width: 720px; }
.path-grid { position:relative; display:grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.18); max-width: 1030px; margin: 7vh 0 8vh auto; border: 1px solid rgba(255,255,255,.16); }
.path-grid--business-first{grid-template-columns:minmax(0,4fr) minmax(230px,1fr)}
.path-card { min-height: 330px; padding: 34px clamp(26px,4vw,56px); position:relative; display:flex; flex-direction:column; align-items:flex-start; transition: transform .3s, background .3s; }
.path-card:hover { transform: translateY(-6px); }
.path-card--client { background: var(--orange); color: white; }
.path-card--career { background: var(--accent); color: var(--ink); }
.path-card__number { position:absolute; right:24px; top:18px; font-size:50px; font-weight:900; opacity:.14; line-height:1; }
.path-card__kicker { font-size:10px; letter-spacing:.22em; font-weight:800; margin:0 0 18px; }
.path-card h2 { margin:0 0 16px; font-size:clamp(34px,4vw,54px); line-height:1.04; letter-spacing:-.04em; }
.path-card > p:not(.path-card__kicker) { font-size:13px; max-width:380px; margin:0 0 30px; }
.path-card__link { margin-top:auto; width:100%; border-top:1px solid currentColor; padding-top:15px; text-decoration:none; display:flex; justify-content:space-between; font-weight:800; font-size:13px; }
.path-card__button{border-right:0;border-bottom:0;border-left:0;background:transparent;color:inherit;cursor:pointer;text-align:left}
.path-card__link span { font-size:22px; transition:.25s; }.path-card__link:hover span { transform: translate(4px,4px); }
.hero__ticker { position:relative; margin-left:-4vw; width:108%; border-top:1px solid rgba(255,255,255,.2); padding:13px 0; overflow:hidden; white-space:nowrap; color:#a8aaa5; font-size:11px; font-weight:800; letter-spacing:.15em; }
.hero__ticker div { width:max-content; animation:ticker 18s linear infinite; }.hero__ticker span { color:var(--accent); margin:0 24px; }
@keyframes ticker { to { transform:translateX(-50%); } }

.section { padding: clamp(80px,10vw,150px) max(4vw,24px); }
.section-head { max-width:var(--max); margin:0 auto 70px; display:grid; grid-template-columns: 1fr 2.3fr 1.2fr; gap:4vw; align-items:end; }
.section-index { font-size:12px; font-weight:900; display:block; border-bottom:2px solid var(--ink); width:40px; padding-bottom:6px; margin-bottom:30px; }
.eyebrow { margin:0; color:var(--orange); }
.section-head h2 { margin:0; font-size:clamp(43px,6vw,82px); line-height:1.02; letter-spacing:-.06em; }
.section-head h2 em { font-style:normal; color:var(--orange); }
.section-head > p { margin:0; font-size:14px; color:#5d605a; }

.project-selector { max-width:var(--max); margin:0 auto; border:1px solid var(--ink); background:#faf9f5; box-shadow: 14px 14px 0 var(--ink); }
.selector-head { display:flex; justify-content:space-between; gap:30px; align-items:end; padding:28px 34px; border-bottom:1px solid var(--ink); }
.mini-label { color:var(--orange); }
.selector-head h3,.job-switcher__head h3 { margin:5px 0 0; font-size:25px; line-height:1.2; }
.selector-head > p { font-size:12px; color:var(--muted); margin:0; }
.project-tabs,.job-tabs { display:grid; grid-template-columns:repeat(3,1fr); }
.project-tabs{grid-template-columns:repeat(4,1fr)}
.project-tabs button,.job-tabs button { border:0; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); background:transparent; padding:17px 10px; font-weight:800; cursor:pointer; }
.project-tabs button:last-child,.job-tabs button:nth-child(3n) { border-right:0; }
.project-tabs button[aria-selected="true"] { background:var(--ink); color:white; }
.project-panel { display:grid; grid-template-columns:1.05fr 1fr; min-height:470px; }
.project-visual { background:var(--cream); border-right:1px solid var(--ink); position:relative; overflow:hidden; display:grid; place-items:center; }
.project-visual::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 25% 35%,rgba(243,97,47,.2),transparent 30%),linear-gradient(135deg,transparent 48%,rgba(17,20,17,.04) 49%,transparent 50%); background-size:auto,20px 20px; }
.visual-label { position:absolute; left:22px; top:19px; font-size:10px; font-weight:900; letter-spacing:.18em; z-index:1; }
.floor-plan { width:65%; aspect-ratio:1.15; border:8px solid var(--ink); position:relative; transform:rotate(-3deg); transition:.35s; }
.floor-plan .room { position:absolute; border:4px solid var(--ink); background:rgba(255,255,255,.26); }
.r1{left:0;top:0;width:48%;height:55%}.r2{right:0;top:0;width:48%;height:40%}.r3{right:0;bottom:0;width:48%;height:56%}
.break-line { position:absolute; width:42%; height:4px; background:var(--orange); transform:rotate(45deg); z-index:2; }.b1{left:4%;top:42%}.b2{right:2%;bottom:29%;transform:rotate(-35deg)}
.project-copy { padding:clamp(32px,5vw,64px); display:flex; flex-direction:column; align-items:flex-start; }
.project-kicker { color:var(--orange); font-size:12px; font-weight:800; margin:0 0 8px; }
.project-copy h3 { font-size:clamp(29px,3vw,42px); margin:0 0 18px; letter-spacing:-.03em; }
.project-copy > p:not(.project-kicker) { color:#565a53; font-size:14px; margin:0; }
.project-copy ul { list-style:none; padding:0; margin:25px 0 30px; width:100%; }
.project-copy li { border-top:1px solid var(--line); padding:10px 0 10px 25px; font-size:13px; position:relative; }
.project-copy li::before { content:"＋"; position:absolute; left:0; color:var(--orange); font-weight:900; }
.button { border:0; padding:16px 22px; font-weight:800; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:34px; text-decoration:none; }
.button--dark { background:var(--ink); color:white; }.button--accent { background:var(--accent); color:var(--ink); }.button--wide { width:100%; }
.button span { transition:.2s; }.button:hover span { transform:translateX(4px); }
.works-block { max-width:var(--max); margin:86px auto 0; }
.works-head { display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:25px;padding-bottom:18px;border-bottom:2px solid var(--ink); }
.works-head h3 { margin:5px 0 0;font-size:clamp(30px,4vw,48px);letter-spacing:-.04em; }
.works-head > p { max-width:520px;margin:0;color:var(--muted);font-size:12px; }
.works-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:28px; }
.work-card { background:#faf9f5;border:1px solid var(--ink);overflow:hidden;box-shadow:7px 7px 0 rgba(11,35,64,.16); }
.work-card__gallery { background:var(--ink);padding:10px; }
.work-card__main { display:block;width:100%;padding:0;border:0;background:#0b2340;position:relative;overflow:hidden;cursor:zoom-in; }
.work-card__main img { display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.84) contrast(1.04);transition:transform .35s,filter .35s; }
.work-card__main:hover img { transform:scale(1.02);filter:saturate(1) contrast(1.04); }
.work-card__count,.work-card__expand { position:absolute;bottom:10px;background:rgba(11,35,64,.88);color:white;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.08em; }
.work-card__count { left:10px; }.work-card__expand { right:10px;background:var(--orange); }
.work-card__controls { height:42px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;color:#bed5e6;border-bottom:1px solid #365774; }
.work-card__controls button { height:34px;border:1px solid #5f7891;background:transparent;color:white;font-size:24px;line-height:1;cursor:pointer; }
.work-card__controls span { text-align:center;font-size:10px;font-weight:900;letter-spacing:.14em; }
.work-card__thumbs { display:flex;gap:7px;overflow-x:auto;padding:7px 0 2px;scrollbar-color:var(--accent) #173a5d; }
.work-card__thumbs button { flex:0 0 72px;padding:0;border:2px solid transparent;background:transparent;cursor:pointer;opacity:.58; }
.work-card__thumbs button[aria-current="true"] { border-color:var(--accent);opacity:1; }
.work-card__thumbs img { display:block;width:100%;aspect-ratio:4/3;object-fit:cover; }
.work-card__body { padding:19px; }
.work-card__body > span { color:var(--orange);font-size:9px;letter-spacing:.12em;font-weight:900; }
.work-card__body h4 { margin:8px 0 15px;font-size:19px;line-height:1.3; }
.work-card__body p { margin:0;color:var(--muted);font-size:12px; }
.work-card__body dl { margin:0;border-top:1px solid var(--line); }
.work-card__body dl div { display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:11px; }
.work-card__body dt { color:var(--muted); }.work-card__body dd { margin:0;font-weight:900; }
.hero-facts{max-width:760px;margin:20px 0 0;display:grid;grid-template-columns:1fr 1.25fr;gap:10px}.hero-facts>div{padding:14px 17px;border:1px solid rgba(22,50,79,.18);background:rgba(255,255,255,.72);border-radius:15px;box-shadow:0 10px 28px rgba(22,50,79,.07)}.hero-facts small{display:block;font-size:10px;letter-spacing:.12em;font-weight:900;color:var(--orange)}.hero-facts strong{display:block;margin:3px 0 2px;font-size:clamp(18px,2vw,25px);line-height:1.25}.hero-facts span{display:block;font-size:11px;color:var(--muted)}
.photo-dialog { width:min(1100px,calc(100% - 24px));height:min(88vh,820px);max-width:none;max-height:none;padding:0;border:0;background:#07192b;color:white;overflow:hidden; }
.photo-dialog::backdrop { background:rgba(2,8,14,.92);backdrop-filter:blur(5px); }
.photo-dialog figure { height:100%;margin:0;padding:48px 75px 64px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px; }
.photo-dialog figure img { width:100%;height:100%;object-fit:contain; }
.photo-dialog figcaption { display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px; }
.photo-dialog figcaption span { color:var(--accent);font-weight:900; }
.photo-dialog__close { position:absolute;right:12px;top:10px;width:40px;height:40px;border:1px solid #7790a6;background:#0b2340;color:white;font-size:25px;cursor:pointer;z-index:2; }
.photo-dialog__arrow { position:absolute;top:50%;transform:translateY(-50%);width:48px;height:70px;border:1px solid #7790a6;background:rgba(11,35,64,.9);color:white;font-size:36px;cursor:pointer;z-index:2; }
.photo-dialog__arrow--prev { left:12px; }.photo-dialog__arrow--next { right:12px; }
.service-bottom { max-width:var(--max); margin:60px auto 0; }
.strengths { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }
.strengths article { background:var(--paper); padding:25px 22px; }
.strengths span { color:var(--orange); font-size:11px; font-weight:900; }.strengths h3{font-size:18px;margin:30px 0 8px}.strengths p{font-size:12px;color:var(--muted);margin:0}
.permit-band{max-width:var(--max);margin:30px auto 0;padding:28px 32px;background:#f4f9fb;border:1px solid rgba(31,122,140,.28);border-radius:22px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:38px;align-items:start;box-shadow:0 14px 35px rgba(22,50,79,.07)}
.permit-band__lead h3{font-size:clamp(22px,2.5vw,32px);line-height:1.35;margin:10px 0 12px}.permit-band__lead p{margin:0;color:var(--muted);font-size:14px}.permit-list{margin:0;display:grid;gap:10px}.permit-list>div{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(11,35,64,.14)}.permit-list>div:last-child{border-bottom:0}.permit-list dt{font-size:12px;font-weight:900;color:#1f6f82}.permit-list dd{margin:0;font-size:14px;font-weight:800;line-height:1.7}.permit-list dd span{display:block}.permit-list small{font-size:11px;font-weight:600;color:var(--muted)}
.project-flow{max-width:var(--max);margin:34px auto 0;padding:38px;background:var(--ink);color:#fff;border-radius:24px;box-shadow:0 18px 44px rgba(22,50,79,.16)}.project-flow__head{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:end}.project-flow__head h3{font-size:clamp(27px,3.5vw,44px);line-height:1.2;margin:9px 0 0}.project-flow__head>p{margin:0;color:#d6e0e7;font-size:14px;line-height:1.75}.project-flow__head>p strong{color:#ffc28f}.project-flow__steps{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16)}.project-flow__steps li{padding:22px;background:#1c3c5e;min-height:175px}.project-flow__steps b{display:block;color:#ffc28f;font-size:12px;letter-spacing:.12em}.project-flow__steps strong{display:block;font-size:18px;margin:22px 0 8px}.project-flow__steps span{display:block;color:#c5d3dd;font-size:12px;line-height:1.75}
.coverage-panel{max-width:var(--max);margin:30px auto 0;display:grid;grid-template-columns:1.3fr .7fr;border:1px solid rgba(31,122,140,.28);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 14px 35px rgba(22,50,79,.07)}.coverage-panel__area{padding:34px}.coverage-panel h3{font-size:clamp(28px,3.2vw,42px);margin:8px 0 18px}.coverage-panel__regions{display:flex;flex-wrap:wrap;gap:8px}.coverage-panel__regions span{padding:9px 14px;border:1px solid rgba(31,122,140,.28);border-radius:999px;background:#eef9fa;font-size:13px;font-weight:900}.coverage-panel__area>p{margin:18px 0 0;color:var(--muted);font-size:13px}.coverage-panel__free{padding:32px;background:#eaf6f8;display:flex;flex-direction:column;justify-content:center}.coverage-panel__free small{font-size:12px;font-weight:900;color:#1f6f82}.coverage-panel__free>strong{font-size:52px;line-height:1.05;color:var(--orange);margin:4px 0 8px}.coverage-panel__free p{font-size:12px;color:var(--muted);line-height:1.7}.coverage-panel__free .button{margin-top:10px;width:100%}
.process-card { background:var(--ink); color:white; padding:28px; }
.process-card ol { list-style:none;padding:0;margin:22px 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:13px; }
.process-card li { border-top:1px solid #555;padding-top:8px;font-size:12px;display:flex;gap:10px; }.process-card b{color:var(--accent)}.process-card p{font-size:11px;color:#aaa;margin:0}

.section--careers { background:var(--ink); color:white; }
.section--careers{padding-top:72px;padding-bottom:72px}.section--careers .section-head{margin-bottom:34px}.career-detail--archived{display:none!important}.career-teaser{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:42px;align-items:center;padding:34px;border:1px solid #49627c;background:#112f4f}.career-teaser__copy h3{font-size:clamp(25px,3vw,38px);line-height:1.25;margin:7px 0 12px}.career-teaser__copy>p{margin:0;color:#b6c3c8;font-size:14px;max-width:720px}.career-teaser__jobs{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.career-teaser__jobs span{border:1px solid #49627c;padding:5px 10px;font-size:11px;font-weight:800}.career-teaser__actions{display:grid;gap:10px}.button--career-sub{background:transparent;color:white;border:1px solid #718496}
.section-head--light .section-index{border-color:white}.section-head--light h2 em{color:var(--accent)}.section-head--light>p{color:#aaada7}.section-head--light .eyebrow{color:var(--accent)}
.career-layout { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:2fr 1fr; gap:26px; align-items:start; }
.job-switcher { border:1px solid #49627c; background:#112f4f; }
.job-switcher__head { padding:24px 28px; }.job-switcher__head .mini-label{color:var(--accent)}
.job-tabs button { color:#cbd6df;border-color:#49627c;background:#091d33; }.job-tabs button[aria-selected="true"]{background:var(--accent);color:var(--ink)}
.job-content { padding:clamp(26px,4vw,44px); }
.job-title-row { display:flex;justify-content:space-between;gap:20px;align-items:start; }.job-title-row span:first-child{font-size:10px;letter-spacing:.16em;color:#8e928a}.job-title-row h3{font-size:36px;margin:3px 0}.experience-badge{background:var(--orange);padding:6px 10px;font-size:10px;font-weight:900}
.job-content>p { color:#b6bab3;font-size:13px;max-width:680px; }
.condition-grid { display:grid;grid-template-columns:1fr 1fr;margin:28px 0;border-top:1px solid #49627c;border-left:1px solid #49627c; }
.condition-grid dl { margin:0;padding:16px;border-right:1px solid #49627c;border-bottom:1px solid #49627c; }.condition-grid dt{font-size:10px;color:#a8bac9}.condition-grid dd{margin:6px 0 0;font-weight:800;font-size:14px}
.income-tool { background:#173a5d;padding:22px;display:grid;grid-template-columns:1.3fr auto;gap:8px 20px;align-items:center; }
.income-tool h4{margin:4px 0;font-size:17px}.income-tool label{font-size:12px;text-align:right}.income-tool input{grid-column:1/-1;width:100%;accent-color:var(--accent)}.income-result{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #4c514a;margin:4px 0 0;padding-top:12px}.income-result span{font-size:11px;color:#aaa}.income-result strong{font-size:clamp(21px,3vw,30px);color:var(--accent)}.income-tool small{grid-column:1/-1;color:#878b84;font-size:9px}
.income-tool input:disabled{opacity:.25;cursor:not-allowed}
.career-aside { display:grid;gap:18px; }
.appeal-card { background:var(--paper);color:var(--ink);padding:30px; }.appeal-card h3{font-size:29px;margin:5px 0 24px}.appeal-card ul{list-style:none;padding:0;margin:0}.appeal-card li{display:flex;gap:15px;border-top:1px solid var(--line);padding:16px 0}.appeal-card li>span{font-size:10px;color:var(--orange);font-weight:900}.appeal-card b{display:block;font-size:14px}.appeal-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.faq-block { max-width:var(--max); margin:90px auto 0;border-top:1px solid #4a4e48;padding-top:45px;display:grid;grid-template-columns:1fr 2fr;gap:7vw; }.faq-block>div:first-child .mini-label{color:var(--accent)}.faq-block h3{font-size:34px;margin:8px 0}.faq-block>div:first-child p{font-size:12px;color:#93978f}
.faq-list details { border-top:1px solid #4a4e48; }.faq-list details:last-child{border-bottom:1px solid #4a4e48}.faq-list summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:700;position:relative;font-size:14px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:9px;color:var(--accent);border:1px solid #5f645d;padding:4px 6px;margin-right:12px}.faq-list summary i,.faq-list summary i::after{position:absolute;right:8px;top:50%;width:14px;height:1px;background:white;content:""}.faq-list summary i::after{right:0;top:0;transform:rotate(90deg);transition:.2s}.faq-list details[open] summary i::after{transform:rotate(0)}.faq-list details p{margin:0;padding:0 45px 20px;color:#aeb2aa;font-size:12px}
.faq-block--client{border-color:var(--line);color:var(--ink)}.faq-block--client>div:first-child p,.faq-block--client .faq-list details p{color:var(--muted)}.faq-block--client .faq-list details,.faq-block--client .faq-list details:last-child{border-color:var(--line)}.faq-block--client .faq-list summary span{color:var(--orange);border-color:var(--line)}.faq-block--client .faq-list summary i,.faq-block--client .faq-list summary i::after{background:var(--ink)}

footer { background:var(--accent); color:var(--ink); padding:55px max(4vw,24px) 25px; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; }
.seo-link-panel{padding:42px max(4vw,24px);background:#fff;color:#113846}.seo-link-panel>p{max-width:1240px;margin:0 auto 18px;font-size:14px;font-weight:800}.seo-link-panel>p span{display:block;color:#087d8d;font-size:11px;letter-spacing:.16em}.seo-link-panel>div{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(17,56,70,.2);border-left:1px solid rgba(17,56,70,.2)}.seo-link-panel a{min-height:82px;padding:17px 18px;display:flex;gap:12px;justify-content:space-between;align-items:center;border-right:1px solid rgba(17,56,70,.2);border-bottom:1px solid rgba(17,56,70,.2);font-size:13px;font-weight:800;text-decoration:none}.seo-link-panel a:hover{background:#e6f7f7}.seo-link-panel b{color:#087d8d;font-size:20px}
.footer-brand{display:flex;align-items:center;gap:18px}.footer-brand img{width:100px;height:100px;object-fit:contain}.footer-brand strong{display:block;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(25px,4vw,48px);line-height:1;letter-spacing:.01em}.footer-brand small{display:block;font-weight:800;margin-top:8px}.footer-actions{display:flex;gap:8px}.footer-actions button{background:var(--ink);color:white;border:0;padding:14px 18px;font-weight:800;cursor:pointer}.footer-actions button:last-child{background:var(--orange)}.company-details{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:4px 28px;border-top:1px solid rgba(11,35,64,.3);padding-top:20px}.company-details p{font-size:11px;margin:0}.company-details b{display:inline-block;min-width:70px}.company-details a{color:inherit}.company-details span{font-size:9px;color:#36526a}footer>small{text-align:right;font-size:9px}
.mobile-actions{display:none}

.contact-dialog { width:min(640px,calc(100% - 24px)); max-height:90vh; border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px rgba(0,0,0,.45); }
.contact-dialog::backdrop{background:rgba(7,9,7,.8);backdrop-filter:blur(4px)}.dialog-step{padding:clamp(28px,6vw,55px)}.dialog-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:1px solid var(--ink);background:transparent;font-size:23px;cursor:pointer;z-index:2}.contact-dialog h2{font-size:clamp(31px,5vw,46px);margin:6px 0 8px;letter-spacing:-.04em}.contact-dialog p{font-size:12px;color:var(--muted)}.contact-dialog form{display:grid;gap:16px;margin-top:25px}.contact-dialog label{font-size:12px;font-weight:800}.contact-dialog label span{float:right;color:var(--orange);font-size:9px}.contact-dialog input,.contact-dialog select,.contact-dialog textarea{display:block;width:100%;border:1px solid #a5a69f;background:#faf9f5;padding:13px;margin-top:6px;border-radius:0}.no-send{border-left:4px solid var(--orange);background:#e9e5dc;padding:12px 14px}.no-send b,.no-send span{display:block;font-size:11px}.no-send span{color:var(--muted);font-size:9px;margin-top:2px}.no-send--strong{margin:22px 0;background:#fff3e9}.preview-row{border-top:1px solid var(--line);padding:13px 0}.preview-row small{display:block;color:var(--orange);font-size:9px;font-weight:900}.preview-row p{margin:3px 0;color:var(--ink);white-space:pre-wrap}
.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.privacy-consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:700!important;line-height:1.6}.privacy-consent input{width:18px!important;height:18px;margin:2px 0 0!important;flex:0 0 auto}.privacy-consent span{float:none!important;color:var(--ink)!important;font-size:11px!important}.form-notice{border-left:4px solid var(--orange);background:#e9e5dc;padding:12px 14px}.form-notice b,.form-notice span{display:block;font-size:11px}.form-notice span{color:var(--muted);font-size:9px;margin-top:2px}.form-notice--strong{margin:22px 0;background:#fff3e9}.confirm-actions{display:grid;gap:10px}.confirm-actions button:disabled{opacity:.65;cursor:wait}

.reveal { opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}

@media (max-width: 820px) {
  body{padding-bottom:66px}.notice{font-size:9px}.site-header{height:66px;padding:0 18px}.brand__symbol{width:40px;height:40px}.brand__wordmark strong{font-size:12px}.brand__wordmark small{font-size:8px}.desktop-nav{display:none}.menu-button{display:block;width:42px;height:42px;border:0;background:transparent;position:relative}.menu-button span{position:absolute;left:8px;width:26px;height:2px;background:var(--ink);transition:.2s}.menu-button span:first-child{top:15px}.menu-button span:last-child{top:25px}.menu-button[aria-expanded="true"] span:first-child{top:20px;transform:rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{top:20px;transform:rotate(-45deg)}
  .mobile-menu{position:absolute;top:66px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);padding:18px;z-index:20}.mobile-menu:not([hidden]){display:grid;gap:1px}.mobile-menu a,.mobile-menu button{padding:15px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;text-decoration:none;font-weight:800}.mobile-menu button{background:var(--ink);color:white;margin-top:8px}
  .hero{padding:8vh 18px 0;min-height:auto}.hero h1{font-size:clamp(53px,17vw,78px);margin-top:15px}.hero__lead br{display:none}.hero-facts{grid-template-columns:1fr;margin-top:15px}.hero-facts>div{padding:12px 14px}.path-grid,.path-grid--business-first{grid-template-columns:1fr;margin:7vh 0 7vh}.path-card{min-height:270px;padding:27px}.path-card h2 br{display:none}.hero__ticker{margin-left:-18px;width:calc(100% + 36px)}
  .hero-brand{grid-template-columns:auto 1fr;gap:10px}.hero-brand__mark{width:54px;height:54px}.hero-brand__name strong{font-size:16px}.hero-brand__name small{font-size:9px}.hero-brand__line{grid-column:1/-1;border-left:0;border-top:1px solid #49627c;padding:8px 0 0}
  .section{padding:80px 18px}.section-head{grid-template-columns:1fr;margin-bottom:45px;gap:18px}.section-head>div{display:flex;align-items:center;gap:18px}.section-index{margin:0}.section-head h2{font-size:45px}.section-head>p{max-width:560px}
  .project-selector{box-shadow:7px 7px 0 var(--ink)}.selector-head{padding:21px;display:block}.selector-head>p{margin-top:10px}.project-tabs button{padding:14px 4px;font-size:12px}.project-panel{grid-template-columns:1fr}.project-visual{min-height:290px;border-right:0;border-bottom:1px solid var(--ink)}.project-copy{padding:27px 22px}.works-block{margin-top:65px}.works-head{display:block}.works-head>p{margin-top:10px}.works-grid{grid-template-columns:1fr;gap:22px}.work-card{box-shadow:5px 5px 0 rgba(11,35,64,.16)}.work-card__thumbs button{flex-basis:64px}.photo-dialog{height:calc(100vh - 24px)}.photo-dialog figure{padding:58px 12px 78px}.photo-dialog figcaption{align-items:flex-start;padding:0 6px}.photo-dialog figcaption strong{max-width:75%;font-size:11px}.photo-dialog__arrow{top:auto;bottom:14px;transform:none;width:64px;height:46px}.photo-dialog__arrow--prev{left:calc(50% - 72px)}.photo-dialog__arrow--next{right:calc(50% - 72px)}.service-bottom{margin-top:45px}.strengths{grid-template-columns:1fr}.strengths h3{margin-top:12px}.project-flow{padding:25px 19px;border-radius:19px}.project-flow__head{grid-template-columns:1fr;gap:12px}.project-flow__steps{grid-template-columns:1fr}.project-flow__steps li{min-height:0;padding:18px}.project-flow__steps strong{margin:8px 0 5px}.coverage-panel{grid-template-columns:1fr;border-radius:19px}.coverage-panel__area,.coverage-panel__free{padding:25px 20px}.coverage-panel__free>strong{font-size:44px}.permit-band{grid-template-columns:1fr;padding:24px 20px;gap:18px}.permit-list>div{grid-template-columns:1fr;gap:5px}.permit-list dd{font-size:13px}
  .career-layout{grid-template-columns:1fr}.career-teaser{grid-template-columns:1fr;padding:24px 20px;gap:24px}.career-teaser__copy h3{font-size:27px}.career-teaser__actions{grid-template-columns:1fr}.job-tabs{overflow-x:auto;grid-template-columns:repeat(3,minmax(130px,1fr))}.job-tabs button{font-size:11px;padding:13px 7px}.job-title-row{display:block}.experience-badge{display:inline-block;margin-top:4px}.condition-grid{grid-template-columns:1fr}.income-tool{grid-template-columns:1fr}.income-tool label{text-align:left}.income-result{align-items:flex-end;gap:12px}.income-result strong{text-align:right}.faq-block{grid-template-columns:1fr;margin-top:65px;gap:25px}.faq-list summary{font-size:12px}
  footer{grid-template-columns:1fr;padding-bottom:35px}.footer-actions{display:none}.company-details{grid-template-columns:1fr}.company-details b{min-width:66px}footer>small{text-align:left}.mobile-actions{display:grid;grid-template-columns:3fr 1fr;position:fixed;bottom:0;left:0;right:0;height:66px;z-index:45;box-shadow:0 -5px 20px rgba(0,0,0,.2)}.mobile-actions button,.mobile-actions a{border:0;background:var(--orange);color:white;font-weight:900;font-size:14px;text-align:center;text-decoration:none;display:grid;place-content:center}.mobile-actions a{background:var(--accent);color:var(--ink);font-size:12px}.mobile-actions span{display:block;font-size:8px;letter-spacing:.12em}.contact-dialog{max-height:calc(100vh - 24px)}.dialog-step{padding:40px 22px 24px}
  .seo-link-panel{padding:34px 18px}.seo-link-panel>div{grid-template-columns:1fr}.seo-link-panel a{min-height:60px;padding:13px 15px;font-size:14px}
}

@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero__ticker div,.notice__dot{animation:none} }

/* Design B: 明るい未来・再生 */
.design-switches{margin-left:12px}.design-switch{border:1px solid currentColor;border-radius:999px;padding:3px 10px;text-decoration:none;font-size:9px;white-space:nowrap}.design-switch--original{display:none}.future-pill,.future-hero-visual{display:none}
html.theme-future{--ink:#113846;--paper:#f7fcff;--cream:#e6f7f7;--line:rgba(17,56,70,.16);--accent:#58cbe8;--orange:#ea7437;--muted:#5f7279;--radius:20px}
.theme-future body{background:#f7fcff;color:#113846}
.theme-future .notice{background:#113846;color:white}.theme-future .notice__dot{background:#badd45}.theme-future .design-switch--future{display:none}.theme-future .design-switch--original{display:inline-block;color:#dff6ff}
.theme-future .site-header{background:rgba(255,255,255,.92);border-bottom-color:rgba(17,56,70,.1);box-shadow:0 8px 30px rgba(32,109,127,.07)}
.theme-future .nav-contact{background:#087d8d;border-radius:999px;padding-inline:25px}.theme-future .desktop-nav a::after{background:#b0d638}
.theme-future .hero{min-height:calc(100svh - 113px);background:radial-gradient(circle at 85% 12%,rgba(186,221,69,.28),transparent 22%),radial-gradient(circle at 15% 15%,rgba(88,203,232,.26),transparent 30%),linear-gradient(145deg,#effbff 0%,#fff 52%,#f4fbdc 100%);color:#113846;padding-top:28px}
.theme-future .hero::before{right:-12vw;top:-16vw;border-color:rgba(8,125,141,.13);box-shadow:0 0 0 80px rgba(88,203,232,.045),0 0 0 160px rgba(186,221,69,.045)}
.theme-future .hero__grid{opacity:.22;background-image:linear-gradient(rgba(8,125,141,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(8,125,141,.13) 1px,transparent 1px);background-size:84px 84px}
.theme-future .hero-brand{z-index:2}.theme-future .hero-brand__mark{width:54px;height:54px;box-shadow:0 12px 35px rgba(8,125,141,.15)}.theme-future .hero-brand__name strong{font-size:18px}.theme-future .hero-brand__name small{color:#57727b}.theme-future .hero-brand__line{color:#087d8d;border-color:rgba(8,125,141,.3)}
.theme-future .hero h1{z-index:2;max-width:56%;font-size:clamp(46px,5.8vw,82px);line-height:.95;margin:20px 0 18px;letter-spacing:-.065em}.theme-future .hero h1.hero__message{font-size:clamp(38px,4.25vw,64px);line-height:1.08;max-width:58%}.theme-future .hero h1 span{color:#087d8d;-webkit-text-stroke:0}.theme-future .hero__lead{z-index:2;color:#536970;max-width:49%;font-size:clamp(14px,1.2vw,16px);line-height:1.7}
.theme-future .future-pill{display:flex;position:relative;z-index:2;align-items:center;gap:10px;margin:12px 0 0;font-size:11px;font-weight:800;color:#113846}.theme-future .future-pill span{background:#badd45;border-radius:999px;padding:5px 10px;font-size:8px;letter-spacing:.14em}
.theme-future .future-hero-visual{display:grid;grid-template-columns:1fr 1fr;position:absolute;right:max(4vw,24px);top:82px;width:40vw;max-width:590px;height:340px;border-radius:28px;overflow:hidden;background:white;box-shadow:0 30px 80px rgba(26,102,120,.22);z-index:1}
.theme-future .future-hero-visual figure{margin:0;position:relative;overflow:hidden}.theme-future .future-hero-visual figure:first-child{clip-path:polygon(0 0,100% 0,86% 100%,0 100%);z-index:2}.theme-future .future-hero-visual figure:nth-child(2){margin-left:-14%;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}.theme-future .future-hero-visual img{width:100%;height:100%;object-fit:cover}.theme-future .future-hero-visual figcaption{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.9);color:#113846;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:900}.theme-future .future-hero-visual__arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:#badd45;display:grid;place-items:center;font-size:28px;font-weight:900;z-index:3;box-shadow:0 8px 25px rgba(17,56,70,.2)}
.theme-future .path-grid{max-width:100%;margin:42px 0 24px;background:transparent;border:0;gap:14px}.theme-future .path-card{min-height:190px;padding:22px clamp(22px,3vw,38px);border-radius:22px;box-shadow:0 20px 50px rgba(26,102,120,.12)}.theme-future .path-card__kicker{margin-bottom:10px}.theme-future .path-card h2{font-size:clamp(28px,3vw,42px);margin-bottom:9px}.theme-future .path-card>p:not(.path-card__kicker){margin-bottom:14px;line-height:1.45}.theme-future .path-card__link{padding-top:9px}.theme-future .path-card--client{background:#087d8d}.theme-future .path-card--career{background:#f4cf55}.theme-future .hero__ticker{padding-block:9px;border-color:rgba(17,56,70,.15);color:#507078}.theme-future .hero__ticker span{color:#087d8d}
.theme-future .section--services{background:linear-gradient(#fff,#f3fbff)}.theme-future .section-head h2{letter-spacing:-.045em}.theme-future .section-head h2 em,.theme-future .eyebrow,.theme-future .mini-label{color:#087d8d}
.theme-future .project-selector{border:0;border-radius:28px;overflow:hidden;background:white;box-shadow:0 24px 70px rgba(26,102,120,.14)}.theme-future .selector-head{border-color:rgba(17,56,70,.12)}.theme-future .project-tabs button{border-color:rgba(17,56,70,.13)}.theme-future .project-tabs button[aria-selected="true"]{background:#087d8d}.theme-future .project-visual{border-color:rgba(17,56,70,.12);background:linear-gradient(145deg,#dff6ff,#edf8cc)}.theme-future .project-visual::before{background:radial-gradient(circle at 25% 35%,rgba(186,221,69,.35),transparent 32%),linear-gradient(135deg,transparent 48%,rgba(8,125,141,.05) 49%,transparent 50%)}.theme-future .project-kicker{color:#087d8d}.theme-future .button--dark{background:#087d8d;border-radius:999px}
.theme-future .works-head{border-color:#087d8d}.theme-future .works-grid{grid-template-columns:repeat(3,1fr);gap:16px}.theme-future .work-card{border:0;border-radius:18px;box-shadow:0 14px 36px rgba(26,102,120,.11)}.theme-future .work-card__gallery{background:#113846;padding:6px}.theme-future .work-card__main img{aspect-ratio:16/9;max-height:24vh}.theme-future .work-card__controls{height:30px;grid-template-columns:34px 1fr 34px}.theme-future .work-card__controls button{height:26px;font-size:18px}.theme-future .work-card__thumbs{gap:4px;padding-top:4px}.theme-future .work-card__thumbs button{flex-basis:40px}.theme-future .work-card__body{padding:10px 13px}.theme-future .work-card__body>span{color:#087d8d;font-size:8px}.theme-future .work-card__body h4{font-size:15px;margin:3px 0 6px;line-height:1.3}.theme-future .work-card__body dl div{padding:3px 0}.theme-future .work-card__expand,.theme-future .work-card__count{bottom:6px;padding:4px 6px;font-size:8px}.theme-future .work-card__count{left:6px}.theme-future .work-card__expand{right:6px}
.theme-future .strengths{background:transparent;gap:14px}.theme-future .strengths article{background:white;border-radius:20px;box-shadow:0 14px 35px rgba(26,102,120,.09)}.theme-future .strengths span{color:#087d8d}.theme-future .process-card{background:linear-gradient(145deg,#087d8d,#126676);border-radius:22px}.theme-future .process-card b{color:#d8ef70}
.theme-future .section--careers{background:linear-gradient(155deg,#e8f8f6,#f5fbdd);color:#113846}.theme-future .section-head--light .section-index{border-color:#113846}.theme-future .section-head--light h2 em,.theme-future .section-head--light .eyebrow{color:#087d8d}.theme-future .section-head--light>p{color:#5f7279}
.theme-future .career-teaser{background:white;border:0;border-radius:24px;box-shadow:0 22px 60px rgba(26,102,120,.13)}.theme-future .career-teaser__copy>p{color:#5f7279}.theme-future .career-teaser__jobs span{border-color:rgba(17,56,70,.16);background:#effafa}.theme-future .button--career-sub{color:#087d8d;border-color:#087d8d;border-radius:999px}
.theme-future .job-switcher{border:0;background:white;border-radius:24px;overflow:hidden;box-shadow:0 22px 60px rgba(26,102,120,.13)}.theme-future .job-switcher__head .mini-label{color:#087d8d}.theme-future .job-tabs button{color:#365d68;border-color:rgba(17,56,70,.13);background:#f4fafb}.theme-future .job-tabs button[aria-selected="true"]{background:#087d8d;color:white}.theme-future .job-content>p{color:#5f7279}.theme-future .condition-grid{border-color:rgba(17,56,70,.14)}.theme-future .condition-grid dl{border-color:rgba(17,56,70,.14)}.theme-future .condition-grid dt{color:#65808a}.theme-future .income-tool{background:#e6f7fb;border-radius:18px}.theme-future .income-result{border-color:rgba(17,56,70,.15)}.theme-future .income-result span{color:#5f7279}.theme-future .income-result strong{color:#087d8d}.theme-future .income-tool small{color:#667d84}.theme-future .appeal-card{border-radius:22px;box-shadow:0 18px 48px rgba(26,102,120,.11)}.theme-future .button--accent{background:#f4cf55;border-radius:999px}.theme-future .faq-block{border-color:rgba(17,56,70,.2)}.theme-future .faq-block>div:first-child .mini-label{color:#087d8d}.theme-future .faq-block>div:first-child p,.theme-future .faq-list details p{color:#5f7279}.theme-future .faq-list details,.theme-future .faq-list details:last-child{border-color:rgba(17,56,70,.2)}.theme-future .faq-list summary span{color:#087d8d;border-color:rgba(17,56,70,.25)}.theme-future .faq-list summary i,.theme-future .faq-list summary i::after{background:#113846}
.theme-future footer{background:#dff2a6}.theme-future .mobile-actions button{background:#087d8d}.theme-future .mobile-actions a{background:#f4cf55}

@media (max-width:820px){
  .design-switches{margin-left:4px}.design-switch{padding:2px 7px;font-size:8px}.theme-future .notice{font-size:8px;gap:5px;flex-wrap:wrap}
  .theme-future .hero{min-height:auto;padding-top:22px}.theme-future .hero-brand__mark{width:46px;height:46px}.theme-future .hero-brand__name strong{font-size:14px}.theme-future .hero h1{max-width:none;font-size:clamp(38px,11vw,50px);margin:16px 0 12px}.theme-future .hero h1.hero__message{max-width:none;font-size:clamp(26px,7.4vw,34px);line-height:1.15;letter-spacing:-.055em}.theme-future .hero__lead{max-width:none;font-size:14px;line-height:1.7}.theme-future .future-pill{align-items:flex-start;flex-direction:column;gap:5px;margin-top:9px}
  .theme-future .future-hero-visual{position:relative;right:auto;top:auto;width:100%;height:190px;margin:20px 0 0;border-radius:18px}.theme-future .future-hero-visual figcaption{left:8px;bottom:8px;padding:4px 7px;font-size:7px}.theme-future .future-hero-visual__arrow{width:38px;height:38px;font-size:19px}
  .theme-future .path-grid{grid-template-columns:1fr;margin:18px 0;gap:8px}.theme-future .path-card{min-height:165px;padding:16px 15px;border-radius:16px}.theme-future .path-card--career{min-height:104px}.theme-future .path-card__number{right:10px;top:9px;font-size:30px}.theme-future .path-card__kicker{font-size:8px;margin-bottom:7px}.theme-future .path-card h2{font-size:clamp(22px,7vw,28px);margin-bottom:8px}.theme-future .path-card--career h2{font-size:20px}.theme-future .path-card>p:not(.path-card__kicker){display:none}.theme-future .path-card__link{padding-top:7px;font-size:11px}.theme-future .path-card__link span{font-size:16px}.theme-future .project-selector{border-radius:20px}.theme-future .works-head{margin-bottom:14px}.theme-future .works-head h3{font-size:32px}.theme-future .works-grid{grid-template-columns:1fr;gap:14px}.theme-future .work-card{border-radius:16px}.theme-future .work-card__main img{aspect-ratio:2/1;max-height:23vh}.theme-future .work-card__controls{height:28px}.theme-future .work-card__thumbs button{flex-basis:36px}.theme-future .work-card__body{padding:9px 12px}.theme-future .work-card__body h4{font-size:14px;margin-bottom:4px}.theme-future .job-switcher{border-radius:18px}
}

/* 信頼・清潔感・親しみやすさを軸にした相談導線の配色 */
html.theme-future{--ink:#16324f;--paper:#f7fafc;--cream:#eaf6f8;--line:rgba(22,50,79,.16);--accent:#2a9d8f;--orange:#f28c45;--muted:#5a6b78}
.theme-future body{background:#f7fafc;color:#16324f}
.theme-future .notice{background:#16324f;color:#fff}.theme-future .notice__dot{background:#f28c45}
.theme-future .site-header{background:rgba(255,255,255,.94);border-bottom-color:rgba(22,50,79,.1);box-shadow:0 8px 30px rgba(22,50,79,.08)}
.theme-future .nav-contact{background:#f28c45;color:#16324f;box-shadow:0 8px 20px rgba(242,140,69,.22)}.theme-future .desktop-nav a::after{background:#f28c45}
.theme-future .hero{background:radial-gradient(circle at 86% 8%,rgba(242,140,69,.15),transparent 24%),radial-gradient(circle at 12% 13%,rgba(42,157,143,.18),transparent 31%),linear-gradient(145deg,#edf8fb 0%,#fff 54%,#f7fbfc 100%);color:#16324f}
.theme-future .hero::before{border-color:rgba(31,122,140,.14);box-shadow:0 0 0 80px rgba(42,157,143,.04),0 0 0 160px rgba(242,140,69,.025)}
.theme-future .hero__grid{background-image:linear-gradient(rgba(31,122,140,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(31,122,140,.11) 1px,transparent 1px)}
.theme-future .hero-brand__mark{box-shadow:0 12px 35px rgba(22,50,79,.14)}.theme-future .hero-brand__name small{color:#587080}.theme-future .hero-brand__line{color:#1f7a8c;border-color:rgba(31,122,140,.3)}
.theme-future .hero h1 span{color:#1f7a8c}.theme-future .hero__lead{color:#4f6573}
.theme-future .future-pill{color:#16324f}.theme-future .future-pill span{background:#fce3d1;color:#8a451d}
.theme-future .future-hero-visual{box-shadow:0 30px 80px rgba(22,50,79,.2)}.theme-future .future-hero-visual__arrow{background:#f28c45;color:#16324f}.theme-future .future-hero-visual figcaption{color:#16324f}
.theme-future .path-card{box-shadow:0 20px 50px rgba(22,50,79,.13)}.theme-future .path-card--client{background:linear-gradient(145deg,#1f6f82,#24516f);color:#fff}.theme-future .path-card--career{background:#dceff1;color:#16324f}
.theme-future .hero__ticker{border-color:rgba(22,50,79,.15);color:#526b79}.theme-future .hero__ticker span{color:#f28c45}
.theme-future .section--services{background:linear-gradient(#fff,#eef7f9)}.theme-future .section-head h2 em,.theme-future .eyebrow,.theme-future .mini-label{color:#1f7a8c}
.theme-future .project-selector{box-shadow:0 24px 70px rgba(22,50,79,.13)}.theme-future .selector-head,.theme-future .project-tabs button{border-color:rgba(22,50,79,.13)}.theme-future .project-tabs button[aria-selected="true"]{background:#16324f}.theme-future .project-visual{background:linear-gradient(145deg,#dff3f6,#fff3e9)}.theme-future .project-visual::before{background:radial-gradient(circle at 25% 35%,rgba(242,140,69,.2),transparent 32%),linear-gradient(135deg,transparent 48%,rgba(31,122,140,.05) 49%,transparent 50%)}.theme-future .project-kicker{color:#1f7a8c}.theme-future .button--dark{background:#f28c45;color:#16324f;box-shadow:0 10px 22px rgba(242,140,69,.2)}
.theme-future .works-head{border-color:#1f7a8c}.theme-future .work-card{box-shadow:0 14px 36px rgba(22,50,79,.11)}.theme-future .work-card__gallery{background:#16324f}.theme-future .work-card__body>span{color:#1f7a8c}.theme-future .work-card__expand{background:#f28c45;color:#16324f}
.theme-future .strengths article{box-shadow:0 14px 35px rgba(22,50,79,.09)}.theme-future .strengths span{color:#1f7a8c}.theme-future .process-card{background:linear-gradient(145deg,#16324f,#1f6f82)}.theme-future .process-card b{color:#ffc28f}
.theme-future .section--careers{background:linear-gradient(155deg,#eaf5f7,#f7fafc);color:#16324f}.theme-future .section-head--light .section-index{border-color:#16324f}.theme-future .section-head--light h2 em,.theme-future .section-head--light .eyebrow{color:#1f7a8c}
.theme-future .career-teaser,.theme-future .job-switcher{box-shadow:0 22px 60px rgba(22,50,79,.12)}.theme-future .career-teaser__jobs span{background:#edf7f8}.theme-future .button--career-sub{color:#1f7a8c;border-color:#1f7a8c}.theme-future .job-switcher__head .mini-label{color:#1f7a8c}.theme-future .job-tabs button[aria-selected="true"]{background:#1f7a8c}.theme-future .income-tool{background:#eaf5f7}.theme-future .income-result strong{color:#1f7a8c}.theme-future .button--accent{background:#f28c45;color:#16324f}
.theme-future footer{background:#dceff1}.theme-future .mobile-actions button{background:#f28c45;color:#16324f}.theme-future .mobile-actions a{background:#16324f;color:#fff}
