/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#fff;--foreground:#111820;--muted:#667085;--line:#11182021;--panel:#fff;--soft:#f4f7fa;--blue:#087fce;--red:#e13d45}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--background)}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh;overflow-x:clip}.global-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border-bottom:1px solid #11182017;grid-template-columns:minmax(12rem,1fr) auto minmax(8rem,1fr);align-items:center;gap:2rem;width:100%;padding:1rem clamp(1rem,3vw,3rem);display:grid;position:fixed;top:0;left:0}.brand{white-space:nowrap;align-items:baseline;gap:.4rem;width:max-content;font-size:.78rem;font-weight:800;display:flex}.brand strong{color:var(--blue);font-size:1.8rem;line-height:1}.desktop-nav{color:#111820ad;align-items:center;gap:clamp(1rem,3vw,2.5rem);font-size:.82rem;display:flex}.desktop-nav a,.header-cta,.hero-actions a,.recruit-content a,.contact-box a{transition:color .18s,border-color .18s,background .18s,transform .18s}.desktop-nav a:hover{color:var(--blue)}.header-cta{border:1px solid #11182047;justify-self:end;padding:.72rem 1rem;font-size:.8rem}.header-cta:hover{border-color:var(--blue);background:#087fce14}.hero{isolation:isolate;align-items:center;min-height:92vh;padding:7.5rem clamp(1rem,6vw,6rem) 6rem;display:grid;position:relative}.hero-image,.recruit-image{z-index:-3;background-image:url(../img/hero-team.jpg);background-position:50%;background-size:cover;position:absolute;inset:0}.hero-overlay{z-index:-2;background:linear-gradient(90deg,#fffffffc 0%,#fffffff0 42%,#ffffff47 74%,#ffffff7a 100%),linear-gradient(#ffffff14 48%,#fff 100%);position:absolute;inset:0}.hero:after,.recruit:after{z-index:-1;content:"";background:linear-gradient(#0000,#fff);height:34%;position:absolute;inset:auto 0 0}.hero-content{max-width:58rem}.eyebrow,.section-kicker,.section-label{color:var(--blue);text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:800}.hero h1{max-width:11ch;margin:0;font-size:6.6rem;font-weight:900;line-height:.98}.hero h1 span{display:block}.hero-copy{color:#111820c7;max-width:37rem;margin:1.6rem 0 0;font-size:1.16rem;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2.4rem;display:flex}.hero-actions a,.recruit-content a{background:#ffffffe6;border:1px solid #1118203d;align-items:center;min-height:3.1rem;padding:.85rem 1.25rem;font-size:.9rem;display:inline-flex}.hero-actions a:first-child,.recruit-content a{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:700}.hero-actions a:hover,.recruit-content a:hover,.contact-box a:hover{transform:translateY(-2px)}.hero-strip{color:#111820ad;gap:.5rem;font-size:.7rem;display:flex;position:absolute;bottom:2rem;right:clamp(1rem,3vw,3rem)}.hero-strip span{background:#ffffffd6;border:1px solid #11182024;padding:.48rem .64rem}.section-band{border-top:1px solid var(--line);background:#fff}.about,.environment,.company,.footer{background:var(--soft)}.section-inner{width:min(1180px,100% - 2rem);margin:0 auto;padding:7rem 0}.statement-grid,.split,.message-panel,.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:5rem;display:grid}.statement h2,.about h2,.message h2,.section-heading h2,.story h2,.recruit h2,.contact h2{margin:0;font-size:4.2rem;font-weight:900;line-height:1.05}.statement p:last-child,.message-copy p,.recruit-content p,.contact-box p{color:#111820bd;margin:0;font-size:1.08rem;line-height:2}.commitment-card,.office-card{border:1px solid var(--line);background:var(--panel)}.commitment-card>span,.office-card>span{color:var(--red);font-weight:800}.commitment-card h3,.office-card h3{margin:.7rem 0 0;font-size:1.6rem}.commitment-card p{color:#111820ad;margin:1rem 0 0;line-height:1.8}.belief-orbit-section{min-height:230vh;position:relative}.belief-orbit-sticky{align-items:center;min-height:100vh;display:grid;position:sticky;top:0;overflow:hidden}.belief-orbit-inner{grid-template-columns:minmax(0,.82fr) minmax(34rem,1.18fr);align-items:center;gap:3rem;width:min(1180px,100% - 2rem);margin:0 auto;padding:6.5rem 0 2rem;display:grid}.belief-orbit-copy{z-index:5;position:relative}.belief-orbit-copy>p:last-child{color:#111820b3;max-width:34rem;margin:1.5rem 0 0;line-height:1.9}.belief-orbit-stage{perspective:75rem;min-height:36rem;position:relative}.belief-circle{z-index:2;text-align:center;will-change:top, left, transform;background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#ff3b1f,#ff7a00 45%,#e6003a) border-box;border:4px solid #0000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:21rem;height:21rem;padding:2.5rem;transition:top .76s cubic-bezier(.22,1,.36,1),left .76s cubic-bezier(.22,1,.36,1),transform .76s cubic-bezier(.22,1,.36,1),opacity .42s,box-shadow .76s;display:flex;position:absolute;top:11.5rem;left:50%;transform:translate(-50%);box-shadow:0 1.4rem 4rem #1b304c1f}.belief-circle:nth-child(2){background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#7a00c9,#ff2fa0 58%,#3e00b5) border-box}.belief-circle:nth-child(3){background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#00b3ff,#0077ff 52%,#4a00e0) border-box}.belief-circle--active{z-index:4;top:11.5rem;left:50%;transform:translate(-50%)scale(1);box-shadow:0 1.8rem 5rem #1b304c29}.belief-circle--left,.belief-circle--right{z-index:2;opacity:.94;top:1rem;transform:translate(-50%)scale(.56)}.belief-circle--left{left:24%}.belief-circle--right{left:76%}.belief-circle>span{color:var(--red);font-size:1.65rem;font-weight:900;line-height:1}.belief-circle>p{color:var(--blue);text-transform:uppercase;margin:.45rem 0 0;font-size:.82rem;font-weight:800}.belief-circle h3{margin:.8rem 0 0;font-size:2rem;line-height:1.2}.belief-circle>div{color:#111820ad;max-width:15rem;margin-top:1rem;font-size:.92rem;line-height:1.7}.message{background:#fff}.message-panel{position:relative}.message-copy{border-left:4px solid var(--blue);padding-left:2rem}.message-copy p+p{margin-top:1.4rem}.signature{color:var(--muted);gap:.35rem;margin-top:2rem;font-size:.86rem;display:grid}.signature strong{color:var(--foreground);font-size:1rem}.section-heading{max-width:54rem}.commitment-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3rem;display:grid}.commitment-card{min-height:17rem;padding:2rem}.commitment-card:nth-child(3n+2){border-top:4px solid var(--blue)}.commitment-card:nth-child(3n){border-top:4px solid var(--red)}.story{background:#fff}.story-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:5rem;display:grid}.story-heading{position:sticky;top:7rem}.story-heading>span{color:var(--red);margin-bottom:1.2rem;font-size:.78rem;font-weight:900;display:inline-block}.story-content{border-top:4px solid var(--blue);padding-top:2rem}.story-portrait{background:var(--soft);margin:0 0 2.4rem;overflow:hidden}.story-portrait img{aspect-ratio:2048/894;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.story-content>p{color:#111820b3;margin:0;line-height:1.9}.story-content>p+p{margin-top:1.2rem}.story-content .story-lead{color:var(--foreground);font-size:1.8rem;font-weight:900;line-height:1.45}.story-path{border-top:1px solid var(--line);margin-top:2.5rem}.story-path>div{border-bottom:1px solid var(--line);grid-template-columns:3.5rem minmax(11rem,.58fr) 1fr;align-items:start;gap:1.3rem;padding:1.6rem 0;display:grid}.story-path span{color:var(--red);font-size:1.35rem;font-weight:900}.story-path strong{font-size:1.08rem;line-height:1.55}.story-path p{color:#111820a8;margin:0;line-height:1.75}.story-footer{margin-top:2.5rem}.story-footer div>span{font-size:1.35rem;font-weight:900}.story-footer div>p{color:var(--muted);margin:.4rem 0 0;font-size:.78rem}.recruit{isolation:isolate;align-items:center;min-height:70vh;display:grid;position:relative}.recruit-image{filter:saturate(.7)}.recruit:before{z-index:-2;content:"";background:linear-gradient(90deg,#fff 0%,#fffffff0 42%,#ffffff38 100%),linear-gradient(#fff 0%,#0000 24%,#fff 100%);position:absolute;inset:0}.recruit-content{max-width:50rem}.recruit-content p{max-width:40rem;margin-top:1.5rem}.recruit-content a{margin-top:2rem}.company-heading>p:last-child{color:var(--muted);margin:1.2rem 0 0}.office-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem;display:grid}.office-card{min-height:13rem;padding:1.8rem}.office-card h3{font-size:1.22rem}.office-card address{color:#111820b3;margin-top:1rem;font-style:normal;line-height:1.7}.office-card a{color:var(--blue);margin-top:.9rem;font-size:1.35rem;font-weight:900;display:inline-block}.advisor-list{border-top:1px solid var(--line);margin-top:3rem}.advisor-list div{border-bottom:1px solid var(--line);grid-template-columns:minmax(12rem,.4fr) 1fr;gap:1rem;padding:1.2rem 0;display:grid}.advisor-list span{color:var(--muted);font-size:.82rem}.contact-grid{align-items:stretch}.contact-box{border-left:4px solid var(--red);gap:1rem;padding:1rem 0 1rem 2rem;display:grid}.contact-box a{width:max-content;color:var(--blue);font-size:3.2rem;font-weight:900}.contact-box span{color:var(--muted);font-size:.82rem}.footer{border-top:1px solid var(--line);color:#11182094}.footer-inner{justify-content:space-between;gap:1rem;padding-top:2rem;padding-bottom:2rem;font-size:.82rem;display:flex}.footer p{color:var(--foreground);margin:0;font-weight:800}@media (max-width:920px){.global-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.hero h1{font-size:4.4rem}.statement-grid,.split,.message-panel,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.statement h2,.about h2,.message h2,.section-heading h2,.story h2,.recruit h2,.contact h2{font-size:3rem}.commitment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-layout{grid-template-columns:1fr;gap:2.5rem}.story-heading{position:static}.belief-orbit-inner{grid-template-columns:1fr;gap:.5rem;padding-top:5.5rem}.belief-orbit-copy{max-width:42rem}.belief-orbit-stage{min-height:32rem}.belief-circle{width:18rem;height:18rem}.belief-circle--active{top:10.5rem}.belief-circle--left,.belief-circle--right{top:-.5rem}.commitment-card:nth-child(3n+2),.commitment-card:nth-child(3n){border-top:1px solid var(--line)}.commitment-card:nth-child(2n){border-top:4px solid var(--blue)}}@media (max-width:640px){.global-header{padding:.78rem 1rem}.brand strong{font-size:1.45rem}.header-cta{padding:.62rem .72rem}.hero{min-height:88vh;padding:6rem 1rem 7rem}.hero-overlay{background:linear-gradient(90deg,#fffffff7 0%,#ffffffd1 72%,#ffffff80 100%),linear-gradient(#fff3 44%,#fff 100%)}.hero h1{font-size:3rem}.hero-copy{font-size:1rem}.hero-strip{left:1rem;right:1rem;overflow-x:auto}.section-inner{width:min(100% - 2rem,1180px);padding:4.5rem 0}.statement h2,.about h2,.message h2,.section-heading h2,.story h2,.recruit h2,.contact h2{font-size:2.35rem}.commitment-grid,.office-grid{grid-template-columns:1fr}.story-content .story-lead{font-size:1.4rem}.story-portrait{margin-bottom:1.8rem}.story-portrait img{aspect-ratio:4/3;object-position:70% center}.story-path>div{grid-template-columns:2.5rem 1fr;gap:.8rem}.story-path p{grid-column:2}.belief-orbit-section{min-height:210vh}.belief-orbit-sticky{min-height:100svh}.belief-orbit-inner{width:min(100% - 2rem,1180px);padding:4.5rem 0 1rem}.belief-orbit-copy>p:last-child{margin-top:1rem;font-size:.9rem;line-height:1.7}.belief-orbit-stage{min-height:25rem}.belief-circle{border-width:3px;width:14rem;height:14rem;padding:1.5rem}.belief-circle--active{top:9rem}.belief-circle--left,.belief-circle--right{top:0;transform:translate(-50%)scale(.56)}.belief-circle--left{left:20%}.belief-circle--right{left:80%}.belief-circle h3{margin-top:.5rem;font-size:1.35rem}.belief-circle>div{margin-top:.7rem;font-size:.74rem;line-height:1.55}.commitment-card{min-height:14rem}.message-copy,.contact-box{padding-left:1.2rem}.advisor-list div{grid-template-columns:1fr;gap:.4rem}.contact-box a{font-size:2rem}.footer-inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){.belief-circle{transition:none}}


/* ===== ZERO TO HERO ファーストビュー（2026-08-06 差し替え・確定FV準拠） ===== */
.zth-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:7rem 4vw 4vw;background:#fff;overflow:hidden}
.zth-wall{display:flex;gap:2vw;align-items:stretch;justify-content:center;width:100%}
.zth-word{font-weight:900;font-family:"Arial Black","Helvetica Neue",sans-serif;letter-spacing:-.04em;line-height:.82;text-transform:uppercase;color:transparent;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-size:300% 300%;user-select:none}
.zth-vertical{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(90px,24vw,340px)}
.zw1{background-image:linear-gradient(140deg,#ff3b1f,#ff7a00,#e6003a,#ff3b1f,#b8005c,#ff7a00);animation:zthflow 9s ease-in-out infinite}
.zw2{background-image:linear-gradient(220deg,#7a00c9,#ff2fa0,#3e00b5,#c400ff,#7a00c9);animation:zthflow 11s ease-in-out infinite reverse}
.zw3{background-image:linear-gradient(160deg,#00b3ff,#4a00e0,#00e0c6,#0077ff,#7a00c9,#00b3ff);animation:zthflow 10s ease-in-out infinite}
@keyframes zthflow{0%{background-position:0% 0%}50%{background-position:100% 100%}100%{background-position:0% 0%}}
.zth-copy{position:absolute;left:6vw;bottom:8vh;max-width:560px;z-index:2}
.zth-en{font-weight:900;font-size:clamp(13px,1.2vw,16px);letter-spacing:.28em;color:#111820;text-transform:uppercase;margin:0 0 1rem}
.zth-catch{margin:0;font-size:clamp(26px,2.7vw,40px);font-weight:900;line-height:1.5;letter-spacing:.04em;color:#111820}
.zth-catch span{display:block}
.zth-ja{color:#333;font-size:clamp(13px,1.3vw,16px);line-height:2;font-weight:600;margin:1rem 0 0}
.zth-en,.zth-catch,.zth-ja{text-shadow:0 0 8px #fff,0 0 16px #fff,0 0 32px #fff,0 0 48px #fff}
.zth-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.zth-cta{display:inline-block;padding:14px 38px;background:#111820;color:#fff;font-weight:700;font-size:14px;letter-spacing:.18em;border-radius:999px;transition:transform .25s,background .25s,color .25s,border-color .25s}
.zth-cta:hover{transform:translateY(-2px);background:#ff3b1f;color:#fff}
.zth-cta--ghost{background:#fff;color:#111820;border:1px solid #11182047}
.zth-cta--ghost:hover{background:#fff;color:#ff3b1f;border-color:#ff3b1f}
@media (prefers-reduced-motion:reduce){.zth-word{animation:none}}
@media (max-width:640px){
.zth-hero{flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100svh;padding:6.5rem 1rem 3rem}
.zth-wall{flex-direction:column;gap:0;align-items:flex-start}
.zth-vertical{writing-mode:horizontal-tb;transform:none;font-size:clamp(70px,24vw,120px)}
.zth-copy{position:static;margin-top:2.2rem}
}


/* ===== FV背景スライドショー（2026-08-06 追加） ===== */
.zth-bg{position:fixed;top:0;left:0;width:100%;height:100svh;z-index:0}
.zth-bg-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.8s ease}
.zth-bg-img.is-active{opacity:1}
.zth-veil{position:fixed;top:0;left:0;width:100%;height:100svh;z-index:0;background:linear-gradient(180deg,#ffffffc2 0%,#ffffffa8 55%,#ffffffdb 100%)}
.zth-wall{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.zth-bg-img{transition:none}}


/* ===== 働く環境カード: パステル巨大数字（イラレ版デザイン準拠・2026-08-06） ===== */
.commitment-grid{border:none;background:none;gap:1.6rem;margin-top:3rem}
.commitment-grid .commitment-card{position:relative;overflow:hidden;background:#fff;border:none;border-radius:0;box-shadow:0 14px 32px rgba(30,40,60,.10);min-height:230px;padding:1.9rem 1.4rem 1.6rem 36%}
.commitment-grid .commitment-card:nth-child(3n+2),.commitment-grid .commitment-card:nth-child(3n),.commitment-grid .commitment-card:nth-child(2n){border-top:none}
.commitment-grid .commitment-card>span{position:absolute;z-index:0;left:-30px;bottom:-58px;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:210px;line-height:1;letter-spacing:0}
.commitment-grid .commitment-card:nth-child(1)>span{color:#FFB5A7}
.commitment-grid .commitment-card:nth-child(2)>span{color:#F4A6CD}
.commitment-grid .commitment-card:nth-child(3)>span{color:#DB9DEE}
.commitment-grid .commitment-card:nth-child(4)>span{color:#BCB0F1}
.commitment-grid .commitment-card:nth-child(5)>span{color:#A1C4FF}
.commitment-grid .commitment-card:nth-child(6)>span{color:#8CDDEE;bottom:-100px}
.commitment-grid .commitment-card>span::after{content:none}
.commitment-grid .commitment-card h3{position:relative;z-index:1;margin:0 0 .8rem;font-size:1.45rem;font-weight:900;letter-spacing:.02em}
.commitment-grid .commitment-card p{position:relative;z-index:1;margin:0;font-size:.85rem;line-height:1.75;color:#6e747c}
@media (max-width:920px){
.commitment-grid .commitment-card{padding-left:32%}
}
@media (max-width:640px){
.commitment-grid{gap:1.4rem}
.commitment-grid .commitment-card{min-height:185px;padding:1.6rem 1.2rem 1.4rem 34%}
.commitment-grid .commitment-card>span{font-size:170px;bottom:-46px;left:-24px}
.commitment-grid .commitment-card:nth-child(6)>span{bottom:-82px}
}


/* ===== 働く環境セクションの背景: 水彩テクスチャ（2026-08-06） ===== */
.environment{background:#f4f7fa url(../img/env-bg.jpg) center/cover no-repeat}
.belief-orbit-sticky{background:#f4f7fa url(../img/env-bg.jpg) center/cover no-repeat}


/* ===== FV文字のブラー出現（global-p.com/recruit と同一パラメータ・2026-08-06） ===== */
.gp-blur{opacity:0;filter:blur(100px);-webkit-filter:blur(100px);
transition:opacity .8s cubic-bezier(.19,1,.22,1) .2s,filter .8s cubic-bezier(.19,1,.22,1) .2s,-webkit-filter .8s cubic-bezier(.19,1,.22,1) .2s}
.gp-blur.is-show{opacity:1;filter:blur(0);-webkit-filter:blur(0)}
.zth-copy.gp-blur{transition-delay:.5s}
@media (prefers-reduced-motion:reduce){.gp-blur{transition:none;opacity:1;filter:none;-webkit-filter:none}}


/* ===== 二重スライド（背景固定パララックス・2026-08-06） =====
   FVの背景写真は画面に固定し、文字と後続セクションが上に滑って重なる */
.site-shell>section:not(.zth-hero),.site-shell>footer{position:relative;z-index:2}
.site-shell>.zth-hero{z-index:1}


/* ===== OUR PURPOSEセクションの背景: ビル写真（2026-08-06） ===== */
.statement{background:linear-gradient(rgba(10,16,28,.62),rgba(10,16,28,.62)),url(../img/statement-bg.jpg) center/cover no-repeat}
.statement h2{color:#fff}
.statement .section-kicker{color:#8ec8ff}
.statement p:last-child{color:rgba(255,255,255,.9)}


.company-page-title{background:#fff;padding:9.5rem clamp(1rem,3vw,3rem) 0}
.company-page-title .section-inner{padding:0 0 3.5rem}
.company-page-title h2{margin:0;font-size:4.2rem;font-weight:900;line-height:1.05}
@media (max-width:640px){.company-page-title h2{font-size:2.35rem}}


/* ===== モバイルUI余白調整（2026-08-07 オーナー指示「FV以外が窮屈」） ===== */
@media (max-width:640px){
/* 左右の余白を1rem→1.6remへ・セクション上下も拡大 */
.section-inner{width:calc(100% - 3.2rem);padding:5.2rem 0}
.belief-orbit-inner{width:calc(100% - 3.2rem)}
/* 見出しまわりに空気を */
.section-kicker,.section-label{margin-bottom:1.2rem}
.statement h2,.about h2,.message h2,.section-heading h2,.story h2,.recruit h2,.contact h2{line-height:1.35}
/* 2カラム崩しのgapを拡大 */
.statement-grid,.split,.message-panel,.contact-grid{gap:3rem}
/* 代表メッセージ引用の内側余白 */
.message-copy{padding:.2rem .4rem .2rem 1.6rem}
/* 働く環境カードの内側余白 */
.commitment-grid{gap:3.2rem}
.commitment-grid .commitment-card{min-height:200px;padding:2rem 1.5rem 1.9rem 34%}
/* Mediaリストの行間 */
.media-grid{gap:2.6rem;margin-top:2.6rem}
/* 拠点カード・問い合わせ・フッター */
.office-grid{gap:1.4rem;margin-top:2.6rem}
.office-card{padding:2rem 1.7rem}
.contact-box{padding:1.2rem .2rem 1.2rem 1.6rem;gap:1.2rem}
.footer-inner{padding-top:2.6rem;padding-bottom:2.6rem;gap:1.4rem}
/* 採用CTA・会社概要ボタンの上余白 */
.recruit-content a{margin-top:2.4rem}
.company-more{margin-top:2.6rem}
}


/* ===== セクション縦圧縮（2026-08-07 オーナー指示「各セクションを短く」） ===== */
.section-inner{padding:4.5rem 0}
.belief-orbit-section{min-height:150vh}
.belief-orbit-inner{padding:4rem 0 1rem}
.recruit{min-height:52vh}
.commitment-grid{margin-top:3rem}
.media-grid{margin-top:2.4rem}
.office-grid{margin-top:2.4rem}
@media (max-width:640px){
.section-inner{padding:4.2rem 0}
.belief-orbit-section{min-height:140vh}
}


/* ===== 本文タイポグラフィ改善（2026-08-07 recruit.co.jp水準・Noto Sans JP） ===== */
body{color:#2D3133;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
p,address,li{letter-spacing:.03em}
.statement p:last-child,.message-copy p,.recruit-content p,.contact-box p,.empathy-close,.media-lead{line-height:2.05}
.commitment-card p,.office-card address,.belief-circle>div{line-height:1.85}


/* 本文サイズ縮小（2026-08-07 オーナー指示） */
.statement p:last-child,.message-copy p,.recruit-content p,.contact-box p{font-size:.98rem}
.belief-orbit-copy>p:last-child,.media-lead{font-size:.94rem}
.empathy-lines p{font-size:1.12rem}
.empathy-close{font-size:.95rem}
.story-content>p{font-size:.95rem}
.commitment-card p{font-size:.82rem}
.office-card address{font-size:.92rem}


/* ===== 自然な日本語改行（2026-08-07） =====
   auto-phrase: 文節の切れ目で折り返す（Chrome系）/ balance: 見出しの行長を均等に */
.site-shell h1,.site-shell h2,.site-shell h3{text-wrap:balance}
.site-shell h1,.site-shell h2,.site-shell h3,.site-shell p,.site-shell address,.site-shell strong{word-break:auto-phrase;line-break:strict}


/* ===== モバイル本文をrecruit.co.jp基準に（16px・行間2.0）2026-08-07 ===== */
@media (max-width:640px){
.statement p:last-child,.message-copy p,.recruit-content p,.contact-box p,.belief-orbit-copy>p:last-child,.media-lead,.empathy-close,.story-content>p{font-size:1rem;line-height:2}
.empathy-lines p{font-size:1.06rem;line-height:1.9}
.commitment-card p{font-size:.9rem;line-height:1.9}
.office-card address{font-size:.95rem;line-height:1.85}
.media-card h3{font-size:.95rem}
}


/* 会社概要ページ: 見出し二重解消（2026-08-07） */
.company-rep{margin:0 0 .5rem;color:var(--muted);font-size:.95rem}
.company .office-grid{margin-top:1.6rem}


/* ===== 拠点一覧: recruit.co.jp事業所一覧スタイル（2026-08-07） ===== */
.company-page-title{background:#F3F5FA}
.company-page-title h2{color:var(--blue)}
.company-page-title .section-inner{padding-bottom:3rem}
.company-lead{margin:1.4rem 0 0;line-height:2;color:#111820c7}
.company{background:#fff}
.office-list{margin-top:2.4rem}
.office-item{margin-top:2.8rem}
.office-item h3{margin:0;background:#F3F5FA;padding:1.15rem 1.4rem;font-size:1.05rem;font-weight:700}
.office-item address{margin:1.3rem 1.4rem .4rem;font-style:normal;line-height:1.9;color:#111820}
.office-tel{margin:.2rem 1.4rem}
.office-tel a{color:var(--blue);font-weight:700}
.office-map{display:inline-flex;align-items:center;gap:.6rem;margin:.6rem 1.4rem 0;color:#111820;font-weight:700;font-size:.95rem;text-decoration:none}
.office-map-ic{width:1.9rem;height:1.9rem;border:1px solid var(--blue);color:var(--blue);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:400;transition:background .18s,color .18s}
.office-map:hover .office-map-ic{background:var(--blue);color:#fff}
.office-map:hover{color:var(--blue)}


/* ===== スクロール連動リビール（2026-08-07 JS動き付け） ===== */
.js-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.19,1,.22,1),transform .9s cubic-bezier(.19,1,.22,1)}
.js-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-reveal{opacity:1;transform:none;transition:none}}


/* ラベル二層デザイン 共通（2026-08-07） */
.fz-mark{position:relative;display:block;margin-bottom:1.2rem}
.fz-mark .section-kicker,.fz-mark .section-label{position:relative;z-index:1;margin:0;font-size:1.02rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900}
.fz-script{position:absolute;left:3.2rem;top:50%;transform:translateY(-50%);height:110px;width:auto;pointer-events:none;z-index:0}
.statement .fz-script{opacity:.4}
.recruit .fz-script{opacity:.75}
@media (max-width:640px){.fz-script{height:80px;left:2.2rem}.fz-mark .section-kicker,.fz-mark .section-label{font-size:.92rem}}


/* モバイル本文サイズ縮小（2026-08-07 オーナー指示「文字が大きい」） */
@media (max-width:640px){
.statement p:last-child,.message-copy p,.recruit-content p,.contact-box p,.belief-orbit-copy>p:last-child,.media-lead,.empathy-close,.story-content>p{font-size:.9rem;line-height:1.9}
.empathy-lines p{font-size:.98rem;line-height:1.8}
.commitment-card p{font-size:.85rem;line-height:1.8}
.office-card address,.office-item address{font-size:.9rem;line-height:1.8}
.media-card h3{font-size:.88rem;line-height:1.6}
.mini-row{font-size:.9rem}
.media-card time{font-size:.74rem}
.media-cat{font-size:.62rem}
}


/* モバイル本文: recruit.co.jp基準の最終調整（2026-08-07 本文16px・脇役は小さく） */
@media (max-width:640px){
.statement p:last-child,.message-copy p,.recruit-content p,.belief-orbit-copy>p:last-child,.media-lead,.empathy-close,.story-content>p{font-size:1rem;line-height:2}
.empathy-lines p{font-size:1rem;line-height:1.85}
.media-card h3{font-size:.92rem;line-height:1.65}
.mini-row{font-size:.95rem}
.commitment-card p{font-size:.85rem}
}


/* ===== 本文タイポグラフィ統一（2026-08-07 recruit実測: PC16px/SP15px・lh1.75） ===== */
.statement p:last-child,.belief-orbit-copy>p:last-child,.media-lead,.recruit-content p,.empathy-close,.message-copy p,.story-content>p,.company-lead{font-size:16px;line-height:1.75;letter-spacing:.05em;color:#2D3133}
.statement p:last-child{color:rgba(255,255,255,.92)}
.empathy-lines p{font-size:16px;line-height:1.75;letter-spacing:.05em}
.commitment-card p,.office-card address,.office-item address{font-size:14px;line-height:1.75;letter-spacing:.04em}
.advisor-list span{font-size:13px}
@media (max-width:640px){
.statement p:last-child,.belief-orbit-copy>p:last-child,.media-lead,.recruit-content p,.empathy-close,.message-copy p,.story-content>p,.company-lead{font-size:15px;line-height:1.75}
.empathy-lines p{font-size:15px}
.commitment-card p,.office-card address,.office-item address{font-size:13.5px}
.media-card h3{font-size:14px;line-height:1.65}
}


/* ===== モバイル ハンバーガーメニュー（2026-08-07） ===== */
.nav-toggle{display:none;position:relative;z-index:60;width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.nav-toggle span{display:block;width:26px;height:2px;background:#111820;transition:transform .3s cubic-bezier(.7,0,.3,1),opacity .2s}
.nav-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;z-index:50;background:#fff;transform:translateY(-100%);transition:transform .5s cubic-bezier(.7,0,.3,1);overflow-y:auto;visibility:hidden}
.mobile-nav.is-open{transform:none;visibility:visible}
.mobile-nav-inner{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:6.5rem 2rem 3rem}
.mobile-nav a{display:block;padding:1.05rem 0;border-bottom:1px solid var(--line);font-size:1.28rem;font-weight:900;color:#111820;text-decoration:none;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s cubic-bezier(.7,0,.3,1),color .2s}
.mobile-nav.is-open a{opacity:1;transform:none}
.mobile-nav.is-open a:nth-child(1){transition-delay:.12s}
.mobile-nav.is-open a:nth-child(2){transition-delay:.18s}
.mobile-nav.is-open a:nth-child(3){transition-delay:.24s}
.mobile-nav.is-open a:nth-child(4){transition-delay:.30s}
.mobile-nav.is-open a:nth-child(5){transition-delay:.36s}
.mobile-nav a span{display:block;margin-top:.2rem;font-size:.68rem;font-weight:700;letter-spacing:.12em;color:var(--blue)}
.mobile-nav a:active{color:var(--blue)}
.mobile-nav-cta{margin-top:2.2rem;display:inline-block;padding:1.05rem 2.4rem;background:#111820;color:#fff!important;border-radius:999px;font-size:.95rem;font-weight:700;text-align:center;border-bottom:none!important}
body.nav-locked{overflow:hidden}
@media (max-width:920px){.nav-toggle{display:flex}}
@media (max-width:560px){.global-header .header-cta{display:none}}
@media (prefers-reduced-motion:reduce){.mobile-nav,.mobile-nav a,.nav-toggle span{transition:none}}


/* ハンバーガー配置修正: ヘッダー右端に収める（2026-08-07） */
@media (max-width:920px){
.global-header{display:flex;align-items:center;gap:.9rem}
.global-header .brand{margin-right:auto}
.global-header .header-cta{justify-self:auto}
.nav-toggle{margin-right:-6px}
}

/* ===== セクション見出しを一段細く（2026-08-10 オーナー指示） =====
   900（最太）→800。FVの「才能に、学歴も経験もいらない。」(.zth-catch) は900のまま。 */
.section-heading h2,
.statement h2,
.belief-orbit-copy h2,
.story h2,
.story-heading h2,
.about h2,
.message h2,
.recruit h2,
.contact h2,
.company-page-title h2,
.recruit-page-title h2{font-weight:800}

/* ===== 見出しをもう一段細く＋字間を少し広げる（2026-08-10 オーナー指示） =====
   800→700。あわせて「中卒・土木作業員から、支部長兼人事へ。」(.story-lead) も同じ扱いに。
   FVの「才能に、学歴も経験もいらない。」(.zth-catch) は900のまま。 */
.section-heading h2,
.statement h2,
.belief-orbit-copy h2,
.story h2,
.story-heading h2,
.about h2,
.message h2,
.recruit h2,
.contact h2,
.company-page-title h2,
.recruit-page-title h2{font-weight:700;letter-spacing:.06em}
.story-lead{font-weight:700;letter-spacing:.06em}

/* ===== メニューの文字を細く（2026-08-10 オーナー指示） ===== */
.mobile-nav a{font-weight:700;letter-spacing:.06em}
.mobile-nav a span{font-weight:600}
.mobile-nav .mobile-nav-cta{font-weight:700}
.desktop-nav a{font-weight:500}
