:root{--navy:#00466e;--deep:#052f49;--ink:#19222d;--body:#243447;--muted:#667085;--pale:#eaf4fa;--red:#d90d25;--teal:#00a0a6;--green:#3c9d2f;--orange:#f28c00}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--body);font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}.wrap{width:min(1200px,calc(100% - 88px));margin-inline:auto}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:92px;display:flex;align-items:center;padding:0 4.5vw;border-bottom:1px solid rgba(255,255,255,.28);color:#fff}.logo{width:210px}nav{display:flex;gap:28px;margin-left:auto}.site-header nav a,.contact-link{font-size:11px;font-weight:700;letter-spacing:.08em}.contact-link{margin-left:28px;border:1px solid rgba(255,255,255,.6);padding:14px 18px}.mobile-menu{display:none}.hero{position:relative;min-height:100svh;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 55%}.hero-shade{background:linear-gradient(90deg,rgba(4,23,37,.84),rgba(4,30,48,.55) 48%,rgba(0,36,60,.05) 78%),linear-gradient(0deg,rgba(0,28,46,.55),transparent 45%)}.hero-copy{position:relative;z-index:2;padding-top:31vh;padding-bottom:14vh}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;margin:0 0 24px}.hero h1{font-size:clamp(40px,4.2vw,68px);line-height:1.42;letter-spacing:.03em;margin:0 0 25px;color:#fff}.lead{font-size:16px;line-height:2;margin:0}.hero-actions{display:flex;gap:12px;margin-top:40px}.hero-actions a{border:1px solid rgba(255,255,255,.7);padding:16px 24px;font-size:13px;font-weight:700}.hero-actions .filled{background:#fff;color:var(--navy)}.hero-index{position:absolute;z-index:2;right:4.5vw;bottom:40px;display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl}.hero-index i{height:70px;width:1px;background:rgba(255,255,255,.75)}
.section{padding:150px 0}.section-no{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--navy);margin:0 0 48px}.section-no.light{color:#7cc8e5}h2{font-size:clamp(36px,4.1vw,62px);line-height:1.42;letter-spacing:.01em;color:var(--ink);margin:0}h2 em{font-style:normal;color:var(--navy)}.two-col,.section-head{display:grid;grid-template-columns:1.02fr .98fr;gap:10vw}.identity-copy{padding-top:10px}.identity-copy .large,.large{font-size:20px;line-height:1.9;color:var(--ink);font-weight:600}.identity-copy>p:not(.large){line-height:2}.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border-top:1px solid #ccd6dd}.facts div{padding:26px 14px 0 0;border-right:1px solid #ccd6dd}.facts b{display:block;font-size:28px;color:var(--navy)}.facts span{font-size:11px;color:var(--muted)}
.evolution{background:var(--pale)}.section-head>p{line-height:2;margin-top:10px}.evolution-line{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border-top:2px solid #bdd2df}.evolution-line article{position:relative;padding:28px 20px 36px;border-right:1px solid #bdd2df}.evolution-line article:before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:#7aa2b9}.evolution-line span{font-size:10px}.evolution-line b{display:block;font-size:22px;color:var(--navy);margin:26px 0 8px}.evolution-line p{font-size:13px}.evolution-line .current{background:var(--navy);color:#fff}.evolution-line .current:before{background:var(--red)}.evolution-line .current b{color:#fff}
.business{background:#062f48;color:#fff}.business h2{color:#fff}.business .section-head>p{color:#c8dbe6}.business-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:76px;border-top:1px solid #477086}.business-grid a{position:relative;min-height:300px;padding:30px 24px;border-right:1px solid #477086;transition:.25s}.business-grid a:hover{background:#0b4668}.business-grid span{font-size:10px;color:#7cc8e5}.business-grid h3{font-size:23px;margin:48px 0 8px}.business-grid b{font-size:13px}.business-grid p{font-size:12px;line-height:1.8;color:#bcd0dc}.business-grid i{position:absolute;bottom:28px;right:25px;font-style:normal;font-size:18px}
.bess-visual{position:relative;height:78vh;min-height:650px;color:#fff}.bess-visual>img{width:100%;height:100%;object-fit:cover}.bess-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,49,.8),rgba(3,31,49,.08))}.visual-copy{position:absolute;z-index:2;left:0;right:0;top:50%;transform:translateY(-50%)}.visual-copy h2{color:#fff}.visual-copy>p:last-child{margin-top:24px}.bess-flow{padding:85px 0 130px}.flow-intro{display:flex;justify-content:space-between;border-bottom:1px solid #cdd7dd;padding-bottom:30px}.flow-intro a{font-size:13px;color:var(--navy);font-weight:700}.flow-grid{display:grid;grid-template-columns:repeat(5,1fr)}.flow-grid article{padding:35px 22px;border-right:1px solid #d8e1e6}.flow-grid span{font-size:10px;color:var(--muted)}.flow-grid b{display:block;font-size:30px;color:var(--navy);margin:25px 0 4px}.flow-grid h3{font-size:15px}.flow-grid p{font-size:12px;line-height:1.75;color:var(--muted)}
.control-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:32px}.control-layout>div:first-child{padding-right:5vw}.control-layout h2{font-family:Arial,sans-serif;font-weight:800;letter-spacing:-.03em}.control-layout h2 i{color:var(--teal);font-style:normal}.control-layout img{width:100%;height:480px;object-fit:cover}.capabilities{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--navy)}.capabilities div{padding:28px 18px;border-right:1px solid #d2dbe1}.capabilities b,.capabilities span{display:block}.capabilities b{color:var(--navy);font-size:18px}.capabilities span{margin-top:12px;font-size:12px;line-height:1.7}
.construction{display:grid;grid-template-columns:1fr 1fr;background:#042e47;color:#fff}.construction-photo img{width:100%;height:100%;min-height:760px;object-fit:cover}.construction-copy{padding:120px 7vw}.construction h2{color:#fff}.construction-copy>p:not(.section-no){line-height:2;margin-top:30px}.construction blockquote{font-size:23px;border-left:3px solid var(--orange);margin:55px 0;padding:10px 0 10px 22px}.build-flow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;border-top:1px solid #477086;padding-top:32px}.build-flow span{font-weight:700}.build-flow i{font-style:normal;color:#6ba6c5}
.aidc{background:linear-gradient(135deg,#fff 55%,#e9f6f7)}.aidc-copy{max-width:860px}.eyebrow.dark{color:var(--teal);margin-bottom:25px}.aidc-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border-top:2px solid var(--teal)}.aidc-steps article{padding:30px 18px;border-right:1px solid #b7d9db}.aidc-steps span{font-size:10px}.aidc-steps b{display:block;font-size:28px;color:var(--navy);margin:35px 0 6px}.aidc-steps p{font-size:13px}.note{font-size:11px;color:var(--muted);margin-top:28px}
.strengths{background:#19222d;color:#fff}.strengths h2{color:#fff}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:80px}.strength-grid article{border-top:1px solid #54606b;padding-top:26px}.strength-grid span{font-size:11px;color:#7cc8e5}.strength-grid h3{font-size:21px;margin-top:35px}.strength-grid p{font-size:13px;line-height:1.9;color:#c5ccd2}
.message{display:grid;grid-template-columns:1.05fr .95fr;min-height:780px}.message>img{width:100%;height:100%;object-fit:cover}.message-copy{padding:120px 7vw}.message-copy>p:not(.section-no){line-height:2.1;margin-top:38px}.message-copy>a{display:inline-block;margin-top:30px;color:var(--navy);font-weight:700;font-size:13px}
.company{background:#f5f8fb}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.company h2{font-size:38px}.licenses{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}.licenses span{border:1px solid #9eb0bc;padding:10px 14px;font-size:11px}dl{margin:0}dl>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid #cad5dc;padding:18px 0;font-size:13px}dt{font-weight:700;color:var(--navy)}dd{margin:0;line-height:1.8}dd small{color:var(--red)}
.contact{padding:115px 0;background:var(--navy);color:#fff}.contact p{font-size:11px;letter-spacing:.16em}.contact h2{color:#fff;font-size:clamp(30px,3.5vw,48px);margin-top:22px}.contact a{display:flex;justify-content:space-between;align-items:center;margin-top:55px;border-top:1px solid #6d9bb6;padding-top:28px;font-size:17px;font-weight:700}.contact a span{font-size:26px}footer{background:#031f31;color:#fff;padding:70px 0 35px}footer .wrap{display:grid;grid-template-columns:1fr 1fr;gap:30px}footer img{width:220px}footer p{margin:0;line-height:1.8}footer div>div{display:flex;gap:24px;grid-column:1/-1;border-top:1px solid #37566a;padding-top:28px;font-size:11px;letter-spacing:.08em}footer small{grid-column:1/-1;color:#7890a0}
@media(max-width:900px){.wrap{width:min(100% - 44px,700px)}.site-header{height:72px;padding:0 22px}.logo{width:160px}.site-header nav,.contact-link{display:none}.mobile-menu{display:block;margin-left:auto;position:relative}.mobile-menu summary{font-size:11px;letter-spacing:.1em;cursor:pointer}.mobile-menu div{position:absolute;right:0;top:25px;background:#fff;color:var(--ink);padding:20px;display:grid;gap:14px;width:220px}.hero-copy{padding-top:24vh}.hero h1{font-size:clamp(34px,9vw,49px)}.lead br{display:none}.hero-actions{flex-direction:column;align-items:flex-start}.hero-image{object-position:58% center}.section{padding:95px 0}.section-no{margin-bottom:35px}.two-col,.section-head,.control-layout,.construction,.message,.company-grid{grid-template-columns:1fr;gap:45px}.facts{grid-template-columns:1fr 1fr}.facts div{padding-bottom:20px}.evolution-line,.business-grid,.flow-grid,.aidc-steps{grid-template-columns:1fr 1fr}.business-grid a{min-height:240px}.bess-visual{height:70vh;min-height:580px}.flow-intro{display:block}.flow-intro a{display:inline-block;margin-top:15px}.control-layout img{height:360px}.capabilities{grid-template-columns:1fr 1fr}.construction-photo img{min-height:480px}.construction-copy{padding:80px 22px}.strength-grid{grid-template-columns:1fr;gap:35px}.message>img{height:480px}.message-copy{padding:80px 22px}footer .wrap{grid-template-columns:1fr}.contact h2 br{display:none}}
@media(max-width:560px){.wrap{width:calc(100% - 36px)}h2{font-size:34px}.evolution-line,.business-grid,.flow-grid,.aidc-steps{grid-template-columns:1fr}.business-grid a{min-height:215px}.flow-grid article{border-bottom:1px solid #d8e1e6}.capabilities{grid-template-columns:1fr}.facts{gap:0}.facts b{font-size:22px}.bess-visual{min-height:560px}.visual-copy h2{font-size:40px}.control-layout img{height:300px}.build-flow{gap:9px}.message>img{height:360px}dl>div{grid-template-columns:1fr;gap:7px}footer .wrap{display:block}footer p,footer div>div,footer small{margin-top:28px}.hero-actions a{width:100%;text-align:center}}

/* 支給ロゴの色は変更しない */
footer img{background:#fff;padding:8px 12px}

/* 下層ページ */
.detail-header{height:84px;display:flex;align-items:center;padding:0 4.5vw;background:#fff;border-bottom:1px solid #dce4e9;position:relative;z-index:10}.detail-header img{width:190px}.detail-header nav{margin-left:auto;display:flex;gap:26px}.detail-header nav a,.detail-contact{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--ink)}.detail-contact{margin-left:26px;padding:13px 17px;background:var(--navy);color:#fff}.detail-hero{height:680px;position:relative;color:#fff}.detail-hero>img,.detail-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-overlay{background:linear-gradient(90deg,rgba(3,28,44,.85),rgba(3,35,55,.42) 62%,rgba(3,35,55,.08))}.detail-hero>.wrap{position:relative;z-index:2;padding-top:200px}.detail-hero p{font-size:11px;letter-spacing:.2em;font-weight:700;color:#83d0df}.detail-hero h1{font-size:clamp(43px,5vw,72px);line-height:1.38;margin:22px 0;color:#fff}.detail-hero span{font-size:15px;line-height:1.9}.detail-intro,.detail-section{padding:130px 0}.detail-two{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.detail-prose{padding-top:55px;line-height:2}.detail-prose .large{margin-top:0}.detail-prose h3{color:var(--navy);margin-top:30px}.pale{background:#eef5f8}.dark-section{background:#19222d;color:#fff}.dark-section h2{color:#fff}.detail-flow{display:grid;grid-template-columns:repeat(5,1fr);margin-top:70px;border-top:2px solid var(--navy)}.detail-flow article{padding:28px 20px;min-height:260px;border-right:1px solid #cad8df}.detail-flow span{font-size:10px;color:var(--muted)}.detail-flow h3{font-size:17px;color:var(--navy);margin-top:35px}.detail-flow p{font-size:12px;line-height:1.8}.detail-photo-split{display:grid;grid-template-columns:1.08fr .92fr;background:#052f49;color:#fff}.detail-photo-split>img{width:100%;height:100%;min-height:650px;object-fit:cover}.detail-photo-split>div{padding:105px 7vw}.detail-photo-split h2{color:#fff;font-size:42px}.detail-photo-split ul,.big-list{padding:0;list-style:none;margin-top:42px}.detail-photo-split li,.big-list li{padding:17px 0;border-top:1px solid rgba(255,255,255,.24);font-size:14px}.disclaimer{font-size:11px!important;color:#8797a3;margin-top:30px}.concept-band{padding:90px 0;background:#052f49;color:#fff}.concept-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center}.concept-grid article{text-align:center}.concept-grid span{font-size:10px;color:#79cbd7}.concept-grid b{display:block;font-size:35px;margin:18px 0}.concept-grid p{font-size:13px}.concept-grid>i{font-size:36px;font-style:normal;color:var(--teal)}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #bfcdd5}.cap-grid article{padding:28px;border-right:1px solid #d2dde3;border-bottom:1px solid #d2dde3;min-height:220px}.cap-grid span{font-size:10px;color:var(--teal)}.cap-grid h3{color:var(--navy);margin-top:35px}.cap-grid p{font-size:13px;line-height:1.8}.wide-photo{height:650px;position:relative}.wide-photo img{width:100%;height:100%;object-fit:cover}.wide-photo:after{content:"";position:absolute;inset:0;background:rgba(2,29,45,.5)}.wide-photo blockquote{position:absolute;z-index:2;left:8vw;bottom:80px;color:#fff;font-size:32px;line-height:1.6}.vertical-flow{margin-top:65px}.vertical-flow article{display:grid;grid-template-columns:80px 190px 1fr;align-items:center;border-top:1px solid #52606b;padding:24px 0}.vertical-flow span{font-size:10px;color:#7cc8e5}.vertical-flow h3{font-size:22px}.vertical-flow p{color:#c9d0d5}.big-list{margin:0}.big-list li{border-color:#ccd6dc;font-size:16px}.quote-band{padding:110px 30px;background:var(--navy);color:#fff;text-align:center}.quote-band blockquote{font-size:clamp(28px,4vw,48px)}.aidc-detail-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:2px solid var(--teal)}.aidc-detail-steps article{padding:30px 20px;border-right:1px solid #c4dbdd}.aidc-detail-steps span{font-size:10px}.aidc-detail-steps h3{font-size:27px;color:var(--navy);margin:32px 0 6px}.aidc-detail-steps b{font-size:13px}.aidc-detail-steps p{font-size:12px}.history-list{margin-top:60px}.history-list article{display:grid;grid-template-columns:170px 1fr;border-top:1px solid #cad7de;padding:25px 0}.history-list b{font-size:26px;color:var(--navy)}.history-list p{margin:0;line-height:1.9}.contact-page{padding:120px 0;background:#052f49;color:#fff}.contact-page h1{font-size:clamp(42px,5vw,70px);line-height:1.4}.contact-lead{max-width:720px;line-height:2}.contact-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;margin-top:70px}.contact-layout form label{display:block;font-size:13px;font-weight:700;margin-bottom:28px}.contact-layout label>span{color:#ff9e9e;margin-left:10px;font-size:10px}.contact-layout input:not([type=checkbox]),.contact-layout select,.contact-layout textarea{display:block;width:100%;margin-top:10px;background:#fff;border:0;padding:15px;font:inherit}.contact-layout .privacy{font-weight:400}.contact-layout button{width:100%;background:#fff;color:var(--navy);border:0;padding:19px;font-weight:700}.contact-layout aside{border-left:1px solid #527187;padding-left:35px}.contact-layout aside h2{font-size:17px;color:#fff}.contact-layout aside>a{display:block;font-size:30px;margin:15px 0}.contact-layout aside p,.contact-layout aside small{font-size:12px;line-height:1.8;color:#c5d2da}.contact-layout aside hr{border:0;border-top:1px solid #527187;margin:40px 0}
@media(max-width:900px){.detail-header{height:72px;padding:0 22px}.detail-header img{width:160px}.detail-header nav,.detail-contact{display:none}.detail-mobile{margin-left:auto}.detail-hero{height:600px}.detail-hero>.wrap{padding-top:165px}.detail-intro,.detail-section{padding:90px 0}.detail-two{grid-template-columns:1fr;gap:25px}.detail-prose{padding-top:0}.detail-flow{grid-template-columns:1fr 1fr}.detail-photo-split{grid-template-columns:1fr}.detail-photo-split>img{min-height:430px}.concept-grid{grid-template-columns:1fr}.concept-grid>i{transform:rotate(90deg);margin:20px}.cap-grid{grid-template-columns:1fr 1fr}.vertical-flow article{grid-template-columns:55px 120px 1fr}.aidc-detail-steps{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr}.contact-layout aside{border-left:0;border-top:1px solid #527187;padding:35px 0 0}.history-list article{grid-template-columns:120px 1fr}}
@media(max-width:560px){.detail-hero{height:540px}.detail-hero>.wrap{padding-top:130px}.detail-flow,.cap-grid,.aidc-detail-steps{grid-template-columns:1fr}.detail-photo-split>div{padding:75px 20px}.detail-photo-split h2{font-size:34px}.wide-photo{height:480px}.wide-photo blockquote{font-size:24px;left:20px;bottom:45px}.vertical-flow article{grid-template-columns:45px 1fr}.vertical-flow p{grid-column:2}.history-list article{grid-template-columns:1fr}.contact-page{padding:85px 0}}

/* 会社案内2026のデザインシステムをWebへ展開 */
.section-no{color:var(--red);position:relative;padding-bottom:12px}.section-no:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--red)}.section-no.light{color:var(--red)}
.section-no.light:after{background:var(--red)}
.facts div:nth-child(1){border-top:4px solid var(--red)}.facts div:nth-child(2){border-top:4px solid var(--navy)}.facts div:nth-child(3){border-top:4px solid var(--green)}.facts div:nth-child(4){border-top:4px solid var(--orange)}
.evolution{background:#fff}.evolution-line{border-top:0;gap:32px}.evolution-line article{border:0;border-top:3px solid var(--navy);background:#f7fafc;padding:30px 22px}.evolution-line article:not(:last-child):after,.flow-grid article:not(:last-child):after,.aidc-steps article:not(:last-child):after,.detail-flow article:not(:last-child):after,.aidc-detail-steps article:not(:last-child):after{content:"→";position:absolute;right:-25px;top:50%;transform:translateY(-50%);z-index:3;font-size:24px;font-weight:700;color:var(--navy)}.evolution-line article{position:relative}.evolution-line article:nth-child(1){border-color:var(--red)}.evolution-line article:nth-child(2){border-color:var(--navy)}.evolution-line article:nth-child(3){border-color:var(--teal)}.evolution-line article:nth-child(4){border-color:var(--green)}.evolution-line article:before{display:none}.evolution-line b{margin:6px 0 8px}.evolution-line .current{background:var(--navy)}
.business{background:#fff;color:var(--body)}.business h2{color:var(--ink)}.business .section-head>p{color:var(--body)}.business-grid{border-top:0;gap:18px}.business-grid a{min-height:270px;border:1px solid #dbe4e9;border-top-width:7px;background:#fff}.business-grid a:nth-child(1){border-top-color:var(--red)}.business-grid a:nth-child(2){border-top-color:var(--navy)}.business-grid a:nth-child(3){border-top-color:var(--teal)}.business-grid a:nth-child(4){border-top-color:var(--green)}.business-grid a:hover{background:#f3f8fb}.business-grid span,.business-grid h3{color:var(--navy)}.business-grid p{color:var(--muted)}
.flow-grid{gap:28px}.flow-grid article{position:relative;border:0;background:#f4f8fa;padding:25px 18px}.flow-grid article:nth-child(1){border-top:6px solid var(--green)}.flow-grid article:nth-child(2){border-top:6px solid var(--teal)}.flow-grid article:nth-child(3){border-top:6px solid #2788bf}.flow-grid article:nth-child(4){border-top:6px solid var(--orange)}.flow-grid article:nth-child(5){border-top:6px solid var(--red)}.flow-grid b{margin:4px 0 8px;font-size:24px}
.construction{background:#fff;color:var(--body)}.construction h2{color:var(--ink)}.construction blockquote{background:#fff0f1;color:var(--red);border-color:var(--red);padding:22px}.build-flow{border-color:#cbd7de}.build-flow span{display:grid;place-items:center;color:#fff;border-radius:50%;width:62px;height:62px}.build-flow span:nth-of-type(1){background:var(--navy)}.build-flow span:nth-of-type(2){background:var(--teal)}.build-flow span:nth-of-type(3){background:var(--green)}.build-flow span:nth-of-type(4){background:var(--orange)}.build-flow span:nth-of-type(5){background:var(--red)}.build-flow i{font-size:20px;color:var(--navy)}
.aidc{background:#fff}.aidc-steps{gap:28px;border-top:0}.aidc-steps article{position:relative;border:1px solid #d3dfe5;border-top:6px solid var(--red);padding:28px 20px}.aidc-steps article:nth-child(2){border-top-color:var(--navy)}.aidc-steps article:nth-child(3){border-top-color:var(--green)}.aidc-steps article:nth-child(4){border-top-color:var(--orange)}.aidc-steps b{margin:6px 0}.strengths,.dark-section{background:#fff;color:var(--body)}.strengths h2,.dark-section h2{color:var(--ink)}.strength-grid article{border:1px solid #d9e3e8;border-left:7px solid var(--red);padding:28px}.strength-grid article:nth-child(2){border-left-color:var(--navy)}.strength-grid article:nth-child(3){border-left-color:var(--green)}.strength-grid h3{color:var(--ink)}.strength-grid p{color:var(--body)}.strength-grid span{color:var(--navy)}
.detail-flow{gap:28px;border-top:0}.detail-flow article{position:relative;border:0;background:#fff;border-top:6px solid var(--green)}.detail-flow article:nth-child(2){border-top-color:var(--teal)}.detail-flow article:nth-child(3){border-top-color:#2788bf}.detail-flow article:nth-child(4){border-top-color:var(--orange)}.detail-flow article:nth-child(5){border-top-color:var(--red)}
.concept-band{background:#fff;color:var(--body)}.concept-grid article{padding:45px 20px;background:var(--navy);color:#fff}.concept-grid article:nth-of-type(2){background:var(--teal)}.concept-grid article:nth-of-type(3){background:var(--orange)}
.cap-grid article:nth-child(4n+1){border-top:5px solid var(--red)}.cap-grid article:nth-child(4n+2){border-top:5px solid var(--navy)}.cap-grid article:nth-child(4n+3){border-top:5px solid var(--teal)}.cap-grid article:nth-child(4n){border-top:5px solid var(--orange)}
.vertical-flow article{position:relative;background:#f7fafc;padding:24px 25px;margin-bottom:14px;border:0;border-left:6px solid var(--navy)}.vertical-flow article:nth-child(2){border-left-color:var(--teal)}.vertical-flow article:nth-child(3){border-left-color:var(--green)}.vertical-flow article:nth-child(4){border-left-color:var(--orange)}.vertical-flow article:nth-child(5){border-left-color:var(--red)}.vertical-flow p{color:var(--body)}
.aidc-detail-steps{gap:28px;border-top:0}.aidc-detail-steps article{position:relative;border:1px solid #d1dde3;border-top:6px solid var(--red)}.aidc-detail-steps article:nth-child(2){border-top-color:var(--navy)}.aidc-detail-steps article:nth-child(3){border-top-color:var(--green)}.aidc-detail-steps article:nth-child(4){border-top-color:var(--orange)}
@media(max-width:900px){.evolution-line,.flow-grid,.aidc-steps,.detail-flow,.aidc-detail-steps{gap:18px}.evolution-line article:not(:last-child):after,.flow-grid article:not(:last-child):after,.aidc-steps article:not(:last-child):after,.detail-flow article:not(:last-child):after,.aidc-detail-steps article:not(:last-child):after{display:none}}

/* TOPの階層・詳細誘導・追尾ナビ */
.hero-logo{display:flex;align-items:center;background:rgba(255,255,255,.94);padding:9px 14px;box-shadow:0 4px 18px rgba(3,31,49,.16)}.hero-logo .logo{width:188px}.top-rail{position:fixed;z-index:30;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:10px}.top-rail a{display:flex;justify-content:flex-end;align-items:center;gap:9px;color:#526673}.top-rail i{width:8px;height:8px;border-radius:50%;background:#b6c6cf;transition:.2s}.top-rail span{width:0;overflow:hidden;opacity:0;font-size:9px;font-weight:700;letter-spacing:.08em;white-space:nowrap;transition:.25s}.top-rail a:hover span,.top-rail a.active span{width:90px;opacity:1}.top-rail a.active i{background:var(--red);transform:scale(1.35)}.text-cta,.detail-cta{display:inline-block;margin-top:34px;padding-bottom:9px;border-bottom:2px solid var(--red);color:var(--navy);font-size:13px;font-weight:700}.top-service{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:#fff}.top-service.reverse .top-service-media{order:2}.top-service-media img{width:100%;height:100%;min-height:690px;object-fit:cover}.top-service-copy{padding:110px 7vw;align-self:center}.top-service-copy h2{font-size:clamp(38px,4vw,58px)}.top-service-copy>p:not(.section-no){font-size:15px;line-height:2;margin-top:28px}.mini-flow{display:flex;align-items:center;gap:9px;margin-top:42px;flex-wrap:wrap}.mini-flow span{display:grid;place-items:center;min-width:67px;height:42px;padding:0 12px;background:#f3f8fa;border-top:5px solid var(--green);font-size:12px;font-weight:700;color:var(--navy)}.mini-flow span:nth-of-type(2){border-color:var(--teal)}.mini-flow span:nth-of-type(3){border-color:#2788bf}.mini-flow span:nth-of-type(4){border-color:var(--orange)}.mini-flow span:nth-of-type(5){border-color:var(--red)}.mini-flow i{font-style:normal;color:var(--navy);font-weight:700}.mini-flow.build span{min-width:58px}.aidc-flow span:nth-of-type(1){border-color:var(--red)}.aidc-flow span:nth-of-type(2){border-color:var(--navy)}.aidc-flow span:nth-of-type(3){border-color:var(--green)}.aidc-flow span:nth-of-type(4){border-color:var(--orange)}.tag-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:38px}.tag-row span{padding:10px 14px;border-top:5px solid var(--red);background:#f4f8fa;font-size:12px;font-weight:700}.tag-row span:nth-child(2){border-color:var(--navy)}.tag-row span:nth-child(3){border-color:var(--teal)}.tag-row span:nth-child(4){border-color:var(--orange)}
@media(max-width:1100px){.top-rail{display:none}.site-header nav{gap:17px}.hero-logo .logo{width:158px}}
@media(max-width:900px){.hero-logo{padding:7px 10px}.hero-logo .logo{width:145px}.top-service{grid-template-columns:1fr;min-height:0}.top-service.reverse .top-service-media{order:0}.top-service-media img{min-height:0;height:430px}.top-service-copy{padding:80px 22px}.mini-flow{gap:7px}.mini-flow span{min-width:54px;padding:0 8px}}
@media(max-width:560px){.top-service-media img{height:320px}.mini-flow i{font-size:12px}.mini-flow span{font-size:10px;min-width:auto}.hero-logo .logo{width:132px}}

/* 追尾メニューは写真・濃色背景上でも常に可読にする */
.top-rail{right:16px;padding:14px 10px;background:rgba(255,255,255,.96);border:1px solid rgba(0,70,110,.16);border-radius:4px;box-shadow:0 10px 30px rgba(3,31,49,.18);backdrop-filter:blur(8px)}
.top-rail a{width:132px;min-height:27px;justify-content:flex-start;padding:4px 7px;color:var(--ink);border-radius:3px}
.top-rail a:hover,.top-rail a.active{background:var(--pale);color:var(--navy)}
.top-rail i{flex:0 0 auto;background:#8ea4b1}
.top-rail span,.top-rail a:hover span,.top-rail a.active span{width:auto;opacity:1;overflow:visible;font-size:9px;font-weight:700;letter-spacing:.06em}
.top-rail a.active i{background:var(--red)}

/* PPT「電気・計装・監視制御」の二階層構成 */
.control-summary-groups{margin-top:38px}.control-summary-groups .tag-row{margin-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.control-summary-groups .tag-row span{text-align:center}.control-summary-groups .tag-row.secondary{margin-top:10px}.control-summary-groups .tag-row.secondary span{border-top:1px solid #c8d7df;background:#edf5f9;color:var(--navy);font-size:11px}
.control-matrix-section{padding:110px 0;background:#fff}.control-matrix{display:grid;grid-template-columns:270px 1fr;gap:28px;align-items:stretch}.control-core{display:flex;flex-direction:column;justify-content:center;background:var(--navy);color:#fff;padding:45px 28px;text-align:center}.control-core b{font-size:30px;line-height:1.4}.control-core p{font-size:12px;line-height:1.8;margin-top:28px}.control-categories{display:grid;grid-template-rows:auto auto;gap:16px}.control-primary,.control-secondary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.control-primary article{min-height:180px;border:1px solid #d8e3e9;border-top:9px solid var(--red);padding:24px 18px;background:#fff}.control-primary article:nth-child(2){border-top-color:var(--navy)}.control-primary article:nth-child(3){border-top-color:var(--teal)}.control-primary article:nth-child(4){border-top-color:var(--orange)}.control-primary h3{margin:0 0 25px;color:var(--ink);font-size:19px}.control-primary p,.control-secondary p{font-size:12px;line-height:1.8}.control-secondary article{min-height:125px;padding:20px 16px;background:#edf5f9;border-left:4px solid var(--red)}.control-secondary article:nth-child(2){border-left-color:var(--navy)}.control-secondary article:nth-child(3){border-left-color:var(--teal)}.control-secondary article:nth-child(4){border-left-color:var(--orange)}.control-secondary h3{margin:0 0 12px;color:var(--navy);font-size:15px}
@media(max-width:900px){.control-matrix{grid-template-columns:1fr}.control-core{min-height:300px}.control-primary,.control-secondary{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.control-summary-groups .tag-row{grid-template-columns:1fr 1fr}.control-primary,.control-secondary{grid-template-columns:1fr}.control-matrix-section{padding:75px 0}}

/* STRENGTHS：レビュー画面でも判読できる文字サイズ */
.strength-grid article{padding:42px 40px 44px}
.strength-grid span{display:block;font-size:18px;font-weight:700;line-height:1;letter-spacing:.04em}
.strength-grid h3{font-size:clamp(24px,1.55vw,30px);line-height:1.45;margin-top:52px}
.strength-grid p{font-size:clamp(16px,1vw,19px);line-height:1.9;margin-top:24px}
@media(max-width:900px){.strength-grid article{padding:34px 28px 36px}.strength-grid h3{margin-top:34px}}

/* HISTORY：PPT 09ページのタイムライン表現 */
.history-list{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:72px}
.history-list:before{content:"";position:absolute;left:2%;right:2%;top:89px;height:2px;background:#c8d2d9}
.history-list article{position:relative;display:flex;flex-direction:column;align-items:center;border:0;padding:0 16px;text-align:center}
.history-list b{font-size:28px;line-height:1;color:var(--red)}
.history-list i{position:relative;z-index:1;display:block;width:56px;height:56px;margin:34px 0 30px;border-radius:50%;background:var(--red)}
.history-list article:nth-child(2) b{color:var(--navy)}.history-list article:nth-child(2) i{background:var(--navy)}
.history-list article:nth-child(3) b{color:var(--green)}.history-list article:nth-child(3) i{background:var(--green)}
.history-list article:nth-child(4) b{color:var(--orange)}.history-list article:nth-child(4) i{background:var(--orange)}
.history-list p{margin:0;font-size:14px;line-height:1.55;color:var(--body)}
.history-summary{max-width:1040px;margin:70px auto 0;padding:20px 34px;border-radius:10px;background:#dfeff7;color:var(--navy);font-size:18px;font-weight:700;line-height:1.6;text-align:center}
@media(max-width:900px){.history-list{grid-template-columns:1fr;margin-top:48px}.history-list:before{top:0;bottom:0;left:21px;right:auto;width:2px;height:auto}.history-list article{display:grid;grid-template-columns:56px 105px 1fr;align-items:center;text-align:left;padding:18px 0}.history-list b{grid-column:2}.history-list i{grid-column:1;grid-row:1;margin:0;width:44px;height:44px}.history-list p{grid-column:3;grid-row:1}.history-summary{margin-top:42px;font-size:16px}}
@media(max-width:560px){.history-list article{grid-template-columns:46px 76px 1fr;padding:15px 0}.history-list:before{left:18px}.history-list b{font-size:20px}.history-list i{width:38px;height:38px}.history-list p{font-size:12px}.history-summary{padding:18px;font-size:14px}}

/* PPT MESSAGEページ */
.message-source h2,.message-page h1{font-size:clamp(42px,5vw,68px);line-height:1.3}
.message-page{padding:120px 0 140px;background:#fff}
.message-source-grid{display:grid;grid-template-columns:290px 1fr;gap:55px;margin-top:55px}
.message-source-grid>strong{display:flex;align-items:center;justify-content:center;min-height:390px;padding:42px 25px;background:var(--navy);color:#fff;font-size:24px;line-height:1.45;text-align:center}
.message-source-grid>strong:after{content:"";position:absolute}
.message-source-grid>div{font-size:17px;line-height:2}
.message-source-grid p{margin:0 0 30px}
.message-source-grid b{display:block;margin-top:42px;color:var(--red);font-size:19px;line-height:1.7;text-align:center}
@media(max-width:900px){.message-page{padding:90px 0}.message-source-grid{grid-template-columns:1fr;gap:35px}.message-source-grid>strong{min-height:220px}.message-source-grid>div{font-size:16px}}
.message-visual{position:relative;height:clamp(360px,48vw,640px);margin:55px 0 0;overflow:hidden;background:var(--navy)}
.message-visual img{width:100%;height:100%;object-fit:cover}
.message-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,49,75,.72),rgba(3,49,75,.08) 65%)}
.message-visual figcaption{position:absolute;z-index:1;left:6%;bottom:11%;margin:0;color:#fff;font-size:clamp(28px,3.4vw,50px);font-weight:700;line-height:1.4}
.message-page-copy{margin-top:75px}
.message-page-copy>div:first-child{position:relative}
.message-page-copy>div:first-child:before{content:"";position:absolute;top:0;left:0;width:70px;height:6px;background:var(--red)}
@media(max-width:900px){.message-visual{height:430px;margin-top:40px}.message-page-copy{margin-top:50px}.message-page-copy>div:first-child{display:none}}

/* PPT 06「工事・施工設計」 */
.construction-source{padding:120px 0;background:#fff}
.construction-source-grid{display:grid;grid-template-columns:370px 1fr;gap:55px;align-items:start}
.construction-callout{padding:38px 28px;border:1px solid #f2aeb5;border-radius:12px;background:#fff0f1;text-align:center}
.construction-callout h2{margin:0;color:var(--red);font-size:27px;line-height:1.4}
.construction-callout p{margin:28px 0 0;color:var(--ink);font-size:14px;font-weight:700;line-height:1.7}
.construction-source-left ul{margin:45px 0 0;padding-left:22px;color:var(--body);font-size:15px;line-height:1.75}
.construction-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.construction-steps article{position:relative;text-align:center}
.construction-steps article>b{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:var(--navy);color:#fff;font-size:32px}
.construction-steps article:nth-child(2)>b{background:var(--teal)}.construction-steps article:nth-child(3)>b{background:var(--green)}.construction-steps article:nth-child(4)>b{background:var(--orange)}.construction-steps article:nth-child(5)>b{background:var(--red)}
.construction-steps article>div{min-height:190px;padding:20px 10px;border:1px solid #d3dfe5;border-radius:7px;background:#fff}
.construction-steps h3{margin:0 0 25px;color:var(--navy);font-size:21px}
.construction-steps p{margin:0;font-size:14px;line-height:1.45}
.construction-steps i{position:absolute;top:22px;right:-18px;z-index:2;color:#a6b7c1;font-size:22px;font-style:normal}
.construction-summary{margin:55px 0 0;padding:22px 24px;border-radius:8px;background:#dfeff7;color:var(--navy);font-size:18px;font-weight:700;text-align:center}
@media(max-width:1100px){.construction-source-grid{grid-template-columns:1fr}.construction-source-left{display:grid;grid-template-columns:1fr 1fr;gap:35px}.construction-source-left ul{margin:0}.construction-steps article>div{min-height:175px}}
@media(max-width:700px){.construction-source{padding:80px 0}.construction-source-left{grid-template-columns:1fr}.construction-steps{grid-template-columns:1fr}.construction-steps article{display:grid;grid-template-columns:58px 1fr;gap:18px;text-align:left}.construction-steps article>b{width:58px;height:58px;margin:0;font-size:27px}.construction-steps article>div{min-height:0;padding:20px}.construction-steps h3{margin-bottom:10px}.construction-steps i{position:static;grid-column:1/-1;text-align:center;transform:rotate(90deg)}}

/* PPT 07「DATA CENTER / AIDC」 */
.aidc-source{padding:120px 0;background:#fff}
.aidc-source-intro{display:block}
.aidc-copy-banner{position:relative;height:280px;overflow:hidden;border-radius:8px;background:var(--deep)}
.aidc-copy-banner img{width:100%;height:100%;object-fit:cover}
.aidc-copy-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,49,.96),rgba(3,31,49,.72) 42%,rgba(3,31,49,.05) 75%)}
.aidc-copy-banner strong{position:absolute;z-index:1;left:6%;top:50%;transform:translateY(-50%);color:#fff;font-size:clamp(24px,2.6vw,38px);line-height:1.55}
.aidc-intro-copy{max-width:1000px;margin-top:36px;font-size:18px;line-height:1.9}
.aidc-intro-copy p{margin:0 0 8px}
.aidc-source-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:62px;margin-top:90px}
.aidc-source-flow article{position:relative}
.aidc-source-flow article>div{min-height:145px;padding:28px 24px;border:1px solid #cddae2;border-left:10px solid var(--red);border-radius:0 8px 8px 0;background:#fff}
.aidc-source-flow article:nth-child(2)>div{border-left-color:var(--navy)}.aidc-source-flow article:nth-child(3)>div{border-left-color:var(--green)}.aidc-source-flow article:nth-child(4)>div{border-left-color:var(--orange)}
.aidc-source-flow h2{margin:0 0 22px;color:var(--red);font-size:27px}.aidc-source-flow article:nth-child(2) h2{color:var(--navy)}.aidc-source-flow article:nth-child(3) h2{color:var(--green)}.aidc-source-flow article:nth-child(4) h2{color:var(--orange)}
.aidc-source-flow b{display:block;color:var(--ink);font-size:16px;text-align:center}
.aidc-source-flow i{position:absolute;top:52px;right:-44px;color:#a6b7c1;font-size:27px;font-style:normal}
.aidc-source-summary{max-width:620px;margin:75px auto 0;padding:20px;border-radius:9px;background:#dfeff7;color:var(--navy);font-size:25px;font-weight:700;text-align:center}
@media(max-width:900px){.aidc-source{padding:90px 0}.aidc-copy-banner{height:240px}.aidc-source-flow{grid-template-columns:1fr 1fr;gap:45px 55px}.aidc-source-flow article:nth-child(2) i{display:none}}
@media(max-width:560px){.aidc-copy-banner{height:200px}.aidc-copy-banner strong{left:7%;font-size:21px}.aidc-intro-copy{font-size:16px}.aidc-source-flow{grid-template-columns:1fr;gap:48px}.aidc-source-flow article i,.aidc-source-flow article:nth-child(2) i{display:block;top:auto;right:auto;left:50%;bottom:-39px;transform:translateX(-50%) rotate(90deg)}.aidc-source-summary{font-size:20px}}

/* お問い合わせ下層ページ */
.inquiry-body{background:#fff}
.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.inquiry-info{padding-top:58px}
.inquiry-info>p{font-size:18px;line-height:1.9}
.inquiry-tel{display:block;margin:45px 0 55px;padding:28px 0;border-top:1px solid #cbd7de;border-bottom:1px solid #cbd7de;color:var(--navy);font-size:clamp(30px,3.1vw,48px);font-weight:700}
.inquiry-tel small{display:block;margin-bottom:8px;color:var(--red);font-size:11px;letter-spacing:.16em}
.inquiry-info dl>div{grid-template-columns:90px 1fr}
@media(max-width:900px){.inquiry-grid{grid-template-columns:1fr;gap:20px}.inquiry-info{padding-top:0}}

/* お問い合わせフォーム */
.inquiry-heading{max-width:800px}.inquiry-heading>p:last-child{margin-top:28px;font-size:17px;line-height:1.9}
.inquiry-form-layout{width:100%;max-width:960px;margin:75px auto 0}
.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:32px 28px}
.inquiry-form label{display:block;color:var(--ink);font-size:14px;font-weight:700}
.inquiry-form label:nth-child(5),.inquiry-form .inquiry-consent,.inquiry-form button{grid-column:1/-1}
.inquiry-form label>span{margin-left:10px;color:var(--red);font-size:10px}
.inquiry-form input:not([type=checkbox]),.inquiry-form textarea{display:block;width:100%;margin-top:11px;padding:17px 16px;border:1px solid #c9d6de;border-radius:0;background:#f7fafb;color:var(--ink);font:inherit;outline:none}
.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(0,76,116,.09)}
.inquiry-consent{display:flex!important;align-items:center;gap:12px;padding:5px 0;font-weight:400!important}.inquiry-consent input{width:20px;height:20px;accent-color:var(--navy)}
.inquiry-form button{display:flex;justify-content:center;align-items:center;gap:28px;width:320px;max-width:100%;margin-left:auto;padding:17px 22px;border:0;background:var(--navy);color:#fff;font-size:14px;font-weight:700;cursor:pointer}.inquiry-form button i{font-style:normal;font-size:18px}
.inquiry-side{padding:35px;border-top:6px solid var(--red);background:#edf5f8}.inquiry-side h3{margin:0;color:var(--ink);font-size:18px}.inquiry-side .inquiry-tel{margin:25px 0 35px;font-size:30px}.inquiry-side dl>div{grid-template-columns:65px 1fr;padding:16px 0}.inquiry-side dt,.inquiry-side dd{font-size:12px}
@media(max-width:900px){.inquiry-form-layout{grid-template-columns:1fr;gap:60px}.inquiry-side{padding:30px}}
@media(max-width:600px){.inquiry-form{grid-template-columns:1fr}.inquiry-form label{grid-column:1}.inquiry-form-layout{margin-top:50px}.inquiry-heading>p:last-child{font-size:15px}}

/* 可読性基準：補助文字14px以上、本文16px以上 */
body{font-size:16px}
.site-header nav a,.contact-link,.detail-header nav a,.detail-contact{font-size:14px}
.eyebrow,.section-no,.detail-hero p,.contact p{font-size:14px}
.hero-actions a,.text-cta,.detail-cta,.message-copy>a,.flow-intro a{font-size:15px}
.business-grid b,.business-grid p,.evolution-line p,.flow-grid p,.capabilities span,.aidc-steps p,.strength-grid p,.concept-grid p,.cap-grid p,.detail-flow p,.aidc-detail-steps b,.aidc-detail-steps p,.control-core p,.control-primary p,.control-secondary p{font-size:16px}
.evolution-line span,.business-grid span,.flow-grid span,.aidc-steps span,.strength-grid span,.detail-flow span,.concept-grid span,.cap-grid span,.vertical-flow span,.aidc-detail-steps span{font-size:14px}
.licenses span,dl>div,.note,.disclaimer,footer div>div,footer small,.control-summary-groups .tag-row.secondary span,.mini-flow span,.tag-row span{font-size:14px!important}
.top-rail span,.top-rail a:hover span,.top-rail a.active span{font-size:13px}
.detail-hero span,.top-service-copy>p:not(.section-no){font-size:17px}
.history-list p{font-size:16px}
.inquiry-form label{font-size:16px}.inquiry-form label>span{font-size:13px}
@media(max-width:560px){.mini-flow span{font-size:13px}.history-list p{font-size:15px}.inquiry-heading>p:last-child{font-size:16px}}

/* 日本語の不自然な一文字改行を防ぐ */
h1,h2,h3,p,li,dt,dd,b,strong,a{word-break:auto-phrase;line-break:strict}
h1,h2,h3{text-wrap:balance}
.identity h2{font-size:clamp(40px,3.65vw,56px);white-space:nowrap}
.identity h2 br{display:block}
.business-grid p,.flow-grid p,.control-primary p,.control-secondary p,.history-list p{text-wrap:pretty}
@media(max-width:900px){.identity h2{font-size:clamp(36px,7vw,50px);white-space:normal}.identity h2 br{display:none}}



