/* A案：RGBデザイン既存サイトとの統一感重視 */
:root{
  --ink:#191919;--ink2:#252525;--paper:#f6f7f8;--white:#fff;--muted:#000;--line:#e7e8ea;
  --blue:#2457d6;--cyan:#29a9d6;--green:#38a169;--orange:#f28c28;--red:#dd455c;
  --shadow:0 14px 46px rgba(18,31,45,.08);--radius:12px;--container:1160px;
}
body{font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;letter-spacing:.01em;background:#fff}
.container{width:min(calc(100% - 56px),var(--container))}
.site-header{background:#fff;border-bottom:1px solid #ececec;backdrop-filter:none}.header-inner{height:88px}.brand strong{font-size:26px;letter-spacing:-.05em}.brand small{font-size:12px}.header-nav{font-size:12px;letter-spacing:.05em}.header-nav a:after{height:1px;background:#202020}.site-header .btn-primary{background:#2e9b63;box-shadow:none}.site-header .btn-primary:hover{background:#237b4f}
.btn{border-radius:3px}.btn-primary{background:#222;box-shadow:none}.btn-primary:hover{background:#2e9b63;box-shadow:none}.btn-ghost{border-color:#d9dadd;border-radius:3px}.btn-light{border-radius:3px;box-shadow:none}
.hero{background:#fff}.hero:before{display:none}.hero-grid-bg{opacity:.28;background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 72%)}.hero-inner{min-height:690px;padding-block:90px 72px;gap:66px}.eyebrow{color:#777;letter-spacing:.18em}.eyebrow span{background:transparent;color:#2e9b63;padding:0;margin-left:10px;border-left:1px solid #d8d8d8;padding-left:10px;border-radius:0}.hero h1{font-weight:700;font-size:clamp(42px,5vw,66px);line-height:1.22;letter-spacing:-.04em}.hero h1 em{color:#2e9b63}.hero h1 em:after{display:none}.hero-lead{font-size:16px;line-height:2.05;color:#000}.hero-points li:before{background:#edf7f1;color:#2e9b63}.hero-visual{max-width:500px}.visual-core{background:#fff;color:#222;border:1px solid #dfe3e7;box-shadow:0 20px 50px rgba(0,0,0,.08)}.visual-core:after{border-color:#dde2e7}.visual-core span{color:#2e9b63}.visual-node{border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.08)}.visual-node small{color:#2e9b63}.orbit,.visual-lines{border-color:rgba(46,155,99,.16);stroke:rgba(46,155,99,.18)}.hero-strip{background:#fafafa;border-color:#ededed}.hero-strip-inner{min-height:58px;color:#5a5f65}.hero-strip-inner span+span{border-color:#ddd}
.section{padding:100px 0}.section-kicker{color:#8a8f95;letter-spacing:.2em}.section-head h2{font-size:clamp(34px,4vw,50px);font-weight:650;letter-spacing:-.035em}.section-head h2 span{color:#2e9b63}.section-head>p:not(.section-kicker){color:#000}.problem-grid{gap:0}.problem-card{min-height:220px;box-shadow:none}.problem-card:hover{background:#fafcfb;box-shadow:none;transform:none}.problem-card>span{color:#2e9b63}.problem-card h3{font-weight:600}.philosophy{background:#f7f8f8}.section-head blockquote{border-left-color:#2e9b63}.compare-col{border-radius:8px;box-shadow:none}.compare-col.active{border-color:#b9ddca;box-shadow:none}.compare-label,.compare-col i{color:#2e9b63}.compare-col i{background:#edf7f1}
.subsidies{background:#f5f6f7;color:#191919}.subsidies .section-head>p:not(.section-kicker){color:#000}.subsidies .section-head h2 span{color:#2e9b63}.subsidy-grid{gap:18px}.subsidy-card{border:1px solid #e0e2e4;border-radius:8px;box-shadow:none;min-height:575px}.subsidy-card.featured{box-shadow:none;border:2px solid #2e9b63}.subsidy-card.local{background:#fff}.subsidy-badge{background:#2e9b63;border-radius:2px}.chips span{background:#f0f4f2;color:#2c7050}.use-list li:before{color:#2e9b63}.text-link{color:#2e9b63}.subsidy-disclaimer{color:#777}.mini-flow{background:#f6f7f7}
.mid-cta{background:#262a2d}.mid-cta .section-kicker{color:#9fe0bc}.mid-cta h2 span{color:#b9ebce}.mid-cta .btn-light:hover{background:#e9f6ef}
.step-no,.role-grid b{color:#2e9b63}.step-lawyer{background:#f5f9f7;border-radius:6px}.role-grid span{border-color:#dbe9e2;border-radius:6px}.difference{background:#fff}.compare-table-wrap{border:1px solid #e3e5e6;border-radius:8px;box-shadow:none}.compare-table th:last-child,.compare-table td:last-child{background:#f1f8f4;color:#2e744f}.case-card{border-radius:8px}.case-card.featured{box-shadow:none;border-color:#87c5a4}.case-top b{color:#2e9b63}.capabilities{background:#262a2d}.capabilities .section-head h2 span{color:#a9e2c3}.cap-grid{background:#484d50;border-color:#484d50}.cap-grid>*{background:#262a2d}.cap-grid a:hover{background:#30383a;color:#bcebcf}.flow-step{border-radius:7px}.flow-step span{color:#2e9b63}.pricing{background:#f7f8f8}.price-card{border-radius:7px}.price-card>span{color:#2e9b63}.accordion summary:after{color:#2e9b63}
.contact{background:#242729}.contact-glow{display:none}.contact-copy h2 span{color:#bce8cf}.contact-form-wrap{border-radius:8px;box-shadow:none}.form-title span{background:#eef7f2;color:#2e9b63}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#2e9b63;box-shadow:0 0 0 3px rgba(46,155,99,.1)}.site-footer{background:#17191a}.floating-cta{background:#2e9b63;border-radius:3px;box-shadow:0 8px 24px rgba(46,155,99,.22)}.floating-cta span{color:#2e9b63}
@media(max-width:640px){.container{width:min(calc(100% - 32px),var(--container))}.site-header .header-inner{height:68px}.hero h1{font-size:37px}.hero-inner{padding-top:58px}.section{padding:72px 0}}


/* 2026-10 revision */
.brand-logo img{display:block;width:auto;height:56px;max-width:min(100%,370px)}
.brand-footer img{height:64px;max-width:min(100%,420px)}
.header-nav{font-size:14px}
.btn-small{font-size:14px}
.btn-large{font-size:16px}
.eyebrow,.section-kicker{font-size:14px}
.hero-lead{font-size:18px}
.hero-points{font-size:16px}
.hero-strip-inner{font-size:14px}
.section-head>p:not(.section-kicker),
.problem-card p,
.section-head blockquote,
.compare-col li,
.subsidy-card>p,
.notice,
.use-list b,
.use-list li,
.text-link,
.mid-cta p,
.step p,
.case-card p,
.case-note,
.warning p,
.price-card p,
.accordion div p,
.contact-copy p,
.form-note,
.footer-grid p,
.footer-grid a{font-size:16px}
.chips span{font-size:12px}
.fineprint,.form-status,.phone small,.phone span,.form-title span,.contact-form label b,.compare-label,.problem-card>span,.step-no,.flow-step span,.copyright{font-size:12px}
.contact-form label{font-size:14px}
.contact-form input,.contact-form select,.contact-form textarea,.header-nav a,.floating-cta{font-size:16px}
.phone strong{font-size:34px}
.form-title{font-size:22px}
/* Hero visual fix */
.hero-visual{max-width:560px;height:560px;aspect-ratio:auto;overflow:visible}
.visual-core{inset:33%}
.visual-node{width:164px;padding:18px 18px}
.visual-node small{font-size:12px}
.visual-node b{font-size:18px}
.visual-node span{font-size:14px}
.node-a{top:2%;left:50%;transform:translateX(-50%)}
.node-b{right:0;top:50%;transform:translateY(-50%)}
.node-c{bottom:2%;left:50%;transform:translateX(-50%)}
.node-d{left:0;top:50%;transform:translateY(-50%)}
.orbit{inset:12%}
.orbit-2{inset:22%}
.visual-lines{inset:0}
/* Search tool section */
.search-tool{background:#f7f8f8}
.search-tool-card{display:grid;grid-template-columns:1.06fr .94fr;gap:34px;align-items:stretch;border:1px solid #e1e4e6;border-radius:12px;background:#fff;padding:34px;box-shadow:none}
.search-tool-copy h2{font-size:clamp(32px,4vw,48px);line-height:1.28;letter-spacing:-.035em;margin:12px 0 20px}
.search-tool-copy h2 span{color:#2e9b63}
.search-tool-copy p{font-size:16px;color:#5f656a}
.search-tool-copy strong{color:#191919}
.search-tool-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;list-style:none;padding:0;margin:24px 0 0}
.search-tool-list li{position:relative;padding-left:26px;font-size:16px;color:#3f464b}
.search-tool-list li:before{content:"✓";position:absolute;left:0;top:2px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#edf7f1;color:#2e9b63;font-size:12px;font-weight:700}
.search-tool-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.search-tool-demo{border:1px solid #dfe3e6;border-radius:12px;background:#fafbfb;padding:24px}
.search-demo-head{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid #e6e9eb;margin-bottom:16px}
.search-demo-head span{display:inline-block;background:#eef7f2;color:#2e9b63;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em}
.search-demo-head b{font-size:20px;color:#191919}
.search-demo-step{border:1px solid #e3e6e8;border-radius:8px;background:#fff;padding:16px 18px}
.search-demo-step i{display:block;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.12em;color:#2e9b63;margin-bottom:6px}
.search-demo-step strong{display:block;font-size:18px;margin-bottom:4px}
.search-demo-step p{margin:0;font-size:15px;color:#5f656a}
.search-demo-form{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.search-demo-form label,.search-demo-result article{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #e3e6e8;border-radius:8px;background:#fff;padding:12px 14px;font-size:15px}
.search-demo-form label span{color:#191919;font-weight:700;text-align:right}
.search-demo-result{margin-top:16px}
.result-title{font-size:14px!important;font-weight:700;letter-spacing:.08em;color:#2e9b63;margin:0 0 10px}
.search-demo-result article+article{margin-top:10px}
.search-demo-result b{font-size:16px}
.search-demo-result span{color:#5f656a;font-size:14px;text-align:right}
@media(max-width:980px){
  .search-tool-card{grid-template-columns:1fr}
  .search-tool-list{grid-template-columns:1fr}
}
@media(max-width:640px){
  .brand-logo img{height:42px;max-width:250px}
  .brand-footer img{height:50px;max-width:260px}
  .eyebrow,.section-kicker{font-size:12px}
  .hero-lead{font-size:16px}
  .hero-points,.section-head>p:not(.section-kicker),.problem-card p,.section-head blockquote,.compare-col li,.subsidy-card>p,.notice,.use-list b,.use-list li,.text-link,.mid-cta p,.step p,.case-card p,.warning p,.price-card p,.accordion div p,.contact-copy p,.footer-grid p,.footer-grid a,.contact-form input,.contact-form select,.contact-form textarea,.header-nav a,.floating-cta,.search-tool-copy p,.search-tool-list li{font-size:15px}
  .hero-visual{height:440px;max-width:100%}
  .visual-core{inset:30%}
  .visual-node{width:128px;padding:12px 12px}
  .visual-node small{font-size:12px}
  .visual-node b{font-size:14px}
  .visual-node span{font-size:12px}
  .node-b{right:-1%}
  .node-d{left:-1%}
  .search-tool-card{padding:24px}
  .search-tool-copy h2{font-size:32px}
  .search-tool-actions{display:grid}
  .search-tool-actions .btn{width:100%}
  .search-demo-head{display:block}
  .search-demo-head b{display:block;margin-top:10px;font-size:18px}
  .search-demo-form label,.search-demo-result article{display:block}
  .search-demo-form label span,.search-demo-result span{text-align:left;display:block;margin-top:6px}
}

/* Phase 1 - functional subsidy search */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.subsidy-search-app{max-width:1040px;margin:0 auto;background:#fff;border:1px solid #dfe4e1;border-radius:12px;overflow:hidden}
.search-progress{display:flex;align-items:center;justify-content:center;padding:24px 30px;background:#f6f8f7;border-bottom:1px solid #e2e6e4}
.search-progress-item{display:flex;align-items:center;gap:9px;color:#939a96;font-size:14px;font-weight:700;white-space:nowrap}
.search-progress-item span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #cdd4d0;background:#fff;color:#7a817d;font-size:13px}
.search-progress-item.is-active{color:#202522}.search-progress-item.is-active span{border-color:#2e9b63;background:#2e9b63;color:#fff}
.search-progress-item.is-done{color:#2e9b63}.search-progress-item.is-done span{border-color:#2e9b63;color:#2e9b63}.search-progress-item.is-done span:after{content:"✓"}.search-progress-item.is-done span{font-size:0}
.search-progress-line{height:1px;width:70px;background:#d9dfdc;margin:0 14px}
.search-panel{display:grid;grid-template-columns:.84fr 1.16fr;gap:46px;padding:46px}
.search-panel[hidden]{display:none!important}
.search-panel-no{font:800 12px/1.2 Inter,sans-serif;letter-spacing:.15em;color:#2e9b63}
.search-panel-copy h3,.search-results-head h3{font-size:30px;line-height:1.35;margin:11px 0 16px;letter-spacing:-.03em}
.search-panel-copy p,.search-results-head p{font-size:16px;color:#626965;margin:0}
.search-form{align-self:center}.search-form label{display:block;font-size:14px;font-weight:700;color:#303633}
.search-form label b,.search-category-fieldset legend b{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:3px;background:#dd455c;color:#fff;font-size:12px;font-weight:700}
.search-form input[type="email"],.search-form input[type="text"],.search-form select{width:100%;box-sizing:border-box;margin-top:8px;padding:14px 15px;border:1px solid #ccd4d0;border-radius:5px;background:#fff;font-size:16px;color:#222;outline:none}
.search-form input:focus,.search-form select:focus{border-color:#2e9b63;box-shadow:0 0 0 3px rgba(46,155,99,.1)}
.search-form>.btn{margin-top:18px}
.search-note{font-size:13px;color:#818884;margin:13px 0 0;line-height:1.75}
.search-status{min-height:1.5em;font-size:14px;font-weight:700;margin:11px 0 0}.search-status.is-error{color:#b42318}.search-status.is-success{color:#237b4f}
.verification-code-form{padding-top:24px;margin-top:24px;border-top:1px solid #e7eae8}
.text-button{border:0;background:none;color:#2e9b63;text-decoration:underline;padding:10px 0;cursor:pointer;font-size:14px}
.verified-email-badge{display:inline-block!important;margin-top:18px!important;padding:7px 10px;border-radius:4px;background:#edf7f1;color:#2a6848!important;font-size:14px!important}
.search-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.search-category-fieldset{border:0;padding:0;margin:22px 0 0}.search-category-fieldset legend{font-size:14px;font-weight:700;margin-bottom:10px}
.search-category-fieldset>label{display:flex;align-items:flex-start;gap:10px;margin:8px 0;padding:12px;border:1px solid #dde3df;border-radius:6px;cursor:pointer;background:#fff;transition:.2s}
.search-category-fieldset>label:hover{border-color:#9bc8ae;background:#f7fbf8}.search-category-fieldset input{width:18px;height:18px;margin:2px 0 0;accent-color:#2e9b63;flex:0 0 auto}
.search-category-fieldset label span{display:block}.search-category-fieldset label strong{display:block;font-size:15px}.search-category-fieldset label small{display:block;margin-top:2px;color:#747b77;font-size:13px;font-weight:400}
.search-submit{width:100%}
.search-results-panel{display:block;padding:42px}
.search-results-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px}
.search-results{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.subsidy-result-card{border:1px solid #dfe4e1;border-radius:8px;background:#fff;padding:24px;display:flex;flex-direction:column}
.result-card-top{display:flex;justify-content:space-between;align-items:center}.result-rank{font:800 28px/1 Inter,sans-serif;color:#dfe4e1}.result-score{display:inline-flex;padding:5px 8px;border-radius:3px;background:#edf7f1;color:#277049;font-size:12px;font-weight:800}
.result-tags{display:flex;gap:6px;flex-wrap:wrap;margin:17px 0 12px}.result-tags span{font-size:12px;font-weight:700;padding:4px 7px;background:#f1f4f2;color:#4e6256;border-radius:999px}
.subsidy-result-card h4{font-size:22px;line-height:1.5;margin:0 0 7px}.subsidy-result-card>p{font-size:15px;color:#626965}.result-institution{font-size:13px!important;color:#858c88!important;margin:0 0 12px!important}
.result-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e8ebe9;border-left:1px solid #e8ebe9;margin:18px 0 0}.result-meta div{padding:10px 12px;border-right:1px solid #e8ebe9;border-bottom:1px solid #e8ebe9}.result-meta dt{font-size:11px;color:#818884}.result-meta dd{margin:2px 0 0;font-size:14px;font-weight:700}
.result-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:18px;font-size:12px;color:#7b827e}.result-card-footer a{color:#2e9b63;font-weight:800}
.no-search-results{grid-column:1/-1;padding:34px;background:#f7f8f8;border:1px solid #e1e5e3;border-radius:8px}.no-search-results strong{font-size:18px}.no-search-results p{font-size:15px;color:#676e6a}
.search-result-disclaimer{margin-top:22px;padding:18px;background:#f7f8f8;border-radius:6px}.search-result-disclaimer p{font-size:13px;color:#727975;margin:4px 0}
.search-result-cta{margin-top:22px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:26px;background:#262a2d;color:#fff;border-radius:7px}.search-result-cta strong{font-size:19px}.search-result-cta p{font-size:14px;color:#c9cecb;margin:5px 0 0}
.search-result-cta .btn-primary{background:#2e9b63}
@media(max-width:860px){.search-panel{grid-template-columns:1fr;gap:28px;padding:32px}.search-results{grid-template-columns:1fr}.search-results-head{align-items:flex-start}.search-result-cta{display:block}.search-result-cta .btn{margin-top:16px}.search-progress-line{width:30px}}
@media(max-width:640px){.search-progress{padding:17px 12px}.search-progress-item b{display:none}.search-progress-line{width:18px;margin:0 7px}.search-panel{padding:24px 20px}.search-panel-copy h3,.search-results-head h3{font-size:25px}.search-form-row{grid-template-columns:1fr}.search-results-panel{padding:24px 18px}.search-results-head{display:block}.search-results-head .btn{margin-top:14px}.result-meta{grid-template-columns:1fr}.result-card-footer{display:block}.result-card-footer a{display:inline-block;margin-top:8px}}


/* 2026-10-12 frontend revisions */
.brand-logo img{height:40px!important;width:auto}
:root{--muted:#000}
.hero-visual{width:100%;max-width:560px}
.btn-search{background:rgb(46,155,99);color:#fff;border-color:rgb(46,155,99);box-shadow:none}
.btn-search:hover{background:rgb(35,123,79);border-color:rgb(35,123,79);color:#fff}
.fineprint{font-size:12px!important}
.hero-strip-inner{font-size:14px!important}
/* p要素のうち従来16pxだった本文を18pxへ */
.section-head>p:not(.section-kicker),
.problem-card p,
.subsidy-card>p,
.mid-cta p,
.step p,
.case-card p,
.warning p,
.price-card p,
.accordion div p,
.contact-copy p,
.footer-grid p,
.search-tool-copy p,
.search-panel-copy p,
.search-results-head p{font-size:18px}
/* 指定の例外 */
.flow-step p{font-size:14px!important;color:#000!important}
.flow-step h3{font-size:18px!important}
.form-status{font-size:18px!important;text-align:center!important;margin:10px 0 0!important;color:#2e9b63;font-weight:700}
/* 補助金カード内リンクを通常フローに戻し、noticeとの重なりを解消 */
.text-link{position:static!important;display:inline-flex;align-items:center;gap:4px;margin-top:20px;left:auto!important;bottom:auto!important}
.subsidy-card{border-color:rgb(46,155,99)!important}
.subsidy-card.featured{border-color:rgb(46,155,99)!important}
.case-card{border-color:rgb(135,197,164)!important}
.case-card.featured{border-color:rgb(135,197,164)!important}
.cap-grid span{font-size:16px!important}
.cap-grid>*{cursor:default}
.footer-company-link{font-size:18px!important;font-weight:700;color:#fff!important;text-decoration:none}
.footer-company-link:hover{text-decoration:underline}
@media(max-width:640px){
  .brand-logo img{height:40px!important;max-width:250px}
  .hero-visual{width:100%;max-width:100%}
  .flow-step p{font-size:14px!important}
  .flow-step h3{font-size:18px!important}
  .cap-grid span{font-size:16px!important}
}
.hero-lead{font-size:18px!important}


/* 2026-10-12 frontend revisions 2 */
.fineprint{color:#000!important}
.hero-strip-inner{color:#000!important;font-size:16px!important}
.subsidy-card.featured{border:1px solid rgb(46,155,99)!important}
.role-grid span{font-size:14px!important}
.warning p{font-size:16px!important}
.accordion summary{font-size:16px!important}
.price-card>span{font-size:12px!important}
