@charset "UTF-8";

/* =============================================================
   SUN FLOWER｜婚活整理セッション 一般広告向けLP（v3 editorial）
   コンセプト：大人の女性誌 × Editorial POP（v3.1）
     - 色：Cream / White / Charcoal（約70%）＋ Orange（行動）＋ Coral（感情・人物）＋ Cobalt（知性・整理）＋ Butter（マーカー）
     - 書体：見出し＝Noto Serif JP、手書き＝Klee One、本文＝ゴシック
     - セクションごとに色面・構図・密度を変え、スクロールに高低差をつける
     - 同一カードの反復禁止／左右非対称／大きな数字・引用・罫線・手書き線
   ============================================================= */
:root{
  --orange:#E85D2A;          /* SUN FLOWER Orange：行動・CTA・重要な結論 */
  --orange-deep:#C7480A;     /* 明るい地の上の文字・リンク */
  --orange-mid:#DF5A10;
  --pen:#D9531E;             /* 赤ペン */
  --peach:#FFD1B5;
  --coral:#F08B8D;           /* 感情・本音・人物（線・面） */
  --coral-text:#D9686C;      /* コーラルの文字用（可読性） */
  --coral-soft:#FBE0DE;
  --coral-pale:#FDF1EF;
  --cobalt:#4263B5;          /* 知性・整理・図解・サービス理解 */
  --cobalt-deep:#34509A;
  --cobalt-soft:#DCE4F4;
  --cobalt-pale:#EEF2FA;
  --butter:#F2CF59;          /* 手書きマーカー・小さな発見 */
  --butter-soft:rgba(242,207,89,.62);
  --cream:#FBF1E4;
  --ivory:#FFFDF6;
  --white:#FFFFFF;
  --ink:#292522;
  --ink-soft:#4E4744;
  --brown:#4B3A34;
  --brown-soft:#7A6459;
  --slate:#5E6672;
  --line:#E6DCD2;
  --line-ink:rgba(43,39,37,.18);

  --serif:"Noto Serif JP","Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho","YuMincho",serif;
  --hand:"Klee One","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","YuGothic","Noto Sans JP","Meiryo",system-ui,sans-serif;

  --r-s:6px; --r-m:12px; --r-l:18px; --r-pill:999px;
  --shadow:0 14px 40px rgba(60,40,25,.12);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--brown);font-family:var(--sans);font-size:16px;line-height:2;
  letter-spacing:.02em;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--orange-deep)}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--orange-deep);outline-offset:3px;border-radius:4px}
.u-nowrap{white-space:nowrap}
.u-sp{display:inline}
@media(min-width:960px){.u-sp{display:none}}
.u-pc{display:none}
@media(min-width:960px){.u-pc{display:inline}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* -------------------------------------------------------------
   Layout
------------------------------------------------------------- */
.l-wrap{width:min(100% - 40px,1120px);margin-inline:auto}
.l-wrap--mid{width:min(100% - 40px,900px)}
.l-wrap--narrow{width:min(100% - 40px,720px)}
.l-section{padding-block:80px;position:relative}
@media(min-width:768px){.l-section{padding-block:120px}}
.bg-white{background:var(--white)}
.bg-cream{background:var(--cream)}
.bg-ink{background:var(--ink);color:var(--ivory)}
.bg-orange{background:var(--orange);color:var(--ivory)}
.bg-cobalt-pale{background:var(--cobalt-pale)}
.bg-cobalt{background:var(--cobalt);color:#fff}

/* -------------------------------------------------------------
   Typography
------------------------------------------------------------- */
.c-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:.75rem;font-weight:700;letter-spacing:.24em;
  color:var(--orange-deep);text-transform:uppercase;margin-bottom:20px;white-space:nowrap}
.c-kicker::before{content:"";width:28px;height:1.5px;background:currentColor}
.bg-ink .c-kicker{color:var(--orange)}
.c-kicker--cobalt{color:var(--cobalt)}
.c-kicker--coral{color:var(--coral-text)}
.c-kicker--ink{color:var(--ink)}
.c-title{font-family:var(--serif);font-weight:700;font-size:clamp(1.375rem,5.4vw,2.375rem);line-height:1.6;color:var(--ink);letter-spacing:.04em;margin-bottom:24px}
.c-title>span{display:block}
.c-title .u-nowrap{display:inline}
.c-title em{font-style:normal;color:var(--orange-deep)}
.bg-ink .c-title{color:var(--ivory)}
.c-text{font-size:1rem;line-height:2.05}
.c-text+.c-text{margin-top:1.2em}
.c-text strong{font-weight:700;color:var(--orange-deep)}
.bg-ink .c-text{color:rgba(255,253,246,.84)}
.c-note{font-size:.8125rem;line-height:1.8;color:var(--brown-soft)}
.c-hand{font-family:var(--hand);font-weight:600}
.c-label{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:.6875rem;font-weight:700;letter-spacing:.2em;color:var(--slate)}
.c-label::before{content:"";width:14px;height:1.5px;background:var(--orange-deep)}

/* マーカー（蛍光ペン） */
.mk{background:linear-gradient(transparent 58%,var(--peach) 58%,var(--peach) 92%,transparent 92%);padding:0 .06em}
.mk--butter{background:linear-gradient(transparent 55%,var(--butter-soft) 55%,var(--butter-soft) 94%,transparent 94%)}
.mk--coral{background:linear-gradient(transparent 58%,var(--coral-soft) 58%,var(--coral-soft) 92%,transparent 92%)}

/* 手書き線（インラインSVG） */
.hd{position:absolute;pointer-events:none;color:var(--pen);overflow:visible}
.hd--ink{color:var(--ink)}
.hd-ring{position:relative;display:inline-block;padding:.04em .14em}
.hd-ring>svg{position:absolute;inset:-14% -8%;width:116%;height:128%;color:var(--ink);pointer-events:none}
.hd-ring--cobalt>svg{color:var(--cobalt)}
.hd-ring--coral>svg{color:var(--coral)}
.hd-ul{position:relative;display:inline-block}
.hd-ul>svg{position:absolute;left:-2%;right:-2%;bottom:-.28em;width:104%;height:.42em;color:var(--pen);pointer-events:none}
.hd-ul--cobalt>svg{color:var(--cobalt)}
.hd-ul--coral>svg{color:var(--coral)}

/* 手書きメモ（紙片） */
.memo{display:inline-block;background:var(--white);padding:12px 18px;box-shadow:0 8px 24px rgba(60,40,25,.12);font-family:var(--hand);font-weight:600;
  line-height:1.6;color:var(--ink);transform:rotate(-2deg);position:relative}
.memo::before{content:"";position:absolute;left:50%;top:-8px;width:44px;height:14px;margin-left:-22px;background:var(--butter-soft);transform:rotate(-3deg)}
.memo--cream{background:var(--cream)}
.memo--coral{color:var(--coral-text);background:var(--white)}
.memo--coral::before{background:var(--coral-soft)}

/* -------------------------------------------------------------
   Header / Footer / Sticky
------------------------------------------------------------- */
.l-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.l-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.c-logo{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink);white-space:nowrap;flex:none}
.c-logo__mark{font-family:var(--serif);font-size:1.0625rem;font-weight:700;letter-spacing:.18em;color:var(--orange-deep)}
.c-logo__sub{font-size:.6875rem;color:var(--slate);letter-spacing:.1em}
.l-header__cta{display:none;padding:10px 22px;border-radius:var(--r-pill);background:var(--orange-deep);color:#fff;font-size:.8125rem;font-weight:700;text-decoration:none;white-space:nowrap;letter-spacing:.04em}
@media(min-width:900px){.l-header__cta{display:inline-block}}

.l-footer{background:var(--ink);color:rgba(255,253,246,.8);padding-block:48px;padding-bottom:116px;font-size:.8125rem;line-height:1.9}
.l-footer a{color:#fff}
.l-footer__brand{font-family:var(--serif);color:#fff;font-size:1.0625rem;font-weight:700;letter-spacing:.18em;margin-bottom:8px}
.l-footer__links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px}
.l-footer__copy{margin-top:22px;font-size:.75rem;color:rgba(255,253,246,.5)}
@media(min-width:900px){.l-footer{padding-bottom:48px}}

.c-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s var(--ease)}
.c-sticky.is-shown{transform:translateY(0)}
.c-sticky__btn{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;
  font-size:.9375rem;font-weight:700;text-decoration:none;text-align:center;line-height:1.4;letter-spacing:.03em}
.c-sticky__note{display:block;margin-top:6px;text-align:center;font-size:.6875rem;color:var(--slate)}
@media(min-width:900px){.c-sticky{display:none}}

/* -------------------------------------------------------------
   CTA
------------------------------------------------------------- */
.c-cta{margin-top:44px;text-align:center}
.c-cta__lead{font-family:var(--hand);font-weight:600;font-size:1.25rem;color:var(--ink);margin-bottom:14px;letter-spacing:.04em}
.c-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:66px;padding:14px 28px;border:0;
  border-radius:var(--r-pill);background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;font-family:inherit;font-weight:700;line-height:1.5;text-decoration:none;text-align:center;
  letter-spacing:.03em;box-shadow:0 12px 28px rgba(199,72,10,.26);transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.c-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(199,72,10,.32)}
.c-btn:active{transform:translateY(0)}
.c-btn--ink{background:var(--ink);box-shadow:0 12px 28px rgba(43,39,37,.24)}
.c-btn--onorange{background:var(--orange-deep);border:2px solid #fff;box-shadow:0 14px 30px rgba(90,30,0,.28)}
.c-btn__main{display:inline-flex;align-items:center;gap:10px;font-size:clamp(1.0625rem,4vw,1.125rem)}
.c-btn__main::after{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:rgba(255,255,255,.22);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:18px;background-position:center;background-repeat:no-repeat}
.c-btn__sub{font-size:.75rem;font-weight:600;opacity:.92;letter-spacing:.08em}
@media(min-width:768px){.c-btn{width:auto;min-width:420px}}
.c-cta__notes{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:4px}
.c-cta__note{font-size:.8125rem;color:var(--brown-soft);line-height:1.7}
.bg-orange .c-cta__note,.bg-ink .c-cta__note{color:rgba(255,253,246,.8)}

/* =============================================================
   01 FV：雑誌の特集扉
   ============================================================= */
.p-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--white) 0%,var(--cream) 100%);padding-block:36px 64px}
.p-hero__blob{position:absolute;z-index:0;border-radius:50%;background:var(--peach);opacity:.55}
.p-hero__blob--1{width:52vw;height:52vw;max-width:520px;max-height:520px;right:-16vw;top:-14vw}
.p-hero__inner{position:relative;z-index:1}
.p-hero__grid{display:grid;gap:26px}
.p-hero__kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:.6875rem;font-weight:700;letter-spacing:.22em;color:var(--cobalt);margin-bottom:26px;white-space:nowrap}
.p-hero__kicker::before{content:"";width:22px;height:1.5px;background:currentColor}

.p-hero__main{font-weight:700;color:var(--ink);margin-bottom:24px;position:relative}
.p-hero__main span{display:block}
.p-hero__main .hd-ring{display:inline-block}
.p-hero__l1{font-family:var(--hand);font-weight:600;font-size:clamp(1.75rem,7.4vw,2.75rem);line-height:1.35;letter-spacing:.05em}
.p-hero__l2{font-family:var(--hand);font-weight:600;font-size:clamp(1.25rem,5.2vw,1.875rem);line-height:1.4;letter-spacing:.1em;color:var(--ink-soft);margin:8px 0 10px 2.4em}
.p-hero__l3a{font-family:var(--serif);font-size:clamp(2rem,8.6vw,3.25rem);line-height:1.2;letter-spacing:.02em;color:var(--orange-deep)}
.p-hero__l3a .hd-ring{margin-left:-.14em}
.p-hero__l3b{font-family:var(--serif);font-size:clamp(2.375rem,10.4vw,4.5rem);line-height:1.15;letter-spacing:0;color:var(--orange-deep);margin-top:.04em;margin-left:-.04em}

.p-hero__lead{font-size:clamp(.9375rem,3.6vw,1.0625rem);line-height:2;color:var(--brown)}
.p-hero__lead+.p-hero__lead{margin-top:.4em}
.p-hero__bridge{margin-top:20px;font-family:var(--serif);font-weight:700;font-size:clamp(1rem,3.8vw,1.1875rem);line-height:1.9;color:var(--ink);letter-spacing:.03em}

.p-hero__figure{position:relative;margin:0}
.p-hero__photo{position:relative;overflow:hidden;background:var(--cream);box-shadow:var(--shadow);aspect-ratio:4/3;border-radius:120px 18px 18px 18px}
.p-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.p-hero__photo--pc{display:none}
.p-hero__memo{position:relative;margin:-22px 12px 0 auto;max-width:300px;z-index:2}
.p-hero__memo .memo{display:block}
.p-hero__memo-q{font-size:1.0625rem;line-height:1.6;display:block}
.p-hero__memo-who{display:block;margin-top:6px;font-family:var(--sans);font-weight:400;font-size:.75rem;color:var(--slate);letter-spacing:.06em}
.p-hero__memo-who b{color:var(--ink);font-family:var(--serif);font-size:.9375rem;margin-left:6px;letter-spacing:.1em}

/* 商品チケット */
.c-ticket{margin-top:28px;display:grid;grid-template-columns:96px minmax(0,1fr);background:var(--white);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden}
.c-ticket__stub{background:var(--orange);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:18px 8px;
  border-right:2px dashed rgba(255,255,255,.55);text-align:center}
.c-ticket__stub b{font-family:var(--serif);font-size:1.75rem;line-height:1;letter-spacing:.02em}
.c-ticket__stub b small{font-size:.75rem;margin-left:2px}
.c-ticket__stub span{font-size:.6875rem;font-weight:700;letter-spacing:.12em;opacity:.95}
.c-ticket__stub i{display:block;width:26px;height:1px;background:rgba(255,255,255,.6);margin:6px 0}
.c-ticket__body{padding:18px 18px 18px}
.c-ticket__name{font-family:var(--serif);font-weight:700;font-size:1.25rem;line-height:1.4;color:var(--ink);letter-spacing:.05em}
.c-ticket__spec{margin-top:6px;font-size:.8125rem;font-weight:700;color:var(--ink-soft);letter-spacing:.04em;display:flex;flex-wrap:wrap;gap:4px 0}
.c-ticket__spec li{white-space:nowrap;padding-right:8px;margin-right:8px;border-right:1px solid var(--line);line-height:1.3}
.c-ticket__spec li:last-child{padding-right:0;margin-right:0;border-right:0}
.c-ticket .c-cta{margin-top:14px;text-align:left}
.c-ticket .c-btn{width:100%;min-width:0;padding-inline:12px}
.c-ticket .c-cta__notes{align-items:flex-start;text-align:left}

/* 信頼バー */
.c-trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:.75rem;font-weight:700;color:var(--slate);letter-spacing:.06em}
.c-trust li{display:inline-flex;align-items:center;gap:7px;line-height:1.4;white-space:nowrap}
.c-trust li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cobalt);flex:none}

@media(min-width:960px){
  .p-hero{padding-block:72px 96px}
  .p-hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:20px;align-items:start}
  .p-hero__copy{grid-column:1/8;grid-row:1}
  .p-hero__figure{grid-column:8/13;grid-row:1/span 3;margin-top:36px;margin-left:-24px}
  .p-hero__photo{aspect-ratio:4/5;border-radius:180px 22px 22px 22px}
  .p-hero__photo--pc{display:block}
  .p-hero__photo--sp{display:none}
  .p-hero__photo img{object-position:center top}
  .p-hero__memo{position:absolute;left:-56px;bottom:56px;margin:0;max-width:330px}
  .c-ticket{grid-column:1/8;grid-row:2;margin-top:30px;grid-template-columns:112px minmax(0,1fr)}
  .c-ticket__body{padding:22px 26px}
  .c-ticket .c-btn{width:auto;min-width:340px}
  .c-trust{grid-column:1/8;grid-row:3;margin-top:14px}
  .c-trust li{padding-right:16px;margin-right:16px;border-right:1px solid var(--line)}
  .c-trust li:last-child{padding-right:0;margin-right:0;border-right:0}
  .p-hero__l3b{margin-left:.6em}
}
@media(max-width:600px){
  .c-ticket{grid-template-columns:1fr}
  .c-ticket__stub{flex-direction:row;gap:12px;padding:12px 16px;border-right:0;border-bottom:2px dashed rgba(255,255,255,.55)}
  .c-ticket__stub i{width:1px;height:18px;margin:0 4px}
  .c-ticket__stub b{font-size:1.5rem}
  .c-ticket .c-btn__main{font-size:1rem;gap:8px}
}

/* =============================================================
   02 言えない本音：頭の中を覗く
   ============================================================= */
.p-inside{position:relative;overflow:hidden}
.p-inside__grid{position:relative;margin-top:16px}
.mono{position:relative}
.mono+.mono{margin-top:44px}
.mono--1 .num{font-family:var(--serif);font-weight:700;font-size:clamp(4rem,16vw,6.5rem);line-height:.9;color:var(--coral-text);letter-spacing:-.02em;display:block}
.mono--1 .num small{font-size:.35em;letter-spacing:.04em;margin-left:.1em;color:var(--ink)}
.mono--1 .rest{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(1.125rem,4.6vw,1.5rem);line-height:1.6;color:var(--ink);margin-top:10px;letter-spacing:.04em}
.mono--2{text-align:right}
.mono--2 .memo{font-size:clamp(1rem,4.2vw,1.375rem);transform:rotate(-2.5deg);text-align:left}
.mono--3 .pre{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(.9375rem,3.8vw,1.125rem);line-height:1.8;color:var(--ink-soft);letter-spacing:.04em}
.mono--3 .big{display:inline-block;font-family:var(--serif);font-weight:700;font-size:clamp(2rem,9vw,3.75rem);line-height:1.2;color:var(--ink);letter-spacing:.02em;margin-top:8px}
.mono--4{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;max-width:560px}
.mono--4 .spiral{width:64px;height:64px;color:var(--coral)}
.mono--4 .t{font-family:var(--hand);font-weight:400;font-size:clamp(.9375rem,4vw,1.3125rem);line-height:1.7;color:var(--ink-soft);letter-spacing:.04em}
.mono--5{text-align:right}
.mono--5 .a{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(1rem,4vw,1.25rem);color:var(--brown-soft);letter-spacing:.04em;line-height:1.7}
.mono--5 .b{display:inline-block;font-family:var(--hand);font-weight:600;font-size:clamp(1.125rem,5vw,1.75rem);color:var(--orange-deep);line-height:1.5;margin-top:8px;letter-spacing:.04em}
/* --- 装飾サンプル B-01／B-03（v3.2 sample）：空の吹き出し・輪染み・インク・テープ --- */
.deco{position:absolute;pointer-events:none;z-index:0}
.p-inside__grid>.mono{z-index:1}
.deco-bubble{color:rgba(41,37,34,.46)}
.deco-bubble--1{width:132px;height:88px;right:0;top:-6px;transform:rotate(-6deg)}
.deco-bubble--2{width:104px;height:78px;left:4px;bottom:-74px;transform:rotate(4deg) scaleX(-1)}
.deco-blot{color:var(--coral)}
.deco-blot--1{width:18px;height:18px;left:112px;top:-8px;opacity:.75;transform:rotate(20deg)}
.deco-ring{width:140px;height:140px;color:var(--coral);opacity:.24;right:-30px;top:47%;transform:rotate(12deg)}
.p-inside .memo::before{clip-path:polygon(0 12%,3% 0,6% 18%,9% 4%,100% 8%,97% 100%,94% 84%,90% 100%,2% 92%);background:rgba(242,207,89,.55);width:52px;height:16px;margin-left:-26px;top:-9px}
.p-inside .memo--coral::before{background:rgba(240,139,141,.5)}
@media(min-width:768px){
  .deco-bubble--1{width:176px;height:118px;right:auto;left:48%;top:-10px;transform:rotate(-6deg)}
  .deco-bubble--2{width:140px;height:104px;left:37%;bottom:-16px;transform:rotate(3deg) scaleX(-1)}
  .deco-blot--1{width:20px;height:20px;left:204px;top:0}
  .deco-ring{width:200px;height:200px;right:auto;left:50%;top:36%;opacity:.22;transform:rotate(-8deg)}
}
.p-inside__close{margin-top:64px;max-width:640px;position:relative;padding-left:22px;border-left:3px solid var(--coral)}
.p-inside__arrow{width:44px;height:64px;color:var(--coral);margin:36px auto 0}
@media(min-width:960px){
  .p-inside__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:20px;row-gap:64px}
  .mono+.mono{margin-top:0}
  .mono--1{grid-column:1/8;grid-row:1}
  .mono--2{grid-column:8/13;grid-row:1;align-self:end;margin-bottom:6px}
  .mono--3{grid-column:2/12;grid-row:2}
  .mono--4{grid-column:1/7;grid-row:3}
  .mono--5{grid-column:6/13;grid-row:4}
  .p-inside__close{margin-top:88px}
}

/* =============================================================
   03 問題再定義：チャコール全面・巨大文字
   ============================================================= */
.p-reframe{padding-block:88px 80px;position:relative;overflow:hidden}
@media(min-width:768px){.p-reframe{padding-block:128px 120px}}
.p-reframe__big{font-family:var(--serif);font-weight:700;color:var(--ivory);letter-spacing:.02em}
.p-reframe__big span{display:block}
.p-reframe__b1{font-size:clamp(2rem,8.6vw,3.5rem);line-height:1.2;white-space:nowrap}
.p-reframe__b2{font-size:clamp(2rem,8.6vw,3.5rem);line-height:1.2;color:var(--orange);margin-top:.12em}
.p-reframe__b3{font-size:clamp(1.25rem,5vw,2.125rem);line-height:1.5;margin-top:.6em;letter-spacing:.04em}
.p-reframe__lead{max-width:600px;margin-top:40px}
.p-reframe__scribble{position:absolute;right:-30px;top:40px;width:220px;height:220px;color:rgba(255,138,61,.35);pointer-events:none}
@media(min-width:960px){
  .p-reframe__inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:48px;align-items:end}
  .p-reframe__lead{margin-top:0;padding-bottom:12px}
  .p-reframe__scribble{width:360px;height:360px;right:-60px;top:-40px}
}

/* ノート（罫線紙） */
.p-note{padding-block:72px 88px}
@media(min-width:768px){.p-note{padding-block:100px 112px}}
.note-sheet{position:relative;background:var(--white);padding:34px 22px 30px 22px;box-shadow:var(--shadow);
  background-image:repeating-linear-gradient(180deg,transparent 0 47px,var(--line) 47px 48px);background-position:0 26px}
.note-sheet::before{content:"";position:absolute;left:44px;top:0;bottom:0;width:1px;background:rgba(217,83,30,.35)}
.note-sheet .memo{position:absolute;right:16px;top:-18px;font-size:.9375rem;transform:rotate(2deg)}
.c-options{display:grid;margin-top:8px}
.c-options__item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 12px;align-items:baseline;padding:8px 0 8px 32px;min-height:48px}
.c-options__num{font-family:var(--hand);font-weight:600;font-size:1.375rem;line-height:1;color:var(--pen);letter-spacing:.02em}
.c-options__label{display:block;font-family:var(--serif);font-weight:700;font-size:1.1875rem;line-height:1.5;color:var(--ink);letter-spacing:.04em}
.c-options__q{display:block;grid-column:2;font-size:.9375rem;line-height:1.85;color:var(--brown-soft)}
@media(min-width:768px){
  .note-sheet{padding:44px 40px 40px 64px}
  .note-sheet::before{left:56px}
  .c-options__item{grid-template-columns:52px 240px minmax(0,1fr);align-items:center;padding:10px 0 10px 20px}
  .c-options__q{grid-column:auto}
}
.c-options-close{margin-top:40px;max-width:640px}

/* =============================================================
   04 SUN FLOWERの違い：ノート＋赤ペン
   ============================================================= */
.p-diff__head{max-width:720px}
.p-diff__statement{margin-top:22px;font-family:var(--serif);font-weight:700;font-size:clamp(1.375rem,5.4vw,2rem);line-height:1.6;color:var(--ink);letter-spacing:.04em}
/* --- D-01 順番の図解（Cobalt主軸・赤ペン） --- */
.c-route{margin:34px 0 0;position:relative}
.c-route__cap{display:inline-block;font-family:var(--hand);font-weight:600;font-size:.9375rem;color:var(--cobalt-deep);letter-spacing:.06em;margin-bottom:14px;padding-bottom:2px;border-bottom:1.5px solid var(--cobalt)}
.c-route__body{position:relative;padding:10px 0 4px 42px}
.c-route__line{position:absolute;color:var(--cobalt);pointer-events:none}
.c-route__line--h{display:none}
.c-route__line--v{left:68px;top:36px;width:40px;height:calc(100% - 92px);margin-left:-20px}
.c-route__short{position:absolute;color:rgba(41,37,34,.32);pointer-events:none}
.c-route__short--h{display:none}
.c-route__short--v{left:2px;top:36px;width:60px;height:calc(100% - 92px)}
.c-route__short-label{position:absolute;left:-6px;top:48%;font-family:var(--hand);font-weight:600;font-size:.75rem;color:var(--ink-soft);letter-spacing:.06em;writing-mode:vertical-rl;display:flex;align-items:center;gap:6px;background:var(--cobalt-pale);padding:6px 0}
.c-route__short-label svg{width:18px;height:18px;color:var(--pen)}
.c-route__stops{display:grid;gap:22px;position:relative}
.c-route__stop{position:relative;display:flex;align-items:center;gap:16px;min-height:52px}
.c-route__stop .ring{position:relative;flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-family:var(--hand);font-weight:600;font-size:1.375rem;color:var(--cobalt);background:var(--cobalt-pale)}
.c-route__stop .ring svg{position:absolute;inset:0;width:100%;height:100%;color:var(--cobalt)}
.c-route__stop b{font-family:var(--serif);font-weight:700;font-size:clamp(1rem,4vw,1.125rem);line-height:1.45;color:var(--ink);letter-spacing:.03em}
.c-route__stop--goal{margin-top:6px}
.c-route__stop--goal .pin{position:relative;flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;color:var(--orange-deep);background:var(--cobalt-pale)}
.c-route__stop--goal .pin svg{width:30px;height:38px}
.c-route__stop--goal b{color:var(--orange-deep)}
.c-route__pen{position:absolute;left:68px;top:100%;margin-top:2px;font-style:normal;font-family:var(--hand);font-weight:600;font-size:.875rem;color:var(--pen);white-space:nowrap;letter-spacing:.04em;transform:rotate(-2deg)}
.c-route__stop--goal{margin-bottom:22px}
@media(min-width:820px){
  .c-route{margin-top:40px}
  .c-route__body{padding:64px 0 34px}
  .c-route__line--h{display:block;left:8%;width:84%;top:64px;height:56px}
  .c-route__line--v,.c-route__short--v{display:none}
  .c-route__short--h{display:block;left:12.5%;width:75%;top:-4px;height:120px}
  .c-route__short-label{writing-mode:horizontal-tb;left:50%;top:-14px;transform:translateX(-50%);padding:0 10px;font-size:.8125rem}
  .c-route__stops{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px}
  .c-route__stop{flex-direction:column;align-items:center;text-align:center;gap:14px;min-height:0}
  .c-route__stop .ring,.c-route__stop--goal .pin{width:56px;height:56px}
  .c-route__stop b{font-size:1.0625rem}
  .c-route__stop--goal{margin:0}
  .c-route__pen{left:50%;top:100%;transform:translateX(-50%) rotate(-2deg);margin-top:6px}
}
.c-three{display:grid;gap:18px;margin-top:36px}
.c-three li{position:relative;padding-left:66px;min-height:56px}
.c-three .ring{position:absolute;left:0;top:-4px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-family:var(--hand);font-weight:600;font-size:1.5rem;color:var(--cobalt)}
.c-three .ring svg{position:absolute;inset:0;width:100%;height:100%;color:var(--cobalt)}
.c-three b{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(1.125rem,4.4vw,1.375rem);line-height:1.5;color:var(--ink);letter-spacing:.03em}
.c-three span{display:block;font-size:.9375rem;color:var(--brown-soft);line-height:1.8;margin-top:4px}
@media(min-width:820px){.c-three{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}}

.c-sheet{position:relative;margin-top:48px;background:var(--white);box-shadow:var(--shadow);padding:28px 20px 26px;transform:rotate(-.6deg)}
.c-sheet__in{transform:rotate(.6deg);display:grid;gap:26px}
.c-sheet__col{position:relative}
.c-sheet__head{font-size:.75rem;font-weight:700;letter-spacing:.16em;color:var(--slate);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.c-sheet__col--ours .c-sheet__head{color:var(--cobalt)}
.c-steps{display:grid;gap:2px}
.c-steps li{display:flex;align-items:center;gap:12px;padding:8px 4px;font-size:1rem;line-height:1.6;color:var(--brown-soft);border-bottom:1px solid var(--line);font-weight:600}
.c-steps li i{font-style:normal;font-family:var(--hand);font-weight:600;font-size:1.0625rem;color:var(--slate);width:22px;flex:none}
.c-steps li.is-key{color:var(--cobalt-deep);font-family:var(--serif);font-weight:700;font-size:1.0625rem;background:var(--cobalt-pale);margin:0 -6px;padding-inline:10px;border-radius:4px}
.c-steps li.is-key i{color:var(--cobalt)}
.c-sheet__bracket{position:absolute;left:-14px;top:38px;width:12px;height:150px;color:var(--pen)}
.c-sheet__pen{font-family:var(--hand);font-weight:600;font-size:.9375rem;color:var(--pen);line-height:1.4;white-space:nowrap;text-align:right;margin:-8px 0 12px}
.c-sheet__pen svg{width:64px;height:40px;color:var(--pen);margin:0 0 -6px auto}
@media(min-width:820px){
  .c-sheet{padding:40px 44px 40px 52px}
  .c-sheet__in{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:56px}
  .c-sheet__col--ours{padding-left:18px}
  .c-sheet__bracket{left:-2px;top:44px;height:156px}
  .c-sheet__pen{position:absolute;right:0;top:-46px;margin:0;transform:rotate(-4deg)}
  .c-sheet__pen svg{margin:0 auto 2px}
}
.p-diff__punch{margin-top:52px;text-align:center;font-family:var(--serif);font-weight:700;font-size:clamp(1.375rem,5.6vw,2.125rem);line-height:1.6;color:var(--ink);letter-spacing:.04em}
.p-diff__punch em{font-style:normal;color:var(--orange-deep)}
.c-text.p-diff__hint{max-width:560px;margin:14px auto 0;text-align:center;text-wrap:balance}

/* =============================================================
   05 あきさん：人物インタビュー特集
   ============================================================= */
.p-aki{padding-block:0;overflow:hidden}
.p-aki__stage{position:relative}
.p-aki__photo{position:relative;overflow:hidden;background:var(--cream);aspect-ratio:4/5}
.p-aki__photo img{width:100%;height:100%;object-fit:cover}
.p-aki__quote{position:relative;z-index:2;margin:-56px 12px 0;background:var(--white);padding:24px 18px 20px;box-shadow:var(--shadow);border-top:4px solid var(--coral)}
.p-aki__quote-k{font-family:var(--serif);font-size:.6875rem;font-weight:700;letter-spacing:.24em;color:var(--coral-text);margin-bottom:10px}
.p-aki__quote-t em{font-style:normal;color:var(--coral-text)}
.p-aki__quote-t{font-family:var(--serif);font-weight:700;font-size:clamp(1.375rem,6vw,2.75rem);line-height:1.45;color:var(--ink);letter-spacing:.03em}
.p-aki__quote-t span{display:block}
.p-aki__body{padding:48px 0 80px}
.p-aki__name{font-family:var(--serif);font-weight:700;font-size:clamp(1.75rem,6vw,2.25rem);line-height:1.3;letter-spacing:.1em;color:var(--ink)}
.p-aki__role{font-size:.8125rem;color:var(--slate);margin-top:6px;letter-spacing:.08em}
.p-aki__pull{margin:26px 0 18px;font-family:var(--hand);font-weight:600;font-size:clamp(1.25rem,5vw,1.625rem);line-height:1.6;color:var(--ink);letter-spacing:.04em}
.p-aki__pull>span{display:block}
.p-aki__pull .u-nowrap{display:inline}
.p-aki__intro{font-size:.9375rem;line-height:1.95;color:var(--brown)}
.c-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;margin:34px 0 8px;padding:24px 0;border-top:1px solid var(--line-ink);border-bottom:1px solid var(--line-ink)}
.c-nums li{display:flex;flex-direction:column;gap:2px}
.c-nums b{font-family:var(--serif);font-weight:700;font-size:clamp(2rem,8vw,2.75rem);line-height:1;color:var(--ink);letter-spacing:-.01em}
.c-nums li.is-coral b{color:var(--coral-text)}
.c-nums li.is-orange b{color:var(--orange)}
.c-nums b small{font-size:.4em;letter-spacing:.06em;color:var(--ink);margin-left:2px}
.c-nums span{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--slate)}
@media(min-width:600px){.c-nums{grid-template-columns:repeat(5,minmax(0,1fr))}}
.p-aki .c-label{margin-top:30px}
.p-aki .c-label::before{background:var(--coral)}
.c-stance{display:grid;gap:4px}
.c-stance li{position:relative;padding:8px 0 8px 34px;font-weight:700;line-height:1.75;color:var(--ink)}
.c-stance li svg{position:absolute;left:0;top:11px;width:22px;height:20px;color:var(--coral)}
.p-aki__profile{font-size:.9375rem;line-height:1.95;color:var(--brown);max-width:640px}
.p-aki__profile p+p{margin-top:.5em}

/* 人物紹介 v1.1：仮原稿の明示と、メッセージの読みやすさ。 */
.p-aki .p-aki__draft-note{margin:24px 0 12px;padding:10px 14px;border-left:3px solid var(--coral);background:var(--white);color:var(--ink-soft);font-size:.8125rem;line-height:1.7}
.p-aki .p-aki__message p+p{margin-top:1em}
/* v1.3.1: PCの狭い本文欄で経歴の西暦・ラベルが不自然に分割されるのを防ぐ。 */
.p-aki .c-nums b{white-space:nowrap}
@media(min-width:960px){.p-aki .c-nums{grid-template-columns:repeat(3,minmax(0,1fr))}}


.c-ownwords{margin-top:8px;padding:24px 22px;background:var(--white);position:relative;max-width:640px}
.c-ownwords::before{content:"“";position:absolute;left:14px;top:-18px;font-family:var(--serif);font-size:4rem;line-height:1;color:var(--coral-soft)}
.c-ownwords__quote{font-family:var(--hand);font-weight:600;font-size:1.25rem;line-height:1.7;color:var(--ink);letter-spacing:.04em}
.c-ownwords__text{margin-top:10px;font-size:.9375rem;line-height:1.9}
.c-ownwords__sign{margin-top:10px;font-family:var(--hand);font-weight:600;font-size:1rem;color:var(--ink-soft);text-align:right;letter-spacing:.1em}
@media(min-width:960px){
  .p-aki__stage{display:grid;grid-template-columns:minmax(0,5.2fr) minmax(0,6.8fr);column-gap:0;align-items:start}
  .p-aki__photo{grid-column:1;grid-row:1;aspect-ratio:4/5;border-radius:0 22px 22px 0;margin-left:calc((100vw - 1120px)/-2);width:calc(100% + (100vw - 1120px)/2);max-width:none}
  .p-aki__quote{grid-column:2;grid-row:1;align-self:end;margin:0 0 56px -110px;padding:36px 40px 32px;max-width:640px}
  .p-aki__body{grid-column:2;padding:56px 0 120px 56px}
}

/* =============================================================
   06 婚活整理セッション：商品（エディトリアル）
   ============================================================= */
.p-session__band{background:var(--cobalt);color:#fff;padding:40px 0 48px;overflow:hidden;position:relative}
@media(min-width:768px){.p-session__band{padding:56px 0 64px}}
.p-session__spec{display:flex;flex-wrap:wrap;gap:6px 0;font-size:.8125rem;font-weight:700;letter-spacing:.08em;white-space:nowrap;margin-bottom:26px}
.p-session__spec li{display:inline-flex;align-items:center;padding-right:14px;margin-right:14px;border-right:1px solid rgba(255,255,255,.45);line-height:1.4}
.p-session__spec li:last-child{padding-right:0;margin-right:0;border-right:0}
.p-session__band .k{font-family:var(--serif);letter-spacing:.24em;font-size:.75rem}
.p-session__band .who{display:inline-flex;align-items:center;gap:8px}
.p-session__band .who img{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.7)}
.p-session{padding-block:56px 96px}
@media(min-width:768px){.p-session{padding-block:72px 128px}}
.p-session__head{display:grid;gap:18px;max-width:760px}
.p-session__title{font-family:var(--serif);font-weight:700;font-size:clamp(1.75rem,6.6vw,3rem);line-height:1.45;color:#fff;letter-spacing:.03em;max-width:760px}
.p-session__title .mk--butter{color:var(--ink);background:linear-gradient(transparent 12%,var(--butter) 12%,var(--butter) 92%,transparent 92%);padding:0 .12em}
.p-session__title>span{display:block}
.p-session__title .u-nowrap,.p-session__title .mk{display:inline}
.c-steps3{display:grid;gap:36px;margin-top:40px;border-top:1px solid var(--cobalt-soft);padding-top:36px}
.c-step3{position:relative}
.c-step3__num{font-family:var(--serif);font-weight:700;font-size:clamp(3.5rem,14vw,5.5rem);line-height:.9;color:transparent;-webkit-text-stroke:1.5px var(--cobalt);letter-spacing:-.02em}
.c-step3__label{display:inline-block;margin-top:14px;font-family:var(--hand);font-weight:600;font-size:1.0625rem;color:var(--cobalt);letter-spacing:.08em}
.c-step3__title{font-family:var(--serif);font-weight:700;font-size:1.25rem;line-height:1.6;margin-top:6px;margin-bottom:10px;color:var(--ink);letter-spacing:.03em}
.c-step3__text{font-size:.9375rem;line-height:1.95}
.c-step3__list{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:12px}
.c-step3__list li{position:relative;padding-left:14px;font-size:.875rem;font-weight:700;color:var(--ink-soft)}
.c-step3__list li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:1.5px;background:var(--cobalt)}
@media(min-width:820px){
  .c-steps3{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .c-step3{padding-right:32px}
  .c-step3+.c-step3{padding-left:32px;border-left:1px solid var(--cobalt-soft)}
  .c-step3:last-child{padding-right:0}
}
/* --- F-01 60分の流れ図（1本の線＋3駅。Cobalt主軸、Butterはマーカーのみ） --- */
.c-tl{position:relative;margin-top:36px;padding-left:34px;padding-bottom:26px}
.c-tl::after{content:"";position:absolute;left:6px;bottom:12px;width:10px;height:10px;border-radius:50%;background:var(--cobalt);box-shadow:0 0 0 3px var(--white)}
.c-tl .c-steps3{margin-top:0;border-top:0;padding-top:0}
.c-tl__bar{position:absolute;color:var(--cobalt);pointer-events:none}
.c-tl__bar--h{display:none}
.c-tl__bar--v{left:0;top:26px;width:24px;height:calc(100% - 40px)}
.c-tl__start,.c-tl__end{position:absolute;font-family:var(--serif);font-weight:700;font-size:.6875rem;letter-spacing:.2em;color:var(--cobalt)}
.c-tl__start{left:-2px;top:-2px}
.c-tl__end{left:22px;bottom:-4px;font-family:var(--hand);font-size:1rem;letter-spacing:.06em;color:var(--ink)}
.c-tl__end .mk{padding:0 .2em}
.c-step3__dot{position:absolute;left:-28px;top:34px;width:12px;height:12px;border-radius:50%;background:var(--cobalt);box-shadow:0 0 0 4px var(--white)}
.c-tl .c-step3{padding-top:14px}
.c-tl .c-step3+.c-step3{margin-top:0}
@media(min-width:820px){
  .c-tl{padding-left:0;padding-top:40px;margin-top:44px;padding-bottom:0}
  .c-tl::after{left:auto;right:0;bottom:auto;top:15px}
  .c-tl__bar--v{display:none}
  .c-tl__bar--h{display:block;left:0;width:100%;top:8px;height:24px}
  .c-tl__start{left:0;top:-14px}
  .c-tl__end{left:auto;right:0;top:-16px;bottom:auto}
  .c-step3__dot{left:0;top:-32px}
  .c-tl .c-step3+.c-step3 .c-step3__dot{left:32px}
  .c-tl .c-step3{padding-top:0}
}
.c-honest{margin-top:44px;max-width:720px;padding:22px 24px;background:var(--cobalt-pale);position:relative}
.c-honest::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cobalt)}
.c-honest .c-text{font-size:.9375rem}

/* =============================================================
   07 対象者
   ============================================================= */
.c-for{display:grid;gap:6px;margin-top:26px}
.c-for li{position:relative;padding:10px 0 10px 36px;font-weight:700;line-height:1.8;color:var(--ink);font-size:1.0625rem}
.c-for li svg{position:absolute;left:0;top:14px;width:24px;height:22px;color:var(--coral)}
@media(min-width:768px){.c-for{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}}

/* =============================================================
   08 REAL STORIES
   ============================================================= */
.p-door{padding-block:72px 64px;position:relative;overflow:hidden}
@media(min-width:768px){.p-door{padding-block:104px 96px}}
.p-door__big{font-family:var(--serif);font-weight:700;font-size:clamp(3.25rem,13vw,8.5rem);line-height:.95;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.5px rgba(255,253,246,.85)}
.p-door__big b{display:block}
@media(min-width:600px){.p-door__big{white-space:nowrap}.p-door__big b{display:inline}}
.p-door__big b{color:var(--coral);-webkit-text-stroke:0}
.p-door__sub{color:var(--coral)!important}
.p-door__sub{margin-top:18px;font-family:var(--hand);font-weight:600;font-size:clamp(1rem,4.2vw,1.375rem);color:var(--ivory);letter-spacing:.06em}
.p-door__title{margin-top:34px;max-width:720px}
.p-door__title .c-title{margin-bottom:14px}
/* --- 装飾サンプル H-01（v3.2 sample）：扉のコンタクトシート（白フチのプリント写真＋テープ） --- */
.p-door .l-wrap{position:relative}
.p-door__sheet{position:relative;margin:30px 0 8px;height:236px}
.print{position:absolute;margin:0;width:150px;background:var(--white);padding:7px 7px 0;box-shadow:0 14px 30px rgba(0,0,0,.45),0 2px 4px rgba(0,0,0,.3);transform-origin:50% 40%}
.print img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;filter:saturate(.96)}
.print figcaption{font-family:var(--hand);font-weight:600;font-size:.8125rem;line-height:1;color:var(--ink);letter-spacing:.04em;padding:9px 2px 10px;display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.print figcaption small{font-family:var(--serif);font-weight:700;font-size:.6875rem;color:var(--coral-text);letter-spacing:.06em}
.print__tape{position:absolute;width:64px;height:16px;left:50%;top:-8px;margin-left:-32px;color:rgba(255,253,246,.38);transform:rotate(-3deg)}
.print--1{left:0;top:26px;transform:rotate(-5deg);z-index:1}
.print--2{left:50%;margin-left:-72px;top:0;transform:rotate(2.5deg);z-index:3}
.print--2 .print__tape{transform:rotate(2deg);color:rgba(240,139,141,.55)}
.print--3{right:0;top:32px;transform:rotate(4deg);z-index:2}
.print--3 .print__tape{left:auto;right:10px;margin-left:0;transform:rotate(8deg)}
@media(max-width:359px){.print{width:132px}}
@media(min-width:768px){
  .p-door .l-wrap{min-height:570px}
  .p-door__sheet{position:absolute;right:0;top:200px;width:440px;height:360px;margin:0}
  .print{width:196px;padding:9px 9px 0}
  .print figcaption{font-size:.9375rem;padding:11px 3px 12px}
  .print figcaption small{font-size:.75rem}
  .print__tape{width:78px;height:18px;margin-left:-39px;top:-9px}
  .print--1{left:0;top:110px;transform:rotate(-6deg)}
  .print--2{left:50%;margin-left:-98px;top:0;transform:rotate(2deg)}
  .print--3{right:0;top:132px;transform:rotate(5deg)}
  .p-door__title{position:relative;z-index:1}
}
@media(min-width:960px){.p-door__sheet{width:520px;height:400px;top:186px}.print{width:220px}.print--1{top:130px}.print--3{top:150px}}
.p-stories{padding-block:64px 80px}
@media(min-width:768px){.p-stories{padding-block:96px 112px}}
.story{position:relative}
.story+.story{margin-top:72px;padding-top:72px;border-top:1px solid var(--line-ink)}
.story__photo{position:relative;width:180px;height:180px;flex:none}
.story__photo img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.story__photo svg{position:absolute;inset:-8%;width:116%;height:116%;color:var(--story-accent,var(--orange))}
.story__meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-family:var(--hand);font-weight:600;font-size:.9375rem;color:var(--slate);letter-spacing:.06em;margin-bottom:10px}
.story__meta .stamp{display:inline-block;padding:3px 10px;border:1.5px solid var(--orange);border-radius:var(--r-pill);color:var(--orange-deep);transform:rotate(-2deg)}
.story__title{font-family:var(--serif);font-weight:700;font-size:clamp(1.25rem,5vw,1.625rem);line-height:1.6;color:var(--ink);letter-spacing:.03em}
.story__tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);font-size:.6875rem;font-weight:700;letter-spacing:.22em;color:var(--story-text,var(--orange-deep));margin-bottom:6px}
.story__tag::before{content:"";width:14px;height:1.5px;background:currentColor}
.story__tag--after{color:var(--ink)}
.story__p{font-size:.9375rem;line-height:1.95;color:var(--brown)}
.story__block+.story__block{margin-top:18px}
.story__quote{font-family:var(--serif);font-weight:700;font-size:clamp(1.25rem,5.2vw,1.75rem);line-height:1.65;color:var(--ink);letter-spacing:.03em;position:relative;padding-left:20px;border-left:3px solid var(--story-accent,var(--orange))}
.story__link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 0 4px;min-height:40px;font-size:.8125rem;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--orange-deep);padding-bottom:1px}
.story__link::after{content:"→";color:var(--orange-deep)}
.story--orange{--story-accent:var(--orange);--story-text:var(--orange-deep)}
.story--coral{--story-accent:var(--coral);--story-text:var(--coral-text)}
.story--cobalt{--story-accent:var(--cobalt);--story-text:var(--cobalt-deep)}
/* story 1：写真左・本文右 */
.story--1{display:grid;gap:22px}
.story--1 .story__quote{margin:22px 0}
/* story 2：引用先行・淡いコーラルの紙面 */
.story--2{background:var(--coral-pale);padding:28px 22px 26px;border-top:0!important;margin-top:64px!important;padding-top:28px!important}
.story--2 .story__quote{border-left:0;padding-left:0;font-size:clamp(1.375rem,5.6vw,2.5rem);line-height:1.55}
.story--2 .story__top{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.story--2 .story__photo{width:112px;height:112px}
.story--2 .story__cols{display:grid;gap:18px;margin-top:24px}
/* story 3：淡いコバルトのシート */
.story--3{background:var(--cobalt-pale);padding:28px 22px 26px;border-top:0!important;margin-top:48px!important;padding-top:28px!important}
.story--3 .story__top{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:18px}
.story--3 .story__photo{width:120px;height:120px}
.story--3 .story__cols{display:grid;gap:18px;margin-top:18px}
@media(min-width:860px){
  .story--1{grid-template-columns:220px minmax(0,1fr);column-gap:48px;align-items:start}
  .story--1 .story__photo{width:220px;height:220px;margin-top:8px}
  .story--2 .story__cols{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}
  .story--2{padding:44px 48px 40px}
  .story--3{padding:44px 48px 40px}
  .story--3 .story__top{flex-direction:row;align-items:center;gap:22px}
  .story--3 .story__cols{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}
}

/* =============================================================
   09 信頼
   ============================================================= */
.c-facts{display:grid;gap:26px;margin-top:8px}
.c-facts div{padding-top:18px;border-top:1px solid var(--line-ink)}
.c-facts dt{font-size:.6875rem;font-weight:700;letter-spacing:.2em;color:var(--slate);margin-bottom:8px}
.c-facts dd{font-size:1rem;font-weight:700;line-height:1.7;color:var(--ink)}
.c-facts dd b{display:block;font-family:var(--serif);font-size:2.25rem;line-height:1;color:var(--cobalt);letter-spacing:.02em;margin-bottom:8px}
.c-facts dd small{display:block;font-weight:400;font-size:.8125rem;color:var(--brown-soft);margin-top:4px}
@media(min-width:768px){.c-facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}}
.c-facts-links{margin-top:22px;font-size:.8125rem;color:var(--brown-soft)}
.c-facts-links a{color:var(--ink);font-weight:700}

/* =============================================================
   10 安心・申込方法・FAQ
   ============================================================= */
.c-reason{max-width:680px}
.c-reason__key{margin:22px 0;font-family:var(--serif);font-weight:700;font-size:clamp(1.0625rem,4.2vw,1.25rem);line-height:1.8;color:var(--ink);letter-spacing:.03em}
.c-rule{height:1px;background:var(--line-ink);border:0;margin:56px 0}
.c-flow{display:grid;gap:22px;margin-top:8px}
.c-flow__item{position:relative;padding-left:64px}
.c-flow__num{position:absolute;left:0;top:-6px;font-family:var(--hand);font-weight:600;font-size:2.25rem;line-height:1;color:var(--cobalt)}
.c-flow__title{font-family:var(--serif);font-weight:700;font-size:1.125rem;line-height:1.6;color:var(--ink);letter-spacing:.03em}
.c-flow__list{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:.875rem;line-height:1.8;color:var(--brown)}
.c-flow__list li{position:relative;padding-left:12px}
.c-flow__list li::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;border-radius:50%;background:var(--cobalt)}
@media(min-width:860px){.c-flow{gap:26px}}
.c-faq{display:grid;border-top:1px solid var(--line-ink);margin-top:8px}
.c-faq__item{border-bottom:1px solid var(--line-ink)}
.c-faq__btn{display:flex;align-items:flex-start;gap:14px;width:100%;padding:18px 0;background:none;border:0;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.7;color:var(--ink);text-align:left;cursor:pointer;min-height:58px}
.c-faq__q{flex:none;font-family:var(--hand);font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--cobalt);width:24px}
.c-faq__label{flex:1}
.c-faq__icon{flex:none;width:18px;height:18px;margin-top:5px;position:relative}
.c-faq__icon::before,.c-faq__icon::after{content:"";position:absolute;inset:50% 0 auto 0;height:1.5px;background:var(--ink);transition:transform .25s var(--ease)}
.c-faq__icon::after{transform:rotate(90deg)}
.c-faq__btn[aria-expanded="true"] .c-faq__icon::after{transform:rotate(0)}
.c-faq__panel{overflow:hidden;height:0;transition:height .28s var(--ease)}
.c-faq__inner{display:flex;gap:14px;padding:0 0 22px;font-size:.9375rem;line-height:1.9}
.c-faq__a{flex:none;font-family:var(--hand);font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--slate);width:24px}

/* =============================================================
   11 最終CTA：オレンジ全面
   ============================================================= */
.p-final{position:relative;overflow:hidden;text-align:center}
.p-final__deco{position:absolute;left:-60px;bottom:-80px;width:260px;height:260px;color:rgba(255,253,246,.22);pointer-events:none}
.p-final .c-title{color:var(--ivory)}
.p-final__sub{font-size:1.0625rem;font-weight:600;line-height:1.9;color:#FFF8EF;margin-top:-6px}
.p-final .c-cta__note{color:#FFF3E6}

/* -------------------------------------------------------------
   Motion
------------------------------------------------------------- */
html.js .js-reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js .js-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .js-reveal{opacity:1;transform:none;transition:none}
  .c-faq__panel,.c-sticky,.c-btn{transition:none}
}

/* -------------------------------------------------------------
   日本語の改行調整
------------------------------------------------------------- */
.c-title,.p-hero__main,.p-hero__bridge,.p-reframe__big,.p-diff__statement,.p-diff__punch,.p-aki__quote-t,.p-aki__pull,.p-session__title,
.c-step3__title,.story__title,.c-flow__title,.c-faq__label,.c-btn__main,.c-cta__lead,.c-options__label,.c-ownwords__quote,.c-reason__key,.mono--1 .rest,.mono--3 .pre{text-wrap:balance}
.c-text,.c-note,.p-hero__lead,.c-options__q,.c-three span,.c-steps li,.c-stance li,.p-aki__profile p,.p-aki__intro,.c-ownwords__text,.c-step3__text,
.c-for li,.story__p,.story__quote,.c-facts dd,.c-flow__list li,.c-faq__inner p,.c-cta__note,.c-honest .c-text,.p-final__sub{text-wrap:pretty}
@media(max-width:480px){
  .c-btn{padding-inline:18px}
  .c-btn__main{gap:8px}
}
@media(max-width:360px){
  .c-logo__sub{display:none}
}

/* -------------------------------------------------------------
   法務ページ
------------------------------------------------------------- */
.p-legal{padding-block:44px 64px}
@media(min-width:768px){.p-legal{padding-block:64px 88px}}
.p-legal__head{margin-bottom:32px}
.p-legal__lead{font-size:.875rem;line-height:1.9;color:var(--brown-soft);margin-bottom:28px}
.c-legal-table{display:grid;background:var(--white);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow)}
.c-legal-table dl{display:grid;grid-template-columns:1fr;margin:0;border-bottom:1px solid var(--line)}
.c-legal-table dl:last-child{border-bottom:0}
.c-legal-table dt{padding:16px 20px 4px;font-size:.8125rem;font-weight:700;color:var(--orange-deep);background:var(--cream)}
.c-legal-table dd{margin:0;padding:14px 20px 18px;font-size:.9375rem;line-height:1.9;color:var(--brown);text-wrap:pretty}
@media(min-width:700px){
  .c-legal-table dl{grid-template-columns:200px minmax(0,1fr);align-items:start;border-bottom:1px solid var(--line)}
  .c-legal-table dt{padding:18px 20px;background:none}
  .c-legal-table dd{padding:18px 20px}
}
.p-legal__section{margin-top:32px}
.p-legal__section h2{font-size:1.0625rem;font-weight:700;color:var(--orange-deep);margin-bottom:10px;padding-left:14px;border-left:4px solid var(--orange);text-wrap:balance}
.p-legal__section p{font-size:.9375rem;line-height:2;color:var(--brown);text-wrap:pretty}
.p-legal__section p.is-short{text-wrap:balance}
.p-legal__back{display:inline-flex;align-items:center;gap:6px;margin-top:40px;color:var(--ink);font-size:.875rem;font-weight:700;text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:2px}
.p-legal__back::before{content:"←";color:var(--orange-deep)}
.p-legal .c-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.6875rem;font-weight:700;letter-spacing:.2em;color:var(--slate);margin-bottom:18px}
.p-legal .c-eyebrow::before{content:"";width:20px;height:1.5px;background:var(--orange-deep)}

/* -------------------------------------------------------------
   K-01 区切り（3箇所のみ・すべて違う形）
------------------------------------------------------------- */
/* a) 破り紙エッジ：再定義ノート（Cream）→ 違い（淡Cobalt） */
.l-section--tear{padding-top:112px}
@media(min-width:768px){.l-section--tear{padding-top:156px}}
.c-tear{position:absolute;left:0;top:-1px;width:100%;height:34px;pointer-events:none;filter:drop-shadow(0 3px 3px rgba(41,37,34,.10))}
@media(min-width:768px){.c-tear{height:44px}}
/* b) 大きなEditorial word＋余白：REAL STORIES → 信頼（PROOF） */
.c-word{font-family:var(--serif);font-weight:700;font-size:clamp(4rem,18vw,9rem);line-height:.9;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1.2px rgba(41,37,34,.22);margin:-16px 0 34px -2px;user-select:none}
@media(min-width:768px){.c-word{margin:-24px 0 44px -4px}}
/* c) 手描き矢印＋余白：スタンスの文章 → 申込の流れ */
.c-break{display:flex;justify-content:center;padding:44px 0 40px}
.c-break svg{width:40px;height:58px;color:var(--cobalt)}
@media(min-width:768px){.c-break{padding:56px 0 48px}}

/* --- 09 TRUST / PROOF：IBJ AWARD 年号ストリップ --- */
.c-facts--proof{margin-top:8px}
.c-facts dd b.is-text{font-size:1.75rem}
.c-facts__item--award{grid-column:1/-1}
.c-facts__item--award dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 22px}
.c-award{display:flex;align-items:baseline;flex:0 1 auto;min-width:0;justify-content:flex-start;max-width:440px}
.c-award li{position:relative;padding:0 .45em;flex:0 0 auto;text-align:center;min-width:0}
.c-award li+li{border-left:1px solid var(--line-ink)}
.c-award li:first-child{padding-left:0;text-align:left}
.c-award li:last-child{padding-right:0;text-align:right}
.c-facts .c-award b{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,6.4vw,3rem);line-height:1;color:var(--ink);letter-spacing:0;margin:0;font-variant-numeric:tabular-nums}
.c-award__label{font-family:var(--hand);font-weight:600;font-size:1.0625rem;color:var(--cobalt-deep);letter-spacing:.12em;white-space:nowrap;margin-left:4px}
.c-award__label .hd-ring{padding:.1em .5em}
@media(min-width:768px){
  .c-facts--proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-facts__item--award{padding-top:22px}
  .c-facts__item--award dd{flex-wrap:nowrap}
  .c-award{flex:0 0 auto}
  .c-award li{padding:0 .7em}
  .c-award__label{margin-left:8px}
}

/* --- D-01 比較シート：SPは「注釈 → 1〜3 → 4 相手を探す」を主役に（赤ペン矢印はSP非表示、括弧は弱く） --- */
.c-steps li.is-next{color:var(--ink);font-weight:700}
.c-steps li.is-next i{color:var(--pen)}
@media(max-width:819px){
  .c-sheet__pen{text-align:left;white-space:normal;transform:none;margin:0 0 12px;font-size:.875rem;line-height:1.5}
  .c-sheet__pen svg{display:none}
  .c-sheet__bracket{left:-17px;top:52px;height:118px;width:8px;opacity:.45}
  .c-steps li.is-key{font-size:1.0625rem;padding-block:10px;background:var(--cobalt-soft)}
  .c-steps li.is-next{position:relative}
  .c-steps li.is-next::before{content:"";position:absolute;left:8px;top:-7px;width:8px;height:8px;border-right:1.5px solid var(--pen);border-bottom:1.5px solid var(--pen);transform:rotate(45deg);opacity:.9}
  .c-route__short{opacity:.6}
  .c-route__short-label{font-size:.6875rem;color:var(--brown-soft)}
  .c-route__short-label svg{width:14px;height:14px;opacity:.8}
}

/* =============================================================
   イラスト（読者の分身）サンプルA／B — v3.2
   ============================================================= */
/* A：言えない本音。PCは右側の余白に断ち落とし（高さを増やさない）、SPは右に断ち落とし＋次の独白を少し重ねる */
.p-inside__illust{position:relative;margin:26px -20px 0 auto;width:54%;max-width:260px;z-index:0;pointer-events:none}
.p-inside__illust img{display:block;width:100%;height:auto;
  -webkit-mask-image:radial-gradient(ellipse 70% 62% at 52% 46%,#000 52%,transparent 100%);mask-image:radial-gradient(ellipse 70% 62% at 52% 46%,#000 52%,transparent 100%)}
.p-inside__illust+.mono--4{margin-top:-36px;position:relative;z-index:1}
@media(min-width:960px){
  .p-inside__illust{position:absolute;right:-40px;top:22%;width:36%;max-width:400px;margin:0}
  .p-inside__illust+.mono--4{margin-top:0}
  .mono--5{grid-column:3/9}
  .deco-bubble--2{left:9%}
  .deco-ring{left:42%}
}
/* B：婚活整理セッション。Cobalt帯と白い本文の境目にまたがる非対称フレーム（FV写真と同じ角の言語） */
.p-session__band{overflow:visible}
.p-session__band .l-wrap{position:relative}
.p-session__illust{position:relative;margin:26px -20px -84px auto;width:68%;max-width:320px;z-index:2;
  border-radius:90px 14px 14px 14px;overflow:hidden;background:#fff;padding:5px;box-shadow:0 16px 36px rgba(20,30,70,.28)}
.p-session__illust img{display:block;width:100%;height:auto;border-radius:86px 10px 10px 10px}
.p-session__band{padding-bottom:28px}
.p-session{padding-top:128px}
@media(min-width:768px){.p-session__band{padding-bottom:32px}.p-session{padding-top:140px}}
@media(min-width:960px){
  .p-session__illust{position:absolute;margin:0;right:0;bottom:-120px;width:360px;max-width:360px;border-radius:120px 18px 18px 18px;padding:6px}
  .p-session__illust img{border-radius:114px 12px 12px 12px}
  .p-session__band{padding-bottom:64px}
  .p-session{padding-top:120px}
  .p-session__head{max-width:640px}
}

/* 320px 幅の保険：FVのグリッドが nowrap で広がらないように／狭幅では意味区切りの nowrap を解除 */
@media(max-width:959px){.p-hero__grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:340px){.u-nowrap,.p-hero__kicker{white-space:normal}}

/* v1.3.2: audited Japanese line-break adjustments */
.aki-no-break{white-space:nowrap}

/* v1.3.3: 人物写真の差し替え。①紹介＝横長写真（SP 4:3／PC 1:1、縦は全体表示で頭を切らない）②最終CTA前＝縦長写真を補助的に小さく */
.p-aki__photo{aspect-ratio:4/3}
.p-aki__photo img{object-position:20% 50%}
@media(min-width:960px){.p-aki__photo{aspect-ratio:1/1}}
.p-final__photo{position:relative;width:168px;margin:32px auto 0;aspect-ratio:4/5;border-radius:var(--r-l);overflow:hidden;border:3px solid #FFF8EF;background:#FFF8EF;box-shadow:0 12px 26px rgba(90,30,0,.2)}
.p-final__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 72%;transform:scale(1.2);transform-origin:46% 46%}
.p-final__photo+.c-cta{margin-top:32px}
@media(min-width:768px){.p-final__photo{width:200px}}

/* v1.3.4：共感セクションの女性ビジュアルを横長(4:3)へ差し替え。
   SP/タブレットは「なんで結婚だけ？」の直下に中央配置（右寄せ・断ち落とし・独白の重なりを解除）、
   PCは「なんで結婚だけ？」の右隣に置く。縁は背景に溶けるよう柔らかくぼかす（画像自体は無加工） */
.p-inside__illust{position:relative;width:100%;max-width:520px;margin:28px auto 0;right:auto;top:auto}
.p-inside__illust img{aspect-ratio:1448/1086;object-fit:cover;
  -webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 46%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 50% 46%,#000 62%,transparent 100%)}
.p-inside__illust+.mono--4{margin-top:28px}
@media(min-width:960px){
  .mono--3{grid-column:1/7;grid-row:2;align-self:center}
  .p-inside__illust{position:relative;grid-column:7/13;grid-row:2;width:auto;max-width:540px;margin:0 -20px 0 0;justify-self:end;align-self:center;z-index:0}
  .p-inside__illust+.mono--4{margin-top:0}
}

/* v1.3.4：お客様の声の「詳しく読む」を外部リンクからLP内アコーディオンへ（本文はSUN FLOWER公式サイト掲載の原文） */
.story__toggle{background:none;border:0;border-bottom:1.5px solid var(--orange-deep);border-radius:0;font-family:inherit;cursor:pointer;text-align:left}
.story__toggle::after{content:"↓"}
.story__toggle[aria-expanded="true"]::after{content:"↑"}
.story__toggle-close,.story__toggle[aria-expanded="true"] .story__toggle-open{display:none}
.story__toggle[aria-expanded="true"] .story__toggle-close{display:inline}
.story__detail{margin-top:16px;padding:22px 20px 18px;background:var(--white);border-top:3px solid var(--story-accent,var(--orange));box-shadow:var(--shadow)}
.story__detail[hidden]{display:none}
.story__detail-title{font-family:var(--serif);font-weight:700;font-size:1.0625rem;line-height:1.7;color:var(--ink);letter-spacing:.03em}
.story__qa{margin-top:14px}
.story__qa dt{margin-top:18px;font-size:.875rem;font-weight:700;line-height:1.7;color:var(--story-text,var(--orange-deep))}
.story__qa dt:first-child{margin-top:0}
.story__qa dd{margin:4px 0 0;font-size:.9375rem;line-height:1.95;color:var(--brown);overflow-wrap:anywhere}
.story__close{display:flex;align-items:center;justify-content:center;gap:6px;margin:22px auto 0;min-height:44px;padding:8px 28px;background:none;border:1.5px solid var(--line-ink);border-radius:var(--r-pill);font-family:inherit;font-size:.8125rem;font-weight:700;color:var(--ink);cursor:pointer}
.story__close::after{content:"↑";color:var(--orange-deep)}
@media(min-width:860px){.story__detail{padding:30px 36px 24px}}
