
:root{--orange:#FF7E41;--orange-d:#D9541C;--orange-s:#FFEDE2;--yellow:#FFE991;--yellow-s:#FFF8DF;
--teal:#1BB3AF;--teal-s:#DFF4F3;--green:#86C265;--green-s:#E9F4E1;
--ground:#FFFDF8;--surface:#fff;--ink:#2B2825;--ink-2:#6B6660;--line:#EFE8DD;--black:#0B0A0C;
--round:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;
--disp:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;
--lat:"Lato",Arial,sans-serif;--body:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;--headbg:url(../img/img-731c0e17e8.jpg)}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:clip}
body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.95;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1140px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.note{background:var(--yellow);font-size:12px;font-weight:700;text-align:center;padding:6px 16px}

/* header */
header.site{position:sticky;top:0;z-index:40;background:rgba(255,252,247,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:18px;height:72px}
.logo{flex:none}
.logo img{height:30px;width:auto;max-width:none;flex:none}
nav.g ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;font-size:13.5px;font-weight:500}
nav.g a{text-decoration:none;display:block;padding:8px 13px;border-radius:999px;white-space:nowrap}
nav.g a.on{background:var(--orange-s);color:var(--orange-d);font-weight:700}
.cta{display:inline-flex;align-items:center;gap:9px;background:var(--orange);color:#fff;font-family:var(--round);font-weight:700;
 font-size:13.5px;text-decoration:none;padding:11px 20px;border-radius:999px;box-shadow:0 3px 0 var(--orange-d)}
.brandbar{display:flex;height:4px}.brandbar i{flex:1}
.brandbar i:nth-child(1){background:var(--orange)}.brandbar i:nth-child(2){background:var(--yellow)}
.brandbar i:nth-child(3){background:var(--teal)}.brandbar i:nth-child(4){background:var(--green)}

/* page head */
.phead{color:#fff;padding-block:clamp(56px,8vw,104px);position:relative;overflow:hidden;
 background-image:linear-gradient(90deg,rgba(11,10,12,.94) 8%,rgba(11,10,12,.62) 55%,rgba(11,10,12,.38)),var(--headbg);
 background-size:cover;background-position:center}
.phead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,12,.35),transparent 30%,rgba(11,10,12,.5))}
.phead .wrap{position:relative;z-index:2}
.crumb{font-size:12px;color:rgba(255,255,255,.62)}
.phead .en{font:900 12px var(--lat);letter-spacing:.22em;color:var(--orange);margin:18px 0 0;display:block}
.phead h1{font-family:var(--disp);font-weight:900;font-size:clamp(27px,3.8vw,44px);margin:8px 0 0;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.phead p{margin:14px 0 0;color:rgba(255,255,255,.78);font-size:14.5px;max-width:40em}

/* anchors */
.anchors{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:72px;z-index:30}
.anchors .wrap{display:flex;gap:10px;overflow-x:auto;padding-block:12px}
.anchors a{flex:none;text-decoration:none;font-family:var(--round);font-weight:700;font-size:13.5px;
 border:1px solid var(--line);border-radius:999px;padding:9px 18px;white-space:nowrap}
.anchors a:hover{border-color:var(--orange);color:var(--orange-d)}

section{padding-block:clamp(50px,7vw,92px)}
.sechead{margin-bottom:clamp(22px,3vw,38px)}
.sechead .en{font:900 12px var(--lat);letter-spacing:.2em;color:var(--orange)}
.sechead h2{font-family:var(--round);font-weight:800;font-size:clamp(25px,3.4vw,38px);margin:6px 0 0}
.sechead p{margin:12px 0 0;color:var(--ink-2);max-width:44em}

/* 構造（掛け算） */
.struct{background:var(--surface);border-block:1px solid var(--line)}
.sadd{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(10px,1.6vw,20px);align-items:center}
.shalf{position:relative;border-radius:26px;overflow:hidden}
.shalf img{width:100%;aspect-ratio:16/10;object-fit:cover}
.scap{position:absolute;inset:auto 0 0 0;padding:40px 18px 16px;color:#fff;background:linear-gradient(180deg,transparent,rgba(11,10,12,.86))}
.scap span{display:block;font:900 10px var(--lat);letter-spacing:.14em;color:var(--yellow)}
.scap b{font-family:var(--round);font-weight:800;font-size:clamp(17px,2vw,22px)}
.splus{font:900 30px var(--lat);color:var(--orange)}
.sdown{display:flex;justify-content:center;margin:clamp(18px,2.4vw,28px) 0}
.sdown span{font-family:var(--round);font-weight:800;font-size:13.5px;color:var(--ink-2);position:relative;padding:0 18px}
.sdown span::before,.sdown span::after{content:"";position:absolute;top:50%;width:clamp(30px,10vw,150px);height:2px;background:var(--line)}
.sdown span::before{right:100%}.sdown span::after{left:100%}
.sres{background:var(--orange-s);border:2px solid var(--orange);border-radius:30px;padding:clamp(18px,2.4vw,28px);text-align:center}
.sres h3{font-family:var(--round);font-weight:800;font-size:clamp(22px,2.8vw,30px);margin:6px 0 8px}
.sres p{margin:0;color:var(--ink-2);font-size:14.5px}

/* 事業ブロック */
.biz{border-top:1px solid var(--line)}
.bhero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:center}
.bhero .ph{border-radius:clamp(22px,3vw,34px);overflow:hidden}
.bhero .ph img{width:100%;aspect-ratio:16/9;object-fit:cover}
.bhero h2{font-family:var(--round);font-weight:800;font-size:clamp(26px,3.6vw,40px);margin:8px 0 12px}
.bhero p{margin:0 0 16px;color:var(--ink-2)}
.tag{display:inline-flex;align-items:center;gap:8px;font:900 11px var(--lat);letter-spacing:.14em;color:var(--ink-2)}
.tag b{width:10px;height:10px;border-radius:50%;background:var(--orange)}
.tag.t b{background:var(--teal)}.tag.g b{background:var(--green)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.chips span{font-size:12.5px;font-weight:700;background:var(--orange-s);color:var(--orange-d);border-radius:999px;padding:6px 14px}
.chips.t span{background:var(--teal-s);color:#0E7E7B}
.chips.g span{background:var(--green-s);color:#4C7A33}
.sub{margin-top:clamp(26px,3.4vw,44px)}
.sub h3{font-family:var(--round);font-weight:800;font-size:18px;margin:0 0 14px;display:flex;align-items:center;gap:10px}
.sub h3::before{content:"";width:18px;height:3px;border-radius:2px;background:var(--orange)}
.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.steps div{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 13px}
.steps b{font:900 18px var(--lat);color:var(--orange)}
.steps h4{font-family:var(--round);font-weight:800;font-size:14.5px;margin:3px 0 3px}
.steps p{margin:0;font-size:11.5px;color:var(--ink-2);line-height:1.7}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.cols3.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols3.c2 .menu{display:flex;flex-direction:column;background:var(--ground);border:1px solid var(--line);border-top:4px solid var(--green);border-radius:0 0 22px 22px;padding:clamp(20px,2.4vw,28px)}
.mno{font:900 12px var(--lat);letter-spacing:.14em;color:var(--green)}
.cols3.c2 .menu h4{font-size:19px;margin:8px 0 10px}
.cols3.c2 .menu p{font-size:13.5px}
@media(max-width:700px){.cols3.c2{grid-template-columns:minmax(0,1fr)}}
.menu{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px}
.menu h4{font-family:var(--round);font-weight:800;font-size:16px;margin:0 0 6px}
.menu p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.8}
.caselink{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-family:var(--round);font-weight:700;
 font-size:14px;text-decoration:none;color:var(--ink)}
.caselink i{width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-style:normal;font-size:12px}
.minicase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:clamp(22px,2.8vw,32px)}
.mc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;align-items:center;
 background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:14px;text-decoration:none}
.mc .ph{border-radius:14px;overflow:hidden}
.mc .ph img{width:100%;aspect-ratio:16/10;object-fit:cover}
.mc span{font-size:11px;font-weight:700;color:var(--orange-d)}
.mc h4{font-family:var(--round);font-weight:700;font-size:14.5px;margin:4px 0 0;line-height:1.7}


/* 事例：横スライド */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc(33.333% - 12px));gap:18px;
 overflow-x:auto;scroll-snap-type:x mandatory;margin-top:clamp(22px,2.8vw,32px);padding-bottom:14px;
 scrollbar-width:thin;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{height:6px}
.rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.rc{scroll-snap-align:start;background:var(--ground);border:1px solid var(--line);border-radius:22px;
 overflow:hidden;text-decoration:none;color:inherit;display:block}
.rc img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.rc .tx{padding:14px 16px 18px}
.rc .tx span{font-size:11px;font-weight:700;color:var(--orange-d)}
.rc .tx h4{font-family:var(--round);font-weight:700;font-size:14.5px;margin:6px 0 0;line-height:1.7}
.rc.more{display:grid;place-items:center;background:var(--surface);border-style:dashed;min-height:180px;text-align:center;padding:20px}
.rc.more b{font-family:var(--round);font-weight:800;font-size:15px;display:block}
.rc.more i{font-style:normal;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
 background:var(--orange);color:#fff;font:900 13px var(--lat);margin:12px auto 0}
#co .rc .tx span{color:#0E7E7B}#co .rc.more i{background:var(--teal)}
#ca .rc .tx span{color:#4C7A33}#ca .rc.more i{background:var(--green)}
.railhint{margin:10px 0 0;font-size:11.5px;color:var(--ink-2)}
@media(max-width:880px){.rail{grid-auto-columns:78%;gap:14px}}

/* 流れ */
.flowsec{background:var(--surface);border-top:1px solid var(--line)}
.flow5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.fw{background:var(--ground);border:1px solid var(--line);border-radius:22px;padding:18px 16px;position:relative}
.fw b{font:900 20px var(--lat);color:var(--orange)}
.fw h4{font-family:var(--round);font-weight:800;font-size:15px;margin:4px 0 5px}
.fw p{margin:0;font-size:12px;color:var(--ink-2);line-height:1.75}

/* CTA */
.cend{background:var(--black);color:#fff}
.ctwo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,3vw,46px);align-items:center}
.cend .lab{font:900 11px var(--lat);letter-spacing:.22em;color:var(--orange)}
.cend h2{font-family:var(--disp);font-weight:900;font-size:clamp(23px,3vw,34px);margin:12px 0 10px;line-height:1.5}
.cend p{margin:0;color:rgba(255,255,255,.72);font-size:14px}
.cend .huge{display:inline-flex;align-items:center;gap:13px;background:var(--orange);color:#fff;font-family:var(--disp);
 font-weight:900;font-size:clamp(19px,2.4vw,27px);padding:clamp(18px,2.4vw,27px) clamp(30px,4.4vw,52px);border-radius:999px;
 text-decoration:none;box-shadow:0 14px 32px rgba(255,126,65,.3)}
.cend .huge i{font-style:normal;font:900 21px var(--lat)}
.cend .tel{margin-top:16px}
.cend .tel span{display:block;font-size:11.5px;color:rgba(255,255,255,.6)}
.cend .tel b{font:900 22px var(--lat)}
.cend .tel i{display:block;font-style:normal;font-size:11.5px;color:rgba(255,255,255,.6)}
@media(max-width:880px){.ctwo{grid-template-columns:minmax(0,1fr)}}
footer{background:#17161A;color:rgba(255,255,255,.6);font-size:12px;padding:26px 0}


.bhero .ph{position:relative}
.bno{position:absolute;left:clamp(12px,1.6vw,20px);top:clamp(2px,.4vw,6px);font:400 clamp(44px,5.6vw,78px) Anton,var(--lat);
 color:rgba(255,255,255,.95);line-height:1;text-shadow:0 6px 28px rgba(0,0,0,.45)}
.whyrow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.1fr);gap:clamp(10px,1.6vw,20px);align-items:stretch}
.wcell{background:var(--ground);border:1px solid var(--line);border-radius:22px;padding:18px 20px}
.wcell.hi{background:var(--orange-s);border-color:var(--orange)}
.wn{font:900 11px var(--lat);letter-spacing:.14em;color:var(--orange)}
.wcell b{display:block;font-family:var(--round);font-weight:800;font-size:17px;margin:4px 0 4px}
.wcell i{display:block;font-style:normal;font-size:13px;color:var(--ink-2)}
.wop{align-self:center;font:900 24px var(--lat);color:var(--orange)}
@media(max-width:880px){.whyrow{grid-template-columns:minmax(0,1fr)}.wop{justify-self:center}}

/* 事業ごとの色分けと区切り線 */
#ev{border-top:6px solid var(--orange)}
#co{border-top:6px solid var(--teal)}
#ca{border-top:6px solid var(--green)}
#ev .bno,#co .bno,#ca .bno{text-shadow:0 6px 28px rgba(0,0,0,.5)}
#co .sub h3::before{background:var(--teal)}
#ca .sub h3::before{background:var(--green)}
#co .steps b{color:var(--teal)}
#ca .steps b{color:var(--green)}
#co .caselink i{background:var(--teal)}
#ca .caselink i{background:var(--green)}
#co .mc span{color:#0E7E7B}
#ca .mc span{color:#4C7A33}
.secmark{display:flex;align-items:center;gap:12px;margin-bottom:clamp(18px,2.4vw,28px)}
.secmark b{font:400 clamp(30px,3.6vw,46px) Anton,var(--lat);line-height:1;color:var(--orange)}
#co .secmark b{color:var(--teal)}
#ca .secmark b{color:var(--green)}
.secmark span{font:900 11px var(--lat);letter-spacing:.2em;color:var(--ink-2)}
.secmark i{flex:1;height:1px;background:var(--line);display:block}
.steps.s4{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps.s5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:980px){.steps,.steps.s5{grid-template-columns:repeat(3,minmax(0,1fr))}.steps.s4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){.sadd,.bhero,.cols3,.minicase,.mc{grid-template-columns:minmax(0,1fr)}.splus{justify-self:center}
 nav.g{display:none}.anchors{top:0}}
@media(max-width:700px){.steps,.steps.s4,.steps.s5{grid-template-columns:minmax(0,1fr)}
 .steps div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:baseline;padding:13px 16px}
 .steps b{grid-row:span 2}.steps h4{margin:0}}
