
:root{--ink:#27222b;--muted:#756f78;--pink:#ef5481;--pink2:#ff668e;--purple:#7f54e8;--line:#efe3e9;--soft-pink:#fff4f6;--soft-lilac:#f8f3ff;--shadow:0 22px 70px rgba(82,45,85,.09);--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.85;background:#fff}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input{font:inherit}.svg-sprite{position:absolute;overflow:hidden}.icon-orb svg,.search-icon svg,.privacy-strip svg,.register-message svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.icon-orb{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;color:var(--pink);background:linear-gradient(145deg,#fff1f5,#fff)}.icon-orb.purple{color:var(--purple);background:linear-gradient(145deg,#f5efff,#fff)}.icon-orb svg{width:36px;height:36px}
.site-header{width:min(1280px,calc(100% - 64px));height:86px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;position:absolute;inset:0 0 auto;z-index:5}.brand{font-size:30px;font-weight:800;letter-spacing:-.06em}.brand span{color:var(--pink)}.desktop-nav{display:flex;gap:32px;font-size:13px}.desktop-nav a{opacity:.8}.header-cta{padding:10px 22px;border:1px solid #eadfe9;border-radius:999px;background:rgba(255,255,255,.88);font-weight:700;font-size:13px}
.section-shell{width:min(1280px,calc(100% - 64px));margin:auto}.section-block{padding:190px 0}.section-white{background:#fff}.section-pink{background:linear-gradient(135deg,#fff9fa 0%,#fff1f4 50%,#f9f3ff 100%)}.section-lilac{background:linear-gradient(135deg,#fff 0%,#f9f3ff 55%,#fff6f8 100%)}.eyebrow{color:var(--pink);font-weight:800;letter-spacing:.16em;font-size:12px;margin:0 0 22px}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:.01em;line-height:1.48;margin:0}h1{font-size:clamp(54px,5.5vw,88px)}h2{font-size:clamp(40px,4vw,64px)}em{font-style:normal;background:linear-gradient(100deg,var(--pink),var(--purple));-webkit-background-clip:text;color:transparent}.section-lead{color:var(--muted);font-size:16px;line-height:2.05;margin-top:34px}.primary-cta{display:flex;align-items:center;justify-content:center;gap:42px;width:350px;max-width:100%;padding:19px 26px;margin-top:48px;border-radius:999px;color:#fff;font-weight:800;font-size:18px;background:linear-gradient(100deg,var(--pink2),var(--purple));box-shadow:0 14px 34px rgba(176,76,156,.18)}.microcopy{font-size:12px;color:#8b818b;margin-top:18px}
.hero{min-height:960px;padding-top:150px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:72px}.hero-copy{padding-left:18px}.hero-lead{font-family:var(--serif);font-size:24px;line-height:1.9;margin-top:38px}.hero-visual{height:760px;overflow:hidden;border-radius:0 0 0 88px}.hero-visual:before{content:"";position:absolute}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.split{display:grid;grid-template-columns:1fr .98fr;gap:125px;align-items:center}.concept-photo{margin:70px 0 0;max-width:590px;position:relative}.concept-photo img{width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:34px}.concept-photo figcaption{position:absolute;left:26px;bottom:26px;background:rgba(255,255,255,.94);padding:17px 23px;border-radius:20px;font-family:var(--serif);box-shadow:var(--shadow)}.five-panel{background:linear-gradient(155deg,#fff,#fff8fb);padding:42px;border-radius:38px;box-shadow:var(--shadow);position:relative}.five-panel:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:linear-gradient(135deg,#ffe6ee,#efe5ff);z-index:-1;right:-130px;top:-100px}.panel-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.panel-head strong{font-size:24px}.panel-head strong span{color:var(--pink)}.panel-head small{color:#999}.slot{display:grid;grid-template-columns:42px 62px 1fr;gap:16px;align-items:center;padding:19px 20px;background:#fff;border:1px solid #eee;border-radius:22px;margin:14px 0}.slot>b{width:36px;height:36px;border:1px solid #edcad8;border-radius:50%;display:grid;place-items:center;color:#a66}.face{width:52px;height:52px;border-radius:50%;object-fit:cover}.empty-face{display:grid;place-items:center;background:#fff;border:1px dashed #ccc;color:#aaa;font-size:25px}.slot div strong{display:block;font-size:15px}.slot div small{color:#999}.slot.pink{border-color:#f3b8cc}.slot.lilac{border-color:#d9c3ff}.slot.matched{border-color:#e1cdff}.slot.vacant{border-style:dashed}.panel-note{text-align:center;color:#777;font-size:13px;margin:28px 0 0}
.pace{padding-top:215px;padding-bottom:215px}.pace-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:105px;align-items:center}.pace-photo{margin-top:54px;width:100%;max-width:520px;aspect-ratio:1.25;object-fit:cover;border-radius:32px}.pace-tagline{font-family:var(--serif);font-size:21px;margin-top:28px;color:#aa4fc0}.toggle-area{position:relative}.pace-detail{font-size:16px;line-height:2;margin:0 0 38px}.pace-detail strong{color:var(--pink)}.switch-copy{text-align:center;font-family:var(--serif);font-size:25px;margin-bottom:28px}.switch-columns{display:grid;grid-template-columns:1fr 58px 1fr;align-items:center}.mode-card{background:rgba(255,255,255,.88);padding:30px;border-radius:30px;min-height:470px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9)}.mode-card.on{background:linear-gradient(180deg,#fff,#fff7f9)}.mode-card.off{background:linear-gradient(180deg,#fff,#fbf7ff)}.mode-head{display:flex;justify-content:space-between;align-items:center;font-size:21px}.mode-card.on .mode-head strong{color:var(--pink)}.mode-card.off .mode-head strong{color:#7854cb}.toggle{width:58px;height:31px;border-radius:99px;background:#aaa;display:block;padding:3px}.toggle i{display:block;width:25px;height:25px;background:#fff;border-radius:50%}.on-toggle{background:linear-gradient(90deg,var(--pink),var(--purple))}.on-toggle i{margin-left:27px}.mode-card ul{padding:0;margin:32px 0;list-style:none}.mode-card li{margin:15px 0;padding-left:27px;position:relative;font-size:14px}.mode-card li:before{content:"✓";position:absolute;left:0;color:var(--pink);font-weight:800}.mode-card.off li:before{color:#8a68d8}.or{width:50px;height:50px;background:#fff;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:17px;box-shadow:0 8px 25px rgba(0,0,0,.08);z-index:2}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.profile-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px}.search-icon{height:165px;border-radius:22px;background:#faf7ff;display:grid;place-items:center;color:#8a68d8}.search-icon svg{width:66px;height:66px}.search-icon small{display:block;font-size:13px;color:#777;margin-top:-36px}.pace-benefits{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:0;margin-top:28px;background:rgba(255,255,255,.8);border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(77,46,78,.05)}.pace-benefits>strong,.pace-benefits>span{padding:24px 18px;display:flex;gap:12px;align-items:center;border-right:1px solid #f1dfe7;font-size:13px}.pace-benefits>strong{color:var(--pink)}.pace-benefits>span:last-child{border-right:0}.pace-benefits svg{width:28px;height:28px;fill:none;stroke:var(--pink);stroke-width:2;flex:none}
.how{padding-top:200px;padding-bottom:200px}.how-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:82px}.how-heading img{width:440px;aspect-ratio:1.9;object-fit:cover;border-radius:32px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.steps article{position:relative;background:#fff;border:1px solid #eee3e8;border-radius:30px;padding:48px 24px 28px;text-align:center;box-shadow:0 15px 45px rgba(60,40,60,.05);min-height:610px}.num{position:absolute;top:-20px;left:calc(50% - 21px);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-weight:800;box-shadow:0 0 0 9px #fff}.num.purple{background:var(--purple)}.steps h3{font-size:18px;color:#e95780;margin:0 0 12px}.steps article:last-child h3{color:#7950bd}.steps p{font-size:13px;color:#777;min-height:78px}.step-visual{height:235px;margin-top:28px;border-radius:20px;background:#fff8fa;border:1px solid #eee;overflow:hidden;position:relative}.profile-card img{width:100%;height:155px;object-fit:cover}.profile-card small{position:absolute;left:15px;bottom:42px}.profile-card b{position:absolute;right:15px;bottom:42px;font-size:12px}.profile-card i{position:absolute;left:15px;right:15px;bottom:20px;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--pink) 70%,#eee 70%)}.search-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px}.search-cards img{width:100%;height:100%;object-fit:cover;border-radius:14px}.chat-card{padding:18px 12px;background:#faf7ff}.chat-card div{display:flex;align-items:center;gap:9px;background:#fff;padding:11px;border-radius:14px;text-align:left;font-size:11px;margin:20px 0}.chat-card div img{width:32px;height:32px;border-radius:50%;object-fit:cover}.chat-card .mine{margin-left:24px;background:#ffeaf2;justify-content:flex-end;text-align:right}.couple-card img{width:100%;height:100%;object-fit:cover}.privacy-strip{margin-top:34px;padding:20px 26px;border-radius:22px;background:#fff5f8;display:flex;align-items:center;gap:18px;color:#777}.privacy-strip svg{width:32px;height:32px;color:var(--pink);flex:none}.privacy-strip strong{color:var(--pink);white-space:nowrap}.privacy-strip span{font-size:12px}
.safety{padding-top:215px;padding-bottom:215px}.safety-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:110px;align-items:center}.safety-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:52px}.safety-cards article{background:#fff;padding:34px 30px;border-radius:28px;box-shadow:0 14px 42px rgba(92,55,92,.06);min-height:240px;text-align:center}.safety-cards h3{margin:10px 0 8px}.safety-cards p{margin:0;color:#777;font-size:13px}.safety-photo{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:42px}
.for-you{padding-top:185px;padding-bottom:190px}.for-heading{max-width:760px}.people-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:72px}.people-cards article{background:#fff;border:1px solid #f0e6ea;border-radius:26px;overflow:hidden;box-shadow:0 14px 38px rgba(70,45,72,.04)}.people-cards img{width:100%;height:220px;object-fit:cover}.people-cards h3{font-size:15px;margin:21px 20px 11px;line-height:1.7}.people-cards ul{margin:0 20px 24px;padding:0;list-style:none}.people-cards li{font-size:12px;color:#777;margin:9px 0;padding-left:18px;position:relative}.people-cards li:before{content:"✓";position:absolute;left:0;color:var(--pink);font-weight:800}.for-you-end{margin:42px auto 0;max-width:880px;text-align:center;padding:22px;border-radius:22px;background:#fff8fa;color:#e6547e;font-family:var(--serif);font-size:20px}
.register{padding-top:200px;padding-bottom:200px}.register-top{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:70px}.register-top .register-photo{width:100%;height:330px;object-fit:cover;border-radius:34px}.register-main{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;margin-top:55px}.signup-card,.register-benefits{background:#fff;border-radius:32px;padding:36px;box-shadow:var(--shadow)}.signup-card h3,.register-benefits h3{text-align:center;color:var(--pink);font-size:22px}.signup-card>p{text-align:center;font-size:13px}.signup-card label{display:block;font-size:12px;color:#777;margin:18px 0 7px}.signup-card input{width:100%;padding:17px;border:1px solid #e7dde5;border-radius:14px;font-size:16px}.signup-card button{width:100%;border:0;color:#fff;background:linear-gradient(100deg,var(--pink),var(--purple));padding:18px;border-radius:999px;margin-top:18px;font-weight:800;cursor:pointer}.signup-card button span{float:right}.signup-card small{display:block;text-align:center;margin-top:14px;color:#999}.form-result{text-align:center;color:#6c4ab6;font-weight:700;margin-bottom:0}.register-benefits>div{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.register-benefits article{text-align:center;padding:14px}.register-benefits strong{display:block;line-height:1.7}.register-benefits p{font-size:12px;color:#777}.register-message{margin-top:34px;padding:22px 28px;background:rgba(255,255,255,.78);border-radius:22px;text-align:center;font-size:18px}.register-message svg{width:30px;height:30px;color:var(--pink);vertical-align:middle;margin-right:12px}.release-flow{margin-top:46px;text-align:center}.release-flow h3{color:var(--pink)}.release-flow>div{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:center;gap:10px;max-width:900px;margin:25px auto}.release-flow article{background:#fff;padding:18px;border-radius:18px;box-shadow:0 8px 24px rgba(70,50,70,.04);display:grid;grid-template-columns:42px 1fr;text-align:left;column-gap:12px}.release-flow article b{grid-row:1/3;width:36px;height:36px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center}.release-flow article small{color:#888}.release-flow>p{font-size:11px;color:#999}
.faq{padding-top:170px;padding-bottom:170px}.faq-shell{max-width:980px}.center{text-align:center}.center-title{text-align:center;margin-bottom:58px}.accordion details{border:1px solid #f0e5e9;border-radius:18px;margin:13px 0;background:#fff;overflow:hidden}.accordion summary{list-style:none;cursor:pointer;padding:23px 25px;font-weight:700;color:#df5075}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"＋";float:right;font-size:21px}.accordion details[open] summary:after{content:"−"}.accordion details p{padding:0 25px 25px;margin:0;color:#666}.final-cta{width:min(1200px,calc(100% - 56px));margin:0 auto 75px;border-radius:28px;overflow:hidden;background:linear-gradient(100deg,#f34775,#7e4edc);color:#fff}.final-inner{padding:60px 75px;text-align:center}.final-inner p{margin:0 0 5px;opacity:.9}.final-inner h2{font-family:var(--sans);font-size:35px;font-weight:700}.final-inner a{display:block;width:min(520px,90%);margin:30px auto 0;padding:16px;background:#fff;color:#e4537d;border-radius:999px;font-weight:800}footer{border-top:1px solid #f0e6eb;padding:70px 0 32px;background:#fff}.footer-inner{width:min(1200px,calc(100% - 56px));margin:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:65px}.footer-brand{font-family:var(--serif);font-size:34px}.footer-inner p,.footer-inner a{color:#777;font-size:12px}.footer-inner strong{display:block;margin-bottom:14px;font-size:13px}.footer-inner a{display:block;margin:8px 0}.copyright{text-align:center;color:#aaa;font-size:11px;margin-top:50px}
@media(max-width:900px){.site-header{height:68px;width:calc(100% - 32px)}.desktop-nav,.header-cta{display:none}.section-shell{width:calc(100% - 36px)}.section-block{padding:110px 0}.hero{min-height:auto;padding-top:110px;grid-template-columns:1fr;gap:42px}.hero-visual{height:520px;border-radius:34px}.hero-break{display:none}h1{font-size:52px}h2{font-size:40px}.hero-lead{font-size:20px}.primary-cta{width:100%}.split,.pace-grid,.safety-grid,.register-top,.register-main{grid-template-columns:1fr;gap:58px}.switch-columns{grid-template-columns:1fr;gap:16px}.or{margin:auto}.pace-benefits{grid-template-columns:1fr 1fr}.how-heading{display:block}.how-heading img{margin-top:45px;width:100%}.steps{grid-template-columns:1fr 1fr;gap:30px 16px}.safety-photo{order:-1}.people-cards{grid-template-columns:1fr 1fr}.register-benefits>div{grid-template-columns:1fr}.release-flow>div{grid-template-columns:1fr}.release-flow>div>span{transform:rotate(90deg)}.footer-inner{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.brand{font-size:26px}.section-block{padding:88px 0}.hero{padding-top:95px}.hero-visual{height:430px}h1{font-size:42px}h2{font-size:34px}.hero-lead{font-size:18px}.steps,.people-cards,.safety-cards{grid-template-columns:1fr}.pace-benefits{grid-template-columns:1fr}.pace-benefits>strong,.pace-benefits>span{border-right:0;border-bottom:1px solid #f1dfe7}.signup-card,.register-benefits{padding:25px}.faq{padding-top:95px;padding-bottom:95px}.final-cta{width:calc(100% - 24px);margin-bottom:45px}.final-inner{padding:40px 16px}.final-inner h2{font-size:22px}.footer-inner{grid-template-columns:1fr;gap:30px}}


/* =========================================================
   PC POLISH v2
   内容は維持し、PCでの可読性・HEROの存在感・章のリズムを調整
   ========================================================= */
@media (min-width: 901px) {
  body{
    font-size:16.5px;
    line-height:1.9;
  }

  /* HERO：説明を増やさず、写真・コピー・余白の存在感を上げる */
  .hero{
    min-height:1020px;
    padding-top:158px;
    grid-template-columns:.9fr 1.1fr;
    gap:54px;
    position:relative;
  }
  .hero:before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    left:-240px;
    top:170px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,223,234,.55),rgba(255,255,255,0) 68%);
    pointer-events:none;
  }
  .hero-copy{
    position:relative;
    z-index:2;
    padding-left:24px;
  }
  .hero h1{
    font-size:clamp(62px,5.35vw,88px);
    line-height:1.42;
    letter-spacing:-.025em;
  }
  .hero-lead{
    font-size:26px;
    line-height:1.85;
    margin-top:42px;
  }
  .hero-visual{
    height:820px;
    border-radius:0 0 0 112px;
    box-shadow:-30px 42px 90px rgba(103,66,94,.09);
  }
  .hero-visual img{
    object-position:50% 42%;
  }
  .primary-cta{
    width:370px;
    padding:20px 28px;
    font-size:19px;
    margin-top:52px;
  }
  .microcopy{
    font-size:13.5px;
  }

  /* セクションごとに均一にしすぎず、章が変わる呼吸をつくる */
  .system{padding-top:235px;padding-bottom:235px}
  .pace{padding-top:235px;padding-bottom:240px}
  .how{padding-top:205px;padding-bottom:215px}
  .safety{padding-top:235px;padding-bottom:235px}
  .for-you{padding-top:205px;padding-bottom:215px}
  .register{padding-top:225px;padding-bottom:230px}
  .faq{padding-top:190px;padding-bottom:195px}

  .section-pink{
    background:
      radial-gradient(circle at 84% 15%,rgba(223,205,255,.32),transparent 32%),
      linear-gradient(135deg,#fff9fa 0%,#fff0f4 48%,#f8f1ff 100%);
  }
  .section-lilac{
    background:
      radial-gradient(circle at 12% 80%,rgba(255,216,229,.28),transparent 32%),
      linear-gradient(135deg,#fff 0%,#f7f1ff 54%,#fff4f7 100%);
  }

  /* PC本文を小さくしすぎない */
  .section-lead{
    font-size:17.5px;
    line-height:2.05;
  }
  .pace-detail{
    font-size:17px;
  }
  .mode-card li{
    font-size:15px;
    line-height:1.8;
  }
  .pace-benefits>strong,
  .pace-benefits>span{
    font-size:14px;
    line-height:1.7;
  }
  .panel-head small,
  .slot div small{
    font-size:13.5px;
  }
  .panel-note{
    font-size:14px;
  }

  /* HOW TO：4枚の情報密度は保ち、文字とビジュアルを見やすく */
  .steps{
    gap:28px;
  }
  .steps article{
    min-height:640px;
    padding:50px 26px 30px;
  }
  .steps h3{
    font-size:19px;
  }
  .steps p{
    font-size:14.5px;
    line-height:1.8;
    min-height:84px;
  }
  .chat-card div{
    font-size:12.5px;
  }
  .privacy-strip span{
    font-size:14px;
  }

  /* 安心・安全：説明を読みやすく、カードを痩せさせない */
  .safety-cards article{
    min-height:268px;
    padding:38px 32px;
  }
  .safety-cards h3{
    font-size:18px;
  }
  .safety-cards p{
    font-size:14.5px;
    line-height:1.85;
  }

  /* FOR YOU：写真の存在感と本文の読みやすさ */
  .people-cards{
    gap:28px;
  }
  .people-cards img{
    height:245px;
  }
  .people-cards h3{
    font-size:17px;
    line-height:1.65;
    margin:24px 22px 13px;
  }
  .people-cards ul{
    margin:0 22px 28px;
  }
  .people-cards li{
    font-size:14px;
    line-height:1.7;
    margin:10px 0;
  }
  .for-you-end{
    margin-top:50px;
    padding:25px;
    font-size:21px;
  }

  /* 先行登録：情報は残し、各要素の階層を明瞭に */
  .signup-card>p{
    font-size:14.5px;
  }
  .signup-card label{
    font-size:13.5px;
  }
  .signup-card small{
    font-size:12.5px;
  }
  .register-benefits article{
    padding:18px 15px;
  }
  .register-benefits strong{
    font-size:15.5px;
  }
  .register-benefits p{
    font-size:14px;
    line-height:1.75;
  }

  /* 登録→リリース：単なる3箱から、期待感のあるタイムラインへ */
  .release-flow{
    margin-top:62px;
    padding-top:8px;
  }
  .release-flow h3{
    font-size:21px;
    margin-bottom:30px;
  }
  .release-timeline{
    display:grid;
    grid-template-columns:1fr 54px 1fr 54px 1fr;
    align-items:stretch;
    gap:10px;
    max-width:1020px;
    margin:0 auto;
    position:relative;
  }
  .release-timeline article{
    position:relative;
    min-height:230px;
    padding:28px 22px 25px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 16px 38px rgba(77,48,76,.06);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    border:1px solid rgba(239,227,233,.9);
  }
  .release-timeline article.featured{
    transform:translateY(-8px);
    border-color:#f1c7d7;
    box-shadow:0 20px 46px rgba(200,84,132,.11);
  }
  .release-timeline article b{
    position:absolute;
    top:16px;
    left:16px;
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--pink),var(--purple));
    color:#fff;
    font-size:13px;
  }
  .flow-icon{
    width:66px;
    height:66px;
    margin:10px 0 16px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:var(--pink);
    background:linear-gradient(145deg,#fff0f5,#fff);
  }
  .featured .flow-icon{
    color:var(--purple);
    background:linear-gradient(145deg,#f4edff,#fff);
  }
  .flow-icon svg{
    width:34px;
    height:34px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .release-timeline article strong{
    font-size:16px;
    margin-bottom:8px;
  }
  .release-timeline article small{
    color:#817982;
    font-size:13.5px;
    line-height:1.7;
  }
  .flow-arrow{
    display:grid;
    place-items:center;
    color:#c98ca7;
    font-family:var(--serif);
    font-size:38px;
  }
  .release-flow>p{
    margin-top:24px;
    font-size:13px;
    color:#918994;
  }

  /* FAQ：終盤は静かに、ただし読みやすく */
  .accordion summary{
    font-size:16px;
    padding:25px 28px;
  }
  .accordion details p{
    font-size:15.5px;
    line-height:1.9;
    padding:0 28px 27px;
  }

  /* 最後はページ中で最も強いCTAとして締める */
  .final-cta{
    margin-bottom:90px;
    border-radius:32px;
  }
  .final-inner{
    padding:72px 80px;
  }
  .final-inner p{
    font-size:15px;
  }
  .final-inner h2{
    font-size:39px;
    line-height:1.5;
  }
  .final-inner a{
    margin-top:34px;
    padding:18px;
    font-size:17px;
  }

  footer .footer-inner p,
  footer .footer-inner a{
    font-size:13px;
  }
  footer .footer-inner strong{
    font-size:14px;
  }
}

/* 登録フローのモバイル崩れ防止 */
@media(max-width:900px){
  .release-timeline{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }
  .release-timeline article{
    min-height:auto;
  }
  .release-timeline article.featured{
    transform:none;
  }
  .flow-arrow{
    transform:rotate(90deg);
    height:24px;
  }
}


/* =========================================================
   MOBILE FIX v3
   PCには影響させず、スマホ表示の崩れのみ修正
   ========================================================= */
@media (max-width: 900px) {

  /* 1. 登録からリリースまでの流れ */
  .release-flow{
    margin-top:42px;
  }

  .release-flow h3{
    text-align:center;
    font-size:20px;
    line-height:1.5;
    margin-bottom:28px;
  }

  .release-timeline{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    max-width:100%;
    width:100%;
  }

  .release-timeline article{
    width:100%;
    min-height:auto;
    padding:28px 22px 24px;
    display:grid;
    grid-template-columns:44px 62px 1fr;
    grid-template-areas:
      "num icon title"
      "num icon desc";
    column-gap:16px;
    row-gap:4px;
    text-align:left;
    align-items:center;
  }

  .release-timeline article.featured{
    transform:none;
  }

  .release-timeline article b{
    position:static;
    grid-area:num;
    width:38px;
    height:38px;
    margin:0;
    align-self:start;
  }

  .release-timeline .flow-icon{
    grid-area:icon;
    width:56px;
    height:56px;
    margin:0;
    flex:none;
  }

  .release-timeline .flow-icon svg{
    width:30px;
    height:30px;
    display:block;
  }

  .release-timeline article strong{
    grid-area:title;
    display:block;
    font-size:17px;
    line-height:1.5;
    margin:0;
    min-width:0;
    word-break:normal;
    overflow-wrap:anywhere;
  }

  .release-timeline article small{
    grid-area:desc;
    display:block;
    font-size:14px;
    line-height:1.7;
    margin:2px 0 0;
    min-width:0;
    width:100%;
    word-break:normal;
    overflow-wrap:anywhere;
    white-space:normal;
  }

  .flow-arrow{
    width:100%;
    height:24px;
    transform:none;
    font-size:28px;
    line-height:1;
  }

  .release-flow>p{
    font-size:12.5px;
    line-height:1.75;
    padding:0 10px;
  }

  /* 2. プライバシーと安心を大切にしています。帯 */
  .privacy-strip{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
    width:100%;
    padding:22px 20px !important;
    text-align:left;
  }

  .privacy-strip > *{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .privacy-strip strong,
  .privacy-strip span,
  .privacy-strip p{
    display:block;
    width:100%;
    max-width:none;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    line-height:1.75;
  }

  .privacy-strip strong{
    font-size:16px;
    line-height:1.6;
  }

  .privacy-strip span,
  .privacy-strip p{
    font-size:14px;
    color:#6f6972;
  }

  .privacy-strip svg,
  .privacy-strip .icon{
    flex:0 0 auto;
  }
}

@media (max-width: 560px) {
  .release-timeline article{
    grid-template-columns:38px 52px 1fr;
    column-gap:12px;
    padding:24px 18px 22px;
  }

  .release-timeline article b{
    width:34px;
    height:34px;
  }

  .release-timeline .flow-icon{
    width:48px;
    height:48px;
  }

  .release-timeline .flow-icon svg{
    width:26px;
    height:26px;
  }

  .release-timeline article strong{
    font-size:16px;
  }

  .release-timeline article small{
    font-size:13.5px;
  }

  .privacy-strip{
    padding:20px 18px !important;
  }
}


/* Safari SVG <use> fallback */
.flow-icon svg,
.flow-icon use {
  fill: none !important;
  stroke: currentColor !important;
}
