.p-parent-home {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: calc(var(--space-7) * -1);
  margin-bottom: -28px;
  color: #17243d;
  background: #fff;
}
.p-parent-home__wrap { width: min(calc(100% - 48px), 1160px); margin-inline: auto; }
.p-parent-home h1,.p-parent-home h2,.p-parent-home h3 { color:#17243d; }
.p-parent-home p { color:#5f6f83; }
.p-parent-home__hero { position:relative; overflow:hidden; padding:82px 0 72px; background:linear-gradient(135deg,#f3f8ff 0%,#fff 54%,#fff8e8 100%); }
.p-parent-home__hero::before { content:""; position:absolute; width:520px; height:520px; right:-150px; top:-230px; border-radius:50%; background:rgba(83,152,242,.10); }
.p-parent-home__hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:.92fr 1.08fr; gap:62px; align-items:center; }
.p-parent-home__eyebrow { display:inline-flex; align-items:center; gap:9px; color:#2f7de8; font-size:.82rem; font-weight:900; letter-spacing:.08em; }
.p-parent-home__eyebrow::before { content:""; width:28px; height:3px; border-radius:999px; background:#ffcb4f; }
.p-parent-home__intro h1 { margin:18px 0 20px; font-size:clamp(3rem,5vw,5.25rem); line-height:1.02; letter-spacing:-.06em; }
.p-parent-home__intro h1 em { color:#2f7de8; font-style:normal; }
.p-parent-home__intro > p { max-width:590px; margin:0; font-size:1.06rem; line-height:1.9; }
.p-parent-home__trust { display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.p-parent-home__trust span { padding:8px 12px; border:1px solid #dbe7f6; border-radius:999px; background:rgba(255,255,255,.88); color:#42546c; font-size:.8rem; font-weight:800; }
.p-parent-home__entry,.p-parent-home__returning { padding:32px; border:1px solid rgba(209,224,242,.95); border-radius:28px; background:rgba(255,255,255,.96); box-shadow:0 24px 68px rgba(34,67,108,.12); }
.p-parent-home__entry-heading > span,.p-parent-home__status { color:#2f7de8; font-size:.78rem; font-weight:900; letter-spacing:.08em; }
.p-parent-home__entry h2,.p-parent-home__returning h2 { margin:8px 0 8px; font-size:clamp(1.6rem,2.6vw,2.2rem); letter-spacing:-.035em; }
.p-parent-home__entry-heading p,.p-parent-home__returning p { margin:0; line-height:1.75; }
.p-parent-home__form { display:grid; gap:16px; margin-top:24px; }
.p-parent-home__form label { display:grid; gap:7px; color:#304159; font-weight:900; }
.p-parent-home__form label span { font-size:.9rem; }
.p-parent-home__form input { width:100%; min-height:54px; padding:12px 14px; border:1px solid #cfdbea; border-radius:14px; background:#fff; color:#17243d; font:inherit; font-size:1rem; box-shadow:inset 0 1px 2px rgba(36,58,87,.03); }
.p-parent-home__form input:focus { outline:3px solid rgba(47,125,232,.15); border-color:#2f7de8; }
.p-parent-home__form button,.p-parent-home__primary { display:inline-flex; justify-content:center; align-items:center; min-height:56px; padding:13px 20px; border:0; border-radius:15px; background:#2f7de8; color:#fff; font:inherit; font-weight:900; text-decoration:none; cursor:pointer; box-shadow:0 14px 28px rgba(47,125,232,.22); }
.p-parent-home__form button:hover,.p-parent-home__primary:hover { filter:brightness(.97); }
.p-parent-home__entry-note { margin:14px 0 0 !important; color:#738196 !important; font-size:.78rem; line-height:1.65 !important; }
.p-parent-home__returning .p-parent-home__primary { margin-top:22px; }
.p-parent-home__photo-wrap { position:relative; z-index:1; width:min(calc(100% - 48px),1160px); height:290px; margin:54px auto 0; overflow:hidden; border-radius:32px; box-shadow:0 24px 68px rgba(40,68,100,.12); }
.p-parent-home__photo-wrap img { width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.p-parent-home__steps { padding:92px 0 98px; background:#fff; }
.p-parent-home__heading { text-align:center; max-width:720px; margin-inline:auto; }
.p-parent-home__heading > span { color:#2f7de8; font-size:.8rem; font-weight:900; letter-spacing:.08em; }
.p-parent-home__heading h2 { margin:10px 0 0; font-size:clamp(2rem,4vw,3.35rem); letter-spacing:-.045em; }
.p-parent-home__steps ol { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding:0; margin:44px 0 0; list-style:none; }
.p-parent-home__steps li { display:flex; gap:16px; padding:26px 24px; border:1px solid #e1e9f3; border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(42,67,101,.06); }
.p-parent-home__steps li > b { flex:0 0 auto; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#eaf4ff; color:#2f7de8; }
.p-parent-home__steps strong { display:block; margin:2px 0 7px; font-size:1rem; }
.p-parent-home__steps p { margin:0; font-size:.88rem; line-height:1.7; }
.p-parent-home__安心 { padding:96px 0; background:#17243d; }
.p-parent-home__安心 h2 { margin:13px 0 16px; color:#fff; font-size:clamp(2rem,4vw,3.2rem); line-height:1.12; letter-spacing:-.045em; }
.p-parent-home__安心 p { color:#cbd5e4; line-height:1.85; }
.p-parent-home__安心 a { color:#fff; font-weight:900; text-underline-offset:4px; }
.p-parent-home__safe-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:center; }
.p-parent-home__safe-cards { display:grid; gap:12px; }
.p-parent-home__safe-cards article { padding:22px 24px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.06); }
.p-parent-home__safe-cards strong { color:#fff; }
.p-parent-home__safe-cards p { margin:6px 0 0; font-size:.88rem; }
.p-parent-home__faq { padding:96px 0; }
.p-parent-home__faq-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:64px; align-items:start; }
.p-parent-home__faq-grid .p-parent-home__heading { text-align:left; margin:0; }
.p-parent-home__faq-items { display:grid; gap:10px; }
.p-parent-home__faq details { border:1px solid #e1e9f3; border-radius:16px; background:#fff; }
.p-parent-home__faq summary { padding:19px 22px; cursor:pointer; color:#283a53; font-weight:900; }
.p-parent-home__faq details p { margin:0; padding:0 22px 20px; line-height:1.8; }
.p-parent-home__school-link { padding:72px 0; background:#f3f8ff; }
.p-parent-home__school-link-inner { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
.p-parent-home__school-link span { color:#2f7de8; font-size:.8rem; font-weight:900; }
.p-parent-home__school-link h2 { margin:8px 0; font-size:clamp(1.7rem,3vw,2.45rem); letter-spacing:-.04em; }
.p-parent-home__school-link p { margin:0; line-height:1.7; }
.p-parent-home__school-actions { display:flex; flex-wrap:wrap; gap:10px; }
.p-parent-home__school-actions a { display:inline-flex; align-items:center; min-height:48px; padding:10px 17px; border:1px solid #c9dbf0; border-radius:999px; background:#fff; color:#246fcf; font-weight:900; text-decoration:none; }
.p-parent-home__school-actions a:first-child { border-color:#2f7de8; background:#2f7de8; color:#fff; }
@media (max-width:900px) {
  .p-parent-home__hero-grid { grid-template-columns:1fr; gap:34px; }
  .p-parent-home__intro { text-align:center; }
  .p-parent-home__intro > p { margin-inline:auto; }
  .p-parent-home__eyebrow { justify-content:center; }
  .p-parent-home__trust { justify-content:center; }
  .p-parent-home__entry,.p-parent-home__returning { width:min(100%,640px); margin-inline:auto; }
  .p-parent-home__safe-grid,.p-parent-home__faq-grid { grid-template-columns:1fr; gap:38px; }
  .p-parent-home__faq-grid .p-parent-home__heading { text-align:center; margin-inline:auto; }
  .p-parent-home__school-link-inner { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .p-parent-home { margin-top:-32px; }
  .p-parent-home__wrap { width:min(calc(100% - 28px),1160px); }
  .p-parent-home__hero { padding:56px 0 52px; }
  .p-parent-home__intro h1 { font-size:clamp(2.65rem,13vw,4rem); }
  .p-parent-home__entry,.p-parent-home__returning { padding:24px 20px; border-radius:22px; }
  .p-parent-home__photo-wrap { width:calc(100% - 28px); height:220px; margin-top:36px; border-radius:22px; }
  .p-parent-home__steps,.p-parent-home__安心,.p-parent-home__faq { padding-block:70px; }
  .p-parent-home__steps ol { grid-template-columns:1fr; margin-top:30px; }
  .p-parent-home__school-link { padding:54px 0; }
  .p-parent-home__school-actions { align-items:stretch; }
  .p-parent-home__school-actions a { justify-content:center; width:100%; }
}
