.gp-customization {
  --blue:      #1B44C8;
  --blue-dark: #0C2589;
  --blue-mid:  #2255E0;
  --blue-100:  #EEF3FF;
  --blue-200:  #D4DEFF;
  --yellow:    #FFC300;
  --yellow-dk: #E5AF00;
  --navy:      #0C1F6E;
  --body:      #2E3F7C;
  --muted:     #7A8DB5;
  --card-bg:   #FFFFFF;
  --page-bg:   #F5F8FF;
  --border:    rgba(27,68,200,.13);
  --shadow:    0 3px 16px rgba(27,68,200,.10);
  --gp-grad:   linear-gradient(140deg,#0A1F80 0%,#1B44C8 55%,#2660DF 100%);
}

.gp-customization {font-family:'Noto Sans JP','Hiragino Sans',system-ui,sans-serif;color:var(--navy);line-height:1.7;-webkit-font-smoothing:antialiased}
.gp-customization *, .gp-customization *::before, .gp-customization *::after {box-sizing:border-box;margin:0;padding:0}
.gp-customization button {font-family:inherit;line-height:inherit}
.gp-customization .gp-entry{background:var(--gp-grad);padding:64px 24px 72px;position:relative;overflow:hidden}
.gp-customization .gp-entry::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.06) 0%,transparent 50%),radial-gradient(circle at 10% 80%,rgba(255,255,255,.04) 0%,transparent 40%);pointer-events:none}
.gp-customization .gp-entry::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.gp-customization .entry-inner{max-width:1000px;margin:0 auto;position:relative;z-index:1;text-align:center}
.gp-customization .entry-eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--yellow);background:rgba(255,195,0,.15);border:1px solid rgba(255,195,0,.35);border-radius:20px;padding:4px 16px;margin-bottom:18px}
.gp-customization .entry-title{font-size:clamp(26px,4vw,42px);font-weight:900;color:#fff;line-height:1.25;text-wrap:balance;margin-bottom:12px}
.gp-customization .entry-title span{color:var(--yellow)}
.gp-customization .entry-sub{font-size:14px;color:rgba(255,255,255,.75);max-width:520px;margin:0 auto 36px;line-height:1.75}
.gp-customization .entry-cta-btn{display:inline-flex;align-items:center;gap:12px;background:var(--yellow);color:var(--navy);font-size:16px;font-weight:900;letter-spacing:.04em;padding:18px 44px;border-radius:50px;border:none;cursor:pointer;box-shadow:0 6px 28px rgba(255,195,0,.40);transition:transform .18s,box-shadow .18s,background .15s;text-decoration:none}
.gp-customization .entry-cta-btn:hover,.gp-customization .entry-cta-btn:focus-visible{transform:translateY(-3px);box-shadow:0 10px 36px rgba(255,195,0,.55);background:#FFD030;outline:none}
.gp-customization .entry-cta-btn svg{transition:transform .18s;flex-shrink:0}
.gp-customization .entry-cta-btn:hover svg{transform:translateX(4px)}
.gp-customization .flow-wrapper{max-width:1060px;margin:0 auto}
.gp-customization .flow-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);padding:0 24px;background:var(--card-bg);position:sticky;top:37px;z-index:100}
.gp-customization .flow-tab{padding:14px 22px;font-size:14px;font-weight:700;color:var(--muted);background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;letter-spacing:.03em;transition:color .15s;display:flex;align-items:center;gap:8px;white-space:nowrap}
.gp-customization .flow-tab .tn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--blue-100);color:var(--blue);font-size:11px;font-weight:900}
.gp-customization .flow-tab:hover{color:var(--blue)}
.gp-customization .flow-tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.gp-customization .flow-tab.active .tn{background:var(--blue);color:#fff}
.gp-customization .flow-panel{display:none}
.gp-customization .flow-panel.active{display:block}
.gp-customization .scene-section{background:var(--page-bg);padding:48px 24px 56px}
.gp-customization .section-header{text-align:center;margin-bottom:36px}
.gp-customization .section-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--blue);margin-bottom:10px;display:block}
.gp-customization .section-title{font-size:clamp(20px,3vw,30px);font-weight:900;color:var(--navy);line-height:1.3;text-wrap:balance;margin-bottom:10px}
.gp-customization .section-sub{font-size:13px;color:var(--body);max-width:520px;margin:0 auto}
.gp-customization .hcard-list{display:flex;flex-direction:column;gap:10px;max-width:1020px;margin:0 auto 40px}
.gp-customization .hcard{display:flex;align-items:stretch;background:var(--card-bg);border-radius:12px;border:1.5px solid var(--border);box-shadow:var(--shadow);overflow:hidden;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;min-height:110px}
.gp-customization .hcard:hover,.gp-customization .hcard:focus-visible{transform:translateX(4px);box-shadow:0 6px 28px rgba(27,68,200,.16);border-color:var(--blue);outline:none}
.gp-customization .hcard-img{width:200px;flex-shrink:0;background-size:cover;background-position:center}
@media(max-width:600px){.gp-customization .hcard-img{width:120px}}
.gp-customization .hcard-body{flex:1;padding:14px 20px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
.gp-customization .hcard-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gp-customization .hcard-num{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--blue);background:var(--blue-100);padding:2px 9px;border-radius:20px;flex-shrink:0}
.gp-customization .hcard-title{font-size:16px;font-weight:900;color:var(--navy);line-height:1.2}
.gp-customization .hcard-tags{display:flex;flex-wrap:wrap;gap:6px}
.gp-customization .ft{font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-100);border:1px solid var(--blue-200);padding:3px 10px;border-radius:6px;letter-spacing:.02em}
.gp-customization .hcard-co{font-size:11px;color:var(--muted);line-height:1.4}
.gp-customization .hcard-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0 20px;color:var(--blue);font-size:11px;font-weight:700;flex-shrink:0;border-left:1px solid var(--border);min-width:76px;transition:background .15s}
.gp-customization .hcard:hover .hcard-cta{background:var(--blue-100)}
.gp-customization .hcard-cta svg{transition:transform .18s}
.gp-customization .hcard:hover .hcard-cta svg{transform:translateX(3px)}
.gp-customization .panel-note{text-align:center;font-size:13px;color:var(--muted)}
.gp-customization .feature-section{background:var(--blue-100);padding:48px 24px 56px}
.gp-customization .feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1020px;margin:0 auto 40px}
@media(max-width:880px){.gp-customization .feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.gp-customization .feature-grid{grid-template-columns:1fr}}
.gp-customization .feat-card{background:var(--card-bg);border-radius:14px;padding:20px 18px;border:1.5px solid var(--border);box-shadow:var(--shadow);position:relative;overflow:hidden}
.gp-customization .feat-card[data-custom]::after{content:'カスタム';position:absolute;top:10px;right:-10px;background:var(--yellow);color:var(--navy);font-size:9px;font-weight:900;letter-spacing:.05em;padding:2px 18px 2px 8px;border-radius:3px}
.gp-customization .feat-icon{width:38px;height:38px;border-radius:9px;background:var(--blue-100);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.gp-customization .feat-icon svg{width:20px;height:20px}
.gp-customization .feat-card h4{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:5px;line-height:1.35}
.gp-customization .feat-card p{font-size:12px;color:var(--body);line-height:1.6}
.gp-customization .panel-nav{text-align:center}
.gp-customization .btn-next{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:#fff;font-size:14px;font-weight:700;padding:13px 34px;border-radius:40px;cursor:pointer;border:none;transition:background .15s,transform .15s;letter-spacing:.03em}
.gp-customization .btn-next:hover{background:var(--blue-dark);transform:translateX(3px)}
.gp-customization .pricing-section{background:var(--page-bg);padding:48px 24px 56px}
.gp-customization .price-wrap{max-width:1020px;margin:0 auto}
.gp-customization .price-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
@media(max-width:700px){.gp-customization .price-main-grid{grid-template-columns:1fr}}
.gp-customization .price-box{background:var(--card-bg);border-radius:16px;border:1.5px solid var(--border);box-shadow:var(--shadow);overflow:hidden}
.gp-customization .price-box.featured{border-color:var(--blue);box-shadow:0 6px 36px rgba(27,68,200,.18)}
.gp-customization .price-box-head{padding:20px 24px 16px;background:var(--blue);}
.gp-customization .price-box.api .price-box-head{background:var(--blue)}
.gp-customization .price-box.interval .price-box-head{background:var(--navy)}
.gp-customization .price-box-head h3{font-size:18px;font-weight:900;color:#fff;margin-bottom:4px}
.gp-customization .price-box-head p{font-size:12px;color:rgba(255,255,255,.72)}
.gp-customization .ptable{width:100%;border-collapse:collapse;font-size:13px}
.gp-customization .ptable th{background:var(--blue-100);color:var(--navy);font-weight:700;padding:9px 14px;text-align:left;font-size:12px}
.gp-customization .ptable td{padding:9px 14px;border-bottom:1px solid var(--border);color:var(--body);vertical-align:middle}
.gp-customization .ptable tr:last-child td{border-bottom:none}
.gp-customization .ptable tr:hover td{background:var(--blue-100)}
.gp-customization .price-val{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.gp-customization .price-free{color:var(--blue);font-weight:700}
.gp-customization .price-quote{color:var(--muted);font-style:italic}
.gp-customization .ptable-wrap{overflow-x:auto}
.gp-customization .cmenu-box{background:var(--card-bg);border-radius:16px;border:1.5px solid var(--border);box-shadow:var(--shadow);overflow:hidden;margin-bottom:28px}
.gp-customization .cmenu-head{padding:20px 24px 16px;background:linear-gradient(130deg,#1B44C8,#2660DF)}
.gp-customization .cmenu-head h3{font-size:18px;font-weight:900;color:#fff;margin-bottom:4px}
.gp-customization .cmenu-head p{font-size:12px;color:rgba(255,255,255,.72)}
.gp-customization .pricing-note{text-align:center;font-size:12px;color:var(--muted);max-width:600px;margin:0 auto;line-height:1.7}

/* Integration and responsive adjustments. */
.gp-customization {font-size:16px;background:var(--page-bg)}
/* Keep horizontal scrolling on narrow screens without a vertical scrollbar. */
.gp-customization .flow-tabs {position:relative;top:auto;z-index:1;overflow-x:auto;overflow-y:hidden;padding:0 12px;scroll-margin-top:16px}
.gp-customization .flow-tab {min-height:52px}
.gp-customization .flow-panel[hidden] {display:none}
.gp-customization :focus-visible {outline:3px solid #2255E0;outline-offset:4px}
.gp-customization .entry-cta-btn {max-width:100%;text-align:center;justify-content:center}
.gp-customization .entry-cta-btn:focus-visible {outline:3px solid white;outline-offset:5px}
.gp-customization .muted {color:var(--muted)}
.gp-customization .cmenu-box .ptable {min-width:650px}
@media(max-width:600px) {
 .gp-customization .gp-entry {padding:48px 20px}
 .gp-customization .entry-cta-btn {padding:16px 22px;font-size:14px}
 .gp-customization .scene-section,.gp-customization .feature-section,.gp-customization .pricing-section {padding:32px 16px 40px}
 .gp-customization .hcard {flex-wrap:wrap}
 .gp-customization .hcard-img {width:100%;height:140px}
 .gp-customization .hcard-body {padding:16px 14px;flex-basis:calc(100% - 76px)}
 .gp-customization .hcard-cta {padding:12px 10px;min-width:76px}
 .gp-customization .hcard-title {font-size:15px;line-height:1.5}
 .gp-customization .flow-tab {padding:14px 12px;font-size:13px}
}
@media(prefers-reduced-motion:reduce) {
 .gp-customization * {transition:none!important;scroll-behavior:auto!important}
}
