/* gbp（Googleマップに載せるホームページLP）専用。接頭辞 .gb- */
.gb-sec{--gb-mint:#e7f5f2;--gb-mint2:#d3ede7;--gb-teal:#0f8f7e;--gb-teal-d:#0b6f62;--gb-deep:#0d3b44;--gb-blue:#2f7fd0;--gb-pin:#e8503a;--gb-line:#cfe4df;--gb-font:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  color:var(--gb-deep);padding:clamp(60px,8vw,104px) 16px!important;position:relative}
.gb-sec h1,.gb-sec h2,.gb-sec h3{font-family:var(--gb-font)}
.gb-white{background:#fff}
.gb-mint{background:var(--gb-mint)}

/* ===== ピン ===== */
.gb-pin{position:relative;z-index:0;width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Outfit",sans-serif;font-weight:800;font-size:18px;line-height:1;margin:0!important}
.gb-pin::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gb-pin);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:-2px 3px 6px rgba(13,59,68,.25)}
.gb-pin:empty::after{content:"";width:13px;height:13px;border-radius:50%;background:#fff}
.gb-pin-lg{width:52px;height:52px;flex-basis:52px}
.gb-pin-lg:empty::after{width:17px;height:17px}

/* ===== ボタン ===== */
.gb-btns{gap:12px!important;margin-top:1.4em!important}
.gb-sec .wp-block-button.is-style-cx-cta .wp-block-button__link{background:linear-gradient(180deg,#14a58f,var(--gb-teal-d));color:#fff;font-family:var(--gb-font);box-shadow:0 4px 0 #075247,0 12px 26px rgba(15,143,126,.3);border-radius:4px;padding:1em 2em}
.gb-sec .wp-block-button.is-style-cx-cta .wp-block-button__link:hover{color:#fff;box-shadow:0 2px 0 #075247}
.gb-sec .wp-block-button.is-style-cx-sub .wp-block-button__link{border-color:var(--gb-deep);color:var(--gb-deep);background:#fff}
.gb-sec > .gb-btns,.gb-close-box .gb-btns{justify-content:center}

/* ===== ファーストビュー（地図の地紋） ===== */
.gb-fv{overflow:hidden;padding-top:clamp(40px,6vw,76px)!important;padding-bottom:clamp(48px,6vw,84px)!important;
  background:
    linear-gradient(118deg,transparent 0 58%,#fff 58% 59.6%,transparent 59.6%),
    linear-gradient(28deg,transparent 0 70%,#fff 70% 71.2%,transparent 71.2%),
    linear-gradient(160deg,transparent 0 30%,rgba(255,255,255,.9) 30% 31%,transparent 31%),
    linear-gradient(100deg,transparent 0 82%,#bfe1f2 82% 86%,transparent 86%),
    radial-gradient(circle at 74% 78%,#c9ead9 0 90px,transparent 91px),
    linear-gradient(rgba(13,59,68,.05) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg,rgba(13,59,68,.05) 1px,transparent 1px) 0 0/44px 44px,
    var(--gb-mint)}
.gb-fv-cols{max-width:1180px!important;margin:0 auto!important;align-items:center!important;gap:clamp(20px,4vw,52px)!important}
.gb-kicker{display:inline-flex;align-items:center;gap:.5em;background:var(--gb-deep);color:#fff;font-weight:900;font-size:14.5px;padding:.35em .9em;border-radius:3px;margin:0 0 1em!important}
.gb-kicker::before{content:"";width:.8em;height:.8em;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--gb-pin)}
.gb-fv h1{font-size:clamp(26px,2.9vw,39px);line-height:1.35;margin:0 0 .45em!important;color:var(--gb-deep)}
.gb-fv h1 strong{color:var(--gb-teal);font-family:"Outfit",var(--gb-font);font-size:1.5em;line-height:1;display:inline-block;margin-top:.05em}
.gb-fv h1 strong small{font-family:var(--gb-font);font-size:.42em}
.gb-fv-sub{font-weight:700;font-size:clamp(15px,1.7vw,18px)}
ul.gb-fv-list{list-style:none;padding:0!important;margin:1em 0 0!important;display:flex;flex-wrap:wrap;gap:8px}
ul.gb-fv-list li{background:#fff;border:1px solid var(--gb-line);border-radius:3px;padding:.35em .85em;font-weight:700;font-size:14.5px}
ul.gb-fv-list li strong{color:var(--gb-teal)}
.gb-micro{font-size:13px;color:#4f6c72;margin-top:.8em!important}

/* 店舗情報の見本カード */
.gb-place{background:#fff;border-radius:4px;box-shadow:0 24px 50px rgba(13,59,68,.18);padding:22px 22px 18px!important;max-width:440px;margin:0 auto!important;position:relative}
.gb-place > *{margin:0!important}
.gb-place-head{display:grid!important;grid-template-columns:52px 1fr;column-gap:16px!important;row-gap:0!important;align-items:center;padding:0 0 14px 4px!important;border-bottom:1px solid #e6eeec}
.gb-place-head > *{margin:0!important}
.gb-place-head .gb-pin{grid-row:span 2}
.gb-place-name{font-family:var(--gb-font);font-weight:900;font-size:22px;line-height:1.3;align-self:end}
.gb-place-cat{font-size:13px;color:#5f777c;align-self:start}
.gb-row{display:grid!important;grid-template-columns:96px 1fr;gap:8px!important;padding:11px 0!important;border-bottom:1px solid #eef3f2;align-items:center}
.gb-row > *{margin:0!important;font-size:14.5px}
.gb-row-k{color:#5f777c;font-weight:700}
.gb-row-v{font-weight:700}
.gb-row-web{background:#fff4e8;border:2px solid var(--gb-pin);border-radius:4px;padding:11px 10px!important;margin:8px -10px 0!important}
.gb-row-web .gb-row-v{color:var(--gb-blue);font-family:"Outfit","Noto Sans JP",sans-serif;font-weight:700;word-break:break-all}
.gb-place-tip{text-align:center;font-weight:900;font-size:14px;color:var(--gb-pin);margin-top:12px!important}
.gb-place-tip::before{content:"▲ ";font-size:.8em}
.gb-cap{font-size:12px;color:#5f777c;text-align:center;margin-top:12px!important}

/* ===== 見出し ===== */
.gb-en{display:flex;align-items:center;justify-content:center;gap:.6em;font-family:"Outfit",sans-serif;font-weight:800;letter-spacing:.2em;font-size:14px;color:var(--gb-teal);margin:0 auto .4em!important}
.gb-en::before,.gb-en::after{content:"";width:28px;border-top:2px dashed currentColor}
.gb-sec h2.gb-h{text-align:center;font-size:clamp(25px,3.4vw,38px);line-height:1.45;margin:0 auto .6em!important;max-width:900px}
.gb-lead{text-align:center;font-weight:700;font-size:clamp(15px,1.7vw,18px);max-width:820px;margin:0 auto 2em!important}
.gb-note{text-align:center;font-size:13px;color:#4f6c72;max-width:860px;margin:1.6em auto 0!important}

/* ===== 悩み ===== */
.gb-worries{max-width:1080px;margin:0 auto!important;gap:18px!important}
.gb-worry{display:flex!important;gap:16px!important;align-items:flex-start;background:var(--gb-mint);border-radius:4px;padding:22px 20px!important}
.gb-worry > *{margin:0!important}
.gb-worry .gb-pin{margin-top:4px!important}
.gb-worry-t{font-weight:700;font-size:16px;line-height:1.7}
.gb-worry-t strong{background:linear-gradient(transparent 62%,#ffd9cf 62%)}
.gb-answer{max-width:820px;margin:28px auto 0!important;text-align:center;font-weight:700;font-size:clamp(15px,1.7vw,17px);background:#fff;border:2px solid var(--gb-teal);border-radius:4px;padding:18px 20px!important}

/* ===== 手順ガイド（ルート） ===== */
.gb-route{max-width:800px;margin:0 auto!important;position:relative;padding-left:0!important}
.gb-route::before{content:"";position:absolute;left:19px;top:60px;bottom:120px;border-left:4px dashed var(--gb-teal);opacity:.55}
.gb-route > *{margin:0 0 16px!important}
.gb-phase{display:inline-block;background:var(--gb-teal);color:#fff;font-weight:900;font-size:14px;padding:.3em .9em;border-radius:3px;margin-left:56px!important;position:relative}
.gb-phase-2{background:var(--gb-blue);margin-top:14px!important}
.gb-step{display:grid!important;grid-template-columns:40px 1fr;gap:16px!important;align-items:start;position:relative}
.gb-step > *{margin:0!important}
.gb-step .gb-pin{margin-top:14px!important}
.gb-step-body{background:#fff;border-radius:4px;padding:16px 20px!important;box-shadow:0 6px 18px rgba(13,59,68,.07)}
.gb-step-body > *{margin:0!important}
.gb-step-body h3{font-size:19px!important;margin:.25em 0 .2em!important;color:var(--gb-deep)}
.gb-step-body p:not(.gb-step-tag){font-size:15px;color:#2f4f56}
.gb-step-tag{display:inline-block;font-size:12.5px;font-weight:900;color:var(--gb-teal);background:var(--gb-mint);padding:.1em .6em;border-radius:3px}
.gb-pin-g::before{background:var(--gb-blue)}
.gb-input-wrap{margin-left:56px!important;background:#fff;border-radius:4px;padding:16px 18px!important;border:1px solid var(--gb-line)}
.gb-input-wrap > *{margin:0!important}
.gb-input-label{font-size:13px;font-weight:700;color:#5f777c;margin-bottom:6px!important}
.gb-input{border:2px solid var(--gb-blue);border-radius:4px;padding:.55em .8em!important;font-family:"Outfit","Noto Sans JP",sans-serif;font-weight:700;color:var(--gb-deep);background:#f7fbff;position:relative;word-break:break-all}
.gb-input::after{content:"";display:inline-block;width:2px;height:1.1em;background:var(--gb-blue);vertical-align:-.15em;margin-left:2px;animation:gb-caret 1s steps(1) infinite}
@keyframes gb-caret{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.gb-input::after{animation:none}}

/* ===== .com と .jp ===== */
.gb-url-cols{max-width:940px;margin:0 auto!important;gap:22px!important}
.gb-url{border-radius:4px;padding:26px 22px!important;height:100%;position:relative}
.gb-url > *{margin:0 0 .5em!important}
.gb-url-ng{background:#f5f6f6;border:1px dashed #b9c4c6}
.gb-url-ok{background:#fff;border:2px solid var(--gb-teal);box-shadow:0 14px 30px rgba(15,143,126,.14)}
.gb-mark{position:absolute;top:-16px;left:20px;font-family:"Outfit",sans-serif;font-weight:800;font-size:15px;color:#fff;padding:.2em .8em;border-radius:3px}
.gb-mark-ng{background:#8a979a}
.gb-mark-ok{background:var(--gb-teal)}
.gb-url-k{font-weight:900;font-size:14px;color:#5f777c}
.gb-url-v{font-family:"Outfit","Noto Sans JP",sans-serif;font-weight:700;font-size:clamp(19px,2.2vw,24px);word-break:break-all}
.gb-url-ng .gb-url-v{color:#8a979a;text-decoration:line-through}
.gb-url-ok .gb-url-v{color:var(--gb-teal-d)}
.gb-url-d{font-size:14.5px;color:#2f4f56}

/* ===== 揃える情報 ===== */
.gb-infos{max-width:1080px;margin:0 auto!important;gap:16px!important}
.gb-info{background:#fff;border-radius:4px;padding:22px 20px!important;text-align:center}
.gb-info > *{margin:0 auto .4em!important}
.gb-info .gb-pin{margin:4px auto 12px!important}
.gb-info h3{font-size:18px!important}
.gb-info p:not(.gb-pin){font-size:14.5px;text-align:left;color:#2f4f56}

/* ===== スマホの見本 ===== */
.gb-phones{max-width:860px;margin:0 auto!important;gap:clamp(16px,3vw,36px)!important}
.gb-phones .wp-block-image{margin:0!important}
.gb-phones .wp-block-image img{border:8px solid var(--gb-deep);border-radius:22px!important;aspect-ratio:9/17;object-fit:cover;object-position:top;box-shadow:0 18px 36px rgba(13,59,68,.2);display:block;width:100%}
.gb-phones figcaption{text-align:center;font-weight:700;font-size:13.5px;color:var(--gb-deep);margin-top:.7em}

/* ===== 料金 ===== */
.gb-fees{max-width:1040px;margin:0 auto!important;gap:16px!important}
.gb-fee{background:#fff;border-radius:4px;padding:22px 16px!important;text-align:center;border-top:0}
.gb-fee > *{margin:0!important}
.gb-fee-k{font-weight:900;font-size:14px;color:#5f777c}
.gb-fee-v{font-family:var(--gb-font);font-weight:900;font-size:20px;line-height:1.2;margin:.15em 0 .3em!important}
.gb-fee-v strong{font-family:"Outfit",var(--gb-font);font-size:2.3em;color:var(--gb-teal);margin-right:.05em}
.gb-fee:first-child{background:var(--gb-deep);color:#fff}
.gb-fee:first-child .gb-fee-k{color:#a9c6c9}
.gb-fee:first-child .gb-fee-v strong{color:#6fe0cc}
.gb-fee-d{font-size:13.5px}

/* ===== FAQ ===== */
.gb-faq details.is-style-cx-faq{border-color:var(--gb-line)}
.gb-faq details.is-style-cx-faq summary{color:var(--gb-deep)}
.gb-faq details.is-style-cx-faq summary::before{color:var(--gb-teal)}
.gb-faq details a{color:var(--gb-teal-d)}
.gb-faq{padding-bottom:40px!important}
.gb-more-sec{padding-top:0!important;padding-bottom:56px!important}
details.gb-more{max-width:900px;margin:0 auto!important;background:var(--gb-mint);border-radius:4px}
details.gb-more summary{cursor:pointer;font-weight:900;padding:1em 1.2em}
details.gb-more > :not(summary){padding:0 1.2em 1.2em;margin:0;font-size:15px}

/* ===== 締め ===== */
.gb-close{background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(150deg,#0d3b44,#0b5a5a);color:#fff}
.gb-close-box{max-width:860px!important;margin:0 auto!important;text-align:center}
.gb-close-box > *{margin-left:auto!important;margin-right:auto!important}
.gb-pin-close{margin-bottom:18px!important}
.gb-sec h2.gb-close-h{color:#fff;font-size:clamp(25px,3.6vw,40px);line-height:1.45;margin:0 auto .4em!important}
.gb-close-h strong{color:#6fe0cc}
.gb-close-p{font-weight:700;color:#d8ecea}
.gb-note-light{color:#a9c6c9}
.gb-close .wp-block-button.is-style-cx-cta .wp-block-button__link{background:#fff;color:var(--gb-teal-d);box-shadow:0 4px 0 #6fe0cc}

/* ===== スマホ ===== */
@media (max-width:781px){
  .gb-fv{text-align:center}
  .gb-fv h1{font-size:25px}
  .gb-sec h2 br{display:none}
  ul.gb-fv-list{justify-content:center}
  .gb-fv .gb-btns{justify-content:center}
  .gb-fv .gb-btns .wp-block-button,.gb-fv .gb-btns .wp-block-button__link{width:100%}
  .gb-place{text-align:left;margin-top:12px!important}
  .gb-sec h2.gb-h{font-size:23px}
  .gb-lead{text-align:left}
  .gb-route::before{left:19px}
  .gb-phase{margin-left:0!important}
  .gb-input-wrap{margin-left:0!important}
  .gb-step{gap:12px!important}
  .gb-step-body{padding:14px!important}
  .gb-phones{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .gb-phones .wp-block-image img{border-width:4px;border-radius:12px!important}
  .gb-phones figcaption{font-size:11px}
  .gb-row{grid-template-columns:84px 1fr}
  .gb-sec .wp-block-button.is-style-cx-cta .wp-block-button__link{padding:1em .8em}
}

@media (min-width:782px){
  .gb-worries{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .gb-phones{grid-template-columns:repeat(3,minmax(0,220px))!important;justify-content:center}
  .gb-infos{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .gb-fees{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (min-width:782px) and (max-width:1000px){.gb-infos,.gb-fees{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.gb-sec h1,.gb-sec h2,.gb-sec h3{word-break:auto-phrase}
@media (max-width:781px){
  .gb-infos{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .gb-info{padding:16px 12px!important}
  .gb-info h3{font-size:16px!important}
  .gb-info p:not(.gb-pin){font-size:13.5px}
}
