/* ==========================================================
   PROMISE RING コンセプトページ（concept.html）
   shop.css の共通ヘッダー・フッター・パンくずの上に重ねる
   ========================================================== */

.cp-eye{font-family:var(--script);font-style:italic;font-size:15px;letter-spacing:.24em;color:var(--ac-d);}
.cp-wrap{max-width:1040px;margin:0 auto;padding:0 48px;}

/* ── ① ヒーロー ── */
.cp-hero{text-align:center;padding-block:96px 88px;}
.cp-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5.6vw,60px);letter-spacing:.14em;line-height:1.4;color:var(--ink);margin:18px 0 12px;}
.cp-hero h1 .dot{color:var(--ac-l);}
.cp-hero .en{font-family:var(--script);font-style:italic;font-size:17px;letter-spacing:.22em;color:var(--ac-d);}
.cp-bar{width:34px;height:1px;background:var(--ac);margin:40px auto;}
.cp-lead{font-family:var(--serif);font-weight:300;font-size:clamp(16px,2.2vw,21px);line-height:2.4;letter-spacing:.1em;color:var(--ink);}
.cp-lead .em{color:var(--ac-d);font-weight:400;}
.cp-note{font-family:var(--serif);font-weight:300;font-size:14px;line-height:2.2;color:var(--g5);max-width:500px;margin:32px auto 0;letter-spacing:.04em;}

/* ── ② 約束ということばの、なりたち ── */
.cp-roots{background:var(--ac-ll);padding-block:96px;}
.cp-roots-head{text-align:center;margin-bottom:64px;}
.cp-roots-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(22px,3.2vw,30px);letter-spacing:.14em;color:var(--ink);margin-top:14px;}
.cp-roots-head p{font-family:var(--serif);font-weight:300;font-size:14px;line-height:2.1;color:var(--g5);margin-top:18px;}
.cp-root{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0 56px;align-items:center;padding-block:48px;border-top:1px solid var(--ac-l);}
.cp-root:last-of-type{border-bottom:1px solid var(--ac-l);}
.cp-glyph{text-align:center;}
.cp-glyph b{display:block;font-family:var(--serif);font-weight:200;font-size:132px;line-height:1.05;color:var(--ac-d);}
.cp-glyph b.en{font-family:var(--script);font-style:italic;font-weight:300;font-size:64px;line-height:2.1;letter-spacing:.04em;}
.cp-glyph span{display:block;font-family:var(--serif);font-size:13px;letter-spacing:.3em;color:var(--ink);margin-top:6px;}
.cp-root h3{font-family:var(--serif);font-weight:400;font-size:clamp(18px,2.4vw,22px);letter-spacing:.1em;color:var(--ink);margin-bottom:16px;}
.cp-root p{font-family:var(--serif);font-weight:300;font-size:14.5px;line-height:2.2;color:var(--g5);max-width:34em;}
.cp-root p b{font-weight:500;color:var(--ink);}
.cp-root .ring-line{margin-top:18px;padding-left:18px;border-left:1px solid var(--ac);color:var(--ink);}
.cp-root-fig{grid-column:1/-1;margin:36px 0 0;}
.cp-root-fig img{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;}
.cp-foot{font-size:11px;color:var(--g4);text-align:right;margin-top:16px;}

/* ── ③ ひと結び ── */
.cp-knot{text-align:center;padding-block:104px 96px;}
.cp-knot p{font-family:var(--serif);font-weight:300;font-size:clamp(16px,2.2vw,20px);line-height:2.5;letter-spacing:.1em;color:var(--ink);}
.cp-knot p b{font-weight:400;color:var(--ac-d);}

/* ── ④ 12の約束 ── */
.cp-vows{padding-block:24px 96px;}
.cp-vows-head{text-align:center;margin-bottom:44px;}
.cp-vows-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(22px,3.2vw,30px);letter-spacing:.14em;margin-top:14px;}
.cp-vows-head p{font-family:var(--serif);font-weight:300;font-size:14px;color:var(--g5);margin-top:14px;line-height:2;}
.cp-vow-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--g2);}
.cp-vow-list li{border-bottom:1px solid var(--g2);}
.cp-vow-list li:not(:nth-child(3n)){border-right:1px solid var(--g2);}
.cp-vow-list a{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:20px 20px;transition:background .2s;}
.cp-vow-list a:hover{background:var(--ac-ll);}
.cp-vow-list img{width:96px;height:auto;aspect-ratio:800/488;object-fit:contain;background:#fff;}
.cp-vow-list .nm{font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:.14em;color:var(--ink);}
.cp-vow-list .mn{display:block;font-family:var(--serif);font-weight:300;font-size:11px;color:var(--g4);letter-spacing:.04em;}
.cp-vow-list .vw{display:block;font-family:var(--serif);font-size:13px;color:var(--g5);margin-top:4px;line-height:1.7;}

/* ── ⑤ つづきを読む ── */
.cp-next{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:96px;}
.cp-next a{display:block;border:1px solid var(--g3);padding:32px 32px 30px;transition:border-color .2s;}
.cp-next a:hover{border-color:var(--ac);}
.cp-next h3{font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:.1em;margin:10px 0 10px;}
.cp-next p{font-size:13px;color:var(--g5);line-height:1.9;}
.cp-next .go{display:inline-block;margin-top:14px;font-family:var(--serif);font-size:12px;letter-spacing:.08em;color:var(--ac-d);}

/* ── CTA ── */
.cp-cta{background:var(--ac-ll);text-align:center;padding:72px 24px;}
.cp-cta h2{font-family:var(--serif);font-weight:300;font-size:clamp(20px,3vw,26px);letter-spacing:.12em;margin:10px 0 14px;}
.cp-cta p{font-family:var(--serif);font-weight:300;font-size:14px;color:var(--g5);line-height:2;margin-bottom:26px;}
.cp-btn{display:inline-block;padding:14px 34px;background:var(--ac);color:#fff;font-family:var(--serif);font-size:13px;letter-spacing:.1em;transition:background .2s;}
.cp-btn:hover{background:var(--ac-d);}

a:focus-visible{outline:2px solid var(--ac-d);outline-offset:3px;}
.cp-hero h1,.cp-roots-head h2,.cp-root h3,.cp-vows-head h2,.cp-next h3{text-wrap:balance;}

@media(max-width:900px){
  .cp-wrap{padding:0 24px;}
  .cp-root{grid-template-columns:1fr;gap:18px;text-align:center;}
  .cp-root p{margin:0 auto;text-align:left;}
  .cp-root .ring-line{text-align:left;}
  .cp-glyph b{font-size:104px;}
  .cp-glyph b.en{font-size:52px;line-height:1.8;}
  .cp-vow-list{grid-template-columns:1fr 1fr;}
  .cp-vow-list li:not(:nth-child(3n)){border-right:none;}
  .cp-vow-list li:nth-child(odd){border-right:1px solid var(--g2);}
}
@media(max-width:600px){
  .cp-hero{padding-block:64px 64px;}
  .cp-lead{font-size:15px;letter-spacing:.04em;}
  .cp-knot p br.pc{display:none;}
  .cp-roots-head h2{font-size:20px;letter-spacing:.08em;}
  .cp-root h3{font-size:17px;letter-spacing:.04em;}
  .cp-roots{padding-block:72px;}
  .cp-vow-list{grid-template-columns:1fr;}
  .cp-vow-list li:nth-child(odd){border-right:none;}
  .cp-next{grid-template-columns:1fr;}
  .cp-root-fig img{aspect-ratio:4/3;}
  header .back-link{display:none;}
}
