:root{
  --blue:#0a4d9f;
  --blue-2:#1477d4;
  --blue-soft:#eaf5ff;
  --blue-border:#bcdcf7;
  --green:#2f9b4c;
  --green-soft:#edf9ee;
  --purple:#7255a7;
  --purple-soft:#f4f1ff;
  --ink:#15233b;
  --muted:#5c6b80;
  --line:#dce8f4;
  --bg:#ffffff;
  --card:#ffffff;
  --shadow:0 12px 30px rgba(23,67,120,.12);
  --radius:24px;
  --radius-sm:16px;
  --max:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  line-height:1.82;
  letter-spacing:.02em;
}
a{color:inherit}
img{max-width:100%;display:block}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:var(--blue);padding:8px 12px;border-radius:10px;z-index:10}
.skip-link:focus{left:8px}
.container{width:min(calc(100% - 36px),var(--max));margin-inline:auto}
.section-pad{padding:64px 0}
.section-tint{background:linear-gradient(180deg,#f5fbff 0%,#fff 100%)}
.site-header{
  position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border-top:5px solid var(--blue);border-bottom:1px solid var(--line);box-shadow:0 5px 20px rgba(11,78,162,.08)
}
.site-header__inner{width:min(calc(100% - 24px),var(--max));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0}
.brand__logo{width:210px;max-width:48vw;height:auto;object-fit:contain}
.brand__label{font-size:.95rem;color:#49556a;border-left:1px solid var(--line);padding-left:14px;white-space:nowrap}
.menu-button{display:none;background:none;border:0;color:var(--blue);font-weight:700;padding:8px;border-radius:12px;cursor:pointer}
.menu-button__line{display:block;width:30px;height:4px;background:var(--blue);border-radius:999px;margin:4px auto}
.menu-button__text{font-size:.75rem;display:block;margin-top:2px}
.global-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.global-nav a{text-decoration:none;color:#24405f;font-weight:700;font-size:.93rem;padding:9px 12px;border-radius:999px}
.global-nav a:hover,.global-nav a:focus{background:var(--blue-soft);color:var(--blue)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 25%,rgba(73,174,255,.22),transparent 30%),linear-gradient(135deg,#eff9ff 0%,#fff 56%,#f1fbec 100%)}
.hero:before{content:"";position:absolute;inset:auto 0 0 0;height:150px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.9))}
.hero__grid{position:relative;display:grid;grid-template-columns:1.04fr .82fr;gap:42px;align-items:center}
.eyebrow{margin:0 0 10px;color:var(--blue);font-weight:800;letter-spacing:.08em}
h1{font-size:clamp(2.45rem,7vw,5.2rem);line-height:1.02;margin:.05em 0 .26em;color:#10346f;font-weight:900;letter-spacing:-.04em}
h1 span{display:block;color:#0d438f}
h1 em{display:block;font-style:italic;color:var(--blue-2);font-size:.78em}
.hero__lead{font-size:clamp(1.05rem,2.8vw,1.35rem);font-weight:800;color:#24324b;margin:0 0 18px}
.hero__lead strong{color:var(--green)}
.hero__lead strong+strong{color:var(--blue)}
.hero__text p:not(.eyebrow):not(.hero__lead){font-size:1.05rem;max-width:43em}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;font-weight:800;padding:13px 20px;border:2px solid transparent;line-height:1.2}
.button--primary{background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;box-shadow:0 10px 20px rgba(10,77,159,.2)}
.button--ghost{background:#fff;color:var(--blue);border-color:var(--blue-border)}
.media-card{margin:0;background:rgba(255,255,255,.78);border:1px solid var(--blue-border);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}
.media-card img{border-radius:calc(var(--radius) - 8px);width:100%}
.media-card figcaption{font-size:.85rem;color:var(--muted);text-align:center;margin-top:8px;line-height:1.5}
.hero__visual{background:rgba(255,255,255,.7)}
.section-heading{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 28px;text-align:center;color:var(--blue)}
.section-heading:before,.section-heading:after{content:"";height:2px;background:linear-gradient(90deg,transparent,var(--blue-border));flex:1;max-width:180px}
.section-heading:after{background:linear-gradient(90deg,var(--blue-border),transparent)}
.section-heading h2{font-size:clamp(1.65rem,4.5vw,2.5rem);line-height:1.28;margin:0;font-weight:900;letter-spacing:.01em}
.section-heading__icon{font-size:1.5rem;line-height:1}
.section-heading--compact{margin-bottom:22px}.section-heading--compact h2{font-size:clamp(1.35rem,3.6vw,2rem)}
.section-heading--left{justify-content:flex-start;text-align:left}.section-heading--left:before{display:none}.section-heading--left:after{max-width:120px}
.section-lead{text-align:center;color:#2d3b50;font-size:1.05rem;margin:-8px auto 34px;max-width:45em}
.point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:34px}
.point-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px 24px;text-align:center;box-shadow:var(--shadow);overflow:hidden}
.point-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--blue)}
.point-card--green:before{background:var(--green)}
.point-card .num{position:absolute;top:16px;left:16px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;font-size:1.35rem}
.point-card--green .num{background:var(--green)}
.point-card .icon{font-size:3rem;display:block;margin-top:10px}
.point-card h3{font-size:1.25rem;color:var(--blue);line-height:1.35;margin:12px 0 10px;font-weight:900}
.point-card--green h3{color:var(--green)}
.point-card p{margin:0;color:#26364a}
.info-card,.step-panel,.collect-card,.faq-card,.timeline-card,.tip-card,.resource-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.info-card{padding:26px clamp(18px,4vw,34px);margin-top:22px}
.info-card h3{font-size:1.45rem;color:var(--blue);margin:0 0 12px;text-align:center}
.check-list{list-style:none;margin:0;padding:0}.check-list li{position:relative;padding:12px 0 12px 42px;border-top:1px dashed var(--blue-border);font-weight:700}.check-list li:first-child{border-top:0}.check-list li:before{content:"✓";position:absolute;left:0;top:12px;width:28px;height:28px;display:grid;place-items:center;background:var(--blue-2);color:#fff;border-radius:50%;font-weight:900;line-height:1}
.step-panel{margin-top:34px;padding:28px}.step-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;padding:0;margin:0;counter-reset:step}.step-list li{position:relative;min-height:130px;background:linear-gradient(180deg,#f7fcff,#fff);border:1px solid var(--blue-border);border-radius:18px;padding:48px 12px 18px;text-align:center;display:grid;place-items:center}.step-list li span{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:42px;height:42px;background:var(--blue-2);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.2rem}.step-list li strong{line-height:1.55;font-size:1rem}.timeline-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.timeline-card{padding:26px 24px}.timeline-card h3{width:max-content;min-width:190px;text-align:center;margin:0 auto 22px;border-radius:999px;color:#fff;padding:8px 26px;font-size:1.55rem;line-height:1.2}.timeline-card--green h3{background:linear-gradient(135deg,var(--green),#52ba66)}.timeline-card--blue h3{background:linear-gradient(135deg,var(--blue),#4c9ee8)}.timeline-card dl{margin:0}.timeline-card div{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:start;position:relative;padding:0 0 18px}.timeline-card div:not(:last-child):before{content:"";position:absolute;left:40px;top:44px;bottom:-8px;width:2px;background:#cfe5d3}.timeline-card--blue div:not(:last-child):before{background:#cfe2f6}.timeline-card dt{background:var(--green);color:#fff;border-radius:999px;min-height:44px;display:grid;place-items:center;font-weight:900;line-height:1.15;text-align:center}.timeline-card--blue dt{background:var(--blue-2)}.timeline-card dd{margin:3px 0 0;font-weight:700;color:#28364a}
.tip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tip-card{padding:26px 18px}.tip-card span{width:42px;height:42px;background:var(--blue-2);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.15rem;margin-bottom:12px}.tip-card:nth-child(odd) span{background:var(--green)}.tip-card h3{margin:0 0 10px;color:var(--blue);font-size:1.1rem;line-height:1.35}.tip-card:nth-child(odd) h3{color:var(--green)}.tip-card p{margin:0;font-size:.96rem;color:#303f54}
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:28px}.resource-card{padding:26px 24px;text-align:center}.resource-card h3{font-size:1.55rem;margin:0 0 8px;color:var(--blue)}.resource-card p{margin:0}.resource-card--blue{background:linear-gradient(180deg,#f3f9ff,#fff)}.resource-card--green{background:linear-gradient(180deg,#effaf0,#fff)}.resource-card--green h3{color:var(--green)}.resource-card--purple{background:linear-gradient(180deg,var(--purple-soft),#fff)}.resource-card--purple h3{color:var(--purple)}
.collect-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.collect-card{padding:26px}.collect-card h3{margin:0 0 12px;color:var(--blue);font-size:1.35rem}.collect-card--green h3{color:var(--green)}.collect-card ul{list-style:none;margin:0;padding:0}.collect-card li{padding:12px 0 12px 34px;border-top:1px dashed var(--line);position:relative}.collect-card li:first-child{border-top:0}.collect-card li:before{content:"›";position:absolute;left:0;top:14px;width:23px;height:23px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:900}.collect-card--green li:before{background:var(--green-soft);color:var(--green)}.step-panel--white{background:#fff}.plain-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.plain-steps li{counter-increment:plain;position:relative;border:1px solid var(--blue-border);border-radius:16px;background:#fff;padding:48px 12px 16px;text-align:center;font-weight:800;line-height:1.5}.plain-steps li:before{content:counter(plain);position:absolute;top:12px;left:50%;transform:translateX(-50%);width:30px;height:30px;border-radius:50%;background:var(--blue-2);color:#fff;display:grid;place-items:center;font-weight:900}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.faq-card{padding:24px}.faq-card h3{margin:0 0 12px;color:var(--blue);font-size:1.15rem}.faq-card h3:before{content:"Q";display:inline-grid;place-items:center;width:30px;height:30px;background:var(--blue-2);color:#fff;border-radius:50%;margin-right:8px}.faq-card p{margin:0;padding-left:38px;position:relative}.faq-card p:before{content:"A";position:absolute;left:0;top:0;width:30px;height:30px;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:900}.section-note{background:#f9fcff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.note-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.replace-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px 18px 36px;box-shadow:var(--shadow)}.replace-list li{margin:.35em 0}.note-image{background:#fff}.final-cta{background:linear-gradient(135deg,#ebf7ff 0%,#fff 46%,#effaef 100%)}.final-cta__box{text-align:center;background:#fff;border:1px solid var(--blue-border);border-radius:32px;box-shadow:var(--shadow);padding:38px 24px}.final-cta h2{font-size:clamp(2rem,5vw,3.2rem);margin:0;color:var(--blue)}.final-cta p:not(.eyebrow){max-width:48em;margin:12px auto 24px}.site-footer{padding:28px 0;text-align:center;color:#68768a;background:#fff;border-top:1px solid var(--line)}
@media (max-width:880px){
  .menu-button{display:block}.global-nav{position:absolute;right:0;top:70px;display:none;flex-direction:column;align-items:stretch;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:var(--shadow)}.global-nav.is-open{display:flex}.global-nav a{padding:12px 14px}.brand__label{display:none}.hero__grid,.timeline-grid,.media-grid,.collect-grid,.note-grid{grid-template-columns:1fr}.point-grid,.tip-grid,.resource-grid,.faq-grid{grid-template-columns:1fr}.step-list{grid-template-columns:1fr 1fr}.plain-steps{grid-template-columns:1fr 1fr}.hero__visual{max-width:520px;margin-inline:auto}.section-pad{padding:50px 0}.timeline-card div{grid-template-columns:72px 1fr}.timeline-card div:not(:last-child):before{left:34px}.timeline-card h3{min-width:160px}.tip-grid{gap:14px}
}
@media (max-width:520px){
  body{line-height:1.78}.container{width:min(calc(100% - 24px),var(--max))}.site-header__inner{min-height:68px}.brand__logo{width:178px}.hero__grid{gap:24px}h1{font-size:2.35rem}.hero__actions{display:grid}.button{width:100%}.section-heading{gap:8px;margin-bottom:22px}.section-heading:before,.section-heading:after{max-width:48px}.section-heading h2{font-size:1.55rem}.point-card,.info-card,.step-panel,.timeline-card,.tip-card,.collect-card,.faq-card{border-radius:18px}.step-list,.plain-steps{grid-template-columns:1fr}.timeline-card{padding:22px 18px}.timeline-card div{grid-template-columns:64px 1fr;gap:10px}.timeline-card div:not(:last-child):before{left:30px}.timeline-card dt{min-height:38px;font-size:.9rem}.timeline-card dd{font-size:.96rem}.media-card{border-radius:18px}.resource-grid{gap:14px}.site-header{border-top-width:4px}
}


/* visual sliced cards */
.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
.visual-card{padding:0 !important;background:transparent !important;border:none !important;box-shadow:none !important;overflow:visible !important}
.visual-card:before{display:none !important}
.visual-card__image{display:block;width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow)}
.point-grid--visual,.tip-grid--visual,.resource-grid--visual{align-items:start}
.step-list--visual{gap:18px}
.step-card-visual{background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important;min-height:auto !important;display:block !important}
.step-card-visual img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:var(--shadow)}
@media (max-width: 720px){
  .visual-card__image{border-radius:18px}
}


/* smartphone refinement 2026-06-17 */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img{height:auto}
@media (max-width: 767px){
  .container{width:min(calc(100% - 20px),var(--max))}
  .section-pad{padding:42px 0}
  .hero__grid{gap:18px}
  .hero__text p:not(.eyebrow):not(.hero__lead){font-size:.98rem}
  .hero__lead{font-size:1rem;line-height:1.6}
  h1{font-size:2.05rem;line-height:1.08}
  .section-heading{justify-content:flex-start;text-align:left;gap:10px}
  .section-heading:before{display:none}
  .section-heading:after{max-width:64px}
  .section-lead{text-align:left;margin:-6px 0 24px;font-size:.98rem}
  .point-grid,.tip-grid,.resource-grid,.faq-grid,.media-grid,.timeline-grid,.collect-grid,.note-grid{grid-template-columns:1fr !important;gap:16px}
  .step-list,.plain-steps{grid-template-columns:1fr !important;gap:14px}
  .step-panel,.info-card,.timeline-card,.collect-card,.faq-card,.final-cta__box{padding:20px}
  .timeline-card h3{min-width:0;width:100%;font-size:1.25rem;padding:9px 16px;margin-bottom:18px}
  .timeline-card div{grid-template-columns:58px 1fr;gap:10px;padding-bottom:14px}
  .timeline-card div:not(:last-child):before{left:28px;top:36px}
  .timeline-card dt{min-height:34px;font-size:.88rem}
  .timeline-card dd{font-size:.95rem;line-height:1.7}
  .check-list li{padding-left:36px;font-size:.97rem}
  .check-list li:before{width:24px;height:24px;top:13px}
  .replace-list{padding:16px 18px 16px 28px}
  .brand__logo{width:min(172px,58vw)}
  .site-header__inner{width:min(calc(100% - 16px),var(--max));min-height:64px}
  .global-nav{left:0;right:0;min-width:auto}
  .visual-card__image,.step-card-visual img{border-radius:16px;width:100%;max-width:100%}
  .media-card{padding:10px}
  .media-card figcaption{font-size:.82rem}
  .collect-card li{padding-left:30px;font-size:.96rem}
  .faq-card{padding:18px}
  .faq-card h3{font-size:1.05rem}
  .faq-card p{padding-left:34px;font-size:.96rem}
}
@media (max-width: 390px){
  h1{font-size:1.9rem}
  .section-heading h2{font-size:1.38rem}
  .hero__actions{margin-top:18px}
  .button{padding:12px 16px}
  .step-panel,.info-card,.timeline-card,.collect-card,.faq-card,.final-cta__box{padding:18px}
}


/* section image layout */
.hero-image-section{background:linear-gradient(180deg,#f9fcff 0%,#ffffff 100%)}
.section-visual{margin:0 0 26px}
.section-visual--hero{margin-bottom:28px}
.section-visual img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:var(--shadow)}
.section-visual figcaption{font-size:.86rem;color:var(--muted);text-align:center;margin-top:8px}
@media (max-width: 767px){
  .section-visual{margin:0 0 18px}
  .section-visual img{border-radius:18px}
  .hero-image-section{padding-top:24px}
}


/* fine adjustments 2026-06-17 */
.section-visual--steps{margin-top:30px}
.section-visual--steps{margin-top:30px}
@media (max-width: 767px){
  .section-visual--steps{margin-top:22px}
}


/* remove white card framing */
.section-visual--framed{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;overflow:visible !important}
.section-visual--framed img{border-radius:24px !important;box-shadow:var(--shadow) !important}
@media (max-width: 767px){
  .section-visual--framed img{border-radius:18px !important}
}


/* final mobile spacing override 2026-06-17 */
/*
  iPhone / smartphone spacing final override.
  既存の @media (max-width:520px) や @media (max-width:767px) より後ろに置き、
  !important で上書きして、スマホでも確実にsection間の余白を縮めます。
*/
@media screen and (max-width: 767px) {
  .section-pad {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .hero-image-section {
    padding-top: 14px !important;
    padding-bottom: 16px !important;
  }

  .section-visual {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }

  .section-visual--hero {
    margin-bottom: 10px !important;
  }

  .section-visual--steps {
    margin-top: 18px !important;
    margin-bottom: 8px !important;
  }

  .info-card {
    margin-top: 14px !important;
    margin-bottom: 12px !important;
  }

  .media-grid {
    margin-top: 18px !important;
  }

  .collect-grid {
    margin-top: 12px !important;
    margin-bottom: 16px !important;
  }

  .step-panel {
    margin-top: 18px !important;
  }

  .section-heading {
    margin-bottom: 14px !important;
  }

  .section-lead {
    margin-bottom: 16px !important;
  }
}

@media screen and (max-width: 430px) {
  .section-pad {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .hero-image-section {
    padding-top: 10px !important;
    padding-bottom: 12px !important;
  }

  .section-visual {
    margin-bottom: 10px !important;
  }

  .section-visual--steps {
    margin-top: 14px !important;
  }

  .info-card {
    margin-top: 12px !important;
    margin-bottom: 10px !important;
  }
}
