
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;font-family:"Yu Gothic UI","Yu Gothic","Meiryo","Noto Sans JP",sans-serif;color:#1b2433;line-height:1.8;font-size:16px;-webkit-text-size-adjust:100%;background:#fff}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.proto{background:#fff7d6;color:#5a4500;font-size:12px;text-align:center;padding:4px 8px;border-bottom:1px solid #f0dc8b}
.in{max-width:1120px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:999px;padding:12px 22px;line-height:1.3;text-align:center;border:2px solid transparent;cursor:pointer;font-family:inherit;font-size:15px}
.btn.lg{padding:16px 30px;font-size:17px}
.btn.primary{background:#12264A;color:#fff;border-color:#12264A}.btn.primary:hover{background:#1d3a6b}
.btn.outline,.btn.ghost{border-color:#12264A;color:#12264A;background:#fff}
.hd{display:flex;align-items:center;gap:20px;padding:12px 32px;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid #e8edf4}
.logo img{height:44px;width:auto}
.hd nav.pc{display:flex;gap:22px;margin-left:auto;font-size:14px}.hd nav.pc a{text-decoration:none;color:#12264A;letter-spacing:.04em}
.hd nav.pc a:hover{text-decoration:underline;text-decoration-color:#F5B400;text-underline-offset:6px;text-decoration-thickness:2px}
.hdcta{padding:10px 20px}details.sp{display:none}
.hero{overflow:hidden;padding:64px 0 56px;background:radial-gradient(900px 400px at 85% 10%,#eef3fb,transparent)}
.hero .in{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;color:#12264A;font-weight:700;margin:0 0 20px}
.eyebrow span{width:40px;height:2px;background:#F5B400;flex:none}
.hero h1{font-size:58px;line-height:1.28;margin:0 0 22px;color:#12264A}
.hero mark{background:linear-gradient(transparent 58%,#F5B400 58%);color:inherit;padding:0 4px}
.lead{font-size:18px;color:#3b4658;margin:0 0 22px}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 28px}
.chips li{border:1px solid #c9d3e2;border-radius:999px;padding:4px 14px;font-size:13px;font-weight:700;color:#12264A;background:#fff}
.chips li::before{content:"";display:inline-block;width:8px;height:8px;background:#F5B400;border-radius:50%;margin-right:8px}
.cta{display:flex;gap:14px;flex-wrap:wrap}.sub{font-size:14px;color:#4a5568;margin:16px 0 0}.sub small{margin-left:10px;color:#667;font-size:12px}
.vis{position:relative;height:380px}
.sheet{position:absolute;border-radius:16px;background:#fff;border:1px solid #d5dde9;box-shadow:0 20px 50px rgba(18,38,74,.12)}
.s3{width:260px;height:320px;right:0;top:0;transform:rotate(8deg);background:#eef3fb}.s2{width:260px;height:320px;right:36px;top:20px;transform:rotate(3deg)}
.s1{width:270px;height:330px;right:70px;top:40px;display:grid;place-items:center;padding:30px}.s1 img{width:150px}
.ruler{position:absolute;left:30px;right:30px;bottom:30px;height:8px;border-bottom:2px solid #12264A;background:repeating-linear-gradient(90deg,#12264A 0 2px,transparent 2px 14px);background-size:100% 8px;background-repeat:no-repeat}
.sec{padding:84px 0}.sec.alt{background:#f5f8fc}
.k{font-size:12px;letter-spacing:.25em;color:#8a6a00;font-weight:700;margin:0 0 8px}
.h{font-size:34px;color:#12264A;margin:0 0 38px;line-height:1.35}
small{font-size:.5em;font-weight:400;margin-left:.8em;color:#667;letter-spacing:0}.h small{display:block;margin:6px 0 0}
.grid3,.grid4{display:grid;gap:0;border-top:2px solid #12264A}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}
.pr,.ft2{padding:26px 24px 30px 0;border-right:1px solid #dde3ec;margin-right:24px}.pr:last-child,.ft2:last-child{border-right:0;margin-right:0}
.pr em,.ft2 em{font-style:normal;font-weight:900;color:#E0A000;font-size:15px;letter-spacing:.1em}
.pr h3,.ft2 h3{margin:6px 0 8px;font-size:19px;color:#12264A;line-height:1.5}.pr p,.ft2 p{margin:0;font-size:15px;color:#3b4658}
.dl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.dl li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #d5dde9;border-left:5px solid #F5B400;border-radius:10px;padding:16px 18px}
.dl i{flex:none;width:22px;height:22px;border-radius:50%;background:#12264A;margin-top:3px;position:relative}
.dl i::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid #F5B400;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.dl div{display:grid}.dl b{color:#12264A;font-size:16px;line-height:1.5}.dl span{font-size:13px;color:#556}
.foot{margin:18px 0 0;font-size:14px;color:#4a5568}
.navy{background:#12264A;color:#fff}.navy .h{color:#fff}.navy .k{color:#F5B400}.navy small{color:#c9d3e2}
.fl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.fl li{border-top:3px solid #F5B400;padding-top:14px;display:grid;gap:4px;align-content:start}
.fl em{font-style:normal;font-weight:900;color:#F5B400;font-size:26px}.fl b{font-size:16px;line-height:1.5}.fl span{font-size:13px;opacity:.88;line-height:1.6}
.faq{max-width:860px;border-top:2px solid #12264A}
.faq details{border-bottom:1px solid #dde3ec}.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 4px;font-weight:700;color:#12264A;position:relative}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:24px;color:#E0A000}
.faq details[open] summary::after{content:"−"}.faq p{margin:0;padding:0 8px 20px 4px;color:#3b4658;font-size:15px}
.lead2{margin:-20px 0 0;font-weight:700;color:#12264A}
.form{display:grid;gap:16px;background:#fff;padding:30px;border-radius:20px;box-shadow:0 20px 50px rgba(18,38,74,.08);max-width:860px;margin:24px 0 0}
.form label{display:grid;gap:6px;font-size:14px;font-weight:700;color:#12264A}.lb{display:flex;align-items:center}
.form input[type=text],.form input[type=tel],.form input[type=email],.form select,.form textarea{font:inherit;font-weight:400;padding:12px;border:1px solid #b9c3d3;border-radius:8px;width:100%;background:#fff;color:#1b2433}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form fieldset{border:1px solid #d9e0ea;border-radius:10px;padding:12px 16px;margin:0}.form legend{font-size:14px;font-weight:700;color:#12264A;padding:0 6px}
.chks{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.chk{display:flex!important;align-items:center;gap:8px!important;font-weight:400!important;font-size:14px!important;color:#1b2433!important}
.req{background:#F5B400;color:#12264A;font-size:11px;padding:1px 6px;border-radius:3px;margin-left:6px}
.formbtn{text-align:center}.formbtn .btn{width:100%;max-width:420px}.note{font-size:12px;color:#667;margin:8px 0 0}
.ah{font-size:20px;color:#12264A;margin:48px 0 10px}.prof{border-collapse:collapse;width:100%;max-width:720px}
.prof th,.prof td{border-bottom:1px solid #dde3ec;padding:12px 8px;text-align:left;font-size:15px}.prof th{width:28%;color:#12264A;white-space:nowrap}
.ftr{padding:28px 20px 90px;text-align:center;background:#fff;border-top:1px solid #e8edf4;font-size:13px;color:#556}.ftr img{height:38px;margin:0 auto 8px}
.fixcta{display:none}
@media(max-width:860px){
 .hd{padding:8px 14px;gap:10px}.logo img{height:36px}.hd nav.pc,.hd .hdcta{display:none}
 details.sp{display:block;margin-left:auto;position:relative}
 details.sp summary{list-style:none;cursor:pointer;font-weight:700;color:#12264A;border:2px solid #12264A;border-radius:999px;padding:6px 14px;font-size:14px}
 details.sp summary::-webkit-details-marker{display:none}
 details.sp div{position:absolute;right:0;top:46px;background:#fff;border:1px solid #d9e0ea;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:200px;display:grid;overflow:hidden}
 details.sp div a{padding:14px 18px;text-decoration:none;font-weight:700;color:#12264A;border-bottom:1px solid #eef1f6}
 .hero{padding:32px 0 36px}.hero .in{grid-template-columns:1fr;gap:24px}.hero h1{font-size:36px}.lead{font-size:15px}.eyebrow{font-size:11px;letter-spacing:.06em}
 .btn.lg{width:100%}.vis{height:230px;order:2}.s1{width:180px;height:220px;right:40px;top:6px;padding:18px}.s1 img{width:96px}.s2,.s3{width:180px;height:220px}.s2{right:20px}.s3{right:-6px}
 .sec{padding:48px 0}.h{font-size:26px;margin-bottom:24px}
 .grid3,.grid4,.dl,.fl,.row2,.chks{grid-template-columns:1fr}
 .pr,.ft2{border-right:0;margin-right:0;border-bottom:1px solid #dde3ec;padding-right:0}
 .form{padding:18px}.prof th{width:34%}
 .fixcta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;padding:8px 10px;background:#fff;border-top:1px solid #d9e0ea;z-index:30}.fixcta .btn{flex:1;padding:12px 8px}
}

/* ---- 08 料金メニュー反映版：追加分（07のスタイルに追記） ---- */
.pricenote{background:#fff7d6;border:1px solid #f0dc8b;border-left:6px solid #F5B400;border-radius:10px;padding:16px 20px;margin:0 0 20px;color:#3d3000;font-size:14px}
.pricenote b{color:#12264A}.pricenote ul{margin:6px 0 0;padding-left:20px}.pricenote li{margin:2px 0}
.legend{font-size:13px;color:#4a5568;margin:0 0 14px}
.tag{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:1px 10px;margin-right:6px;line-height:1.7;border:1px solid}
.tag.t1{background:#eef3fb;color:#12264A;border-color:#9fb4d3}.tag.t2{background:#f2f2f2;color:#555;border-color:#c8c8c8}
.svcs{list-style:none;margin:0;padding:0;border-top:2px solid #12264A}
.svc{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 4px;border-bottom:1px solid #dde3ec}
.svc-main{flex:1;min-width:0}.svc h3{margin:4px 0 2px;font-size:19px;color:#12264A;line-height:1.5}.svc p{margin:0;font-size:14px;color:#3b4658}
.svc-price{flex:none;text-align:right;min-width:170px}.svc-price b{display:block;font-size:30px;color:#12264A;line-height:1.2;letter-spacing:.01em}
.svc-price small{font-size:15px;margin-left:2px;color:#12264A}.svc-price span{display:block;font-size:12px;color:#8a6a00;font-weight:700}
.path{display:flex;align-items:stretch;gap:14px;margin:34px 0 18px}.path .step{flex:1;background:#eef3fb;border-radius:14px;padding:16px 20px}
.path i{align-self:center;font-style:normal;font-size:26px;color:#E0A000;font-weight:900}.path .step span{font-size:11px;letter-spacing:.2em;color:#8a6a00;font-weight:700}
.path .step b{display:block;color:#12264A;font-size:17px}.path .step p{margin:2px 0 0;font-size:13px;color:#3b4658}
.cta2{display:flex;gap:14px;flex-wrap:wrap}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 26px}
.plan{background:#fff;border:2px solid #12264A;border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:6px}
.plan h3{margin:0;font-size:22px;color:#12264A}.plead{margin:0;font-size:14px;color:#3b4658}
.pprice{margin:6px 0 8px}.pprice b{display:block;font-size:38px;color:#12264A;line-height:1.2}.pprice small{font-size:18px}.pprice span{font-size:12px;color:#8a6a00;font-weight:700}
.plan ul{margin:0 0 14px;padding:0;list-style:none;flex:1}.plan li{padding:6px 0 6px 26px;border-bottom:1px solid #eef1f6;font-size:15px;position:relative}
.plan li::before{content:"";position:absolute;left:4px;top:13px;width:10px;height:10px;border-radius:50%;background:#F5B400}
.plan .btn{align-self:flex-start}
.cmpwrap{margin:0 0 26px}.cmp{border-collapse:collapse;width:100%;background:#fff;border-radius:12px;overflow:hidden}
.cmp th,.cmp td{border:1px solid #dde3ec;padding:10px 12px;text-align:center;font-size:14px}.cmp thead th{background:#12264A;color:#fff}.cmp thead small{font-weight:400;color:#F5B400}
.cmp tbody th{text-align:left;font-weight:700;color:#12264A;background:#f8fafd}.cmp td{font-weight:700;color:#12264A;font-size:16px}
.caveats{background:#fff;border:1px solid #d5dde9;border-left:6px solid #12264A;border-radius:10px;padding:16px 20px;font-size:14px;color:#3b4658}
.caveats b{color:#12264A}.caveats ul{margin:6px 0 0;padding-left:20px}.caveats li{margin:3px 0}
.fl6{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.fl6 li{border-top:3px solid #F5B400;padding-top:14px;display:grid;gap:4px;align-content:start}
.fl6 em{font-style:normal;font-weight:900;color:#F5B400;font-size:24px}.fl6 b{font-size:15px;line-height:1.5}.fl6 span{font-size:12.5px;opacity:.88;line-height:1.6}
@media(max-width:1000px){.fl6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){
 .svc{flex-direction:column;align-items:flex-start;gap:6px}.svc-price{text-align:left;min-width:0;display:flex;align-items:baseline;gap:10px}.svc-price b{font-size:26px}
 .path{flex-direction:column}.path i{transform:rotate(90deg);align-self:center}
 .plans{grid-template-columns:1fr}.plan{padding:20px}.pprice b{font-size:32px}.plan .btn{align-self:stretch}
 .cmp th,.cmp td{padding:8px 6px;font-size:12.5px}.cmp thead small{display:block;font-size:10.5px;line-height:1.4}.cmp td{font-size:18px}.fl6{grid-template-columns:1fr}.cta2 .btn{width:100%}
}

/* ===== 09 施工計画書中心版 追記 ===== */
.aiplain{margin:22px 0 0;background:#fff;border:1px solid #d5dde9;border-left:6px solid #12264A;border-radius:10px;padding:14px 18px;font-size:14px;color:#3b4658}
.aiplain b{color:#12264A}
.mainplan{background:#fff;border:2px solid #12264A;border-radius:20px;padding:28px;display:grid;grid-template-columns:1.3fr 1fr;gap:18px 32px;margin:0 0 22px}
.mainplan h3{margin:6px 0 4px;font-size:24px;color:#12264A;line-height:1.4}
.mp-price{grid-row:span 2;background:#f6f8fb;border-radius:14px;padding:20px}
.mp-price .pprice{margin:0}.range{margin:10px 0 4px;font-size:15px;color:#12264A}.range b{font-size:18px}
.rnote{margin:0;font-size:13px;color:#3b4658}
.mp-body{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mp-body h4{margin:0 0 6px;font-size:15px;color:#12264A}.mp-body ul{margin:0;padding-left:20px;font-size:14px}.mp-body li{margin:3px 0}
.mainplan>.btn{grid-column:1/-1;justify-self:start}
.small{font-size:13px;color:#5a6577;margin:8px 0 0}
.roles td{text-align:center}
.others{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.others li{background:#fff;border:1px solid #c9d3e2;border-radius:999px;padding:8px 16px;font-size:15px;color:#12264A}
.others li::after{content:"要相談";margin-left:8px;font-size:11px;font-weight:700;color:#8a6a00;background:#fff7d6;border-radius:6px;padding:1px 6px}
@media(max-width:860px){
 .mainplan{grid-template-columns:1fr;padding:20px}.mp-price{grid-row:auto}.mp-body{grid-template-columns:1fr}
 .mainplan h3{font-size:21px}.mainplan>.btn{justify-self:stretch;text-align:center}
}
.roles td{font-size:14px}#service .ah{margin-top:30px}

/* ===== 11 書類作成・現場支援総合版 追記 ===== */
.svc4{margin-top:8px}.svc4 .ft2 h3{font-size:17px}
#services .cta2{margin-top:18px}
.pricet{max-width:760px}.pricet tbody th{width:55%}.pricet td small{font-size:11px;color:#8a6a00;font-weight:700}
#services .mainplan{margin-bottom:28px}
.nw{display:inline-block}

/* ===== 12 公開準備版 追記 ===== */
.noattach{margin:18px 0 0}
.form label.agree{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;font-size:14px}.agree input{width:auto;margin-top:4px}
.agree a,.flinks a,.doc a{color:#12264A;text-decoration:underline}
.flinks{margin:8px 0 0;font-size:13px}.ftr .flinks a{color:inherit}
.doc{max-width:820px;margin:0 auto;padding:40px 16px 80px;line-height:1.9;color:#1e2a3d}
.doc h1{font-size:26px;color:#12264A}.doc h2{font-size:18px;color:#12264A;margin:28px 0 6px;border-left:5px solid #F5B400;padding-left:10px}
.doc .tbd{background:#fff7d6;border:1px dashed #d9b200;padding:0 4px;border-radius:4px;font-weight:700;color:#8a6a00}
.doc .draft{background:#fff7d6;border-left:6px solid #F5B400;padding:10px 14px;font-size:14px}
.tbd{display:inline-block;background:#fff7d6;border:1px dashed #d9b200;padding:0 6px;border-radius:4px;font-size:12px;font-weight:700;color:#8a6a00;line-height:1.6}
/* ===== 14 問い合わせメール設定版 追記 ===== */
.mailbox{background:#fff;border:2px solid #12264A;border-radius:12px;padding:14px 18px;margin:16px 0}
.mailbox .lb{display:block;font-size:13px;font-weight:700;color:#12264A}
.mailaddr{font-size:20px;font-weight:700;color:#12264A;word-break:break-all;text-decoration:underline}
.fmail{margin:8px 0 0;font-size:13px}.fmail a{color:inherit;text-decoration:underline;word-break:break-all}
.prof td a{overflow-wrap:anywhere;word-break:break-all}
