
/* 助成金TOP（配色は本体サイト tokyo-shuekiryoku-kyoka.jp に合わせている） */
:root{
  --navy:#374e67; /* 見出し・表頭 */
  --grant:#009245; /* 助成金のキーカラー */
  --grant-dark:#00713a;
  --grant-pale:#e8f5ec;
  --cream:#fef9e6;
  --cream-2:#fdf6dd;
  --lblue:#8abfcf; /* 問合せ帯 */
  --red:#c1272d;
  --orange:#ff5a00;
  --line:#e6e6e6;
  --text:#222;
  --grad-cta:linear-gradient(180deg,#fbb03c,#ff5628 55%,#ed1c24);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:10px;scroll-behavior:smooth;scroll-padding-top:11rem}
@media screen and (max-width:1366px){html{font-size:.7320644217vw}}
@media screen and (max-width:768px){html{font-size:2.6666666667vw}}
body{font-family:"Noto Sans JP",sans-serif;font-size:1.6rem;color:var(--text);line-height:1.8;padding-top:9rem;background:#fff;overflow-x:clip}
img{max-width:100%;vertical-align:middle}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ヘッダー */
.global-nav{position:fixed;inset:0 0 auto 0;z-index:100;background:#fff;box-shadow:0 .2rem .8rem rgba(55,78,103,.12)}
.global-nav .inner{display:flex;align-items:center;gap:2.4rem;width:100%;padding:1.2rem 3rem;height:9rem}
.brand{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.brand img{width:20rem;height:auto}
.brand .title{font-size:1.9rem;font-weight:700;color:var(--navy);line-height:1.3;white-space:nowrap}
.brand .title .grant-label{color:var(--grant);font-weight:900}
.global-nav nav{margin-left:auto}
.global-nav nav ul{display:flex;gap:2.2rem}
.global-nav nav a{font-size:1.4rem;font-weight:500;color:var(--navy);padding:.6rem 0;border-bottom:.3rem solid transparent;transition:border-color .2s}
.global-nav nav a:hover{border-bottom-color:var(--grant)}
.nav-cta{flex-shrink:0;display:flex;align-items:center;gap:1rem;padding:1.2rem 2.6rem;border-radius:3.2rem;background:var(--grad-cta);color:#fff;font-size:1.5rem;font-weight:700;box-shadow:0 .3rem .8rem rgba(237,28,36,.25);transition:transform .2s}
.nav-cta:hover{transform:translateY(-.2rem)}
.nav-cta .arrow{width:1.3rem;height:1.3rem}
.menu-btn{display:none}

/* KV */
.kv{background-color:var(--cream);background-image:url(../images/kv-bg.svg);background-position:center top;background-size:cover;background-repeat:no-repeat}
.kv .wrapper{max-width:136.6rem;margin:0 auto;padding:6.5rem 6rem 0}
.kv .inner{display:flex;align-items:center;gap:3rem;padding-bottom:3.5rem}
.kv .text{position:relative;flex:1}
.kv .text .amount{position:absolute;top:-1rem;right:-4rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;width:14.5rem;height:14.5rem;border-radius:50%;background:var(--orange);text-align:center;font-size:1.9rem;font-weight:700;color:#fff;line-height:1.1}
.kv .text .amount .lg{font-size:4.6rem;line-height:1}
.kv h1{font-size:4.4rem;font-weight:900;line-height:1.3;letter-spacing:.01em;margin-bottom:2.4rem}
.kv h1 .lg{font-size:1.3em}
.kv h1 .sm{font-size:.72em;font-weight:700}
.kv h1 .accent{font-size:1.62em;color:var(--grant)}
.kv .sub-title{font-size:2.1rem;font-weight:500;margin-bottom:2.4rem}
.kv .image{flex:0 0 48%}
.kv .image img{width:100%;height:auto}

/* KV内の重要事項 */
.kv-attention{position:relative;max-width:118rem;margin:0 auto;padding:3.4rem 3.6rem 3rem;border:.3rem solid var(--red);border-radius:1.6rem;background:#fff;box-shadow:0 .6rem 1.8rem rgba(193,39,45,.12)}
.kv-attention .ttl{position:absolute;top:-1.9rem;left:3rem;display:flex;align-items:center;gap:.9rem;padding:.5rem 2.4rem .5rem 1.6rem;border-radius:2rem;background:var(--red);font-size:1.7rem;font-weight:700;color:#fff;letter-spacing:.04em}
.kv-attention .ttl .mark{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background:#fff;color:var(--red);font-size:1.5rem;font-weight:900;line-height:1}
.kv-attention ul{display:flex;flex-direction:column;gap:1.2rem;font-size:1.6rem;line-height:1.8}
.kv-attention li{position:relative;padding-left:2.4rem}
.kv-attention li::before{content:"";position:absolute;top:.75em;left:.2rem;width:1rem;height:1rem;border-radius:50%;border:.25rem solid var(--red)}
.kv-attention .strong{font-weight:700;color:var(--red)}

/* 専門家派遣サイトへの案内 */
.kv-guide{display:flex;align-items:center;gap:3rem;max-width:118rem;margin:2rem auto 5rem;padding:2.2rem 3rem;border-radius:1.2rem;background:rgba(255,255,255,.72);border:.1rem solid var(--lblue)}
.kv-guide-text{flex:1}
.kv-guide-text .ttl{padding-left:1.2rem;border-left:.5rem solid var(--lblue);font-size:1.6rem;font-weight:700;color:var(--navy);line-height:1.5;margin-bottom:.6rem}
.kv-guide-text .txt{font-size:1.45rem;line-height:1.75;color:#444}
.kv-guide-link{flex-shrink:0;display:inline-flex;align-items:center;gap:.9rem;padding:1.3rem 2.6rem;border-radius:3rem;background:var(--lblue);color:#fff;font-size:1.55rem;font-weight:700;transition:transform .2s,opacity .2s}
.kv-guide-link:hover{transform:translateY(-.2rem);opacity:.9}
.kv-guide-link svg{width:1.4rem;height:1.4rem}

/* 受付ステータス帯 */
.status-band{background:var(--navy);color:#fff}
.status-band .inner{display:flex;align-items:center;justify-content:center;gap:2.4rem;max-width:136.6rem;margin:0 auto;padding:1.6rem 3rem;flex-wrap:wrap}
.status-badge{display:inline-block;padding:.6rem 2.2rem;border-radius:2rem;font-size:1.7rem;font-weight:700;background:var(--grant);color:#fff}
.status-band.is-before .status-badge{background:#9aa4ae}
.status-band.is-closed .status-badge{background:#fff;color:var(--navy)}
.round-badge{flex-shrink:0;padding:.4rem 1.6rem;border:.2rem solid rgba(255,255,255,.7);border-radius:2rem;font-size:1.5rem;font-weight:700}
.status-band .period{font-size:1.9rem;font-weight:700;letter-spacing:.02em}

/* 共通 */
main section .wrapper{max-width:136.6rem;margin:0 auto;padding:7.5rem 18.3rem}
.section-title{display:flex;align-items:center;gap:1.2rem;margin-bottom:4rem;color:var(--navy);font-size:2.8rem;font-weight:700;line-height:1.3}
.section-title::before{content:"";flex-shrink:0;width:2.4rem;height:2.4rem;background:var(--grant)}
.section-title .en{flex-shrink:0;white-space:nowrap;font-size:1.2rem;font-weight:700;letter-spacing:.18em;color:var(--grant);margin-left:.6rem;align-self:flex-end;padding-bottom:.5rem}
.more-link{display:inline-flex;align-items:center;gap:.8rem;font-size:1.5rem;font-weight:700;color:var(--navy);border-bottom:.2rem solid var(--navy);padding-bottom:.2rem;transition:opacity .2s}
.more-link:hover{opacity:.7}

/* お知らせ */
.news .head-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}
.news .head-row .section-title{margin-bottom:0}
.news ul{border-top:.1rem solid var(--line)}
.news li a{display:flex;gap:3rem;align-items:baseline;padding:1.8rem .8rem;border-bottom:.1rem solid var(--line);font-size:1.6rem;transition:background .2s}
.news li a:hover{background:var(--grant-pale)}
.news .date{flex:0 0 10rem;color:#777;font-size:1.4rem;font-weight:500}
.news .label{flex:0 0 7rem;display:inline-flex;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--grant);border:.1rem solid var(--grant);border-radius:.3rem;padding:.1rem .4rem;line-height:1.6}

/* 募集要項 */
.guidelines{background:#f7f8f9}
.expense-sec .lead{font-size:1.6rem;margin-bottom:2.4rem}
.expense-sec ul{display:flex;flex-wrap:wrap;gap:1rem}
.expense-sec li{background:#f7f8f9;border:.1rem solid var(--line);border-radius:2rem;padding:.7rem 1.8rem;font-size:1.45rem;font-weight:500}
.expense-sec .note{margin-top:1.6rem;font-size:1.35rem;color:#666}
.schedule-sec{background:#f7f8f9}
.round-title{display:inline-block;margin-bottom:1.6rem;padding:.5rem 2rem;border-radius:2rem;background:var(--navy);font-size:1.6rem;font-weight:700;color:#fff}
.next-round{margin-top:3.5rem;padding:2.4rem 3rem;border-radius:1.2rem;background:#fff;border-left:.6rem solid var(--grant)}
.next-round .ttl{font-size:1.7rem;font-weight:700;color:var(--navy);margin-bottom:.6rem}
.next-round p{font-size:1.55rem;line-height:1.8}
.schedule-sec .note{margin-top:1.4rem;font-size:1.35rem;color:#666;padding-left:1.2em;text-indent:-1.2em}
.overview-table{width:100%;border-collapse:collapse;border:.1rem solid var(--line);background:#fff;font-size:1.6rem}
.overview-table th{width:22rem;background:var(--navy);color:#fff;font-weight:700;padding:1.8rem 2rem;border-bottom:.1rem solid rgba(255,255,255,.25);text-align:left;vertical-align:top}
.overview-table td{padding:1.8rem 2.4rem;border-bottom:.1rem solid var(--line);line-height:1.9;vertical-align:top}
.overview-table .num{font-weight:900;font-size:2rem;color:var(--grant-dark)}
.overview-table .note{font-size:1.35rem;color:#666}
.overview-table .th-sub{display:block;font-size:1.25rem;font-weight:500;opacity:.85}
.btn-row{margin-top:4rem;text-align:center}
.btn-wide{display:inline-flex;justify-content:center;align-items:center;gap:1.2rem;min-width:38rem;padding:2rem 3.6rem;border-radius:.9rem;background:var(--navy);color:#fff;font-size:1.8rem;font-weight:700;transition:opacity .2s}
.btn-wide:hover{opacity:.85}
.btn-wide .btn-icon{width:2rem;height:2rem}

/* 申請方法 */
.howto .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.howto .step{position:relative;background:#fff;border:.2rem solid var(--line);border-radius:1.2rem;padding:2.8rem 2rem 2.2rem;text-align:center}
.howto .step::after{content:"";position:absolute;top:50%;right:-1.9rem;width:1.6rem;height:2rem;background:var(--grant);clip-path:polygon(0 0,100% 50%,0 100%);transform:translateY(-50%);z-index:1}
.howto .step:last-child::after{display:none}
.howto .step .no{position:absolute;top:-1.4rem;left:50%;transform:translateX(-50%);background:var(--grant);color:#fff;font-size:1.2rem;font-weight:900;letter-spacing:.14em;border-radius:1.4rem;padding:.3rem 1.6rem}
.howto .step .icon{width:5.6rem;height:5.6rem;margin:0 auto 1.2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--grant-pale)}
.howto .step .icon svg{width:2.8rem;height:2.8rem;stroke:var(--grant-dark)}
.howto .step h3{font-size:1.8rem;font-weight:700;color:var(--navy);margin-bottom:.8rem}
.howto .step p{font-size:1.4rem;line-height:1.7;text-align:left}
.howto .step p a{color:var(--grant-dark);text-decoration:underline;display:inline-block}
.howto .gbiz-note{margin-top:3rem;background:var(--cream-2);border-radius:1.2rem;padding:2rem 2.8rem;font-size:1.5rem}
.howto .gbiz-note .strong{color:var(--red);font-weight:700}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.schedule-table{width:100%;border-collapse:collapse;border:.1rem solid var(--line);font-size:1.6rem;background:#fff}
.schedule-table thead th{padding:1.4rem 1rem;background:var(--navy);text-align:center;font-weight:700;color:#fff;border-left:.1rem solid rgba(255,255,255,.25)}
.schedule-table tbody th,.schedule-table tbody td{padding:1.8rem 1.5rem;border-top:.1rem solid var(--line);border-left:.1rem solid var(--line);text-align:center;line-height:1.7}
.schedule-table tbody th{font-weight:700;background:#f2f6f4}
.schedule-table .em{font-weight:700;color:var(--grant-dark)}

/* 様式ダウンロード */
.download{background:#f7f8f9}
.dl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.dl-grid a{display:flex;align-items:center;gap:1.4rem;background:#fff;border:.1rem solid var(--line);border-radius:.9rem;padding:1.7rem 2.2rem;font-size:1.6rem;font-weight:500;transition:border-color .2s,transform .2s}
.dl-grid a:hover{border-color:var(--grant);transform:translateY(-.2rem)}
.dl-grid .tag{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:4.6rem;height:2.4rem;border-radius:.3rem;background:var(--red);color:#fff;font-size:1.1rem;font-weight:900;letter-spacing:.06em}
.dl-grid .tag.doc{background:#1d4f91;width:5.4rem}
.dl-grid .tag.xls{background:#1d6f42;width:5.4rem}
.dl-grid .size{margin-left:auto;font-size:1.25rem;color:#999;white-space:nowrap}
.download .note{margin-top:1.8rem;font-size:1.35rem;color:#666}

/* 専門家派遣 */
.expert .lead{font-size:1.7rem;max-width:88rem;margin-bottom:3.5rem}
.expert .cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.expert .card{border:.2rem solid var(--line);border-radius:1.6rem;overflow:hidden;background:#fff}
.expert .card .card-head{display:flex;align-items:center;gap:1.4rem;padding:1.6rem 2.4rem;background:var(--grant-pale)}
.expert .card.required .card-head{background:var(--grant);color:#fff}
.expert .card .badge{flex-shrink:0;font-size:1.2rem;font-weight:900;border-radius:.4rem;padding:.3rem 1.2rem;background:#fff;color:var(--grant-dark);border:.1rem solid var(--grant-dark)}
.expert .card h3{font-size:1.9rem;font-weight:700}
.expert .card .card-body{padding:2rem 2.4rem;font-size:1.5rem;line-height:1.9}
.expert .note{margin-top:2.4rem;font-size:1.4rem;color:#666;padding-left:1.2em;text-indent:-1.2em}

/* FAQ */
.faq{background:#f7f8f9}
.faq-list{display:flex;flex-direction:column;gap:1.4rem}
.faq-list details{background:#fff;border:.1rem solid var(--line);border-radius:.9rem;overflow:hidden}
.faq-list summary{display:flex;align-items:center;gap:1.6rem;padding:1.8rem 2.4rem;font-size:1.65rem;font-weight:700;cursor:pointer;list-style:none;transition:background .2s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover{background:var(--grant-pale)}
.faq-list .q-mark{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--navy);color:#fff;font-size:1.6rem;font-weight:900}
.faq-list summary .toggle{margin-left:auto;flex-shrink:0;width:2.4rem;height:2.4rem;position:relative}
.faq-list summary .toggle::before,.faq-list summary .toggle::after{content:"";position:absolute;top:50%;left:50%;width:1.4rem;height:.25rem;background:var(--grant);transform:translate(-50%,-50%)}
.faq-list summary .toggle::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq-list details[open] summary .toggle::after{transform:translate(-50%,-50%) rotate(0)}
.faq-list .answer{display:flex;gap:1.6rem;padding:0 2.4rem 2rem;font-size:1.55rem;line-height:1.9}
.faq-list .a-mark{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--grant);color:#fff;font-size:1.6rem;font-weight:900}
.faq .btn-row .btn-wide{background:var(--grant)}

/* お問い合わせ */
.inquiry{background:var(--lblue);color:#fff}
.inquiry .section-title{color:#fff}
.inquiry .section-title::before{background:#fff}
.inquiry .cards{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem}
.inquiry .card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;background:#fff;border-radius:.8rem;color:var(--navy);padding:2.8rem 2.4rem;text-align:center}
.inquiry .card .label{font-size:1.7rem;font-weight:700;color:var(--lblue)}
.inquiry .card .tel{font-size:3.4rem;font-weight:900;line-height:1.2;letter-spacing:.03em}
.inquiry .card .hours{font-size:1.35rem;color:#666}
.inquiry .card .office{font-size:1.4rem;font-weight:700}
.inquiry .card.form-card a{display:inline-flex;justify-content:center;align-items:center;gap:1rem;background:var(--lblue);color:#fff;border-radius:.8rem;font-size:1.8rem;font-weight:700;padding:1.8rem 4rem;transition:transform .2s}
.inquiry .card.form-card a:hover{transform:translateY(-.2rem)}
.inquiry .card.form-card a svg{width:1.4rem;height:1.4rem}
.inquiry .card.form-card .ext-note{font-size:1.25rem;color:#6b6b6b}

/* 下部CTA */
.entry{background-color:var(--cream);background-image:url(../images/kv-bg.svg);background-position:center bottom;background-size:cover}
.entry .wrapper{text-align:center}
.entry h2{font-size:2.6rem;font-weight:900;color:var(--navy);margin-bottom:1.2rem}
.entry .lead{font-size:1.6rem;margin-bottom:3rem}
.entry-guide{max-width:82rem;margin:0 auto;padding:3rem 4rem;border-radius:1.2rem;background:#fff;border:.2rem solid var(--navy)}
.entry-guide .guide-lead{font-size:2rem;font-weight:700;color:var(--navy);margin-bottom:1.2rem}
.entry-guide .guide-lead .strong{color:var(--red)}
.entry-guide .guide-text{font-size:1.55rem;line-height:1.9}
.entry-guide .guide-tel{margin-top:1.8rem;padding-top:1.6rem;border-top:.1rem solid var(--line);font-size:1.5rem;font-weight:500}
.entry-guide .guide-tel b{font-size:2.2rem;font-weight:900;color:var(--navy);letter-spacing:.02em}
.entry-guide .guide-tel span{font-size:1.3rem;color:#666}
.entry .notes{margin-top:2.4rem;font-size:1.35rem;color:#555;line-height:2}

/* フッター */
footer{background:#f5f5f5}
footer .inner{max-width:136.6rem;margin:0 auto;padding:4.5rem 6rem 3rem}
footer .top-row{display:flex;align-items:flex-start;gap:4rem;flex-wrap:wrap;margin-bottom:3rem}
footer .brand-block img{width:22rem}
footer .brand-block .site-name{font-size:1.5rem;font-weight:700;color:var(--navy);margin-top:.8rem}
footer nav ul{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;font-size:1.4rem}
footer nav a{color:var(--navy);font-weight:500}
footer nav a:hover{text-decoration:underline}
footer .office{margin-left:auto;font-size:1.35rem;color:#555;line-height:1.9;text-align:right}
footer .copyright{border-top:.1rem solid #ddd;padding-top:2rem;font-size:1.2rem;color:#888;text-align:center}

/* 日本語の改行位置調整（Chrome系のみ有効） */
/* 電話番号リンク（見た目は変えずタップで発信） */


/* 本文中のリンク */
.howto .gbiz-note a,
.faq-list .answer a,
.news-detail .body a,
.policy a,
.entry .notes a{color:var(--grant-dark);font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.howto .gbiz-note a:hover,
.faq-list .answer a:hover,
.news-detail .body a:hover,
.policy a:hover,
.entry .notes a:hover{opacity:.75}

/* キーボード操作時のフォーカス */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:.3rem solid #ff5a00;outline-offset:.2rem}

/* 電話番号リンク：見た目は文字のまま、タップで発信できるようにする */
.howto .gbiz-note a[href^="tel:"],
.policy a[href^="tel:"],
.faq-list .answer a[href^="tel:"],
.news-detail .body a[href^="tel:"],
a[href^="tel:"]{color:inherit;font-weight:inherit;text-decoration:none}

.nowrap{white-space:nowrap}
.section-title,.entry h2,
.kv .sub-title,
.kv-attention li,.kv-guide-text .txt,
.overview-table td,.expense-sec .lead,.expense-sec .note,
.howto .step p,.howto .gbiz-note p,
.schedule-table th,.schedule-table td,.schedule-sec .note,
.download .note,
.expert .lead,.expert .card .card-body,.expert .note,
.faq-list summary,.faq-list .answer p,
.inquiry .card .hours,.inquiry .card .office,
.entry .notes,.dl-grid a,.expert .card h3,
.entry-guide .guide-lead,.entry-guide .guide-tel,
.next-round p,
.entry-guide .guide-text{word-break:auto-phrase}
.kv-attention li,.kv-guide-text .txt,.expert .lead,.howto .step p,.expert .card .card-body,.faq-list .answer p,.entry .notes{text-wrap:pretty}
.entry h2{text-wrap:balance}

/* SP */
@media screen and (max-width:768px){
  html{scroll-padding-top:7rem}
  body{padding-top:7rem}
  .global-nav .inner{height:7rem;padding:1rem 1.4rem;gap:.8rem}
  .brand{flex:1;min-width:0}
  .brand img{width:12.5rem}
  .brand .title{font-size:1.2rem;white-space:normal;line-height:1.3}
  .brand .title .grant-label{white-space:nowrap}
  .global-nav nav{position:fixed;top:7rem;left:0;right:0;background:#fff;box-shadow:0 .6rem 1rem rgba(0,0,0,.1);transform:translateY(-130%);visibility:hidden;transition:transform .25s,visibility .25s;padding:1rem 2rem 2rem}
  .global-nav nav.open{transform:translateY(0);visibility:visible}
  .global-nav nav ul{flex-direction:column;gap:0}
  .global-nav nav a{display:block;padding:1.4rem .4rem;border-bottom:.1rem solid var(--line);font-size:1.5rem}
  .nav-cta{margin-left:auto;padding:1.2rem 1.4rem;font-size:1.2rem;gap:.6rem}
  .nav-cta .arrow{width:1rem;height:1rem}
  .menu-btn{display:flex;flex-direction:column;justify-content:center;gap:.5rem;flex-shrink:0;width:4.8rem;height:4.8rem;min-width:44px;min-height:44px;padding:.8rem;background:none;border:none;border-radius:0;-webkit-appearance:none;appearance:none;cursor:pointer}
  .menu-btn span{display:block;width:100%;height:.3rem;background:var(--navy);border-radius:.2rem;transition:.25s}
  .menu-btn.open span:nth-child(1){transform:translateY(.8rem) rotate(45deg)}
  .menu-btn.open span:nth-child(2){opacity:0}
  .menu-btn.open span:nth-child(3){transform:translateY(-.8rem) rotate(-45deg)}

  .kv .wrapper{padding:3rem 2.4rem 0}
  .kv .inner{flex-direction:column;gap:2.4rem;padding-bottom:4rem}
  .kv .text{padding-top:13rem}
  .kv h1{font-size:3.2rem}
  .kv .text .amount{top:0;right:0;width:12rem;height:12rem;font-size:1.6rem}
  .kv .text .amount .lg{font-size:3.6rem}
  .kv .sub-title{font-size:1.7rem}
  .kv .image{width:100%}
  .kv-attention{margin-bottom:3.5rem;padding:3rem 1.8rem 2rem}
  .kv-attention .ttl{left:1.4rem;font-size:1.45rem;padding:.4rem 1.6rem .4rem 1.1rem;gap:.6rem}
  .kv-attention .ttl .mark{width:1.9rem;height:1.9rem;font-size:1.3rem}
  .kv-attention ul{font-size:1.45rem;gap:1rem}
  .kv-guide{flex-direction:column;align-items:stretch;gap:1.6rem;margin-bottom:3.5rem;padding:1.8rem}
  .kv-guide-text .ttl{font-size:1.45rem;word-break:auto-phrase}
  .kv-guide-text .txt{font-size:1.35rem}
  .kv-guide-link{justify-content:center;font-size:1.45rem;padding:1.3rem 2rem}
  .status-band .inner{gap:1.2rem;padding:1.4rem 2rem}
  .status-band .period{font-size:1.5rem;width:100%;text-align:center}

  main section .wrapper{padding:5rem 2.4rem}
  .section-title{font-size:2.2rem;margin-bottom:2.8rem}
  .news .head-row{flex-wrap:wrap;gap:1.2rem}
  .news li a{flex-wrap:wrap;gap:.6rem 1.6rem;padding:1.4rem .4rem}
  .news .date{flex:0 0 auto}
  .overview-table th{display:block;width:100%;padding:1rem 1.6rem}
  .overview-table td{display:block;width:100%;padding:1.4rem 1.6rem}
  .howto .steps{grid-template-columns:1fr;gap:4.2rem}
  .howto .step::after{top:auto;bottom:-3.4rem;right:50%;transform:translateX(50%) rotate(90deg)}
  .table-scroll{overflow-x:visible}
  .schedule-table{font-size:1.4rem;border:none}
  .schedule-table thead{display:none}
  .schedule-table tbody tr{display:block;margin-bottom:1.6rem;border:.1rem solid var(--line);border-radius:.8rem;overflow:hidden}
  .schedule-table tbody tr:last-child{margin-bottom:0}
  .schedule-table tbody th{display:block;width:100%;border:none;background:var(--navy);color:#fff;padding:1.2rem 1.6rem;text-align:center}
  .schedule-table tbody td{display:flex;gap:1.2rem;width:100%;border:none;border-top:.1rem solid var(--line);padding:1.2rem 1.6rem;text-align:left}
  .schedule-table tbody td::before{content:attr(data-label);flex:0 0 11rem;font-weight:700;color:var(--navy)}
  .dl-grid{grid-template-columns:1fr}
  .expert .cards{grid-template-columns:1fr}
  .inquiry .cards{grid-template-columns:1fr}
  .inquiry .card .tel{font-size:3rem}
  .entry-guide{padding:2.2rem 1.8rem}
  .entry-guide .guide-lead{font-size:1.7rem}
  .entry-guide .guide-tel b{font-size:2rem;display:block}
  .entry .notes{text-align:left;background:rgba(254,249,230,.9);border-radius:.8rem;padding:1.4rem 1.6rem 1.4rem 2.8rem;text-indent:-1.2em}
  .btn-wide{min-width:0;width:100%;font-size:1.6rem;padding:1.8rem 1.6rem;white-space:nowrap}
  .status-band .round-badge{font-size:1.3rem;padding:.4rem 1.4rem}
  .next-round{padding:1.8rem 2rem}
  .inquiry .card.form-card a{font-size:1.6rem;padding:1.6rem 2rem;white-space:nowrap}
  footer .inner{padding:3.5rem 2.4rem 2.4rem}
  footer .top-row{flex-direction:column;gap:2.4rem}
  footer nav{width:100%}
  footer nav ul{flex-direction:column;gap:0}
  footer nav li{border-bottom:.1rem solid #e0e0e0}
  footer nav a{display:block;padding:1.2rem .2rem}
  .news .head-row .more-link{padding:.8rem 0}
  footer .office{margin-left:0;text-align:left}
}

/* ===== 下層ページ ===== */
.breadcrumb{background:#f7f8f9;font-size:1.3rem}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;max-width:136.6rem;margin:0 auto;padding:1.4rem 3rem}
.breadcrumb li::after{content:"›";margin-left:.6rem;color:#9aa4ae}
.breadcrumb li:last-child::after{content:none}
.breadcrumb a{color:var(--navy);text-decoration:underline}
.breadcrumb a:hover{opacity:.7}
.breadcrumb .current{color:#666}
.page-head{background:var(--cream);text-align:center;padding:5rem 3rem}
.page-head h1{font-size:3.2rem;font-weight:900;color:var(--navy)}
.page-head .en{display:block;margin-top:.6rem;font-size:1.2rem;font-weight:700;letter-spacing:.18em;color:var(--grant)}
.faq-page{padding:6rem 3rem 9rem;max-width:96rem;margin:0 auto}
.faq-page .lead{font-size:1.6rem;line-height:2;margin-bottom:3.5rem;word-break:auto-phrase}
.contact-box{margin-top:5rem;padding:2.8rem 3.4rem;border-radius:1.2rem;background:#f7f8f9;text-align:center;font-size:1.5rem;line-height:1.9}
.contact-box .ttl{font-size:1.7rem;font-weight:700;color:var(--navy);margin-bottom:1rem}
.contact-box b{font-size:2.4rem;font-weight:900;color:var(--navy);letter-spacing:.02em}
.back-row{text-align:center}
.back-row a{display:inline-flex;align-items:center;gap:1rem;padding:1.6rem 3.6rem;border-radius:3rem;background:var(--navy);color:#fff;font-size:1.6rem;font-weight:700;transition:opacity .2s}
.back-row a:hover{opacity:.85}
.news-list{padding:7rem 3rem 9rem;max-width:110rem;margin:0 auto}
.news-list ul{border-top:.1rem solid var(--line)}
.news-list li a{display:flex;gap:3rem;align-items:baseline;padding:2.2rem .8rem;border-bottom:.1rem solid var(--line);font-size:1.6rem;transition:background .2s}
.news-list li a:hover{background:var(--grant-pale)}
.news-list .date{flex:0 0 10rem;color:#777;font-size:1.4rem;font-weight:500}
.news-list .label{flex:0 0 7rem;display:inline-flex;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--grant);border:.1rem solid var(--grant);border-radius:.3rem;padding:.1rem .4rem;line-height:1.6}
.news-detail{padding:7rem 3rem 9rem;max-width:88rem;margin:0 auto}
.news-detail .meta{display:flex;gap:1.6rem;align-items:center;margin-bottom:1.6rem}
.news-detail .date{color:#777;font-size:1.5rem;font-weight:500}
.news-detail .label{display:inline-flex;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--grant);border:.1rem solid var(--grant);border-radius:.3rem;padding:.2rem 1.2rem}
.news-detail h2{font-size:2.8rem;font-weight:900;color:var(--navy);line-height:1.5;padding-bottom:2.4rem;border-bottom:.2rem solid var(--navy)}
.news-detail .body{padding-top:3rem;font-size:1.6rem;line-height:2;word-break:auto-phrase}
.news-detail .body p+p{margin-top:2rem}
.news-detail .body ul{margin:1.6rem 0 0;padding-left:1.4em}
.news-detail .body li{position:relative;padding-left:1.4rem;margin-bottom:.6rem}
.news-detail .body li::before{content:"";position:absolute;top:.85em;left:0;width:.6rem;height:.6rem;border-radius:50%;background:var(--grant)}
.policy{padding:6rem 3rem 9rem;max-width:96rem;margin:0 auto}
.policy .intro{font-size:1.6rem;line-height:2;margin-bottom:4.5rem;word-break:auto-phrase}
.policy section{margin-bottom:4.5rem}
.policy h2{display:flex;align-items:center;gap:1.2rem;font-size:2.2rem;font-weight:700;color:var(--navy);padding-bottom:1.2rem;margin-bottom:2rem;border-bottom:.2rem solid var(--navy)}
.policy h2::before{content:"";flex-shrink:0;width:.5rem;height:2.2rem;background:var(--grant)}
.policy h3{font-size:1.7rem;font-weight:700;color:var(--navy);margin:2.6rem 0 1rem}
.policy p{font-size:1.55rem;line-height:2;word-break:auto-phrase}
.policy p+p{margin-top:1.4rem}
.policy ul{margin-top:1.2rem}
.policy li{position:relative;padding-left:1.6rem;margin-bottom:.6rem;font-size:1.55rem;line-height:1.9}
.policy li::before{content:"";position:absolute;top:.85em;left:0;width:.6rem;height:.6rem;border-radius:50%;background:var(--grant)}
.policy .env{margin-top:1.2rem;border-collapse:collapse;width:100%;font-size:1.5rem}
.policy .env th,.policy .env td{border:.1rem solid var(--line);padding:1.2rem 1.6rem;text-align:left;vertical-align:top}
.policy .env th{width:20rem;background:#f7f8f9;font-weight:700;color:var(--navy)}
.policy .note{margin-top:1.4rem;padding:1.8rem 2.2rem;border-radius:.8rem;background:#f7f8f9;font-size:1.45rem;line-height:1.9}

/* FAQページ：設問が複数行になるため上揃え＋文節折返し */
.faq-page .faq-list summary{align-items:flex-start;line-height:1.6}
.faq-page .faq-list summary .toggle{align-self:center}
.faq-page .faq-list .answer{padding-bottom:2.2rem;line-height:1.95;word-break:auto-phrase}
.faq-page .faq-list .answer a{word-break:break-all}
.faq-page .back-row{margin-top:4rem}
.news-list .back-row,
.news-detail .back-row{margin-top:5rem}

@media screen and (max-width:768px){
  .breadcrumb ol{padding:1.2rem 2.4rem}
  .page-head{padding:3.4rem 2.4rem}
  .page-head h1{font-size:2.4rem}
  .faq-page{padding:4rem 2.4rem 6rem}
  .faq-page .lead{font-size:1.5rem;margin-bottom:2.4rem}
  .faq-page .faq-list summary{padding:1.6rem 1.8rem;font-size:1.5rem;gap:1.2rem}
  .faq-page .faq-list .answer{padding:0 1.8rem 1.8rem;gap:1.2rem;font-size:1.45rem}
  .faq-page .faq-list .q-mark,.faq-page .faq-list .a-mark{width:2.8rem;height:2.8rem;font-size:1.4rem}
  .contact-box{padding:2rem;font-size:1.4rem}
  .contact-box b{font-size:2rem;display:block}
  .back-row a{width:100%;justify-content:center}
  main > .back-row a{width:calc(100% - 4.8rem)}
  .news-list{padding:4rem 2.4rem 6rem}
  .news-list li a{flex-wrap:wrap;gap:.6rem 1.6rem;padding:1.6rem .4rem}
  .news-list .date{flex:0 0 auto}
  .news-detail{padding:4rem 2.4rem 6rem}
  .news-detail h2{font-size:2.1rem;padding-bottom:1.8rem}
  .news-detail .body{padding-top:2.4rem;font-size:1.5rem}
  .policy{padding:4rem 2.4rem 6rem}
  .policy .intro{font-size:1.5rem;margin-bottom:3rem}
  .policy h2{font-size:1.8rem}
  .policy h3{font-size:1.55rem}
  .policy p,.policy li{font-size:1.45rem}
  .policy .env th,.policy .env td{display:block;width:100%}
  .policy .env th{border-bottom:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
