:root {
  --main-color: #1e4a6e;
  --sub-color: #2c6384;
  --accent-color: #1e4a6e;
  --cta-color: #b8965c;
  --cta-color-hover: #a07d47;
  --eyebrow-color: #b8965c;
  --text-color: #333333;
  --heading-color: #1e4a6e;
  --light-bg: #f5f7f8;
  --border-color: #e1e5e8;
  --footer-bg: #16334b;
  --footer-text: #ffffff;
  --font-base: "Noto Sans JP", "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", sans-serif;
  --fz-base: 16px;
  --fz-h1: 36px;
  --fz-h2: 30px;
  --fz-h3: 20px;
  --lh-base: 1.75;
  --lh-heading: 1.45;
  --container-max: 1200px;
  --container-narrow: 880px;
  --header-height: 76px;
  --cta-radius: 4px;
  --cta-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  --section-padding: 80px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-base);color:var(--text-color);background:#fff;line-height:var(--lh-base);font-size:var(--fz-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:normal;overflow-wrap:break-word;line-break:strict}
main{display:block;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;background:none;border:none}
table{border-collapse:collapse;border-spacing:0;width:100%}
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 24px}.narrow,.container.narrow{max-width:var(--container-narrow);margin:0 auto}.section{padding:var(--section-padding) 0}.section--light{background:var(--light-bg)}
.site-header{position:sticky;top:0;left:0;right:0;height:var(--header-height);background:rgba(255,255,255,.96);border-bottom:1px solid var(--border-color);backdrop-filter:blur(8px);z-index:50}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:100%}.site-header__logo{display:flex;align-items:center;height:100%;min-width:0}.site-header__logo img{height:36px;width:auto}
.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--cta-color);color:#fff;font-weight:700;border-radius:var(--cta-radius);box-shadow:var(--cta-shadow);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;white-space:nowrap;text-align:center;line-height:1.4}.cta-button:hover{background:var(--cta-color-hover);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.12)}.cta-button:focus-visible,.faq-question:focus-visible,a:focus-visible{outline:3px solid var(--main-color);outline-offset:2px}.cta-button--header{font-size:14px;padding:9px 18px;height:40px;min-height:40px}.cta-button--header::after,.cta-button--large::after,.cta-button--short::after{content:"›";font-size:14px;font-weight:400;line-height:1}.cta-button--large{font-size:16px;padding:14px 36px;min-height:54px;letter-spacing:.02em}.cta-button--short{font-size:15px;padding:10px 22px;min-height:44px}
.eyebrow{display:inline-block;background:rgba(184,150,92,.08);color:var(--eyebrow-color);border:1px solid rgba(184,150,92,.4);border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600;letter-spacing:.04em;margin-bottom:20px}
.hero{padding:56px 0 44px;background:#fff}.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}.hero__content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}.hero-copy,.hero-copy h1,.hero-copy .hero-message,.hero-copy .hero-description{text-align:left}.hero__content h1{font-size:var(--fz-h1);font-weight:700;color:var(--heading-color);line-height:1.45;letter-spacing:.02em;margin-bottom:24px}.hero__lead,.hero-message{font-size:20px;font-weight:700;color:var(--heading-color);line-height:1.65;margin-bottom:16px}.hero__text,.hero-description{font-size:15px;color:var(--text-color);line-height:1.85;margin-bottom:24px;max-width:46em}.hero__conditions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.hero__conditions li{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:8px 14px;font-size:14px;font-weight:600;color:var(--heading-color);line-height:1.5}.hero__conditions li::before{content:"•";color:var(--cta-color);margin-right:8px;font-size:18px;line-height:1}.hero__cta{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.hero__cta--center{align-items:center}.cta-note,.hero__subnote{font-size:13px;color:#555;line-height:1.6}.page-meta{font-size:13px;color:#777;margin-top:8px}.hero__media,.image-split__media,.theme-figure__media{display:flex;height:100%;min-height:480px}.hero__media img,.image-split__media img,.theme-figure__media img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.page-notice{background:#f0ece2;border:1px solid rgba(184,150,92,.35);border-radius:6px;padding:16px 20px;font-size:14px;color:#5a4a30;line-height:1.7;text-align:left;margin:0 auto 56px}
.section-heading,.section-title,.section-subtitle,.card-title{text-align:center}.section-heading{margin-bottom:40px}.section-title{font-size:var(--fz-h2);font-weight:700;color:var(--heading-color);line-height:var(--lh-heading);letter-spacing:.02em;margin-bottom:16px;text-wrap:balance;word-break:normal;overflow-wrap:break-word;line-break:strict}.section-description,.section-lead,.card-description,.section-body,.faq-answer,.condition-table,.bullet-list{text-align:left}.section-description,.section-lead{max-width:860px;margin-left:auto;margin-right:auto;text-align:left;color:var(--text-color);line-height:1.85;text-wrap:pretty;word-break:normal;overflow-wrap:break-word;line-break:strict}
.fixed-line-break{text-align:center;text-wrap:initial;word-break:normal;overflow-wrap:normal;line-break:strict}.fixed-line-break .title-line,.hero-title .title-line{display:block}.nowrap{white-space:nowrap}
.card-grid,.point-grid,.comparison-grid,.theme-gallery,.support-list,.steps{display:grid;gap:16px}.card-grid--issues,.comparison-grid,.point-grid,.support-list,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.info-card,.point-card,.comparison-card,.scheme-card,.profile-card,.table-card,.info-box,.theme-figure,.notice-box{background:#fff;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.info-card,.point-card,.comparison-card,.scheme-card,.info-box,.theme-figure,.notice-box{padding:24px}.info-card:hover,.point-card:hover,.comparison-card:hover,.theme-figure:hover{box-shadow:0 4px 12px rgba(0,0,0,.06)}.info-card h3,.point-card h3,.comparison-card h3,.scheme-card h3,.theme-card__title,.card-title{font-size:var(--fz-h3);font-weight:700;color:var(--heading-color);margin-bottom:12px;line-height:var(--lh-heading);text-align:center}.info-card p,.point-card p,.comparison-card p,.scheme-card p,.theme-card__body,.theme-figure p,.info-box p,.notice-box p{font-size:15px;color:var(--text-color);line-height:1.8}.issue-card{display:flex;align-items:center}.issue-card p{width:100%;margin:0}
.issue-card p,.bullet-list li,.check-list li,.support-list li{position:relative;padding-left:1.4em}.issue-card p::before,.bullet-list li::before,.check-list li::before,.support-list li::before{content:"・";position:absolute;left:0;top:0;color:var(--cta-color);font-weight:700}.issue-card p::before,.bullet-list li::before{line-height:1.8}.issue-card p::before{top:calc(.875em);transform:translateY(-50%);line-height:1}.check-list,.bullet-list{display:grid;gap:12px}.check-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.check-list li,.bullet-list li,.support-list li{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:14px 18px 14px 30px;font-size:15px;line-height:1.75}.support-list li::before,.check-list li::before{content:"✓";left:12px}
.image-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}.image-split__content{display:flex;flex-direction:column;justify-content:center}.image-split__content>*+*{margin-top:18px}.profile-card,.table-card{padding:4px 0}.data-list{display:grid}.data-list>div{display:grid;grid-template-columns:170px 1fr;padding:16px 24px;border-bottom:1px solid var(--border-color);align-items:start}.data-list>div:last-child{border-bottom:none}.data-list dt{font-weight:700;color:var(--heading-color);font-size:15px}.data-list dd{color:var(--text-color);font-size:15px;line-height:1.7}.annotation,.section-closing{margin-top:24px;color:#555;font-size:14px;line-height:1.7}
.theme-card__meta{display:grid;gap:10px;margin-bottom:12px}.theme-card__meta div{display:grid;gap:4px}.theme-card__meta dt{color:var(--heading-color);font-weight:700;font-size:14px}.theme-card__meta dd{color:var(--text-color);font-size:15px;line-height:1.75}.theme-gallery{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.theme-figure{padding:0;overflow:hidden}.theme-figure__media{min-height:400px}.theme-figure__body{padding:20px}
.conditions-table th,.conditions-table td{padding:20px 24px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-color);font-size:15px;line-height:1.7}.conditions-table tr:last-child th,.conditions-table tr:last-child td{border-bottom:none}.conditions-table th{background:var(--light-bg);color:var(--heading-color);font-weight:700;white-space:nowrap;width:220px}.point-card h3{font-size:18px}.comparison-card{display:flex;flex-direction:column;gap:10px}
.scheme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.scheme-card h4{font-size:15px;font-weight:700;color:var(--heading-color);margin-top:6px;margin-bottom:10px;text-align:left}.scheme-card ul li{position:relative;padding-left:18px;margin-bottom:6px;font-size:14px;line-height:1.7}.scheme-card ul li::before{content:"・";position:absolute;left:4px;top:0;color:var(--cta-color)}
.steps{margin-top:24px}.step{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:24px}.step__num{display:inline-flex;align-items:center;justify-content:center;background:var(--main-color);color:#fff;font-weight:700;font-size:14px;border-radius:999px;width:32px;height:32px;margin-bottom:10px}.step h3{font-size:17px;font-weight:700;color:var(--heading-color);margin-bottom:8px;text-align:left}.step p{font-size:14px;line-height:1.8}
.faq-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.faq-item{background:#fff;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;transition:box-shadow .2s ease}.faq-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.05)}.faq-question{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;font-size:16px;font-weight:700;color:var(--heading-color);line-height:1.6;cursor:pointer}.faq-question:hover{background:rgba(245,247,248,.8)}.faq-question__q{flex:1}.faq-question__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;position:relative;color:var(--cta-color)}.faq-question__icon::before,.faq-question__icon::after{content:"";position:absolute;background:currentColor;transition:transform .25s ease}.faq-question__icon::before{width:14px;height:2px;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-question__icon::after{width:2px;height:14px;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-item.is-open .faq-question__icon::after{transform:translate(-50%,-50%) rotate(90deg)}.faq-answer{padding:0 24px 22px;font-size:15px;color:var(--text-color);line-height:1.85}.js-enabled .faq-answer[hidden]{display:none}
.final-cta{background:var(--main-color);color:#fff;padding:80px 0}.final-cta .section-title,.final-cta p{color:#fff}.final-cta .section-description{color:rgba(255,255,255,.92)}.final-cta__inner{text-align:center}.final-cta__inner .section-description{max-width:760px}.final-cta__actions{margin-top:32px;display:flex;flex-direction:column;align-items:center;gap:12px}
.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:56px 0 32px}.site-footer__inner{display:flex;flex-direction:column;align-items:center;gap:24px}.site-footer__logo img{height:40px;width:auto}.site-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;font-size:14px}.site-footer__links a{color:rgba(255,255,255,.85)}.site-footer__links a:hover{color:#fff;text-decoration:underline}.site-footer__copyright{font-size:13px;color:rgba(255,255,255,.7);margin-top:8px;letter-spacing:.04em}
@media (min-width:768px){.fixed-line-break .title-line{white-space:nowrap}}
@media (max-width:1024px){:root{--fz-h1:30px;--fz-h2:26px;--fz-h3:18px;--section-padding:64px}.hero__grid,.image-split{gap:32px}.card-grid--three,.theme-gallery{grid-template-columns:1fr}.conditions-table th{width:180px}.data-list>div{grid-template-columns:140px 1fr}}
@media (max-width:900px){.hero__grid,.image-split,.scheme-grid,.card-grid--three,.card-grid--issues,.comparison-grid,.point-grid,.support-list,.steps,.check-list{grid-template-columns:1fr}.hero__media,.image-split__media,.theme-figure__media{min-height:360px}.data-list>div{grid-template-columns:1fr;gap:4px}.conditions-table th{display:block;width:auto;padding:14px 20px 6px;background:var(--light-bg);border-bottom:none;white-space:normal}.conditions-table td{display:block;padding:6px 20px 18px;border-bottom:1px solid var(--border-color)}.conditions-table tr{display:block;border-bottom:1px solid var(--border-color)}.conditions-table tr:last-child{border-bottom:none}}
@media (max-width:768px){:root{--fz-h1:26px;--fz-h2:22px;--fz-h3:18px;--section-padding:56px;--header-height:64px}.container{padding:0 20px}.site-header__logo img{height:28px}.cta-button--header{font-size:13px;padding:7px 14px;height:36px;min-height:36px}.hero{padding:32px 0}.hero__content h1{font-size:24px;line-height:1.55}.hero__lead{font-size:17px}.hero__text{font-size:14px}.hero__conditions{width:100%}.hero__conditions li{font-size:13px;width:100%}.cta-button--large{font-size:15px;padding:12px 20px;min-height:50px;width:100%}.faq-question{padding:18px;font-size:15px}.faq-answer{padding:0 18px 18px;font-size:14px}.page-notice,.info-card,.point-card,.comparison-card,.scheme-card,.theme-figure__body,.notice-box,.info-box,.step{padding-left:18px;padding-right:18px}.fixed-line-break .title-line{white-space:normal;word-break:normal;overflow-wrap:break-word;line-break:strict}}
@media (max-width:480px){.container,.container.narrow,.narrow{padding:0 16px}.site-header__inner{gap:12px}.site-header__logo img{max-width:180px;height:auto}}

/* bullet alignment fix */
.bullet-list li,.check-list li,.support-list li,.scheme-card ul li,.issue-card p{display:block}
.bullet-list li::before,.check-list li::before,.support-list li::before{top:calc(14px + .875em);transform:translateY(-50%);line-height:1}
.bullet-list li::before{left:12px}
.issue-card p::before{left:0}
.check-list li::before,.support-list li::before{left:12px}
.scheme-card ul li::before{left:6px;top:calc(.85em);transform:translateY(-50%);line-height:1}
