:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);}
html{scroll-behavior:smooth}html,body{margin:0;background:#ffffff;}
body{font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;color:#000000;overflow-x:hidden;}
#bg{position:absolute;inset:0;width:100%;height:100%;display:block;}
.hero{position:relative;height:100vh;min-height:560px;overflow:hidden;}
.head{position:absolute;top:28px;left:44px;display:flex;align-items:center;gap:14px;z-index:2;}
.head img{width:62px;height:auto;}
.head span{font-size:13px;letter-spacing:.3em;color:rgba(0,0,0,.66);}
.copy{position:absolute;left:44px;top:50%;transform:translateY(-50%);max-width:62%;z-index:2;}
.kicker{font-size:15px;font-weight:700;letter-spacing:.18em;color:#fb7132;margin-bottom:18px;}
#ttl{margin:0;font-size:clamp(26px,4.1vw,58px);white-space:nowrap;font-weight:900;line-height:1.35;letter-spacing:.02em;min-height:4.05em;transform-origin:50% 50%;
 filter:drop-shadow(1px 1px 0 rgba(255,255,255,.9)) drop-shadow(3px 5px 3px rgba(0,0,0,.42)) drop-shadow(9px 16px 16px rgba(0,0,0,.30));}
#ttl.c0{color:#fb7132;--ex:#A3460C}#ttl.c1{color:#3a3d7e;--ex:#0C1739}
#ttl.c2{--ex:#3A2340;background:linear-gradient(100deg,#fb7132 0%,#fb7132 18%,#373eb9 78%);-webkit-background-clip:text;background-clip:text;color:transparent}
#ttl.snap{animation:snap .16s cubic-bezier(.2,.9,.3,1.3)}
@keyframes snap{0%{opacity:0;transform:scale(1.07)}60%{opacity:1}100%{opacity:1;transform:scale(1)}}
#ttl.suck{transition:transform .9s cubic-bezier(.6,0,.95,.5),opacity .9s ease-in;opacity:0}
.sub{margin-top:26px;font-size:clamp(15px,1.45vw,19px);font-weight:700;letter-spacing:.06em;line-height:1.9;color:rgba(0,0,0,.78);text-shadow:0 1px 0 #fff;}
.ctl{position:absolute;right:20px;bottom:18px;z-index:3;display:flex;gap:8px;}
.ctl button{font:inherit;font-size:12px;padding:7px 12px;border-radius:6px;border:1px solid #D8D2CA;background:rgba(255,255,255,.85);color:rgba(0,0,0,.78);cursor:pointer;}
.ctl button.on{border-color:#fb7132;color:#B5520F;}
@media (max-width:760px){#ttl{white-space:normal}.copy{max-width:86%;top:auto;bottom:60px;transform:none;}.head{left:22px}.copy{left:22px}}

header.top{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
 padding:7px 44px;padding-top:calc(7px + env(safe-area-inset-top,0px));transition:background .4s,box-shadow .4s;}
header.top.solid{background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(255,148,26,.32);backdrop-filter:blur(6px);}
header.top a.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:rgba(0,0,0,.66);font-size:13px;letter-spacing:.21em}
header.top a.brand img{width:42px}
header.top nav a{margin-left:28px;font-size:14px;color:rgba(0,0,0,.78);text-decoration:none;letter-spacing:.08em;font-weight:700}
header.top nav a:hover{color:#fb7132}
header.top nav a.cta{border:1px solid #fb7132;color:#fb7132;padding:6px 14px;border-radius:999px}
.scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;font-size:11px;letter-spacing:.3em;color:rgba(0,0,0,.5);text-align:center}
.scrollcue i{display:block;width:1px;height:34px;margin:8px auto 0;background:linear-gradient(#fb7132,transparent);animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.theme{position:relative;padding:120px 0 110px;overflow:hidden}
.theme.alt{background:#ffffff}
.theme .bglines{position:absolute;inset:0;pointer-events:none;opacity:.55}
.wrap{position:relative;max-width:1120px;margin:0 auto;padding:0 44px}
.tno{display:flex;align-items:baseline;gap:18px;margin-bottom:56px}
.tno b{font-size:64px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1.4px #373eb9;letter-spacing:.02em}
.tno span{font-size:13px;letter-spacing:.35em;color:rgba(0,0,0,.5);font-weight:700}
.blk{margin-bottom:96px}.blk:last-child{margin-bottom:0}
.lbl{font-size:12px;font-weight:700;letter-spacing:.3em;color:#fb7132;margin-bottom:12px}
h2{font-size:clamp(24px,2.6vw,36px);font-weight:900;line-height:1.5;margin:0 0 20px;letter-spacing:.02em;
 filter:drop-shadow(2px 3px 2px rgba(0,0,0,.14))}
h2 em{font-style:normal;color:#fb7132}
.lead{font-size:16px;line-height:2.05;color:rgba(0,0,0,.78);max-width:820px}
.two{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.card{background:#FFF;border:1px solid rgba(255,148,26,.32);border-radius:14px}
canvas.vis{width:100%;height:340px;display:block}

.flowbox{position:relative;margin-top:40px}
.flowsvg{position:absolute;left:0;right:0;top:50%;height:120px;transform:translateY(-50%);width:100%;pointer-events:none}
.flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.fs{padding:28px 18px 24px;text-align:center;background:rgba(255,255,255,.92)}
.fs .n{width:34px;height:34px;border-radius:50%;margin:0 auto 12px;background:#fb7132;color:#FFF;font-weight:900;line-height:34px}
.fs h3{margin:0 0 8px;font-size:20px}
.fs p{margin:0;font-size:13.5px;color:rgba(0,0,0,.6);line-height:1.7}

.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.ft{padding:26px 18px 22px;text-align:center}
.ft svg{width:64px;height:64px;margin-bottom:12px}
.ft svg .d{fill:none;stroke:#fb7132;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240;stroke-dashoffset:240}
.in .ft svg .d{animation:draw 1.6s ease forwards}
.in .ft:nth-child(2) svg .d{animation-delay:.15s}.in .ft:nth-child(3) svg .d{animation-delay:.3s}
.in .ft:nth-child(4) svg .d{animation-delay:.45s}.in .ft:nth-child(5) svg .d{animation-delay:.6s}.in .ft:nth-child(6) svg .d{animation-delay:.75s}
@keyframes draw{to{stroke-dashoffset:0}}
.ft h3{margin:0 0 8px;font-size:17px}
.ft p{margin:0;font-size:13px;line-height:1.75;color:rgba(0,0,0,.66);text-align:left}

.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin-top:28px}
.chk{position:relative;padding:16px 18px 16px 52px;font-size:15.5px;background:#FFF;border:1px solid rgba(255,148,26,.32);border-radius:12px}
.chk::before{content:'';position:absolute;left:20px;top:50%;width:14px;height:7px;border-left:2.4px solid #fb7132;border-bottom:2.4px solid #fb7132;transform:translateY(-70%) rotate(-45deg)}

.ba{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:36px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,148,26,.32)}
.ba .col{padding:28px 30px;background:#FFF}
.ba .col.after{background:rgba(255,148,26,.07)}
.ba .hd{font-size:13px;letter-spacing:.3em;font-weight:700;color:rgba(0,0,0,.5);margin-bottom:10px}
.ba .after .hd{color:#fb7132}
.ba svg{width:100%;height:120px;display:block;margin-bottom:12px}
.ba .row{margin-bottom:14px}
.ba .who{display:inline-block;font-size:12.5px;font-weight:700;color:#FFF;background:#3a3d7e;padding:3px 10px;border-radius:4px;margin-bottom:6px}
.ba .after .who{background:#fb7132}
.ba .row p{margin:0;font-size:15px;line-height:1.8}

.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;align-items:stretch;max-width:80%}
.tier{padding:19px 19px 21px;display:flex;flex-direction:column}.tier .price{margin-top:auto!important;padding-top:12px}
.tier svg{width:100%;height:96px;display:block;margin-bottom:6px}
.tier .pl{opacity:0;transform:translateY(-26px)}
.in .tier .pl{animation:drop .7s cubic-bezier(.2,.8,.3,1.15) forwards}
@keyframes drop{to{opacity:1;transform:none}}
.tier .k{font-size:12px;letter-spacing:.25em;color:rgba(0,0,0,.5);font-weight:700}
.tier h3{margin:5px 0 8px;font-size:17px}
.tier p{margin:0 0 4px;font-size:13px;line-height:1.75;color:rgba(0,0,0,.7)}
.tier .price{margin-top:14px;font-weight:900;color:#fb7132;font-size:16px}
.tier.t2{border-color:#fb7132}
.limit{margin-top:22px;font-size:14px;line-height:1.9;color:rgba(0,0,0,.78);border-left:3px solid #000000;padding-left:16px;max-width:900px}
.note{font-size:12.5px;color:rgba(0,0,0,.5);margin-top:10px}

.aibox{position:relative;margin-top:36px}
.eqs span{position:absolute;font-family:'Noto Serif','Times New Roman',serif;font-size:13px;color:rgba(58,61,126,.0);white-space:nowrap}
.in .eqs span{animation:eqf 4s infinite}
@keyframes eqf{0%{color:rgba(58,61,126,0);transform:translateY(6px)}25%{color:rgba(58,61,126,.35)}70%{color:rgba(58,61,126,.3)}100%{color:rgba(58,61,126,0);transform:translateY(-10px)}}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.st{padding:22px 20px;border-radius:14px;color:#FFF}
.st:nth-child(1){background:#000000}.st:nth-child(2){background:#3a3d7e}.st:nth-child(3){background:#373eb9}.st:nth-child(4){background:#fb7132}
.st .n{font-size:11px;letter-spacing:.3em;font-weight:700;opacity:.75}
.st h3{margin:6px 0 6px;font-size:22px}
.st p{margin:0;font-size:13.5px;line-height:1.7;opacity:.9}
.tasks{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:22px}
.task{border-top:2px solid #fb7132;padding-top:12px}
.task h3{margin:0 0 6px;font-size:16px}.task p{margin:0;font-size:13.5px;line-height:1.75;color:rgba(0,0,0,.7)}
.cost{margin-top:24px;font-size:15px;line-height:1.95;max-width:900px}.cost b{color:#fb7132}
.choose{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.ch{padding:22px 20px}.ch .n{font-size:30px;font-weight:900;color:#373eb9;line-height:1}
.ch h3{margin:10px 0 6px;font-size:18px}.ch p{margin:0;font-size:13.5px;line-height:1.7;color:rgba(0,0,0,.7)}
.proc{display:flex;margin-top:30px}
.proc div{flex:1;text-align:center;font-size:14px;font-weight:700;padding:13px 0;color:#ffffff;margin-right:-6px;
 clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%)}
.proc div:nth-child(1){background:#ff941a}.proc div:nth-child(2){background:#fb7132}.proc div:nth-child(3){background:#373eb9}.proc div:nth-child(4){background:#3a3d7e}.proc div:nth-child(5){background:#000000}
.proc div:first-child{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
.contact{margin-top:96px;background:#3a3d7e;color:#FFF;border-radius:20px;padding:44px 48px;display:flex;gap:40px;align-items:center;position:relative;overflow:hidden}
.contact img{width:96px;background:#FFF;border-radius:10px;padding:6px}
.contact .msg{font-size:24px;font-weight:900;margin-bottom:10px}
.contact .info{flex:1;font-size:14px;line-height:1.9;color:rgba(255,255,255,.82)}
.contact .info b{color:#FFF;font-size:17px;letter-spacing:.15em}
.btns{display:flex;flex-direction:column;gap:12px}
.btn{display:inline-block;text-align:center;padding:14px 28px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;letter-spacing:.06em}
.btn.p{background:#fb7132;color:#FFF}.btn.s{border:1px solid rgba(255,255,255,.7);color:#FFF}
footer{background:#3a3d7e;color:#fff;padding:26px 44px}
footer .fb{max-width:1032px;margin:0 auto;font-size:12.5px;color:rgba(255,255,255,.7);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer a{color:rgba(255,255,255,.7);margin-left:18px;text-decoration:none}footer a:hover{color:#fff}
@media (max-width:700px){footer{padding:22px 22px}}

.rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}
@media (max-width:900px){.two,.ba{grid-template-columns:1fr}.flow,.steps,.tasks,.choose{grid-template-columns:1fr 1fr}.feats{grid-template-columns:1fr 1fr}
 .tiers{grid-template-columns:1fr;max-width:100%}.checks{grid-template-columns:1fr}.flowsvg{display:none}.contact{flex-direction:column;align-items:flex-start}
 header.top{padding:12px 20px}header.top nav a{margin-left:14px;font-size:12px}header.top nav a.cta{padding:6px 10px}.wrap{padding:0 22px}
 header.top a.brand span{display:none}.proc{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.tier .pl{opacity:1!important;transform:none!important}.ft svg .d{stroke-dashoffset:0!important}.scrollcue i,.eqs span,#ttl,.ft svg .d,.tier .pl{animation:none!important}#ttl{transition:opacity .8s ease!important}}

/* 下層ページ（会社概要・お問い合わせ・個人情報の取り扱い） */
.page{position:relative;padding:150px 0 110px;overflow:hidden;min-height:60vh}
.page .bglines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.2}
.page h1{font-size:clamp(28px,3.2vw,42px);font-weight:900;line-height:1.45;margin:0 0 20px;letter-spacing:.02em;filter:drop-shadow(2px 3px 2px rgba(0,0,0,.14))}
.page h1 em{font-style:normal;color:#fb7132}
header.top nav a[aria-current]{color:#fb7132}
.sec{margin-top:64px}
.sec h2{font-size:clamp(20px,2vw,26px)}
.dtable{margin-top:28px;border-top:1px solid rgba(255,148,26,.32);max-width:860px}
.dtable .r{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:18px 4px;border-bottom:1px solid rgba(255,148,26,.32);font-size:15.5px;line-height:1.9}
.dtable .r>div:first-child{font-weight:700;color:#fb7132;letter-spacing:.08em}
.dtable a,.policy a{color:#3a3d7e}
.ways{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px;max-width:860px}
.way{padding:24px 26px}
.way .k{font-size:12px;letter-spacing:.3em;font-weight:700;color:#fb7132}
.way .v{font-size:24px;font-weight:900;margin:8px 0 6px;letter-spacing:.04em}
.way .v a{color:#000000;text-decoration:none}
.way p{margin:0;font-size:13.5px;line-height:1.75;color:rgba(0,0,0,.66)}
.form{margin-top:28px;max-width:860px;padding:32px 34px}
.form .f{margin-bottom:22px}
.form label{display:block;font-size:14.5px;font-weight:700;margin-bottom:8px}
.form label .req{display:inline-block;margin-left:8px;font-size:11.5px;color:#ffffff;background:#fb7132;padding:1px 8px;border-radius:4px;vertical-align:2px}
.form label .opt{display:inline-block;margin-left:8px;font-size:11.5px;color:rgba(0,0,0,.5);border:1px solid rgba(0,0,0,.2);padding:0 7px;border-radius:4px;vertical-align:2px}
.form input,.form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:12px 14px;border:1px solid rgba(255,148,26,.45);border-radius:10px;background:#ffffff;color:#000000}
.form textarea{min-height:180px;resize:vertical;line-height:1.8}
.form input:focus,.form textarea:focus{outline:none;border-color:#fb7132;box-shadow:0 0 0 3px rgba(255,148,26,.18)}
.form .agree{font-size:14px;line-height:1.8;margin:6px 0 24px}
.form .agree input{width:auto;margin-right:8px;accent-color:#fb7132}
.form .agree a{color:#3a3d7e}
.form button.btn{border:0;cursor:pointer;font-family:inherit}
.form .hint{font-size:12.5px;color:rgba(0,0,0,.5);line-height:1.8;margin-top:14px}
.form .err{display:none;font-size:13px;color:#fb7132;margin-top:6px}
.form .f.bad .err{display:block}.form .f.bad input,.form .f.bad textarea{border-color:#fb7132}
.policy{max-width:860px}
.policy h2{font-size:clamp(18px,1.7vw,22px);margin:48px 0 12px}
.policy p,.policy li{font-size:15px;line-height:2;color:rgba(0,0,0,.78)}
.policy ol,.policy ul{padding-left:1.4em;margin:8px 0}
.policy .date{margin-top:48px;font-size:13.5px;color:rgba(0,0,0,.5);text-align:right}
@media (max-width:900px){.page{padding:110px 0 80px}.dtable .r{grid-template-columns:1fr;gap:4px}.ways{grid-template-columns:1fr}.form{padding:24px 20px}}

/* スマートフォン：導入の流れを縦に積み、下向きの矢印にする */
@media (max-width:600px){
 .proc{flex-direction:column}
 .proc div{margin:0 0 -8px;padding:16px 0 22px;clip-path:polygon(0 0,50% 12px,100% 0,100% calc(100% - 12px),50% 100%,0 calc(100% - 12px))}
 .proc div:first-child{clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),50% 100%,0 calc(100% - 12px))}
 .proc div:last-child{margin-bottom:0}
}


/* 見出しのテーマ番号 01（02〜04と同じ縁取りの数字を薄く） */
.hno{margin-top:22px;font-size:64px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1.4px #373eb9;letter-spacing:.02em;opacity:.6}

/* スマートフォン：仕組みの4つの箱を1列にし、数字を左・文字を右に置く（2列では折り返しが乱れるため） */
@media (max-width:600px){
 .flow{grid-template-columns:1fr;gap:12px}
 .fs{display:grid;grid-template-columns:34px 1fr;column-gap:16px;align-items:center;padding:18px 20px;text-align:left}
 .fs .n{grid-row:1 / 3;margin:0;text-align:center}
 .fs h3{margin:0 0 4px;font-size:18px}
}

/* 調査と解析：6つの作業の輪（1〜4つくる＝濃いオレンジ、5〜6育てる＝青） */
.ring{margin:30px auto 8px;max-width:920px}
.ring svg{width:100%;height:auto;display:block;overflow:visible}
.ring .m{display:none}
.ring .rn{font-size:14px;font-weight:900;fill:#ffffff;text-anchor:middle}
.ring .rl{font-size:17px;font-weight:700}
.ring .rc{font-size:13px;font-weight:700;fill:rgba(0,0,0,.5);text-anchor:middle;letter-spacing:.2em}
.ring .rc2{font-size:20px;font-weight:900;fill:#373eb9;text-anchor:middle;letter-spacing:.1em}
.subh{margin:44px 0 6px;font-size:20px;font-weight:900}
.subh+.lead{margin-top:0}
@media (max-width:600px){.ring .d{display:none}.ring .m{display:block;max-width:360px;margin:0 auto}.ring .rl{font-size:15px}}

/* こんなお悩み、ありませんか（4つの悩み＋答えの帯） */
.worries{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.wr{padding:22px 20px}
.wr .n{font-size:30px;font-weight:900;color:#373eb9;line-height:1}
.wr h3{margin:10px 0 8px;font-size:18px}
.wr p{margin:0;font-size:13.5px;line-height:1.8;color:rgba(0,0,0,.66)}
.answer{margin-top:22px;background:#3a3d7e;color:#ffffff;border-radius:16px;padding:30px 34px}
.answer .ah{font-size:clamp(18px,1.8vw,22px);font-weight:900;margin-bottom:12px;letter-spacing:.02em}
.answer p{margin:0 0 10px;font-size:15px;line-height:1.95;color:rgba(255,255,255,.86)}
.answer p.add{color:#ffffff;font-weight:700}
.chain{display:flex;flex-wrap:wrap;row-gap:6px;margin-top:16px;font-size:13px;font-weight:700;color:rgba(255,255,255,.9)}
.chain span+span::before{content:'→';margin:0 10px;color:#ff941a}
.chain span:last-child{color:#ff941a}
@media (max-width:900px){.worries{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.answer{padding:24px 20px}.wr{padding:18px 16px}.wr h3{font-size:16px}}
@media (max-width:600px){
 .worries{grid-template-columns:1fr;gap:12px}
 .wr{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:start}
 .wr .n{grid-row:1 / 3;font-size:26px;padding-top:2px}
 .wr h3{margin:0 0 4px}
 .chain{flex-direction:column;row-gap:4px}
 .chain span+span::before{margin:0 8px 0 0}
}

/* 03 投資の回収：導入前・導入後の図（社内の人がお客様側へ移り、売上の天井が上がる） */
.lead+.lead{margin-top:14px}
.ba svg.bafig{width:100%;height:auto;max-width:420px;margin:4px auto 14px;display:block;overflow:visible}
.bafig .zl{font-size:12px;font-weight:700;fill:rgba(0,0,0,.5)}
.bafig .cl{font-size:12px;font-weight:700;fill:rgba(0,0,0,.6)}
.bafig .bl{font-size:12px;font-weight:700;fill:rgba(0,0,0,.6)}
.bafig .sy{font-size:13px;font-weight:900;fill:#fb7132;text-anchor:middle;letter-spacing:.2em}
.flowtxt{display:flex;flex-wrap:wrap;row-gap:6px;font-size:14px;font-weight:700;line-height:1.7;color:rgba(0,0,0,.66)}
.flowtxt span+span::before{content:'→';margin:0 8px;color:#3a3d7e}
.flowtxt span:last-child{color:#3a3d7e}
.flowtxt.up{color:#000000}
.flowtxt.up span+span::before{color:#fb7132}
.flowtxt.up span:last-child{color:#fb7132}
@media (max-width:600px){.flowtxt{flex-direction:column;row-gap:2px}.flowtxt span+span::before{margin:0 8px 0 0}}

/* 03 中小企業だから使える仕組み：エレベーターの比較 */
.lift{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}
.lcol{padding:22px 24px;border:1px solid rgba(58,61,126,.25);border-radius:16px;background:#ffffff}
.lcol.mine{border-color:rgba(251,113,50,.5);background:rgba(255,148,26,.05)}
.lcol .hd{font-size:13px;letter-spacing:.2em;font-weight:700;color:#3a3d7e;margin-bottom:8px}
.lcol.mine .hd{color:#fb7132}
.liftfig{width:100%;max-width:400px;height:auto;display:block;margin:0 auto 12px;overflow:visible}
.liftfig .lt{font-size:12px;font-weight:700;fill:rgba(0,0,0,.55);text-anchor:middle}
.liftfig .lt.w{fill:#ffffff}
.liftfig .car{transform-box:fill-box}
.in .liftfig .cb0{animation:lfb 1.7s ease-in-out infinite alternate}
.in .liftfig .cb1{animation:lfb 2.2s ease-in-out .4s infinite alternate}
.in .liftfig .cb2{animation:lfb 1.5s ease-in-out .9s infinite alternate}
.in .liftfig .cb3{animation:lfb 2.0s ease-in-out .2s infinite alternate}
.in .liftfig .cb4{animation:lfb 1.8s ease-in-out 1.1s infinite alternate}
.in .liftfig .cb5{animation:lfb 2.4s ease-in-out .6s infinite alternate}
.in .liftfig .cs{animation:lfs 3.6s ease-in-out infinite alternate}
@keyframes lfb{to{transform:translateY(-227px)}}
@keyframes lfs{to{transform:translateY(-76px)}}
.lcost{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;color:rgba(0,0,0,.55)}
.lcost span{flex:none;white-space:nowrap}.lcost i{display:block;height:10px;border-radius:5px;background:#3a3d7e}
.lcol.mine .lcost i{background:#fb7132}
.same{margin-top:18px;padding:22px 26px;border:2px solid #fb7132;border-radius:16px;text-align:center}
.same b{display:block;font-size:clamp(19px,2vw,24px);font-weight:900;letter-spacing:.02em}
.same b em{font-style:normal;color:#fb7132}
.same p{margin:8px 0 0;font-size:14.5px;line-height:1.9;color:rgba(0,0,0,.72)}
.cmp{margin-top:22px;border-top:1px solid rgba(255,148,26,.32)}
.cr{display:grid;grid-template-columns:150px 1fr 1fr 1.2fr;gap:16px;padding:14px 4px;border-bottom:1px solid rgba(255,148,26,.32);font-size:14px;line-height:1.75}
.cr>div:first-child{font-weight:900}
.cr>div:nth-child(2){color:rgba(0,0,0,.66)}
.cr>div:nth-child(3){color:#000000;font-weight:700}
.cr>div:nth-child(4){color:#3a3d7e}
.cr.ch{font-size:12px;font-weight:700;letter-spacing:.1em;color:rgba(0,0,0,.5)}
.cr.ch>div{color:rgba(0,0,0,.5)!important;font-weight:700!important}
.cr.ch>div:nth-child(3){color:#fb7132!important}
@media (max-width:900px){.lift{grid-template-columns:1fr}}
@media (max-width:600px){
 .cr.ch{display:none}
 .cr{grid-template-columns:1fr;gap:4px}
 .cr>div[data-l]::before{content:attr(data-l)'：';font-weight:700;font-size:12px;color:rgba(0,0,0,.5)}
 .same{padding:18px 16px}
}

/* 範囲を定めてから、取り組みます（費用の境目＝データを集積する場所の数） */
.scope{margin-top:40px;border:2px solid #3a3d7e;border-radius:18px;padding:30px 32px;background:#ffffff}
.scope .lbl{color:#3a3d7e}
.scope .sh{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);font-weight:900;letter-spacing:.02em}
.scope>p{margin:0;font-size:15px;line-height:1.95;color:rgba(0,0,0,.78);max-width:860px}
.bound{margin-top:22px;padding:22px 24px;border-radius:14px;background:rgba(58,61,126,.05)}
.bound>b{display:block;font-size:clamp(17px,1.7vw,21px);font-weight:900}
.bound>b em{font-style:normal;color:#fb7132}
.bound>p{margin:8px 0 0;font-size:14.5px;line-height:1.95;color:rgba(0,0,0,.75);max-width:860px}
.bfig{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.bc{background:#ffffff;border:1px solid rgba(58,61,126,.25);border-radius:12px;padding:16px 18px}
.bc.mine{border-color:rgba(251,113,50,.5)}
.bc .hd{font-size:12.5px;letter-spacing:.2em;font-weight:700;color:#3a3d7e;margin-bottom:6px}
.bc.mine .hd{color:#fb7132}
.bc .bf{width:100%;max-width:380px;height:auto;display:block;margin:0 auto}
.bc .cap{margin-top:6px;font-size:13px;font-weight:700;text-align:center;color:rgba(0,0,0,.66)}
.bf .bt{font-size:13px;font-weight:900;text-anchor:middle;letter-spacing:.1em}
.bf .bt.s{font-size:11px}
.bf .fl{stroke-dasharray:4 5}
.in .bf .fl{animation:bflow 1.1s linear infinite}
@keyframes bflow{to{stroke-dashoffset:-18}}
@media (max-width:900px){.bfig{grid-template-columns:1fr}}
@media (max-width:600px){.scope{padding:22px 18px}.bound{padding:18px 16px}}

/* 04 AIへの道筋：回り道に気づき、近道を提案し、仕事を引き受ける（16秒で一巡。STEP1〜4の箱が絵に合わせて順に反転） */
.aiscene{width:100%;height:auto;display:block;margin:0 auto 18px;max-width:900px;overflow:visible}
.aiscene .sl{font-size:15px;font-weight:700;fill:rgba(0,0,0,.55);text-anchor:middle}
.aiscene .sn{font-size:18px;font-weight:900;fill:#373eb9;text-anchor:middle;opacity:.7}
.aiscene .tg{font-size:15px;font-weight:900;text-anchor:middle;letter-spacing:.06em}
.aiscene .ai{font-size:17px;font-weight:900;fill:#ffffff;text-anchor:middle}
.aiscene .ud{opacity:0}
.aiscene .er{transform-box:fill-box;transform-origin:center}
.in .aiscene .rd{stroke-dasharray:100;animation:ai-rd 16s linear infinite}
.in .aiscene .dt{animation:ai-dt 16s linear infinite}
.in .aiscene .sc{animation:ai-sc 16s linear infinite}
.in .aiscene .ak{animation:ai-ak 16s linear infinite}
.in .aiscene .er{animation:ai-er 16s ease-out infinite}
.in .aiscene .u1{animation:ai-u1 16s linear infinite}
.in .aiscene .u2{animation:ai-u1 16s linear .9s infinite}
.in .aiscene .u3{animation:ai-u3 16s linear infinite}
@keyframes ai-rd{0%{stroke-dashoffset:100}15%,100%{stroke-dashoffset:0}}
@keyframes ai-dt{0%,40%{opacity:0}46%,72%{opacity:1}80%,100%{opacity:.2}}
@keyframes ai-sc{0%,52%{opacity:0}57%,100%{opacity:1}}
@keyframes ai-ak{0%,78%{opacity:0}83%,100%{opacity:1}}
@keyframes ai-er{0%,25%{opacity:0;transform:scale(.7)}30%{opacity:1}36%{opacity:0;transform:scale(1.25)}37%{opacity:0;transform:scale(.7)}42%{opacity:1}48%{opacity:0;transform:scale(1.25)}100%{opacity:0}}
@keyframes ai-u1{0%,25%{opacity:0;transform:translate(60px,170px)}26%{opacity:1;transform:translate(60px,170px)}31%{transform:translate(300px,170px)}34%{transform:translate(300px,80px)}39%{transform:translate(460px,80px)}42%{transform:translate(460px,170px)}47%{opacity:1;transform:translate(700px,170px)}48%,100%{opacity:0;transform:translate(700px,170px)}}
@keyframes ai-u3{0%,76%{opacity:0;fill:#3a3d7e;transform:translate(60px,170px)}77%{opacity:1;fill:#3a3d7e;transform:translate(60px,170px)}82%{fill:#3a3d7e;transform:translate(300px,170px)}86%{fill:#3a3d7e;transform:translate(460px,170px)}87%{fill:#fb7132}94%{opacity:1;fill:#fb7132;transform:translate(700px,170px)}95%,100%{opacity:0;fill:#fb7132;transform:translate(700px,170px)}}
.st:nth-child(1){--c:#000000}.st:nth-child(2){--c:#3a3d7e}.st:nth-child(3){--c:#373eb9}.st:nth-child(4){--c:#fb7132}
.in .st{animation:st-sync 16s linear infinite}
.in .st:nth-child(2){animation-delay:4s}.in .st:nth-child(3){animation-delay:8s}.in .st:nth-child(4){animation-delay:12s}
@keyframes st-sync{0%,100%{background:#ffffff;color:var(--c);box-shadow:inset 0 0 0 2px var(--c)}24%{background:#ffffff;color:var(--c);box-shadow:inset 0 0 0 2px var(--c)}25.5%,99%{background:var(--c);color:#ffffff;box-shadow:inset 0 0 0 2px var(--c)}}

/* 「動きを減らす」設定：説明の絵は止めずに、半分の速さで動かす（飾りの動きは上の指定で止める） */
@media (prefers-reduced-motion:reduce){
 .in .liftfig .cb0{animation-duration:3.4s}.in .liftfig .cb1{animation-duration:4.4s}.in .liftfig .cb2{animation-duration:3s}
 .in .liftfig .cb3{animation-duration:4s}.in .liftfig .cb4{animation-duration:3.6s}.in .liftfig .cb5{animation-duration:4.8s}.in .liftfig .cs{animation-duration:7.2s}
 .in .aiscene .rd,.in .aiscene .dt,.in .aiscene .sc,.in .aiscene .ak,.in .aiscene .er,.in .aiscene .u1,.in .aiscene .u3{animation-duration:32s}
 .in .aiscene .u2{animation-duration:32s;animation-delay:1.8s}
 .in .st{animation-duration:32s}.in .st:nth-child(2){animation-delay:8s}.in .st:nth-child(3){animation-delay:16s}.in .st:nth-child(4){animation-delay:24s}
 .in .bf .fl{animation-duration:2.2s}
}

/* 04 学びの記録は最初に入れるか後から入れるか（配管のたとえ） */
.fork{margin:34px 0 46px}
.forkfig{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.fc{border:1px solid rgba(58,61,126,.3);border-radius:16px;padding:22px 24px;background:#ffffff;display:flex;flex-direction:column}
.fc.mine{border:2px solid #fb7132;background:rgba(255,148,26,.05)}
.fc .hd{font-size:15px;font-weight:900;color:#3a3d7e;margin-bottom:8px;letter-spacing:.06em}
.fc.mine .hd{color:#fb7132}
.fc .ff{width:100%;max-width:300px;height:auto;display:block;margin:0 auto 10px;overflow:visible}
.ff .fk{font-size:12px;font-weight:700;text-anchor:middle}
.ff .pp{stroke-dasharray:6 5}
.in .ff .pp{animation:bflow 1.2s linear infinite}
.fc p{margin:0 0 12px;font-size:14px;line-height:1.85;color:rgba(0,0,0,.75)}
.fc .pr{margin-top:auto;font-size:17px;font-weight:900;color:#3a3d7e}
.fc.mine .pr{color:#fb7132}
.fc .pr small{font-size:13px;font-weight:700}
@media (max-width:760px){.forkfig{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.in .ff .pp{animation-duration:2.4s}}
.tasks.three{grid-template-columns:repeat(3,1fr)}
.fork{margin:44px 0 0}
.fc.mine{border:1px solid rgba(251,113,50,.5);background:#ffffff}
@media (max-width:900px){.tasks.three{grid-template-columns:1fr}}
@media (max-width:600px){
 .choose{grid-template-columns:1fr;gap:12px}
 .ch{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:start;padding:18px 16px}
 .ch .n{grid-row:1 / 3;font-size:26px;padding-top:2px}
 .ch h3{margin:0 0 4px;font-size:16px}
}

/* 事業案内（主事業＝濃いオレンジの太枠、開発事業＝青、エネルギー事業＝紺） */
.biz-main{margin-top:44px;display:grid;grid-template-columns:90px 1fr;gap:20px;padding:32px 34px;border:2px solid rgba(58,61,126,.55);border-radius:18px;background:rgba(58,61,126,.2)}
.biz-main .bn{font-size:54px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1.4px #3a3d7e}
.biz-main .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.2em;color:#ffffff;background:#3a3d7e;padding:3px 12px;border-radius:999px}
.biz-main h2{margin:10px 0 10px}
.biz-main p{margin:0 0 20px;font-size:15.5px;line-height:1.95;color:rgba(0,0,0,.78);max-width:760px}
.bizs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.biz{padding:24px 26px;border-radius:16px;background:#ffffff;border:1px solid rgba(55,62,185,.35)}
.biz.en{border-color:rgba(58,61,126,.35)}
.biz .bn{font-size:30px;font-weight:900;line-height:1;color:#373eb9}
.biz.en .bn{color:#3a3d7e}
.biz h3{margin:10px 0 8px;font-size:18px}
.biz p{margin:0;font-size:14px;line-height:1.85;color:rgba(0,0,0,.72)}
.biz .bq{margin-top:14px;padding:12px 14px;border-radius:10px;background:rgba(58,61,126,.06);font-size:14px;line-height:1.9}
.biz .bq b{display:block;font-size:12.5px;color:#3a3d7e;letter-spacing:.08em}
.biz .bq a{color:#3a3d7e}
@media (max-width:760px){.biz-main{grid-template-columns:1fr;padding:24px 20px;gap:8px}.biz-main .bn{font-size:42px}.bizs{grid-template-columns:1fr}.biz-main .btn{display:block}}

/* ロゴ：オレンジ（ヘッダー・紺の帯・ファビコン）と青（フッター）を使い分ける */
.contact img{background:none;padding:0;border-radius:0;width:104px}
footer .fl{display:inline-flex;align-items:center;gap:8px}
footer .fl img{width:22px;height:auto}

/* 引っ越しの案内ページ（Googleサイト時代の古いアドレス・404） */
.moved{max-width:760px}
.mv-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn.s2{border:1px solid #fb7132;color:#fb7132}

/* ---- MAJES 呼び出しタブと対面画面（全ページ共通。js/majes.js が組み立てる） ---- */
.mj-tab{position:fixed;right:0;top:30%;transform:translateY(-50%);z-index:30;writing-mode:vertical-rl;background:#3a3d7e;color:#fff;border:0;border-radius:10px 0 0 10px;padding:18px 10px 18px 12px;font:700 13px/1 'Noto Sans JP','Hiragino Sans',sans-serif;letter-spacing:.22em;cursor:pointer;box-shadow:-2px 2px 10px rgba(0,0,0,.25);transition:transform .35s ease,opacity .3s,background .2s;display:flex;align-items:center;gap:10px}
.mj-tab i{width:8px;height:8px;border-radius:50%;background:#ff941a;animation:mjPing 2.2s ease-out infinite}
.mj-tab:hover{background:#373eb9}
body.mj-open .mj-tab{transform:translate(110%,-50%);opacity:0;pointer-events:none}
@keyframes mjPing{0%{box-shadow:0 0 0 0 rgba(255,148,26,.6)}70%{box-shadow:0 0 0 9px rgba(255,148,26,0)}100%{box-shadow:0 0 0 0 rgba(255,148,26,0)}}
.mj-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100%;z-index:31;background:#fff;box-shadow:-6px 0 28px rgba(0,0,0,.22);transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;font-family:'Noto Sans JP','Hiragino Sans',sans-serif}
.mj-panel.open{transform:none}.mj-panel.noanim{transition:none}
.mj-head{position:relative;background:#3a3d7e radial-gradient(ellipse at 80% 50%,rgba(0,0,0,0),rgba(0,0,0,.45) 75%);color:#fff;height:96px;flex:none;overflow:hidden}
.mj-name{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-weight:900;font-size:19px;letter-spacing:.08em;line-height:1.2}
.mj-name small{display:block;font-size:11px;font-weight:400;letter-spacing:.14em;opacity:.85;margin-top:5px}
.mj-close{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.mj-close:hover{background:rgba(255,255,255,.26)}
/* ホログラム風の案内役：線のシルエットを3枚ずらして重ね、各層を別々に揺らして立体に見せる */
.mj-holo{position:absolute;right:34px;top:6px;width:120px;height:84px}
.mj-holo svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mj-holo .base{position:absolute;left:50%;bottom:-6px;width:70px;height:12px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.55),rgba(55,62,185,.45) 45%,rgba(55,62,185,0) 72%);animation:mjBase 3s ease-in-out infinite}
.mj-holo .scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);pointer-events:none;overflow:hidden}
.mj-holo .scan::after{content:'';position:absolute;left:0;right:0;height:38px;top:-40px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.22),rgba(255,255,255,0));animation:mjScan 4.6s linear infinite}
.mj-holo path{fill:none;stroke:#fff;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.mj-holo .body{fill:rgba(255,255,255,.07)}
.mj-holo .pin{stroke:#ff941a;fill:#ff941a}
.mj-holo .ly{transform-origin:100px 214px;filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}
.mj-holo .ly.a{opacity:.3;animation:mjLyA 5.2s ease-in-out infinite}
.mj-holo .ly.b{opacity:.55;animation:mjLyB 6.1s ease-in-out infinite}
.mj-holo .ly.c{opacity:1;animation:mjLyC 7s ease-in-out infinite}
.mj-holo .fig{animation:mjFlick 3.7s steps(1,end) infinite}
.mj-holo .head{transform-origin:100px 96px;animation:mjNod 6.3s ease-in-out infinite}
.mj-holo .fore.l{transform-origin:56px 160px;animation:mjGl 9.1s ease-in-out infinite}
.mj-holo .fore.r{transform-origin:144px 160px;animation:mjGr 7.3s ease-in-out infinite .8s}
.mj-holo.talk .fore.l{animation-duration:4.2s}.mj-holo.talk .fore.r{animation-duration:3.4s}.mj-holo.talk .head{animation-duration:2.6s}
@keyframes mjLyA{0%,100%{transform:translateX(-5px) skewX(-2deg)}50%{transform:translateX(-2px) skewX(1deg)}}
@keyframes mjLyB{0%,100%{transform:translateX(-2px)}50%{transform:translateX(2px)}}
@keyframes mjLyC{0%,100%{transform:translateX(2px) skewX(1deg)}50%{transform:translateX(5px) skewX(-1.5deg)}}
@keyframes mjFlick{0%,31%,33%,64%,65.5%,100%{opacity:1}32%{opacity:.7}64.5%{opacity:.55}}
@keyframes mjNod{0%,100%{transform:rotate(0)}18%{transform:rotate(-2.5deg)}40%{transform:rotate(1.5deg)}57%{transform:rotate(-1deg)}80%{transform:rotate(2deg)}}
@keyframes mjGr{0%,100%{transform:rotate(0)}12%{transform:rotate(30deg)}20%{transform:rotate(22deg)}34%{transform:rotate(44deg)}46%{transform:rotate(12deg)}58%{transform:rotate(36deg)}72%{transform:rotate(0)}}
@keyframes mjGl{0%,100%{transform:rotate(0)}22%{transform:rotate(0)}30%{transform:rotate(-26deg)}38%{transform:rotate(-18deg)}50%{transform:rotate(-38deg)}62%{transform:rotate(-8deg)}70%{transform:rotate(-30deg)}84%{transform:rotate(0)}}
@keyframes mjBase{0%,100%{opacity:.8;transform:translateX(-50%) scaleX(1)}50%{opacity:1;transform:translateX(-50%) scaleX(1.06)}}
@keyframes mjScan{0%{top:-40px}100%{top:104%}}
/* 動きを減らす設定：手ぶり・頷きは半分の速さ、飾りの点滅は止める（C案） */
.mj-holo.rm .fore.l{animation-duration:18s}.mj-holo.rm .fore.r{animation-duration:14.6s}.mj-holo.rm .head{animation-duration:12.6s}
.mj-holo.rm .ly{animation-duration:12s}.mj-holo.rm .scan::after,.mj-holo.rm .fig{animation:none}
@media (prefers-reduced-motion:reduce){.mj-tab i{animation:none}.mj-panel{transition:opacity .3s}.mj-panel:not(.open){opacity:0;pointer-events:none}}
.mj-log{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px}
.mj-m{max-width:86%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
.mj-m.a{align-self:flex-start;background:rgba(55,62,185,.08);border-bottom-left-radius:4px}
.mj-m.u{align-self:flex-end;background:rgba(255,148,26,.18);border-bottom-right-radius:4px}
.mj-m.wait{display:flex;gap:5px;padding:12px 14px}.mj-m.wait i{width:7px;height:7px;border-radius:50%;background:#373eb9;animation:mjDot 1.2s infinite}.mj-m.wait i:nth-child(2){animation-delay:.2s}.mj-m.wait i:nth-child(3){animation-delay:.4s}
@keyframes mjDot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.mj-line{margin:0 16px 10px;padding:12px 14px;border:1px solid rgba(55,62,185,.35);border-radius:12px;font-size:12.5px;line-height:1.7;background:rgba(55,62,185,.04)}
.mj-line p{margin:0 0 10px}
.mj-linebtn{display:block;text-align:center;background:#373eb9;color:#fff;text-decoration:none;font-weight:700;padding:10px;border-radius:999px;font-size:13px;letter-spacing:.08em}
.mj-linebtn.soon{background:rgba(0,0,0,.35);pointer-events:none}
.mj-form{display:flex;gap:8px;padding:10px 16px;border-top:1px solid rgba(0,0,0,.08)}
.mj-form input{flex:1;border:1px solid rgba(0,0,0,.25);border-radius:999px;padding:10px 14px;font-size:14px;font-family:inherit;min-width:0}
.mj-form input:focus{outline:none;border-color:#373eb9}
.mj-form button{border:0;background:#fb7132;color:#fff;font-weight:700;padding:0 18px;border-radius:999px;font-size:13px;cursor:pointer;font-family:inherit}
.mj-note{margin:0;padding:0 16px 12px;font-size:10.5px;line-height:1.6;color:rgba(0,0,0,.5)}
@media (max-width:600px){.mj-panel{width:100%}.mj-tab{padding:14px 8px 14px 10px;font-size:12px}.mj-head{height:90px}.mj-holo{right:26px}.mj-form input{font-size:16px}}
/* コマ表版の案内役：1コマ 200×140 を 0.6 倍（120×84）で表示。--fx/--fy でコマを選び、3層が同じコマを映す */
.mj-holo.sp .ly{position:absolute;inset:0;background-repeat:no-repeat;background-position:calc(var(--fx,0) * -120px) calc(var(--fy,0) * -84px);filter:drop-shadow(0 0 2px rgba(255,255,255,.6)) drop-shadow(0 0 8px rgba(55,62,185,.95))}
.mj-holo.sp .figwrap[data-sheet=idle] .ly{background-image:url(../assets/majes-idle.png?v=20261015m);background-size:600px 336px}
.mj-holo.sp .figwrap[data-sheet=talk] .ly{background-image:url(../assets/majes-talk.png?v=20261015m);background-size:600px 672px}
.mj-holo.sp .ly.a{opacity:.35;animation:mjImA 5.2s ease-in-out infinite}
.mj-holo.sp .ly.b{opacity:.6;animation:mjImB 6.1s ease-in-out infinite}
.mj-holo.sp .ly.c{opacity:1;animation:mjImC 7s ease-in-out infinite,mjFlick 3.7s steps(1,end) infinite}
.mj-holo.sp.talk .ly.c{animation-duration:3.5s,1.9s}
.mj-holo.sp.glitch .figwrap{animation:mjGlitch .18s steps(2,end) 1}
@keyframes mjGlitch{0%{transform:scaleX(-1) translateX(3px);opacity:.6}50%{transform:scaleX(-1) translateX(-4px);opacity:1}100%{transform:scaleX(-1);opacity:.8}}
@keyframes mjImA{0%,100%{transform:translateX(-6px) skewX(-2deg)}50%{transform:translateX(-2px) skewX(1deg) translateY(2px)}}
@keyframes mjImB{0%,100%{transform:translateX(-2px)}50%{transform:translateX(3px) translateY(-2px)}}
@keyframes mjImC{0%,100%{transform:translateX(3px) skewX(1deg)}50%{transform:translateX(6px) skewX(-1.5deg) translateY(1px)}}
.mj-holo.sp.rm .ly{animation-duration:12s,0s}
/* 案内役は左（ページの側）を向く。周りに小さな形（点・輪・線）を無作為に浮かべ、話している間は速くし、口元から波紋を出す */
.mj-holo .figwrap{position:absolute;inset:0;transform:scaleX(-1)}
.mj-holo .bits{position:absolute;inset:-30px -20px -10px -60px;pointer-events:none;--spd:1}
.mj-holo.talk .bits{--spd:2.4}
.mj-holo .bits i{position:absolute;display:block;left:var(--x);top:var(--y);width:var(--s);height:var(--s);opacity:0;animation:mjFloat calc(var(--d)/var(--spd)) linear infinite;animation-delay:var(--dl)}
.mj-holo .bits i.dot{border-radius:50%;background:#fff}
.mj-holo .bits i.ring{border-radius:50%;border:1px solid rgba(255,255,255,.8)}
.mj-holo .bits i.dash{height:1px;width:calc(var(--s)*3);background:rgba(255,148,26,.9)}
.mj-holo .bits i.sq{border:1px solid rgba(55,62,185,1);box-shadow:0 0 4px rgba(55,62,185,1);transform:rotate(45deg)}
@keyframes mjFloat{0%{opacity:0;transform:translate(0,8px) scale(.6)}20%{opacity:.9}60%{opacity:.5}100%{opacity:0;transform:translate(var(--mx),-26px) scale(1.1)}}
.mj-holo .wave{position:absolute;left:-10px;top:34%;width:14px;height:14px;pointer-events:none}
.mj-holo .wave i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.8);opacity:0;transform:scale(.4)}
.mj-holo.talk .wave i{animation:mjWave 1.4s ease-out infinite}
.mj-holo.talk .wave i:nth-child(2){animation-delay:.45s}.mj-holo.talk .wave i:nth-child(3){animation-delay:.9s}
@keyframes mjWave{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(3.2) translateX(-6px)}}
.mj-holo.rm .bits i{animation-duration:calc(var(--d)*2)}.mj-holo.rm.talk .wave i{animation-duration:2.8s}
/* スマホではメニューの「システムについて」を「システム」に縮める（1行に収めるため） */
@media (max-width:600px){header.top nav a{margin-left:12px;font-size:11.5px}header.top nav a.cta{padding:6px 9px}.pcw{display:none}}
/* システムについて：MAJES の案内枠、コンパクトなエレベーター */
.mjguide{margin-top:28px;padding:20px 24px;border:1px solid rgba(55,62,185,.35);border-left:4px solid #373eb9;border-radius:12px;background:rgba(55,62,185,.04);max-width:820px}
.mjguide b{display:block;font-size:15px;font-weight:900;line-height:1.7;letter-spacing:.02em}
.mjguide p{margin:8px 0 0;font-size:14px;line-height:1.9;color:rgba(0,0,0,.78)}
.lift.compact{max-width:760px;margin-left:auto;margin-right:auto}
/* トップ：下層ページへの案内 */
.golink{margin-top:36px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 22px;border:1px solid rgba(255,148,26,.32);border-radius:14px;background:rgba(255,148,26,.05)}
.golink b{font-size:16px;font-weight:900}.golink span{flex:1;font-size:13.5px;color:rgba(0,0,0,.66);min-width:200px}
.golink .btn{margin:0;border:1px solid #fb7132;color:#fb7132;padding:10px 20px;font-size:13.5px}
/* トップ 02〜04：丸の流れ・壁の札・真逆の帯・3つの理由 */
.erpflow,.aicirc{width:100%;height:auto;display:block;max-width:960px;margin:34px auto 8px;overflow:visible}
.erpflow .ln,.aicirc .ln{fill:none;stroke:rgba(0,0,0,.25);stroke-width:1.4;stroke-dasharray:100;stroke-dashoffset:100}
.in .erpflow .ln,.in .aicirc .ln{animation:erpln 2.4s ease-out forwards .2s}
@keyframes erpln{to{stroke-dashoffset:0}}
.erpflow .nd circle{fill:#ffffff;stroke:#3a3d7e;stroke-width:1.6}
.erpflow .nd text,.aicirc .nd text{font-size:15px;font-weight:700;text-anchor:middle;fill:#000000}
.erpflow .nd{opacity:0;transform:translateY(8px)}
.in .erpflow .nd{animation:ndin .6s ease-out forwards}
.in .erpflow .n2{animation-delay:.4s}.in .erpflow .n3{animation-delay:.8s}.in .erpflow .n4{animation-delay:1.2s}.in .erpflow .n5{animation-delay:1.6s}.in .erpflow .n6{animation-delay:2s}
.erpflow .n6 circle{fill:#3a3d7e}.erpflow .n6 text{fill:#ffffff}
@keyframes ndin{to{opacity:1;transform:none}}
.walls{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.wl{border:1px solid rgba(0,0,0,.35);border-radius:12px;padding:20px 14px;text-align:center;background:rgba(0,0,0,.03)}
.wl b{font-size:15px;line-height:1.6;color:rgba(0,0,0,.78)}
.flip{position:relative;margin-top:26px;background:#3a3d7e;color:#fff;border-radius:16px;padding:30px 34px;overflow:hidden}
.flip .ft{position:relative;z-index:1;max-width:620px}
.flip .ft b{display:block;font-size:22px;font-weight:900;letter-spacing:.04em;line-height:1.5}
.flip .ft p{margin:10px 0 0;font-size:15px;line-height:1.9;color:rgba(255,255,255,.88)}
.flip .why{position:absolute;right:28px;top:50%;transform:translateY(-50%);font-size:clamp(56px,9vw,120px);font-weight:900;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.45);letter-spacing:.02em;white-space:nowrap;pointer-events:none}
.reasons{align-items:center}
.reasons .rs{display:grid;gap:14px}
.r.card{padding:22px 24px;display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:baseline}
.r.card .n{font-size:26px;font-weight:900;color:#fb7132;line-height:1}
.r.card h3{margin:0;font-size:18px}.r.card p{grid-column:2;margin:6px 0 0;font-size:14px;line-height:1.8;color:rgba(0,0,0,.66)}
.aicirc .nd circle{fill:#ffffff;stroke-width:1.8}
.aicirc .c1 circle{stroke:#000000}.aicirc .c2 circle{stroke:#3a3d7e}.aicirc .c3 circle{stroke:#373eb9}.aicirc .c4 circle{stroke:#fb7132}
.in .aicirc .nd circle{animation:aic 12s linear infinite}
.in .aicirc .c2 circle{animation-delay:3s}.in .aicirc .c3 circle{animation-delay:6s}.in .aicirc .c4 circle{animation-delay:9s}
.in .aicirc .nd text{animation:aict 12s linear infinite}
.in .aicirc .c2 text{animation-delay:3s}.in .aicirc .c3 text{animation-delay:6s}.in .aicirc .c4 text{animation-delay:9s}
.aicirc .c1 circle{--c:#000000}.aicirc .c2 circle{--c:#3a3d7e}.aicirc .c3 circle{--c:#373eb9}.aicirc .c4 circle{--c:#fb7132}
@keyframes aic{0%,24%{fill:#ffffff}25%,99%{fill:var(--c)}100%{fill:#ffffff}}
@keyframes aict{0%,24%{fill:#000000}25%,99%{fill:#ffffff}100%{fill:#000000}}
.golink button.btn{cursor:pointer;background:transparent;font-family:inherit}
@media (max-width:900px){.walls{grid-template-columns:1fr 1fr}.flip .why{font-size:48px;right:14px;opacity:.8}}
@media (max-width:600px){.erpflow .nd text,.aicirc .nd text{font-size:22px}.erpflow,.aicirc{margin-top:22px}.flip{padding:24px 20px 60px}.flip .why{top:auto;bottom:6px;transform:none;font-size:44px}}
/* 丸の流れ：スマホは縦並びの版に切り替える */
.erpflow.m,.aicirc.m{display:none}
.erpflow.m .nd text,.aicirc.m .nd text{text-anchor:start;font-size:17px}
@media (max-width:600px){.erpflow.d,.aicirc.d{display:none}.erpflow.m,.aicirc.m{display:block;max-width:320px;margin-left:0}.erpflow .nd text,.aicirc .nd text{font-size:17px}.aicirc.m .nd text{fill:#000000}}
/* 02〜04 の手直し：矢印の流れ・大きな丸・小さな帯 */
.erpflow .ln,.aicirc .ln{stroke:rgba(0,0,0,.5);stroke-width:1.6;stroke-dasharray:none;stroke-dashoffset:0;opacity:0}
.in .erpflow .ln,.in .aicirc .ln{animation:ndin .5s ease-out forwards}
.in .erpflow .s1{animation-delay:.3s}.in .erpflow .s2{animation-delay:.7s}.in .erpflow .s3{animation-delay:1.1s}.in .erpflow .s4{animation-delay:1.5s}.in .erpflow .s5{animation-delay:1.9s}
.in .aicirc .s1{animation-delay:.4s}.in .aicirc .s2{animation-delay:.9s}.in .aicirc .s3{animation-delay:1.4s}
.erpflow .nd text,.aicirc .nd text{font-size:17px}
.aicirc .nd text{font-size:19px}
.erpflow.m .nd text,.aicirc.m .nd text{font-size:19px}
.flip{background:rgba(58,61,126,.2);color:#3a3d7e;border-radius:10px;padding:14px 22px;margin-top:22px;max-width:760px}
.flip p{margin:0;font-size:15px;line-height:1.8}.flip p b{font-weight:900;color:#3a3d7e}
@media (max-width:600px){.flip{padding:14px 18px}}
/* 02 の帯：上の札と同じ幅いっぱい、文字は1.5倍で中央 */
.flip{max-width:none;text-align:center;padding:18px 22px}
.flip p{font-size:22.5px;line-height:1.7}
@media (max-width:600px){.flip p{font-size:17px}}
/* スマホの流れ：横長の丸の中に文字、中央寄せ */
.erpflow .nd ellipse{fill:#ffffff;stroke:#3a3d7e;stroke-width:1.6}.erpflow .n6 ellipse{fill:#3a3d7e}
.aicirc .nd ellipse{fill:#ffffff;stroke-width:1.8}
.aicirc .c1 ellipse{stroke:#000000;--c:#000000}.aicirc .c2 ellipse{stroke:#3a3d7e;--c:#3a3d7e}.aicirc .c3 ellipse{stroke:#373eb9;--c:#373eb9}.aicirc .c4 ellipse{stroke:#fb7132;--c:#fb7132}
.in .aicirc .nd ellipse{animation:aic 12s linear infinite}
.in .aicirc .c2 ellipse{animation-delay:3s}.in .aicirc .c3 ellipse{animation-delay:6s}.in .aicirc .c4 ellipse{animation-delay:9s}
.erpflow.m .nd text,.aicirc.m .nd text{text-anchor:middle;font-size:18px}
.erpflow.m .n6 text{fill:#ffffff}
.aicirc.m .nd text{fill:#000000}
.in .aicirc.m .nd text{animation:aict 12s linear infinite}
.in .aicirc.m .c2 text{animation-delay:3s}.in .aicirc.m .c3 text{animation-delay:6s}.in .aicirc.m .c4 text{animation-delay:9s}
@media (max-width:600px){.erpflow.m,.aicirc.m{max-width:300px;margin-left:auto;margin-right:auto}}
/* LINE 登録の枠：ボタン1つ → QR と ID */
.mj-line{padding:10px 12px}
.mj-lbox{display:flex;gap:14px;align-items:flex-start;margin-top:12px}
.mj-lbox .qr{flex:none;width:120px;height:120px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff}
.mj-lbox .lb{flex:1;min-width:0;font-size:12.5px;line-height:1.7}
.mj-lbox .lid{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mj-lbox .lid b{font-size:15px;letter-spacing:.02em}
.mj-lbox .cp{border:1px solid #373eb9;background:#fff;color:#373eb9;font:700 11px/1 'Noto Sans JP','Hiragino Sans',sans-serif;padding:6px 10px;border-radius:999px;cursor:pointer}
.mj-lbox .lopen{display:inline-block;margin-top:8px;background:#373eb9;color:#fff;text-decoration:none;font-weight:700;font-size:12.5px;padding:8px 14px;border-radius:999px}
.mj-lbox small{display:block;margin-top:8px;font-size:10.5px;color:rgba(0,0,0,.55);line-height:1.6}
/* 各ページ下の帯：LINE の案内（QR・ID・開く） */
.contact .info .ln{margin:0 0 12px;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.82)}
.contact .lineadd{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px}
.contact .lineadd .qr{width:128px;height:128px;background:#fff;border-radius:10px;padding:6px}
.contact .lineadd .lid{display:flex;align-items:center;gap:8px;font-size:13px}
.contact .lineadd .lid b{font-size:15px;letter-spacing:.02em}
.contact .lineadd .cp{border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;font:700 11px/1 'Noto Sans JP','Hiragino Sans',sans-serif;padding:6px 10px;border-radius:999px;cursor:pointer}
.contact .lineadd .btn{padding:10px 22px;font-size:13.5px}
@media (max-width:900px){.contact{flex-direction:column;align-items:flex-start}.contact .lineadd{align-items:flex-start}}
@media (max-width:600px){.contact .msg{font-size:19px;line-height:1.55}}
/* 入力欄：複数行（Shift+Enter で改行）。スマホはチャットの文字を 15% 大きく */
.mj-form{align-items:flex-end}
.mj-form textarea{flex:1;border:1px solid rgba(0,0,0,.25);border-radius:18px;padding:10px 14px;font-size:14px;line-height:1.5;font-family:inherit;min-width:0;resize:none;max-height:120px;overflow-y:auto}
.mj-form textarea:focus{outline:none;border-color:#373eb9}
.mj-form button{height:40px}
@media (max-width:600px){.mj-m{font-size:16px}.mj-form textarea{font-size:16px}.mj-note{font-size:12px}.mj-line{font-size:14px}.mj-lbox .lb{font-size:14px}.mj-lbox small{font-size:12px}.mj-linebtn{font-size:15px}}
/* 個人情報の取り扱い：AI の表 */
.ptable{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:13.5px;line-height:1.7}
.ptable th,.ptable td{border:1px solid rgba(0,0,0,.18);padding:10px 12px;text-align:left;vertical-align:top}
.ptable th{background:rgba(58,61,126,.06);font-weight:700;white-space:nowrap}
@media (max-width:600px){.ptable,.ptable tr,.ptable td,.ptable th{display:block;width:100%}.ptable th{display:none}.ptable td{border:0;border-top:1px solid rgba(0,0,0,.12);padding:8px 0}.ptable tr{margin-bottom:14px;border:1px solid rgba(0,0,0,.18);border-radius:10px;padding:8px 12px}.ptable td:first-child{font-weight:700;color:#3a3d7e;border-top:0}}
@media (max-width:600px){.ptable thead,.ptable tr:first-child{display:none}}
/* 事業案内：agentMAJES の区画 */
.biz .more{margin:10px 0 0;font-size:13px}.biz .more a{color:#373eb9;font-weight:700;text-decoration:none}
#majes h2 em{font-style:normal;color:#fb7132}
.mjs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.mj{padding:22px 22px 18px;border-radius:16px;background:#fff;border:1px solid rgba(55,62,185,.35)}
.mj .mh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.mj .no{font-size:24px;font-weight:900;color:#373eb9;line-height:1}
.mj h3{margin:0;font-size:17px}
.mj .st{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.08em;padding:3px 10px;border-radius:999px}
.mj .st.on{background:#373eb9;color:#fff}.mj .st.soon{background:rgba(255,148,26,.18);color:#fb7132;border:1px solid #fb7132}
.mj p{margin:0 0 10px;font-size:14px;line-height:1.85;color:rgba(0,0,0,.78)}
.mj ul{margin:0;padding-left:18px;font-size:13px;line-height:1.8;color:rgba(0,0,0,.66)}
.mjintro{margin-top:18px;padding:18px 22px;border-radius:14px;background:rgba(58,61,126,.06)}
.mjintro b{display:block;font-size:14px;color:#3a3d7e;margin-bottom:6px}.mjintro p{margin:0;font-size:14px;line-height:1.9}
@media (max-width:900px){.mjs{grid-template-columns:1fr}}
#majes h1 em{font-style:normal;color:#fb7132}
@media (max-width:600px){header.top nav a{margin-left:10px;font-size:11px}}
/* AIエージェント：体験の案内 */
.trybox{margin-top:34px;padding:34px 36px;border-radius:20px;background:#3a3d7e;color:#fff}
.trybox h2{margin:0 0 10px;color:#fff;font-size:clamp(22px,2.4vw,32px);line-height:1.45;filter:none}
.trybox h2 em{font-style:normal;color:#ff941a}
.trybox>p{margin:0 0 18px;font-size:15px;color:rgba(255,255,255,.85)}
.steps4{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.steps4 li{counter-increment:s;position:relative;padding:16px 18px 14px 58px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.steps4 li::before{content:counter(s);position:absolute;left:16px;top:14px;width:30px;height:30px;border-radius:50%;background:#ff941a;color:#000;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:15px}
.steps4 b{display:block;font-size:14.5px;line-height:1.6}
.steps4 span{display:block;margin-top:6px;font-size:12.5px;color:rgba(255,255,255,.75)}
.trybox .note{margin:16px 0 14px;font-size:13.5px;color:rgba(255,255,255,.85)}
.trybox .btn.p{border:0;cursor:pointer;font-family:inherit}
@media (max-width:700px){.trybox{padding:24px 20px}.steps4{grid-template-columns:1fr}}
.mj h3 small{display:block;font-size:12px;font-weight:400;color:rgba(0,0,0,.55);margin-top:2px}
.mjintro .dealer{margin-top:10px;font-size:13px;color:rgba(0,0,0,.66)}
/* AIエージェント：線画の構成 */
.agtop{align-items:center}
.ag1 h1{font-size:clamp(28px,3.4vw,44px)}
.agents{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.ag.card{padding:24px 22px 20px}
.ag .n{font-size:30px;font-weight:900;color:#fb7132;line-height:1;margin-bottom:8px}
.ag h3{margin:0 0 8px;font-size:17px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ag .st{font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:2px 9px;border-radius:999px}
.ag .st.on{background:#373eb9;color:#fff}.ag .st.soon{background:#fff;color:#fb7132;border:1px solid #fb7132}
.ag p{margin:0;font-size:13.5px;line-height:1.85;color:rgba(0,0,0,.78)}
.agguide{align-items:center}
.agsteps{counter-reset:s;list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.agsteps li{counter-increment:s;position:relative;padding:12px 16px 12px 52px;border:1px solid rgba(58,61,126,.35);border-radius:12px;background:rgba(255,255,255,.85)}
.agsteps li::before{content:counter(s);position:absolute;left:14px;top:12px;width:26px;height:26px;border-radius:50%;border:1.5px solid #3a3d7e;color:#3a3d7e;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center}
.agsteps b{display:block;font-size:14px;line-height:1.6}.agsteps span{display:block;margin-top:3px;font-size:12px;color:rgba(0,0,0,.55)}
#jsoncv{background:rgba(255,148,26,.03);border-radius:16px}
@media (max-width:900px){.agents{grid-template-columns:1fr}.agtop canvas{height:280px!important}#jsoncv{height:300px!important}}

/* AIエージェント：ダイヤを箱の後ろに重ねる／PSV の雨／体験の案内 */
.agsec{position:relative;margin-top:56px;padding:40px 0 10px}
.holobg{position:absolute;inset:-40px 0 0;width:100%;height:calc(100% + 40px);pointer-events:none;z-index:0}
.agover{position:relative;z-index:1}
.agover h2{font-weight:900;margin-bottom:8px}
.agover>.lead{margin-bottom:22px}
.ag.card{background:rgba(255,255,255,.86)}
#psvcv{width:100%;display:block;margin-top:6px}
.agsteps li em{display:block;font-style:normal;margin-top:4px;font-size:12.5px;color:#3a3d7e}
@media (max-width:900px){.agsec{margin-top:40px}#psvcv{height:220px!important}}
.agover h2 .nv{color:#3a3d7e}.agover h2 em{font-style:normal;color:#fb7132}
@media (min-width:901px){.agsteps b{font-size:22px;line-height:1.5}.agsteps li{padding:16px 20px 14px 62px}.agsteps li::before{top:16px;width:30px;height:30px;font-size:15px;left:16px}}

/* 事業案内 01：ボタン2つ（システムについて／MAJESへ聞く） */
.bmbtns{display:flex;gap:12px;flex-wrap:wrap}
.bmbtns .btn.p{background:#3a3d7e}
.bmbtns .btn.s{border:1px solid #3a3d7e;color:#3a3d7e;background:transparent;cursor:pointer;font-family:inherit}
.bmbtns .btn{width:246px;box-sizing:border-box;text-align:center}

/* ===== 2026-10-16 物語の協議会（第2版）で追加 ===== */
/* TOP 案2：三事業の行き先 */
.biz3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px}
.biz3 a{display:flex;flex-direction:column;gap:8px;padding:22px 22px 20px;text-decoration:none;color:inherit}
.biz3 .n{font-size:12px;font-weight:700;letter-spacing:.14em;color:#fb7132}
.biz3 h3{margin:0;font-size:19px;font-weight:900;color:#3a3d7e}
.biz3 p{margin:0;font-size:14px;line-height:1.8;color:rgba(0,0,0,.72);flex:1}
.biz3 .go{font-size:13px;font-weight:700;color:#fb7132}
.biz3h{margin:64px 0 0;font-size:20px;font-weight:900;color:#3a3d7e}
.biz3h+.biz3{margin-top:18px}
@media (max-width:760px){.biz3{grid-template-columns:1fr}}
/* AG 案2：一場面 */
.scene{margin-top:40px;padding:26px 28px;border-left:4px solid #fb7132;background:rgba(255,148,26,.06);border-radius:0 14px 14px 0}
.scene h3{margin:0 0 12px;font-size:18px;font-weight:900;color:#3a3d7e}
.scene ol{margin:0;padding-left:1.4em;font-size:15px;line-height:2}
.scene ol li b{color:#fb7132}
/* AG 案3：試した直後に費用 */
.trynext{margin-top:28px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:18px 22px;border-radius:14px;background:#3a3d7e;color:#fff}
.trynext b{font-size:16px;font-weight:900;flex:1;min-width:220px}
.trynext .btn{margin:0}
/* SY 案2：一例 */
.xmpl{margin-top:26px;padding:20px 22px;border:1px solid rgba(255,148,26,.32);border-radius:14px;background:#fff}
.xmpl .hd{font-size:13px;font-weight:700;letter-spacing:.1em;color:#fb7132;margin-bottom:10px}
.xmpl .row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14.5px}
.xmpl .row span{background:rgba(58,61,126,.08);color:#3a3d7e;font-weight:700;padding:8px 12px;border-radius:8px}
.xmpl .row i{font-style:normal;color:#fb7132;font-weight:900}
.xmpl p{margin:12px 0 0;font-size:13.5px;line-height:1.8;color:rgba(0,0,0,.66)}
/* SY 案3：AIなしで始められる */
.noai{margin:18px 0 0;padding:14px 20px;background:rgba(58,61,126,.12);color:#3a3d7e;border-radius:10px;font-size:16px;font-weight:900;line-height:1.7}
.noai small{display:block;font-size:13.5px;font-weight:400;color:rgba(0,0,0,.7)}
.trynext button.btn{background:transparent;cursor:pointer;font-family:inherit}

/* ===== 第2版 ===== */
.agsteps lifooter/* つかみ */
.hook{font-size:clamp(20px,2.4vw,30px);font-weight:900;line-height:1.55;letter-spacing:.03em;color:#3a3d7e;margin-bottom:22px;max-width:760px}
.hero .hook{font-size:clamp(19px,2.2vw,28px);margin-bottom:18px;text-shadow:0 1px 0 #fff}
.page .hook{margin-bottom:28px;padding-left:16px;border-left:4px solid #fb7132}
br.sp{display:none}@media (max-width:600px){br.sp{display:inline}}
/* トップ：谷の章 */
.valley{margin-top:48px;padding:28px 30px;border-radius:16px;background:rgba(58,61,126,.06)}
.valley h3{margin:0 0 14px;font-size:clamp(20px,2.2vw,28px);font-weight:900;line-height:1.5;color:#000}
.valley h3 em{font-style:normal;color:#3a3d7e}
.valley p{margin:0;font-size:15.5px;line-height:2;color:rgba(0,0,0,.78);max-width:860px}
.valley .vq{margin-top:14px;font-weight:700;color:#3a3d7e}
@media (max-width:600px){.valley{padding:22px 18px}}
.flip p.flip2{margin-top:6px;font-size:clamp(16px,1.6vw,19px);font-weight:900;color:#fb7132}
/* システム：一例を大きく */
.xmpl.big{margin-top:24px;padding:26px 26px}
.xmpl.big .row{font-size:16px}.xmpl.big .row span{padding:10px 14px}
.xmpl.big p{font-size:15px}.xmpl.big p b{display:inline-block;font-size:clamp(17px,1.8vw,21px);color:#3a3d7e;margin-bottom:4px}
/* AI：第二の山 */
.peak{margin-top:72px;padding:36px 34px;border-radius:18px;background:#3a3d7e;color:#fff}
.peak .lbl{color:#ff941a}.peak h2{color:#fff;text-shadow:none}.peak h2 em{color:#ff941a}
.peak .lead{color:rgba(255,255,255,.88)}
.peak2{margin:18px 0 0;font-size:16px;color:rgba(255,255,255,.85)}.peak2 b{display:block;margin-top:4px;font-size:clamp(20px,2.2vw,26px);color:#fff}
@media (max-width:600px){.peak{padding:26px 20px}}
/* AI：夜から翌朝まで */
.scene h3{font-size:clamp(19px,2vw,24px);line-height:1.5}
.tl{list-style:none;padding:0!important;margin:0}
.tl li{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(58,61,126,.2);line-height:1.8}
.tl li:last-child{border-bottom:0}
.tl time{font-weight:900;color:#3a3d7e;font-size:15px}
.tl li.am{background:rgba(255,148,26,.12);border-radius:10px;padding:12px 10px;margin-top:6px}
.tl li.am time{color:#fb7132}
.scene .note{margin:14px 0 0;font-size:13.5px;color:rgba(0,0,0,.6)}
/* 共通：LINE の帯を細く */
.contact.slim{padding:28px 40px;gap:32px;justify-content:space-between}
.contact.slim .info{flex:1}
.contact.slim .msg{font-size:clamp(18px,2vw,24px)}
@media (max-width:900px){.contact.slim{padding:24px 22px}}
/* 共通：フッターのボタン */
footer .fbtn{max-width:1032px;margin:0 auto 18px;display:flex;gap:12px;flex-wrap:wrap}
footer .fbtn .btn{margin:0;padding:10px 22px;font-size:13.5px;color:#fff;border:1px solid rgba(255,255,255,.7)}
footer .fbtn a{margin-left:0}
/* トップ：進め方の矢印（スマホ） */
@media (max-width:600px){
 .proc{width:78%;margin-left:auto;margin-right:auto}
 .proc div:nth-child(1){background:rgba(255,148,26,.6)}.proc div:nth-child(2){background:rgba(251,113,50,.6)}
 .proc div:nth-child(3){background:rgba(55,62,185,.6)}.proc div:nth-child(4){background:rgba(58,61,126,.6)}.proc div:nth-child(5){background:rgba(0,0,0,.6)}
}
/* ===== 第2版・末元様の意見を反映 ===== */
/* LINE の帯：濃紺の枠線、横長、フッターと離す */
.contact.slim{background:#fff;color:#3a3d7e;border:2px solid #3a3d7e;margin-bottom:72px;padding:26px 40px}
.contact.slim .msg{color:#3a3d7e}
.contact.slim .info{color:#3a3d7e}
.contact.slim .info .ln{color:rgba(0,0,0,.6)}
.contact.slim .lineadd{flex-direction:row;align-items:center;gap:18px}
.contact.slim .lineadd .qr{width:104px;height:104px;border:1px solid rgba(58,61,126,.25)}
.contact.slim .lineadd .lid{color:#3a3d7e}
.contact.slim .lineadd .cp{border-color:#3a3d7e;color:#3a3d7e}
.contact.slim .lb2{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
@media (max-width:900px){.contact.slim .lineadd{flex-direction:column;align-items:flex-start}}
/* AI：第二の山を濃紺の枠に */
.peak{background:#fff;color:#3a3d7e;border:2px solid #3a3d7e}
.peak .lbl{color:#fb7132}.peak h2{color:#3a3d7e}.peak h2 em{color:#fb7132}
.peak .lead{color:#3a3d7e}.peak .lead b{color:#fb7132}
.peak2{color:#3a3d7e}.peak2 b{color:#3a3d7e}
/* TRY IT ④：端的に */
.agsteps .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.agsteps .chips i{font-style:normal;font-size:12.5px;font-weight:700;color:#3a3d7e;background:rgba(58,61,126,.08);border-radius:999px;padding:5px 12px}
.agsteps .chips i:nth-child(2){background:rgba(255,148,26,.16);color:#c4541c}
.nw{white-space:nowrap}

/* つかみ：横一列・80% */
.page .hook.one{font-size:clamp(16px,1.92vw,24px)}
@media (min-width:901px){.page .hook.one{white-space:nowrap;max-width:none}}

/* MAJES の窓：よくある質問 */
.mj-faq{margin:0 16px 8px}
.mj-faqbtn{display:block;width:100%;border:1px solid #373eb9;background:#fff;color:#373eb9;font:700 13px/1 "Noto Sans JP",sans-serif;padding:10px;border-radius:999px;cursor:pointer;letter-spacing:.04em}
.mj-faqbtn[aria-expanded="true"]{background:#373eb9;color:#fff}
.mj-faqlist{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:220px;overflow:auto}
.mj-faqlist button{text-align:left;border:1px solid rgba(55,62,185,.3);background:rgba(55,62,185,.05);color:#2a2e6e;font:400 12.5px/1.6 "Noto Sans JP",sans-serif;padding:8px 12px;border-radius:10px;cursor:pointer}
.mj-faqlist button:hover{background:rgba(55,62,185,.12)}
.mj-faqlist[hidden]{display:none}
