@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

/* ========================================
   セクション6 院内CPC（旧クラス）
   ======================================== */
.cpc-kicker {
  font-size: 10px !important;
  letter-spacing: .24em !important;
  color: #9baebb !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
.cpc-title {
  font-family: 'Noto Sans JP', serif !important;
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 400 !important;
  color: #13355e !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 10px !important;
}
.cpc-lead {
  font-size: 14px !important;
  font-weight: 300 !important;
  color: #6b7f93 !important;
  line-height: 2 !important;
  margin-bottom: 28px !important;
  letter-spacing: .04em !important;
}
.cpc-table {
  width: 100% !important;
  border-collapse: collapse !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.07) !important;
  overflow: hidden !important;
}
.cpc-table thead tr th:first-child { background: #e8ecf0 !important; color: #555 !important; }
.cpc-table thead tr th:nth-child(2) { background: #13355e !important; color: #fff !important; }
.cpc-table thead tr th:nth-child(3) { background: #8a96a3 !important; color: #fff !important; }
.cpc-table th, .cpc-table td {
  padding: 14px 16px !important;
  text-align: center !important;
  border-bottom: 1px solid #eef2f7 !important;
  font-size: 13px !important;
  font-weight: 300 !important;
}
.cpc-table td:first-child { background: #f4f6fa !important; color: #444 !important; font-weight: 500 !important; text-align: left !important; }
.cpc-table td:nth-child(2) { background: #fff !important; color: #1a5c38 !important; font-weight: 500 !important; }
.cpc-table td:nth-child(3) { background: #fafafa !important; color: #aaa !important; }
.cpc-footnote { font-size: 11px !important; color: #9baebb !important; margin-top: 10px !important; font-weight: 300 !important; }
.cpc-mini {
  background: #fff !important;
  border-top: 2px solid #1e6e48 !important;
  border-radius: 8px !important;
  padding: 20px 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.05) !important;
}
.cpc-mini p { font-size: 11px !important; letter-spacing: .18em !important; color: #1e6e48 !important; text-transform: uppercase !important; margin-bottom: 6px !important; font-weight: 300 !important; }
.cpc-mini h3 { font-size: 14px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 6px !important; padding: 0 !important; border: none !important; background: transparent !important; }
@media (max-width: 768px) {
  .cpc-table { font-size: 12px !important; }
  .cpc-table th, .cpc-table td { padding: 10px 10px !important; }
}

/* ========================================
   セクション7 適応の考え方
   ======================================== */
.adp-tag { font-size: 10px !important; letter-spacing: .24em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 8px !important; }
.adp-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-bottom: 10px !important; }
.adp-lead { font-size: 15px !important; font-weight: 300 !important; color: #6b7f93 !important; line-height: 2 !important; margin-bottom: 28px !important; letter-spacing: .04em !important; }
.adp-card-yes { background: #fff !important; border: 1px solid #d0e8da !important; border-top: 2px solid #1e6e48 !important; border-radius: 8px !important; padding: 24px 22px !important; }
.adp-card-lbl-yes { font-size: 10px !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: #1e6e48 !important; font-weight: 500 !important; margin-bottom: 8px !important; }
.adp-card-yes h3 { font-size: 15px !important; font-weight: 600 !important; color: #13355e !important; margin-bottom: 12px !important; padding: 0 !important; border: none !important; background: transparent !important; }
.adp-list-yes { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.adp-list-yes li { font-size: 13px !important; font-weight: 300 !important; color: #3a4d60 !important; padding: 8px 0 !important; border-bottom: 1px solid #f0f4f9 !important; display: flex !important; align-items: flex-start !important; gap: 8px !important; line-height: 1.7 !important; }
.adp-list-yes li::before { content: '›' !important; color: #1e6e48 !important; font-weight: 700 !important; flex-shrink: 0 !important; }
.adp-card-cau { background: #fff !important; border: 1px solid #fde68a !important; border-top: 2px solid #d97706 !important; border-radius: 8px !important; padding: 24px 22px !important; }
.adp-card-lbl-cau { font-size: 10px !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: #d97706 !important; font-weight: 500 !important; margin-bottom: 8px !important; }
.adp-card-cau h3 { font-size: 15px !important; font-weight: 600 !important; color: #13355e !important; margin-bottom: 12px !important; padding: 0 !important; border: none !important; background: transparent !important; }
.adp-list-cau { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.adp-list-cau li { font-size: 13px !important; font-weight: 300 !important; color: #3a4d60 !important; padding: 8px 0 !important; border-bottom: 1px solid #fef9e7 !important; display: flex !important; align-items: flex-start !important; gap: 8px !important; line-height: 1.7 !important; }
.adp-list-cau li::before { content: '⚠' !important; color: #d97706 !important; font-size: 11px !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.adp-note { font-size: 12px !important; font-weight: 300 !important; color: #9baebb !important; line-height: 1.9 !important; margin-top: 16px !important; margin-bottom: 24px !important; letter-spacing: .04em !important; }
@media (max-width: 768px) {
  .adp-card-yes, .adp-card-cau { margin-bottom: 12px !important; }
}

/* ========================================
   セクション8 症状から探す
   ======================================== */
.sym-tag { font-size: 10px !important; letter-spacing: .24em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 8px !important; }
.sym-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-bottom: 20px !important; }
.sym-cover { transition: filter .3s ease !important; cursor: pointer !important; border-radius: 4px !important; overflow: hidden !important; }
.sym-cover:hover { filter: brightness(.65) !important; }
.sym-cover h3 { font-family: 'Noto Sans JP', serif !important; font-size: 18px !important; font-weight: 500 !important; color: #fff !important; letter-spacing: .06em !important; text-align: center !important; border: none !important; padding: 0 !important; margin-bottom: 10px !important; text-shadow: 0 1px 8px rgba(0,0,0,.4) !important; background: transparent !important; }
.sym-cover p { font-size: 12px !important; font-weight: 300 !important; color: rgba(255,255,255,.8) !important; text-align: center !important; letter-spacing: .04em !important; line-height: 1.9 !important; }
@media (max-width: 768px) { .sym-cover h3 { font-size: 15px !important; } }

/* ========================================
   セクション9 料金
   ======================================== */
.price-tag { font-size: 10px !important; letter-spacing: .22em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 8px !important; }
.price-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-bottom: 8px !important; }
.price-lead { font-size: 14px !important; font-weight: 300 !important; color: #6b7f93 !important; line-height: 2 !important; margin-bottom: 28px !important; }
.price-card { background: #fff !important; border-radius: 8px !important; overflow: hidden !important; box-shadow: 0 4px 20px rgba(0,0,0,.07) !important; padding: 0 !important; }
.price-card.navy::before { content: '' !important; display: block !important; height: 4px !important; background: #13355e !important; }
.price-card.green::before { content: '' !important; display: block !important; height: 4px !important; background: #1e6e48 !important; }
.price-card.gray::before { content: '' !important; display: block !important; height: 4px !important; background: #9baebb !important; }
.price-card > * { padding-left: 22px !important; padding-right: 22px !important; }
.price-card p:first-of-type { padding-top: 22px !important; }
.price-card p { font-size: 9px !important; letter-spacing: .18em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 6px !important; font-weight: 300 !important; }
.price-card h3 { font-family: 'Noto Sans JP', serif !important; font-size: 15px !important; font-weight: 600 !important; color: #13355e !important; margin-bottom: 16px !important; padding: 0 22px !important; border: none !important; background: transparent !important; }
.price-table { width: 100% !important; border-collapse: collapse !important; margin-bottom: 22px !important; }
.price-table td { padding: 11px 22px !important; border-bottom: 1px solid #f0f4f9 !important; font-size: 13px !important; font-weight: 300 !important; vertical-align: middle !important; }
.price-table td:first-child { color: #6b7f93 !important; line-height: 1.6 !important; }
.price-table td:last-child { text-align: right !important; font-weight: 700 !important; color: #13355e !important; white-space: nowrap !important; font-size: 14px !important; }
.price-card.green .price-table td:last-child { color: #1e6e48 !important; }
.price-note { font-size: 11px !important; font-weight: 300 !important; color: #9baebb !important; margin-bottom: 20px !important; line-height: 1.9 !important; }
@media (max-width: 768px) {
  .price-card h3 { padding: 0 16px !important; }
  .price-table td { padding: 10px 16px !important; }
}
@media (max-width: 768px) {
  .wp-block-columns:has(.price-card) { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; gap: 12px !important; padding-bottom: 8px !important; -webkit-overflow-scrolling: touch !important; }
  .wp-block-columns:has(.price-card) .wp-block-column { min-width: 280px !important; flex-shrink: 0 !important; }
  .price-table td { font-size: 12px !important; padding: 10px 14px !important; }
}

/* ========================================
   セクション10 FAQ
   ======================================== */
.faq-tag { font-size: 10px !important; letter-spacing: .24em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 8px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.faq-tag::before { content: '' !important; width: 14px !important; height: 1px !important; background: #9baebb !important; flex-shrink: 0 !important; }
.faq-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-bottom: 8px !important; }
.faq-lead { font-size: 14px !important; font-weight: 300 !important; color: #6b7f93 !important; line-height: 2 !important; margin-bottom: 28px !important; letter-spacing: .04em !important; }
.faq-item { border-bottom: 1px solid #f0f4f9 !important; }
.faq-item:first-of-type { border-top: 1px solid #f0f4f9 !important; }
.faq-item .swell-block-accordion__title { font-size: 14px !important; font-weight: 400 !important; color: #1c2b3a !important; padding: 18px 0 !important; letter-spacing: .04em !important; line-height: 1.6 !important; background: transparent !important; border: none !important; }
.faq-item .swell-block-accordion__title:hover { color: #13355e !important; }
.faq-item .swell-block-accordion__body { font-size: 13px !important; font-weight: 300 !important; color: #6b7f93 !important; line-height: 2.1 !important; letter-spacing: .04em !important; padding: 0 0 18px !important; background: transparent !important; }

/* ========================================
   セクション11 院長紹介
   ======================================== */
.doc-tag { font-size: 10px !important; letter-spacing: .24em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 8px !important; }
.doc-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-bottom: 24px !important; }
.doc-img img { width: 100% !important; border-radius: 4px !important; display: block !important; }
.doc-geo { background: rgba(255,255,255,.8) !important; border-left: 3px solid #13355e !important; border-top: none !important; border-right: none !important; border-bottom: none !important; padding: 14px 18px !important; font-size: 14px !important; font-weight: 300 !important; color: #3a4d60 !important; line-height: 2 !important; letter-spacing: .04em !important; margin-bottom: 16px !important; border-radius: 0 !important; }
.doc-quote { font-family: 'Noto Sans JP', serif !important; font-size: 15px !important; font-weight: 400 !important; color: #13355e !important; border-left: 2px solid #13355e !important; border-top: none !important; border-right: none !important; border-bottom: none !important; padding: 12px 18px !important; line-height: 1.9 !important; background: rgba(255,255,255,.8) !important; margin-bottom: 16px !important; border-radius: 0 !important; }
.doc-quote p { margin: 0 !important; font-size: 15px !important; color: #13355e !important; }
.doc-quote cite { display: none !important; }
.doc-table { width: 100% !important; border-collapse: collapse !important; margin-bottom: 16px !important; }
.doc-table td { padding: 9px 0 !important; font-size: 13px !important; font-weight: 300 !important; border-bottom: 1px solid rgba(19,53,94,.06) !important; vertical-align: top !important; line-height: 1.8 !important; letter-spacing: .04em !important; }
.doc-table td:first-child { color: #9baebb !important; width: 56px !important; font-size: 11px !important; padding-right: 10px !important; }
.doc-table td:last-child { color: #3a4d60 !important; }
.doc-career { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.doc-career li { font-size: 13px !important; font-weight: 300 !important; color: #3a4d60 !important; padding: 8px 0 !important; border-bottom: 1px solid rgba(19,53,94,.06) !important; display: flex !important; gap: 8px !important; line-height: 1.7 !important; letter-spacing: .04em !important; }
.doc-career li::before { content: '—' !important; color: #9baebb !important; flex-shrink: 0 !important; }
.doc-name-en { font-size: 10px !important; letter-spacing: .22em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 4px !important; font-weight: 300 !important; }
.doc-name-ja { font-family: 'Zen Kurenaido', serif !important; font-size: clamp(36px, 4vw, 52px) !important; font-weight: 400 !important; color: #13355e !important; letter-spacing: .14em !important; line-height: 1.2 !important; border: none !important; padding: 0 !important; margin-bottom: 8px !important; }
.doc-name-role { font-size: 12px !important; font-weight: 300 !important; color: #6b7f93 !important; line-height: 1.9 !important; letter-spacing: .06em !important; margin-bottom: 20px !important; padding-bottom: 20px !important; border-bottom: 1px solid rgba(19,53,94,.08) !important; }
@media (max-width: 768px) {
  .doc-name-ja { font-size: 36px !important; }
  .doc-img { margin-bottom: 20px !important; }
}

/* ========================================
   セクション12 アクセス
   ======================================== */
.acc-tag { font-size: 10px !important; letter-spacing: .24em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 8px !important; }
.acc-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-bottom: 24px !important; }
.acc-map iframe { width: 100% !important; height: 360px !important; border-radius: 4px !important; display: block !important; border: none !important; }
.acc-name { font-family: 'Noto Sans JP', serif !important; font-size: 18px !important; font-weight: 500 !important; color: #13355e !important; margin-bottom: 14px !important; letter-spacing: .06em !important; }
.acc-table { width: 100% !important; border-collapse: collapse !important; margin-bottom: 16px !important; }
.acc-table td { padding: 10px 0 !important; font-size: 13px !important; font-weight: 300 !important; border-bottom: 1px solid rgba(19,53,94,.06) !important; vertical-align: top !important; line-height: 1.8 !important; letter-spacing: .04em !important; }
.acc-table td:first-child { color: #9baebb !important; width: 56px !important; font-size: 11px !important; padding-right: 10px !important; }
.acc-table td:last-child { color: #3a4d60 !important; }
.acc-hours { background: rgba(255,255,255,.85) !important; border-left: 3px solid #1e6e48 !important; border-top: none !important; border-right: none !important; border-bottom: none !important; padding: 12px 16px !important; font-size: 13px !important; font-weight: 300 !important; color: #3a4d60 !important; line-height: 2.1 !important; letter-spacing: .04em !important; margin-bottom: 16px !important; border-radius: 0 !important; }
@media (max-width: 768px) { .acc-map iframe { height: 240px !important; } }

/* ========================================
   セクション13 お問い合わせ
   ======================================== */
.contact-tag { font-size: 10px !important; letter-spacing: .28em !important; color: rgba(255,255,255,.35) !important; text-transform: uppercase !important; text-align: center !important; margin-bottom: 10px !important; }
.contact-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(24px, 3vw, 36px) !important; font-weight: 400 !important; color: #fff !important; letter-spacing: .06em !important; text-align: center !important; border: none !important; padding: 0 !important; margin-bottom: 8px !important; }
.contact-sub { font-size: 14px !important; color: rgba(255,255,255,.5) !important; letter-spacing: .06em !important; text-align: center !important; margin-bottom: 28px !important; }
.contact-body { font-size: 14px !important; font-weight: 300 !important; color: rgba(255,255,255,.6) !important; line-height: 2.4 !important; letter-spacing: .06em !important; text-align: center !important; margin-bottom: 32px !important; max-width: 580px !important; margin-left: auto !important; margin-right: auto !important; }
.contact-btn-main .wp-block-button__link { background: #fff !important; color: #13355e !important; border: none !important; border-radius: 0 !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: .1em !important; padding: 18px 48px !important; box-shadow: none !important; transition: opacity .2s !important; }
.contact-btn-main .wp-block-button__link:hover { opacity: .85 !important; background: #fff !important; }
.contact-btn-tel .wp-block-button__link { background: transparent !important; color: rgba(255,255,255,.65) !important; border: none !important; border-bottom: 1px solid rgba(255,255,255,.2) !important; border-radius: 0 !important; font-size: 13px !important; font-weight: 300 !important; letter-spacing: .06em !important; padding: 4px 0 !important; box-shadow: none !important; }
.contact-btn-tel .wp-block-button__link:hover { color: rgba(255,255,255,.9) !important; }
.contact-btn-main, .contact-btn-tel { text-align: center !important; }
.contact-reassure { font-size: 11px !important; color: rgba(255,255,255,.3) !important; text-align: center !important; letter-spacing: .08em !important; margin-top: 20px !important; line-height: 2.2 !important; }
.con-tag { font-size: 11px !important; letter-spacing: .18em !important; color: rgba(255,255,255,.5) !important; display: flex !important; align-items: center !important; gap: 6px !important; margin-bottom: 8px !important; }
.con-tag::before { content: '' !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: rgba(255,255,255,.4) !important; flex-shrink: 0 !important; }
.con-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(26px, 3vw, 36px) !important; font-weight: 400 !important; color: #fff !important; letter-spacing: .06em !important; border: none !important; padding: 0 !important; margin-bottom: 28px !important; }
.con-card { background: #f5f0e8 !important; border-radius: 16px !important; padding: 32px 28px !important; display: flex !important; flex-direction: column !important; gap: 18px !important; }
.con-card-tag { font-size: 10px !important; letter-spacing: .16em !important; color: #888 !important; display: flex !important; align-items: center !important; gap: 5px !important; margin-bottom: 4px !important; font-weight: 300 !important; }
.con-card-tag.green::before { content: '' !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #2d8c6e !important; flex-shrink: 0 !important; }
.con-card-tag.orange::before { content: '' !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #c97a2e !important; flex-shrink: 0 !important; }
.con-card h3 { font-family: 'Noto Sans JP', serif !important; font-size: 22px !important; font-weight: 500 !important; color: #1a2a4a !important; letter-spacing: .04em !important; line-height: 1.4 !important; border: none !important; padding: 0 !important; background: transparent !important; margin-bottom: 0 !important; }
.con-card p { font-size: 14px !important; color: #4a5568 !important; line-height: 2 !important; font-weight: 300 !important; letter-spacing: .04em !important; }
.con-btn .wp-block-button__link { background: #1a3a6e !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: .08em !important; padding: 16px 22px !important; width: 100% !important; text-align: left !important; box-shadow: none !important; transition: opacity .2s !important; }
.con-btn .wp-block-button__link:hover { opacity: .85 !important; background: #1a3a6e !important; }
.con-btn { width: 100% !important; }
@media (max-width: 768px) {
  .con-card { padding: 24px 20px !important; }
  .con-card h3 { font-size: 18px !important; }
}

/* ========================================
   フッター
   ======================================== */
#footer { background: #0a1a2e !important; padding: 48px 44px 24px !important; }
#footer h3 { font-family: 'Noto Sans JP', serif !important; font-size: 16px !important; font-weight: 400 !important; color: #fff !important; letter-spacing: .08em !important; margin-bottom: 8px !important; border: none !important; padding: 0 !important; background: transparent !important; }
#footer p { font-size: 12px !important; color: rgba(255,255,255,.4) !important; line-height: 2 !important; letter-spacing: .04em !important; font-weight: 300 !important; }
.f-col-title { font-size: 10px !important; letter-spacing: .18em !important; color: rgba(255,255,255,.3) !important; text-transform: uppercase !important; margin-bottom: 12px !important; }
.f-links { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.f-links li a { font-size: 12px !important; color: rgba(255,255,255,.5) !important; text-decoration: none !important; letter-spacing: .04em !important; line-height: 1.6 !important; transition: color .2s !important; }
.f-links li a:hover { color: rgba(255,255,255,.9) !important; }
#footer .copyright { font-size: 10px !important; color: rgba(255,255,255,.2) !important; letter-spacing: .06em !important; border-top: 1px solid rgba(255,255,255,.07) !important; padding-top: 20px !important; margin-top: 32px !important; }

/* ========================================
   セクション4 定義ブロック
   ======================================== */
.def-sec-tag { font-size: 10px !important; letter-spacing: .22em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 7px !important; margin-bottom: 8px !important; }
.def-sec-tag::before { content: '' !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #9baebb !important; flex-shrink: 0 !important; }
.def-sec-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 8px !important; }
.def-sec-lead { font-size: 14px !important; font-weight: 300 !important; color: #6b7f93 !important; line-height: 1.9 !important; margin-bottom: 28px !important; }
.def-card { background: #fff !important; border-radius: 14px !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
.def-card-img img { width: 100% !important; aspect-ratio: 16/9 !important; object-fit: cover !important; display: block !important; border-radius: 0 !important; }
.def-card-tag { font-size: 9px !important; letter-spacing: .18em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 5px !important; margin-bottom: 6px !important; margin-top: 16px !important; font-weight: 300 !important; }
.def-card-tag::before { content: '' !important; width: 5px !important; height: 5px !important; border-radius: 50% !important; flex-shrink: 0 !important; }
.def-card-tag.blue::before { background: #2d6aa0 !important; }
.def-card-tag.green::before { background: #1e6e48 !important; }
.def-card-tag.purple::before { background: #6a5aaa !important; }
.def-card h3 { font-family: 'Noto Sans JP', serif !important; font-size: 18px !important; font-weight: 500 !important; color: #13355e !important; letter-spacing: .04em !important; line-height: 1.4 !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 10px !important; background: transparent !important; }
.def-card p { font-size: 13px !important; color: #4a5568 !important; line-height: 2 !important; font-weight: 300 !important; letter-spacing: .04em !important; margin-bottom: 14px !important; }
.def-btn-primary .wp-block-button__link { background: #13355e !important; color: #fff !important; border: none !important; border-radius: 6px !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .06em !important; padding: 12px 16px !important; width: 100% !important; text-align: left !important; box-shadow: none !important; display: flex !important; justify-content: space-between !important; align-items: center !important; transition: opacity .2s !important; }
.def-btn-primary .wp-block-button__link:hover { opacity: .85 !important; background: #13355e !important; }
.def-btn-primary .wp-block-button__link::after { content: '›' !important; font-size: 16px !important; opacity: .7 !important; }
.def-btn-primary { width: 100% !important; margin-bottom: 8px !important; }
.def-btn-secondary .wp-block-button__link { background: #f0f4f9 !important; color: #13355e !important; border: 0.5px solid #c0d7ea !important; border-radius: 6px !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .06em !important; padding: 12px 16px !important; width: 100% !important; text-align: left !important; box-shadow: none !important; display: flex !important; justify-content: space-between !important; align-items: center !important; transition: background .2s !important; }
.def-btn-secondary .wp-block-button__link:hover { background: #e4ecf5 !important; }
.def-btn-secondary .wp-block-button__link::after { content: '›' !important; font-size: 16px !important; opacity: .5 !important; }
.def-btn-secondary { width: 100% !important; }
@media (max-width: 768px) { .def-card { margin-bottom: 14px !important; } }

/* ========================================
   セクション5 エビデンス・安全性
   ======================================== */
.ev-tag { font-size: 10px !important; letter-spacing: .22em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 7px !important; margin-bottom: 8px !important; }
.ev-tag::before { content: '' !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #9baebb !important; flex-shrink: 0 !important; }
.ev-title { font-family: 'Noto Sans JP', serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 8px !important; }
.ev-lead { font-size: 14px !important; font-weight: 300 !important; color: #6b7f93 !important; line-height: 1.9 !important; max-width: 640px !important; margin-bottom: 28px !important; }
.ev-row { border: 0.5px solid #e8eef4 !important; border-radius: 10px !important; overflow: hidden !important; margin-bottom: 2px !important; }
.ev-row-rev .wp-block-column:first-child { order: 2 !important; }
.ev-row-rev .wp-block-column:last-child { order: 1 !important; }
.ev-text { padding: 36px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
.ev-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; min-height: 260px !important; }
.ev-num { font-size: 9px !important; letter-spacing: .2em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 8px !important; font-weight: 300 !important; }
.ev-text h3 { font-family: 'Noto Sans JP', serif !important; font-size: 20px !important; font-weight: 500 !important; color: #13355e !important; line-height: 1.55 !important; margin-top: 0 !important; margin-bottom: 12px !important; padding: 0 !important; border: none !important; background: transparent !important; letter-spacing: .04em !important; }
.ev-body { font-size: 13px !important; color: #4a5568 !important; line-height: 2.1 !important; font-weight: 300 !important; margin-bottom: 14px !important; }
.ev-ref { font-size: 10px !important; color: #b0bec5 !important; letter-spacing: .06em !important; border-top: 1px solid #f0f4f9 !important; padding-top: 10px !important; margin-top: 0 !important; }
@media (max-width: 768px) {
  .ev-text { padding: 24px 20px !important; }
  .ev-row-rev .wp-block-column:first-child { order: 1 !important; }
  .ev-row-rev .wp-block-column:last-child { order: 2 !important; }
}

/* ========================================
   CPC TOPセクション（新クラス）
   ======================================== */
.cpc-tag { font-size: 10px !important; letter-spacing: .22em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 7px !important; margin-bottom: 8px !important; }
.cpc-tag::before { content: '' !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #9baebb !important; flex-shrink: 0 !important; }
.cpc-h2 { font-family: 'Noto Sans JP', sans-serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 24px !important; }
.cpc-s-card { background: #fff !important; border-radius: 10px !important; padding: 24px 22px !important; border-top: 3px solid #13355e !important; }
.cpc-s-card.green { border-top-color: #1e6e48 !important; }
.cpc-s-card.gold { border-top-color: #b8860b !important; }
.cpc-s-en { font-size: 9px !important; letter-spacing: .18em !important; color: #9baebb !important; text-transform: uppercase !important; margin-bottom: 6px !important; font-weight: 300 !important; }
.cpc-s-card h3 { font-size: 16px !important; font-weight: 700 !important; color: #13355e !important; margin-top: 0 !important; margin-bottom: 8px !important; padding: 0 !important; border: none !important; background: transparent !important; line-height: 1.4 !important; }
.cpc-s-card p { font-size: 12px !important; color: #6b7f93 !important; line-height: 1.9 !important; font-weight: 300 !important; }
.cpc-desc { background: #fff !important; border-radius: 10px !important; border-left: 4px solid #13355e !important; padding: 20px 22px !important; font-size: 14px !important; font-weight: 300 !important; color: #3a4d60 !important; line-height: 2 !important; letter-spacing: .04em !important; margin-top: 14px !important; margin-bottom: 14px !important; }
.cpc-btn .wp-block-button__link { background: #13355e !important; color: #fff !important; border: none !important; border-radius: 6px !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: .08em !important; padding: 16px 36px !important; box-shadow: none !important; transition: opacity .2s !important; }
.cpc-btn .wp-block-button__link:hover { opacity: .85 !important; background: #13355e !important; }
.cpc-btn { text-align: center !important; }
@media (max-width: 768px) { .cpc-s-card { margin-bottom: 10px !important; } }

/* ========================================
   院長メッセージ（カバーブロック版）
   ======================================== */
.dir-cover { background-position: left center !important; }
.dir-cols { gap: 0 !important; }
.dir-col-empty { min-height: 1px !important; }
.dir-tag { font-size: 9px !important; letter-spacing: .28em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 18px !important; }
.dir-tag::before { content: '' !important; width: 20px !important; height: 1px !important; background: #9baebb !important; flex-shrink: 0 !important; }
.dir-h2 { font-family: 'Noto Sans JP', serif !important; font-size: clamp(18px, 2.2vw, 28px) !important; font-weight: 400 !important; color: #13355e !important; line-height: 1.85 !important; letter-spacing: .06em !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 12px !important; }
.dir-sub { font-size: 13px !important; color: #6b7f93 !important; line-height: 1.9 !important; font-weight: 300 !important; margin-bottom: 22px !important; letter-spacing: .04em !important; }
.dir-worry { background: rgba(255,255,255,.88) !important; border-radius: 10px !important; padding: 18px 22px !important; margin-bottom: 24px !important; }
.dir-worry-title { font-size: 13px !important; font-weight: 700 !important; color: #13355e !important; letter-spacing: .06em !important; margin-bottom: 12px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.dir-worry-title::before { content: '' !important; width: 4px !important; height: 16px !important; background: #1e6e48 !important; border-radius: 2px !important; flex-shrink: 0 !important; display: inline-block !important; }
.dir-worry-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.dir-worry-list li { font-size: 13px !important; color: #3a4d60 !important; padding: 5px 0 !important; font-weight: 300 !important; line-height: 1.6 !important; display: flex !important; align-items: flex-start !important; gap: 8px !important; }
.dir-worry-list li::before { content: '' !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #1e6e48 !important; flex-shrink: 0 !important; margin-top: 6px !important; }
.dir-name { font-size: 14px !important; font-weight: 700 !important; color: #13355e !important; letter-spacing: .06em !important; margin-bottom: 3px !important; padding-top: 16px !important; border-top: 1px solid rgba(220,232,240,.5) !important; }
.dir-role { font-size: 11px !important; color: #9baebb !important; font-weight: 300 !important; letter-spacing: .04em !important; line-height: 1.8 !important; margin-bottom: 18px !important; }
.dir-btn .wp-block-button__link { background: #13355e !important; color: #fff !important; border: none !important; border-radius: 4px !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .1em !important; padding: 14px 24px !important; box-shadow: none !important; transition: opacity .2s !important; }
.dir-btn .wp-block-button__link:hover { opacity: .85 !important; background: #13355e !important; }
.dir-lead, .dir-body, .dir-quote, .dir-btn { max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
.dir-lead { font-family: 'Noto Sans JP', serif !important; font-size: clamp(17px, 1.8vw, 22px) !important; font-weight: 400 !important; color: #13355e !important; line-height: 1.9 !important; letter-spacing: .05em !important; border: none !important; padding: 0 !important; margin-top: 56px !important; margin-bottom: 22px !important; }
.dir-body { font-size: 14px !important; color: #4a5568 !important; line-height: 2.4 !important; font-weight: 300 !important; letter-spacing: .05em !important; margin-bottom: 32px !important; }
.dir-quote { border-left: 3px solid #1e6e48 !important; border-top: none !important; border-right: none !important; border-bottom: none !important; border-radius: 0 8px 8px 0 !important; background: #f6f9fc !important; padding: 18px 22px !important; margin-bottom: 24px !important; }
.dir-quote p { font-family: 'Noto Sans JP', serif !important; font-size: 15px !important; font-weight: 400 !important; color: #13355e !important; line-height: 1.9 !important; letter-spacing: .05em !important; margin: 0 0 10px !important; }
.dir-quote cite { font-size: 11px !important; color: #9baebb !important; letter-spacing: .06em !important; font-style: normal !important; }
.dir-btn { padding-bottom: 56px !important; }
@media (max-width: 768px) {
  .dir-h2 { font-size: 18px !important; }
  .dir-col-empty { display: none !important; }
  .dir-cols .wp-block-column:last-child { padding: 32px 20px !important; }
}

/* ========================================
   用語集ページ
   ======================================== */
.gl-header > .wp-block-group__inner-container { max-width: 860px !important; margin: 0 auto !important; padding: 56px 24px !important; }
.gl-tag { font-size: 10px !important; letter-spacing: .24em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 8px !important; }
.gl-tag::before { content: '' !important; width: 16px !important; height: 1px !important; background: #9baebb !important; flex-shrink: 0 !important; }
.gl-h1 { font-family: 'Noto Sans JP', serif !important; font-size: clamp(24px, 3vw, 36px) !important; font-weight: 400 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 14px !important; }
.gl-lead { font-size: 14px !important; color: #6b7f93 !important; line-height: 2 !important; font-weight: 300 !important; letter-spacing: .04em !important; }
.gl-nav { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; padding: 20px 24px !important; background: #fff !important; border-bottom: 1px solid #e8eef4 !important; position: sticky !important; top: 0 !important; z-index: 10 !important; justify-content: center !important; }
.gl-nav-item { display: inline-flex !important; align-items: center !important; padding: 6px 16px !important; background: #f6f9fc !important; color: #13355e !important; border: 0.5px solid #dce8f4 !important; border-radius: 999px !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .06em !important; text-decoration: none !important; transition: all .15s !important; }
.gl-nav-item:hover { background: #13355e !important; color: #fff !important; border-color: #13355e !important; }
.gl-section { padding: 48px 24px !important; max-width: 860px !important; margin: 0 auto !important; }
.gl-row-title { font-family: 'Noto Sans JP', serif !important; font-size: 20px !important; font-weight: 400 !important; color: #13355e !important; border-bottom: 2px solid #13355e !important; padding-bottom: 10px !important; margin-bottom: 24px !important; padding-left: 0 !important; background: transparent !important; }
.gl-term { border-bottom: 1px solid #f0f4f9 !important; padding: 24px 0 !important; }
.gl-term:last-child { border-bottom: none !important; }
.gl-term-title { font-family: 'Noto Sans JP', serif !important; font-size: 18px !important; font-weight: 500 !important; color: #13355e !important; margin-bottom: 4px !important; margin-top: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; line-height: 1.5 !important; }
.gl-term-yomi { font-size: 11px !important; color: #9baebb !important; letter-spacing: .08em !important; margin-bottom: 10px !important; font-weight: 300 !important; }
.gl-term-body { font-size: 14px !important; color: #4a5568 !important; line-height: 2.1 !important; font-weight: 300 !important; letter-spacing: .04em !important; margin-bottom: 0 !important; }
@media (max-width: 768px) {
  .gl-header > .wp-block-group__inner-container { padding: 40px 20px !important; }
  .gl-section { padding: 36px 20px !important; }
  .gl-nav { padding: 14px 16px !important; gap: 6px !important; }
  .gl-nav-item { font-size: 12px !important; padding: 5px 13px !important; }
  .gl-term-title { font-size: 16px !important; }
  .gl-term-body { font-size: 13px !important; }
}
.gl-search-wrap { position: relative !important; max-width: 560px !important; margin: 20px auto 0 !important; padding: 0 24px !important; }
.gl-search-input { width: 100% !important; padding: 14px 48px 14px 18px !important; border: 1px solid #dce8f4 !important; border-radius: 8px !important; font-size: 14px !important; color: #13355e !important; background: #fff !important; outline: none !important; font-family: inherit !important; letter-spacing: .04em !important; transition: border-color .2s !important; }
.gl-search-input:focus { border-color: #13355e !important; box-shadow: 0 0 0 3px rgba(19,53,94,.08) !important; }
.gl-search-icon { position: absolute !important; right: 38px !important; top: 50% !important; transform: translateY(-50%) !important; font-size: 16px !important; pointer-events: none !important; }
.gl-no-result { text-align: center !important; font-size: 14px !important; color: #9baebb !important; padding: 40px 0 !important; letter-spacing: .06em !important; }
@media (max-width: 768px) {
  .gl-search-wrap { padding: 0 16px !important; }
  .gl-search-input { font-size: 13px !important; padding: 12px 44px 12px 14px !important; }
}

/* ========================================
   フォント調整（共通）
   ======================================== */
.dir-h2, .dir-lead, .dir-quote p,
.sc-hero-h1, .sc-h2, .sc-doc-quote p,
.def-sec-title, .cpc-h2, .ev-title,
.gl-h1, .gl-row-title, .gl-term-title,
.con-title, .price-title, .faq-title,
.doc-title, .acc-title, .sym-title,
h1, h2, h3 {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: .03em !important;
}

/* ========================================
   選ばれる理由セクション
   ======================================== */
.rn-sec > .wp-block-group__inner-container { max-width: 1060px !important; margin: 0 auto !important; padding: 64px 24px !important; }
.rn-tag { font-size: 10px !important; letter-spacing: .36em !important; color: #9baebb !important; text-transform: uppercase !important; text-align: center !important; margin-bottom: 8px !important; }
.rn-h2 { font-family: 'Noto Sans JP', sans-serif !important; font-size: clamp(20px, 2.6vw, 26px) !important; font-weight: 500 !important; color: #13355e !important; text-align: center !important; letter-spacing: .06em !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 4px !important; }
.rn-h2::after { content: '' !important; display: block !important; width: 40px !important; height: 2px !important; background: #9baebb !important; margin: 10px auto 32px !important; }
.rn-grid { gap: 16px !important; }
.rn-card { background: #fff !important; border-radius: 12px !important; padding: 28px 24px !important; display: flex !important; flex-direction: column !important; gap: 14px !important; box-shadow: 0 2px 12px rgba(19,53,94,.06) !important; }
.rn-num-row { gap: 12px !important; align-items: center !important; }
.rn-num-row .wp-block-column:first-child { flex: 0 0 36px !important; max-width: 36px !important; }
.rn-num { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: #13355e !important; color: #fff !important; font-size: 16px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; margin: 0 !important; line-height: 1 !important; }
.rn-num-2 { background: #1e6e48 !important; }
.rn-num-3 { background: #2d5a8e !important; }
.rn-title { font-size: 16px !important; font-weight: 700 !important; color: #13355e !important; line-height: 1.5 !important; letter-spacing: .04em !important; padding: 0 !important; border: none !important; background: transparent !important; margin: 0 !important; }
.rn-img img { width: 100% !important; aspect-ratio: 16/9 !important; object-fit: cover !important; border-radius: 8px !important; display: block !important; }
.rn-img { margin: 0 !important; }
.rn-list { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 6px !important; }
.rn-list li { font-size: 13px !important; color: #3a4d60 !important; font-weight: 400 !important; letter-spacing: .03em !important; display: flex !important; align-items: center !important; gap: 8px !important; line-height: 1.7 !important; }
.rn-list li::before { content: '' !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #13355e !important; flex-shrink: 0 !important; }
.rn-card-2 .rn-list li::before { background: #1e6e48 !important; }
.rn-card-3 .rn-list li::before { background: #2d5a8e !important; }
@media (max-width: 768px) {
  .rn-sec > .wp-block-group__inner-container { padding: 48px 20px !important; }
  .rn-grid { flex-direction: column !important; }
  .rn-card { margin-bottom: 12px !important; }
}

/* ========================================
   エビデンス・安全性（3カラム版）
   ======================================== */
.ev-sec > .wp-block-group__inner-container { max-width: 1060px !important; margin: 0 auto !important; padding: 64px 24px !important; }
.ev-h2 { font-family: 'Noto Sans JP', sans-serif !important; font-size: clamp(20px, 2.6vw, 26px) !important; font-weight: 500 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 8px !important; }
.ev-grid { gap: 16px !important; }
.ev-card { background: #f6f9fc !important; border-radius: 12px !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
.ev-card-img img { width: 100% !important; aspect-ratio: 4/3 !important; object-fit: cover !important; display: block !important; border-radius: 0 !important; }
.ev-card-img { margin: 0 !important; }
.ev-card-num { font-size: 10px !important; color: #9baebb !important; letter-spacing: .16em !important; font-weight: 300 !important; margin-top: 20px !important; margin-bottom: 6px !important; padding: 0 20px !important; }
.ev-card-title { font-size: 15px !important; font-weight: 700 !important; color: #13355e !important; line-height: 1.55 !important; letter-spacing: .03em !important; padding: 0 20px !important; margin-bottom: 10px !important; border: none !important; background: transparent !important; margin-top: 0 !important; }
.ev-card-desc { font-size: 12px !important; color: #4a5568 !important; line-height: 1.9 !important; font-weight: 300 !important; letter-spacing: .03em !important; padding: 0 20px !important; margin-bottom: 12px !important; flex: 1 !important; }
.ev-card-ref { font-size: 10px !important; color: #b0bec5 !important; letter-spacing: .06em !important; border-top: 1px solid #e8eef4 !important; padding: 10px 20px 20px !important; margin: 0 !important; font-weight: 300 !important; }
@media (max-width: 768px) {
  .ev-sec > .wp-block-group__inner-container { padding: 48px 20px !important; }
  .ev-grid { flex-direction: column !important; }
  .ev-card { margin-bottom: 12px !important; }
}

/* ========================================
   H1ヒーローセクション
   ======================================== */
.hero-sec > .wp-block-group__inner-container { max-width: 760px !important; margin: 0 auto !important; padding: 80px 24px !important; }
.hero-label { font-size: 10px !important; letter-spacing: .28em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 20px !important; font-weight: 300 !important; }
.hero-label::before { content: '' !important; width: 20px !important; height: 1px !important; background: #9baebb !important; flex-shrink: 0 !important; }
.hero-h1 { font-family: 'Noto Sans JP', sans-serif !important; font-size: clamp(24px, 3.2vw, 38px) !important; font-weight: 900 !important; color: #13355e !important; line-height: 1.65 !important; letter-spacing: .04em !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 20px !important; }
.hero-tags { flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 22px !important; }
.hero-tag-btn .wp-block-button__link { font-size: 11px !important; color: #13355e !important; background: #fff !important; border: 0.5px solid #dce8f4 !important; border-radius: 999px !important; padding: 5px 16px !important; letter-spacing: .08em !important; font-weight: 400 !important; box-shadow: none !important; cursor: default !important; }
.hero-tag-btn .wp-block-button__link:hover { background: #fff !important; color: #13355e !important; }
.hero-sub { font-size: 14px !important; color: #6b7f93 !important; font-weight: 300 !important; line-height: 2 !important; letter-spacing: .05em !important; margin-bottom: 18px !important; }
.hero-note { font-size: 11px !important; color: #9baebb !important; letter-spacing: .06em !important; font-weight: 300 !important; border-top: 1px solid #dce8f0 !important; padding-top: 14px !important; margin-bottom: 0 !important; }
@media (max-width: 768px) {
  .hero-sec > .wp-block-group__inner-container { padding: 52px 20px !important; }
  .hero-h1 { font-size: 22px !important; }
  .hero-tags { gap: 6px !important; }
}

/* ========================================
   幹細胞治療ページ共通
   ======================================== */
.sc-sec > .wp-block-group__inner-container { max-width: 1060px !important; margin: 0 auto !important; padding: 64px 24px !important; }
.sc-tag { font-size: 10px !important; letter-spacing: .24em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 8px !important; }
.sc-tag::before { content: '' !important; width: 16px !important; height: 1px !important; background: #9baebb !important; flex-shrink: 0 !important; }
.sc-h2 { font-family: 'Noto Sans JP', sans-serif !important; font-size: clamp(22px, 3vw, 32px) !important; font-weight: 500 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 24px !important; }
.sc-body { font-size: 15px !important; color: #4a5568 !important; line-height: 2.2 !important; font-weight: 300 !important; letter-spacing: .04em !important; max-width: 720px !important; }
.sc-note { font-size: 12px !important; color: #9baebb !important; line-height: 1.9 !important; margin-top: 12px !important; font-weight: 300 !important; }
.sc-geo { border-left: 3px solid #1e6e48 !important; border-top: none !important; border-right: none !important; border-bottom: none !important; background: #f6f9fc !important; border-radius: 0 8px 8px 0 !important; padding: 20px 24px !important; margin-bottom: 24px !important; }
.sc-geo p { font-size: 14px !important; color: #13355e !important; line-height: 2.1 !important; font-weight: 300 !important; letter-spacing: .04em !important; }
.sc-geo cite { display: none !important; }
.sc-step { background: #f6f9fc !important; border-radius: 8px !important; padding: 20px 24px !important; border-left: 4px solid #13355e !important; margin-bottom: 10px !important; }
.sc-step-num { font-size: 9px !important; letter-spacing: .2em !important; color: #13355e !important; font-weight: 600 !important; margin-bottom: 6px !important; }
.sc-step h3 { font-size: 16px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 8px !important; padding: 0 !important; border: none !important; background: transparent !important; margin-top: 0 !important; }
.sc-step p { font-size: 13px !important; color: #6b7f93 !important; line-height: 1.9 !important; font-weight: 300 !important; }
.sc-price-table { width: 100% !important; border-collapse: collapse !important; box-shadow: 0 4px 20px rgba(0,0,0,.07) !important; table-layout: fixed !important; }
.sc-price-table td { padding: 14px 18px !important; font-size: 14px !important; border-bottom: 1px solid #f0f4f9 !important; font-weight: 300 !important; }
.sc-price-table td:first-child { background: #f4f6fa !important; color: #444 !important; font-weight: 500 !important; width: 60% !important; }
.sc-price-table td:last-child { background: #fff !important; color: #13355e !important; font-weight: 700 !important; text-align: right !important; width: 40% !important; }
.sc-faq-item { border-bottom: 1px solid #f0f4f9 !important; }
.sc-faq-item:first-of-type { border-top: 1px solid #f0f4f9 !important; }
.sc-faq-item .swell-block-accordion__title { font-size: 14px !important; color: #1c2b3a !important; padding: 18px 0 !important; background: transparent !important; border: none !important; font-weight: 400 !important; letter-spacing: .04em !important; }
.sc-faq-item .swell-block-accordion__body { font-size: 13px !important; color: #6b7f93 !important; line-height: 2.1 !important; padding: 0 0 18px !important; font-weight: 300 !important; }
.sc-doc-img img { width: 100% !important; border-radius: 8px !important; }
.sc-doc-quote { border-left: 3px solid #1e6e48 !important; border-top: none !important; border-right: none !important; border-bottom: none !important; background: #fff !important; border-radius: 0 8px 8px 0 !important; padding: 24px 28px !important; }
.sc-doc-quote p { font-size: 15px !important; color: #13355e !important; line-height: 2 !important; font-weight: 400 !important; }
.sc-doc-quote cite { font-size: 11px !important; color: #9baebb !important; font-style: normal !important; }
.sc-compare-card { background: #fff !important; border-radius: 10px !important; padding: 24px 22px !important; border-top: 3px solid #13355e !important; }
.sc-compare-card:last-child { border-top-color: #1e6e48 !important; }
.sc-compare-card h3 { font-size: 16px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 12px !important; padding: 0 !important; border: none !important; background: transparent !important; margin-top: 0 !important; }
.sc-compare-card p { font-size: 13px !important; color: #6b7f93 !important; line-height: 1.9 !important; font-weight: 300 !important; }
.sc-adp-yes { background: #fff !important; border: 1px solid #d0e8da !important; border-top: 2px solid #1e6e48 !important; border-radius: 8px !important; padding: 24px 22px !important; }
.sc-adp-cau { background: #fff !important; border: 1px solid #fde68a !important; border-top: 2px solid #d97706 !important; border-radius: 8px !important; padding: 24px 22px !important; }
.sc-adp-yes h3, .sc-adp-cau h3 { font-size: 15px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 12px !important; padding: 0 !important; border: none !important; background: transparent !important; margin-top: 0 !important; }
.sc-cta-lead { font-size: 13px !important; color: rgba(255,255,255,.5) !important; text-align: center !important; margin-bottom: 8px !important; }
.sc-cta-h2 { font-family: 'Noto Sans JP', sans-serif !important; font-size: clamp(22px, 3vw, 34px) !important; font-weight: 500 !important; color: #fff !important; text-align: center !important; border: none !important; padding: 0 !important; margin-bottom: 28px !important; }
.sc-cta-btn-main .wp-block-button__link { background: #fff !important; color: #13355e !important; border: none !important; border-radius: 4px !important; font-size: 14px !important; font-weight: 600 !important; padding: 16px 36px !important; box-shadow: none !important; }
.sc-cta-btn-line .wp-block-button__link { background: #06C755 !important; color: #fff !important; border: none !important; border-radius: 4px !important; font-size: 14px !important; font-weight: 600 !important; padding: 16px 36px !important; box-shadow: none !important; }
.sc-cta-btn-main, .sc-cta-btn-line { text-align: center !important; }
.sc-cta { background-color: #1a3a6e !important; padding: 64px 24px !important; }
.sc-cta .sc-cta-lead, .sc-cta .sc-cta-h2, .sc-cta .sc-note { color: rgba(255,255,255,.6) !important; }
@media (max-width: 768px) {
  .sc-sec > .wp-block-group__inner-container { padding: 48px 20px !important; }
  .sc-step { padding: 16px 18px !important; }
  .sc-price-table td { padding: 12px 14px !important; font-size: 13px !important; }
  .sc-adp-yes, .sc-adp-cau { margin-bottom: 12px !important; }
  .sc-doc-img { margin-bottom: 20px !important; }
}

/* ========================================
   培養上清液セレクター
   ======================================== */
.cm-sec { max-width: 1060px !important; margin: 0 auto !important; padding: 64px 24px !important; }
.cm-sel-wrap { background: #f0f4f9; border-radius: 14px; padding: 7px; display: flex; gap: 6px; max-width: 540px; margin: 24px auto 36px; }
.cm-sel { flex: 1; padding: 12px 0; font-size: 13px; font-weight: 600; border: none; cursor: pointer; transition: all .2s; letter-spacing: .04em; font-family: inherit; border-radius: 8px; background: transparent; }
.cm-sel:nth-child(1) { color: #13355e; }
.cm-sel:nth-child(2) { color: #1e6e48; }
.cm-sel:nth-child(3) { color: #2d5a8e; }
.cm-sel.on { background: #13355e; color: #fff !important; box-shadow: 0 2px 8px rgba(19,53,94,.25); }
.cm-sel:hover:not(.on) { background: rgba(19,53,94,.07); }
.cm-card { display: none; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.cm-info { background: #f6f9fc; border-radius: 16px; padding: 32px 28px; display: flex; flex-direction: column; gap: 14px; }
.cm-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 600; letter-spacing: .1em; padding: 4px 12px; border-radius: 999px; width: fit-content; }
.cm-badge.visit { background: #fef3e2; color: #d97706; }
.cm-badge.visit::before, .cm-badge.home::before { content: ''; width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.cm-badge.visit::before { background: #d97706; }
.cm-badge.home { background: #e8f0f8; color: #13355e; }
.cm-badge.home::before { background: #13355e; }
.cm-online-badge { background: #13355e; color: #fff; font-size: 11px; font-weight: 500; padding: 4px 12px; border-radius: 4px; letter-spacing: .08em; display: inline-block; width: fit-content; }
.cm-title { font-size: 20px !important; font-weight: 700 !important; color: #13355e !important; line-height: 1.45 !important; margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; }
.cm-img { width: 100%; aspect-ratio: 16/9; border-radius: 10px; overflow: hidden; background: #dce8f0; }
.cm-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cm-desc { font-size: 14px; color: #4a5568; line-height: 2; font-weight: 300; margin: 0; }
.cm-points { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.cm-points li { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #3a4d60; font-weight: 300; line-height: 1.7; background: #fff; padding: 10px 14px; border-radius: 8px; }
.cm-points li::before { content: '✓'; color: #1e6e48; font-weight: 700; font-size: 12px; flex-shrink: 0; margin-top: 2px; }
.cm-price-row { display: flex; align-items: baseline; gap: 8px; padding-top: 14px; border-top: 1px solid #e0eaf4; }
.cm-price-label { font-size: 11px; color: #9baebb; }
.cm-price { font-size: 22px; font-weight: 700; color: #13355e; }
.cm-price-unit { font-size: 11px; color: #9baebb; font-weight: 300; }
.cm-flow { display: flex; flex-direction: column; padding: 8px 0; }
.cm-flow-title { font-size: 11px; letter-spacing: .16em; color: #9baebb; text-transform: uppercase; margin-bottom: 20px; }
.cm-flow-item { display: flex; gap: 14px; align-items: flex-start; }
.cm-flow-left { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; width: 28px; }
.cm-dot { width: 28px; height: 28px; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cm-dot.navy { background: #13355e; }
.cm-dot.green { background: #1e6e48; }
.cm-vline { width: 2px; background: #e8eef4; flex: 1; min-height: 28px; margin: 4px 0; }
.cm-flow-body { padding-bottom: 24px; flex: 1; }
.cm-flow-name { font-size: 14px; font-weight: 700; color: #13355e; margin-bottom: 4px; margin-top: 4px; line-height: 1.4; }
.cm-flow-desc { font-size: 12px; color: #6b7f93; line-height: 1.8; font-weight: 300; }
.cm-flow-tag { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 600; padding: 3px 10px; border-radius: 4px; margin-top: 7px; letter-spacing: .06em; }
.cm-flow-tag.navy { background: #eef2f8; color: #13355e; }
.cm-flow-tag.green { background: #e8f5ee; color: #1e6e48; }
.cm-flow-tag.orange { background: #fef3e2; color: #d97706; }
@media (max-width: 768px) {
  .cm-sec { padding: 48px 20px !important; }
  .cm-card { grid-template-columns: 1fr !important; }
  .cm-sel-wrap { max-width: 100% !important; }
  .cm-flow { margin-top: 20px; }
}

/* ========================================
   動画セクション
   ======================================== */
.mv-sec-wrap > .wp-block-group__inner-container { max-width: 1060px !important; margin: 0 auto !important; padding: 64px 24px !important; }
.mv-tag { font-size: 10px !important; letter-spacing: .24em !important; color: #9baebb !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 8px !important; }
.mv-tag::before { content: '' !important; width: 16px !important; height: 1px !important; background: #9baebb !important; flex-shrink: 0 !important; }
.mv-title { font-family: 'Noto Sans JP', sans-serif !important; font-size: clamp(20px, 2.8vw, 28px) !important; font-weight: 500 !important; color: #13355e !important; border: none !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 10px !important; }
.mv-lead { font-size: 14px !important; color: #6b7f93 !important; font-weight: 300 !important; line-height: 1.9 !important; max-width: 680px !important; margin-bottom: 28px !important; letter-spacing: .04em !important; }
.mv-video-wrap { position: relative !important; padding-bottom: 56.25% !important; height: 0 !important; overflow: hidden !important; border-radius: 12px !important; box-shadow: 0 16px 48px rgba(19,53,94,.15) !important; margin-bottom: 20px !important; }
.mv-video-wrap iframe { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; border: none !important; }
.mv-chapters { background: #f6f9fc !important; border-radius: 10px !important; padding: 22px 24px !important; margin-bottom: 20px !important; }
.mv-ch-title { font-size: 11px !important; font-weight: 600 !important; color: #13355e !important; letter-spacing: .14em !important; text-transform: uppercase !important; margin-bottom: 14px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.mv-ch-title::before { content: '' !important; width: 3px !important; height: 14px !important; background: #1e6e48 !important; border-radius: 2px !important; flex-shrink: 0 !important; }
.mv-ch-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
.mv-chap { display: flex !important; align-items: flex-start !important; gap: 10px !important; padding: 9px 12px !important; border-radius: 6px !important; background: #fff !important; }
.mv-ch-time { font-size: 11px !important; color: #1e6e48 !important; font-weight: 600 !important; font-family: monospace !important; flex-shrink: 0 !important; margin-top: 2px !important; width: 40px !important; }
.mv-ch-name { font-size: 13px !important; color: #13355e !important; font-weight: 500 !important; margin-bottom: 2px !important; line-height: 1.4 !important; }
.mv-ch-desc { font-size: 11px !important; color: #9baebb !important; font-weight: 300 !important; line-height: 1.5 !important; }
.mv-yt-card { background: #13355e !important; border-radius: 12px !important; padding: 24px 28px !important; display: flex !important; align-items: center !important; gap: 24px !important; }
.mv-yt-icon { width: 52px !important; height: 52px !important; background: #ff0000 !important; border-radius: 10px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 22px !important; color: #fff !important; flex-shrink: 0 !important; }
.mv-yt-body { flex: 1 !important; }
.mv-yt-label { font-size: 10px !important; letter-spacing: .18em !important; color: rgba(255,255,255,.35) !important; margin-bottom: 5px !important; }
.mv-yt-name { font-size: 15px !important; font-weight: 600 !important; color: #fff !important; margin-bottom: 4px !important; letter-spacing: .04em !important; }
.mv-yt-desc { font-size: 12px !important; color: rgba(255,255,255,.5) !important; font-weight: 300 !important; line-height: 1.7 !important; }
.mv-yt-btn { background: #ff0000 !important; color: #fff !important; font-size: 12px !important; font-weight: 600 !important; padding: 10px 20px !important; border-radius: 6px !important; text-decoration: none !important; letter-spacing: .06em !important; white-space: nowrap !important; flex-shrink: 0 !important; transition: opacity .2s !important; }
.mv-yt-btn:hover { opacity: .85 !important; }
@media (max-width: 768px) {
  .mv-sec-wrap > .wp-block-group__inner-container { padding: 48px 20px !important; }
  .mv-ch-grid { grid-template-columns: 1fr !important; }
  .mv-yt-card { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  .mv-yt-btn { width: 100% !important; text-align: center !important; }
}

/* ========================================
   院長紹介ページ
   ======================================== */
.dir-hero-img img { width: 100% !important; border-radius: 12px !important; display: block !important; }
.dir-name-ja { font-family: 'Noto Sans JP', sans-serif !important; font-size: clamp(36px, 4vw, 52px) !important; font-weight: 700 !important; color: #13355e !important; letter-spacing: .08em !important; line-height: 1.2 !important; border: none !important; padding: 0 !important; margin-bottom: 6px !important; }
.dir-name-yomi { font-size: 13px !important; color: #9baebb !important; letter-spacing: .12em !important; font-weight: 300 !important; margin-bottom: 16px !important; }
.dir-hero-role { font-size: 13px !important; color: #6b7f93 !important; line-height: 2 !important; font-weight: 300 !important; letter-spacing: .06em !important; margin-bottom: 12px !important; padding-bottom: 16px !important; border-bottom: 1px solid #dce8f0 !important; }
.dir-profile-table { width: 100% !important; border-collapse: collapse !important; max-width: 560px !important; }
.dir-profile-table td { padding: 10px 0 !important; font-size: 13px !important; font-weight: 300 !important; border-bottom: 1px solid #f0f4f9 !important; vertical-align: top !important; line-height: 1.8 !important; }
.dir-profile-table td:first-child { color: #9baebb !important; width: 70px !important; font-size: 11px !important; padding-right: 12px !important; white-space: nowrap !important; }
.dir-profile-table td:last-child { color: #3a4d60 !important; }
.dir-career-step { background: #fff !important; border-radius: 10px !important; padding: 22px 24px !important; border-left: 4px solid #13355e !important; margin-bottom: 10px !important; }
.dir-career-num { font-size: 9px !important; letter-spacing: .2em !important; color: #9baebb !important; font-weight: 300 !important; margin-bottom: 6px !important; }
.dir-career-step h3 { font-size: 16px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 8px !important; padding: 0 !important; border: none !important; background: transparent !important; margin-top: 0 !important; }
.dir-affil-card { background: #fff !important; border-radius: 10px !important; padding: 22px 20px !important; border-top: 3px solid #13355e !important; }
.dir-affil-card:nth-child(2) { border-top-color: #1e6e48 !important; }
.dir-affil-card:nth-child(3) { border-top-color: #2d5a8e !important; }
.dir-affil-card h3 { font-size: 14px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 10px !important; padding: 0 !important; border: none !important; background: transparent !important; margin-top: 0 !important; line-height: 1.5 !important; }
.dir-affil-card p { font-size: 12px !important; color: #6b7f93 !important; line-height: 1.9 !important; font-weight: 300 !important; }
@media (max-width: 768px) {
  .dir-name-ja { font-size: 32px !important; }
  .dir-career-step { padding: 18px 16px !important; }
  .dir-affil-card { margin-bottom: 10px !important; }
}

/* ========================================
   料金ページ
   ======================================== */
.price-reason-box { background: #f6f9fc !important; border-left: 4px solid #1e6e48 !important; border-radius: 0 8px 8px 0 !important; padding: 18px 22px !important; margin: 16px 0 !important; }
.price-reason-box ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.price-reason-box li { font-size: 13px !important; color: #3a4d60 !important; font-weight: 300 !important; line-height: 2 !important; display: flex !important; gap: 8px !important; }
.price-reason-box li::before { content: '✓' !important; color: #1e6e48 !important; font-weight: 700 !important; flex-shrink: 0 !important; }
.price-h3 { font-size: 16px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 12px !important; margin-top: 28px !important; padding: 0 !important; border: none !important; background: transparent !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.price-h3::before { content: '' !important; width: 4px !important; height: 18px !important; background: #13355e !important; border-radius: 2px !important; flex-shrink: 0 !important; }
.price-table { width: 100% !important; border-collapse: collapse !important; box-shadow: 0 2px 12px rgba(19,53,94,.06) !important; border-radius: 8px !important; overflow: hidden !important; margin-bottom: 16px !important; }
.price-table th { background: #13355e !important; color: #fff !important; font-size: 12px !important; font-weight: 500 !important; padding: 12px 16px !important; text-align: left !important; letter-spacing: .06em !important; }
.price-table td { padding: 13px 16px !important; font-size: 13px !important; border-bottom: 1px solid #f0f4f9 !important; font-weight: 300 !important; vertical-align: middle !important; }
.price-table td:first-child { color: #444 !important; font-weight: 500 !important; background: #f8fafc !important; }
.price-table td:nth-child(2) { color: #13355e !important; font-weight: 700 !important; font-size: 14px !important; }
.price-table td:nth-child(3) { color: #6b7f93 !important; font-size: 12px !important; }
.price-method-card { border-radius: 12px !important; padding: 24px 22px !important; }
.price-method-card.visit { background: #fff !important; border: 1px solid #fde68a !important; border-top: 3px solid #d97706 !important; }
.price-method-card.online { background: #fff !important; border: 1px solid #d0e8da !important; border-top: 3px solid #1e6e48 !important; }
.price-method-label { font-size: 10px !important; font-weight: 600 !important; letter-spacing: .1em !important; margin-bottom: 8px !important; }
.price-method-card.visit .price-method-label { color: #d97706 !important; }
.price-method-card.online .price-method-label { color: #1e6e48 !important; }
.price-method-card h3 { font-size: 16px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 12px !important; padding: 0 !important; border: none !important; background: transparent !important; margin-top: 0 !important; }
.price-method-card ul { font-size: 13px !important; color: #3a4d60 !important; font-weight: 300 !important; line-height: 2 !important; padding-left: 16px !important; margin-bottom: 12px !important; }
.price-method-card p { font-size: 12px !important; color: #6b7f93 !important; line-height: 1.8 !important; font-weight: 300 !important; }
.price-pay-card { background: #fff !important; border-radius: 10px !important; padding: 22px 20px !important; border-top: 3px solid #13355e !important; }
.price-pay-card h3 { font-size: 14px !important; font-weight: 700 !important; color: #13355e !important; margin-bottom: 10px !important; padding: 0 !important; border: none !important; background: transparent !important; margin-top: 0 !important; }
.price-pay-card p { font-size: 13px !important; color: #3a4d60 !important; line-height: 1.9 !important; font-weight: 300 !important; }
.price-contact-box { background: #13355e !important; border-radius: 12px !important; padding: 28px 28px !important; margin-top: 24px !important; }
.price-contact-box h3 { font-size: 15px !important; font-weight: 600 !important; color: #fff !important; margin-bottom: 16px !important; padding: 0 !important; border: none !important; background: transparent !important; margin-top: 0 !important; }
.price-contact-table { width: 100% !important; border-collapse: collapse !important; }
.price-contact-table td { padding: 10px 0 !important; font-size: 13px !important; font-weight: 300 !important; border-bottom: 1px solid rgba(255,255,255,.1) !important; vertical-align: top !important; line-height: 1.8 !important; }
.price-contact-table td:first-child { color: rgba(255,255,255,.45) !important; width: 60px !important; font-size: 11px !important; }
.price-contact-table td:last-child { color: rgba(255,255,255,.8) !important; }
@media (max-width: 768px) {
  .price-method-card { margin-bottom: 12px !important; }
  .price-pay-card { margin-bottom: 12px !important; }
  .price-table th, .price-table td { padding: 10px 12px !important; font-size: 12px !important; }
  .price-contact-box { padding: 22px 18px !important; }
}

/* ========================================
   FAQページ カテゴリナビ
   ======================================== */
.faq-nav-outer { background: #fff; border-bottom: 1px solid #e8eef4; padding: 16px 24px; position: sticky; top: 0; z-index: 100; }
.faq-nav-inner { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; max-width: 1060px; margin: 0 auto; }
.faq-nav-inner a { display: inline-flex; align-items: center; padding: 7px 18px; background: #f6f9fc; color: #13355e; border: 0.5px solid #dce8f4; border-radius: 999px; font-size: 13px; font-weight: 500; letter-spacing: .04em; text-decoration: none; transition: all .15s; font-family: 'Noto Sans JP', sans-serif; }
.faq-nav-inner a:hover { background: #13355e; color: #fff; border-color: #13355e; }
@media (max-width: 768px) {
  .faq-nav-outer { padding: 12px 16px; }
  .faq-nav-inner a { font-size: 12px; padding: 5px 13px; }
}

/* ========================================
   CPCページ 比較表
   ======================================== */
.cpc-tbl-outer { border-radius: 20px !important; overflow: hidden !important; box-shadow: 0 20px 60px rgba(19,53,94,.18), 0 4px 16px rgba(19,53,94,.08) !important; margin-bottom: 12px !important; }
.cpc-tbl-head { display: grid !important; grid-template-columns: 200px 1fr 1fr !important; }
.cpc-tbl-empty { background: #f0f4f9 !important; border-bottom: 2px solid #e0eaf4 !important; }
.cpc-tbl-head-us { background: linear-gradient(160deg,#0d2244,#13355e) !important; padding: 22px 20px !important; text-align: center !important; position: relative !important; }
.cpc-rec { position: absolute !important; top: 0 !important; left: 50% !important; transform: translateX(-50%) !important; background: #1e6e48 !important; color: #fff !important; font-size: 9px !important; font-weight: 700 !important; padding: 3px 14px !important; border-radius: 0 0 8px 8px !important; letter-spacing: .14em !important; white-space: nowrap !important; }
.cpc-head-name { font-size: 14px !important; font-weight: 700 !important; color: #fff !important; letter-spacing: .06em !important; margin-top: 14px !important; line-height: 1.5 !important; }
.cpc-head-sub { font-size: 10px !important; color: rgba(255,255,255,.5) !important; letter-spacing: .08em !important; margin-top: 4px !important; }
.cpc-tbl-head-other { background: linear-gradient(160deg,#6b7f93,#8a96a3) !important; padding: 22px 20px !important; text-align: center !important; }
.cpc-tbl-head-other .cpc-head-name { margin-top: 0 !important; }
.cpc-row { display: grid !important; grid-template-columns: 200px 1fr 1fr !important; background: #fff !important; }
.cpc-hl { background: #f8fafc !important; }
.cpc-label { padding: 15px 16px !important; font-size: 12px !important; font-weight: 600 !important; color: #555 !important; background: linear-gradient(90deg,#f4f6fa,#f0f4f9) !important; border-right: 2px solid #e0eaf4 !important; border-bottom: 1px solid #eef2f7 !important; display: flex !important; align-items: center !important; }
.cpc-hl .cpc-label { background: linear-gradient(90deg,#e8f0f8,#eef4fb) !important; color: #13355e !important; }
.cpc-us { padding: 15px 18px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-bottom: 1px solid rgba(19,53,94,.06) !important; border-right: 1px solid rgba(19,53,94,.04) !important; background: rgba(19,53,94,.015) !important; }
.cpc-other { padding: 15px 18px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-bottom: 1px solid #eef2f7 !important; }
.cpc-ok { display: inline-flex !important; align-items: center !important; gap: 7px !important; color: #13355e !important; font-weight: 600 !important; font-size: 13px !important; }
.cpc-ok-c { width: 24px !important; height: 24px !important; border-radius: 50% !important; background: linear-gradient(135deg,#1e6e48,#2d8c6e) !important; color: #fff !important; font-size: 11px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; box-shadow: 0 2px 6px rgba(30,110,72,.35) !important; }
.cpc-ng { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: #bbb !important; font-size: 13px !important; font-weight: 300 !important; }
.cpc-ng-c { width: 22px !important; height: 22px !important; border-radius: 50% !important; background: #e8eef4 !important; color: #bbb !important; font-size: 11px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.cpc-tri { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: #d97706 !important; font-size: 12px !important; }
.cpc-tri-c { width: 22px !important; height: 22px !important; border-radius: 50% !important; background: #fef3e2 !important; color: #d97706 !important; font-size: 11px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.cpc-foot { background: linear-gradient(160deg,#0d2244,#13355e) !important; padding: 18px 20px !important; display: grid !important; grid-template-columns: 200px 1fr 1fr !important; }
.cpc-foot-label { font-size: 11px !important; color: rgba(255,255,255,.4) !important; display: flex !important; align-items: center !important; letter-spacing: .06em !important; }
.cpc-foot-us { text-align: center !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 5px !important; }
.cpc-foot-score { font-size: 28px !important; font-weight: 900 !important; color: #fff !important; line-height: 1 !important; }
.cpc-foot-score span { font-size: 12px !important; font-weight: 300 !important; color: rgba(255,255,255,.5) !important; margin-left: 3px !important; }
.cpc-foot-tag { font-size: 9px !important; color: #7ecfa0 !important; background: rgba(30,110,72,.3) !important; padding: 2px 10px !important; border-radius: 999px !important; letter-spacing: .1em !important; }
.cpc-foot-other { text-align: center !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 5px !important; }
.cpc-foot-score-other { font-size: 22px !important; font-weight: 600 !important; color: rgba(255,255,255,.35) !important; line-height: 1 !important; }
.cpc-foot-tag-other { font-size: 9px !important; color: rgba(255,255,255,.3) !important; letter-spacing: .1em !important; }
.cpc-tbl-note { font-size: 11px !important; color: #9baebb !important; line-height: 1.9 !important; font-weight: 300 !important; }

/* CPCページ データテーブル */
.cpc-data-table { width: 100% !important; border-collapse: collapse !important; }
.cpc-data-table td { padding: 11px 14px !important; font-size: 12px !important; border-bottom: 1px solid #f0f4f9 !important; font-weight: 300 !important; vertical-align: middle !important; }
.cpc-data-table td:first-child { color: #9baebb !important; font-size: 11px !important; font-weight: 500 !important; width: 180px !important; background: #f6f9fc !important; }
.cpc-data-table td:last-child { color: #13355e !important; font-weight: 600 !important; }

/* CPCページ スコアカード */
.cpc-score-card { background: linear-gradient(135deg,#0d2244,#13355e) !important; border-radius: 16px !important; padding: 32px 24px !important; text-align: center !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 8px !important; box-shadow: 0 8px 32px rgba(19,53,94,.2) !important; position: relative !important; overflow: hidden !important; }
.cpc-score-card::before { content: '' !important; position: absolute !important; top: -40px !important; right: -40px !important; width: 160px !important; height: 160px !important; border-radius: 50% !important; background: rgba(255,255,255,.03) !important; }
.cpc-score-card::after { content: '' !important; position: absolute !important; bottom: -60px !important; left: -30px !important; width: 200px !important; height: 200px !important; border-radius: 50% !important; background: rgba(30,110,72,.06) !important; }
.cpc-score-label { font-size: 10px !important; letter-spacing: .18em !important; color: rgba(255,255,255,.4) !important; margin-bottom: 0 !important; z-index: 1 !important; position: relative !important; }
.cpc-score-num { font-size: 64px !important; font-weight: 900 !important; color: #fff !important; line-height: 1 !important; padding: 0 !important; border: none !important; background: transparent !important; margin: 0 !important; text-shadow: 0 4px 20px rgba(0,0,0,.3) !important; z-index: 1 !important; position: relative !important; }
.cpc-score-unit { font-size: 14px !important; color: rgba(255,255,255,.5) !important; font-weight: 300 !important; margin-bottom: 0 !important; z-index: 1 !important; position: relative !important; }
.cpc-score-note { font-size: 11px !important; color: rgba(255,255,255,.35) !important; font-weight: 300 !important; line-height: 1.7 !important; margin-bottom: 0 !important; z-index: 1 !important; position: relative !important; }
.cpc-score-badge { background: linear-gradient(135deg,#1e6e48,#2d8c6e) !important; color: #fff !important; font-size: 11px !important; font-weight: 700 !important; padding: 5px 18px !important; border-radius: 999px !important; letter-spacing: .12em !important; z-index: 1 !important; position: relative !important; box-shadow: 0 3px 10px rgba(30,110,72,.4) !important; margin-bottom: 0 !important; }

/* CPCページ ISOテーブル */
.cpc-iso-table { width: 100% !important; border-collapse: collapse !important; box-shadow: 0 8px 32px rgba(19,53,94,.1), 0 2px 8px rgba(19,53,94,.06) !important; border-radius: 20px !important; overflow: hidden !important; }
.cpc-iso-table-head { background: linear-gradient(135deg,#13355e,#1a4a7a) !important; padding: 16px 22px !important; display: flex !important; align-items: center !important; gap: 12px !important; }
.cpc-iso-table-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: #7ecfa0 !important; flex-shrink: 0 !important; }
.cpc-iso-table-title { font-size: 13px !important; font-weight: 600 !important; color: #fff !important; letter-spacing: .08em !important; }
.cpc-iso-table th { background: linear-gradient(90deg,#1a3a6e,#13355e) !important; color: #fff !important; padding: 12px 20px !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: .08em !important; text-align: left !important; }
.cpc-iso-table td { padding: 14px 20px !important; font-size: 12px !important; border-bottom: 1px solid #f0f4f9 !important; font-weight: 300 !important; color: #4a5568 !important; vertical-align: middle !important; }
.cpc-iso-table td:first-child { font-weight: 500 !important; color: #444 !important; width: 120px !important; }
.cpc-iso-table tr:nth-child(2) td { background: linear-gradient(90deg,#eef4fb,#f0f7ff) !important; color: #13355e !important; font-weight: 700 !important; }
.cpc-iso-table tr:last-child td { border-bottom: none !important; }

/* ========================================
   CPCページ ポイント4カード（高さ統一版）
   ======================================== */
.cpc-point-card {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 24px rgba(19,53,94,.1), 0 2px 8px rgba(19,53,94,.06) !important;
  display: flex !important;
  flex-direction: column !important;
}
.cpc-point-top {
  padding: 28px 18px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 120px !important;
}
.cpc-point-card:nth-child(1) .cpc-point-top { background: linear-gradient(160deg,#0d2244,#13355e) !important; }
.cpc-point-card:nth-child(2) .cpc-point-top { background: linear-gradient(160deg,#1e4a38,#1e6e48) !important; }
.cpc-point-card:nth-child(3) .cpc-point-top { background: linear-gradient(160deg,#2d3a6e,#3d5a8e) !important; }
.cpc-point-card:nth-child(4) .cpc-point-top { background: linear-gradient(160deg,#1e3a4e,#2d6a8e) !important; }
.cpc-point-num {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.3) !important;
  letter-spacing: .2em !important;
}
.cpc-point-top h3 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-align: center !important;
  letter-spacing: .04em !important;
  line-height: 1.5 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
}
.cpc-point-body {
  background: #fff !important;
  padding: 16px !important;
  flex: 1 !important;
  display: flex !important;
  align-items: flex-start !important;
}
.cpc-point-body p {
  font-size: 11px !important;
  color: #6b7f93 !important;
  line-height: 1.9 !important;
  font-weight: 300 !important;
  text-align: center !important;
  width: 100% !important;
  margin: 0 !important;
}

/* ========================================
   CPCページ 法的根拠カード（立体版）
   ======================================== */
.cpc-law-card {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 40px rgba(19,53,94,.15), 0 4px 12px rgba(19,53,94,.08) !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
.cpc-law-top {
  padding: 28px 24px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  position: relative !important;
  overflow: hidden !important;
}
.cpc-law-card:nth-child(1) .cpc-law-top { background: linear-gradient(145deg,#0a1a2e,#13355e) !important; }
.cpc-law-card:nth-child(2) .cpc-law-top { background: linear-gradient(145deg,#163322,#1e6e48) !important; }
.cpc-law-card:nth-child(3) .cpc-law-top { background: linear-gradient(145deg,#1a2a4e,#2d5a8e) !important; }
.cpc-law-top::before {
  content: '' !important;
  position: absolute !important;
  top: -30px !important;
  right: -30px !important;
  width: 120px !important;
  height: 120px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.05) !important;
}
.cpc-law-top::after {
  content: '' !important;
  position: absolute !important;
  bottom: -40px !important;
  left: -20px !important;
  width: 100px !important;
  height: 100px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.03) !important;
}
.cpc-law-en {
  font-size: 9px !important;
  letter-spacing: .2em !important;
  color: rgba(255,255,255,.3) !important;
  text-transform: uppercase !important;
  position: relative !important;
  z-index: 1 !important;
}
.cpc-law-label {
  font-size: 11px !important;
  color: rgba(255,255,255,.5) !important;
  letter-spacing: .08em !important;
  position: relative !important;
  z-index: 1 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.cpc-law-top h3 {
  font-size: 24px !important;
  font-weight: 900 !important;
  color: #fff !important;
  letter-spacing: .06em !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.2) !important;
  position: relative !important;
  z-index: 1 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  margin: 4px 0 0 !important;
}
.cpc-law-body {
  background: #fff !important;
  padding: 14px 20px !important;
}
.cpc-law-body p {
  font-size: 11px !important;
  color: #9baebb !important;
  font-weight: 300 !important;
  letter-spacing: .06em !important;
  margin: 0 !important;
}

/* SP対応（CPC） */
@media (max-width: 768px) {
  .cpc-tbl-head, .cpc-row, .cpc-foot { grid-template-columns: 100px 1fr 1fr !important; }
  .cpc-label { font-size: 11px !important; padding: 12px 10px !important; }
  .cpc-us, .cpc-other { padding: 12px 8px !important; }
  .cpc-ok, .cpc-ng, .cpc-tri { font-size: 11px !important; gap: 4px !important; }
  .cpc-ok-c, .cpc-ng-c, .cpc-tri-c { width: 18px !important; height: 18px !important; font-size: 9px !important; }
  .cpc-point-card { margin-bottom: 10px !important; }
  .cpc-law-card { margin-bottom: 12px !important; }
  .cpc-law-top h3 { font-size: 20px !important; }
  .cpc-score-num { font-size: 48px !important; }
}

/* ========================================
   疾患別タイムライン（lc-timeline）
   ======================================== */
.lc-timeline {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin-top: 24px !important;
}
.lc-item {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 0 !important;
  position: relative !important;
}
.lc-item:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  left: 259px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 2px !important;
  background: linear-gradient(180deg,rgba(19,53,94,.15),rgba(19,53,94,.05)) !important;
}
.lc-left {
  padding: 28px 28px 28px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  border-right: 2px solid #e0eaf4 !important;
  position: relative !important;
}
.lc-left::after {
  content: '' !important;
  position: absolute !important;
  right: -7px !important;
  top: 32px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 2px solid #13355e !important;
}
.lc-item:nth-child(2) .lc-left::after { border-color: #1e6e48 !important; }
.lc-item:nth-child(3) .lc-left::after { border-color: #2d5a8e !important; }
.lc-item:nth-child(4) .lc-left::after { border-color: #5a4a8e !important; }
.lc-step {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  color: #9baebb !important;
}
.lc-sym-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #13355e !important;
  line-height: 1.5 !important;
}
.lc-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
.lc-tag {
  font-size: 10px !important;
  color: #6b7f93 !important;
  background: #f0f4f9 !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-weight: 400 !important;
}
.lc-right {
  padding: 24px 0 24px 32px !important;
}
.lc-inner {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(19,53,94,.08) !important;
}
.lc-head {
  padding: 18px 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.lc-navy { background: linear-gradient(135deg,#0d2244,#13355e) !important; }
.lc-green { background: linear-gradient(135deg,#163322,#1e6e48) !important; }
.lc-blue { background: linear-gradient(135deg,#1e2a4e,#2d5a8e) !important; }
.lc-dark { background: linear-gradient(135deg,#2a1a4e,#5a4a8e) !important; }
.lc-method {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
}
.lc-badge {
  font-size: 10px !important;
  font-weight: 600 !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.lc-badge-home {
  background: rgba(255,255,255,.15) !important;
  color: rgba(255,255,255,.9) !important;
}
.lc-badge-visit {
  background: rgba(255,200,100,.2) !important;
  color: #ffd080 !important;
}
.lc-body {
  background: #fff !important;
  padding: 18px 22px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 16px !important;
}
.lc-detail { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.lc-dl { font-size: 9px !important; letter-spacing: .14em !important; color: #9baebb !important; text-transform: uppercase !important; font-weight: 500 !important; }
.lc-dv { font-size: 12px !important; color: #13355e !important; font-weight: 500 !important; line-height: 1.6 !important; }
.lc-price { font-size: 16px !important; font-weight: 700 !important; }
.lc-reason {
  background: #f6f9fc !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  grid-column: 1 / -1 !important;
}
.lc-rl { font-size: 9px !important; letter-spacing: .14em !important; color: #9baebb !important; margin-bottom: 5px !important; text-transform: uppercase !important; }
.lc-rv { font-size: 12px !important; color: #4a5568 !important; font-weight: 300 !important; line-height: 1.8 !important; }
.lc-note { font-size: 11px !important; color: #9baebb !important; margin-top: 14px !important; font-weight: 300 !important; letter-spacing: .04em !important; line-height: 1.9 !important; }

@media (max-width: 768px) {
  .lc-item { grid-template-columns: 1fr !important; }
  .lc-left { border-right: none !important; border-bottom: 2px solid #e0eaf4 !important; padding: 20px 0 16px !important; }
  .lc-left::after { display: none !important; }
  .lc-item::after { display: none !important; }
  .lc-right { padding: 16px 0 24px !important; }
  .lc-body { grid-template-columns: 1fr 1fr !important; }
}

/* ========================================
   sc-geoダークカード
   ======================================== */
.sc-geo {
  border-left: 3px solid #1e6e48 !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  background: linear-gradient(135deg,#0d2244,#13355e) !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 20px 24px !important;
  margin-bottom: 24px !important;
}
.sc-geo p {
  font-size: 14px !important;
  color: rgba(255,255,255,.75) !important;
  line-height: 2.1 !important;
  font-weight: 300 !important;
  letter-spacing: .04em !important;
}
.sc-geo cite { display: none !important; }

/* ========================================
   メール相談ページ（ge-）
   ======================================== */
.ge-hero{padding:56px 24px 48px !important;text-align:center !important}
.ge-hero-label{font-size:10px !important;letter-spacing:.28em !important;color:rgba(255,255,255,.45) !important;text-transform:uppercase !important;margin-bottom:14px !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important}
.ge-hero-label::before,.ge-hero-label::after{content:'' !important;width:24px !important;height:1px !important;background:rgba(255,255,255,.25) !important}
.ge-hero-h1{font-size:clamp(22px,4vw,32px) !important;font-weight:400 !important;color:#fff !important;line-height:1.5 !important;margin-bottom:16px !important}
.ge-hero-sub{font-size:13px !important;color:rgba(255,255,255,.6) !important;font-weight:300 !important;line-height:1.9 !important;margin-bottom:24px !important;max-width:540px !important;margin-left:auto !important;margin-right:auto !important}
.ge-hero-badges{display:flex !important;justify-content:center !important;flex-wrap:wrap !important;gap:8px !important;margin-bottom:12px !important}
.ge-hero-badge{font-size:10px !important;font-weight:500 !important;padding:5px 14px !important;border-radius:999px !important;background:rgba(255,255,255,.1) !important;color:rgba(255,255,255,.8) !important;border:1px solid rgba(255,255,255,.15) !important}
.ge-hero-note{font-size:11px !important;color:rgba(255,255,255,.35) !important;font-weight:300 !important}
.ge-benefits{padding:32px 24px !important}
.ge-benefits-title{font-size:11px !important;letter-spacing:.2em !important;color:#9baebb !important;text-align:center !important;margin-bottom:20px !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important}
.ge-benefits-title::before,.ge-benefits-title::after{content:'' !important;flex:1 !important;height:1px !important;background:#dce8f4 !important}
.ge-benefit-item{background:#f0f4f9 !important;border-radius:12px !important;padding:16px !important;display:flex !important;align-items:flex-start !important;gap:12px !important}
.ge-benefit-icon{width:36px !important;height:36px !important;border-radius:8px !important;background:linear-gradient(135deg,#0d2244,#13355e) !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important}
.ge-benefit-title{font-size:13px !important;font-weight:500 !important;color:#13355e !important;margin-bottom:3px !important}
.ge-benefit-desc{font-size:11px !important;color:#9baebb !important;font-weight:300 !important;line-height:1.6 !important}
.ge-form-section{padding:32px 24px 48px !important}
.ge-form-wrap{background:#fff !important;border-radius:20px !important;box-shadow:0 8px 40px rgba(19,53,94,.1),0 2px 8px rgba(19,53,94,.06) !important;overflow:hidden !important;max-width:700px !important;margin:0 auto !important}
.ge-form-head{background:linear-gradient(135deg,#0d2244,#13355e) !important;padding:18px 24px !important;display:flex !important;align-items:center !important;gap:10px !important}
.ge-form-head-dot{width:8px !important;height:8px !important;border-radius:50% !important;background:#7ecfa0 !important;flex-shrink:0 !important}
.ge-form-head-title{font-size:13px !important;font-weight:500 !important;color:#fff !important}
.ge-form-body{padding:28px 28px 16px !important}
.ge-form-note{font-size:11px !important;color:#9baebb !important;font-weight:300 !important;text-align:center !important;padding:0 28px 24px !important;line-height:1.7 !important}
.ge-form-group{margin-bottom:20px !important}
.ge-label{font-size:12px !important;font-weight:500 !important;color:#13355e !important;margin-bottom:8px !important;display:flex !important;align-items:center !important;gap:6px !important}
.ge-req{font-size:9px !important;font-weight:700 !important;background:linear-gradient(135deg,#0d2244,#13355e) !important;color:#fff !important;padding:2px 7px !important;border-radius:4px !important}
.ge-opt{font-size:9px !important;font-weight:500 !important;color:#9baebb !important;background:#f0f4f9 !important;padding:2px 7px !important;border-radius:4px !important}
.ge-input{display:block !important;width:100% !important;padding:12px 16px !important;border:1.5px solid #dce8f4 !important;border-radius:10px !important;font-family:'Noto Sans JP',sans-serif !important;font-size:14px !important;font-weight:300 !important;color:#13355e !important;background:#fff !important;outline:none !important;appearance:none !important;box-sizing:border-box !important;transition:border-color .2s,box-shadow .2s !important}
.ge-input:focus{border-color:#13355e !important;box-shadow:0 0 0 3px rgba(19,53,94,.08) !important}
textarea.ge-input{min-height:120px !important;line-height:1.7 !important;resize:vertical !important}
select.ge-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239baebb' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 14px center !important;padding-right:36px !important;cursor:pointer !important}
.ge-radio-group{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:10px !important}
.ge-radio-item{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;padding:14px 10px !important;border-radius:12px !important;border:1.5px solid #dce8f4 !important;font-size:13px !important;color:#4a5568 !important;cursor:pointer !important;background:#fff !important;text-align:center !important;min-height:56px !important;transition:all .2s !important}
.ge-radio-item input{display:none !important}
.ge-radio-item:hover{border-color:#13355e !important;color:#13355e !important}
.ge-radio-item.is-selected{background:rgba(19,53,94,.07) !important;border-color:#13355e !important;color:#13355e !important;font-weight:500 !important}
.ge-check-group{display:flex !important;flex-wrap:wrap !important;gap:8px !important}
.ge-check-item{display:flex !important;align-items:center !important;gap:6px !important;padding:8px 14px !important;border-radius:8px !important;border:1.5px solid #dce8f4 !important;font-size:13px !important;color:#4a5568 !important;font-weight:300 !important;cursor:pointer !important;background:#fff !important;white-space:nowrap !important;transition:all .2s !important}
.ge-check-item input{display:none !important}
.ge-check-item:hover{border-color:#13355e !important;color:#13355e !important}
.ge-check-item.is-checked{background:rgba(19,53,94,.06) !important;border-color:#13355e !important;color:#13355e !important;font-weight:500 !important}
.ge-checkbox{width:16px !important;height:16px !important;border-radius:4px !important;border:1.5px solid #dce8f4 !important;background:#fff !important;flex-shrink:0 !important;transition:all .2s !important;display:inline-block !important}
.ge-check-item.is-checked .ge-checkbox{background-color:#13355e !important;border-color:#13355e !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:center !important}
.ge-form-row{display:grid !important;grid-template-columns:1fr 1fr !important;gap:16px !important}
.ge-agree{font-size:11px !important;color:#9baebb !important;font-weight:300 !important;line-height:1.8 !important;margin-bottom:16px !important;padding:12px 16px !important;background:#f6f9fc !important;border-radius:8px !important}
.ge-agree a{color:#13355e !important;text-decoration:underline !important}
.ge-submit{display:block !important;width:100% !important;padding:16px !important;background:linear-gradient(135deg,#0d2244,#13355e) !important;color:#fff !important;font-family:'Noto Sans JP',sans-serif !important;font-size:15px !important;font-weight:500 !important;letter-spacing:.08em !important;border:none !important;border-radius:12px !important;cursor:pointer !important;box-shadow:0 4px 16px rgba(19,53,94,.25) !important;transition:transform .2s,box-shadow .2s !important}
.ge-submit:hover{transform:translateY(-1px) !important;box-shadow:0 8px 24px rgba(19,53,94,.3) !important}
.ge-error{display:block !important;font-size:11px !important;color:#e53e3e !important;margin-top:5px !important}

@media(max-width:560px){
  .ge-form-body{padding:20px 16px 16px !important}
  .ge-form-note{padding:0 16px 20px !important}
  .ge-form-row{grid-template-columns:1fr !important}
  .ge-radio-group{grid-template-columns:1fr !important}
}
