/* ========================================
   Select Gift Card LP - 0527デザイン版 共通CSS
   元: 指示・素材/0527追加/index.html のインラインCSS
   FutureShop移植: #lp-sgcard スコープ／サイドパネル・ヘッダー・フッター除去／画像パス絶対化
   配置先(本番): https://www.giftstyle.jp/img/select_gift_card/sgcard.css
   ======================================== */

:root{
  --paper:#f7efe2;
  --soft:#f0e8d8;
  --ink:#111827;
  --ink-2:#2d3748;
  --ink-3:#666;
  --ink-mute:#999;
  --line:rgba(17,24,39,.16);
  --line-soft:rgba(17,24,39,.1);
  --accent:#b9965b;
  --accent-deep:#0c1a38;
  --rose:#b94a4a;
  --col-w:500px;
}

#lp-sgcard *,
#lp-sgcard *::before,
#lp-sgcard *::after{ box-sizing:border-box; }

#lp-sgcard{
  font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  position:relative;
  width:100%;
  max-width:var(--col-w);
  margin:0 auto;
  background:var(--paper);
  overflow:hidden;
}
#lp-sgcard img{ display:block; max-width:100%; }
#lp-sgcard button{ font:inherit; cursor:pointer; border:0; background:none; }
#lp-sgcard a{ color:inherit; text-decoration:none; }
#lp-sgcard h1,#lp-sgcard h2,#lp-sgcard h3,#lp-sgcard h4,#lp-sgcard p{ margin:0; }
#lp-sgcard ul,#lp-sgcard ol{ margin:0; padding:0; list-style:none; }

/* HERO */
#lp-sgcard .hero{ position:relative; height:640px; overflow:hidden; }
#lp-sgcard .slides{ position:absolute; inset:0; }
#lp-sgcard .slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.4s ease; }
#lp-sgcard .slide.active{ opacity:1; }
#lp-sgcard .slide-bg{ position:absolute; inset:0; }
#lp-sgcard .slide-1 .slide-bg{ background:url('https://www.giftstyle.jp/img/select_gift_card/hero.jpg') center/cover no-repeat; }
#lp-sgcard .hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.1) 30%, rgba(0,0,0,.82) 100%);
  z-index:1;
}
#lp-sgcard .hero-content{
  position:absolute; inset:0; z-index:2; padding:36px 28px 80px;
  display:flex; flex-direction:column; justify-content:flex-end; color:#fff;
}
#lp-sgcard .hero-eyebrow{
  font-size:11px; font-weight:700; letter-spacing:0.2em; color:#fff;
  margin-bottom:14px; display:inline-flex; align-items:center; gap:10px; align-self:flex-start;
  padding:6px 12px; background:rgba(0,0,0,.52); border:1px solid rgba(255,255,255,.4);
}
#lp-sgcard .hero-title{ font-size:32px; font-weight:900; line-height:1.4; letter-spacing:0.02em; margin-bottom:14px; text-shadow:0 2px 12px rgba(0,0,0,.8); }
#lp-sgcard .hero-title .row2{ font-size:38px; }
#lp-sgcard .hero-sub{ font-size:14px; line-height:1.9; color:rgba(255,255,255,.92); font-weight:500; margin-bottom:22px; text-shadow:0 1px 8px rgba(0,0,0,.7); }
#lp-sgcard .hero-cta-row{ display:flex; gap:10px; }
#lp-sgcard .hero-cta{
  flex:0 0 auto; min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:11px 28px; font-size:13px; font-weight:500; text-align:center;
  border-radius:999px; letter-spacing:0.04em;
  box-shadow:0 6px 18px rgba(12,26,56,.22);
  transition:transform 280ms cubic-bezier(0.4,0,0.2,1), box-shadow 280ms cubic-bezier(0.4,0,0.2,1), outline 280ms ease;
  animation:cta-float 3s ease-in-out infinite;
}
#lp-sgcard .hero-cta:nth-child(2){ animation-delay:0.4s; }
@keyframes cta-float{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-4px); }
}
#lp-sgcard .hero-cta:hover{ transform:translateY(-5px); box-shadow:0 12px 28px rgba(12,26,56,.32); animation-play-state:paused; }
#lp-sgcard .hero-cta:active{ transform:translateY(0); box-shadow:0 4px 12px rgba(12,26,56,.18); animation-play-state:paused; }
#lp-sgcard .hero-cta.primary{ background:var(--accent-deep); color:var(--paper); border:1px solid var(--accent-deep); }
#lp-sgcard .hero-cta.primary:hover{ outline:1px solid rgba(185,150,91,.6); outline-offset:4px; }
#lp-sgcard .hero-cta.secondary{ background:#06C755; color:#fff; border:1px solid #06C755; }
#lp-sgcard .hero-cta.secondary:hover{ background:#05B34C; border-color:#05B34C; box-shadow:0 12px 32px rgba(6,199,85,.35); }

/* SECTION HEADING */
#lp-sgcard .section{ padding:48px 28px; }
#lp-sgcard .sec-head{ margin-bottom:28px; }
#lp-sgcard .section-heading{ font-family:"Shippori Mincho","Noto Serif JP",serif; letter-spacing:-0.02em; text-wrap:balance; margin:0 0 28px; }
#lp-sgcard .sh-center{ text-align:center; }
#lp-sgcard .section-heading .sh-label{ font-family:"Cormorant Garamond","Shippori Mincho",serif; font-style:italic; font-weight:400; letter-spacing:0.15em; }
#lp-sgcard .section-heading .sh-title{ display:block; }
#lp-sgcard .section-heading .sh-sub{ display:block; font-size:14px; color:var(--ink); opacity:.75; margin-top:10px; letter-spacing:0.02em; font-weight:400; font-style:normal; }
/* A: スラッシュ＋横線 */
#lp-sgcard .sh-a{ color:var(--accent-deep); display:block; width:100%; }
#lp-sgcard .sh-a .sh-label{
  display:flex; align-items:center; justify-content:center; gap:8px;
  color:var(--accent); font-size:12px; letter-spacing:0.06em;
  margin-bottom:2px; font-family:"Shippori Mincho",serif; font-style:normal;
  white-space:nowrap; width:100%;
}
#lp-sgcard .sh-a .sh-label::before,
#lp-sgcard .sh-a .sh-label::after{ content:""; flex:1; height:1px; background:var(--accent); }
#lp-sgcard .sh-a .sh-label .slash-l,
#lp-sgcard .sh-a .sh-label .slash-r{ flex-shrink:0; }
#lp-sgcard .sh-a .sh-title{ display:block; font-size:32px; font-weight:700; line-height:1.3; color:var(--accent-deep); padding:4px 0 10px; border-bottom:1px solid var(--accent); }

/* SECTION BG */
#lp-sgcard .problem{ background:#fff; }
#lp-sgcard .agitation{ background:#f5f0ea !important; }
#lp-sgcard .solution{ background:#f5f0ea !important; }
#lp-sgcard .points{ background:#fff; }
#lp-sgcard .lineup{ background:#f5f0ea !important; }
#lp-sgcard .scenes{ background:#fff; }
#lp-sgcard .flow{ background:#f5f0ea !important; }
#lp-sgcard .plans{ background:#fff; }
#lp-sgcard .faq{ background:#f5f0ea !important; }
#lp-sgcard .info{ background:#fff; }
#lp-sgcard .closing{ background:#f5f0ea !important; }
#lp-sgcard .line-section{ background:#fff !important; }

/* PROBLEM */
#lp-sgcard .problem-list{ display:flex; flex-direction:column; gap:12px; }
#lp-sgcard .problem-card{ background:#fff; border:1px solid var(--line); padding:20px; display:flex; gap:16px; align-items:flex-start; }
#lp-sgcard .problem-card .num{ flex-shrink:0; width:34px; height:34px; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; }
#lp-sgcard .problem-card .body{ flex:1; }
#lp-sgcard .problem-card .head{ font-size:15px; font-weight:700; line-height:1.6; color:var(--ink); margin-bottom:8px; }
#lp-sgcard .problem-card .quote{ font-size:12.5px; line-height:1.85; color:var(--ink-3); padding-left:14px; border-left:2px solid var(--line); }

/* AGITATION */
#lp-sgcard .agitation{ padding:56px 28px 0; text-align:center; }
#lp-sgcard .agitation p{ font-size:15px; line-height:2.1; color:var(--ink-2); font-weight:500; }
#lp-sgcard .agitation .pop{ display:block; margin-top:18px; font-size:19px; font-weight:900; color:var(--ink); }
#lp-sgcard .agitation .arrow{ display:flex; align-items:center; justify-content:center; margin:0 auto 20px; width:40px; height:52px; }
#lp-sgcard .solution .arrow{ display:flex; align-items:center; justify-content:center; margin:40px auto 40px; width:40px; height:52px; }

/* SOLUTION */
#lp-sgcard .solution{ color:var(--ink); padding:0 28px 64px; text-align:center; }
#lp-sgcard .solution .lead{ font-size:15px; line-height:1.9; color:var(--ink-2); font-weight:500; margin-bottom:24px; }
#lp-sgcard .solution .name{ font-size:34px; font-weight:500; letter-spacing:0.02em; line-height:1.3; margin-bottom:32px; }
#lp-sgcard .solution .name .a{ color:var(--accent-deep); }
#lp-sgcard .solution .product-visual{ width:80%; aspect-ratio:1.7/1; margin:0 auto; overflow:hidden; position:relative; }
#lp-sgcard .pv-slideshow{ position:relative; width:100%; height:100%; }
#lp-sgcard .pv-slide{ position:absolute; inset:0; opacity:0; transition:opacity 0.7s ease; }
#lp-sgcard .pv-slide.active{ opacity:1; }
#lp-sgcard .pv-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
#lp-sgcard .pv-dots{ position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:5; }
#lp-sgcard .pv-dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.5); border:none; cursor:pointer; padding:0; transition:background 0.3s; }
#lp-sgcard .pv-dot.active{ background:#fff; }

/* POINTS */
#lp-sgcard .points{ padding:60px 28px; }
#lp-sgcard .points-list{ display:flex; flex-direction:column; gap:30px; }
#lp-sgcard .point-item{ border-top:1px solid var(--line); padding-top:30px; }
#lp-sgcard .point-item:first-child{ border-top:0; padding-top:0; }
#lp-sgcard .point-row{ display:flex; align-items:baseline; gap:14px; margin-bottom:14px; }
#lp-sgcard .point-num{ font-size:36px; font-weight:900; color:var(--accent); line-height:1; }
#lp-sgcard .point-num .small{ font-size:13px; font-weight:700; color:var(--ink-mute); margin-right:4px; }
#lp-sgcard .point-title{ font-size:18px; font-weight:900; line-height:1.5; color:var(--ink); }
#lp-sgcard .point-title .pop{ color:var(--ink); }
#lp-sgcard .point-body{ font-size:13.5px; line-height:1.95; color:var(--ink-2); margin-bottom:14px; text-wrap:pretty; }

/* LINEUP */
#lp-sgcard .lineup{ background:var(--soft); padding:60px 0; overflow:hidden; }
#lp-sgcard .lineup .sec-head{ padding:0 28px; }
#lp-sgcard .lineup .lead{ padding:0 28px; font-size:13.5px; line-height:1.95; color:var(--ink-2); margin-bottom:24px; }
#lp-sgcard .lineup .cats{ padding:0 28px; display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
#lp-sgcard .lineup .cat{ padding:8px 16px; background:#fff; border:1px solid var(--line); font-size:12px; font-weight:600; color:var(--ink); }
#lp-sgcard .lineup .row{ overflow:hidden; }
#lp-sgcard .lineup .row .track{ display:flex; gap:10px; animation:mq 50s linear infinite; will-change:transform; }
#lp-sgcard .lineup .row.rev .track{ animation-direction:reverse; animation-duration:60s; margin-top:10px; }
@keyframes mq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
#lp-sgcard .lineup .tile{ flex-shrink:0; width:160px; aspect-ratio:1/1; overflow:hidden; }
#lp-sgcard .lineup .tile img{ width:100%; height:100%; object-fit:cover; display:block; }

/* SCENES */
#lp-sgcard .scenes{ padding:60px 28px; }
#lp-sgcard .scenes-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; }
#lp-sgcard .scene-card{ background:#fff; border:1px solid var(--line); }
#lp-sgcard .scene-card .img{ width:100%; aspect-ratio:4/3; background:#f0f0f0; }
#lp-sgcard .scene-card .body{ padding:14px 16px 18px; }
#lp-sgcard .scene-card .title{ font-size:14px; font-weight:700; color:var(--ink); margin-bottom:6px; }
#lp-sgcard .scene-card .desc{ font-size:12px; line-height:1.8; color:var(--ink-3); text-wrap:pretty; }

/* FLOW */
#lp-sgcard .flow{ background:var(--soft); padding:60px 28px; display:flex; flex-direction:column; align-items:center; gap:40px; }
#lp-sgcard .flow .sec-head{ width:100%; max-width:var(--col-w); }
#lp-sgcard .flow-list{ display:flex; flex-direction:column; gap:6px; width:100%; }
#lp-sgcard .flow-item{ display:grid; grid-template-columns:16px 1fr; gap:20px; align-items:center; }
#lp-sgcard .flow-item-bar{ display:grid; grid-template-rows:auto 1fr; gap:6px; justify-items:center; height:100%; }
@keyframes wiggle{
  0%{ transform: rotateY(0deg); }
  50%{ transform: rotateY(180deg); }
  100%{ transform: rotateY(360deg); }
}
#lp-sgcard .flow-item-bar .fi-star{ width:16px; height:21px; color:var(--accent); flex-shrink:0; transform-style:preserve-3d; animation:wiggle 4s ease-in infinite; }
#lp-sgcard .flow-item-bar .fi-line{ width:1.5px; background:var(--line); height:0; }
#lp-sgcard .flow-item:last-child .fi-line{ display:none; }
#lp-sgcard .flow-item-content{ padding:0 0 44px 0; }
#lp-sgcard .flow-item-content .fi-step{ font-size:22px; font-weight:900; color:var(--accent); letter-spacing:0.06em; line-height:1; margin-bottom:12px; }
#lp-sgcard .flow-item-content .fi-title{ font-size:15px; font-weight:700; color:var(--ink); line-height:1.6; margin-bottom:8px; }
#lp-sgcard .flow-item-content .fi-body{ font-size:13px; line-height:1.9; color:var(--ink-3); text-wrap:pretty; }
#lp-sgcard .flow-note{ font-size:11px; color:var(--ink-mute); text-align:center; }

/* PLANS */
#lp-sgcard .plans{ padding:48px 28px; background:var(--paper); }
#lp-sgcard .plans-note{ font-size:12.5px; color:var(--ink-3); margin-bottom:28px; line-height:1.85; }
#lp-sgcard .plans-list{ display:flex; flex-direction:column; gap:16px; }
#lp-sgcard .plan-card{ background:var(--paper); border:1px solid var(--line); padding:24px 22px; position:relative; }
#lp-sgcard .plan-card.featured{ border:2px solid var(--ink); }
#lp-sgcard .plan-card .ribbon{ position:absolute; top:0; left:50%; transform:translate(-50%, -50%); background:var(--rose); color:#fff; padding:5px 18px; font-size:11px; font-weight:700; letter-spacing:0.04em; }
#lp-sgcard .plan-head{ padding-bottom:14px; border-bottom:1px solid var(--line); margin-bottom:14px; }
#lp-sgcard .plan-name{ font-size:20px; font-weight:900; color:var(--ink); }
#lp-sgcard .plan-price{ display:flex; align-items:baseline; gap:4px; margin-bottom:14px; }
#lp-sgcard .plan-price .num{ font-size:36px; font-weight:900; color:var(--ink); line-height:1; }
#lp-sgcard .plan-price .yen{ font-size:18px; font-weight:700; color:var(--ink); }
#lp-sgcard .plan-price .tax{ font-size:11px; color:var(--ink-mute); margin-left:6px; }
#lp-sgcard .plan-target{ display:inline-block; padding:6px 12px; background:var(--soft); border:1px solid var(--line); font-size:11px; font-weight:600; color:var(--ink-2); margin-bottom:14px; }
#lp-sgcard .plan-desc{ font-size:13px; line-height:1.95; color:var(--ink-2); margin-bottom:18px; text-wrap:pretty; }
#lp-sgcard .plan-cta{ display:block; padding:16px 24px; background:var(--ink); color:#fff; text-align:center; font-size:13px; font-weight:700; }

/* Designed plan card — sticky note style */
#lp-sgcard .plan-card.designed{
  background:#fff; border:0; padding:30px 28px 26px; position:relative;
  box-shadow:0 2px 8px rgba(17,24,39,.1), 0 12px 28px rgba(17,24,39,.08);
  transform:rotate(-1deg); overflow:visible;
}
#lp-sgcard .plan-card.designed::before{
  content:""; position:absolute; top:0; left:24px; right:24px;
  height:14px; background:rgba(185,150,91,0.2);
}
#lp-sgcard .plan-card.designed .plan-head{ padding:0; border:0; margin:0 0 14px; }
#lp-sgcard .plan-card.designed .plan-target{
  display:block; background:transparent; border:0; padding:0;
  font-family:"Caveat", cursive;
  font-size:18px; color:var(--accent); margin-bottom:4px; letter-spacing:0.02em;
}
#lp-sgcard .plan-card.designed .plan-target::before{ content:none; }
#lp-sgcard .plan-card.designed .plan-name{ font-size:22px; font-weight:500; letter-spacing:0.06em; color:var(--ink); }
#lp-sgcard .plan-card.designed .plan-price{ display:flex; align-items:baseline; gap:4px; margin:0 0 14px; padding:0; border:0; }
#lp-sgcard .plan-card.designed .plan-price .num{ font-size:50px; font-weight:500; line-height:1; color:var(--ink); }
#lp-sgcard .plan-card.designed .plan-price .yen{ font-size:16px; font-weight:500; }
#lp-sgcard .plan-card.designed .plan-price .tax{ font-size:10px; color:var(--ink-mute); margin-left:8px; }
#lp-sgcard .plan-card.designed .plan-desc{ font-size:12.5px; line-height:1.95; color:var(--ink-2); margin:0 0 18px; padding:0; border:0; }
#lp-sgcard .plan-card.designed .plan-cta{
  display:block; padding:13px 20px;
  background:var(--ink); color:#fff;
  text-align:center; font-size:12px; font-weight:500; letter-spacing:0.2em;
  transform:rotate(1deg); border:0;
}
#lp-sgcard .plan-card.designed.featured .ribbon{
  position:absolute; top:14px; right:14px; left:auto; transform:none;
  width:64px; height:64px; border-radius:50%;
  background:#fff; color:var(--accent-deep);
  border:1.5px solid var(--accent-deep);
  box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--accent-deep);
  padding:0; display:flex; align-items:center; justify-content:center;
  font-family:"Noto Serif JP",serif;
  font-size:10px; font-weight:600; letter-spacing:0.02em; line-height:1.4;
  text-align:center; white-space:normal;
}

/* FAQ */
#lp-sgcard .faq{ padding:60px 28px; background:var(--soft); }
#lp-sgcard .faq-list{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--ink); }
#lp-sgcard .faq-item{ border-bottom:1px solid var(--line); background:#fff; }
#lp-sgcard .faq-q{ display:flex; align-items:center; gap:14px; padding:12px 4px; cursor:pointer; user-select:none; }
#lp-sgcard .faq-q .label{ width:24px; height:24px; flex-shrink:0; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; }
#lp-sgcard .faq-q .text{ flex:1; font-size:14px; font-weight:700; color:var(--ink); }
#lp-sgcard .faq-q .toggle{ font-size:18px; color:var(--ink-mute); transition:transform .2s; }
#lp-sgcard .faq-item.open .faq-q .toggle{ transform:rotate(45deg); }
#lp-sgcard .faq-a{ display:none; padding:0 4px 18px 42px; font-size:13px; line-height:1.95; color:var(--ink-2); text-wrap:pretty; }
#lp-sgcard .faq-item.open .faq-a{ display:block; }

/* INFO */
#lp-sgcard .info{ padding:60px 28px; background:var(--paper); }
#lp-sgcard .info-list{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--ink); }
#lp-sgcard .info-row{ display:grid; grid-template-columns:130px 1fr; gap:14px; padding:18px 4px; border-bottom:1px solid var(--line); font-size:13px; line-height:1.85; }
#lp-sgcard .info-row .k{ font-size:12px; font-weight:700; color:var(--ink); letter-spacing:0.04em; }
#lp-sgcard .info-row .v{ color:var(--ink-2); }
#lp-sgcard .info-row .v strong{ color:var(--ink); font-weight:700; }
#lp-sgcard .info-row .v .note{ display:block; font-size:11px; color:var(--ink-mute); margin-top:4px; }

/* CLOSING */
#lp-sgcard .closing{ background:#faf8f3; color:var(--ink-2); padding:56px 28px 64px; text-align:left; position:relative; }
#lp-sgcard .closing .frame{ position:relative; padding:48px 32px 40px; }
#lp-sgcard .closing .frame::before{
  content:"\201C"; position:absolute; top:-30px; left:-4px;
  font-family:"Noto Serif JP",serif; font-size:80px; line-height:1;
  color:#c19a4d; font-weight:500; transform:scaleY(-1);
}
#lp-sgcard .closing h2{ font-weight:500; font-size:21px; line-height:1.95; letter-spacing:0.06em; margin:0 0 20px; color:var(--ink); }
#lp-sgcard .closing h2 .pop{ color:#8a6d33; background:linear-gradient(transparent 65%, rgba(193,154,77,0.25) 65%); padding:0 4px; }
#lp-sgcard .closing .lead{ font-size:12.5px; line-height:2.0; color:var(--ink-3); margin:0; letter-spacing:0.04em; }
#lp-sgcard .closing .sign{ text-align:right; margin-top:24px; font-size:11px; letter-spacing:0.24em; color:#8a6d33; }
#lp-sgcard .closing .sign::before{ content:""; display:inline-block; width:24px; height:1px; background:#c19a4d; vertical-align:middle; margin-right:10px; }
#lp-sgcard .closing .cta-wrap{ display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:36px; max-width:340px; margin-left:auto; margin-right:auto; }
#lp-sgcard .closing .cta{ position:relative; display:flex; align-items:center; justify-content:center; gap:14px; width:100%; padding:20px 28px; background:var(--ink); color:#fff; text-decoration:none; font-size:14.5px; font-weight:500; letter-spacing:0.2em; transition:background 0.2s; }
#lp-sgcard .closing .cta .arr{ color:#c19a4d; font-size:14px; }
#lp-sgcard .closing .cta:hover{ background:#000; }
#lp-sgcard .closing .cta.sub{ background:#06C755; color:#fff; border:1px solid #06C755; }
#lp-sgcard .closing .cta.sub .arr{ color:#fff; }
#lp-sgcard .closing .cta.sub:hover{ background:#05B34C; border-color:#05B34C; }

/* CROSS-SELL */
#lp-sgcard .cross-sell{ margin:0; padding:64px 28px 56px; background:#faf8f3; color:var(--ink); position:relative; overflow:hidden; }
#lp-sgcard .cross-sell::after{
  content:""; position:absolute; top:-80px; right:-80px;
  width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(193,154,77,0.16), transparent 70%);
  pointer-events:none;
}
#lp-sgcard .cross-sell h3{ position:relative; text-align:center; font-weight:500; font-size:22px; line-height:1.75; letter-spacing:0.06em; margin:0 0 18px; }
#lp-sgcard .cross-sell h3 .a{ color:var(--accent); }
#lp-sgcard .cross-sell p{ position:relative; text-align:center; font-size:12.5px; line-height:2.0; color:var(--ink-3); margin:0 auto 32px; max-width:380px; text-wrap:pretty; }
#lp-sgcard .cross-sell .panels{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:32px; align-items:stretch; }
#lp-sgcard .cross-sell .panels .p{ aspect-ratio:3/4; position:relative; overflow:hidden; }
#lp-sgcard .cross-sell .panels .pa{ background:url('https://www.giftstyle.jp/img/select_gift_card/crosscell_01.png') center/cover no-repeat; }
#lp-sgcard .cross-sell .panels .pb{ background:url('https://www.giftstyle.jp/img/select_gift_card/crosscell_02.png') center/cover no-repeat; }
#lp-sgcard .cross-sell .panels .pc{ background:url('https://www.giftstyle.jp/img/select_gift_card/crosscell_03.png') center/cover no-repeat; }
#lp-sgcard .cross-sell .panels .p .tag,
#lp-sgcard .cross-sell .panels .p .num{ display:none; }
#lp-sgcard .cross-sell .cs-cta-wrap{ position:relative; text-align:center; }
#lp-sgcard .cross-sell .cs-cta{ display:inline-flex; align-items:center; gap:18px; margin:0 auto; padding:18px 36px; background:transparent; color:var(--ink); border:1px solid rgba(193,154,77,0.6); font-size:14px; font-weight:500; letter-spacing:0.22em; text-decoration:none; transition:background 0.2s; }
#lp-sgcard .cross-sell .cs-cta:hover{ background:rgba(193,154,77,0.1); }
#lp-sgcard .cross-sell .cs-cta::after{ content:"→"; color:var(--accent); font-size:16px; }

/* LINE */
#lp-sgcard .line-section{ margin:0; padding:36px 28px; text-align:center; }
#lp-sgcard .line-section h3{ font-size:16px; font-weight:900; margin-bottom:8px; }
#lp-sgcard .line-section p{ font-size:12.5px; line-height:1.85; margin-bottom:18px; color:rgba(255,255,255,.95); }
#lp-sgcard .line-section .lc-cta{ display:inline-block; padding:14px 32px; background:#fff; color:#06c755; font-size:13px; font-weight:700; }

/* Mincho font unification (内部要素のみ／削除済セレクタは除外) */
#lp-sgcard,
#lp-sgcard .hero-eyebrow,
#lp-sgcard .hero-title,
#lp-sgcard .hero-sub,
#lp-sgcard .hero-cta,
#lp-sgcard .agitation p,
#lp-sgcard .agitation .pop,
#lp-sgcard .solution .lead,
#lp-sgcard .solution .name,
#lp-sgcard .points-list,
#lp-sgcard .point-num,
#lp-sgcard .point-num .small,
#lp-sgcard .point-title,
#lp-sgcard .point-body,
#lp-sgcard .lineup .cat,
#lp-sgcard .lineup .tile,
#lp-sgcard .scenes-grid,
#lp-sgcard .scene-card .title,
#lp-sgcard .flow-note,
#lp-sgcard .plans-note,
#lp-sgcard .plan-card,
#lp-sgcard .plan-name,
#lp-sgcard .plan-price .num,
#lp-sgcard .plan-price .yen,
#lp-sgcard .plan-price .tax,
#lp-sgcard .plan-target,
#lp-sgcard .plan-desc,
#lp-sgcard .plan-cta,
#lp-sgcard .faq-q,
#lp-sgcard .faq-q .label,
#lp-sgcard .faq-q .text,
#lp-sgcard .faq-a,
#lp-sgcard .info-row,
#lp-sgcard .info-row .k,
#lp-sgcard .info-row .v,
#lp-sgcard .closing h2,
#lp-sgcard .closing .lead,
#lp-sgcard .closing .cta,
#lp-sgcard .cross-sell h3,
#lp-sgcard .cross-sell p,
#lp-sgcard .cross-sell .cs-cta,
#lp-sgcard .line-section h3,
#lp-sgcard .line-section p,
#lp-sgcard .line-section .lc-cta,
#lp-sgcard .problem-card,
#lp-sgcard .problem-card .head,
#lp-sgcard .problem-card .quote,
#lp-sgcard .problem-card .num{
  font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
}
#lp-sgcard .hero-title,
#lp-sgcard .solution .name,
#lp-sgcard .closing h2,
#lp-sgcard .point-num,
#lp-sgcard .plan-name,
#lp-sgcard .plan-price .num{ font-weight:700; }
#lp-sgcard .point-num,
#lp-sgcard .plan-price .num,
#lp-sgcard .hero-badge{ font-family:"Noto Serif JP",serif !important; }

/* カートに入れる ボタン (商品ラインナップを見るの下に追加) */
#lp-sgcard .plan-card.designed .plan-cart-form{ margin-top:10px; padding:0; }
#lp-sgcard .plan-card.designed .plan-cta{ width:100%; box-sizing:border-box; }
#lp-sgcard .plan-card.designed .plan-cta-buy{ background:#2d3748; color:#fff; }
#lp-sgcard .plan-card.designed .plan-cta-buy:hover{ background:#1a2330; }
/* closing セクションが親サイトのカラムレイアウト影響で異常に細い縦組みになる現象を抑制（PC/SP両対応） */
#lp-sgcard .closing,
#lp-sgcard .closing *{ column-count:1 !important; column-width:auto !important; writing-mode:horizontal-tb !important; }
#lp-sgcard .closing .frame{ display:block; width:100%; }
#lp-sgcard .closing h2{ display:block; width:100%; }
#lp-sgcard .closing .lead{ display:block; width:100%; }
#lp-sgcard .closing .sign{ display:block; width:100%; text-align:right; }
#lp-sgcard .closing .cta-wrap{ max-width:none; width:100%; }
/* SP向け追加調整 */
@media (max-width:600px){
  #lp-sgcard .closing{ padding:40px 20px 48px; }
  #lp-sgcard .closing .frame{ padding:36px 4px 24px; }
  #lp-sgcard .closing .frame::before{ font-size:56px; top:-16px; left:0; }
  #lp-sgcard .closing h2{ font-size:17px; line-height:1.85; letter-spacing:0.04em; margin:0 0 16px; }
  #lp-sgcard .closing .lead{ font-size:12px; line-height:1.95; }
  #lp-sgcard .closing .sign{ margin-top:20px; }
}


/* SP cross-sell パネルが表示されない問題対策: aspect-ratio未対応ブラウザのために padding 比率方式も併用 */
#lp-sgcard .cross-sell .panels .p::before{ content:""; display:block; padding-bottom:133.33%; }
#lp-sgcard .cross-sell .panels .p{ aspect-ratio:auto; }
@media (max-width:600px){
  #lp-sgcard .cross-sell .panels{ gap:4px; }
  #lp-sgcard .cross-sell .panels .p{ min-height:140px; }
}

/* 親サイトSP固定追従LINEボタン (.fixed_banner / .fixed_line) を Select Gift Card ページで非表示 */
.fixed_banner,
.fixed_line{ display:none !important; }

