/* =====================================================================
   WordPress/SWELL embedding prelude (cho-kss scope)
   - SWELL .post_content の見出し/テーブル/リスト既定スタイルをリセット
   ===================================================================== */
.cho-kss h1,.cho-kss h2,.cho-kss h3,.cho-kss h4,.cho-kss h5{background:transparent !important;border:none !important;padding:0 !important;box-shadow:none !important;}
.cho-kss h1::before,.cho-kss h1::after,.cho-kss h2::before,.cho-kss h2::after,.cho-kss h3::before,.cho-kss h3::after,.cho-kss h4::before,.cho-kss h4::after{content:none !important;}
.cho-kss table,.cho-kss table th,.cho-kss table td{border:none;background:transparent;}
.cho-kss ul,.cho-kss ol{list-style:none;}
body .cho-kss p{margin:1.05em 0;}
body .cho-kss a{text-decoration:none;}

/* =========================================================================
   結婚相談所おすすめランキング — グリーン王道メディア スタイル
   ========================================================================= */
.cho-kss{
  /* Greens — 安心・ナチュラル */
  --green-900:#143a2b;
  --green-800:#1c5240;
  --green-700:#236a51;
  --green-600:#2f8160;
  --green-500:#3d9a74;
  --green-400:#6bb595;
  --green-300:#a6d3bf;
  --green-100:#e4f1ea;
  --green-50:#f1f8f4;
  --leaf:#3d9a74;
  /* Warm accents */
  --gold:#c79a45;
  --gold-soft:#f6edd8;
  --rose:#d98aa0;
  /* Neutrals */
  --ink:#1f2a26;
  --ink-2:#46544e;
  --ink-3:#73807a;
  --line:#e3e9e5;
  --line-2:#eef2ef;
  --bg:#ffffff;
  --bg-tint:#f7faf8;
  --bg-warm:#faf8f3;
  /* System */
  --radius:14px;
  --radius-lg:22px;
  --radius-sm:9px;
  --shadow-sm:0 1px 2px rgba(20,58,43,.05),0 1px 3px rgba(20,58,43,.06);
  --shadow:0 4px 14px rgba(20,58,43,.07),0 2px 6px rgba(20,58,43,.05);
  --shadow-lg:0 18px 50px rgba(20,58,43,.13),0 6px 18px rgba(20,58,43,.08);
  --maxw:880px;
  --sans:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Shippori Mincho","Noto Serif JP",serif;
}

.cho-kss, .cho-kss *{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
.cho-kss{
  margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg-tint);
  line-height:1.95;font-size:16px;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.cho-kss img{max-width:100%;display:block;}
.cho-kss a{color:var(--green-700);text-decoration:none;}
.cho-kss button{font-family:inherit;cursor:pointer;border:none;background:none;}
.cho-kss ::selection{background:var(--green-100);}

/* ---------- top bar ---------- */










@media(max-width:620px){}

/* ---------- progress ---------- */
.cho-kss .readbar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--green-500),var(--gold));z-index:100001;transition:width .1s linear;}

/* ---------- layout ---------- */
.cho-kss .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
.cho-kss{background:var(--bg);}
.cho-kss section[id],.cho-kss .rcard{scroll-margin-top:96px;}

/* ---------- breadcrumb ---------- */





/* ---------- hero ---------- */
.cho-kss .hero{padding:26px 0 8px;}
.cho-kss .hero__tags{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap;}
.cho-kss .pill{font-size:11px;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:999px;}
.cho-kss .pill--pr{background:var(--ink);color:#fff;}
.cho-kss .pill--cat{background:var(--green-100);color:var(--green-800);}
.cho-kss .pill--date{background:transparent;color:var(--ink-3);font-weight:500;}
.cho-kss .hero h1{
  font-family:var(--serif);font-weight:800;font-size:clamp(27px,5vw,42px);line-height:1.42;
  letter-spacing:.01em;margin:.1em 0 .5em;color:var(--green-900);text-wrap:balance;
}
.cho-kss .hero h1 .em{
  background:linear-gradient(transparent 62%,var(--green-100) 62%);padding:0 .08em;
}
.cho-kss .hero__lead{font-size:16.5px;color:var(--ink-2);margin:0 0 6px;}

/* author */
.cho-kss .author{
  display:flex;gap:14px;align-items:center;margin:22px 0 8px;padding:14px 16px;
  background:var(--bg-warm);border:1px solid var(--line);border-radius:var(--radius);
}
.cho-kss .author__ava{width:54px;height:54px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--rose),var(--gold));
  display:grid;place-items:center;color:#fff;font-weight:700;font-size:20px;font-family:var(--serif);box-shadow:var(--shadow-sm);}
.cho-kss .author__meta{font-size:13px;color:var(--ink-3);line-height:1.6;}
.cho-kss .author__meta b{display:block;color:var(--ink);font-size:15px;font-weight:700;}
.cho-kss .author__meta .role{color:var(--green-700);font-weight:600;}

/* PR disclosure */
.cho-kss .disclosure{font-size:12px;color:var(--ink-3);background:var(--bg-tint);border:1px dashed var(--line);
  border-radius:var(--radius-sm);padding:11px 14px;margin:16px 0;line-height:1.7;}
.cho-kss .disclosure b{color:var(--ink-2);}

/* ---------- TOC ---------- */
.cho-kss .toc{background:var(--bg-warm);border:1px solid var(--line);border-radius:var(--radius);margin:30px 0;overflow:hidden;}
.cho-kss .toc__head{display:flex;align-items:center;gap:10px;padding:16px 20px;font-weight:700;color:var(--green-900);
  font-family:var(--serif);font-size:18px;border-bottom:1px solid var(--line);background:#fff;}
.cho-kss .toc__head svg{width:20px;height:20px;color:var(--green-600);}
.cho-kss .toc__head button{margin-left:auto;font-size:12px;color:var(--ink-3);font-weight:600;}
.cho-kss .toc ol{margin:0;padding:8px 10px 12px;list-style:none;counter-reset:toc;column-gap:26px;}
.cho-kss .toc li{counter-increment:toc;}
.cho-kss .toc li a{display:flex;gap:11px;align-items:baseline;padding:8px 12px;border-radius:9px;color:var(--ink-2);
  font-size:14.5px;font-weight:500;transition:background .12s,color .12s;}
.cho-kss .toc li a:hover{background:var(--green-50);color:var(--green-800);}
.cho-kss .toc li a::before{content:counter(toc,decimal-leading-zero);font-family:var(--serif);font-weight:700;
  color:var(--green-400);font-size:13px;flex:none;width:1.6em;}
@media(min-width:680px){.cho-kss .toc ol{columns:2;}}

/* ---------- prose ---------- */
.cho-kss .prose{font-size:16px;}
.cho-kss .prose > p{margin:1.05em 0;color:var(--ink-2);}
.cho-kss .h2{
  font-family:var(--serif);font-weight:800;font-size:clamp(22px,3.6vw,30px);line-height:1.45;
  color:var(--green-900);margin:0 0 8px;letter-spacing:.01em;text-wrap:balance;
}
.cho-kss .sec{padding:46px 0 8px;}
.cho-kss .sec__kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;
  color:var(--green-600);margin-bottom:12px;text-transform:uppercase;}
.cho-kss .sec__kicker::before{content:"";width:26px;height:2px;background:var(--green-500);border-radius:2px;}
.cho-kss .sec__head{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px;}
.cho-kss .sec__icon{width:52px;height:52px;border-radius:14px;flex:none;background:var(--green-50);border:1px solid var(--green-100);
  display:grid;place-items:center;color:var(--green-700);}
.cho-kss .sec__icon svg{width:27px;height:27px;}
.cho-kss .h3{font-family:var(--serif);font-weight:700;font-size:clamp(18px,2.6vw,22px);line-height:1.5;color:var(--green-800);
  margin:34px 0 10px;padding-left:14px !important;border-left:4px solid var(--green-400) !important;}
.cho-kss .lead{font-size:17px;color:var(--ink-2);}

/* bullet list */
.cho-kss .ul{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:10px;}
.cho-kss .ul li{position:relative;padding:12px 14px 12px 44px;background:var(--bg-tint);border:1px solid var(--line);
  border-radius:11px;font-size:14.5px;color:var(--ink-2);}
.cho-kss .ul li::before{content:"";position:absolute;left:15px;top:17px;width:16px;height:16px;border-radius:50%;
  background:var(--green-100);}
.cho-kss .ul li::after{content:"";position:absolute;left:20px;top:21px;width:6px;height:6px;border-radius:50%;background:var(--green-600);}

/* callout / quote */
.cho-kss .callout{display:flex;gap:14px;padding:16px 18px;border-radius:var(--radius);margin:22px 0;
  background:var(--green-50);border:1px solid var(--green-100);}
.cho-kss .callout svg{width:24px;height:24px;color:var(--green-600);flex:none;margin-top:2px;}
.cho-kss .callout p{margin:0;font-size:14.5px;color:var(--green-900);}
.cho-kss .callout b{color:var(--green-800);}
.cho-kss .quote{margin:22px 0;padding:18px 20px 18px 22px;background:var(--bg-warm);border-left:4px solid var(--gold);
  border-radius:0 var(--radius) var(--radius) 0;font-size:15px;color:var(--ink-2);position:relative;}
.cho-kss .quote .who{display:block;margin-top:8px;font-size:12.5px;color:var(--ink-3);font-weight:600;}
.cho-kss .warn{background:#fdf6ec;border-color:#f0deba;}
.cho-kss .warn svg{color:var(--gold);}
.cho-kss .warn p{color:#6b531c;}

/* ---------- generic comparison tables (prose) ---------- */
.cho-kss .ptable{width:100%;border-collapse:separate;border-spacing:0;margin:22px 0;font-size:14px;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;}
.cho-kss .ptable th, .cho-kss .ptable td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line-2);}
.cho-kss .ptable thead th{background:var(--green-700);color:#fff;font-weight:700;font-size:13.5px;}
.cho-kss .ptable tbody tr:last-child td{border-bottom:none;}
.cho-kss .ptable tbody tr:nth-child(even){background:var(--bg-tint);}
.cho-kss .ptable td:first-child{font-weight:700;color:var(--green-900);}

/* steps / flow */
.cho-kss .flow{display:flex;flex-direction:column;gap:0;margin:26px 0;}
.cho-kss .flow__row{display:flex;gap:18px;}
.cho-kss .flow__rail{display:flex;flex-direction:column;align-items:center;flex:none;width:48px;}
.cho-kss .flow__dot{width:46px;height:46px;border-radius:14px;background:#fff;border:2px solid var(--green-300);
  display:grid;place-items:center;color:var(--green-700);font-family:var(--serif);font-weight:800;font-size:17px;z-index:1;}
.cho-kss .flow__row.is-goal .flow__dot{background:var(--green-700);border-color:var(--green-700);color:#fff;}
.cho-kss .flow__line{width:2px;flex:1;background:linear-gradient(var(--green-300),var(--green-200,#cfe6da));min-height:18px;margin:2px 0;}
.cho-kss .flow__row:last-child .flow__line{display:none;}
.cho-kss .flow__body{padding:2px 0 26px;}
.cho-kss .flow__body h4{margin:8px 0 4px;font-size:16px;font-weight:700;color:var(--green-900);font-family:var(--serif);}
.cho-kss .flow__body p{margin:0;font-size:14px;color:var(--ink-2);}
.cho-kss .flow__body .when{display:inline-block;margin-top:7px;font-size:11.5px;font-weight:700;color:var(--green-700);
  background:var(--green-50);border:1px solid var(--green-100);padding:3px 9px;border-radius:999px;}

/* ---------- type cards (図解) ---------- */
.cho-kss .typegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:24px 0;}
.cho-kss .typecard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:10px;border-top:4px solid var(--tc,var(--green-500));}
.cho-kss .typecard__ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--tcs,var(--green-50));color:var(--tc,var(--green-700));}
.cho-kss .typecard__ic svg{width:25px;height:25px;}
.cho-kss .typecard h4{margin:0;font-size:17px;font-family:var(--serif);font-weight:800;color:var(--green-900);}
.cho-kss .typecard p{margin:0;font-size:13.5px;color:var(--ink-2);}
.cho-kss .typecard__rows{display:flex;flex-direction:column;gap:6px;margin-top:4px;border-top:1px dashed var(--line);padding-top:10px;}
.cho-kss .typecard__rows div{display:flex;justify-content:space-between;font-size:12.5px;}
.cho-kss .typecard__rows span:first-child{color:var(--ink-3);}
.cho-kss .typecard__rows span:last-child{font-weight:700;color:var(--ink);}

/* ---------- Q&A accordion ---------- */
.cho-kss .qa{display:flex;flex-direction:column;gap:10px;margin:22px 0;}
.cho-kss .qa__item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:var(--shadow-sm);}
.cho-kss .qa__q{display:flex;gap:13px;align-items:center;width:100%;text-align:left;padding:16px 18px;font-weight:700;color:var(--green-900);font-size:15.5px;}
.cho-kss .qa__q .qmark{width:26px;height:26px;border-radius:8px;background:var(--green-700);color:#fff;display:grid;place-items:center;
  font-family:var(--serif);font-weight:800;flex:none;font-size:14px;}
.cho-kss .qa__q .chev{margin-left:auto;color:var(--green-500);transition:transform .25s;flex:none;}
.cho-kss .qa__item.open .qa__q .chev{transform:rotate(180deg);}
.cho-kss .qa__a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.cho-kss .qa__a-in{padding:0 18px 18px 57px;font-size:14.5px;color:var(--ink-2);}

/* ---------- age tabs ---------- */
.cho-kss .agewrap{margin:24px 0;}
.cho-kss .agetabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.cho-kss .agetab{padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:14px;color:var(--ink-2);transition:.15s;}
.cho-kss .agetab.active{background:var(--green-700);color:#fff;border-color:var(--green-700);box-shadow:var(--shadow-sm);}
.cho-kss .agepanel{display:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);}
.cho-kss .agepanel.active{display:block;animation:cho-fade .3s ease;}
.cho-kss .agepanel h4{margin:0 0 8px;font-family:var(--serif);font-size:18px;color:var(--green-900);}
.cho-kss .agechips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}

/* ---------- footer ---------- */











@keyframes cho-fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* tag chip */
.cho-kss .chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px;
  background:var(--green-50);color:var(--green-800);border:1px solid var(--green-100);}
.cho-kss .chip--ghost{background:#fff;color:var(--ink-2);border-color:var(--line);}

/* responsive prose tables become scrollable */
.cho-kss .tablescroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0;}
.cho-kss .tablescroll .ptable{margin:0;min-width:520px;}

@media(max-width:600px){
  .cho-kss{font-size:15px;}
  .cho-kss .wrap{padding-left:18px;padding-right:18px;}
  .cho-kss .sec__head{gap:12px;}
  .cho-kss .sec__icon{width:44px;height:44px;}
  .cho-kss .author{flex-wrap:wrap;}
}


/* =====================================================================
   prefers-reduced-motion（アクセシビリティ・ウィジェット実装規約）
   ===================================================================== */
@media (prefers-reduced-motion: reduce){
  .cho-kss,.cho-kss *,.cho-kss *::before,.cho-kss *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}
