/* page-top.css - page-specific styles */

h2{font-size:clamp(1.05rem, 0.85rem + 2.2vw, 1.9rem);}

.u-br-sp{display:none;}

@media(max-width:768px){.u-br-sp{display:inline;}}

.c-section--tinted{background:var(--purple-050);}

/* ---------- Warning alert bar above key visual ---------- */
  .c-alert-bar{
    background:#fff;
    border-bottom:1px solid var(--line);
    padding:8px 0;
  }

.c-alert-bar__link{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    color:#B31F31;
    font-weight:700;
    font-size:.82rem;
    text-align:left;
    line-height:1.5;
  }

.c-alert-bar__icon{
    flex:none;
    display:flex; align-items:center; justify-content:center;
    width:16px; height:16px;
    border-radius:50%;
    border:1.5px solid #B31F31;
    font-size:.68rem;
    font-weight:900;
  }

@media(max-width:600px){
  .c-alert-bar__link{font-size:.7656rem; justify-content:flex-start; text-align:left; align-items:flex-start;}
}

/* ---------- Marks & emphasis ---------- */
  .c-mark{
    background:linear-gradient(180deg, transparent 58%, var(--yellow) 58%);
    padding:0 .1em;
    font-weight:700;
  }

.c-heading__mark{color:#B31F31; font-size:1.3em;}

.c-heading--deco{
    text-align:center;
    position:relative;
    padding-bottom:22px;
    word-break:keep-all;
    overflow-wrap:break-word;
  }

.c-heading--deco::after{
    content:"";
    position:absolute;
    left:50%; bottom:0;
    transform:translateX(-50%);
    width:56px; height:3px;
    border-radius:2px;
    background:var(--yellow);
  }

.c-mark__block{
    display:inline-block;
    background:var(--yellow);
    color:var(--purple-900);
    padding:.25em .7em;
    border-radius:3px;
    font-weight:700;
  }

/* Header hamburger: square button, dark purple background, white lines */
  .c-hamburger--header{
    width:40px; height:40px;
    background:var(--purple-900);
    border-radius:8px;
  }

.c-hamburger--header span{
    left:10px; right:10px;
    background:#fff;
  }

.c-hamburger--header span:nth-child(1){top:13px;}

.c-hamburger--header span:nth-child(2){top:19px;}

.c-hamburger--header span:nth-child(3){top:25px;}

.c-hamburger--header.is-open span:nth-child(1){top:19px; transform:rotate(45deg);}

.c-hamburger--header.is-open span:nth-child(3){top:19px; transform:rotate(-45deg);}

@media(max-width:768px){
    .l-submenu__inner{display:none;}
    .c-hamburger--header{display:flex; align-items:center; justify-content:center;}
    .l-submenu{background:transparent; border-bottom:none;}
    .l-submenu.is-menu-open{background:var(--purple-900); border-bottom:1px solid rgba(255,255,255,.08);}
  }

/* ---------- Key visual placeholder (responsive PC/SP, aligned to content width) ---------- */
  .c-kv__placeholder{
    width:100%;
    border-bottom:1px solid var(--line);
    padding:0;
    background-color:#FFFFFF;
    background-image:
      linear-gradient(to right, #EFF4F9 1px, transparent 1px),
      linear-gradient(to bottom, #EFF4F9 1px, transparent 1px);
    background-size:26px 26px;
    background-position:center top;
  }

.c-kv__picture{display:block; width:100%; max-width:1080px; margin:0 auto;}

.c-kv__picture img{width:100%; height:auto; display:block;}

/* ---------- Lead (キービジュアルに続くテキスト) ---------- */
  .c-lead{background:var(--purple-050);}

.c-lead__top{
    background:var(--purple-050);
    padding:64px 0 0;
  }

.c-lead__intro-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 520px;
    gap:40px;
    align-items:center;
    text-align:left;
  }

.c-lead__intro-text,
.c-lead__sample{min-width:0;}

@media(max-width:900px){
  .c-lead__intro-grid{grid-template-columns:minmax(0,1fr); text-align:center;}
  .c-lead__sample{
    margin-left:-24px;
    margin-right:-24px;
    width:calc(100% + 48px);
  }
  .c-lead__sample-img{max-width:none;}
}

.c-lead__badge{
    font-weight:900;
    font-size:1.3rem;
    color:#2A2233;
    line-height:1.5;
    margin:0 0 10px;
  }

.c-lead__badge-red{color:#B31F31;}

@media(max-width:600px){
  .c-lead__badge{font-size:clamp(.9rem, 4.5vw, 1.3rem);}
}

@media(min-width:901px){
  .c-lead__badge{font-size:1.5rem;}
}

.c-lead h1{
    font-size:clamp(1.7rem, 1rem + 2.8vw, 2.6rem);
    font-weight:900;
    color:var(--ink);
    line-height:1.4;
    margin:0;
  }

.c-lead__danger{
    color:#B31F31;
    font-size:1.15em;
    font-weight:900;
  }

.c-lead__divider{
    display:flex;
    align-items:center;
    margin:24px 0;
  }

.c-lead__divider::before,
.c-lead__divider::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--purple-300);
  }

.c-lead__divider-dot{
    flex:none;
    width:8px; height:8px;
    margin:0 14px;
    background:var(--purple-700);
    transform:rotate(45deg);
  }

.c-lead__warning{
    font-size:1.15rem;
    font-weight:700;
    color:var(--purple-900);
    line-height:1.8;
    margin:0;
  }

@media(min-width:901px){.c-lead__warning{font-size:1.45rem;}}

.c-lead__warning-mark{
    background:linear-gradient(180deg, transparent 55%, var(--yellow) 55%);
    font-weight:900;
  }

.c-lead__sample{margin-top:0; padding:0;}

.c-lead__sample-img{max-width:100%; margin:0 auto;}

.c-lead__sample-img img{width:100%; height:auto; display:block; border-radius:4px;}

.c-lead__wedge{
    max-width:120px;
    margin:0 auto;
    height:26px;
    background:var(--purple-700);
    clip-path:polygon(0 0, 100% 0, 50% 100%);
  }

.c-lead__bottom{background:var(--purple-050);}

.c-risk__label{
    margin:16px auto 0;
    max-width:520px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    font-family:"Noto Sans JP",sans-serif;
    color:#B31F31;
    font-weight:700;
    font-size:1.25rem;
  }

@media(min-width:901px){.c-risk__label{font-size:1.55rem;}}

.c-risk__label-line{flex:1; height:1px; background:#d64545; max-width:70px;}

.c-risk__grid{
    margin:20px auto 0;
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:16px;
    max-width:1032px;
    padding:0 24px 32px;
  }

@media(max-width:768px){.c-risk__grid{grid-template-columns:repeat(2, minmax(0,1fr));}}

.c-risk__item{
    display:flex;
    flex-direction:column;
    align-items:center;
    background:#fff;
    border:1px solid #d64545;
    border-radius:10px;
    padding:28px 18px;
    box-shadow:0 4px 14px rgba(214,69,69,.1);
  }

.c-risk__icon{
    width:56px;height:56px;
    display:flex; align-items:center; justify-content:center;
    flex:none;
  }

.c-risk__icon svg{width:100%; height:100%; stroke:#d64545; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}

.c-risk__icon + p{margin-top:16px;}

.c-risk__item p{margin:0; font-size:.88rem; font-weight:700; color:var(--ink); line-height:1.6; text-align:center;}

.c-risk__emphasis{color:#B31F31; font-size:1.02rem;}

/* ---------- Situation cards ---------- */
  .c-situation{
    padding:36px 0 80px;
    background:#fff;
  }

.c-situation h2{
    font-size:clamp(1.05rem, 0.85rem + 2.2vw, 1.9rem);
    max-width:640px;
    margin:0 auto;
  }

.c-situation h2.c-heading--deco::after{background:var(--purple-900);}

.c-section--tinted h2.c-heading--deco::after,
.c-merit h2.c-heading--deco::after,
.c-strength h2.c-heading--deco::after,
.c-price h2.c-heading--deco::after,
.c-flow h2.c-heading--deco::after,
.c-mechanism h2.c-heading--deco::after,
.c-faq h2.c-heading--deco::after{background:var(--purple-900);}

.c-situation__panel{margin-top:24px;}

.c-situation__list{position:relative;}

.c-situation__row{
    display:flex;
    flex-wrap:wrap;
    border-radius:8px;
    overflow:hidden;
  }

.c-situation__row + .c-situation__row{margin-top:14px;}

.c-situation__row-label{
    flex:0 0 340px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    background:var(--purple);
    color:#fff;
    font-weight:700;
    font-size:1.15rem;
    padding:16px 20px;
    line-height:1.4;
    white-space:normal;
  }

.c-situation__row-accent{color:#FFCC00;}

.c-situation__row-icon{
    flex:none;
    width:68px;height:68px;
    display:flex; align-items:center; justify-content:center;
    background:#fff;
    border-radius:50%;
    overflow:hidden;
  }

.c-situation__row-icon img{width:100%; height:100%; display:block; object-fit:cover;}

.c-situation__row-answer{
    flex:3 1 480px;
    background:var(--purple-050);
    padding:18px 22px;
  }

.c-situation__row-tag{
    display:inline-block;
    position:relative;
    font-weight:700;
    color:var(--purple-900);
    font-size:1rem;
    padding:5px 18px;
    background:var(--yellow);
    border-radius:3px;
  }

.c-situation__row-tag + p{margin-top:10px;}

.c-situation__row-tag::before,
.c-situation__row-tag::after{
    content:"";
    position:absolute;
    bottom:-6px;
    width:0;height:0;
    border-style:solid;
  }

.c-situation__row-tag::before{
    left:0;
    border-width:0 0 6px 9px;
    border-color:transparent transparent transparent var(--yellow-dark);
  }

.c-situation__row-tag::after{
    right:0;
    border-width:0 9px 6px 0;
    border-color:transparent var(--yellow-dark) transparent transparent;
  }

.c-situation__row-answer p{margin:0; font-size:1.15rem; color:var(--ink-soft);}

.c-situation__row-answer strong{color:#c0392b;}

@media(max-width:640px){
    .c-situation__row-label{white-space:normal; flex-basis:auto;}
    .c-situation__row-answer{flex-basis:auto;}
    .c-situation__row{flex-direction:column;}
  }

/* ---------- Mechanism section ---------- */
  .c-mechanism{
    background:#fff;
    color:var(--ink);
    padding:96px 0;
  }

.c-mechanism h2{color:var(--purple-900);}

.c-mechanism .c-eyebrow{color:var(--purple-700);}

.c-mechanism .c-eyebrow::before{background:var(--purple-700);}

.c-mechanism__grid{
    margin:30px auto 0;
    max-width:1080px;
  }

.c-mechanism__item + .c-mechanism__item{margin-top:34px;}

.c-mechanism__item h3{
    color:var(--purple-900);
    font-size:1.22rem;
  }

.c-mechanism__item h3 + p{margin-top:10px;}

.c-mechanism__item p{color:var(--ink-soft); font-size:1.23rem;}

.c-mechanism__item-img{margin-top:16px;}

.c-mechanism__item-img img{width:100%; height:auto; display:block; border-radius:8px;}

@media(min-width:769px){
  .c-mechanism__item-img{max-width:700px; margin-left:auto; margin-right:auto;}
}

.c-stat__card{
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.22);
    border-radius:12px;
    padding:34px;
  }

.c-stat__heading{
    font-family:"Noto Sans JP",sans-serif;
    font-weight:700;
    color:#fff;
    font-size:1rem;
    margin:0 0 20px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.2);
  }

.c-donut__wrap{display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap;}

.c-donut__frame{
    flex:none;
    padding:14px;
    border:2px solid rgba(255,255,255,.35);
    border-radius:50%;
  }

.c-donut{
    width:168px; height:168px; border-radius:50%;
    background:conic-gradient(var(--yellow) 0% 95.6%, rgba(255,255,255,.25) 95.6% 100%);
    position:relative; flex:none;
  }

.c-donut::after{
    content:"";
    position:absolute; inset:20px;
    border-radius:50%;
    background:var(--purple-800);
  }

.c-donut__label{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    flex-direction:column; text-align:center; z-index:2;
  }

.c-donut__num{font-family:"Noto Sans JP",sans-serif; font-weight:900; font-size:1.7rem; color:#fff;}

.c-donut__num span{font-size:.9rem; color:var(--yellow);}

.c-stat__desc{font-size:.85rem; color:#f5f1fa; max-width:220px;}

.c-stat__highlight{color:var(--yellow); font-weight:900;}

.c-stat__caption{
    margin-top:22px; font-size:.82rem; color:var(--ink-soft);
    padding-top:16px; border-top:1px solid var(--line);
  }

.c-stat__caption a{color:var(--purple-700); text-decoration:underline; overflow-wrap:anywhere;}

.c-timeline{
    margin-top:36px;
    display:flex;
    flex-direction:column;
    gap:0;
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
  }

.c-timeline__row{
    position:relative;
    padding-left:64px;
    padding-bottom:28px;
  }

.c-timeline__row:last-child{padding-bottom:0;}

.c-timeline__row:not(:last-child)::before{
    content:"";
    position:absolute;
    left:26px; top:52px; bottom:-14px;
    width:2px;
    border-left:2px dashed var(--purple-300);
  }

.c-timeline__badge{
    position:absolute;
    left:0; top:0;
    width:52px;height:52px;border-radius:50%;
    background:var(--purple);
    color:#fff;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    z-index:2;
    box-shadow:0 4px 10px rgba(61,49,83,.25);
  }

.c-timeline__badge-label{font-size:.55rem; font-weight:700; letter-spacing:.05em;}

.c-timeline__badge-num{font-family:"Noto Sans JP",sans-serif; font-weight:900; font-size:1.2rem; line-height:1;}

.c-timeline__card{
    display:flex;
    align-items:center;
    gap:20px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:20px 24px;
    box-shadow:0 4px 14px rgba(61,49,83,.06);
  }

.c-timeline__icon{flex:none; width:72px; display:flex; align-items:center; justify-content:center;}

.c-timeline__icon img{width:100%; height:auto; display:block;}

.c-timeline__body h4{font-size:1.15rem; color:var(--purple-900);}

.c-timeline__body h4 + p{margin-top:8px;}

.c-timeline__body p{margin:0; font-size:1.14rem; color:var(--ink-soft); line-height:1.7;}

.c-timeline__link{color:#B31F31; font-weight:700;}

@media(max-width:600px){
  .c-timeline__card{flex-direction:column; text-align:center;}
  .c-timeline__icon{width:88px;}
}

/* ---------- Merits ---------- */
  .c-merit{padding:96px 0;}

.c-merit__grid{
    margin-top:28px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:24px;
  }

@media(max-width:768px){.c-merit__grid{grid-template-columns:minmax(0,1fr);}}

.c-merit__card{
    padding:0 0 26px;
    border:1px solid var(--line);
    border-radius:10px;
    position:relative;
    background:#fff;
    text-align:center;
    overflow:hidden;
  }

.c-merit__num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;height:44px;
    margin:22px auto 18px;
    border-radius:50%;
    background:var(--purple-900);
    color:#fff;
    font-family:"Noto Sans JP",sans-serif;
    font-weight:900;
    font-size:1.05rem;
  }

.c-merit__card h4{font-size:1.45rem; margin:0 26px 12px; line-height:1.6;}

.c-merit__red{color:#B31F31;}

.c-merit__card p{margin:0 26px; font-size:1.14rem; color:var(--ink-soft); text-align:left; line-height:1.8;}

.c-merit__img{
    margin-top:22px;
    width:100%;
    aspect-ratio:600/385;
    background:#fff;
    overflow:hidden;
  }

.c-merit__img img{width:100%; height:100%; object-fit:cover; display:block;}

/* ---------- Mini CTA band ---------- */
  .c-mini-cta{
    background:var(--purple-900);
    padding:44px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    text-align:center;
  }

.c-mini-cta p{
    font-family:"Noto Sans JP",sans-serif;
    font-weight:700;
    color:#fff;
    font-size:1.2rem;
    margin:0 0 22px;
  }

.c-mini-cta .c-btn-group{max-width:640px; margin:0 auto;}

.c-mini-cta--light{background:var(--purple-900);}

.c-mini-cta--light p{color:#fff;}

/* ---------- Warning callout ---------- */
  .c-callout{
    background:#fff;
    padding:72px 0;
  }

.c-callout__panel{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:32px;
    max-width:1080px;
    margin:0 auto;
  }

.c-callout__text{flex:1; min-width:0;}

.c-callout__text h2{color:var(--purple-900); line-height:1.55;}

.c-callout__text p{color:var(--purple-900); margin-top:20px; font-size:1.25rem;}

.c-callout__red{color:#B31F31; font-weight:700;}

.c-callout__text .c-sign{margin-top:22px; font-family:"Noto Sans JP",sans-serif; color:var(--purple-900); font-weight:700;}

.c-callout__photo{flex:none; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:12px;}

.c-callout__photo img{width:100%; height:100%; object-fit:cover; display:block;}

@media(min-width:860px){
    .c-callout__panel{flex-direction:row; align-items:center; gap:40px;}
    .c-callout__photo{width:36%;}
  }

/* ---------- Strengths ---------- */
  .c-strength{padding:96px 0; background:var(--purple-050);}

.c-strength__list{margin-top:28px; display:flex; flex-direction:column; gap:18px;}

.c-strength__item{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:26px;
    align-items:center;
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:26px 30px;
  }

@media(max-width:700px){.c-strength__item{grid-template-columns:minmax(0,1fr); text-align:left;}}

.c-strength__icon{
    width:80px;height:80px;
    display:flex;align-items:center;justify-content:center;
    flex:none;
    margin:0 auto;
  }

.c-strength__icon img{width:100%; height:100%; object-fit:contain; display:block;}

@media(max-width:700px){.c-strength__icon{margin:0 auto 14px; width:84px; height:84px;}}

.c-strength__item h4{font-size:1.28rem;}

.c-strength__item h4 + p{margin-top:8px;}

.c-strength__emphasis{color:#B31F31;}

.c-strength__item p{margin:0; font-size:1.12rem; color:var(--ink-soft);}

/* ---------- Pricing ---------- */
  .c-price{padding:96px 0; background:#fff;}

.c-price__top{
    display:flex; gap:20px; flex-wrap:wrap; margin:40px 0 12px;
  }

.c-price__free{
    flex:1; min-width:200px;
    background:var(--yellow);
    color:var(--purple-900);
    border-radius:10px;
    padding:26px;
    text-align:center;
  }

.c-price__free .c-label{
    display:inline-block;
    font-size:.78rem;
    color:var(--purple-900);
    font-weight:700;
    letter-spacing:.04em;
    padding:5px 16px;
    background:#fff;
    border:1px solid rgba(61,49,83,.15);
    border-radius:20px;
  }

.c-price__free .c-val{
    font-family:"Noto Sans JP",sans-serif; font-weight:900; color:var(--purple-900); font-size:1.7rem; margin-top:8px;
  }

.c-plan__grid{
    margin-top:22px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:22px;
  }

@media(max-width:900px){.c-plan__grid{grid-template-columns:minmax(0,1fr);}}

.c-plan__card{
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    display:flex; flex-direction:column;
    box-shadow:0 4px 16px rgba(61,49,83,.06);
    transition:transform .18s ease, box-shadow .18s ease;
    position:relative;
  }

.c-plan__card:hover{transform:translateY(-4px); box-shadow:0 10px 28px rgba(61,49,83,.12);}

.c-plan__card.is-featured{
    border:2px solid var(--yellow-dark);
    box-shadow:0 8px 24px rgba(217,169,31,.18);
  }

.c-plan__badge{
    position:absolute; top:-1px; right:-1px;
    background:var(--yellow); color:var(--purple-900);
    font-size:.72rem; font-weight:700;
    padding:6px 14px; border-radius:0 0 0 8px;
  }

.c-plan__head{
    background:linear-gradient(180deg, var(--purple-050), #fff);
    padding:22px 24px;
    border-bottom:1px solid var(--line);
  }

.c-plan__head h4{font-size:1.05rem;}

.c-plan__head h4 + p{margin-top:6px;}

.c-plan__head p{margin:0; font-size:.82rem; color:var(--ink-soft);}

.c-plan__body{padding:24px; flex:1; display:flex; flex-direction:column; gap:12px;}

.c-plan__fee{
    display:flex; justify-content:space-between; align-items:baseline;
    font-size:.88rem;
    background:var(--purple-050);
    border-radius:6px;
    padding:10px 14px;
  }

.c-plan__fee span.c-v{font-weight:900; color:var(--purple-900); font-family:"Noto Sans JP",sans-serif; font-size:1.05rem;}

.c-plan__note{font-size:.78rem; color:var(--ink-soft); margin:2px 0 0;}

.c-price__extra-cost{
    margin-top:40px;
    background:var(--purple-050);
    border-radius:10px;
    padding:28px 30px;
  }

.c-price__extra-cost h4{font-size:1rem;}

.c-price__extra-cost h4 + .c-price__extra-row{margin-top:16px;}

.c-price__extra-row{display:flex; gap:18px; font-size:.88rem; padding:10px 0; border-bottom:1px solid var(--line);}

.c-price__extra-row:last-child{border-bottom:none;}

.c-price__extra-row .c-k{flex:none; width:130px; font-weight:700; color:var(--purple-900);}

.c-price__extra-row .c-v{color:var(--ink-soft);}

.c-price__extra-toggle-input{position:absolute; opacity:0; width:0; height:0; pointer-events:none;}

.c-price__extra-row--acc .c-k{
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

.c-price__extra-toggle-btn{
    flex:none;
    font-size:.76rem;
    font-weight:700;
    color:var(--purple-700);
    border:1px solid var(--purple-300);
    border-radius:14px;
    padding:3px 12px;
  }

.c-price__extra-row--acc .c-v{
    max-height:0;
    overflow:hidden;
    margin-top:0;
    transition:max-height .25s ease;
  }

.c-price__extra-toggle-input:checked ~ .c-v{
    max-height:400px;
    margin-top:8px;
  }

.c-price__extra-toggle-input:checked ~ .c-k .c-price__extra-toggle-btn{color:#fff; background:var(--purple-700);}

@media(min-width:641px){
  .c-price__extra-row--acc{display:flex; gap:18px;}
  .c-price__extra-row--acc .c-k{display:block; width:130px; flex:none; cursor:default;}
  .c-price__extra-toggle-btn{display:none;}
  .c-price__extra-row--acc.c-price__extra-row--acc .c-v{max-height:none; overflow:visible; margin-top:0;}
}

.c-price__footnote{
    margin-top:30px; font-size:.78rem; color:var(--ink-soft); line-height:2;
  }

/* ---------- Guarantee ---------- */
  .c-guarantee{
    padding:80px 0;
    background:linear-gradient(160deg, var(--purple) 0%, var(--purple-700) 100%);
    color:#fff;
    text-align:center;
  }

.c-guarantee__badge-wrap{
    position:relative;
    display:inline-flex; align-items:center; justify-content:center;
    width:180px; height:180px;
  }

.c-guarantee__badge-wrap + h2{margin-top:30px;}

.c-guarantee__badge-wrap img{width:100%; height:100%; display:block;}

.c-guarantee h2{color:#fff; max-width:640px; margin:0 auto;}

.c-guarantee p{color:#fff; max-width:560px; margin:18px auto 0; font-size:.92rem;}

@media(min-width:901px){.c-guarantee p{font-size:1.22rem;}}

/* ---------- Flow ---------- */
  .c-flow{padding:96px 0; background:var(--purple-050);}

.c-flow__grid{
    margin-top:28px;
    display:grid;
    grid-template-columns:repeat(5, minmax(0,1fr));
    gap:16px;
  }

@media(max-width:960px){.c-flow__grid{grid-template-columns:repeat(2, minmax(0,1fr));}}

@media(max-width:560px){.c-flow__grid{grid-template-columns:minmax(0,1fr);}}

.c-flow__card{
    background:#fff; border-radius:10px; padding:24px 18px;
    border-top:3px solid var(--purple);
    position:relative;
  }

.c-flow__card .c-fn{
    font-family:"Noto Sans JP",sans-serif; font-weight:900; color:var(--purple-300); font-size:1.6rem;
  }

.c-flow__img{
    margin:10px 0;
    width:100%;
    aspect-ratio:1/1;
    border-radius:8px;
    overflow:hidden;
  }

.c-flow__img img{width:100%; height:100%; object-fit:cover; display:block;}

@media(max-width:768px){
  .c-flow__img{aspect-ratio:452/160;}
}

.c-flow__card h4{font-size:1.28rem; margin:10px 0 8px;}

.c-flow__card p{margin:0; font-size:1.14rem; color:var(--ink-soft);}

.c-flow__pay{
    display:inline-block;
    margin-top:12px;
    font-size:.74rem;
    font-weight:700;
    color:var(--purple-900);
    background:var(--yellow);
    padding:3px 10px;
    border-radius:3px;
  }

/* ---------- FAQ ---------- */
  .c-faq{padding:96px 0;}

.c-faq__list{margin-top:26px; display:flex; flex-direction:column; gap:14px;}

.c-faq__item{
    border:1px solid var(--line);
    border-radius:8px;
    overflow:hidden;
    background:#fff;
  }

.c-faq__question{
    display:flex; align-items:center; gap:16px;
    padding:20px 24px;
    cursor:pointer;
    font-family:"Noto Sans JP",sans-serif;
    font-weight:700;
    font-size:1.28rem;
    color:var(--purple-900);
  }

.c-faq__question .c-qmark{
    flex:none;
    width:32px;height:32px;border-radius:50%;
    background:var(--purple-050);
    color:var(--purple);
    display:flex;align-items:center;justify-content:center;
    font-size:.9rem;
  }

.c-faq__question .c-chev{
    margin-left:auto;
    transition:transform .25s ease;
    color:var(--purple-300);
    flex:none;
  }

.c-faq__item.is-open .c-chev{transform:rotate(45deg);}

.c-faq__answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
  }

.c-faq__answer-inner{
    padding:0 24px 22px 72px;
    font-size:1.2rem;
    color:var(--ink-soft);
  }

/* ---------- Anchor offset for sticky header ---------- */
  section[id]{scroll-margin-top:118px;}

/* ---------- Fixed bottom CTA (PC + Mobile) ---------- */
  body{padding-bottom:132px;}

.c-fixed-cta__photo{display:none;}

.c-fixed-cta__caption{display:none;}

@media(min-width:1100px){
    .c-fixed-cta__buttons{max-width:600px; margin:0 auto;}
    .c-fixed-cta__photo{
      display:block;
      position:absolute;
      left:calc(50% + 300px - 16px); bottom:-10px;
      pointer-events:none;
    }
    .c-fixed-cta__photo img{width:150px; height:auto; display:block;}
    .c-fixed-cta__caption{
      display:block;
      position:absolute;
      left:calc(50% + 300px - 16px + 158px);
      bottom:20px;
      width:106px;
      margin:0;
      font-size:.6rem;
      font-weight:700;
      color:var(--ink-soft);
      line-height:1.5;
      text-align:left;
      white-space:nowrap;
      pointer-events:none;
    }
  }

/* ---------- Utility classes (inline style removal) ---------- */
  .u-hidden-frame{display:none;visibility:hidden;}

.u-bg-tint{background:var(--yellow-050);}

.c-val--lg{font-size:1.15rem;}

.c-plan__lead-note{margin-top:30px; font-family:"Noto Sans JP",sans-serif; font-weight:700; color:var(--purple-900); text-align:center; font-size:1.1rem;}

@media(min-width:901px){.c-plan__lead-note{font-size:1.4rem;}}

.c-plan__fine-print{font-size:.78rem; opacity:.85;}

.c-plan__addon-note{margin-top:16px;}

/* ---------- Top page: stat block emphasis ---------- */
  .c-stat__desc strong{color:#fff;}
