/* =========================================================
   Kinkyer トップLP（ポップ版）
   現行kinkyer.jpのスカイブルー＋ピンク〜パープル〜ブルーのグラデーションをベースに
   ========================================================= */
html{scroll-behavior:smooth;margin:0;padding:0}
body{margin:0;padding:0}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.kp{
  --sky:#86c0d4;--sky-d:#3f8aa8;--sky-t:#eaf5f9;
  --pink:#ff3cac;--purple:#784ba0;--blue:#2b86c5;
  --pink-t:#fff0f8;--purple-t:#f3eefa;--blue-t:#e8f2fb;--cream:#fff7ea;
  --ink:#333333;--sub:#585864;--muted:#6b6b76;--line:#e6e8ee;
  --grad:linear-gradient(225deg,#ff3cac 0%,#784ba0 50%,#2b86c5 100%);
  --round:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;
  --logo-font:"Cherry Bomb One","M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  width:100%;font-family:var(--sans);font-size:15px;line-height:1.85;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased
}
.kp [id]{scroll-margin-top:96px}
.kp *,.kp *::before,.kp *::after{box-sizing:border-box}
:where(.kp) :where(h1,h2,h3,p,ul,ol,dl,dd,figure){margin:0;padding:0}
.kp ul,.kp ol{list-style:none}
:where(.kp) a{color:inherit}
.kp button{font:inherit}
.kp-wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.kp-wrap--narrow{max-width:960px}
.kp-ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kp-ico--sm{width:16px;height:16px}
.kp-heart{fill:currentColor;stroke:none}
.kp-gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- header ---------- */
.kp-header{position:absolute;top:0;left:0;right:0;z-index:10}
.kp--subpage .kp-header{position:relative;background:var(--sky);box-shadow:0 1px 0 rgba(23,40,51,.12)}
.kp-header__in{display:flex;align-items:center;gap:32px;height:84px}
.kp-header__in{width:100%;max-width:none;padding-left:32px;padding-right:32px}
.kp-logo{font-family:var(--logo-font);font-weight:800;font-size:32px;line-height:1;letter-spacing:.01em;text-decoration:none;color:#fff;flex:none}
.kp-logo--grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kp-logo__tagline{display:block;margin-top:0;font-family:var(--logo-font);font-size:18px;font-weight:400;line-height:1.05;letter-spacing:.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kp-logo--grad{text-align:center}
.kp-footer__brand .kp-logo--grad{display:block;width:max-content;margin:0 auto}
.kp-footer a.kp-logo:hover{text-decoration:none}
.kp-nav{display:flex;gap:26px;margin-left:auto}
.kp-nav a{color:#fff;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
.kp-nav a:hover{text-decoration:underline}
.kp-header__actions{display:flex;align-items:center;gap:16px;flex:none}
.kp-header__login{color:#fff;font-weight:700;font-size:14px;text-decoration:none}
.kp-menu{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.25);color:#fff;cursor:pointer}

/* ---------- buttons ---------- */
.kp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 32px;border:2px solid transparent;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:15px;letter-spacing:.04em;line-height:1.3;text-decoration:none;white-space:nowrap;cursor:pointer}
.kp-btn--white{background:#fff;color:var(--purple);box-shadow:0 10px 24px rgba(30,70,100,.18)}
.kp-btn--grad{background:var(--grad);color:#fff;box-shadow:0 10px 24px rgba(120,75,160,.28)}
.kp-btn--line-w{border-color:#fff;color:#fff}
.kp-btn--line{border-color:var(--purple);color:var(--purple);background:#fff}
.kp-btn--lg{min-height:62px;padding:0 44px;font-size:17px}
.kp-btn--sm{min-height:40px;padding:0 20px;font-size:13px}

/* ---------- hero ---------- */
.kp-hero{position:relative;background:var(--sky);color:#fff;padding:150px 0 170px;overflow:hidden}
.kp-hero__deco{position:absolute;border-radius:50%;background:rgba(255,255,255,.14)}
.kp-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 580px;gap:32px;align-items:center}
.kp-hero__kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:rgba(255,255,255,.28);font-weight:700;font-size:13px;letter-spacing:.04em}
.kp-hero__title{font-family:var(--round);font-weight:800;font-size:58px;line-height:1.38;letter-spacing:.02em;margin-top:22px;transform:rotate(-3deg);transform-origin:left center;text-shadow:0 3px 14px rgba(30,70,100,.18)}
.kp-hero__lead{margin-top:28px;max-width:30em;font-size:16px;font-weight:500;line-height:2}
.kp-hero__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.kp-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:999px;background:#fff;color:var(--purple);font-weight:700;font-size:13px;line-height:1.4}
.kp-pill .kp-ico{width:16px;height:16px;color:var(--pink)}
.kp-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.kp-hero__note{margin-top:14px;font-size:12px;opacity:.95}

.kp-stage{position:relative;height:620px}
.kp-photo{position:absolute;left:0;top:30px;width:330px;height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;border-radius:24px;border:2px dashed rgba(255,255,255,.85);background:rgba(255,255,255,.2);text-align:center;font-size:12px;font-weight:700;line-height:1.7;transform:rotate(-4deg)}
.kp-photo strong{font-family:var(--round);font-size:17px;font-weight:800}
.kp-phone{position:absolute;right:10px;top:0;width:290px;height:600px;padding:10px;border-radius:42px;background:#24232e;box-shadow:0 30px 70px rgba(20,50,80,.32)}
.kp-screen{height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:34px;background:#f6f5fa;color:var(--ink)}
.kp-appbar{padding:30px 16px 12px;background:var(--purple);color:#fff;text-align:center;font-family:var(--round);font-weight:800;font-size:18px;line-height:1}
.kp-apptabs{display:flex;justify-content:space-around;background:#fff;font-size:11px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line)}
.kp-apptabs span{padding:9px 0}
.kp-apptabs .is-on{color:var(--purple);box-shadow:inset 0 -3px 0 var(--purple)}
.kp-ucard{flex:1;min-height:0;display:flex;flex-direction:column;margin:12px;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(40,40,80,.10)}
.kp-ucard__photo{position:relative;flex:1;min-height:0}
.kp-ucard__body{padding:12px 14px 6px}
.kp-ucard__name{display:flex;align-items:baseline;gap:8px;font-weight:700;font-size:17px}
.kp-ucard__name small{font-weight:400;font-size:11px;color:var(--muted)}
.kp-ucard__type{margin-top:4px;font-size:11px;font-weight:700;color:var(--purple)}
.kp-ucard .kp-tags{margin-top:8px}
.kp-uacts{display:flex;justify-content:center;align-items:center;gap:18px;padding:10px 0 16px}
.kp-uact{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#fff;color:var(--muted);box-shadow:0 4px 12px rgba(40,40,80,.12)}
.kp-uact--like{width:62px;height:62px;background:var(--grad);color:#fff}
.kp-uact--like .kp-heart{width:26px;height:26px}
.kp-uact--msg{color:var(--purple)}

.kp-float{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:18px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;line-height:1.5;box-shadow:0 14px 32px rgba(20,50,80,.2)}
.kp-float__ic{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--grad);color:#fff;flex:none}
.kp-float__ic .kp-heart{width:16px;height:16px}
.kp-float small{display:block;font-weight:400;color:var(--muted);font-size:11px}
.kp-float--a{left:-24px;bottom:110px}
.kp-float--b{right:-10px;top:120px}
.kp-wave{position:absolute;left:0;bottom:-1px;width:100%;height:100px;display:block}

/* ---------- photo / illust placeholders ---------- */
.kp-ph{position:relative;display:flex;align-items:flex-end;justify-content:flex-start;padding:10px;overflow:hidden;background:var(--purple-t);color:var(--muted);font-size:10px;font-weight:700}
.kp-ph--pink{background:var(--pink-t)}
.kp-ph--sky{background:var(--sky-t)}
.kp-ph--cream{background:var(--cream)}
.kp-ph--blue{background:var(--blue-t)}
.kp-ph__sil{position:absolute;left:50%;bottom:-6%;width:64%;transform:translateX(-50%);color:rgba(120,75,160,.13)}
.kp-ph__label{position:relative;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.9)}
.kp-ill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px;border-radius:18px;border:2px dashed #bcdbe7;background:var(--sky-t);color:var(--sky-d);font-size:12px;font-weight:700;line-height:1.6;text-align:center}
.kp-ill strong{font-family:var(--round);font-weight:800;font-size:14px}
.kp-ill--pink{border-color:#f6c3df;background:var(--pink-t);color:#c0277e}
.kp-ill--purple{border-color:#d5c6ea;background:var(--purple-t);color:var(--purple)}

/* tags */
.kp-tags{display:flex;flex-wrap:wrap;gap:4px}
.kp-t{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.4}
.kp-t--h{background:var(--pink-t);color:#c0277e}
.kp-t--f{background:var(--purple-t);color:var(--purple)}
.kp-t--b{background:var(--blue-t);color:#1f6aa3}
.kp-t--k{background:var(--sky-t);color:#2c7896}
.kp-badge{position:absolute;top:10px;left:10px;z-index:1;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:#fff;color:var(--blue);font-size:10px;font-weight:700}
.kp-badge--new{background:var(--pink);color:#fff}
.kp-badge .kp-ico{width:12px;height:12px}

/* ---------- media strip ---------- */
.kp-media{padding:8px 0 24px;text-align:center}
.kp-media__label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.1em}
.kp-media__list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.kp-media__list li{padding:8px 18px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;color:var(--sub);background:#fff}

/* ---------- sections ---------- */
.kp-sec{padding:100px 0}
.kp-sec--sky{background:var(--sky-t)}
.kp-sec--pink{background:var(--pink-t)}
.kp-sec--tight{padding:72px 0}
.kp-head{margin-bottom:56px;text-align:center}
.kp-en{display:block;font-family:var(--round);font-weight:800;font-size:14px;letter-spacing:.22em;color:var(--sky-d)}
.kp-h2{font-family:var(--round);font-weight:800;font-size:38px;line-height:1.45;letter-spacing:.02em;margin-top:6px}
.kp-lead{width:min(100%,760px);max-width:760px;margin:20px auto 0;color:var(--sub);font-size:15px;line-height:2}
.kp-lead__break{display:block}
.kp-lead--members{max-width:none}
.kp-more{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:48px}

/* can-do */
.kp-cando{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.kp-cando li{padding:24px 24px 30px;border-radius:24px;background:#fff;box-shadow:0 10px 30px rgba(40,60,100,.08);text-align:center}
.kp-cando .kp-ill{aspect-ratio:4/3}
.kp-cando h3{font-family:var(--round);font-weight:800;font-size:20px;line-height:1.5;margin-top:20px}
.kp-cando p{font-size:14px;color:var(--sub);margin-top:8px;line-height:1.9}

/* members */
.kp-members{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.kp-mem{display:block;border-radius:22px;background:#fff;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 10px 28px rgba(40,60,100,.09)}
.kp-mem__photo{aspect-ratio:1/1}
.kp-mem__like{position:absolute;right:12px;bottom:12px;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;box-shadow:0 6px 14px rgba(120,75,160,.3)}
.kp-mem__like .kp-heart{width:20px;height:20px}
.kp-mem__body{padding:14px 16px 18px}
.kp-mem__name{font-weight:700;font-size:17px;line-height:1.4}
.kp-mem__name small{margin-left:6px;font-weight:400;font-size:12px;color:var(--muted)}
.kp-mem__type{margin-top:4px;font-size:11px;font-weight:700;color:var(--purple)}
.kp-mem__msg{margin-top:8px;font-size:12px;color:var(--sub);line-height:1.75}
.kp-mem .kp-tags{margin-top:10px}
.kp-note{margin-top:20px;text-align:center;font-size:12px;color:var(--muted)}

/* features */
.kp-feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.kp-feat+.kp-feat{margin-top:96px}
.kp-feat--rev .kp-feat__media{order:2}
.kp-feat__media{position:relative;display:flex;justify-content:center;align-items:center;min-height:540px}
.kp-feat__media::before{content:"";position:absolute;top:50%;left:50%;width:400px;height:400px;border-radius:50%;background:var(--sky);opacity:.55;transform:translate(-50%,-50%)}
.kp-feat--rev .kp-feat__media::before{background:#d9c8ef}
.kp-pslot{position:relative;width:250px;height:510px;padding:9px;border-radius:38px;background:#24232e;box-shadow:0 24px 50px rgba(20,40,70,.22)}
.kp-pslot__in{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;padding:22px;border-radius:30px;background:#fff;text-align:center;font-size:12px;font-weight:700;color:var(--muted);line-height:1.7}
.kp-pslot__in strong{font-family:var(--round);font-weight:800;font-size:14px;color:var(--purple)}
.kp-feat__no{display:inline-block;padding:5px 18px;border-radius:999px;background:var(--grad);color:#fff;font-family:var(--round);font-weight:800;font-size:14px;letter-spacing:.06em}
.kp-feat__title{font-family:var(--round);font-weight:800;font-size:30px;line-height:1.5;margin-top:16px}
.kp-feat__text{margin-top:16px;color:var(--sub);line-height:2}
.kp-points{display:grid;gap:10px;margin-top:22px}
.kp-points li{display:flex;align-items:flex-start;gap:10px;font-weight:700;font-size:14px;line-height:1.7}
.kp-check{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--grad);color:#fff;flex:none}
.kp-check .kp-ico{width:13px;height:13px;stroke-width:3}

/* diagnosis */
.kp-diag{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;padding:56px 64px;border-radius:36px;background:var(--grad);color:#fff;box-shadow:0 20px 50px rgba(120,75,160,.25)}
.kp-diag .kp-en{color:rgba(255,255,255,.85)}
.kp-diag__title{font-family:var(--round);font-weight:800;font-size:34px;line-height:1.45;margin-top:6px}
.kp-diag__text{margin-top:16px;line-height:2;font-size:15px}
.kp-types{display:flex;gap:12px;margin-top:24px}
.kp-type{flex:1;padding:16px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.16);text-align:center}
.kp-type strong{display:block;font-family:var(--round);font-weight:800;font-size:22px;line-height:1.3}
.kp-type span{font-size:12px;font-weight:700}
.kp-diag .kp-btn{margin-top:28px}
.kp-diag .kp-ill{aspect-ratio:1/1;border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.16);color:#fff}

/* steps */
.kp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.kp-steps li{padding:32px 28px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 10px 30px rgba(40,60,100,.08)}
.kp-step__n{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--round);font-weight:800;font-size:13px;line-height:1.1;text-align:center}
.kp-step__n b{display:block;font-size:22px}
.kp-steps .kp-ill{aspect-ratio:16/10;margin-top:20px}
.kp-steps h3{font-family:var(--round);font-weight:800;font-size:20px;margin-top:20px}
.kp-steps p{font-size:14px;color:var(--sub);margin-top:8px;line-height:1.9}

/* numbers */
.kp-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kp-no1{margin:22px auto 44px;text-align:center}
.kp-no1__emb{display:inline-flex;align-items:center;justify-content:center;gap:4px}
.kp-no1__laurel{width:72px;height:154px;flex:none}
.kp-no1__laurel--r{transform:scaleX(-1)}
.kp-no1__c{display:flex;flex-direction:column;align-items:center;min-width:170px;padding-left:6px;padding-right:0}
.kp-no1__s{display:inline-flex;align-items:center;height:26px;padding:0 14px;border-radius:999px;background:var(--grad);color:#fff;font-family:var(--round);font-weight:800;font-size:13px;letter-spacing:.12em}
.kp-no1__k{margin-top:6px;font-family:var(--round);font-weight:800;font-size:22px;letter-spacing:.3em;padding-left:.3em;color:var(--ink)}
.kp-no1__n{font-family:var(--round);font-weight:800;font-size:68px;line-height:1;letter-spacing:.01em}
.kp-no1__n sup{font-size:14px;vertical-align:top;margin-left:2px;-webkit-text-fill-color:var(--muted);color:var(--muted)}
.kp-num{position:relative;padding:34px 24px 30px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 10px 30px rgba(40,60,100,.08)}
.kp-num__v{font-family:var(--round);font-weight:800;font-size:58px;line-height:1.1}
.kp-num__v small{font-size:24px}
.kp-num__l{margin-top:8px;font-weight:700;font-size:15px}
.kp-num__d{margin-top:6px;font-size:12px;color:var(--muted)}
.kp-prov{position:absolute;top:14px;right:14px;padding:2px 10px;border:1px dashed #b9b9c4;border-radius:999px;font-size:11px;font-weight:700;color:var(--muted)}

/* pricing */
.kp-price{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:900px;margin:0 auto}
.kp-plan{position:relative;padding:36px 36px 32px;border:2px solid var(--line);border-radius:28px;background:#fff}
.kp-plan--plus{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.kp-plan__tag{position:absolute;top:-15px;left:36px;padding:4px 14px;border-radius:999px;background:var(--grad);color:#fff;font-size:12px;font-weight:700}
.kp-plan__name{font-family:var(--round);font-weight:800;font-size:22px}
.kp-plan__price{margin-top:10px;font-family:var(--round);font-weight:800;font-size:42px;line-height:1.2}
.kp-plan__price small{font-family:var(--sans);font-weight:700;font-size:14px;color:var(--muted);margin-left:4px}
.kp-plan__desc{margin-top:6px;font-size:13px;color:var(--sub)}
.kp-plan ul{display:grid;gap:12px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.kp-plan li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6}
.kp-plan li small{display:block;font-size:12px;color:var(--muted)}
.kp-plan .kp-check--off{background:#d7d7de}
.kp-price-note{max-width:900px;margin:24px auto 0;text-align:center;font-size:13px;color:var(--sub)}

/* safety */
.kp-safe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kp-safe li{display:flex;gap:16px;align-items:flex-start;padding:24px;border-radius:22px;background:#fff;box-shadow:0 6px 20px rgba(40,60,100,.06)}
.kp-safe__ic{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--sky-t);color:var(--sky-d);flex:none}
.kp-safe h3{font-weight:700;font-size:16px;line-height:1.5}
.kp-safe p{margin-top:4px;font-size:13px;color:var(--sub);line-height:1.8}

/* faq */
.kp-faq{display:grid;gap:12px;max-width:900px;margin:0 auto}
.kp-faq details{border-radius:18px;background:#fff;box-shadow:0 4px 16px rgba(40,60,100,.07)}
.kp-faq summary{position:relative;display:block;padding:20px 56px 20px 68px;list-style:none;cursor:pointer;font-weight:700;font-size:16px;line-height:1.6}
.kp-faq summary::-webkit-details-marker{display:none}
.kp-faq summary::before{content:"Q";position:absolute;left:20px;top:16px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--round);font-weight:800;font-size:15px}
.kp-faq summary::after{content:"＋";position:absolute;right:24px;top:20px;color:var(--purple);font-weight:700}
.kp-faq details[open] summary::after{content:"－"}
.kp-faq__a{padding:0 28px 22px 68px;font-size:14px;color:var(--sub);line-height:1.95}

/* news */
.kp-news{max-width:900px;margin:0 auto;border-radius:22px;background:#fff;box-shadow:0 6px 20px rgba(40,60,100,.06);overflow:hidden}
.kp-news li+li{border-top:1px solid var(--line)}
.kp-news a{display:flex;gap:20px;align-items:center;padding:18px 28px;text-decoration:none;font-size:14px}
.kp-news a:hover{background:var(--sky-t)}
.kp-news__d{flex:none;font-weight:700;color:var(--purple);font-size:13px;min-width:7.5em}

/* cta */
.kp-cta{position:relative;overflow:hidden;padding:150px 0 110px;background:var(--sky);color:#fff;text-align:center}
.kp-cta__wave{position:absolute;top:-1px;left:0;width:100%;height:90px;display:block}
.kp-cta__title{font-family:var(--round);font-weight:800;font-size:40px;line-height:1.45;transform:rotate(-2deg)}
.kp-cta__text{margin-top:18px;font-weight:500}
.kp-cta .kp-more{margin-top:32px}
.kp-cta__note{margin-top:16px;font-size:12px;opacity:.95}
.kp-up{padding:52px 0 56px;background:#fff}.kp-up__inner{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:40px 42px;border-radius:18px;background:linear-gradient(115deg,#211b2d,#642052);color:#fff;display:grid;grid-template-columns:1fr 390px;gap:42px;box-sizing:border-box}.kp-up__eyebrow{display:inline-block;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;font-weight:700}.kp-up h2{margin:10px 0 12px;font-family:var(--round);font-size:22px;line-height:1.4}.kp-up h2 span{color:#ff3cac;font-size:28px}.kp-up p{max-width:430px;margin:0;color:#e8dce9;font-size:11px;line-height:1.8}.kp-up__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.kp-up__tags span{padding:4px 8px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:9px}.kp-up__links{display:grid;gap:10px;align-content:center}.kp-up__links a{position:relative;display:block;padding:14px 38px 12px 18px;border-radius:12px;background:#fff;color:#312638;text-decoration:none}.kp-up__links strong{display:block;color:#e8338f;font-size:11px;line-height:1.45}.kp-up__links a+a strong{color:#33294b}.kp-up__links small{display:block;margin-top:4px;color:#777080;font-size:9px}.kp-up__links b{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#282032;color:#fff;text-align:center;line-height:18px;font-size:11px}

/* footer */
.kp-footer{padding:64px 0 28px;background:#fff;border-top:1px solid var(--line);font-size:13px}
.kp-footer__grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px}
.kp-footer__grid--5{grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}
.kp-footer__grid--5 a{line-height:1.6}
.kp-footer__desc{margin-top:14px;color:var(--sub);line-height:1.9;max-width:24em}
.kp-footer h3{font-weight:700;font-size:14px;color:var(--purple);margin-bottom:12px}
.kp-footer li+li{margin-top:8px}
.kp-footer a{text-decoration:none;color:var(--sub)}
.kp-footer a:hover{color:var(--purple);text-decoration:underline}
.kp-footer__seo{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin:24px auto 0;text-align:center}
.kp-footer__seo a{padding:0 12px;border-left:1px solid var(--line);color:var(--sub);font-size:12px;line-height:1.7}
.kp-footer__seo a:last-child{border-right:1px solid var(--line)}
.kp-footer__seo--legal{margin-top:8px}
.kp-footer__seo--pages{max-width:1040px}
.kp-footer__seo--pages a{font-size:11px}
.kp-footer__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1180px){
  .kp-nav{gap:18px}
  .kp-nav a{font-size:13px}
  .kp-hero__grid{grid-template-columns:minmax(0,1fr) 480px}
  .kp-photo{width:280px;height:390px}
  .kp-phone{width:260px;height:540px}
}
@media (max-width:1024px){
  .kp-nav,.kp-header__login{display:none}
  .kp-menu{display:inline-flex}
  .kp-header__actions{margin-left:auto}
  .kp-hero__title{font-size:44px}
  .kp-members{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kp-safe{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kp-diag{grid-template-columns:minmax(0,1fr);padding:48px}
  .kp-diag .kp-ill{display:none}
}
@media (max-width:767px){
  .kp{font-size:14px}
  .kp-wrap{padding:0 20px}
  .kp-header__in{height:64px;gap:12px;padding-left:20px;padding-right:20px}
  .kp-logo{font-size:26px}
  .kp-header__actions .kp-btn{min-height:36px;padding:0 14px;font-size:12px}
  .kp-hero{padding:96px 0 120px}
  .kp-hero__grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .kp-hero__title{font-size:34px;margin-top:18px}
  .kp-hero__lead{font-size:14px;margin-top:22px}
  .kp-hero__cta .kp-btn{width:100%}
  .kp-stage{width:100%;max-width:350px;height:520px;margin:0 auto}
  .kp-photo{width:210px;height:300px;top:40px;padding:16px;font-size:11px}
  .kp-phone{width:236px;height:490px;right:0;border-radius:36px}
  .kp-screen{border-radius:28px}
  .kp-float--a{left:0;bottom:60px}
  .kp-float--b{right:auto;left:0;top:6px}
  .kp-wave{height:56px}
  .kp-media__list li{padding:6px 12px;font-size:12px}
  .kp-sec{padding:72px 0}
  .kp-sec--tight{padding:56px 0}
  .kp-head{margin-bottom:36px}
  .kp-h2{font-size:26px}
  .kp-lead{font-size:14px;text-align:left}
  .kp-more .kp-btn{width:100%}
  .kp-cando{grid-template-columns:minmax(0,1fr);gap:16px}
  .kp-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .kp-mem{border-radius:18px}
  .kp-mem__body{padding:10px 12px 14px}
  .kp-mem__name{font-size:15px}
  .kp-mem__msg{display:none}
  .kp-mem .kp-t:nth-child(n+3){display:none}
  .kp-mem__like{width:38px;height:38px}
  .kp-feat{grid-template-columns:minmax(0,1fr);gap:28px}
  .kp-feat+.kp-feat{margin-top:72px}
  .kp-feat--rev .kp-feat__media{order:0}
  .kp-feat__media{min-height:440px}
  .kp-feat__media::before{width:300px;height:300px}
  .kp-pslot{width:210px;height:430px;border-radius:32px}
  .kp-pslot__in{border-radius:25px}
  .kp-feat__title{font-size:22px}
  .kp-diag{padding:36px 24px;border-radius:28px}
  .kp-diag__title{font-size:24px}
  .kp-types{gap:8px}
  .kp-type strong{font-size:18px}
  .kp-diag .kp-btn{width:100%}
  .kp-steps{grid-template-columns:minmax(0,1fr);gap:16px}
  .kp-nums{grid-template-columns:minmax(0,1fr);gap:14px}
  .kp-no1{margin:18px auto 32px}
  .kp-no1__laurel{width:54px;height:116px}
  .kp-no1__c{min-width:132px}
  .kp-no1__k{font-size:18px}
  .kp-no1__n{font-size:52px}
  .kp-num__v{font-size:46px}
  .kp-price{grid-template-columns:minmax(0,1fr);gap:28px}
  .kp-plan{padding:30px 22px 26px}
  .kp-safe{grid-template-columns:minmax(0,1fr);gap:12px}
  .kp-faq summary{padding:16px 44px 16px 58px;font-size:15px}
  .kp-faq summary::before{left:14px;top:13px;width:30px;height:30px}
  .kp-faq summary::after{right:18px;top:16px}
  .kp-faq__a{padding:0 18px 18px 58px}
  .kp-news a{flex-direction:column;align-items:flex-start;gap:2px;padding:14px 20px}
  .kp-cta{padding:110px 0 80px}
  .kp-cta__wave{height:56px}
  .kp-cta__title{font-size:26px}
  .kp-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .kp-footer__grid--5{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kp-footer__grid--5 .kp-footer__brand{grid-column:1/-1}
  .kp-footer__brand{grid-column:1/-1}
  .kp-footer__seo{justify-content:flex-start;text-align:left}
  .kp-footer__seo a{margin-bottom:8px}
}

/* =========================================================
   Hero v2 — キャッチは画像（top4.png）に含まれる前提
   ========================================================= */
.kp-hero2{position:relative;background:var(--sky);color:#fff;padding:120px 0 150px;overflow:hidden}
.kp-hero2__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 420px minmax(0,1fr);gap:48px;align-items:center}
.kp-hero2__left{display:flex;justify-content:flex-end}
.kp-hero2__main{text-align:center}
.kp-hero2__img{width:420px;height:560px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:32px;border-radius:28px;border:2px dashed rgba(255,255,255,.9);background:rgba(255,255,255,.2);box-shadow:0 24px 60px rgba(20,60,90,.22);font-size:12px;font-weight:700;line-height:1.8}
.kp-hero2__img strong{font-family:var(--round);font-weight:800;font-size:17px}
.kp-hero2__img em{display:block;margin:10px 0;font-style:normal;font-family:var(--round);font-weight:800;font-size:24px;line-height:1.5;opacity:.85}
.kp-hero2__cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.kp-hero2__badges{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px}
.kp-hero2__note{margin-top:12px;font-size:12px}
.kp-phone--static{position:relative;right:auto;top:auto;width:270px;height:560px;transform:rotate(-6deg)}
.kp-hero2__right{display:grid;gap:18px;justify-items:start}
.kp-float--static{position:relative;left:auto;right:auto;top:auto;bottom:auto}
.kp-hero2__right>*:nth-child(1){transform:rotate(2deg)}
.kp-hero2__right>*:nth-child(2){margin-left:44px;transform:rotate(-2deg)}
.kp-hero2__right>*:nth-child(3){margin-left:8px;transform:rotate(1deg)}
.kp-mini{display:flex;align-items:center;gap:12px;width:290px;padding:12px 14px 12px 12px;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 14px 32px rgba(20,50,80,.2)}
.kp-mini__photo{width:58px;height:58px;border-radius:16px;flex:none;padding:0}
.kp-mini__body{flex:1;min-width:0}
.kp-mini__name{font-weight:700;font-size:14px;line-height:1.4}
.kp-mini__name small{margin-left:6px;font-weight:400;font-size:11px;color:var(--muted)}
.kp-mini .kp-tags{margin-top:4px}
.kp-mini__like{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;flex:none}
.kp-mini__like .kp-heart{width:18px;height:18px}
.kp-intro{padding:40px 0 0;text-align:center}
.kp-h1{font-family:var(--round);font-weight:800;font-size:38px;line-height:1.45;letter-spacing:.02em}
@media (max-width:1180px){
  .kp-hero2__grid{grid-template-columns:minmax(0,1fr) 360px minmax(0,1fr);gap:24px}
  .kp-hero2__img{width:360px;height:480px}
  .kp-phone--static{width:230px;height:480px}
  .kp-mini{width:250px}
}
@media (max-width:1024px){
  .kp-hero2__grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .kp-hero2__left{display:none}
  .kp-hero2__right{justify-items:center}
  .kp-hero2__right>*:nth-child(n){margin-left:0;transform:none}
}
@media (max-width:767px){
  .kp-footer__grid--5{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
  .kp-hero2{padding:84px 0 100px}
  .kp-hero2__img{width:100%;max-width:330px;height:440px;padding:20px;font-size:11px}
  .kp-hero2__img em{font-size:19px}
  .kp-hero2__cta .kp-btn{width:100%}
  .kp-hero2__right{gap:12px}
  .kp-hero2__right .kp-float--static{display:none}
  .kp-mini{width:100%;max-width:330px}
  .kp-h1{font-size:25px}
}

/* =========================================================
   Hero v3 — top4.png（キャッチ・人物・ロゴ・波を含む横長画像）を背景に敷く
   ========================================================= */
.kp-sr{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.kp-hero3{position:relative;aspect-ratio:2500/1150;min-height:620px;background:#82bdd2 url("../images/hero.png") center bottom/cover no-repeat;color:#fff}
.kp-hero3__layer{position:absolute;inset:0;max-width:1440px;margin:0 auto}
.kp-hero3__left{position:absolute;left:5%;top:53%;transform:translateY(-50%)}
.kp-hero3__right{position:absolute;right:4%;top:50%;transform:translateY(-50%);display:grid;gap:18px;justify-items:start}
.kp-hero3__right>*:nth-child(1){transform:rotate(2deg)}
.kp-hero3__right>*:nth-child(2){margin-left:44px;transform:rotate(-2deg)}
.kp-hero3__right>*:nth-child(3){margin-left:8px;transform:rotate(1deg)}
.kp-hero3__main{position:absolute;left:50%;top:75.5%;transform:translateX(-50%);width:max-content;max-width:92%;text-align:center}
.kp-hero3__main .kp-hero2__cta{margin-top:0}
.kp-hero3__main .kp-hero2__badges{margin-top:14px}
.kp-hero3__main .kp-hero2__note{margin-top:8px;text-shadow:0 1px 6px rgba(30,70,100,.35)}
.kp-hero3 .kp-phone--static{width:250px;height:520px}
.kp-hero3 + .kp-media{padding-top:28px}
@media (max-width:1280px){
  .kp-hero3__left{left:2%}
  .kp-hero3__right{right:2%}
  .kp-hero3 .kp-phone--static{width:210px;height:440px}
  .kp-hero3 .kp-mini{width:240px}
}
@media (max-width:1100px){
  .kp-hero3__left,.kp-hero3__right{display:none}
}
@media (max-width:767px){
  .kp-hero3{aspect-ratio:auto;height:560px;min-height:0;background-size:auto 100%}
  .kp-hero3__main{top:76.5%;width:calc(100% - 40px)}
  .kp-hero3__main .kp-btn{width:100%}
  .kp-hero3__main .kp-btn--line-w,.kp-hero3__main .kp-hero2__badges,.kp-hero3__main .kp-hero2__note{display:none}
}

/* ---------- fixes ---------- */
/* aspect-ratio + min-height が横幅を押し広げるのを防ぐ */
.kp{overflow-x:clip}
.kp-hero3{width:100%;min-width:0;aspect-ratio:auto;height:max(620px,46vw);max-height:800px;overflow:hidden;background-position:center bottom}
/* リンク色の上書き（.kp a{color:inherit} より強く） */
.kp a.kp-logo{color:#fff}
.kp a.kp-logo--grad{color:transparent}
.kp .kp-nav a,.kp a.kp-header__login{color:#fff}
.kp a.kp-btn--white{color:var(--purple)}
.kp a.kp-btn--grad{color:#fff}
.kp a.kp-btn--line-w{color:#fff}
.kp a.kp-btn--line{color:var(--purple)}
@media (max-width:767px){
  .kp-hero3{height:560px;max-height:none;background-size:auto 100%}
}

/* ---------- header: 4項目に絞った版 ---------- */
.kp-nav{gap:28px;min-width:0;flex-wrap:nowrap}
.kp-header__in{gap:28px}
@media (max-width:1180px){.kp-nav{gap:22px}.kp-nav a{font-size:14px}}
@media (max-width:900px){
  .kp-nav,.kp-header__login{display:none}
  .kp-menu{display:inline-flex}
  .kp-header__actions{margin-left:auto}
}
@media (min-width:901px) and (max-width:1024px){
  .kp-nav{display:flex}
  .kp-header__login{display:inline}
  .kp-menu{display:none}
  .kp-header__actions{margin-left:0}
}

/* ---------- header: 5項目（Kinkyerについて／性癖診断／BDSM Zine／Spot Guide／料金プラン） ---------- */
@media (max-width:1000px){
  .kp-nav,.kp-header__login{display:none}
  .kp-menu{display:inline-flex}
  .kp-header__actions{margin-left:auto}
}

/* ---------- hero CTA: 画像の下に余白をとって配置 ---------- */
.kp-hero-cta{padding:16px 0 48px;text-align:center}
.kp-hero-cta .kp-hero2__cta{margin-top:0}
.kp-hero-cta .kp-pill{background:var(--purple-t)}
.kp-hero-cta .kp-hero2__note{color:var(--muted)}
.kp-hero-cta + .kp-media{padding-top:0}
@media (max-width:767px){
  .kp-hero-cta{padding:8px 0 36px}
  .kp-hero-cta .kp-btn{width:100%}
}

/* ---------- hero sides: 中央基準で固定し、狭い画面では左右を見切らせる ---------- */
.kp-hero3__left{left:auto;right:calc(50% + 320px)}
.kp-hero3__right{right:auto;left:calc(50% + 320px)}
.kp-hero3 .kp-phone--static{width:250px;height:520px}
.kp-hero3 .kp-mini{width:290px}
@media (max-width:1280px){
  .kp-hero3__left{left:auto;right:calc(50% + 320px)}
  .kp-hero3__right{right:auto;left:calc(50% + 320px)}
  .kp-hero3 .kp-phone--static{width:250px;height:520px}
  .kp-hero3 .kp-mini{width:290px}
}
@media (max-width:1100px){
  .kp-hero3__left{display:block}
  .kp-hero3__right{display:grid}
}
@media (max-width:767px){
  .kp-hero3__left{right:calc(50% + 150px);transform:translateY(-50%) scale(.6);transform-origin:right center}
  .kp-hero3__right{left:calc(50% + 150px);transform:translateY(-50%) scale(.6);transform-origin:left center}
}

/* ---------- hero: 高さ固定（画像の人物・ロゴの大きさを画面幅で変えない） ---------- */
.kp-hero3{height:660px;max-height:none;background-size:cover;background-position:center bottom}
@media (max-width:767px){
  .kp-hero3{height:560px;background-size:auto 100%}
}

/* ---------- hero sides: 画像と同じ比率で縮尺を揃える ----------
   PC（高さ660px）を基準 1.0、SP（高さ560px）は 560/660 ≒ 0.85 倍 */
.kp-hero3{--hs:1}
.kp-hero3__left{right:calc(50% + 300px * var(--hs));transform:translateY(-50%) scale(calc(.76 * var(--hs)));transform-origin:right center}
.kp-hero3__right{left:calc(50% + 300px * var(--hs));transform:translateY(-50%) scale(calc(.92 * var(--hs)));transform-origin:left center}
@media (max-width:1280px){
  .kp-hero3__left{right:calc(50% + 300px * var(--hs));transform:translateY(-50%) scale(calc(.76 * var(--hs)))}
  .kp-hero3__right{left:calc(50% + 300px * var(--hs));transform:translateY(-50%) scale(calc(.92 * var(--hs)))}
}
@media (max-width:767px){
  .kp-hero3{--hs:.85}
  .kp-hero3__left{right:calc(50% + 300px * var(--hs));transform:translateY(-50%) scale(calc(.76 * var(--hs)));transform-origin:right center}
  .kp-hero3__right{left:calc(50% + 300px * var(--hs));transform:translateY(-50%) scale(calc(.92 * var(--hs)));transform-origin:left center}
}

/* ---------- hero: 広い画面では画像の比率どおりに高さも伸ばし、上部（ヘッダーとの余白）が切れないようにする ---------- */
.kp-hero3{height:max(660px, 46vw);max-height:880px}
@media (max-width:767px){
  .kp-hero3{height:560px;max-height:none}
}

/* ---------- hero CTA: 画像の上に戻す（ロゴ下端≒76%〜波の手前≒96%の帯に収める） ---------- */
.kp-hero3__main{top:77.5%}
.kp-hero3__main .kp-hero2__cta{gap:10px}
.kp-hero3__main .kp-btn--lg{min-height:50px;padding:0 34px;font-size:15px}
.kp-hero3__main .kp-hero2__badges{margin-top:10px;gap:6px}
.kp-hero3__main .kp-pill{padding:4px 12px;font-size:12px}
.kp-hero3__main .kp-pill .kp-ico{width:14px;height:14px}
.kp-hero3__main .kp-hero2__note{margin-top:6px;font-size:11px}
/* 画像下のCTAブロックはSPのみで使う */
@media (min-width:768px){
  .kp-hero-cta{display:none}
}
@media (max-width:767px){
  .kp-hero3__main{top:78%}
  .kp-hero-cta{padding:16px 0 32px}
  .kp-hero-cta .kp-btn--grad{display:none}
}

/* ---------- hero CTA: ボタン上の余白を広げる ---------- */
.kp-hero3__main{top:79.5%}
@media (max-width:767px){
  .kp-hero3__main{top:80.5%}
  .kp-hero-cta{padding-top:32px}
}

/* ---------- SP: 「今すぐはじめる」も画像の下へ ---------- */
@media (max-width:767px){
  .kp-hero3__main{display:none}
  .kp-hero-cta{padding:28px 0 32px}
  .kp-hero-cta .kp-btn--grad{display:inline-flex}
  .kp-hero-cta .kp-hero2__cta{flex-direction:column;gap:12px}
}

/* ---------- media strip: 上の余白 ---------- */
.kp-hero-cta + .kp-media,.kp-media{padding-top:56px;padding-bottom:32px}
@media (max-width:767px){
  .kp-hero-cta + .kp-media{padding-top:16px;padding-bottom:24px}
}

/* ---------- articles（WordPress投稿カード） ---------- */
.kp-arts-carousel{position:relative}
.kp-arts__controls{display:flex;gap:8px;justify-content:flex-end;margin:-4px 0 12px}
.kp-arts__button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:50%;color:var(--purple);cursor:pointer;display:inline-flex;font-size:24px;height:36px;justify-content:center;line-height:1;padding:0;width:36px}
.kp-arts__button:hover{background:var(--purple);color:#fff}
.kp-arts{display:flex;gap:24px;margin:0 -4px;padding:4px 4px 14px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.kp-arts::-webkit-scrollbar{display:none}
.kp-arts li{flex:0 0 360px;scroll-snap-align:start}
.kp-arts__dots{align-items:center;display:flex;gap:8px;justify-content:center;margin:8px auto 0;min-height:20px;padding:2px 0;visibility:visible;opacity:1}
.kp-arts__dots button{appearance:none;background:#c9cfdd;border:1px solid rgba(56,68,102,.2);border-radius:999px;cursor:pointer;display:block;flex:0 0 auto;height:9px;margin:0;opacity:1;padding:0;transition:background .2s,width .2s,transform .2s;width:9px}
.kp-arts__dots button:hover{background:#7a4aa8;transform:scale(1.15)}
.kp-arts__dots button.is-active{background:linear-gradient(90deg,#2d70bf,#e21b8c);border-color:transparent;width:26px}
.kp .kp-art{display:block;height:100%;border-radius:20px;background:#fff;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 10px 28px rgba(40,60,100,.09)}
.kp-art:hover .kp-art__title{color:var(--purple);text-decoration:underline}
.kp-art__thumb{aspect-ratio:1200/630;overflow:hidden;padding:0}
.kp-art__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.kp-art__body{padding:16px 18px 20px}
.kp-art__meta{display:flex;align-items:center;gap:10px}
.kp-art__cat{display:inline-flex;align-items:center;min-height:22px;padding:0 10px;border-radius:999px;background:var(--purple-t);color:var(--purple);font-size:11px;font-weight:700}
.kp-art__date{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.kp-art__title{margin-top:10px;font-weight:700;font-size:15px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- 女性が安心して使える機能 ---------- */
.kp-flt__row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kp-flt__row b{display:block;font-size:10px;font-weight:700;color:#1f2633}
.kp-flt__row small{display:block;margin-top:2px;font-size:8.5px;line-height:1.5;color:#6b7a90}
.kp-flt__range{display:flex;align-items:center;gap:8px;font-size:9.5px;font-weight:700;color:#2a3342}
.kp-flt__bar{position:relative;flex:1;height:5px;border-radius:3px;background:#e3e8ef}
.kp-flt__bar b{position:absolute;top:0;bottom:0;border-radius:3px;background:#55a6e0}
.kw-answer{position:relative;max-width:960px;margin:0 auto 40px;padding:26px 30px 24px;border-radius:24px;background:#fff;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;box-shadow:0 12px 30px rgba(120,75,160,.1)}
.kw-answer__l{position:absolute;top:-14px;left:28px;display:inline-flex;align-items:center;height:28px;padding:0 14px;border-radius:999px;background:var(--grad);color:#fff;font-size:12px;font-weight:700}
.kw-answer p{font-size:15px;line-height:2;color:var(--sub)}
.kw-answer strong{display:block;margin-bottom:4px;font-family:var(--round);font-weight:800;font-size:18px;line-height:1.6;color:var(--ink)}
.kw-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.kw-group{padding:24px 22px;border-radius:26px;background:#fff;box-shadow:0 10px 28px rgba(200,60,140,.08)}
.kw-group__h{display:flex;flex-direction:column;gap:2px;margin:0 0 14px;font-family:var(--round);font-weight:800;font-size:19px}
.kw-group__h span{font-size:11px;letter-spacing:.2em;color:#d9348f}
.kw-items{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.kw-item{display:flex;gap:14px;padding:14px 0}
.kw-item+.kw-item{border-top:1px solid var(--line)}
.kw-item__ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff0f8;color:#d9348f;font-weight:800}
.kw-item__h{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.kw-item h4{margin:0;font-weight:700;font-size:15px;line-height:1.5}
.kw-item p{margin:4px 0 0;font-size:13px;line-height:1.8;color:var(--sub)}
.kw-bd{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;font-size:10.5px;font-weight:700;white-space:nowrap}
.kw-bd--all{background:#e8f4fa;color:#2b86c5}.kw-bd--w{background:#ffe3f2;color:#c42b80}.kw-bd--plus{background:#f0e8fb;color:#784ba0}
.kw-legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;margin-top:20px;font-size:12px;color:var(--muted)}
.kw-ops{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;max-width:1080px;margin:32px auto 0;padding:20px 26px;border-radius:22px;background:rgba(255,255,255,.7)}
.kw-ops__t{font-family:var(--round);font-weight:800;font-size:15px}.kw-ops ul{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;flex:1}.kw-ops li{font-size:13px;font-weight:700;color:var(--sub)}
@media (max-width:1024px){.kw-groups{grid-template-columns:minmax(0,1fr);max-width:640px;margin:0 auto}}
@media (max-width:680px){.kw-answer{padding:24px 18px 18px;margin-bottom:28px}.kw-answer__l{left:16px}.kw-answer strong{font-size:16px}.kw-answer p{font-size:13.5px}.kw-group{padding:20px 16px;border-radius:20px}.kw-group__h{font-size:17px}.kw-item h4{font-size:14px}.kw-legend{justify-content:flex-start}.kw-ops{flex-direction:column;align-items:flex-start;padding:18px}.kw-ops ul{flex-direction:column}.kw-ops .kp-btn{width:100%}}
@media (max-width:1024px){
  .kp-arts li{flex-basis:340px}
}
@media (max-width:767px){
  .kp-arts{gap:12px;margin:0 -20px;padding:4px 20px 12px}
  .kp-arts li{flex:0 0 82%;scroll-snap-align:start}
  .kp-art__title{font-size:14px}
}

/* ---------- section spacing: メディア帯と次セクションのバランス ---------- */
.kp-hero-cta + .kp-media,.kp-media{padding:56px 0 0}
.kp-media .kp-wrap{padding-bottom:56px;border-bottom:1px solid var(--line)}
.kp-media + .kp-sec{padding-top:88px}
.kp .kp-lead{margin:20px auto 0}
@media (max-width:767px){
  .kp-hero-cta + .kp-media{padding-top:16px}
  .kp-media .kp-wrap{padding-bottom:36px}
  .kp-media + .kp-sec{padding-top:56px}
}

/* ---------- illustrations（インラインSVG） ---------- */
.kp-illu{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px;background:var(--sky-t)}
.kp-illu svg{display:block;width:100%;height:100%}
.kp-illu--pink{background:var(--pink-t)}
.kp-illu--purple{background:var(--purple-t)}
.kp-cando .kp-illu{aspect-ratio:4/3}
.kp-steps .kp-illu{aspect-ratio:16/10;margin-top:20px}
.kp-illu--diag{aspect-ratio:1/1;padding:24px;border-radius:28px;background:rgba(255,255,255,.16)}
@media (max-width:1024px){.kp-diag .kp-illu--diag{display:none}}

/* ---------- character PNGs ---------- */
.kp-illu--chr{position:relative;align-items:flex-end;justify-content:center}
.kp-illu--chr .kp-illu__obj{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.kp-illu--chr .kp-chr{position:relative;z-index:1;display:block;height:90%;width:auto;max-width:none}
.kp-chr-pair{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:16%;height:90%}
.kp-chr-pair img{display:block;height:100%;width:auto}
.kp-chr-pair--bust{gap:2%;height:84%}
.kp-steps .kp-illu--chr .kp-chr{height:96%}
.kp-illu--left{justify-content:flex-start;padding-left:9%}
/* 会員アバター */
.kp-ph .kp-mem__img{position:absolute;left:50%;bottom:0;width:92%;height:auto;transform:translateX(-50%)}
.kp-mini__photo{position:relative;overflow:hidden}
.kp-mini__photo .kp-mem__img{width:110%}
.kp-ucard__photo .kp-mem__img{width:auto;height:96%}

/* grad button: paint gradient under the transparent border (no seam) */
.kp .kp-btn--grad{border-color:transparent;background-image:var(--grad);background-origin:border-box;background-clip:border-box;background-repeat:no-repeat;background-size:100% 100%}

/* ===== App screen mocks (feature section) ===== */
.kp-pslot{overflow:hidden}
.kp-app{position:relative;width:232px;height:492px;overflow:hidden;border-radius:30px;background:#eef1f6;font-family:var(--sans);color:#1f2633;text-align:left;transform-origin:0 0;line-height:1.5}
.kp-app *{box-sizing:border-box}
.kp-app__status{display:flex;justify-content:space-between;align-items:center;height:30px;padding:0 20px 0 24px;font-size:10px;font-weight:700;color:#1f2633;background:#fff}
.kp-app__status i{display:inline-block;width:18px;height:8px;border:1.5px solid #1f2633;border-radius:3px;position:relative}
.kp-app__status i::after{content:"";position:absolute;inset:1px;right:4px;background:#1f2633;border-radius:1px}
.kp-app__head{display:flex;gap:10px;align-items:center;padding:8px 12px 12px;background:linear-gradient(#fff,#f6f8fb);border-bottom:1px solid #e6ebf2}
.kp-app__av{flex:none;width:52px;height:52px;border-radius:50%;border:3px solid #fff;box-shadow:0 3px 10px rgba(40,60,100,.18);background:#dbeafb;overflow:hidden}
.kp-app__av img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.kp-app__name{font-size:13px;font-weight:700;line-height:1.35}
.kp-app__meta{font-size:9.5px;color:#6b7a90;margin-top:2px}
.kp-app__x{margin-left:auto;align-self:flex-start;flex:none;width:24px;height:24px;border-radius:50%;background:#eef1f6;position:relative}
.kp-app__x::before,.kp-app__x::after{content:"";position:absolute;left:7px;top:11px;width:10px;height:1.6px;background:#1f2633;transform:rotate(45deg)}
.kp-app__x::after{transform:rotate(-45deg)}
.kp-app__body{padding:10px 10px 70px;display:flex;flex-direction:column;gap:8px}
.kp-app__card{padding:10px 11px;border-radius:12px;background:#fff;border:1px solid #e6ebf2}
.kp-app__card--hl{background:linear-gradient(#eef5fd,#fff);border-color:#d6e6f7}
.kp-app__lb{font-size:9.5px;font-weight:700;color:#6b7a90;margin-bottom:6px}
.kp-app__tx{font-size:10px;line-height:1.65;color:#2a3342}
.kp-app__tags{display:flex;flex-wrap:wrap;gap:4px}
.kp-app__tg{display:inline-flex;align-items:center;height:20px;padding:0 9px;border-radius:999px;font-size:9px;font-weight:500;background:#f4f7fa;border:1px solid #dfe6ee;color:#2a3342}
.kp-app__tg--s{background:#55a6e0;border-color:#55a6e0;color:#fff;font-weight:700}
.kp-app__tg--p{background:#f3eafc;border-color:#dcc8f3;color:#6a3aa0}
.kp-app__foot{position:absolute;left:0;right:0;bottom:0;padding:10px 12px 16px;background:#fff;border-top:1px solid #e6ebf2}
.kp-app__btn{display:flex;align-items:center;justify-content:center;height:34px;border-radius:999px;background:#55a6e0;color:#fff;font-size:11px;font-weight:700}
.kp-app__row{display:grid;grid-template-columns:38px 1fr 24px;align-items:center;gap:6px;font-size:9px;color:#2a3342;margin-top:5px}
.kp-app__bar{height:5px;border-radius:3px;background:#eef1f6;position:relative;overflow:hidden}
.kp-app__bar b{position:absolute;inset:0 auto 0 0;border-radius:3px;background:#55a6e0}
.kp-app__row span:last-child{text-align:right;color:#6b7a90}
.kp-app__fe+.kp-app__fe{margin-top:8px}
.kp-app__fe strong{display:block;font-size:10px}
.kp-app__fe small{display:block;font-size:8.5px;color:#6b7a90;margin:1px 0 4px}
.kp-app__seg{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.kp-app__seg i{height:6px;border-radius:3px;background:#dde3ea}
.kp-app__seg i.on{background:#55a6e0}
/* sheet */
.kp-app__dim{position:absolute;inset:0;background:rgba(20,28,45,.42)}
.kp-app__sheet{position:absolute;left:0;right:0;bottom:0;padding:14px 12px 16px;border-radius:18px 18px 0 0;background:#fff}
.kp-app__grab{width:34px;height:4px;border-radius:2px;background:#dde3ea;margin:0 auto 10px}
.kp-app__st{font-size:12px;font-weight:700;text-align:center}
.kp-app__sub{font-size:9px;color:#6b7a90;text-align:center;margin-top:2px}
.kp-app__area{margin-top:10px;padding:9px 10px;border-radius:10px;border:1.5px solid #55a6e0;background:#f7fbfe;font-size:10px;line-height:1.7;min-height:82px}
.kp-app__area em{font-style:normal;display:inline-block;width:1px;height:11px;background:#55a6e0;vertical-align:-1px;margin-left:1px}
.kp-app__cnt{text-align:right;font-size:8.5px;color:#6b7a90;margin:4px 0 10px}
/* timeline */
.kp-app__top{display:flex;align-items:center;justify-content:center;height:34px;background:#fff;font-family:var(--round);font-weight:800;font-size:15px;color:#55a6e0;letter-spacing:.02em}
.kp-app__tabs{display:flex;background:#fff;border-bottom:1px solid #e6ebf2}
.kp-app__tabs span{flex:1;text-align:center;font-size:10px;font-weight:700;color:#9aa6b6;padding:6px 0 7px}
.kp-app__tabs span.on{color:#1f2633;box-shadow:inset 0 -2px 0 #55a6e0}
.kp-app__post{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:10px 11px;border-radius:12px;background:#fff;border:1px solid #e6ebf2}
.kp-app__post .kp-app__av{width:30px;height:30px;border-width:2px;box-shadow:none}
.kp-app__pn{font-size:10px;font-weight:700}
.kp-app__pn span{font-weight:400;color:#9aa6b6;margin-left:4px;font-size:8.5px}
.kp-app__pt{font-size:9.5px;line-height:1.65;margin-top:2px;color:#2a3342}
.kp-app__pt b{color:#3a8fd0;font-weight:500}
.kp-app__re{display:flex;gap:6px;margin-top:6px}
.kp-app__re span{display:inline-flex;align-items:center;gap:3px;height:18px;padding:0 7px;border-radius:999px;background:#f4f7fa;border:1px solid #e6ebf2;font-size:8.5px;color:#4a5566}
.kp-app__re span.on{background:#ffeef7;border-color:#ffc6e3;color:#d9348f}
.kp-app__fab{position:absolute;right:14px;bottom:18px;width:40px;height:40px;border-radius:50%;background:#55a6e0;box-shadow:0 6px 14px rgba(60,140,210,.4)}
.kp-app__fab::before,.kp-app__fab::after{content:"";position:absolute;left:13px;top:19px;width:14px;height:2px;border-radius:1px;background:#fff}
.kp-app__fab::after{transform:rotate(90deg)}
@media (max-width:767px){
  .kp-app{transform:scale(.8276)}
}

/* BDSM16 mascot grid */
.kp-m16{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:18px;list-style:none;border-radius:28px;background:rgba(255,255,255,.16)}
.kp-m16 li{aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#2a0a0e;box-shadow:0 6px 14px rgba(40,10,30,.28)}
.kp-m16 img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:1024px){.kp-m16{max-width:520px;width:100%;margin:0 auto}}
@media (max-width:767px){.kp-m16{gap:6px;padding:10px;border-radius:20px}.kp-m16 li{border-radius:10px}}

/* ===== Price v2: Free / Lite / Plus + tickets ===== */
.kp-common{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:1080px;margin:0 auto 36px;padding:16px 20px;border-radius:999px;background:rgba(255,255,255,.7)}
.kp-common strong{font-family:var(--round);font-weight:800;font-size:14px;color:var(--purple);margin-right:6px}
.kp-common span{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--ink)}
.kp-price--3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1080px;align-items:stretch}
.kp-price--3 .kp-plan{padding:34px 28px 30px}
.kp-price--3 .kp-plan__price{font-size:40px}
.kp-plan--lite{border-color:#bfe0ec}
.kp-plan--lite .kp-plan__name{color:#2b86c5}
.kp-plan--plus{box-shadow:0 18px 40px rgba(120,75,160,.18)}
.kp-plan li.is-off{color:#a3a3ae}
.kp-plan li.is-off small{color:#c0c0c8}
.kp-price--3 + .kp-price-note{max-width:1080px}
.kp-ticket{max-width:1080px;margin:64px auto 0;padding:44px 48px;border-radius:32px;background:#fff;box-shadow:0 12px 34px rgba(40,60,100,.08)}
.kp-ticket__head{text-align:center}
.kp-ticket__title{margin-top:6px;font-family:var(--round);font-weight:800;font-size:26px}
.kp-ticket__head p{margin-top:10px;font-size:14px;color:var(--sub)}
.kp-ticket__types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.kp-ticket__type{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-radius:20px;background:#f7f3fc}
.kp-ticket__type:nth-child(2){background:#eef6fa}
.kp .kp-ticket__type h4{margin:0;padding-top:10px;font-family:var(--round);font-weight:800;font-size:16px;line-height:1.5}
.kp .kp-ticket__type p{margin:6px 0 0;font-size:13px;line-height:1.8;color:var(--sub)}
.kp-ticket__ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--grad);color:#fff;font-size:20px;line-height:1}
.kp-ticket__ic--msg{background:#2b86c5}
.kp-pack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0 0;padding:0;list-style:none}
.kp-pack li{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:22px 12px 18px;border:2px solid var(--line);border-radius:20px;text-align:center}
.kp-pack li.is-best{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.kp-pack em{position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:3px 12px;border-radius:999px;background:var(--grad);color:#fff;font-style:normal;font-size:11px;font-weight:700;white-space:nowrap}
.kp-pack__n{font-family:var(--round);font-weight:800;font-size:15px;color:var(--purple)}
.kp-pack__p{font-family:var(--round);font-weight:800;font-size:28px;line-height:1.3}
.kp-pack__u{font-size:12px;color:var(--muted)}
.kp-ticket__note{margin-top:16px;text-align:center;font-size:12.5px;color:var(--muted)}
@media (max-width:1024px){
  .kp-price--3{grid-template-columns:minmax(0,1fr);max-width:560px}
  .kp-common{border-radius:24px}
}
@media (max-width:767px){
  .kp-common{padding:14px;gap:6px;margin-bottom:28px}
  .kp-common strong{width:100%;text-align:center;margin:0 0 2px}
  .kp-common span{font-size:11.5px;height:28px;padding:0 10px}
  .kp-ticket{margin-top:44px;padding:30px 18px;border-radius:24px}
  .kp-ticket__title{font-size:21px}
  .kp-ticket__types{grid-template-columns:minmax(0,1fr)}
  .kp-pack{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
  .kp-pack__p{font-size:24px}
}

/* ===== Mobile menu (checkbox toggle) ===== */
.kp-nav-cb{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.kp-menu{position:relative}
.kp-menu__close{display:none}
.kp-nav-cb:checked ~ .kp-header__in .kp-menu{background:#fff;color:var(--purple)}
.kp-nav-cb:checked ~ .kp-header__in .kp-menu__open{display:none}
.kp-nav-cb:checked ~ .kp-header__in .kp-menu__close{display:block}
.kp-drawer{display:none;position:absolute;top:72px;right:16px;z-index:20;width:min(320px,calc(100% - 32px));padding:10px 18px 20px;border-radius:24px;background:#fff;box-shadow:0 24px 50px rgba(20,40,70,.25)}
.kp-nav-cb:checked ~ .kp-drawer{display:block}
.kp-drawer__nav{display:flex;flex-direction:column}
.kp .kp-drawer__nav a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);font-family:var(--round);font-weight:800;font-size:15px;color:var(--ink);text-decoration:none}
.kp .kp-drawer__nav a::after{content:"";width:7px;height:7px;border-top:2px solid var(--purple);border-right:2px solid var(--purple);transform:rotate(45deg)}
.kp-drawer__cta{display:grid;gap:10px;margin-top:18px}
.kp-drawer__cta .kp-btn{width:100%;min-height:46px}
@media (max-width:767px){.kp-drawer{top:60px;right:12px;width:calc(100% - 24px)}}

/* Header dropdown: diagnosis links */
.kp-dd{position:relative;display:flex;align-items:center}
.kp .kp-nav .kp-dd__btn{display:inline-flex;align-items:center;gap:4px}
.kp-dd__caret{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.kp-dd__menu{position:absolute;top:100%;left:50%;z-index:30;min-width:220px;margin:12px 0 0;padding:8px;list-style:none;border-radius:18px;background:#fff;box-shadow:0 18px 40px rgba(20,40,70,.22);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .15s,transform .15s,visibility .15s}
.kp-dd::after{content:"";position:absolute;top:100%;left:0;right:0;height:14px}
.kp-dd:hover .kp-dd__menu,.kp-dd:focus-within .kp-dd__menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.kp-dd:hover .kp-dd__caret,.kp-dd:focus-within .kp-dd__caret{transform:rotate(180deg)}
.kp .kp-nav .kp-dd__menu a{display:block;padding:11px 14px;border-radius:12px;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}
.kp .kp-nav .kp-dd__menu a:hover{background:#f3eefa;color:var(--purple);text-decoration:none}
.kp-drawer__group{display:flex;flex-direction:column;padding:12px 4px 6px;border-bottom:1px solid var(--line)}
.kp-drawer__gl{font-family:var(--round);font-weight:800;font-size:15px;color:var(--ink);padding-bottom:4px}
.kp .kp-drawer__nav .kp-drawer__group a{padding:9px 4px 9px 14px;border-bottom:0;font-family:var(--sans);font-weight:700;font-size:13.5px;color:var(--sub)}

/* Back-to-top control */
.kp-to-top{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid rgba(120,75,160,.35);border-radius:50%;background:#fff;color:var(--purple);box-shadow:0 8px 22px rgba(20,40,70,.18);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,visibility .2s,transform .2s}
.kp-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.kp-to-top:hover{background:var(--purple);color:#fff}
.kp-to-top .kp-ico{width:20px;height:20px}
@media (max-width:767px){.kp-to-top{right:16px;bottom:16px;width:42px;height:42px}}
@media (prefers-reduced-motion:reduce){.kp-to-top{transition:none}}
.kz{--c-safe:#2b86c5;--c-app:#784ba0;--c-diag:#e8338f;--c-int:#f08a1c;--c-spot:#16a093;--c-guide:#3b6fd6;--c-match:#b0479e}
.kz-sec{padding:88px 0}
.kz-sec--tight{padding:32px 0}
.kz-sec--soft{background:#f6f8fb}
.kz-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.kz-head--c{justify-content:center;text-align:center}
.kz-h2{margin-top:4px;font-family:var(--round);font-weight:800;font-size:32px;line-height:1.4}
.kz-h3{margin-top:2px;font-family:var(--round);font-weight:800;font-size:22px}
.kp a.kz-more{flex:none;font-size:14px;font-weight:700;color:var(--purple);text-decoration:none}
.kp a.kz-more:hover{text-decoration:underline}
.kz-more--block{display:block;margin-top:18px;text-align:center}
.kz-label{font-family:var(--round);font-weight:800;font-size:13px;letter-spacing:.08em;color:#fff;margin-bottom:10px}
/* category */
.kz-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.kz-cat{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;background:var(--c-guide);white-space:nowrap}
.kz-cat--safe{background:var(--c-safe)}.kz-cat--app{background:var(--c-app)}.kz-cat--diag{background:var(--c-diag)}.kz-cat--int{background:var(--c-int)}.kz-cat--spot{background:var(--c-spot)}.kz-cat--guide{background:var(--c-guide)}.kz-cat--match{background:var(--c-match)}
.kz-date{font-size:12px;color:var(--muted)}
/* thumb placeholder (WordPress eyecatch goes here) */
.kz-th{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1200/630;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,#d9ecf5,#f3eefa)}
.kz-th::before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;right:-12%;bottom:-30%;background:rgba(255,255,255,.45)}
.kz-th__t{position:relative;padding:0 14%;font-family:var(--round);font-weight:800;font-size:clamp(14px,1.5vw,20px);line-height:1.45;text-align:center;color:#1f2633}
.kz-th__brand{position:absolute;right:10px;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;font-family:var(--round);font-weight:800;font-size:9px;letter-spacing:.3em;color:rgba(31,38,51,.35)}
.kz-th--safe{background:linear-gradient(135deg,#d3eaf8,#eef7fd)}
.kz-th--app{background:linear-gradient(135deg,#e2d6f3,#f6effc)}
.kz-th--diag{background:linear-gradient(135deg,#ffd6ea,#fff1f8)}
.kz-th--int{background:linear-gradient(135deg,#ffe2c2,#fff5ea)}
.kz-th--spot{background:linear-gradient(135deg,#cdeee9,#effaf8)}
.kz-th--match{background:linear-gradient(135deg,#f3d3ec,#fbf0f8)}
.kz-th--guide{background:linear-gradient(135deg,#d6e2fb,#f1f5fe)}
.kz-th--lg .kz-th__t{font-size:clamp(18px,2vw,28px)}
/* cards */
.kp a.kz-card,.kp a.kz-mini,.kp a.kz-feature{display:block;color:var(--ink);text-decoration:none}
.kz-card__b{padding:14px 2px 0}
.kz-card__t{margin-top:8px;font-family:var(--round);font-weight:800;font-size:15px;line-height:1.6}
.kz-card:hover .kz-card__t,.kz-mini:hover .kz-card__t,.kz-feature:hover .kz-feature__t{color:var(--purple)}
.kz-card .kz-th,.kz-mini .kz-th,.kz-feature .kz-th{transition:transform .2s}
.kz-card:hover .kz-th,.kz-mini:hover .kz-th{transform:translateY(-3px)}
/* hero */
.kz-hero{position:relative;overflow:hidden;padding:136px 0 72px;background:linear-gradient(160deg,#86c0d4 0%,#9ccbe0 55%,#b9a6dd 100%);color:#fff}
.kz-hero__deco span{position:absolute;border-radius:50%;background:rgba(255,255,255,.14)}
.kz-hero__deco span:nth-child(1){width:520px;height:520px;left:-160px;top:-180px}
.kz-hero__deco span:nth-child(2){width:300px;height:300px;right:-80px;bottom:-120px;background:rgba(255,60,172,.16)}
.kz-hero__deco span:nth-child(3){width:140px;height:140px;left:44%;bottom:40px;background:rgba(255,255,255,.18)}
.kz-hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.kz-hero__by{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.22);font-size:12px;font-weight:700}
.kz-hero__title{margin-top:18px;font-family:var(--round);font-weight:800;font-size:76px;line-height:1.05;letter-spacing:.01em;text-shadow:0 4px 0 rgba(43,60,110,.12)}
.kz-hero__lead{margin-top:22px;max-width:28em;font-size:15px;line-height:2;color:rgba(255,255,255,.95)}
.kz-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.kp a.kz-chip{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 6px 16px rgba(30,60,100,.14)}
.kp a.kz-chip::before{content:"";width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--c-guide)}
.kz-chip--safe::before{background:var(--c-safe)!important}.kz-chip--app::before{background:var(--c-app)!important}.kz-chip--diag::before{background:var(--c-diag)!important}
.kp a.kz-chip:hover{color:var(--purple)}
.kz-feature{border-radius:24px;background:#fff;padding:12px;box-shadow:0 20px 44px rgba(30,50,100,.22)}
.kz-feature .kz-th{border-radius:16px}
.kz-feature__b{padding:14px 8px 6px}
.kz-feature__t{margin-top:8px;font-family:var(--round);font-weight:800;font-size:20px;line-height:1.5;color:var(--ink)}
.kz-sub2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.kz-mini{border-radius:18px;background:#fff;padding:10px;box-shadow:0 12px 28px rgba(30,50,100,.16)}
.kz-mini .kz-th{border-radius:12px}
.kz-mini .kz-th__t{font-size:13px}
.kz-mini .kz-card__b{padding:10px 4px 4px}
.kz-mini .kz-card__t{font-size:13px;line-height:1.55}
/* rail */
.kz-arrows{display:flex;gap:8px}
.kz-arrows span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--line);color:var(--sub)}
.kz-arrows span .kp-ico{width:17px;height:17px;stroke-width:2}
.kz-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.kz-rail>a{scroll-snap-align:start}
/* new + ranking */
.kz-two{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.kz-new{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.kz-card--lead{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:center;padding:16px;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(40,60,100,.08)}
.kz-card--lead .kz-card__t{font-size:22px;line-height:1.5}
.kz-card--lead .kz-th__t{font-size:24px}
.kz-rank{position:sticky;top:24px;padding:26px 22px;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(40,60,100,.08)}
.kz-rank ol{margin:14px 0 0;padding:0;list-style:none}
.kz-rank li+li{border-top:1px solid var(--line)}
.kp .kz-rank a{display:flex;gap:14px;padding:13px 2px;color:var(--ink);text-decoration:none}
.kz-rank__n{flex:none;width:30px;font-family:var(--round);font-weight:800;font-size:20px;line-height:1.2;color:#c3c7d2}
.kz-rank li:nth-child(-n+3) .kz-rank__n{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kz-rank__b{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.kz-rank__b .kz-cat{height:19px;font-size:10px;padding:0 8px}
.kz-rank__t{font-size:13.5px;font-weight:700;line-height:1.55}
.kp .kz-rank a:hover .kz-rank__t{color:var(--purple)}
/* themes */
.kz-themes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kp a.kz-theme{display:flex;flex-direction:column;align-items:flex-start;padding:28px 24px 24px;border-radius:24px;color:var(--ink);text-decoration:none;background:#eef4fd;transition:transform .2s}
.kp a.kz-theme:hover{transform:translateY(-4px)}
.kz-theme--safe{background:#e8f3fb!important}.kz-theme--app{background:#f3edfb!important}.kz-theme--diag{background:#ffeef6!important}
.kz-theme__ic{width:64px;height:64px}
.kz-theme h3{margin-top:14px;font-family:var(--round);font-weight:800;font-size:18px;line-height:1.45}
.kz-theme p{margin-top:8px;font-size:13px;line-height:1.8;color:var(--sub)}
.kz-theme__go{margin-top:auto;padding-top:16px;font-size:13px;font-weight:700;color:var(--purple)}
/* diagnosis band */
.kz-diag{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px 48px;padding:48px 56px;border-radius:32px;background:var(--grad);color:#fff;overflow:hidden}
.kz-diag .kp-en{color:rgba(255,255,255,.85)}
.kz-diag__t{margin-top:6px;font-family:var(--round);font-weight:800;font-size:30px;line-height:1.45}
.kz-diag__copy p{margin-top:14px;font-size:14px;line-height:1.9;color:rgba(255,255,255,.92)}
.kz-diag__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:center}
.kp a.kz-dg{display:flex;flex-direction:column;gap:2px;padding:18px 20px;border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 10px 24px rgba(60,20,90,.2)}
.kz-dg strong{font-family:var(--round);font-weight:800;font-size:16px;color:var(--purple)}
.kz-dg strong::after{content:" →"}
.kz-dg span{font-size:12px;color:var(--muted)}
.kz-diag__mas{grid-column:1/-1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-top:8px}
.kz-diag__mas img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:0 6px 14px rgba(40,10,30,.28)}
/* kinkyer cta */
.kz-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px 48px;border-radius:32px;background:#fff;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.kz-cta__by{font-size:12px;font-weight:700;color:var(--muted)}
.kz-cta__t{margin-top:4px;font-family:var(--round);font-weight:800;font-size:28px;line-height:1.45}
.kz-cta p{margin-top:8px;font-size:14px;color:var(--sub)}
.kz-cta__btns{display:flex;flex-direction:column;gap:12px;flex:none}
.kp-header__in .kp-nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 #fff}
/* responsive */
@media (max-width:1180px){
  .kz-hero__title{font-size:62px}
  .kz-two{grid-template-columns:minmax(0,1fr) 300px;gap:32px}
  .kz-themes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .kz-hero__in{grid-template-columns:minmax(0,1fr);gap:36px}
  .kz-rail{grid-auto-columns:calc((100% - 24px)/2.4)}
  .kz-two{grid-template-columns:minmax(0,1fr)}
  .kz-rank{position:static}
  .kz-diag{grid-template-columns:minmax(0,1fr)}
  .kz-cta{flex-direction:column;align-items:flex-start}
}
@media (max-width:767px){
  .kz-sec{padding:60px 0}
  .kz-sec--tight{padding:28px 0}
  .kz-h2{font-size:24px}
  .kz-head{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:20px}
  .kz-head--c{align-items:center}
  .kz-arrows{display:none}
  .kz-hero{padding:96px 0 48px}
  .kz-hero__title{font-size:46px}
  .kz-hero__lead{font-size:14px}
  .kp a.kz-chip{height:34px;font-size:12px;padding:0 12px}
  .kz-feature__t{font-size:17px}
  .kz-rail{grid-auto-columns:72%;gap:16px}
  .kz-new{grid-template-columns:minmax(0,1fr);gap:18px}
  .kz-card--lead{grid-template-columns:minmax(0,1fr);gap:4px;padding:12px}
  .kz-card--lead .kz-card__t{font-size:18px}
  .kz-card--row{display:grid!important;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center}
  .kz-card--row .kz-card__b{padding:0}
  .kz-card--row .kz-card__t{font-size:13.5px;margin-top:6px}
  .kz-card--row .kz-th__t{font-size:11px;padding:0 8%}
  .kz-card--row .kz-th__brand{display:none}
  .kz-themes{grid-template-columns:minmax(0,1fr);gap:12px}
  .kp a.kz-theme{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:14px;padding:18px}
  .kz-theme__ic{width:52px;height:52px;grid-row:1/4}
  .kz-theme h3{margin-top:0;font-size:16px}
  .kz-theme p{margin-top:4px}
  .kz-theme__go{padding-top:6px}
  .kz-diag{padding:32px 20px;border-radius:24px}
  .kz-diag__t{font-size:22px}
  .kz-diag__list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .kp a.kz-dg{padding:14px}
  .kz-dg strong{font-size:14px}
  .kz-diag__mas{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .kz-cta{padding:28px 20px;border-radius:24px}
  .kz-cta__t{font-size:22px}
  .kz-cta__btns{width:100%}
  .kz-cta__btns .kp-btn{width:100%}
}

/* ===== Zine archive (新着 / 検索 / カテゴリ / タグ) ===== */
.kz-ahero{position:relative;overflow:hidden;padding:124px 0 44px;background:linear-gradient(160deg,#86c0d4 0%,#9ccbe0 60%,#b9a6dd 100%);color:#fff}
.kz-ahero--cat-app{background:linear-gradient(160deg,#8f7cc6 0%,#a993d6 55%,#c7a6dd 100%)}
.kz-ahero--tag{background:linear-gradient(160deg,#86c0d4 0%,#a7b9e2 60%,#e3a6cf 100%)}
.kz-ahero__in{position:relative}
.kz-crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:rgba(255,255,255,.85)}
.kp .kz-crumb a{color:#fff;text-decoration:none}
.kp .kz-crumb a:hover{text-decoration:underline}
.kz-ahero__en{display:block;margin-top:22px;font-family:var(--round);font-weight:800;font-size:13px;letter-spacing:.22em;color:rgba(255,255,255,.85)}
.kz-ahero__t{margin-top:6px;font-family:var(--round);font-weight:800;font-size:40px;line-height:1.35}
.kz-ahero__d{margin-top:12px;max-width:44em;font-size:14px;line-height:1.9;color:rgba(255,255,255,.95)}
.kz-ahero__count{display:inline-flex;margin-top:16px;height:30px;align-items:center;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.22);font-size:12.5px;font-weight:700}
.kz-ahero__search{max-width:620px;margin-top:20px}
.kz-tabsbar{position:relative;background:#fff;border-bottom:1px solid var(--line)}
.kz-tabs{display:flex;gap:6px;overflow-x:auto;padding:14px 0;scrollbar-width:none}
.kz-tabs::-webkit-scrollbar{display:none}
.kp a.kz-tabs__i{flex:none;display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;font-size:13px;font-weight:700;color:var(--sub);text-decoration:none;background:#f3f5f9}
.kp a.kz-tabs__i:hover{color:var(--purple)}
.kp a.kz-tabs__i.is-on{background:var(--grad);color:#fff}
.kz-sec--list{padding:56px 0 88px;background:#f6f8fb}
/* list rows */
.kz-list{display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none}
.kp a.kz-row{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:center;padding:16px;border-radius:22px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 22px rgba(40,60,100,.06);transition:box-shadow .2s,transform .2s}
.kp a.kz-row:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(40,60,100,.12)}
.kz-row .kz-th{border-radius:14px}
.kz-row .kz-th__t{font-size:17px}
.kz-row__t{margin-top:8px;font-family:var(--round);font-weight:800;font-size:18px;line-height:1.55}
.kz-row:hover .kz-row__t{color:var(--purple)}
.kz-row__e{margin-top:6px;font-size:13px;line-height:1.8;color:var(--sub);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kz-row mark{background:linear-gradient(transparent 55%,#ffd6ec 55%);color:inherit;padding:0 1px}
.kz-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.kz-tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:#f3f5f9;font-size:11px;font-weight:700;color:var(--muted)}
.kp a.kz-tag{text-decoration:none}
.kz-tag--lg{height:30px;padding:0 12px;font-size:12px;color:var(--sub);background:#f3f5f9}
.kp a.kz-tag--lg:hover{background:#f3eefa;color:var(--purple)}
.kz-tags--cloud{margin-top:0}
.kz-tags--c{justify-content:center}
.kz-cat--news{background:#5b6475}
/* pagination */
.kz-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:40px}
.kz-pager__nums{display:flex;gap:6px}
.kz-pg{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 6px;border-radius:999px;font-family:var(--round);font-weight:800;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line)}
.kp a.kz-pg{text-decoration:none;color:var(--ink)}
.kp a.kz-pg:hover{border-color:var(--purple);color:var(--purple)}
.kz-pg--cur{background:var(--grad);border-color:transparent;color:#fff}
.kz-pg--gap{border:0;background:none;min-width:24px;color:var(--muted)}
.kz-pg--nav{padding:0 18px;font-family:var(--sans);font-size:13px;font-weight:700}
.kz-pg--nav.is-off{color:#c3c7d2;background:#f3f5f9;border-color:transparent}
.kz-pager__sp{display:none}
/* sidebar */
.kz-side{display:flex;flex-direction:column;gap:18px}
.kz-box{padding:22px 20px;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(40,60,100,.06)}
.kz-box__t{font-family:var(--round);font-weight:800;font-size:16px;margin-bottom:14px}
.kz-catlist{margin:0;padding:0;list-style:none}
.kz-catlist li+li{border-top:1px solid var(--line)}
.kp .kz-catlist a{display:flex;align-items:center;gap:10px;padding:11px 2px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none}
.kp .kz-catlist a:hover{color:var(--purple)}
.kz-dot{width:10px;height:10px;border-radius:50%;background:var(--c-guide)}
.kz-dot--safe{background:var(--c-safe)}.kz-dot--app{background:var(--c-app)}.kz-dot--diag{background:var(--c-diag)}.kz-dot--int{background:var(--c-int)}.kz-dot--spot{background:var(--c-spot)}.kz-dot--news{background:#5b6475}
.kz-rank--side{position:static;padding:22px 20px}
.kz-rank--side ol{margin-top:0}
.kz-rank--side .kz-rank__t{font-size:13px}
.kz-box--cta{text-align:center;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.kz-box__by{font-size:11px;font-weight:700;color:var(--muted)}
.kz-box__ct{margin:4px 0 14px;font-family:var(--round);font-weight:800;font-size:18px;line-height:1.5}
.kz-box--cta .kp-btn{width:100%}
/* search box */
.kz-search{display:flex;align-items:center;gap:8px;height:52px;padding:0 6px 0 16px;border-radius:999px;background:#fff;border:1.5px solid var(--line)}
.kz-ahero .kz-search{border-color:transparent;box-shadow:0 10px 24px rgba(30,60,100,.16)}
.kz-search svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}
.kz-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;font:inherit;font-size:14px;color:var(--ink)}
.kz-search button{flex:none;height:40px;padding:0 18px;border:0;border-radius:999px;background:var(--grad);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.kz-side .kz-search{height:46px}
.kz-side .kz-search button{height:34px;padding:0 14px}
/* empty */
.kz-empty{padding:48px 32px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 8px 22px rgba(40,60,100,.06)}
.kz-empty svg{width:110px;height:110px}
.kz-empty h2{margin-top:10px;font-family:var(--round);font-weight:800;font-size:20px;line-height:1.5}
.kz-empty>p{margin-top:8px;font-size:14px;color:var(--sub)}
.kz-empty .kz-search{max-width:480px;margin:22px auto 0}
.kz-empty__sub{margin:26px 0 10px!important;font-size:12px!important;font-weight:700;color:var(--muted)!important}
.kz-empty__more{margin-top:40px}
.kz-empty__more .kz-h3{margin-bottom:16px}
@media (max-width:1024px){
  .kz-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .kz-ahero{padding:92px 0 32px}
  .kz-ahero__t{font-size:28px}
  .kz-ahero__d{font-size:13px}
  .kz-tabs{padding:10px 0}
  .kp a.kz-tabs__i{height:32px;padding:0 13px;font-size:12px}
  .kz-sec--list{padding:28px 0 56px}
  .kz-list{gap:12px}
  .kp a.kz-row{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px;border-radius:16px;align-items:start}
  .kz-row .kz-th{border-radius:10px}
  .kz-row .kz-th__t{font-size:10.5px;padding:0 6%}
  .kz-row .kz-th__brand{display:none}
  .kz-row .kz-cat{height:19px;font-size:10px;padding:0 8px}
  .kz-row__t{margin-top:5px;font-size:14px;line-height:1.5}
  .kz-row__e{display:none}
  .kz-row .kz-tags{display:none}
  .kz-pager{gap:6px;margin-top:28px}
  .kz-pg{min-width:38px;height:38px;font-size:14px}
  .kz-pg--nav{padding:0 12px;font-size:12px}
  .kz-pager__nums .kz-pg:not(.kz-pg--cur):not(.kz-pg--gap){display:none}
  .kz-pager__nums .kz-pg--gap{display:none}
  .kz-pager__sp{display:block;margin-top:10px;text-align:center;font-size:12px;color:var(--muted)}
  .kz-side{display:flex}
  .kz-empty{padding:32px 18px}
  .kz-empty h2{font-size:17px}
}

/* ===== Zine article detail (.ka) ===== */
.ka-ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ka-hero{position:relative;overflow:hidden;padding:120px 0 120px;background:linear-gradient(160deg,#86c0d4 0%,#9ccbe0 60%,#b9a6dd 100%);color:#fff}
.ka-hero__in{position:relative;max-width:1000px}
.ka-hero__meta{margin-top:22px}
.ka-read{font-size:12px;font-weight:700;color:rgba(255,255,255,.9)}
.ka-hero__t{margin-top:12px;font-family:var(--round);font-weight:800;font-size:36px;line-height:1.5}
.ka-hero__info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:22px}
.ka-byline{display:flex;align-items:center;gap:6px;font-size:13px}
.ka-byline b{font-weight:700;opacity:.8;margin-right:2px}
.ka-av{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid #fff;font-family:var(--round);font-weight:800;font-size:13px;color:#fff;background:var(--purple);object-fit:cover}
.ka-av--n{background:#e8338f;margin-left:0;margin-right:0}
.ka-av--lg{width:64px;height:64px;font-size:24px;margin:0;border-width:3px;box-shadow:0 6px 16px rgba(40,60,100,.18)}
.ka-dates{display:flex;gap:14px;font-size:12.5px;color:rgba(255,255,255,.92)}
.ka-wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.ka-wrap--legal{max-width:1320px}
.ka-eye{max-width:1000px;margin:-80px auto 0;position:relative}
.ka-eye .kz-th{border-radius:24px;box-shadow:0 20px 44px rgba(30,50,100,.18)}
.ka-eye .kz-th__t{font-size:34px}
.ka-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px;align-items:start;max-width:1120px;margin:48px auto 0;padding-bottom:96px}
.ka-wrap--legal .ka-grid{grid-template-columns:minmax(0,1fr);max-width:1120px}
.ka-art{min-width:0}
/* supervisor */
.ka-sv{display:flex;gap:14px;padding:18px 20px;border-radius:18px;background:#eef6fb;border:1px solid #d6e9f4}
.ka-sv__ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#2b86c5;color:#fff}
.ka-sv__t{font-weight:700;font-size:14px;color:#1e5f8f}
.ka-sv p{font-size:13px;line-height:1.8;color:var(--sub)}
.kp .ka-sv a{margin-left:6px;color:#2b86c5;font-weight:700}
/* summary (AEO) */
.ka-sum{margin-top:24px;padding:26px 26px 22px;border-radius:22px;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.ka-sum__t span{display:inline-flex;align-items:center;height:28px;padding:0 14px;border-radius:999px;background:var(--grad);color:#fff;font-family:var(--round);font-weight:800;font-size:13px}
.ka-sum__lead{margin-top:12px;font-family:var(--round);font-weight:800;font-size:18px;line-height:1.7}
.ka-sum__lead strong{background:linear-gradient(transparent 60%,#ffd6ec 60%)}
.ka-sum ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.ka-sum li{display:flex;gap:10px;font-size:14px;line-height:1.7}
.ka-sum li .ka-ic{flex:none;margin-top:4px;color:var(--purple)}
.ka-note{margin-top:16px;border-radius:14px;background:#f6f7fa;font-size:12.5px;color:var(--muted)}
.ka-note summary{cursor:pointer;padding:12px 16px;font-weight:700;list-style:none}
.ka-note summary::before{content:"ⓘ ";}
.ka-note p{padding:0 16px 14px;line-height:1.8}
/* prose */
.ka-prose{margin-top:28px;font-size:16px;line-height:2.05;color:#2b2f3a}
.ka-prose img{display:block;max-width:100%;height:auto}
.kz-row[hidden]{display:none!important}
.kz-list .kz-row:nth-child(n+11){display:none}
.ka-prose figure{max-width:100%;margin:28px 0;overflow:hidden}
.ka-prose figure img{width:100%;height:auto}
.ka-prose iframe,.ka-prose video{max-width:100%}
.ka-prose p+p{margin-top:1.1em}
.ka-prose h3{margin:40px 0 16px;padding-bottom:8px;font-family:var(--round);font-weight:800;font-size:20px;line-height:1.55;border-bottom:2px solid transparent;border-image:var(--grad) 1;scroll-margin-top:24px}
.ka-sentence-break{display:block}
.ka-prose h2{margin:64px 0 20px;padding:0 0 14px;font-family:var(--round);font-weight:800;font-size:26px;line-height:1.5;border-bottom:3px solid transparent;border-image:var(--grad) 1;scroll-margin-top:24px}
.ka-prose h2:first-child{margin-top:48px}
/* Fixed author pages keep profile portraits as compact circular icons. */
.ka-prose img[alt="あき"],.ka-prose img[alt="城咲なな"]{display:block;width:130px!important;height:130px!important;max-width:130px;border-radius:50%;object-fit:cover;object-position:center}
/* diag cta */
.kp a.ka-diagcta{position:relative;display:grid;grid-template-columns:auto 1fr auto;column-gap:14px;align-items:center;margin-top:28px;padding:16px 22px;border-radius:18px;background:#fff0f8;border:1.5px solid #ffc6e3;color:var(--ink);text-decoration:none}
.ka-diagcta__l{grid-row:1/3;display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--grad);color:#fff;font-size:11px;font-weight:800;text-align:center;line-height:1.3;padding:6px}
.ka-diagcta__t{font-family:var(--round);font-weight:800;font-size:17px}
.ka-diagcta__s{font-size:12px;color:var(--muted)}
.ka-diagcta__go{grid-row:1/3;grid-column:3;font-size:22px;color:var(--purple)}
/* toc */
.ka-toc{margin-top:32px;padding:24px 26px;border-radius:20px;background:#f6f8fb}
.ka-toc__t{font-family:var(--round);font-weight:800;font-size:16px}
.ka-toc ol,.ka-stoc ol{margin:12px 0 0;padding:0;list-style:none;counter-reset:t}
.ka-toc>ol>li{counter-increment:t}
.ka-toc>ol>li>a::before{content:counter(t) ". ";color:var(--purple);font-weight:800}
.kp .ka-toc a,.kp .ka-stoc a{display:block;padding:6px 0;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;line-height:1.6}
.kp .ka-toc a:hover,.kp .ka-stoc a:hover{color:var(--purple)}
.ka-toc ol ol,.ka-stoc ol ol{margin:0 0 4px 18px}
.kp .ka-toc ol ol a,.kp .ka-stoc ol ol a{font-size:13px;font-weight:500;color:var(--sub);padding:3px 0}
/* points */
.ka-points{display:grid;gap:16px;margin-top:24px}
.ka-point{position:relative;padding:24px 26px 22px 26px;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(40,60,100,.08);border:1px solid var(--line);scroll-margin-top:24px}
.ka-point__n{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--round);font-weight:800;font-size:12px;letter-spacing:.12em;color:var(--purple)}
.ka-point__n b{font-size:26px;letter-spacing:0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ka-point h3{margin-top:4px;font-family:var(--round);font-weight:800;font-size:19px;line-height:1.5}
.ka-point p{margin-top:10px;font-size:15px;line-height:1.95;color:#3a3f4b}
/* kinkyer cta (mid) */
.ka-kcta{margin-top:40px;padding:30px 30px 28px;border-radius:24px;background:linear-gradient(135deg,#f0f7fb,#f6f0fc);text-align:center}
.ka-kcta__by{font-size:13px;font-weight:700;color:var(--sub)}
.ka-kcta__t{margin-top:2px;font-family:var(--round);font-weight:800;font-size:24px}
.ka-kcta ul{display:inline-grid;gap:6px;margin:16px 0 20px;padding:0;list-style:none;text-align:left}
.ka-kcta li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.ka-kcta li .ka-ic{color:#fff;background:var(--purple);border-radius:50%;padding:3px;width:20px;height:20px}
/* flags */
.ka-flag{margin-top:20px;padding:22px 24px;border-radius:20px;background:#fff7f0;border:1.5px solid #ffd9b8}
.ka-flag__t{font-family:var(--round);font-weight:800;font-size:16px;color:#c25e00}
.ka-flag ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.ka-flag li{display:flex;gap:10px;font-size:14.5px;line-height:1.7}
.ka-flag__ic{flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:2px;border-radius:50%;background:#f08a1c;color:#fff;font-weight:800;font-size:13px}
/* actions */
.ka-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.ka-act{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(40,60,100,.06)}
.ka-act__ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eef6fb;font-size:18px}
.ka-act--b .ka-act__ic{background:#fff0f8}.ka-act--c .ka-act__ic{background:#f3eefa}
.ka-act h4{margin-top:10px;font-family:var(--round);font-weight:800;font-size:15px}
.ka-act p{margin-top:4px;font-size:13px;line-height:1.75;color:var(--sub)}
/* bottom blocks */
.ka-blk{margin-top:64px;scroll-margin-top:24px}
.ka-blk__h{margin-bottom:20px}
.ka-blk__h h2{margin-top:4px;font-family:var(--round);font-weight:800;font-size:24px}
.ka-faq{display:grid;gap:10px}
.ka-faq__i{border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(40,60,100,.05)}
.ka-faq__i summary{display:flex;align-items:center;gap:12px;padding:18px 20px;cursor:pointer;list-style:none;font-weight:700;font-size:15px}
.ka-faq__i summary::-webkit-details-marker{display:none}
.ka-faq__i summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--purple);font-weight:400}
.ka-faq__i[open] summary::after{content:"−"}
.ka-faq__q,.ka-faq__aa{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--round);font-weight:800;font-size:14px}
.ka-faq__aa{background:#fff;color:var(--purple);border:2px solid #dcc8f3}
.ka-faq__a{display:flex;gap:12px;padding:0 20px 20px}
.ka-faq__a p{font-size:14.5px;line-height:1.9;color:var(--sub)}
.ka-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.ka-term{padding:18px 20px;border-radius:18px;background:#f6f8fb}
.ka-term dt{font-family:var(--round);font-weight:800;font-size:17px;color:var(--purple)}
.ka-term dt small{display:block;font-family:var(--sans);font-weight:500;font-size:11px;color:var(--muted)}
.ka-term dd{margin:6px 0 0;font-size:13.5px;line-height:1.8;color:var(--sub)}
.ka-meta{margin-top:48px;padding:22px 24px;border-radius:20px;background:#fff;border:1px solid var(--line);display:grid;gap:16px}
.ka-meta__row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:start}
.ka-meta__k{padding-top:5px;font-size:12px;font-weight:700;color:var(--muted)}
.ka-hist{margin:0;padding:5px 0 0;list-style:none;font-size:13px}
.ka-hist time{font-weight:700;margin-right:10px}
.ka-share{display:flex;flex-wrap:wrap;gap:8px}
.ka-share__b{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:0;border-radius:999px;font-family:inherit;font-size:13px;font-weight:700;line-height:1;cursor:pointer;text-decoration:none}
.kp a.ka-share__b{color:#fff}
.ka-share__b--x{background:#111}.ka-share__b--line{background:#06c755}.ka-share__b--fb{background:#1877f2}
.ka-share__b--copy{background:#f3f5f9;color:var(--sub);border:1px solid var(--line)}
.ka-authors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ka-author{display:flex;gap:16px;padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(40,60,100,.05)}
.ka-author .ka-av--n{margin:0}
.ka-author__role{font-size:11px;font-weight:700;color:var(--purple)}
.ka-author__n{font-family:var(--round);font-weight:800;font-size:18px}
.ka-author__n small{margin-left:8px;font-family:var(--sans);font-weight:500;font-size:12px;color:var(--muted)}
.ka-author__d{margin-top:6px;font-size:13px;line-height:1.8;color:var(--sub)}
.ka-editor{margin-top:14px;padding:18px 20px;border-radius:18px;background:#f6f8fb;font-size:13px;line-height:1.85;color:var(--sub)}
.ka-editor b{color:var(--ink)}
.ka-editor__links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.kp .ka-editor__links a{font-weight:700;color:var(--purple)}
.ka-rel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ka-pn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:48px}
.kp a.ka-pn__i{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:18px;background:#f6f8fb;color:var(--ink);text-decoration:none}
.kp a.ka-pn__i:hover b{color:var(--purple)}
.ka-pn__i--next{text-align:right}
.ka-pn__i span{font-size:12px;font-weight:700;color:var(--muted)}
.ka-pn__i b{font-size:14px;line-height:1.6}
.ka-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:48px}
.kp a.ka-app{display:flex;flex-direction:column;gap:4px;padding:24px;border-radius:22px;color:#fff;text-decoration:none;background:var(--grad)}
.kp a.ka-app--u{background:linear-gradient(135deg,#2a2833,#4a3a5c)}
.ka-app__by{font-size:12px;font-weight:700;opacity:.85}
.ka-app__n{font-family:var(--round);font-weight:800;font-size:26px}
.ka-app__d{font-size:13px;line-height:1.7;opacity:.92}
.ka-app__go{margin-top:8px;font-size:13px;font-weight:800}
/* sidebar */
.ka-side{position:sticky;top:24px;display:grid;gap:16px}
.ka-stoc{padding:22px 20px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(40,60,100,.06)}
.ka-prog{height:4px;margin-top:10px;border-radius:2px;background:#eef1f6;overflow:hidden}
.ka-prog span{display:block;height:100%;background:var(--grad)}
.ka-stoc>ol>li.is-on>a{color:var(--purple)}
.ka-stoc>ol>li.is-on>a::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--grad);vertical-align:2px}
.kp a.ka-sidecta{display:flex;flex-direction:column;align-items:center;gap:2px;padding:20px;border-radius:20px;text-align:center;text-decoration:none;color:var(--ink);border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.ka-sidecta span{font-size:12px;font-weight:700;color:var(--muted)}
.ka-sidecta b{font-family:var(--round);font-weight:800;font-size:24px}
.ka-sidecta em{margin-top:6px;font-style:normal;font-size:13px;font-weight:800;color:var(--purple)}
@media (max-width:1024px){
  .ka-grid{grid-template-columns:minmax(0,1fr)}
  .ka-side{display:none}
}
@media (max-width:767px){
  .ka-hero{padding:92px 0 84px}
  .ka-hero__t{font-size:22px}
  .ka-hero__info{flex-direction:column;align-items:flex-start;gap:8px}
  .ka-wrap{padding:0 20px}
  .ka-eye{margin-top:-56px}
  .ka-eye .kz-th{border-radius:16px}
  .ka-eye .kz-th__t{font-size:18px}
  .ka-grid{margin-top:28px;padding-bottom:64px}
  .ka-sv{padding:14px 16px}
  .ka-sum{padding:20px 18px 18px}
  .ka-sum__lead{font-size:16px}
  .ka-prose{font-size:15px;line-height:1.95}
  .ka-prose h2{font-size:20px;margin-top:48px}
  .kp a.ka-diagcta{padding:14px 16px}
  .ka-diagcta__l{width:52px;height:52px;font-size:10px}
  .ka-diagcta__t{font-size:14.5px}
  .ka-toc{padding:20px}
  .ka-point{padding:20px 18px}
  .ka-point h3{font-size:17px}
  .ka-point p{font-size:14px}
  .ka-kcta{padding:24px 18px}
  .ka-kcta__t{font-size:20px}
  .ka-kcta .kp-btn{width:100%}
  .ka-acts,.ka-terms,.ka-authors,.ka-rel,.ka-pn,.ka-apps{grid-template-columns:minmax(0,1fr)}
  .ka-rel{gap:20px}
  .ka-pn__i--next{text-align:left}
  .ka-meta__row{grid-template-columns:minmax(0,1fr);gap:6px}
  .ka-blk{margin-top:48px}
  .ka-blk__h h2{font-size:20px}
}
.ka-kcta ul{display:grid;width:fit-content;margin:16px auto 22px}
.ka-av--lg{flex:none}
@media (max-width:767px){
  .ka-rel .kz-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center}
  .ka-rel .kz-card__b{padding:0}
  .ka-rel .kz-card__t{font-size:13.5px;margin-top:6px}
  .ka-rel .kz-th__t{font-size:11px;padding:0 8%}
  .ka-rel .kz-th__brand{display:none}
  .ka-rel{gap:14px}
}

/* WordPress eyecatch inside .kz-th (placeholder text is hidden when an <img> is present) */
.kz-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kz-th:has(img)::before,.kz-th:has(img) .kz-th__t,.kz-th:has(img) .kz-th__brand{display:none}
.ka-eye>img{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:24px;box-shadow:0 20px 44px rgba(30,50,100,.18)}
.kp--subpage .ka-hero{padding-top:56px}
.kp--subpage .kz-ahero{padding-top:56px}
@media (max-width:767px){.kp--subpage .ka-hero{padding-top:40px}}
@media (max-width:767px){.kp--subpage .kz-ahero{padding-top:40px}}
/* The shared subpage header has its own height, so the Zine hero does not need
   the extra top inset used by the standalone mock. */
.kp--subpage .kz-hero{padding-top:64px}
@media (max-width:767px){.kp--subpage .kz-hero{padding-top:52px}}

/* Dynamic Astro article cards used by the migrated Zine. */
.kz-arrows button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--line);background:#fff;color:var(--sub);font:inherit;font-size:22px;line-height:1;cursor:pointer}
.kz-arrows button:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.kz-excerpt{margin-top:8px;color:var(--sub);font-size:13px;line-height:1.8}
.kz-ranking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.kz-ranking .kz-rank{position:static;display:grid;grid-template-columns:34px 150px minmax(0,1fr);gap:14px;align-items:center;padding:0 0 18px;border-radius:0;border-bottom:1px solid var(--line);box-shadow:none}
.kz-ranking .kz-rank>span{font-family:var(--round);font-size:24px;font-weight:800;color:var(--purple)}
.kz-ranking .kz-rank .kz-th{width:150px}
.kz-ranking .kz-rank h3{margin-top:6px;font-family:var(--round);font-size:15px;line-height:1.55}
.kz-cat--sm{height:19px;padding:0 8px;font-size:10px}
.kz-center-lead{text-align:center;color:var(--sub);margin:-8px auto 24px}
.kz-diaggrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kz-diaggrid a{display:flex;flex-direction:column;gap:6px;padding:22px 18px;border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 22px rgba(40,60,100,.08)}
.kz-diaggrid a:hover{transform:translateY(-3px);color:var(--purple)}
.kz-diaggrid span{font-size:12px;color:var(--muted)}
.kz-diaggrid b{font-family:var(--round);font-size:15px}
@media (max-width:767px){
  .kz-ranking{grid-template-columns:1fr}
  .kz-ranking .kz-rank{grid-template-columns:30px 110px minmax(0,1fr);gap:10px}
  .kz-ranking .kz-rank .kz-th{width:110px}
  .kz-ranking .kz-rank h3{font-size:13px}
  .kz-diaggrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ===== Kinkyer News (.kn) ===== */
.kn-hero{background:linear-gradient(160deg,#86c0d4 0%,#8fb3dc 55%,#9d8fd6 100%)}
.kn-hero--d{padding-bottom:120px}
.kn-hero--d .kz-ahero__t{max-width:none;font-size:32px;line-height:1.5}
.kn-type{display:inline-flex;align-items:center;height:24px;padding:0 11px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff;background:var(--c,#2b86c5);white-space:nowrap}
.kn-new{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--grad);color:#fff;font-family:var(--round);font-weight:800;font-size:11px;letter-spacing:.08em}
.kn-th{background:linear-gradient(135deg,#d9e6f7,#efe8fb)}
.kn-label{color:var(--purple)}
.kn-latest{margin-bottom:40px}
.kp a.kn-feat{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;align-items:center;padding:18px;border-radius:28px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 12px 32px rgba(40,60,100,.08)}
.kn-feat .kz-th{border-radius:18px}
.kn-feat .kz-th__t{font-size:30px}
.kn-feat__b{padding-right:16px}
.kn-feat__t{margin-top:12px;font-family:var(--round);font-weight:800;font-size:24px;line-height:1.55}
.kn-feat:hover .kn-feat__t{color:var(--purple)}
.kn-feat__b p{margin-top:10px;font-size:14px;line-height:1.9;color:var(--sub)}
.kn-more{display:inline-block;margin-top:14px;font-size:13px;font-weight:800;color:var(--purple)}
.kn-two{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.kn-year+.kn-year{margin-top:36px}
.kn-year__y{display:flex;align-items:center;gap:14px;font-family:var(--round);font-weight:800;font-size:26px;color:var(--purple);margin-bottom:12px}
.kn-year__y::after{content:"";flex:1;height:2px;background:var(--line)}
.kn-list{margin:0;padding:0;list-style:none;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(40,60,100,.06);overflow:hidden}
.kn-list li+li{border-top:1px solid var(--line)}
.kp a.kn-row{display:grid;grid-template-columns:96px auto minmax(0,1fr) 20px;gap:16px;align-items:center;padding:20px 24px;color:var(--ink);text-decoration:none;transition:background .15s}
.kp a.kn-row:hover{background:#f8f6fc}
.kn-row__d{font-family:var(--round);font-weight:800;font-size:14px;color:var(--muted)}
.kn-row__t{font-size:15px;font-weight:700;line-height:1.6}
.kn-row:hover .kn-row__t{color:var(--purple)}
.kn-row__go{color:var(--purple);font-weight:800}
.kn-side{display:grid;gap:18px}
.kn-media{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.kn-media li{display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:999px;background:#f3f5f9;font-size:12.5px;font-weight:700;color:var(--sub)}
.kn-press{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:56px;padding:36px 44px;border-radius:28px;background:#fff;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.kn-press__t{margin-top:4px;font-family:var(--round);font-weight:800;font-size:24px}
.kn-press p{margin-top:8px;max-width:36em;font-size:14px;line-height:1.85;color:var(--sub)}
.kn-press__btns{display:flex;flex-direction:column;gap:10px;flex:none}
/* detail */
.kn-dwrap{max-width:880px}
.kn-dmeta{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:-104px;position:relative;color:#fff}
.kn-dmeta .kz-date{color:rgba(255,255,255,.92);font-weight:700}
.kn-eye{margin-top:20px}
.kn-eye .kz-th__t{font-size:34px}
.kn-art{max-width:760px;margin:44px auto 0;padding-bottom:96px}
.kn-lead{padding:18px 22px;border-left:4px solid transparent;border-image:var(--grad) 1;background:#f6f8fb;font-size:16px;font-weight:700;line-height:1.85}
.kn-prose h2{margin-top:48px}
.kn-eps{display:grid;gap:12px}
.kp a.kn-ep{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:20px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:0 6px 18px rgba(40,60,100,.06)}
.kp a.kn-ep:hover{border-color:#1db954}
.kn-ep__ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#1db954}
.kn-ep__ic svg{width:22px;height:22px;fill:#fff}
.kn-ep__b{display:flex;flex-direction:column;gap:2px}
.kn-ep__n{font-size:12px;font-weight:700;color:var(--muted)}
.kn-ep__t{font-family:var(--round);font-weight:800;font-size:16px;line-height:1.5}
.kn-ep__p{font-size:12.5px;font-weight:800;color:#169c46}
.kn-info{display:grid;margin:28px 0 0;border-radius:20px;background:#f6f8fb;overflow:hidden}
.kn-info>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:14px 20px}
.kn-info>div+div{border-top:1px solid #e6e9f0}
.kn-info dt{font-size:12.5px;font-weight:700;color:var(--muted)}
.kn-info dd{margin:0;font-size:14px;font-weight:700}
.kn-who{margin-top:48px}
.kn-h3{font-family:var(--round);font-weight:800;font-size:22px;margin-bottom:16px}
.kn-oh{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ka-pn__i.is-off{opacity:.55}
@media (max-width:1024px){
  .kn-two{grid-template-columns:minmax(0,1fr)}
  .kn-press{flex-direction:column;align-items:flex-start}
}
@media (max-width:767px){
  .kp a.kn-feat{grid-template-columns:minmax(0,1fr);gap:14px;padding:12px;border-radius:20px}
  .kn-feat .kz-th__t{font-size:18px}
  .kn-feat__b{padding:0 6px 6px}
  .kn-feat__t{font-size:18px}
  .kn-year__y{font-size:20px}
  .kp a.kn-row{grid-template-columns:auto minmax(0,1fr) 16px;grid-template-areas:"d b g" "t t g";gap:6px 10px;padding:16px 18px}
  .kn-row__d{grid-area:d;font-size:13px}
  .kn-row .kn-type{grid-area:b;justify-self:start;height:21px;font-size:10.5px}
  .kn-row__t{grid-area:t;font-size:14px}
  .kn-row__go{grid-area:g}
  .kn-press{padding:26px 20px;border-radius:22px;margin-top:40px}
  .kn-press__t{font-size:20px}
  .kn-press__btns{width:100%}
  .kn-press__btns .kp-btn{width:100%}
  .kn-hero--d{padding-bottom:96px}
  .kn-hero--d .kz-ahero__t{font-size:21px}
  .kn-dmeta{margin-top:-80px}
  .kn-eye .kz-th__t{font-size:18px}
  .kn-art{margin-top:28px;padding-bottom:64px}
  .kn-lead{font-size:14.5px;padding:14px 16px}
  .kn-ep__ic{width:44px;height:44px;border-radius:12px}
  .kn-ep__t{font-size:14px}
  .kn-info>div{grid-template-columns:72px minmax(0,1fr);padding:12px 16px}
  .kn-info dd{font-size:13px}
  .kn-h3{font-size:19px}
}
.kn-hmeta{margin-top:14px}
.kn-hmeta .kz-date{color:rgba(255,255,255,.92);font-weight:700}
.kn-eye{margin-top:-80px}
.ka-pn__i.is-off{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:18px;background:#f6f8fb}
@media (max-width:767px){.kn-eye{margin-top:-56px}}
@media (max-width:767px){.kp-up{padding:32px 0}.kp-up__inner{width:calc(100% - 28px);padding:26px 22px;display:block}.kp-up__links{margin-top:24px}.kp-up h2{font-size:20px}.kp-up h2 span{font-size:25px}}
