@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
*/

/* --- 固定ページのタイトル（h1）を非表示にする --- */
.c-pageTitle {
  display: none;
}

/* --- パンくずリストを非表示にする --- */
#breadcrumb,
.p-breadcrumb {
  display: none !important;
}
/* ========================================
   GLJ ヘッダーオーバーラップ 確定版
   glj-header--overlay : Hero画像あり（透過＋白文字→スクロール後ソリッド）
   glj-header--solid    : Heroなし（常時ソリッド）
   ※ SWELLは body_class を #body_wrap に付与。data-scrolled は html に付与。
   ======================================== */

/* PC：ヘッダーをコンテンツの上に重ねる */
@media (min-width: 960px) {
  .l-header {
    position: absolute !important;
    top: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
  }
  #body_wrap.glj-header--overlay .l-header {
    background: transparent !important;
  }
  /* ソリッド：最上部に固定（アーカイブ等の上余白を防ぐ） */
  #body_wrap.glj-header--solid .l-header {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 100 !important;
  }
}

/* SP：ヘッダー固定 */
@media (max-width: 959px) {
  .l-header {
    position: fixed !important;
    top: 0 !important;
    box-shadow: none !important;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
  }
  #body_wrap.glj-header--overlay .l-header {
    background: transparent !important;
  }
  html[data-scrolled="true"] #body_wrap.glj-header--overlay .l-header {
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.08) !important;
  }
}

/* ソリッドモード：Heroなしページは常時白背景＋ダーク文字 */
#body_wrap.glj-header--solid .l-header,
#body_wrap.glj-page--blog .l-header {
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06) !important;
  backdrop-filter: blur(6px);
}
#body_wrap.glj-header--solid .l-header .l-header__inner,
#body_wrap.glj-page--blog .l-header .l-header__inner {
  color: #3d3230 !important;
}
#body_wrap.glj-header--solid .l-header .c-gnav > li > a,
#body_wrap.glj-header--solid .l-header .c-gnav > li > a span.ttl,
#body_wrap.glj-page--blog .l-header .c-gnav > li > a,
#body_wrap.glj-page--blog .l-header .c-gnav > li > a span.ttl {
  color: #3d3230 !important;
  text-shadow: none !important;
}
#body_wrap.glj-header--solid .l-header .c-gnav > li > a:hover,
#body_wrap.glj-page--blog .l-header .c-gnav > li > a:hover {
  color: #e8527a !important;
}

/* オーバーレイモード：Hero上は白文字（第1階層のみ。sub-menuのspan.ttlは対象外） */
#body_wrap.glj-header--overlay .l-header:not(.is-scrolled) .c-gnav > li > a,
#body_wrap.glj-header--overlay .l-header:not(.is-scrolled) .c-gnav > li > a span.ttl {
  color: rgba(255, 255, 255, 0.95) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}
#body_wrap.glj-header--overlay .l-header:not(.is-scrolled) .c-gnav > li > a:hover {
  color: #ffffff !important;
  opacity: 0.85;
}

/* オーバーレイモード：スクロール後はソリッド化 */
html[data-scrolled="true"] #body_wrap.glj-header--overlay .l-header,
#body_wrap.glj-header--overlay .l-header.is-scrolled {
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(6px);
}
html[data-scrolled="true"] #body_wrap.glj-header--overlay .l-header .c-gnav > li > a,
html[data-scrolled="true"] #body_wrap.glj-header--overlay .l-header .c-gnav > li > a span.ttl,
#body_wrap.glj-header--overlay .l-header.is-scrolled .c-gnav > li > a,
#body_wrap.glj-header--overlay .l-header.is-scrolled .c-gnav > li > a span.ttl {
  color: #3d3230 !important;
  text-shadow: none !important;
}
html[data-scrolled="true"] #body_wrap.glj-header--overlay .l-header .c-gnav > li > a:hover,
#body_wrap.glj-header--overlay .l-header.is-scrolled .c-gnav > li > a:hover {
  color: #e8527a !important;
  opacity: 1;
}

/* ソリッド：追従ヘッダー複製を無効化（上余白・二重表示の原因） */
#body_wrap.glj-header--solid .l-fixHeader {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* オーバーレイ：スクロール後のfix_header */
html[data-scrolled="true"] #body_wrap.glj-header--overlay .l-fixHeader {
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(6px);
}
html[data-scrolled="true"] #body_wrap.glj-header--overlay .l-fixHeader .c-gnav > li > a,
html[data-scrolled="true"] #body_wrap.glj-header--overlay .l-fixHeader .c-gnav > li > a span.ttl {
  color: #3d3230 !important;
  text-shadow: none !important;
}

/* SWELL既定の #content 上余白を除去（カテゴリー等で白い隙間の原因） */
#body_wrap.glj-header--solid #content,
#body_wrap.glj-page--blog #content,
#body_wrap.archive #content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ブログ系：固定ヘッダー分だけ本文を下げる（固定ページは post_content 側で調整） */
#body_wrap.glj-page--blog .l-mainContent__inner {
  padding-top: 72px !important;
}
@media (max-width: 959px) {
  #body_wrap.glj-page--blog .l-mainContent__inner {
    padding-top: 64px !important;
  }
}

/* サブメニュー：常に白背景＋ダーク文字（オーバーレイ時の白文字を上書き） */
.l-header .c-gnav .sub-menu,
.l-fixHeader .c-gnav .sub-menu {
  background: #ffffff !important;
  box-shadow: 0 4px 20px rgba(61, 50, 48, 0.12) !important;
  border-radius: 8px;
}
.l-header .c-gnav .sub-menu a,
.l-header .c-gnav .sub-menu a span.ttl,
.l-fixHeader .c-gnav .sub-menu a,
.l-fixHeader .c-gnav .sub-menu a span.ttl,
#body_wrap.glj-header--overlay .l-header .c-gnav .sub-menu a,
#body_wrap.glj-header--overlay .l-header .c-gnav .sub-menu a span.ttl {
  color: #3d3230 !important;
  text-shadow: none !important;
}
.l-header .c-gnav .sub-menu a:hover,
.l-header .c-gnav .sub-menu a:hover span.ttl,
.l-fixHeader .c-gnav .sub-menu a:hover,
.l-fixHeader .c-gnav .sub-menu a:hover span.ttl,
#body_wrap.glj-header--overlay .l-header .c-gnav .sub-menu a:hover,
#body_wrap.glj-header--overlay .l-header .c-gnav .sub-menu a:hover span.ttl {
  color: #e8527a !important;
  background-color: #fff0f3 !important;
}

/* CSS変数レベルで無効化 + 老眼配慮の基準フォント */
html {
  font-size: 18px;
  --swl-fix_headerH: 0px;
  --swl-offset_y: 0px;
}

/* l-mainContent の padding を 0 に */
body .l-mainContent,
body #main_content,
body .l-mainContent.l-article {
  padding-top: 0 !important;
}

/* post_content 前の空 p タグを非表示 */
.post_content > p:first-child {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

/* post_content の margin-top を除去 */
.post_content {
  margin-top: 0 !important;
}

/* SP：ヘッダー固定時の余白を除去 */
@media (max-width: 959px) {
  html, body, #body_wrap, #content,
  .l-mainContent, #main_content {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}














































































/* =====================================================
   GLJ トップページ style.css
   生成日：2026年5月18日
   貼付先：外観 > カスタマイズ > 追加CSS（または style.css）
   注意：セクション区切りは必ず /* */ 形式のCSSコメントのみ使用
         --- や === は絶対に使わない（CSSパーサー破壊の原因）
===================================================== */

/* =====================================================
   CSS カラー変数
===================================================== */
:root {
  --glj-pink:        #e8527a;
  --glj-pink-light:  #fff0f3;
  --glj-pink-pale:   #fff5f7;
  --glj-text:        #3d3230;
  --glj-text-light:  #7a6a68;
  --glj-white:       #ffffff;
  --glj-line-green:  #06C755;
  --glj-radius-card: 20px;
  --glj-radius-btn:  100px;
}

/* =====================================================
   グローバル タイポグラフィ
   50〜60代向け視認性優先（本文18px / 行間1.85）
===================================================== */
body {
  font-size: 18px !important;
  line-height: 1.85 !important;
  color: #3d3230 !important;
}
.post_content p {
  font-size: 18px;
  line-height: 1.85;
  color: #3d3230;
}

/* 日本語の不自然な改行を抑制（全ページ共通）
   例：「ご」|「紹介」のように接頭辞と語が分断されるのを防ぐ */
.post_content,
.post_content p,
.post_content li,
.post_content td,
.post_content th,
.post_content summary,
.post_content .swell-block-accordion__label,
.post_content .swell-block-accordion__body p {
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
}

/* 意図的に改行位置を固定したい語句（HTML側で <span class="glj-keep-phrase">ご紹介</span> 等） */
.glj-keep-phrase {
  display: inline-block;
  white-space: nowrap;
}

/* =====================================================
   共通：swell-block-fullWide__inner 幅制限上書き
   ルール①：l-article の約740px制限を1200pxに上書き
   カラムを使う全セクションに必須
===================================================== */
.glj-sec-stats .swell-block-fullWide__inner,
.glj-sec-concerns .swell-block-fullWide__inner,
.glj-sec-about .swell-block-fullWide__inner,
.glj-sec-news .swell-block-fullWide__inner,
.glj-sec-services .swell-block-fullWide__inner,
.glj-sec-features .swell-block-fullWide__inner,
.glj-sec-flow .swell-block-fullWide__inner,
.glj-sec-pricing .swell-block-fullWide__inner,
.glj-sec-case .swell-block-fullWide__inner,
.glj-sec-voices .swell-block-fullWide__inner,
.glj-sec-message .swell-block-fullWide__inner,
.glj-sec-media .swell-block-fullWide__inner,
.glj-sec-youtube .swell-block-fullWide__inner,
.glj-sec-sns .swell-block-fullWide__inner,
.glj-sec-contact-sns .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* FAQ は読みやすさのため800px */
.glj-sec-faq .swell-block-fullWide__inner {
  max-width: 800px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Hero は中央テキストのため800px */
.glj-sec-hero .swell-block-fullWide__inner {
  max-width: 800px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
  padding-top: 140px !important;
  padding-bottom: 80px !important;
}

/* CTA は中央揃えのため680px */
.glj-sec-cta .swell-block-fullWide__inner {
  max-width: 680px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
  text-align: center !important;
}

/* =====================================================
   SEC 01: Hero
===================================================== */
.glj-sec-hero {
  background-image: none !important;
  position: relative !important;
  min-height: 90vh !important;
  display: flex !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}
/* 背景写真のみ明るさ・彩度を上げる（テキスト・CTAには影響させない） */
.glj-sec-hero::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url('/wp-content/uploads/2026/07/glj-hero-top.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  filter: brightness(1.14) saturate(1.18) contrast(1.04) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.glj-sec-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(48, 36, 32, 0.22) 0%,
    rgba(48, 36, 32, 0.42) 40%,
    rgba(48, 36, 32, 0.64) 100%
  ) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.glj-hero-eyebrow {
  display: inline-block !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.88) !important;
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 100px !important;
  padding: 6px 18px !important;
  margin-bottom: 20px !important;
}
.glj-hero-main {
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.5 !important;
  margin-bottom: 20px !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}
.glj-hero-sub {
  font-size: 1.05rem !important;
  color: rgba(255,255,255,0.9) !important;
  line-height: 1.9 !important;
  margin-bottom: 32px !important;
}
.glj-hero-btns {
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}
.glj-btn-line-hero .wp-block-button__link {
  background: #06C755 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 16px 36px !important;
  border-radius: 100px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(6,199,85,0.45) !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-line-hero .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(6,199,85,0.6) !important;
  color: #ffffff !important;
}
.glj-btn-oyakatsu-hero .wp-block-button__link {
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 16px 36px !important;
  border-radius: 100px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(232,82,122,0.4) !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-oyakatsu-hero .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(232,82,122,0.55) !important;
  color: #ffffff !important;
}
.glj-hero-cta-note {
  font-size: 0.94rem !important;
  color: rgba(255,255,255,0.62) !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

/* =====================================================
   SEC 02: 実績
===================================================== */
.glj-stats-ttl {
  text-align: center !important;
}
.glj-stat-item {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 20px !important;
  padding: 32px 24px !important;
  text-align: center !important;
  box-shadow: 0 4px 24px rgba(232,82,122,0.08) !important;
}
.glj-stat-num {
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
}
.glj-stat-label {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

/* =====================================================
   SEC 03: 悩み共感
===================================================== */
.glj-concern-card {
  background: #ffffff !important;
  border: 1.5px solid #f4c0d1 !important;
  border-radius: 16px !important;
  padding: 20px 22px !important;
}
.glj-concern-card p {
  font-size: 0.95rem !important;
  color: #3d3230 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}
.glj-concerns-closing {
  text-align: center !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  border: 1px solid #ffd6e2 !important;
  padding: 16px 28px !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}

/* =====================================================
   SEC 04: About GLJ
===================================================== */
.glj-about-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-about-ttl {
  text-align: left !important;
}
.glj-about-lead {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 16px !important;
  line-height: 1.75 !important;
}
.glj-about-tagline {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  line-height: 1.75 !important;
  margin-bottom: 8px !important;
}
.glj-about-img img {
  border-radius: 20px !important;
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  display: block !important;
}
.glj-btn-ghost .wp-block-button__link {
  background: transparent !important;
  color: #e8527a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  border-radius: 100px !important;
  border: 2px solid #e8527a !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}
.glj-btn-ghost .wp-block-button__link:hover {
  background: #e8527a !important;
  color: #ffffff !important;
}

/* =====================================================
   SEC 05: 最新情報・コラム
===================================================== */
.glj-news-btn-wrap {
  justify-content: center !important;
}

/* =====================================================
   SEC 06: 3つのサービス
===================================================== */
.glj-service-card {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 20px !important;
  overflow: visible !important;
  box-shadow: 0 4px 24px rgba(232,82,122,0.08) !important;
}
.glj-service-img img {
  border-radius: 20px 20px 0 0 !important;
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}
.glj-service-card figure {
  margin: 0 !important;
}
.glj-service-name {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  padding: 16px 20px 8px !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}
.glj-service-desc {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  padding: 0 20px 16px !important;
  margin: 0 !important;
  line-height: 1.8 !important;
}
.glj-service-card .wp-block-buttons {
  padding: 0 20px 20px !important;
}
.glj-service-btn .wp-block-button__link {
  background: transparent !important;
  color: #e8527a !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 10px 22px !important;
  border-radius: 100px !important;
  border: 1.5px solid #e8527a !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}
.glj-service-btn .wp-block-button__link:hover {
  background: #e8527a !important;
  color: #ffffff !important;
}
.glj-btn-line-service .wp-block-button__link {
  background: #06C755 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 10px 22px !important;
  border-radius: 100px !important;
  border: none !important;
  text-decoration: none !important;
}

/* =====================================================
   SEC 07: 選ばれる4つの理由
===================================================== */
.glj-feature-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 28px !important;
  box-shadow: 0 4px 24px rgba(232,82,122,0.08) !important;
}
.glj-feature-num {
  display: inline-block !important;
  width: 36px !important;
  height: 36px !important;
  background: #fff0f3 !important;
  border-radius: 50% !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  line-height: 36px !important;
  text-align: center !important;
  margin-bottom: 12px !important;
}
.glj-feature-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 10px !important;
  line-height: 1.5 !important;
}
.glj-feature-desc {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* =====================================================
   SEC 08: サポートの流れ（矢印フロー）
   ルール②：swell-block-columns__inner に display:grid は絶対に設定しない
   ルール④：矢印は ::after 疑似要素 + overflow:visible で実装
===================================================== */
.glj-sec-flow .glj-flow-cols .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px !important;
}
.glj-sec-flow .glj-flow-cols .glj-flow-step {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 16px !important;
  padding: 20px 14px !important;
  text-align: center !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  position: relative !important;
  overflow: visible !important;
}
.glj-sec-flow .glj-flow-cols .glj-flow-step:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  top: 30% !important;
  right: -10px !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 2.5px solid #e8527a !important;
  border-right: 2.5px solid #e8527a !important;
  border-radius: 2px !important;
  z-index: 2 !important;
  opacity: 0.7 !important;
}
.glj-flow-num {
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: #e8527a !important;
  background: #fff0f3 !important;
  border-radius: 100px !important;
  padding: 3px 10px !important;
  display: inline-block !important;
  margin-bottom: 8px !important;
}
.glj-sec-flow .glj-flow-cols .glj-flow-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 6px !important;
  line-height: 1.4 !important;
}
.glj-sec-flow .glj-flow-cols .glj-flow-desc {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* =====================================================
   SEC 09: 料金プラン
===================================================== */
.glj-pricing-table {
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.glj-pricing-col {
  background: #ffffff !important;
  border: 1.5px solid #ffe0e8 !important;
  border-radius: 20px !important;
  padding: 28px !important;
  text-align: center !important;
}
.glj-pricing-label {
  font-size: 0.85rem !important;
  color: #7a6a68 !important;
  margin-bottom: 8px !important;
  line-height: 1.6 !important;
}
.glj-pricing-amount {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 6px !important;
  line-height: 1.2 !important;
}
.glj-pricing-note {
  font-size: 0.94rem !important;
  color: #7a6a68 !important;
  margin: 0 !important;
}
.glj-pricing-sub {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  text-align: center !important;
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.glj-pricing-btn-wrap {
  justify-content: center !important;
}
.glj-btn-line-pricing .wp-block-button__link {
  background: #06C755 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 16px 36px !important;
  border-radius: 100px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(6,199,85,0.4) !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-line-pricing .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(6,199,85,0.52) !important;
  color: #ffffff !important;
}

/* =====================================================
   SEC 10: 支援事例（矢印フロー）
===================================================== */
.glj-case-sub {
  font-size: 0.95rem !important;
  color: #7a6a68 !important;
  text-align: center !important;
  margin-top: -16px !important;
  margin-bottom: 0 !important;
}
.glj-sec-case .glj-flow-cols .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px !important;
}
.glj-case-step {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 16px !important;
  padding: 20px 14px !important;
  text-align: center !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  position: relative !important;
  overflow: visible !important;
}
.glj-case-step:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  top: 28% !important;
  right: -10px !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 2.5px solid #e8527a !important;
  border-right: 2.5px solid #e8527a !important;
  border-radius: 2px !important;
  z-index: 2 !important;
  opacity: 0.7 !important;
}
.glj-case-num {
  display: inline-flex !important;
  width: 28px !important;
  height: 28px !important;
  background: #fff0f3 !important;
  border: 1.5px solid #f4c0d1 !important;
  border-radius: 50% !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 8px !important;
}
.glj-case-title {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 6px !important;
  line-height: 1.4 !important;
}
.glj-case-desc {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}
.glj-case-quote {
  border: 1px solid #ffd6e2 !important;
  padding: 16px 24px !important;
  background: #fff5f7 !important;
  border-radius: 12px !important;
  font-size: 0.95rem !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  font-style: italic !important;
}

/* =====================================================
   SEC 11: 親御さんの声
===================================================== */
.glj-voice-card {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 4px 24px rgba(232,82,122,0.06) !important;
}
.glj-voice-text {
  font-size: 0.93rem !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  font-style: italic !important;
  margin-bottom: 12px !important;
}
.glj-voice-attr {
  font-size: 0.94rem !important;
  color: #7a6a68 !important;
  margin: 0 !important;
}

/* =====================================================
   SEC 12: FAQ アコーディオン
===================================================== */
.glj-faq-accordion .swell-block-accordion__item {
  background: #fff5f7 !important;
  border-bottom: 1px solid #ffe0e8 !important;
}
.glj-faq-accordion .swell-block-accordion__title {
  background: #fff5f7 !important;
  padding: 18px 4px !important;
}
.glj-faq-accordion .swell-block-accordion__label {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.6 !important;
}
.glj-faq-accordion .swell-block-accordion__body {
  background: #ffffff !important;
  font-size: 0.93rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  padding: 12px 4px 20px !important;
}

/* =====================================================
   SEC 13: 代表メッセージ
===================================================== */
.glj-message-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-message-ttl {
  text-align: left !important;
}
.glj-message-img img {
  border-radius: 20px !important;
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  object-position: top !important;
  display: block !important;
}
.glj-message-name {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  margin-bottom: 16px !important;
  margin-top: -8px !important;
}
.glj-message-closing {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  line-height: 1.8 !important;
}

/* =====================================================
   SEC 15: YouTube
===================================================== */
.glj-youtube-sub {
  font-size: 0.93rem !important;
  color: #7a6a68 !important;
  margin-top: -16px !important;
}
.glj-youtube-placeholder {
  font-size: 0.85rem !important;
  color: #7a6a68 !important;
  background: #fff0f3 !important;
  border: 1.5px dashed #f4c0d1 !important;
  border-radius: 12px !important;
  padding: 40px 20px !important;
  text-align: center !important;
  max-width: 640px !important;
}
.glj-youtube-btn-wrap {
  justify-content: flex-start !important;
}

/* =====================================================
   SEC 16: SNS
===================================================== */
.glj-sns-card {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 20px !important;
  padding: 28px !important;
}
.glj-sns-name {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 4px !important;
}
.glj-sns-handle {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  margin-bottom: 16px !important;
}

/* =====================================================
   SEC 17: LINE公式＋親活
===================================================== */
.glj-contact-card {
  border-radius: 20px !important;
  padding: 32px !important;
}
.glj-contact-line {
  background: #f0faf4 !important;
  border: 1.5px solid #b7e8c8 !important;
}
.glj-contact-oyakatsu {
  background: #fff0f3 !important;
  border: 1.5px solid #f4c0d1 !important;
}
.glj-contact-badge {
  display: inline-block !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-radius: 100px !important;
  padding: 4px 14px !important;
  margin-bottom: 10px !important;
}
.glj-contact-badge-line {
  color: #0a7a3e !important;
  background: #e6f7ed !important;
  border: 1px solid #b7e8c8 !important;
}
.glj-contact-badge-oyakatsu {
  color: #993556 !important;
  background: #fff0f3 !important;
  border: 1px solid #f4c0d1 !important;
}
.glj-contact-name {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 12px !important;
  line-height: 1.4 !important;
}
.glj-contact-desc {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}
.glj-btn-line-contact .wp-block-button__link {
  background: #06C755 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 16px 32px !important;
  border-radius: 100px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(6,199,85,0.4) !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-line-contact .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(6,199,85,0.52) !important;
  color: #ffffff !important;
}
.glj-btn-oyakatsu-contact .wp-block-button__link {
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 16px 32px !important;
  border-radius: 100px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(232,82,122,0.35) !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-oyakatsu-contact .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(232,82,122,0.5) !important;
  color: #ffffff !important;
}

/* =====================================================
   SEC 18: 最終CTA
===================================================== */
.glj-sec-cta {
  text-align: center !important;
}
.glj-cta-main {
  font-size: 1.9rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.55 !important;
  margin-bottom: 16px !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}
.glj-cta-sub {
  font-size: 1rem !important;
  color: rgba(255,255,255,0.92) !important;
  line-height: 1.85 !important;
  margin-bottom: 28px !important;
}
.glj-cta-btns {
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.glj-btn-line-cta .wp-block-button__link {
  background: #ffffff !important;
  color: #06C755 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 16px 36px !important;
  border-radius: 100px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-line-cta .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.2) !important;
  color: #06C755 !important;
}
.glj-btn-oyakatsu-cta .wp-block-button__link {
  background: transparent !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 14px 36px !important;
  border-radius: 100px !important;
  border: 2px solid rgba(255,255,255,0.8) !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}
.glj-btn-oyakatsu-cta .wp-block-button__link:hover {
  background: rgba(255,255,255,0.15) !important;
  color: #ffffff !important;
}

/* =====================================================
   レスポンシブ（スマートフォン対応）
===================================================== */
@media (max-width: 768px) {
  /* 共通：左右パディングを縮小 */
  .glj-sec-stats .swell-block-fullWide__inner,
  .glj-sec-concerns .swell-block-fullWide__inner,
  .glj-sec-about .swell-block-fullWide__inner,
  .glj-sec-news .swell-block-fullWide__inner,
  .glj-sec-services .swell-block-fullWide__inner,
  .glj-sec-features .swell-block-fullWide__inner,
  .glj-sec-flow .swell-block-fullWide__inner,
  .glj-sec-pricing .swell-block-fullWide__inner,
  .glj-sec-case .swell-block-fullWide__inner,
  .glj-sec-voices .swell-block-fullWide__inner,
  .glj-sec-faq .swell-block-fullWide__inner,
  .glj-sec-message .swell-block-fullWide__inner,
  .glj-sec-media .swell-block-fullWide__inner,
  .glj-sec-youtube .swell-block-fullWide__inner,
  .glj-sec-sns .swell-block-fullWide__inner,
  .glj-sec-contact-sns .swell-block-fullWide__inner,
  .glj-sec-cta .swell-block-fullWide__inner,
  .glj-sec-hero .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Hero SP */
  .glj-sec-hero {
    min-height: 100svh !important;
  }
  .glj-sec-hero .swell-block-fullWide__inner {
    padding-top: 100px !important;
    padding-bottom: 60px !important;
  }
  .glj-hero-main {
    font-size: 1.65rem !important;
  }
  .glj-hero-sub {
    font-size: 0.93rem !important;
  }

  /* About SP：画像を下に */
  .glj-about-img img {
    height: 240px !important;
    margin-top: 16px !important;
  }

  /* Flow SP：縦積み＋下矢印（旧カラム版のみ） */
  .glj-sec-flow .glj-flow-cols .swell-block-columns__inner {
    flex-wrap: wrap !important;
  }
  .glj-sec-flow .glj-flow-cols .glj-flow-step {
    flex: 0 0 100% !important;
    margin-bottom: 36px !important;
  }
  .glj-sec-flow .glj-flow-cols .glj-flow-step:not(:last-child)::after {
    top: auto !important;
    right: auto !important;
    bottom: -26px !important;
    left: 50% !important;
    transform: translateX(-50%) rotate(135deg) !important;
  }

  /* Flow SP：リスト版（STEPバッジ＋見出し＋説明を縦積み） */
  .glj-flow-list .glj-flow-item {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 16px 0 !important;
  }
  .glj-flow-list .glj-flow-body {
    width: 100% !important;
    align-items: center !important;
  }

  /* Case SP：縦積み＋下矢印 */
  .glj-sec-case .glj-flow-cols .swell-block-columns__inner {
    flex-wrap: wrap !important;
  }
  .glj-case-step {
    flex: 0 0 100% !important;
    margin-bottom: 36px !important;
  }
  .glj-case-step:not(:last-child)::after {
    top: auto !important;
    right: auto !important;
    bottom: -26px !important;
    left: 50% !important;
    transform: translateX(-50%) rotate(135deg) !important;
  }

  /* 代表メッセージ SP */
  .glj-message-img img {
    height: 260px !important;
    margin-bottom: 20px !important;
  }

  /* 最終CTA SP */
  .glj-cta-main {
    font-size: 1.5rem !important;
  }
}





































/* =====================================================
  GLJ トップページ v1 — ピンク基調 確定版
  子テーマ style.css に貼り付けてください
===================================================== */

/* =====================================================
  CSS変数
===================================================== */
:root {
  --glj-pink:        #e8527a;
  --glj-pink-light:  #fff0f3;
  --glj-pink-pale:   #fff5f7;
  --glj-text:        #3d3230;
  --glj-text-light:  #7a6a68;
  --glj-white:       #ffffff;
  --glj-line-green:  #06C755;
  --glj-radius-card: 20px;
  --glj-radius-btn:  100px;
  --glj-shadow:      0 4px 24px rgba(232,82,122,0.10);
}

/* =====================================================
  全セクション共通：l-article 幅制限上書き
===================================================== */
.glj-sec-hero .swell-block-fullWide__inner,
.glj-sec-stats .swell-block-fullWide__inner,
.glj-sec-concerns .swell-block-fullWide__inner,
.glj-sec-about .swell-block-fullWide__inner,
.glj-sec-news .swell-block-fullWide__inner,
.glj-sec-services .swell-block-fullWide__inner,
.glj-sec-features .swell-block-fullWide__inner,
.glj-sec-flow .swell-block-fullWide__inner,
.glj-sec-pricing .swell-block-fullWide__inner,
.glj-sec-case .swell-block-fullWide__inner,
.glj-sec-voices .swell-block-fullWide__inner,
.glj-sec-faq .swell-block-fullWide__inner,
.glj-sec-message .swell-block-fullWide__inner,
.glj-sec-media .swell-block-fullWide__inner,
.glj-sec-youtube .swell-block-fullWide__inner,
.glj-sec-sns .swell-block-fullWide__inner,
.glj-sec-contact-sns .swell-block-fullWide__inner,
.glj-sec-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-hero .swell-block-fullWide__inner,
  .glj-sec-stats .swell-block-fullWide__inner,
  .glj-sec-concerns .swell-block-fullWide__inner,
  .glj-sec-about .swell-block-fullWide__inner,
  .glj-sec-news .swell-block-fullWide__inner,
  .glj-sec-services .swell-block-fullWide__inner,
  .glj-sec-features .swell-block-fullWide__inner,
  .glj-sec-flow .swell-block-fullWide__inner,
  .glj-sec-pricing .swell-block-fullWide__inner,
  .glj-sec-case .swell-block-fullWide__inner,
  .glj-sec-voices .swell-block-fullWide__inner,
  .glj-sec-faq .swell-block-fullWide__inner,
  .glj-sec-message .swell-block-fullWide__inner,
  .glj-sec-media .swell-block-fullWide__inner,
  .glj-sec-youtube .swell-block-fullWide__inner,
  .glj-sec-sns .swell-block-fullWide__inner,
  .glj-sec-contact-sns .swell-block-fullWide__inner,
  .glj-sec-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* =====================================================
  共通：セクションタイトル・ラベル
===================================================== */
.glj-sec-en {
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  color: #e8527a !important;
  text-align: center;
  margin: 0 0 8px !important;
}
.glj-sec-title {
  font-size: clamp(1.55rem, 3.5vw, 2.3rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
  text-align: center;
  margin: 0 0 16px !important;
}
.glj-sec-lead {
  font-size: 1.02rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  text-align: center;
  margin-top: 8px !important;
}
.glj-center-btn { justify-content: center !important; }

/* =====================================================
  共通：ボタン
===================================================== */
.glj-btn-line .wp-block-button__link {
  background: #06C755 !important;
  color: #fff !important;
  border-radius: 100px !important;
  padding: 15px 32px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(6,199,85,0.38) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-line .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(6,199,85,0.52) !important;
  opacity: 1 !important;
}
.glj-btn-oyakatsu .wp-block-button__link {
  background: #e8527a !important;
  color: #fff !important;
  border-radius: 100px !important;
  padding: 15px 32px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(232,82,122,0.30) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-oyakatsu .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(232,82,122,0.45) !important;
  opacity: 1 !important;
}
.glj-btn-outline .wp-block-button__link {
  background: transparent !important;
  color: #e8527a !important;
  border: 2px solid #e8527a !important;
  border-radius: 100px !important;
  padding: 13px 28px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  transition: all 0.2s !important;
}
.glj-btn-outline .wp-block-button__link:hover {
  background: #e8527a !important;
  color: #fff !important;
}
.glj-btn-sns-insta .wp-block-button__link {
  background: linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) !important;
  color: #fff !important;
  border-radius: 100px !important;
  padding: 11px 24px !important;
  font-weight: 700 !important;
  border: none !important;
  transition: opacity 0.2s !important;
}
.glj-btn-sns-insta .wp-block-button__link:hover { opacity: 0.85 !important; }
.glj-btn-sns-x .wp-block-button__link {
  background: #3d3230 !important;
  color: #fff !important;
  border-radius: 100px !important;
  padding: 11px 24px !important;
  font-weight: 700 !important;
  border: none !important;
  transition: opacity 0.2s !important;
}
.glj-btn-sns-x .wp-block-button__link:hover { opacity: 0.8 !important; }

/* =====================================================
  SEC 01: Hero
===================================================== */
.glj-sec-hero.swell-block-fullWide {
  min-height: 100vh !important;
  background-image: none !important;
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden;
}
/* 背景写真のみ明るさ・彩度を上げる（テキスト・CTAには影響させない） */
.glj-sec-hero.swell-block-fullWide::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2026/07/glj-hero-top.jpg');
  background-size: cover;
  background-position: center 30%;
  background-repeat: no-repeat;
  filter: brightness(1.14) saturate(1.18) contrast(1.04);
  z-index: 0;
  pointer-events: none;
}
.glj-sec-hero.swell-block-fullWide::before {
  content: '';
  position: absolute;
  inset: 0;
  /* 明るさは維持しつつ、テキスト帯（中〜下）のコントラストを確保 */
  background: linear-gradient(
    180deg,
    rgba(48, 36, 32, 0.22) 0%,
    rgba(48, 36, 32, 0.42) 40%,
    rgba(48, 36, 32, 0.64) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.glj-sec-hero .swell-block-fullWide__inner {
  position: relative !important;
  z-index: 2;
  min-height: 100vh;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding-bottom: 80px !important;
}
.glj-hero__content { max-width: 760px; }
.glj-hero__eyecatch {
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  color: rgba(255,200,200,0.90) !important;
  margin: 0 0 16px !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.35);
}
.glj-hero__catch {
  font-size: clamp(2.4rem, 5.5vw, 4.2rem) !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  margin: 0 0 20px !important;
  text-shadow:
    0 2px 24px rgba(0, 0, 0, 0.50),
    0 1px 4px rgba(0, 0, 0, 0.40);
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.glj-hero__sub {
  font-size: clamp(1.05rem, 1.8vw, 1.15rem) !important;
  color: rgba(255, 245, 245, 0.96) !important;
  line-height: 1.9 !important;
  margin: 0 0 32px !important;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, 0.48),
    0 1px 3px rgba(0, 0, 0, 0.35);
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
br.glj-br-sp {
  display: none !important;
}
.glj-hero__btns { flex-wrap: wrap !important; gap: 12px !important; }
.glj-btn-hero-line .wp-block-button__link {
  background: #06C755 !important;
  color: #fff !important;
  border-radius: 100px !important;
  padding: 17px 36px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(6,199,85,0.45) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-hero-line .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(6,199,85,0.60) !important;
}
.glj-btn-hero-oyakatsu .wp-block-button__link {
  background: #e8527a !important;
  color: #fff !important;
  border-radius: 100px !important;
  padding: 17px 36px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(232,82,122,0.38) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-hero-oyakatsu .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(232,82,122,0.55) !important;
}
@media (max-width: 768px) {
  .glj-sec-hero.swell-block-fullWide { min-height: 100svh !important; }
  /* スマホ：下半身を切り、山並み＋二人の上半身を左右バランスよく */
  .glj-sec-hero.swell-block-fullWide::after,
  .glj-sec-hero::after {
    background-size: cover !important;
    background-position: 54% 12% !important;
    background-repeat: no-repeat !important;
    transform: scale(1.68);
    transform-origin: 50% 10%;
  }
  .glj-sec-hero .swell-block-fullWide__inner {
    min-height: 100svh;
    padding-bottom: 56px !important;
  }
  .glj-hero__catch {
    font-size: 2.15rem !important;
    line-height: 1.4 !important;
  }
  .glj-hero__sub {
    font-size: 1.05rem !important;
    line-height: 1.85 !important;
  }
  br.glj-br-sp {
    display: inline !important;
  }
  .glj-hero__btns { flex-direction: column !important; align-items: flex-start !important; }
}

/* =====================================================
  SEC 02: 実績
===================================================== */
.glj-sec-stats { background-color: #ffffff !important; }
.glj-stats-list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.glj-stats-list > .glj-stats-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 0 0 calc(25% - 12px) !important;
  width: calc(25% - 12px) !important;
  max-width: calc(25% - 12px) !important;
  background: #fff5f7 !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 16px !important;
  padding: 32px 16px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  margin: 0 0 16px !important;
  box-shadow: 0 4px 20px rgba(232, 82, 122, 0.06) !important;
}
.glj-stats-num {
  font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  line-height: 1.1 !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.02em;
}
.glj-stats-label {
  font-size: 0.94rem !important;
  font-weight: 500 !important;
  color: #7a6a68 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .glj-stats-list > .glj-stats-card {
    flex: 0 0 48% !important;
    width: 48% !important;
    max-width: 48% !important;
    padding: 24px 12px !important;
    margin-bottom: 12px !important;
  }
  .glj-stats-num {
    font-size: 1.55rem !important;
  }
  .glj-stats-label {
    font-size: 1rem !important;
  }
}

/* =====================================================
  SEC 03: 悩み共感
  独立行カード＋番号（service/training と同系リズム）
===================================================== */
.glj-sec-concerns { background-color: #fff5f7 !important; }
.glj-sec-concerns.swell-block-fullWide {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.glj-sec-concerns .wp-block-spacer {
  height: 24px !important;
  min-height: 24px !important;
}
.glj-sec-concerns .glj-sec-title {
  margin-bottom: 0 !important;
}
.glj-concerns-cols .swell-block-columns__inner {
  counter-reset: glj-concerns;
  align-items: stretch !important;
}
.glj-concerns-card {
  counter-increment: glj-concerns;
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  border: 1px solid #ffe0e8 !important;
  min-height: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(232, 82, 122, 0.05) !important;
}
.glj-concerns-card::before {
  content: counter(glj-concerns, decimal-leading-zero);
  flex: 0 0 auto !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  letter-spacing: 0.1em;
  line-height: 1.7 !important;
  padding-top: 2px !important;
  min-width: 1.5em;
}
.glj-concerns-card .glj-concerns-text,
.glj-concerns-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 1rem !important;
  color: #3d3230 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  line-break: strict !important;
}
.glj-concerns-closing {
  font-size: clamp(1rem, 2vw, 1.1rem) !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.8 !important;
  padding: 20px 24px !important;
  border: 1px solid #ffd6e2 !important;
  background: #fff0f3 !important;
  border-radius: 12px !important;
  margin: 0 auto !important;
  max-width: 760px;
  box-sizing: border-box !important;
  text-align: center !important;
}
@media (max-width: 768px) {
  .glj-sec-concerns.swell-block-fullWide {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .glj-sec-concerns .wp-block-spacer {
    height: 20px !important;
    min-height: 20px !important;
  }
  .glj-concerns-cols.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-concerns-cols .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .glj-concerns-cols .swell-block-column,
  .glj-concerns-cols .swell-block-column.swl-has-mb--s {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-concerns-cols .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
  .glj-concerns-cols .glj-concerns-card {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border: 1px solid #ffe0e8 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(232, 82, 122, 0.05) !important;
    overflow: hidden !important;
  }
  .glj-concerns-cols .glj-concerns-text {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    min-width: 0 !important;
  }
  .glj-concerns-closing {
    padding: 18px 16px !important;
    max-width: 100% !important;
  }
}

/* =====================================================
  SEC 04: About GLJ
===================================================== */
.glj-sec-about { background-color: #ffffff !important; }
.glj-about__inner {
  display: flex !important;
  align-items: center;
  gap: 60px;
  flex-wrap: wrap;
}
.glj-about__text {
  flex: 1 1 320px;
  max-width: 560px;
}
.glj-about__img {
  flex: 1 1 280px;
  max-width: 440px;
}
.glj-about__img img {
  width: 100% !important;
  height: auto;
  object-fit: cover;
  border-radius: 20px !important;
  display: block;
  box-shadow: 0 8px 32px rgba(232,82,122,0.12);
}
.glj-about__lead {
  font-size: 1rem !important;
  color: #3d3230 !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}
.glj-about__body {
  font-size: 0.93rem !important;
  color: #3d3230 !important;
  line-height: 2 !important;
  margin-bottom: 20px !important;
}
.glj-about__tagline {
  font-size: 1rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  line-height: 1.7 !important;
  padding: 18px 24px !important;
  background: #fff0f3;
  border-radius: 12px !important;
  margin-bottom: 0 !important;
}
@media (max-width: 768px) {
  .glj-about__inner { flex-direction: column; }
  .glj-about__text, .glj-about__img { max-width: 100%; flex: none; width: 100%; }
}

/* =====================================================
  SEC 05: 最新情報
===================================================== */
.glj-sec-news { background-color: #fff5f7 !important; }

/* =====================================================
  SEC 06: サービス
  ※ swell-block-columns__inner に gap を指定しない
===================================================== */
.glj-sec-services { background-color: #ffffff !important; }
.glj-service-card {
  background: #fff5f7 !important;
  border-radius: 20px !important;
  overflow: visible;
  padding: 0 0 28px !important;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 24px rgba(232,82,122,0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}
.glj-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 36px rgba(232,82,122,0.16);
}
.glj-service-img { margin: 0 !important; }
.glj-service-img img {
  width: 100% !important;
  height: 200px;
  object-fit: cover;
  border-radius: 20px 20px 0 0 !important;
  display: block;
}
.glj-service-num {
  font-size: 0.65rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  letter-spacing: 0.14em;
  margin: 20px 24px 6px !important;
}
.glj-service-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 24px 10px !important;
}
.glj-service-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 24px 20px !important;
  flex: 1;
}
.glj-service-btn { margin: auto 24px 0 !important; }

/* =====================================================
  SEC 07: 選ばれる理由
  ※ swell-block-columns__inner に gap を指定しない
===================================================== */
.glj-sec-features { background-color: #fff5f7 !important; }
.glj-feature-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  overflow: visible;
  padding: 0 0 24px !important;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(232,82,122,0.07);
  transition: transform 0.2s, box-shadow 0.2s;
}
.glj-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(232,82,122,0.15);
}
.glj-feature-img {
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
.glj-feature-img img {
  width: 100% !important;
  height: 160px;
  object-fit: cover;
  border-radius: 20px 20px 0 0 !important;
  display: block;
}
.glj-feature-cols.swell-block-columns {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.glj-feature-cols .swell-block-columns__inner {
  box-sizing: border-box !important;
}
.glj-feature-num {
  font-size: 0.65rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  letter-spacing: 0.14em;
  margin: 18px 20px 6px !important;
}
.glj-feature-ttl {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 20px 10px !important;
}
.glj-feature-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 20px !important;
}
@media (max-width: 768px) {
  .glj-feature-cols.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-feature-cols .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-feature-cols .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-feature-cols .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
  .glj-feature-cols .glj-feature-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
}

/* =====================================================
  SEC 08: サポートの流れ
===================================================== */
.glj-sec-flow { background-color: #ffffff !important; }
.glj-flow-list {
  max-width: 700px !important;
  margin: 0 auto !important;
}
.glj-flow-list .glj-flow-item {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 18px 0 !important;
  border-bottom: 1.5px solid #fff0f3 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}
.glj-flow-list .glj-flow-item:first-of-type {
  border-top: 1.5px solid #fff0f3 !important;
}
.glj-flow-list .glj-flow-step {
  display: inline-block !important;
  flex: 0 0 auto !important;
  min-width: auto !important;
  background: #fff0f3 !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 100px !important;
  padding: 6px 14px !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  letter-spacing: 0.05em !important;
  text-align: center !important;
  white-space: nowrap !important;
  position: static !important;
  overflow: visible !important;
}
.glj-flow-list .glj-flow-step::after {
  display: none !important;
}
.glj-flow-list .glj-flow-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.glj-flow-list .glj-flow-ttl {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  display: block !important;
  margin: 0 !important;
}
.glj-flow-list .glj-flow-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  display: block !important;
  margin: 0 !important;
}
.glj-flow-list .glj-flow-arrow {
  text-align: center !important;
  color: #e8527a !important;
  font-size: 1.2rem !important;
  margin: 0 !important;
  opacity: 0.45 !important;
}

/* =====================================================
  SEC 09: 料金プラン
  ※ swell-block-columns__inner に gap を指定しない
===================================================== */
.glj-sec-pricing { background-color: #fff5f7 !important; }
.glj-pricing-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 36px 32px !important;
  border: 1.5px solid #ffd6e2;
  box-shadow: 0 4px 20px rgba(232,82,122,0.07);
}
.glj-pricing-main {
  border: 2.5px solid #e8527a !important;
  box-shadow: 0 6px 28px rgba(232,82,122,0.16) !important;
}
.glj-pricing-tag {
  display: inline-block !important;
  background: #fff0f3 !important;
  color: #e8527a !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  padding: 4px 12px !important;
  border-radius: 100px !important;
  margin: 0 0 14px !important;
}
.glj-pricing-tag--accent {
  background: #e8527a !important;
  color: #fff !important;
}
.glj-pricing-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 0 16px !important;
}
.glj-pricing-price {
  font-size: 2.6rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  line-height: 1 !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.02em;
}
.glj-pricing-price span { font-size: 1rem; font-weight: 700; }
.glj-pricing-divider {
  border-top: 1px solid #ffd6e2;
  margin: 16px 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  height: 0 !important;
}
.glj-pricing-list {
  font-size: 0.86rem !important;
  color: #7a6a68 !important;
  line-height: 2.2 !important;
  margin: 0 !important;
}
.glj-pricing-note {
  text-align: center !important;
  font-size: 1rem !important;
  color: #7a6a68 !important;
  margin: 0 !important;
}

/* =====================================================
  SEC 10: 支援事例
  ※ swell-block-columns__inner に gap を指定しない
===================================================== */
.glj-sec-case { background-color: #ffffff !important; }
.glj-case-card {
  background: #fff5f7 !important;
  border-radius: 24px !important;
  padding: 40px !important;
  border: 1.5px solid #ffd6e2;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.glj-case-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 28px !important;
}
.glj-case-steps .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
.glj-case-steps .swell-block-column {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  position: relative !important;
  overflow: visible !important;
}
.glj-case-steps .swell-block-column:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 30%;
  right: -8px;
  transform: translateY(-50%) rotate(45deg);
  width: 9px;
  height: 9px;
  border-top: 2.5px solid #e8527a;
  border-right: 2.5px solid #e8527a;
  border-radius: 1px;
  z-index: 2;
  opacity: 0.55;
}
.glj-case-step {
  background: #ffffff !important;
  border-radius: 14px !important;
  overflow: visible !important;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border: 1px solid #ffd6e2;
  padding: 0 0 14px !important;
}
.glj-case-step--last {
  background: #e8527a !important;
  border-color: #e8527a !important;
}
.glj-case-step--last .glj-case-step-num { color: rgba(255,255,255,0.30) !important; }
.glj-case-step--last .glj-case-step-ttl { color: #fff !important; }
.glj-case-step--last .glj-case-step-desc { color: rgba(255,255,255,0.85) !important; }
.glj-case-step-img { margin: 0 !important; flex-shrink: 0; }
.glj-case-step-img img {
  width: 100% !important;
  height: 90px !important;
  object-fit: cover !important;
  border-radius: 13px 13px 0 0 !important;
  display: block !important;
}
.glj-case-step-num {
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  opacity: 0.20;
  line-height: 1 !important;
  margin: 10px 10px 4px !important;
  text-align: center;
}
.glj-case-step-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
  margin: 0 10px 6px !important;
  text-align: center;
}
.glj-case-step-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 10px !important;
  flex: 1;
  text-align: center;
}
.glj-case-voice {
  font-size: 0.93rem !important;
  color: #3d3230 !important;
  line-height: 1.9 !important;
  margin-top: 28px !important;
  padding: 24px !important;
  background: #fff0f3;
  border-radius: 12px !important;
  font-style: italic;
}
.glj-case-voice-name {
  display: block;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  color: #7a6a68;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .glj-case-card {
    padding: 24px 16px !important;
  }
  .glj-case-steps .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-case-steps .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 36px !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-case-steps .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
  .glj-case-step {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-case-steps .swell-block-column:not(:last-child)::after {
    top: auto !important;
    right: auto !important;
    bottom: -20px !important;
    left: 50% !important;
    transform: translateX(-50%) rotate(135deg) !important;
  }
}

/* =====================================================
  SEC 11: 親御さんの声
  ※ swell-block-columns__inner に gap を指定しない
===================================================== */
.glj-sec-voices { background-color: #fff5f7 !important; }
.glj-voice-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  border: 1px solid #ffe0e8 !important;
  box-shadow: 0 4px 20px rgba(232,82,122,0.07);
  display: flex;
  flex-direction: column;
}
.glj-voice-text {
  font-size: 1rem !important;
  color: #3d3230 !important;
  line-height: 1.9 !important;
  margin: 0 0 16px !important;
  flex: 1;
  font-style: italic;
}
.glj-voice-name {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  margin: 0 !important;
  padding-top: 14px;
  border-top: 1px solid #ffd6e2;
}

/* =====================================================
  SEC 12: FAQ
===================================================== */
.glj-sec-faq { background-color: #ffffff !important; }
.glj-faq-wrap { margin: 0 auto !important; }
.glj-faq-item.swell-block-accordion {
  margin-bottom: 10px !important;
}
.glj-faq-item .swell-block-accordion__item {
  background: #fff5f7 !important;
  border-radius: 14px !important;
  border: 1px solid #ffd6e2 !important;
  overflow: hidden;
}
.glj-faq-item .swell-block-accordion__title {
  background: #fff5f7 !important;
  padding: 18px 20px !important;
  font-size: 0.93rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
}
.glj-faq-item .swell-block-accordion__body {
  background: #ffffff !important;
  padding: 0 20px 18px !important;
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.9 !important;
}

/* =====================================================
  SEC 13: 代表メッセージ
===================================================== */
.glj-sec-message { background-color: #ffffff !important; }
.glj-message__inner {
  display: flex !important;
  align-items: center;
  gap: 52px;
  flex-wrap: wrap;
}
.glj-message__img {
  flex: 0 0 220px;
  max-width: 220px;
}
.glj-message__img img {
  width: 220px !important;
  height: 220px !important;
  object-fit: cover;
  border-radius: 50% !important;
  border: 4px solid #ffd6e2;
  display: block;
  box-shadow: 0 4px 24px rgba(232,82,122,0.14);
}
.glj-message__text { flex: 1 1 300px; }
.glj-message__body {
  font-size: 0.93rem !important;
  color: #3d3230 !important;
  line-height: 2 !important;
  margin-bottom: 16px !important;
}
.glj-message__tagline {
  font-size: 1rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  line-height: 1.7 !important;
  padding: 16px 24px !important;
  background: #fff0f3;
  border-radius: 12px !important;
  margin-bottom: 0 !important;
}
.glj-message__sign {
  font-size: 0.84rem !important;
  color: #7a6a68 !important;
  margin-top: 20px !important;
  padding-top: 16px;
  border-top: 1px solid #ffd6e2;
  line-height: 1.8 !important;
  font-weight: 700 !important;
}
@media (max-width: 768px) {
  .glj-message__inner { flex-direction: column; }
  .glj-message__img { flex: none; width: 100%; max-width: 100%; }
  .glj-message__img img { margin: 0 auto; }
  .glj-message__text { flex: none; width: 100%; }
}

/* =====================================================
  SEC 14: メディア掲載実績
===================================================== */
.glj-sec-media { background-color: #fff5f7 !important; }
.glj-media-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.glj-media-list .glj-media-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 16px !important;
  padding: 20px 24px !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  box-shadow: 0 4px 16px rgba(232, 82, 122, 0.06) !important;
}
.glj-media-date {
  display: inline-block !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  background: #fff0f3 !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  margin: 0 0 10px !important;
  letter-spacing: 0.02em !important;
}
.glj-media-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 0 !important;
  width: 100% !important;
}
.glj-media-source {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}
.glj-media-desc {
  font-size: 0.86rem !important;
  color: #7a6a68 !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .glj-media-list .glj-media-item {
    padding: 18px 20px !important;
  }
  .glj-media-source {
    font-size: 1rem !important;
  }
  .glj-media-desc {
    font-size: 0.94rem !important;
  }
}

/* =====================================================
  SEC 15: YouTube
===================================================== */
.glj-sec-youtube { background-color: #ffffff !important; }
.glj-youtube-wrap { margin: 0 auto !important; }

/* =====================================================
  SEC 16: SNS
  ※ swell-block-columns__inner に gap を指定しない
===================================================== */
.glj-sec-sns { background-color: #fff5f7 !important; }
.glj-sns-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 36px 28px !important;
  text-align: center;
  border: 1.5px solid #ffd6e2;
  box-shadow: 0 4px 20px rgba(232,82,122,0.06);
}
.glj-sns-platform {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  color: #7a6a68 !important;
  text-transform: uppercase;
  margin: 0 0 6px !important;
}
.glj-sns-handle {
  font-size: 1.2rem !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  margin: 0 0 12px !important;
}
.glj-sns-desc {
  font-size: 0.86rem !important;
  color: #7a6a68 !important;
  line-height: 1.8 !important;
  margin: 0 0 24px !important;
}
.glj-sns-btn { justify-content: center !important; }

/* =====================================================
  SEC 17: LINE公式＋親活
  ※ swell-block-columns__inner に gap を指定しない
===================================================== */
.glj-sec-contact-sns { background-color: #ffffff !important; }
.glj-connect-card {
  border-radius: 20px !important;
  padding: 36px 28px !important;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1.5px solid #ffd6e2 !important;
  background: #fff5f7 !important;
  box-shadow: 0 4px 20px rgba(232, 82, 122, 0.06) !important;
}
.glj-connect-line {
  border: 1.5px solid #b7e8c8 !important;
  background: #f0faf4 !important;
}
.glj-connect-oyakatsu {
  border: 1.5px solid #ffd6e2 !important;
  background: #fff5f7 !important;
}
.glj-connect-badge {
  display: inline-block !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  padding: 5px 14px !important;
  border-radius: 100px !important;
  margin: 0 0 14px !important;
}
.glj-connect-badge--line {
  background: #06C755 !important;
  color: #fff !important;
}
.glj-connect-badge--oyakatsu {
  background: #e8527a !important;
  color: #fff !important;
}
.glj-connect-ttl {
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 0 12px !important;
}
.glj-connect-desc {
  font-size: 0.86rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
}
.glj-connect-btn { justify-content: center !important; width: 100%; }
.glj-connect-btn .wp-block-button { width: 100%; }
.glj-connect-btn .wp-block-button__link { width: 100%; text-align: center !important; }

/* =====================================================
  SEC 18: 最終CTA
===================================================== */
.glj-sec-cta { background-color: #e8527a !important; }
.glj-cta__inner { text-align: center; align-items: center !important; }
.glj-cta__catch {
  font-size: clamp(1.8rem, 4.5vw, 3rem) !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em;
  margin: 0 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.12);
}
.glj-cta__sub {
  font-size: 1rem !important;
  color: rgba(255,255,255,0.90) !important;
  line-height: 1.9 !important;
  margin-top: 16px !important;
}
.glj-cta__btns {
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}
.glj-btn-cta-line .wp-block-button__link {
  background: #fff !important;
  color: #06C755 !important;
  border-radius: 100px !important;
  padding: 18px 52px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.14) !important;
  transition: opacity 0.2s !important;
}
.glj-btn-cta-line .wp-block-button__link:hover { opacity: 0.88 !important; }
.glj-btn-cta-oyakatsu .wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.80) !important;
  border-radius: 100px !important;
  padding: 16px 48px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  transition: all 0.2s !important;
}
.glj-btn-cta-oyakatsu .wp-block-button__link:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: #fff !important;
}

/* =====================================================
  追従CTAバー（LINE＋親活）
  ダーク背景＋ボタンが浮くデザイン（PC／SP共通）
===================================================== */
.glj-float-wrap[hidden] {
  display: none !important;
}
.glj-float-wrap {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  padding: 16px 24px;
  background: rgba(45, 38, 36, 0.94);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.28);
}
.glj-float-bar {
  display: flex;
  align-items: stretch;
  gap: 12px;
  flex: 1 1 auto;
  max-width: 720px;
  min-width: 0;
}
.glj-float-btn {
  flex: 1;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.03em;
  position: relative;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.glj-float-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.glj-float-btn__icon svg {
  display: block;
  width: 20px;
  height: 20px;
}
.glj-float-btn__text {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.glj-float-btn__label {
  font-size: 0.98rem;
  font-weight: 700;
}
.glj-float-btn__sub {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
  opacity: 1;
}
.glj-float-btn--line {
  background: #06C755;
  color: #fff;
  box-shadow:
    0 2px 0 rgba(0, 0, 0, 0.12),
    0 8px 20px rgba(6, 199, 85, 0.45),
    0 2px 8px rgba(0, 0, 0, 0.25);
}
.glj-float-btn--line:hover {
  background: #12d461;
  color: #fff;
  transform: translateY(-2px);
  box-shadow:
    0 4px 0 rgba(0, 0, 0, 0.1),
    0 14px 28px rgba(6, 199, 85, 0.5),
    0 4px 12px rgba(0, 0, 0, 0.28);
}
.glj-float-btn--oyakatsu {
  background: #e8527a;
  color: #fff;
  box-shadow:
    0 2px 0 rgba(0, 0, 0, 0.12),
    0 8px 20px rgba(232, 82, 122, 0.45),
    0 2px 8px rgba(0, 0, 0, 0.25);
}
.glj-float-btn--oyakatsu:hover {
  background: #f05f86;
  color: #fff;
  transform: translateY(-2px);
  box-shadow:
    0 4px 0 rgba(0, 0, 0, 0.1),
    0 14px 28px rgba(232, 82, 122, 0.5),
    0 4px 12px rgba(0, 0, 0, 0.28);
}
.glj-float-close {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
  padding: 0;
  flex-shrink: 0;
}
.glj-float-close:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}
html.glj-has-float {
  padding-bottom: 92px;
}

/* SP：サイズ調整のみ（ボタンデザインはPCと同一） */
@media (max-width: 768px) {
  html.glj-has-float {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
  .glj-float-wrap {
    justify-content: center;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
    gap: 8px;
  }
  .glj-float-bar {
    gap: 8px;
    max-width: none;
  }
  .glj-float-btn {
    padding: 11px 14px;
    gap: 8px;
    letter-spacing: 0.02em;
  }
  .glj-float-btn:hover,
  .glj-float-btn:active {
    transform: translateY(-2px);
  }
  .glj-float-btn__label {
    font-size: 0.82rem;
  }
  .glj-float-btn__sub {
    font-size: 0.68rem;
    padding: 2px 6px;
  }
  .glj-float-btn__icon {
    width: 18px;
    height: 18px;
  }
  .glj-float-btn__icon svg {
    width: 18px;
    height: 18px;
  }
  .glj-float-close {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
    align-self: center;
  }
}

/* =====================================================
   /visit/ ひきこもり訪問サポートページ
   生成日：2026年5月30日
===================================================== */

/* ===== Section 00: カバー（Hero） ===== */
.glj-sec-visit-hero.swell-block-fullWide {
  min-height: 52vh !important;
  background-image: url('/wp-content/uploads/2026/07/glj-hero-visit.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: transparent !important;
}
.glj-sec-visit-hero.swell-block-fullWide::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(61, 50, 48, 0.55);
  z-index: 0;
}
.glj-sec-visit-hero .swell-block-fullWide__inner {
  position: relative !important;
  z-index: 1;
  min-height: 52vh;
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  padding-left: 40px !important;
  padding-right: 40px !important;
  padding-top: 80px !important;
  padding-bottom: 60px !important;
}
.glj-visit-hero__content {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.glj-visit-hero__catch {
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.35 !important;
  margin: 0 0 16px !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}
.glj-visit-hero__sub {
  font-size: clamp(1rem, 1.8vw, 1.15rem) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* ===== Section 共通：l-article 幅・背景 ===== */
.glj-sec-visit-intro .swell-block-fullWide__inner,
.glj-sec-visit-about .swell-block-fullWide__inner,
.glj-sec-visit-pillars .swell-block-fullWide__inner,
.glj-sec-visit-flow .swell-block-fullWide__inner,
.glj-sec-visit-pricing .swell-block-fullWide__inner,
.glj-sec-visit-area .swell-block-fullWide__inner,
.glj-sec-visit-case .swell-block-fullWide__inner,
.glj-sec-visit-voices .swell-block-fullWide__inner,
.glj-sec-visit-faq .swell-block-fullWide__inner,
.glj-sec-visit-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-visit-hero .swell-block-fullWide__inner {
    min-height: 40vh;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 100px !important;
    padding-bottom: 48px !important;
  }
  .glj-visit-hero__catch {
    font-size: 1.5rem !important;
  }
  .glj-sec-visit-intro .swell-block-fullWide__inner,
  .glj-sec-visit-about .swell-block-fullWide__inner,
  .glj-sec-visit-pillars .swell-block-fullWide__inner,
  .glj-sec-visit-flow .swell-block-fullWide__inner,
  .glj-sec-visit-pricing .swell-block-fullWide__inner,
  .glj-sec-visit-area .swell-block-fullWide__inner,
  .glj-sec-visit-case .swell-block-fullWide__inner,
  .glj-sec-visit-voices .swell-block-fullWide__inner,
  .glj-sec-visit-faq .swell-block-fullWide__inner,
  .glj-sec-visit-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-visit-intro { background-color: #fff5f7 !important; }
.glj-sec-visit-about { background-color: #ffffff !important; }
.glj-sec-visit-pillars { background-color: #fff5f7 !important; }
.glj-sec-visit-flow { background-color: #ffffff !important; }
.glj-sec-visit-pricing { background-color: #fff5f7 !important; }
.glj-sec-visit-area { background-color: #ffffff !important; }
.glj-sec-visit-case { background-color: #fff5f7 !important; }
.glj-sec-visit-voices { background-color: #ffffff !important; }
.glj-sec-visit-faq { background-color: #fff5f7 !important; }
.glj-sec-visit-cta { background-color: #e8527a !important; }

/* 共通・本文 */
.glj-visit-body {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
}
.glj-visit-tagline {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  line-height: 1.75 !important;
  margin: 20px 0 0 !important;
}

/* ===== Section 01: ページ導入 ===== */
.glj-visit-intro-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-visit-intro-lead {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  text-align: left !important;
}
.glj-visit-intro-img img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 02: 訪問支援とは ===== */
.glj-visit-about-ttl {
  text-align: center !important;
}
.glj-visit-about-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-visit-about-img img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 03: 支援の3本柱 ===== */
.glj-visit-pillar-card {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 20px !important;
  overflow: visible !important;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.glj-visit-pillar-img {
  margin: 0 !important;
}
.glj-visit-pillar-img img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px 12px 0 0 !important;
}
.glj-visit-pillar-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  padding: 16px 20px 8px !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}
.glj-visit-pillar-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  padding: 0 20px 20px !important;
  margin: 0 !important;
  line-height: 1.85 !important;
  flex: 1;
}

/* ===== Section 04: サポートの流れ（矢印） ===== */
.glj-visit-flow-steps .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
.glj-visit-flow-steps + .glj-visit-flow-steps {
  margin-top: 0 !important;
}
.glj-visit-flow-step {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 16px !important;
  overflow: visible !important;
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 0 0 20px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.glj-visit-flow-steps .swell-block-column:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 38% !important;
  right: -8px !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2.5px solid #e8527a !important;
  border-right: 2.5px solid #e8527a !important;
  border-radius: 1px !important;
  z-index: 2 !important;
  opacity: 0.55 !important;
}
.glj-visit-flow-step-img {
  margin: 0 !important;
  flex-shrink: 0;
}
.glj-visit-flow-step-img img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px 12px 0 0 !important;
}
.glj-visit-flow-num {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  background: #fff0f3 !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  display: inline-block !important;
  margin: 14px auto 8px !important;
  text-align: center;
}
.glj-visit-flow-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  margin: 0 14px 8px !important;
  text-align: center;
}
.glj-visit-flow-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 14px !important;
  text-align: center;
  flex: 1;
}

/* ===== Section 05: 料金プラン ===== */
.glj-visit-pricing-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-visit-pricing-main-col {
  --glj-pricing-label-w: 42%;
}
.glj-visit-pricing-main-col .glj-visit-pricing-table {
  table-layout: fixed !important;
  width: 100% !important;
}
.glj-visit-pricing-main-col .glj-visit-pricing-table th {
  width: var(--glj-pricing-label-w) !important;
  font-weight: 700;
  background: #fff5f7;
}
.glj-visit-pricing-table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  border: 1.5px solid #ffe0e8;
  margin: 0 0 20px;
}
.glj-visit-pricing-table th,
.glj-visit-pricing-table td {
  padding: 14px 18px;
  font-size: 1rem;
  line-height: 1.6;
  border-bottom: 1px solid #ffe0e8;
  color: #3d3230;
  text-align: left;
}
.glj-visit-pricing-table th {
  font-weight: 700;
  background: #fff5f7;
}
.glj-visit-pricing-table td {
  font-weight: 700;
  color: #e8527a;
}
.glj-visit-pricing-table tr:last-child th,
.glj-visit-pricing-table tr:last-child td {
  border-bottom: none;
}
.glj-visit-pricing-plan-ttl {
  font-size: 0.95rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  margin: 18px 0 10px !important;
  line-height: 1.5 !important;
}
.glj-visit-pricing-table--plan {
  margin-bottom: 4px !important;
}
.glj-visit-pricing-note {
  font-size: 1rem !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 0 0 8px !important;
}
.glj-visit-pricing-note-sub {
  font-size: 0.94rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 0 0 8px !important;
}
.glj-visit-pricing-btn-wrap {
  justify-content: center !important;
}
.glj-visit-pricing-img img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 06: 対応エリア ===== */
.glj-visit-area-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-visit-area-block-ttl {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin: 0 0 12px !important;
  line-height: 1.5 !important;
}
.glj-visit-area-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px;
}
.glj-visit-area-tag {
  display: inline-block;
  background: #fff0f3;
  color: #e8527a;
  font-size: 0.94rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 100px;
  border: 1px solid #f4c0d1;
}
.glj-visit-area-tag--wide {
  background: #e8527a;
  color: #ffffff;
  border-color: #e8527a;
}
.glj-visit-area-note {
  font-size: 1rem !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 20px 0 0 !important;
  padding-top: 20px !important;
  border-top: 1px solid #ffe0e8 !important;
}
.glj-visit-area-btn-wrap {
  justify-content: flex-start !important;
}
.glj-visit-area-img img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 07: 支援事例（矢印） ===== */
.glj-visit-case-steps .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
.glj-visit-case-step {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 16px !important;
  overflow: visible !important;
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 0 0 14px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.glj-visit-case-steps .swell-block-column:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 28% !important;
  right: -8px !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2.5px solid #e8527a !important;
  border-right: 2.5px solid #e8527a !important;
  border-radius: 1px !important;
  z-index: 2 !important;
  opacity: 0.55 !important;
}
.glj-visit-case-step-img {
  margin: 0 !important;
}
.glj-visit-case-step-img img {
  width: 100% !important;
  height: 72px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 10px 10px 0 0 !important;
}
.glj-visit-case-ttl {
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
  margin: 10px 10px 6px !important;
  text-align: center;
}
.glj-visit-case-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 10px !important;
  text-align: center;
  flex: 1;
}
.glj-visit-case-quote {
  position: relative !important;
  font-size: 0.95rem !important;
  color: #3d3230 !important;
  line-height: 1.9 !important;
  font-style: italic;
  margin: 0 !important;
  padding: 24px 28px !important;
  background: #fff0f3 !important;
  border: 1px solid #ffd6e2 !important;
  border-radius: 16px !important;
  text-align: left;
}
.glj-visit-case-quote::before {
  content: "\201C";
  position: absolute;
  top: 4px;
  left: 12px;
  font-size: 4rem;
  line-height: 1;
  color: #e8527a;
  opacity: 0.3;
  font-family: Georgia, serif;
  font-style: normal;
}
.glj-visit-case-quote-name {
  display: block;
  font-size: 1rem !important;
  font-style: italic !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  margin-top: 16px !important;
  text-align: right;
}

/* ===== Section 08: 親御さんの声 ===== */
.glj-visit-voice-card {
  background: #fff5f7 !important;
  border: 1.5px solid #f4c0d1 !important;
  border-radius: 20px !important;
  padding: 28px 24px 24px !important;
  height: 100%;
  position: relative;
  overflow: visible !important;
}
.glj-visit-voice-card::before {
  content: "\201C";
  position: absolute;
  top: 8px;
  left: 16px;
  font-size: 3rem;
  line-height: 1;
  color: #e8527a;
  opacity: 0.35;
  font-family: Georgia, serif;
}
.glj-visit-voice-text {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 16px 0 16px !important;
  font-style: italic;
}
.glj-visit-voice-name {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  margin: 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid #f4c0d1 !important;
}

/* ===== Section 09: よくある質問 ===== */
.glj-visit-faq-wrap {
  margin: 0 auto !important;
}

/* ===== Section 10: 最終CTA ===== */
.glj-visit-cta-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 6px 18px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-visit-cta-main {
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.glj-visit-cta-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  text-align: center;
  height: 100%;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
.glj-visit-cta-card-badge {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #0a7a3e !important;
  background: #e6f7ed !important;
  border: 1px solid #b7e8c8 !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  margin: 0 0 12px !important;
}
.glj-visit-cta-card-badge--oyakatsu {
  color: #993556 !important;
  background: #fff0f3 !important;
  border-color: #f4c0d1 !important;
}
.glj-visit-cta-card-ttl {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin: 0 0 10px !important;
  line-height: 1.4 !important;
}
.glj-visit-cta-card-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
}
.glj-visit-cta-card-btn {
  justify-content: center !important;
}
.glj-btn-visit-oyakatsu .wp-block-button__link {
  background: #ffffff !important;
  color: #e8527a !important;
  font-weight: 700 !important;
  padding: 16px 28px !important;
  border-radius: 100px !important;
  border: 2px solid #e8527a !important;
  box-shadow: 0 4px 16px rgba(232, 82, 122, 0.2) !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-visit-oyakatsu .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(232, 82, 122, 0.35) !important;
  color: #e8527a !important;
}
/* ===== /visit/ レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-visit-about-ttl {
    text-align: center !important;
  }
  .glj-visit-area-btn-wrap {
    justify-content: center !important;
  }
  .glj-visit-flow-steps.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-visit-flow-steps .swell-block-columns__inner,
  .glj-visit-case-steps .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-visit-flow-steps .swell-block-column,
  .glj-visit-case-steps .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 36px !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-visit-flow-steps .swell-block-column:last-child,
  .glj-visit-case-steps .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
  .glj-visit-flow-step,
  .glj-visit-case-step {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-visit-flow-steps .swell-block-column:not(:last-child)::after,
  .glj-visit-case-steps .swell-block-column:not(:last-child)::after {
    top: auto !important;
    right: auto !important;
    bottom: -22px !important;
    left: 50% !important;
    transform: translateX(-50%) rotate(135deg) !important;
  }
  .glj-visit-pricing-img {
    margin-top: 24px !important;
  }
  .glj-visit-pricing-main-col {
    --glj-pricing-label-w: 44%;
  }
  .glj-visit-pricing-main-col .glj-visit-pricing-table th,
  .glj-visit-pricing-main-col .glj-visit-pricing-table td {
    font-size: 0.94rem !important;
  }
  .glj-visit-area-img {
    margin-top: 24px !important;
  }
}

/* =====================================================
   /service/ 支援プラン・料金ページ
   生成日：2026年5月30日
===================================================== */

/* ===== Section 00: カバー（Hero） ===== */
.glj-sec-service-hero.swell-block-fullWide {
  min-height: 52vh !important;
  background-image: url('/wp-content/uploads/2026/07/glj-hero-service.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: transparent !important;
}
.glj-sec-service-hero.swell-block-fullWide::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(61, 50, 48, 0.55);
  z-index: 0;
}
.glj-sec-service-hero .swell-block-fullWide__inner {
  position: relative !important;
  z-index: 1;
  min-height: 52vh;
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  padding-left: 40px !important;
  padding-right: 40px !important;
  padding-top: 80px !important;
  padding-bottom: 60px !important;
}
.glj-svc-hero__content {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.glj-svc-hero__catch {
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.35 !important;
  margin: 0 0 16px !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}
.glj-svc-hero__sub {
  font-size: clamp(1rem, 1.8vw, 1.15rem) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* ===== Section 共通：l-article 幅・背景 ===== */
.glj-sec-service-intro .swell-block-fullWide__inner,
.glj-sec-service-cards .swell-block-fullWide__inner,
.glj-sec-service-contents .swell-block-fullWide__inner,
.glj-sec-service-pricing .swell-block-fullWide__inner,
.glj-sec-service-flow .swell-block-fullWide__inner,
.glj-sec-service-faq .swell-block-fullWide__inner,
.glj-sec-service-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-service-hero .swell-block-fullWide__inner {
    min-height: 40vh;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 100px !important;
    padding-bottom: 48px !important;
  }
  .glj-svc-hero__catch {
    font-size: 1.5rem !important;
  }
  .glj-sec-service-intro .swell-block-fullWide__inner,
  .glj-sec-service-cards .swell-block-fullWide__inner,
  .glj-sec-service-contents .swell-block-fullWide__inner,
  .glj-sec-service-pricing .swell-block-fullWide__inner,
  .glj-sec-service-flow .swell-block-fullWide__inner,
  .glj-sec-service-faq .swell-block-fullWide__inner,
  .glj-sec-service-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-service-intro { background-color: #fff5f7 !important; }
.glj-sec-service-cards { background-color: #ffffff !important; }
.glj-sec-service-contents { background-color: #fff5f7 !important; }
.glj-sec-service-pricing { background-color: #ffffff !important; }
.glj-sec-service-flow { background-color: #fff5f7 !important; }
.glj-sec-service-faq { background-color: #ffffff !important; }
.glj-sec-service-cta { background-color: #e8527a !important; }

/* ===== Section 01: ページ導入 ===== */
.glj-svc-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-svc-h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
}
.glj-svc-intro-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-svc-intro-lead {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  text-align: left !important;
}
.glj-svc-intro-img img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 20px !important;
}

/* ===== Section 02: 3つのサービス比較カード ===== */
.glj-svc-compare-card {
  background: #fff5f7 !important;
  border-radius: 20px !important;
  overflow: visible !important;
  padding: 0 0 24px !important;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
  border: 1px solid #ffe0e8 !important;
}
.glj-svc-compare-img {
  margin: 0 !important;
}
.glj-svc-compare-img img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 14px 14px 0 0 !important;
}
.glj-svc-compare-badge {
  display: inline-block !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  background: #fff0f3 !important;
  border-radius: 100px !important;
  padding: 5px 12px !important;
  margin: 16px 20px 10px !important;
  line-height: 1.4 !important;
}
.glj-svc-compare-badge--line {
  color: #057a34 !important;
  background: #e6f7ed !important;
}
.glj-svc-compare-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 20px 10px !important;
}
.glj-svc-compare-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 20px 12px !important;
  flex: 1;
}
.glj-svc-compare-price {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  margin: 0 20px 16px !important;
  line-height: 1.5 !important;
}
.glj-svc-compare-btn {
  justify-content: center !important;
  margin: auto 20px 0 !important;
}

/* ===== Section 03: サービス内容詳細 ===== */
.glj-svc-contents-cols .swell-block-columns__inner {
  align-items: stretch !important;
}
.glj-svc-contents-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  overflow: visible !important;
  border: 1px solid #ffe0e8 !important;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.glj-svc-contents-img {
  margin: 0 !important;
}
.glj-svc-contents-img img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 14px 14px 0 0 !important;
}
.glj-svc-contents-ttl {
  font-size: 1.12rem !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 18px 20px 14px !important;
}
.glj-svc-contents-list-item {
  font-size: 1.08rem !important;
  color: #3d3230 !important;
  line-height: 1.75 !important;
  margin: 0 20px 10px !important;
  padding: 12px 14px 12px 44px !important;
  position: relative !important;
  background: #fff5f7 !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 12px !important;
}
.glj-svc-contents-list-item::before {
  content: "✓" !important;
  position: absolute !important;
  left: 14px !important;
  top: 12px !important;
  width: 22px !important;
  height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
  font-size: 0.78rem !important;
  color: #ffffff !important;
  background: #e8527a !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 12px rgba(232, 82, 122, 0.20) !important;
}
.glj-svc-contents-note {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 10px 20px 22px !important;
  padding: 14px 16px 14px 44px !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  border: 1px dashed #f4c0d1 !important;
  border-top: 1px dashed #f4c0d1 !important;
  position: relative !important;
}
.glj-svc-contents-note::before {
  content: "i" !important;
  position: absolute !important;
  left: 14px !important;
  top: 14px !important;
  width: 22px !important;
  height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
  font-size: 0.9rem !important;
  color: #e8527a !important;
  background: #fff0f3 !important;
  border: 1px solid #f4c0d1 !important;
  border-radius: 50% !important;
}

/* ===== Section 04: 料金概要 ===== */
.glj-svc-pricing-img {
  margin: 0 !important;
}
.glj-svc-pricing-img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 20px !important;
}
.glj-svc-pricing-cards-cols .swell-block-columns__inner {
  align-items: stretch !important;
}
.glj-svc-pricing-card-col {
  height: 100% !important;
}
.glj-svc-pricing-box {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 26px 24px !important;
  border: 1px solid #ffe0e8 !important;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.glj-svc-pricing-box--oyakatsu {
  border-color: #c8ead4 !important;
  box-shadow: 0 4px 24px rgba(6, 199, 85, 0.08) !important;
}
.glj-svc-pricing-box-ttl {
  font-size: 1.12rem !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  margin: 0 0 16px !important;
  line-height: 1.5 !important;
}
.glj-svc-pricing-table-wrap {
  margin: 0 0 16px !important;
  --glj-pricing-label-w: 42%;
}
.glj-svc-pricing-table-wrap .glj-svc-pricing-table {
  table-layout: fixed !important;
  width: 100% !important;
}
.glj-svc-pricing-table-wrap .glj-svc-pricing-table th {
  width: var(--glj-pricing-label-w) !important;
}
.glj-svc-pricing-plan-ttl {
  font-size: 0.95rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  margin: 18px 0 10px !important;
  line-height: 1.5 !important;
}
.glj-svc-pricing-table--plan {
  margin-bottom: 4px !important;
}
.glj-svc-pricing-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  font-size: 1rem !important;
}
.glj-svc-pricing-table th,
.glj-svc-pricing-table td {
  padding: 14px 16px !important;
  line-height: 1.75 !important;
  vertical-align: top !important;
  border-bottom: 1px solid #ffe0e8 !important;
}
.glj-svc-pricing-table th {
  width: 38% !important;
  color: #3d3230 !important;
  font-weight: 700 !important;
  text-align: left !important;
}
.glj-svc-pricing-box--visit .glj-svc-pricing-table th {
  background: #fff5f7 !important;
}
.glj-svc-pricing-box--oyakatsu .glj-svc-pricing-table {
  border-color: #c8ead4 !important;
}
.glj-svc-pricing-box--oyakatsu .glj-svc-pricing-table th,
.glj-svc-pricing-box--oyakatsu .glj-svc-pricing-table td {
  border-bottom-color: #c8ead4 !important;
}
.glj-svc-pricing-box--oyakatsu .glj-svc-pricing-table th {
  background: #f0faf4 !important;
}
.glj-svc-pricing-table td {
  background: #ffffff !important;
  color: #3d3230 !important;
}
.glj-svc-pricing-table tr:last-child th,
.glj-svc-pricing-table tr:last-child td {
  border-bottom: none !important;
}
.glj-svc-pricing-table-price {
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
}
.glj-svc-pricing-table-price--free {
  color: #06C755 !important;
}
.glj-svc-pricing-table-note {
  display: block !important;
  margin-top: 4px !important;
  font-size: 0.94rem !important;
  font-weight: 400 !important;
  color: #7a6a68 !important;
}
.glj-svc-pricing-table-caption {
  margin: 10px 0 0 !important;
  font-size: 0.94rem !important;
  color: #7a6a68 !important;
  line-height: 1.75 !important;
}
.glj-svc-pricing-note {
  font-size: 1rem !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
}
.glj-svc-pricing-note--pink {
  background: rgba(232, 82, 122, 0.06) !important;
}
.glj-svc-pricing-note--green {
  background: rgba(6, 199, 85, 0.06) !important;
  margin-bottom: 14px !important;
}
.glj-svc-pricing-box-foot {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
}
.glj-svc-pricing-link-wrap {
  text-align: center !important;
  margin: auto 0 0 !important;
  padding-top: 8px !important;
}
.glj-svc-pricing-link {
  display: inline-block !important;
  color: #e8527a !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 2px solid #e8527a !important;
  padding: 12px 24px !important;
  border-radius: 100px !important;
  transition: background 0.2s, color 0.2s !important;
}
.glj-svc-pricing-link:hover {
  background: #e8527a !important;
  color: #ffffff !important;
}
.glj-svc-pricing-link--oyakatsu {
  color: #06C755 !important;
  border-color: #06C755 !important;
}
.glj-svc-pricing-link--oyakatsu:hover {
  background: #06C755 !important;
  color: #ffffff !important;
}

/* ===== Section 05: サポートの流れ ===== */
.glj-svc-flow-steps .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
.glj-svc-flow-steps + .glj-svc-flow-steps {
  margin-top: 0 !important;
}
.glj-svc-flow-step {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 16px !important;
  overflow: visible !important;
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 24px 16px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.glj-svc-flow-steps .swell-block-column:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 28% !important;
  right: -8px !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2.5px solid #e8527a !important;
  border-right: 2.5px solid #e8527a !important;
  border-radius: 1px !important;
  z-index: 2 !important;
  opacity: 0.55 !important;
}
.glj-svc-flow-num {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  background: #fff0f3 !important;
  border-radius: 100px !important;
  padding: 3px 8px !important;
  display: inline-block !important;
  margin: 0 auto 8px !important;
  text-align: center;
}
.glj-svc-flow-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
  margin: 0 0 6px !important;
}
.glj-svc-flow-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  flex: 1;
}
.glj-svc-flow-link-wrap {
  text-align: right !important;
  margin: 0 !important;
}
.glj-svc-flow-link {
  display: inline-block !important;
  color: #e8527a !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 2px solid #e8527a !important;
  padding: 12px 28px !important;
  border-radius: 100px !important;
  transition: background 0.2s, color 0.2s !important;
}
.glj-svc-flow-link:hover {
  background: #e8527a !important;
  color: #ffffff !important;
}

/* ===== Section 06: よくある質問 ===== */
.glj-svc-faq-cols .swell-block-columns__inner {
  align-items: flex-start !important;
}
.glj-svc-faq-img img {
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 20px !important;
}

/* ===== Section 07: 最終CTA ===== */
.glj-svc-cta-inner {
  text-align: center !important;
  align-items: center !important;
}
.glj-svc-cta-catch {
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.glj-svc-cta-sub {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 16px 0 0 !important;
}
.glj-svc-cta-cards .swell-block-columns__inner {
  align-items: stretch !important;
}
.glj-svc-cta-card {
  background: #ffffff !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 20px !important;
  padding: 28px 24px 24px !important;
  text-align: center;
  height: 100%;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08) !important;
  display: flex;
  flex-direction: column;
}
.glj-svc-cta-card--line {
  border: 1px solid #b7e8c8 !important;
  background: #f0faf4 !important;
}
.glj-svc-cta-card--oyakatsu {
  border: 1px solid #ffe0e8 !important;
  background: #fff5f7 !important;
}
.glj-svc-cta-card-ttl {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 10px !important;
}
.glj-svc-cta-card--line .glj-svc-cta-card-ttl {
  color: #06C755 !important;
}
.glj-svc-cta-card--oyakatsu .glj-svc-cta-card-ttl {
  color: #e8527a !important;
}
.glj-svc-cta-card-sub {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
  flex: 1;
}
.glj-svc-cta-card-btn {
  justify-content: center !important;
  margin-top: auto !important;
}

/* ===== /service/ レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-svc-intro-img-col {
    margin-top: 24px !important;
  }
  .glj-svc-pricing-img img {
    height: 200px !important;
  }
  .glj-svc-pricing-cards-cols .swell-block-columns__inner {
    flex-direction: column !important;
  }
  .glj-svc-pricing-cards-cols .swell-block-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .glj-svc-pricing-card-col {
    margin-bottom: 20px !important;
  }
  .glj-svc-pricing-card-col:last-child {
    margin-bottom: 0 !important;
  }
  .glj-svc-pricing-table-wrap {
    --glj-pricing-label-w: 44%;
  }
  .glj-svc-pricing-table-wrap .glj-svc-pricing-table th {
    width: var(--glj-pricing-label-w) !important;
    font-size: 0.94rem !important;
  }
  .glj-svc-pricing-table th {
    width: 42% !important;
    font-size: 0.94rem !important;
  }
  .glj-svc-pricing-table td {
    font-size: 0.94rem !important;
  }
  .glj-svc-faq-img-col {
    margin-bottom: 28px !important;
  }
  .glj-svc-faq-img img {
    height: 240px !important;
  }
  .glj-svc-flow-steps.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-svc-flow-steps .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-svc-flow-steps .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 36px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-svc-flow-steps .glj-svc-flow-step {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 16px !important;
    box-sizing: border-box !important;
  }
  .glj-svc-flow-steps .swell-block-column:not(:last-child)::after {
    top: auto !important;
    right: auto !important;
    bottom: -22px !important;
    left: 50% !important;
    transform: translateX(-50%) rotate(135deg) !important;
  }
  .glj-svc-flow-steps .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
  .glj-svc-flow-link-wrap {
    text-align: center !important;
  }
  .glj-svc-cta-card {
    margin-bottom: 16px !important;
  }
  .glj-svc-cta-card:last-child {
    margin-bottom: 0 !important;
  }
}

/* =====================================================
  /about/ グッドライフジャパンについて
===================================================== */

/* コンテンツ幅（l-article上書き） */
.glj-sec-about-intro .swell-block-fullWide__inner,
.glj-sec-about-vision .swell-block-fullWide__inner,
.glj-sec-about-message .swell-block-fullWide__inner,
.glj-sec-about-stats .swell-block-fullWide__inner,
.glj-sec-about-services .swell-block-fullWide__inner,
.glj-sec-about-network .swell-block-fullWide__inner,
.glj-sec-about-overview .swell-block-fullWide__inner,
.glj-sec-about-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-about-intro .swell-block-fullWide__inner,
  .glj-sec-about-vision .swell-block-fullWide__inner,
  .glj-sec-about-message .swell-block-fullWide__inner,
  .glj-sec-about-stats .swell-block-fullWide__inner,
  .glj-sec-about-services .swell-block-fullWide__inner,
  .glj-sec-about-network .swell-block-fullWide__inner,
  .glj-sec-about-overview .swell-block-fullWide__inner,
  .glj-sec-about-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-about-intro { background-color: #fff5f7 !important; }
.glj-sec-about-vision { background-color: #ffffff !important; }
.glj-sec-about-message { background-color: #fff5f7 !important; }
.glj-sec-about-stats { background-color: #ffffff !important; }
.glj-sec-about-services { background-color: #fff5f7 !important; }
.glj-sec-about-network { background-color: #ffffff !important; }
.glj-sec-about-overview { background-color: #fff5f7 !important; }
.glj-sec-about-cta { background-color: #e8527a !important; }

/* ===== Section 01: ページ導入 ===== */
.glj-about-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-about-h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
}
.glj-about-intro-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-about-intro-lead {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  text-align: left !important;
}
.glj-about-intro-img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 02: ビジョン・理念 ===== */
.glj-about-label {
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  text-align: center !important;
  margin: 0 0 12px !important;
  letter-spacing: 0.06em;
}
.glj-about-label--left {
  text-align: left !important;
}
.glj-about-body {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
}
.glj-about-body--center {
  text-align: center !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.glj-about-tagline {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  line-height: 1.75 !important;
  margin: 20px 0 0 !important;
}
.glj-about-tagline--center {
  text-align: center !important;
  border-left: none !important;
  padding-left: 0 !important;
  margin-top: 24px !important;
}
.glj-about-vision-img {
  margin: 0 !important;
}
.glj-about-vision-img img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 03: 代表メッセージ ===== */
.glj-about-message-ttl {
  text-align: center !important;
}
.glj-about-message-cols .swell-block-columns__inner {
  align-items: flex-start !important;
}
.glj-about-message-text-col {
  flex: 2 1 0 !important;
}
.glj-about-message-img-col {
  flex: 1 1 0 !important;
}
.glj-about-message-img img {
  width: 100% !important;
  height: 320px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}
.glj-about-message-name {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  margin: 16px 0 0 !important;
  line-height: 1.6 !important;
}

/* ===== Section 04: 実績 ===== */
.glj-about-stats-cols .swell-block-columns__inner {
  align-items: stretch !important;
}
.glj-about-stats-card {
  background: #fff5f7 !important;
  border-radius: 16px !important;
  padding: 32px 16px !important;
  text-align: center !important;
  height: 100%;
}
.glj-about-stats-num {
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  line-height: 1 !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.02em;
}
.glj-about-stats-label {
  font-size: 0.94rem !important;
  color: #7a6a68 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.glj-about-stats-note {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.75 !important;
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 640px;
}
@media (max-width: 768px) {
  .glj-about-stats-cols.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  .glj-about-stats-cols .swell-block-columns__inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-about-stats-cols .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-about-stats-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 12px !important;
  }
  .glj-about-stats-cols .swell-block-column:last-child .glj-about-stats-card {
    margin-bottom: 0 !important;
  }
}

/* ===== Section 05: 事業内容 ===== */
.glj-about-svc-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 24px 24px 28px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
}
.glj-about-svc-card--family {
  border: 0.5px solid #f4c0d1 !important;
}
.glj-about-svc-card--other {
  border: 0.5px solid #d9d5d3 !important;
}
.glj-about-svc-badge {
  display: inline-block !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  background: #fff0f3 !important;
  border-radius: 100px !important;
  padding: 5px 12px !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
}
.glj-about-svc-badge--other {
  color: #7a6a68 !important;
  background: #f5f3f2 !important;
}
.glj-about-svc-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 0 12px !important;
}
.glj-about-svc-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
  flex: 1;
}
.glj-about-link-wrap {
  text-align: left !important;
  margin: auto 0 0 !important;
}
.glj-about-link {
  display: inline-block !important;
  color: #e8527a !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 2px solid #e8527a !important;
  padding: 12px 28px !important;
  border-radius: 100px !important;
  transition: background 0.2s, color 0.2s !important;
}
.glj-about-link:hover {
  background: #e8527a !important;
  color: #ffffff !important;
}

/* ===== Section 06: 社会との繋がり ===== */
.glj-about-network-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-about-network-text-col {
  flex: 2 1 0 !important;
}
.glj-about-network-img-col {
  flex: 1 1 0 !important;
}
.glj-about-network-ttl {
  text-align: left !important;
}
.glj-about-network-tag {
  display: inline-block !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  background: #fff0f3 !important;
  border: 1px solid #f4c0d1 !important;
  border-radius: 100px !important;
  padding: 8px 16px !important;
  margin: 0 8px 8px 0 !important;
  line-height: 1.5 !important;
}
.glj-about-network-img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 07: 団体概要 ===== */
.glj-about-overview-table {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  border-collapse: collapse !important;
  background: #ffffff !important;
  border: 1px solid #f4c0d1 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  table-layout: fixed !important;
}
.glj-about-overview-table th,
.glj-about-overview-table td {
  padding: 16px 20px !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  border-bottom: 1px solid #f4c0d1 !important;
  vertical-align: top !important;
  text-align: left !important;
  box-sizing: border-box !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  line-break: strict !important;
}
.glj-about-overview-table th {
  width: 36% !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  background: #fff5f7 !important;
}
.glj-about-overview-table td {
  color: #3d3230 !important;
  background: #ffffff !important;
}
.glj-about-overview-table tr:last-child th,
.glj-about-overview-table tr:last-child td {
  border-bottom: none !important;
}
@media (max-width: 768px) {
  .glj-sec-about-overview .swell-block-fullWide__inner {
    overflow-x: hidden !important;
  }
  .glj-about-overview-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .glj-about-overview-table tbody,
  .glj-about-overview-table tr {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .glj-about-overview-table th,
  .glj-about-overview-table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 16px !important;
  }
  .glj-about-overview-table th {
    border-bottom: none !important;
    padding-bottom: 4px !important;
  }
  .glj-about-overview-table td {
    padding-top: 0 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #f4c0d1 !important;
  }
  .glj-about-overview-table tr:last-child td {
    border-bottom: none !important;
  }
}

/* ===== Section 08: 最終CTA ===== */
.glj-about-cta-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 6px 18px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-about-cta-main {
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.glj-about-cta-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  text-align: center;
  height: 100%;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
.glj-about-cta-card-badge {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #27500a !important;
  background: #eaf3de !important;
  border: 1px solid #c8ddb0 !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  margin: 0 0 12px !important;
}
.glj-about-cta-card-badge--oyakatsu {
  color: #72243e !important;
  background: #fbeaf0 !important;
  border-color: #f4c0d1 !important;
}
.glj-about-cta-card-ttl {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin: 0 0 10px !important;
  line-height: 1.4 !important;
}
.glj-about-cta-card-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
}
.glj-about-cta-card-btn {
  justify-content: center !important;
}
.glj-about-cta-note {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.8) !important;
  text-align: center !important;
  margin: 0 !important;
  line-height: 1.7 !important;
}

/* ===== /about/ レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-about-intro-img-col {
    margin-top: 24px !important;
  }
  .glj-about-message-cols.swell-block-columns,
  .glj-about-network-cols.swell-block-columns {
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  .glj-about-message-cols .swell-block-columns__inner,
  .glj-about-network-cols .swell-block-columns__inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-about-message-cols .swell-block-column,
  .glj-about-network-cols .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-about-message-img-col,
  .glj-about-message-text-col,
  .glj-about-network-img-col,
  .glj-about-network-text-col {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .glj-about-message-ttl {
    text-align: center !important;
  }
  .glj-about-message-img-col {
    margin-bottom: 24px !important;
  }
  .glj-about-message-img {
    width: 100% !important;
    max-width: 100% !important;
  }
  .glj-about-message-img img {
    width: 100% !important;
    height: 280px !important;
    margin: 0 !important;
  }
  .glj-about-network-ttl {
    text-align: center !important;
  }
  .glj-about-label--left {
    text-align: center !important;
  }
  .glj-about-network-img-col {
    order: -1 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
  }
  .glj-about-network-img img {
    height: 220px !important;
  }
  .glj-about-link-wrap {
    text-align: center !important;
  }
  .glj-about-cta-card {
    margin-bottom: 16px !important;
  }
  .glj-about-cta-card:last-child {
    margin-bottom: 0 !important;
  }
}

/* =====================================================
   /oyakatsu/ 親活ページ
   生成日：2026年5月31日
===================================================== */

/* ===== Section 00: カバー（Hero） ===== */
.glj-sec-oyakatsu-hero.swell-block-fullWide {
  min-height: 52vh !important;
  background-image: url('/wp-content/uploads/2026/07/glj-hero-oyakatsu-1.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: transparent !important;
}
.glj-sec-oyakatsu-hero.swell-block-fullWide::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(61, 50, 48, 0.55);
  z-index: 0;
}
.glj-sec-oyakatsu-hero .swell-block-fullWide__inner {
  position: relative !important;
  z-index: 1;
  min-height: 52vh;
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  padding-left: 40px !important;
  padding-right: 40px !important;
  padding-top: 80px !important;
  padding-bottom: 60px !important;
}
.glj-oyakatsu-hero__content {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.glj-oyakatsu-hero__catch {
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.35 !important;
  margin: 0 0 16px !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}
.glj-oyakatsu-hero__sub {
  font-size: clamp(1rem, 1.8vw, 1.15rem) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* ===== Section 共通：l-article 幅・背景 ===== */
.glj-sec-oyakatsu-intro .swell-block-fullWide__inner,
.glj-sec-oyakatsu-concerns .swell-block-fullWide__inner,
.glj-sec-oyakatsu-about .swell-block-fullWide__inner,
.glj-sec-oyakatsu-features .swell-block-fullWide__inner,
.glj-sec-oyakatsu-contents .swell-block-fullWide__inner,
.glj-sec-oyakatsu-target .swell-block-fullWide__inner,
.glj-sec-oyakatsu-schedule .swell-block-fullWide__inner,
.glj-sec-oyakatsu-flow .swell-block-fullWide__inner,
.glj-sec-oyakatsu-faq .swell-block-fullWide__inner,
.glj-sec-oyakatsu-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-oyakatsu-hero .swell-block-fullWide__inner {
    min-height: 40vh;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 100px !important;
    padding-bottom: 48px !important;
  }
  .glj-oyakatsu-hero__catch {
    font-size: 1.5rem !important;
  }
  .glj-sec-oyakatsu-intro .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-concerns .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-about .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-features .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-contents .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-target .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-schedule .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-flow .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-faq .swell-block-fullWide__inner,
  .glj-sec-oyakatsu-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-oyakatsu-intro { background-color: #fff5f7 !important; }
.glj-sec-oyakatsu-concerns { background-color: #ffffff !important; }
.glj-sec-oyakatsu-about { background-color: #fff5f7 !important; }
.glj-sec-oyakatsu-features { background-color: #ffffff !important; }
.glj-sec-oyakatsu-contents { background-color: #fff5f7 !important; }
.glj-sec-oyakatsu-target { background-color: #ffffff !important; }
.glj-sec-oyakatsu-schedule { background-color: #fff5f7 !important; }
.glj-sec-oyakatsu-flow { background-color: #ffffff !important; }
.glj-sec-oyakatsu-faq { background-color: #fff5f7 !important; }
.glj-sec-oyakatsu-cta { background-color: #e8527a !important; }

/* 共通：本文・ラベル */
.glj-oyakatsu-body {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
}
.glj-oyakatsu-label {
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  text-align: center !important;
  margin: 0 0 12px !important;
  letter-spacing: 0.06em;
}
.glj-oyakatsu-label--teal {
  color: #3a8fa0 !important;
}
.glj-oyakatsu-sec-lead {
  font-size: 0.95rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 12px auto 0 !important;
  max-width: 640px;
}
.glj-oyakatsu-tagline {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
  margin: 20px 0 0 !important;
}
.glj-oyakatsu-tagline--teal {
  color: #3a8fa0 !important;
}
.glj-oyakatsu-num {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #085041 !important;
  background: #e1f5ee !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
}

/* 60/40 カラム比率 */
.glj-oyakatsu-intro-text-col,
.glj-oyakatsu-about-text-col,
.glj-oyakatsu-concerns-content-col,
.glj-oyakatsu-target-list-col,
.glj-oyakatsu-schedule-main-col {
  flex: 3 1 0 !important;
}
.glj-oyakatsu-intro-img-col,
.glj-oyakatsu-about-img-col,
.glj-oyakatsu-concerns-img-col,
.glj-oyakatsu-target-img-col,
.glj-oyakatsu-schedule-img-col {
  flex: 2 1 0 !important;
}

/* ===== Section 01: ページ導入 ===== */
.glj-oyakatsu-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-oyakatsu-h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
}
.glj-oyakatsu-intro-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-oyakatsu-intro-lead {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
  text-align: left !important;
}
.glj-oyakatsu-intro-meta {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3a8fa0 !important;
  margin: 0 0 20px !important;
  line-height: 1.6 !important;
}
.glj-oyakatsu-intro-btn {
  justify-content: flex-start !important;
}
.glj-oyakatsu-intro-img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 02: ご家族の思い ===== */
.glj-oyakatsu-concerns-ttl {
  text-align: center !important;
}
.glj-oyakatsu-concerns-cols .swell-block-columns__inner {
  align-items: flex-start !important;
}
.glj-oyakatsu-concerns-img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}
.glj-oyakatsu-concern-card {
  background: #fff5f7 !important;
  border-radius: 12px !important;
  padding: 16px 18px !important;
  font-size: 0.95rem !important;
  color: #3d3230 !important;
  line-height: 1.75 !important;
  margin: 0 0 12px !important;
}
.glj-oyakatsu-concerns-closing {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 16px 0 0 !important;
  padding: 16px 18px !important;
  border: 1px solid #ffd6e2 !important;
  background: #ffffff !important;
  border-radius: 12px !important;
}

/* ===== Section 03: 親活とは ===== */
.glj-oyakatsu-about-ttl {
  text-align: center !important;
}
.glj-oyakatsu-about-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-oyakatsu-about-img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 04: 親活の4つの特徴 ===== */
.glj-oyakatsu-feature-card {
  background: #ffffff !important;
  border: 0.5px solid #f0dde4 !important;
  border-radius: 16px !important;
  padding: 24px 22px !important;
  height: 100%;
  box-sizing: border-box;
}
.glj-oyakatsu-feature-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 0 10px !important;
}
.glj-oyakatsu-feature-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* ===== Section 05: 4つのコンテンツ構成 ===== */
.glj-oyakatsu-contents-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 24px 22px !important;
  height: 100%;
  box-sizing: border-box;
}
.glj-oyakatsu-contents-ttl {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.55 !important;
  margin: 0 0 14px !important;
}
.glj-oyakatsu-contents-line {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 8px !important;
  padding-left: 1.1em !important;
  position: relative !important;
}
.glj-oyakatsu-contents-line::before {
  content: "・" !important;
  position: absolute !important;
  left: 0 !important;
  color: #3a8fa0 !important;
  font-weight: 700 !important;
}

/* ===== Section 06: こんな方に特におすすめ ===== */
.glj-oyakatsu-target-ttl {
  text-align: center !important;
}
.glj-oyakatsu-target-cols .swell-block-columns__inner {
  align-items: flex-start !important;
}
.glj-oyakatsu-target-img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}
.glj-oyakatsu-target-list-item {
  font-size: 15px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 14px !important;
  padding-left: 2.2em !important;
  position: relative !important;
}
.glj-oyakatsu-target-list-item::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.1em;
  width: 1.5em !important;
  height: 1.5em !important;
  line-height: 1.5em !important;
  text-align: center !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #085041 !important;
  background: #e1f5ee !important;
  border-radius: 100px !important;
}
.glj-oyakatsu-target-closing {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 8px 0 0 !important;
  padding: 16px 18px !important;
  border: 1px solid #ffd6e2 !important;
  background: #fff5f7 !important;
  border-radius: 12px !important;
}

/* ===== Section 07: 開催スケジュール・参加概要 ===== */
.glj-oyakatsu-schedule-ttl {
  text-align: center !important;
}
.glj-oyakatsu-schedule-cols .swell-block-columns__inner {
  align-items: flex-start !important;
}
.glj-oyakatsu-schedule-grid .glj-oyakatsu-schedule-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 24px 22px !important;
  height: 100%;
  box-sizing: border-box;
}
.glj-oyakatsu-schedule-label {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3a8fa0 !important;
  margin: 0 0 8px !important;
  line-height: 1.5 !important;
}
.glj-oyakatsu-schedule-value {
  font-size: 1rem !important;
  color: #3d3230 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}
.glj-oyakatsu-schedule-note {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  font-weight: 400 !important;
}
.glj-oyakatsu-schedule-img img {
  width: 100% !important;
  height: 100% !important;
  min-height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 08: 参加方法（4ステップ） ===== */
.glj-oyakatsu-flow-steps .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
.glj-oyakatsu-flow-step {
  background: #ffffff !important;
  border: 0.5px solid #f0dde4 !important;
  border-radius: 16px !important;
  overflow: visible !important;
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 24px 14px 18px !important;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.glj-oyakatsu-flow-steps .swell-block-column:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 28% !important;
  right: -8px !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2.5px solid #e8527a !important;
  border-right: 2.5px solid #e8527a !important;
  border-radius: 1px !important;
  z-index: 2 !important;
  opacity: 0.55 !important;
}
.glj-oyakatsu-flow-num {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #085041 !important;
  background: #e1f5ee !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  display: inline-block !important;
  margin: 0 auto 8px !important;
}
.glj-oyakatsu-flow-num--gray {
  color: #7a6a68 !important;
  background: #f0f0f0 !important;
}
.glj-oyakatsu-flow-ttl {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  margin: 0 0 8px !important;
}
.glj-oyakatsu-flow-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  flex: 1;
}

/* ===== Section 09: FAQ ===== */
.glj-oyakatsu-faq-wrap {
  margin: 0 auto;
}

/* ===== Section 10: 最終CTA ===== */
.glj-oyakatsu-cta-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 6px 18px !important;
  border-radius: 100px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.65) !important;
  text-align: center;
}
.glj-oyakatsu-cta-main {
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.glj-oyakatsu-cta-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  text-align: center;
  height: 100%;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
.glj-oyakatsu-cta-card-badge {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  margin: 0 0 12px !important;
}
.glj-oyakatsu-cta-card-badge--line {
  color: #27500a !important;
  background: #eaf3de !important;
  border: 1px solid #c8ddb0 !important;
}
.glj-oyakatsu-cta-card-badge--join {
  color: #72243e !important;
  background: #fbeaf0 !important;
  border: 1px solid #f4c0d1 !important;
}
.glj-oyakatsu-cta-card-ttl {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin: 0 0 10px !important;
  line-height: 1.4 !important;
}
.glj-oyakatsu-cta-card-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
}
.glj-oyakatsu-cta-card-btn {
  justify-content: center !important;
}

/* ===== /oyakatsu/ レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-oyakatsu-intro-img-col {
    margin-top: 24px !important;
  }
  .glj-oyakatsu-intro-btn {
    justify-content: center !important;
  }
  .glj-oyakatsu-concerns-img-col {
    margin-bottom: 24px !important;
  }
  .glj-oyakatsu-about-img-col {
    margin-top: 24px !important;
  }
  .glj-oyakatsu-target-img-col {
    margin-bottom: 24px !important;
  }
  .glj-oyakatsu-schedule-img-col {
    margin-top: 24px !important;
  }
  .glj-oyakatsu-intro-text-col,
  .glj-oyakatsu-about-text-col,
  .glj-oyakatsu-concerns-content-col,
  .glj-oyakatsu-target-list-col,
  .glj-oyakatsu-schedule-main-col,
  .glj-oyakatsu-intro-img-col,
  .glj-oyakatsu-about-img-col,
  .glj-oyakatsu-concerns-img-col,
  .glj-oyakatsu-target-img-col,
  .glj-oyakatsu-schedule-img-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .glj-oyakatsu-intro-cols.swell-block-columns,
  .glj-oyakatsu-about-cols.swell-block-columns,
  .glj-oyakatsu-target-cols.swell-block-columns,
  .glj-oyakatsu-concerns-cols.swell-block-columns,
  .glj-oyakatsu-schedule-cols.swell-block-columns,
  .glj-oyakatsu-schedule-grid.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-oyakatsu-intro-cols .swell-block-columns__inner,
  .glj-oyakatsu-about-cols .swell-block-columns__inner,
  .glj-oyakatsu-target-cols .swell-block-columns__inner,
  .glj-oyakatsu-concerns-cols .swell-block-columns__inner,
  .glj-oyakatsu-schedule-cols .swell-block-columns__inner,
  .glj-oyakatsu-schedule-grid .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-oyakatsu-intro-cols .swell-block-column,
  .glj-oyakatsu-about-cols .swell-block-column,
  .glj-oyakatsu-target-cols .swell-block-column,
  .glj-oyakatsu-concerns-cols .swell-block-column,
  .glj-oyakatsu-schedule-cols .swell-block-column,
  .glj-oyakatsu-schedule-grid .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-oyakatsu-intro-text-col,
  .glj-oyakatsu-intro-img-col,
  .glj-oyakatsu-about-text-col,
  .glj-oyakatsu-about-img-col,
  .glj-oyakatsu-target-list-col,
  .glj-oyakatsu-target-img-col,
  .glj-oyakatsu-concerns-img-col,
  .glj-oyakatsu-concerns-content-col,
  .glj-oyakatsu-schedule-main-col,
  .glj-oyakatsu-schedule-img-col {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .glj-oyakatsu-schedule-grid .glj-oyakatsu-schedule-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 12px !important;
    padding: 24px 22px !important;
    box-sizing: border-box !important;
  }
  .glj-oyakatsu-schedule-grid .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
  .glj-oyakatsu-intro-img img,
  .glj-oyakatsu-about-img img,
  .glj-oyakatsu-target-img img,
  .glj-oyakatsu-concerns-img img,
  .glj-oyakatsu-schedule-img img {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    min-height: 220px !important;
    height: auto !important;
  }
  .glj-oyakatsu-flow-steps.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-oyakatsu-flow-steps .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-oyakatsu-flow-steps .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 36px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-oyakatsu-flow-step {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .glj-oyakatsu-flow-steps .swell-block-column:not(:last-child)::after {
    top: auto !important;
    right: auto !important;
    bottom: -22px !important;
    left: 50% !important;
    transform: translateX(-50%) rotate(135deg) !important;
  }
  .glj-oyakatsu-flow-steps .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
  .glj-oyakatsu-cta-card {
    margin-bottom: 16px !important;
  }
  .glj-oyakatsu-cta-card:last-child {
    margin-bottom: 0 !important;
  }
}

/* =====================================================
   /member/ メンバー紹介ページ
   生成日：2026年6月2日
===================================================== */

.glj-sec-member-intro .swell-block-fullWide__inner,
.glj-sec-member-cards .swell-block-fullWide__inner,
.glj-sec-member-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-member-intro .swell-block-fullWide__inner,
  .glj-sec-member-cards .swell-block-fullWide__inner,
  .glj-sec-member-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-member-intro { background-color: #fff5f7 !important; }
.glj-sec-member-cards { background-color: #ffffff !important; }
.glj-sec-member-cta { background-color: #e8527a !important; }

/* ===== Section 01: ページ導入 ===== */
.glj-member-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-member-h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
}
.glj-member-intro-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-member-intro-lead {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  text-align: left !important;
}
.glj-member-intro-img {
  margin: 0 !important;
}
.glj-member-intro-img img {
  width: 100% !important;
  height: 400px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* ===== Section 02: メンバープロフィール一覧（PC 3列 / SP 1列） ===== */
.glj-member-cols .swell-block-columns__inner {
  align-items: stretch !important;
  flex-wrap: wrap !important;
}
.glj-member-profile-col {
  height: 100% !important;
}
.glj-member-profile {
  background: #fff5f7 !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 20px !important;
  padding: 0 0 20px !important;
  margin: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
  box-sizing: border-box !important;
}
.glj-member-profile > .glj-member-profile-img,
.glj-member-profile > :not(.glj-member-profile-img) {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.glj-member-profile > .glj-member-profile-img {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.glj-member-profile-img {
  margin: 0 !important;
}
.glj-member-profile-img img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 5 / 4 !important;
  object-fit: cover !important;
  object-position: center 22% !important;
  display: block !important;
  border-radius: 20px 20px 0 0 !important;
}
/* 個別：顔が低い人は % を上げる／頭頂部が見切れる人は top 寄りにする */
.glj-member-profile-img--kitaori img {
  object-position: center 38% !important;
}
.glj-member-profile-img--iguchi img {
  object-position: center 32% !important;
}
.glj-member-profile-img--someya img {
  object-position: center 8% !important;
}
.glj-member-profile-img--masuda img {
  object-position: center 28% !important;
}
.glj-member-profile-img--majima img {
  object-position: center top !important;
}
.glj-member-profile-img--hayashi img {
  object-position: center top !important;
}
.glj-member-profile-img--tokairin img {
  object-position: center 18% !important;
}
.glj-member-profile-img--fujiwara img {
  object-position: center top !important;
}
.glj-member-profile-img--kaneda img {
  object-position: center 12% !important;
}
.glj-member-profile-img--kawada img {
  object-position: center 20% !important;
}
.glj-member-profile-img--shimoda img {
  object-position: center center !important;
}
.glj-member-profile-name {
  font-size: 1.05rem !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 16px 20px 4px !important;
  text-align: left !important;
}
.glj-member-profile-nickname {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 20px 12px !important;
  text-align: left !important;
}
.glj-member-profile-label {
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
  margin: 14px 0 6px !important;
  padding: 0 20px !important;
}
.glj-member-profile-name + .glj-member-profile-label,
.glj-member-profile-nickname + .glj-member-profile-label {
  margin-top: 0 !important;
}
.glj-member-profile-value {
  font-size: 0.94rem !important;
  color: #3d3230 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  padding: 0 20px !important;
}
.glj-member-profile-value + .glj-member-profile-label {
  margin-top: 14px !important;
}
.glj-member-interview-btn {
  justify-content: flex-start !important;
  margin: 20px 0 0 !important;
}

/* ===== Section 03: 最終CTA ===== */
.glj-member-cta-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 6px 18px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-member-cta-main {
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.glj-member-cta-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  text-align: center;
  height: 100%;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
.glj-member-cta-card-badge {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #27500a !important;
  background: #eaf3de !important;
  border: 1px solid #c8ddb0 !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  margin: 0 0 12px !important;
}
.glj-member-cta-card-badge--oyakatsu {
  color: #72243e !important;
  background: #fbeaf0 !important;
  border-color: #f4c0d1 !important;
}
.glj-member-cta-card-ttl {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin: 0 0 10px !important;
  line-height: 1.4 !important;
}
.glj-member-cta-card-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
}
.glj-member-cta-card-btn {
  justify-content: center !important;
}

/* ===== /member/ レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-member-intro-img-col {
    margin-top: 24px !important;
  }
  .glj-member-intro-img img {
    height: 260px !important;
  }
  .glj-member-cols.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-member-cols .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-member-cols .swell-block-column,
  .glj-member-cols .glj-member-profile-col {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-member-profile {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
  .glj-member-cols .swell-block-column:last-child,
  .glj-member-cols .glj-member-profile-col:last-child {
    margin-bottom: 0 !important;
  }
  .glj-member-profile-img img {
    height: auto !important;
    aspect-ratio: 5 / 4 !important;
  }
  .glj-member-cta-card {
    margin-bottom: 16px !important;
  }
  .glj-member-cta-card:last-child {
    margin-bottom: 0 !important;
  }
}

/* ===== /faq/ よくある質問ページ ===== */

/* ===== Section 00: 共通（コンテンツ幅・背景） ===== */
.glj-sec-faq-intro .swell-block-fullWide__inner,
.glj-sec-faq-body .swell-block-fullWide__inner,
.glj-sec-faq-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-faq-intro .swell-block-fullWide__inner,
  .glj-sec-faq-body .swell-block-fullWide__inner,
  .glj-sec-faq-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-faq-intro { background-color: #fff5f7 !important; }
.glj-sec-faq-body { background-color: #ffffff !important; }
.glj-sec-faq-cta { background-color: #e8527a !important; }

/* ===== Section 01: ページ導入 ===== */
.glj-faq-intro-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-faq-intro-h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
}
.glj-faq-intro-lead {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 0 !important;
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.glj-faq-intro-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}
.glj-faq-intro-nav-item {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.glj-faq-intro-nav-item a {
  display: inline-block !important;
  background: #fff0f3 !important;
  border: 1px solid #f4c0d1 !important;
  color: #e8527a !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 10px 18px !important;
  border-radius: 100px !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  transition: background 0.2s, color 0.2s;
}
.glj-faq-intro-nav-item a:hover {
  background: #e8527a !important;
  color: #ffffff !important;
  border-color: #e8527a !important;
}

/* ===== Section 02: FAQ本体 ===== */
.glj-faq-page-wrap {
  width: 100% !important;
}

.glj-faq-page-cat {
  border: 0.5px solid #f4c0d1 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  background: #ffffff !important;
}
.glj-faq-page-cat:last-child {
  margin-bottom: 0 !important;
}

.glj-faq-page-cat-head {
  background: #fff5f7 !important;
  border-bottom: 0.5px solid #f4c0d1 !important;
  padding: 12px 20px !important;
  margin: 0 !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.glj-faq-page-cat-ttl {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
}
.glj-faq-page-cat-link {
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.glj-faq-page-cat-link a {
  color: #e8527a !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.glj-faq-page-cat-link a:hover {
  text-decoration: underline !important;
}

.glj-faq-page-acc.swell-block-accordion {
  margin: 0 !important;
}
.glj-faq-page-acc .swell-block-accordion__item {
  background: #fff5f7 !important;
  border: none !important;
  border-radius: 0 !important;
  border-bottom: 0.5px solid #f4c0d1 !important;
  box-shadow: none !important;
}
.glj-faq-page-cat > .glj-faq-page-acc:last-of-type .swell-block-accordion__item {
  border-bottom: none !important;
}
.glj-faq-page-acc .swell-block-accordion__title {
  background: #fff5f7 !important;
  padding: 12px 20px !important;
  font-weight: 400 !important;
  gap: 8px !important;
}
.glj-faq-page-acc .swell-block-accordion__label,
.glj-faq-page-q-text {
  color: #3d3230 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}
.glj-faq-page-acc .swell-block-accordion__icon {
  color: #e8527a !important;
  flex-shrink: 0 !important;
}
.glj-faq-page-acc .swell-block-accordion__icon i {
  color: #e8527a !important;
  transition: transform 0.25s ease;
}
.glj-faq-page-acc details[open] .swell-block-accordion__icon .__icon--closed {
  transform: rotate(180deg);
}
.glj-faq-page-acc .swell-block-accordion__body {
  background: #ffffff !important;
  border-top: 0.5px dashed #f4c0d1 !important;
  padding: 12px 20px 14px 20px !important;
  margin: 0 !important;
}
.glj-faq-page-acc .swell-block-accordion__body p {
  font-size: 15px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* ===== Section 03: 最終CTA ===== */
.glj-faq-cta-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  text-align: center;
}
.glj-faq-cta-main {
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  text-align: center !important;
  line-height: 1.45 !important;
  margin: 0 0 12px !important;
}
.glj-faq-cta-sub {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.88) !important;
  text-align: center !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}
.glj-faq-cta-rule {
  display: block !important;
  width: min(480px, 90%) !important;
  height: 1px !important;
  margin: 20px auto 0 !important;
  background: rgba(255, 255, 255, 0.35) !important;
  border: none !important;
}
.glj-faq-cta-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08) !important;
  text-align: center !important;
}
.glj-faq-cta-card-badge {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #2d8a47 !important;
  background: #e8f8ee !important;
  border: 1px solid #b8e6c8 !important;
  padding: 6px 14px !important;
  border-radius: 100px !important;
  margin: 0 0 12px !important;
}
.glj-faq-cta-card-badge--oyakatsu {
  color: #993556 !important;
  background: #fff0f3 !important;
  border-color: #f4c0d1 !important;
}
.glj-faq-cta-card-ttl {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin: 0 0 10px !important;
}
.glj-faq-cta-card-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
}
.glj-faq-cta-card-btn {
  justify-content: center !important;
}
.glj-btn-faq-oyakatsu .wp-block-button__link {
  background: #ffffff !important;
  color: #e8527a !important;
  border: 2px solid #e8527a !important;
  font-weight: 700 !important;
  padding: 16px 32px !important;
  border-radius: 100px !important;
  box-shadow: none !important;
}
.glj-btn-faq-oyakatsu .wp-block-button__link:hover {
  background: #fff0f3 !important;
  color: #e8527a !important;
  transform: translateY(-3px);
}
.glj-faq-cta-note {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.75) !important;
  text-align: center !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ===== Section 04: レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-faq-intro-nav {
    flex-direction: column !important;
    align-items: stretch !important;
    max-width: 100% !important;
  }
  .glj-faq-intro-nav-item {
    width: 100% !important;
  }
  .glj-faq-intro-nav-item a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .glj-faq-page-cat-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .glj-faq-page-cat-link {
    width: 100% !important;
    text-align: right !important;
  }
  .glj-faq-page-acc .swell-block-accordion__body {
    padding-left: 20px !important;
  }
  .glj-faq-cta-card {
    margin-bottom: 16px !important;
  }
  .glj-faq-cta-card:last-child {
    margin-bottom: 0 !important;
  }
}

/* =====================================================
   /training/ 行政・支援者の方へ（講演・研修）
===================================================== */

/* ===== Section 共通：l-article 幅・背景 ===== */
.glj-sec-training-intro .swell-block-fullWide__inner,
.glj-sec-training-pain .swell-block-fullWide__inner,
.glj-sec-training-menu .swell-block-fullWide__inner,
.glj-sec-training-jisseki .swell-block-fullWide__inner,
.glj-sec-training-prof .swell-block-fullWide__inner,
.glj-sec-training-flow .swell-block-fullWide__inner,
.glj-sec-training-faq .swell-block-fullWide__inner,
.glj-sec-training-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-training-intro .swell-block-fullWide__inner,
  .glj-sec-training-pain .swell-block-fullWide__inner,
  .glj-sec-training-menu .swell-block-fullWide__inner,
  .glj-sec-training-jisseki .swell-block-fullWide__inner,
  .glj-sec-training-prof .swell-block-fullWide__inner,
  .glj-sec-training-flow .swell-block-fullWide__inner,
  .glj-sec-training-faq .swell-block-fullWide__inner,
  .glj-sec-training-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-training-intro { background-color: #fff5f7 !important; }
.glj-sec-training-pain { background-color: #ffffff !important; }
.glj-sec-training-menu { background-color: #fff5f7 !important; }
.glj-sec-training-jisseki { background-color: #ffffff !important; }
.glj-sec-training-prof { background-color: #fff5f7 !important; }
.glj-sec-training-flow { background-color: #ffffff !important; }
.glj-sec-training-faq { background-color: #fff5f7 !important; }
.glj-sec-training-cta { background-color: #e8527a !important; }

/* ===== Section 00: カバー（Hero） ===== */
.glj-sec-training-hero.swell-block-fullWide {
  min-height: 52vh !important;
  background-image: url('/wp-content/uploads/2026/07/glj-training-seminar.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: transparent !important;
}
.glj-sec-training-hero.swell-block-fullWide::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(61, 50, 48, 0.55);
  z-index: 0;
}
.glj-sec-training-hero .swell-block-fullWide__inner {
  position: relative !important;
  z-index: 1;
  min-height: 52vh;
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  padding-left: 40px !important;
  padding-right: 40px !important;
  padding-top: 80px !important;
  padding-bottom: 60px !important;
}
.glj-training-hero__content {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.glj-training-hero__catch {
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.35 !important;
  margin: 0 0 16px !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}
.glj-training-hero__sub {
  font-size: clamp(1rem, 1.8vw, 1.15rem) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .glj-sec-training-hero .swell-block-fullWide__inner {
    min-height: 40vh;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 100px !important;
    padding-bottom: 48px !important;
  }
  .glj-training-hero__catch {
    font-size: 1.5rem !important;
  }
}

/* ===== Section 01: ページ導入 ===== */
.glj-training-intro-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-training-intro-lead {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
  text-align: left !important;
}
.glj-training-intro-lead:last-child {
  margin-bottom: 0 !important;
}
.glj-training-intro-img {
  margin: 0 !important;
  text-align: center;
}
.glj-training-intro-img img {
  width: 100% !important;
  max-width: 400px !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 16px !important;
}

/* ===== Section 02: 支援の現場の行き詰まり ===== */
.glj-training-pain-cols .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  counter-reset: glj-training-pain;
}
.glj-training-pain-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 22px 18px !important;
  position: relative;
  border: 1px solid #ffe0e8 !important;
  box-shadow: 0 4px 20px rgba(232, 82, 122, 0.06) !important;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  height: 100%;
  box-sizing: border-box !important;
  counter-increment: glj-training-pain;
}
.glj-training-pain-text {
  font-size: 1.08rem !important;
  color: #3d3230 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  padding-top: 28px !important;
  position: relative !important;
}
.glj-training-pain-text::before {
  content: counter(glj-training-pain, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  color: #e8527a !important;
  letter-spacing: 0.12em;
  line-height: 1 !important;
}
.glj-training-pain-closing-wrap {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 36px 32px !important;
  background: #fff5f7 !important;
  border: 2px solid #e8527a !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 32px rgba(232, 82, 122, 0.12) !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.glj-training-pain-closing-badge {
  display: inline-block !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: #e8527a !important;
  border-radius: 100px !important;
  padding: 6px 18px !important;
  margin: 0 auto 16px !important;
  line-height: 1.4 !important;
}
.glj-training-pain-closing-main {
  font-size: clamp(1.1rem, 2.2vw, 1.35rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.65 !important;
  margin: 0 0 12px !important;
}
.glj-training-pain-closing-sub {
  font-size: 1.08rem !important;
  font-weight: 500 !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* ===== Section 03: 提供メニュー ===== */
.glj-training-menu-cols .swell-block-columns__inner {
  align-items: stretch !important;
}
.glj-training-menu-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  overflow: visible !important;
  border: 1px solid #ffe0e8 !important;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
  padding: 0 0 24px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.glj-training-menu-img {
  margin: 0 !important;
}
.glj-training-menu-img img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 14px 14px 0 0 !important;
}
.glj-training-menu-label {
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  text-transform: lowercase;
  letter-spacing: 0.02em;
  margin: 16px 20px 12px !important;
  line-height: 1.4 !important;
}
.glj-training-menu-ttl {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 20px 12px !important;
}
.glj-training-menu-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 20px 16px !important;
}
.glj-training-menu-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: auto 20px 0 !important;
}
.glj-training-menu-tag {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #72243e !important;
  background: #fff0f3 !important;
  border: 1px solid #ffd6e2 !important;
  border-radius: 100px !important;
  padding: 6px 12px !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.glj-training-menu-note {
  font-size: 15px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  background: #fff0f3 !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin: 0 auto !important;
  max-width: 720px;
}

/* ===== Section 04: 講演・研修実績 ===== */
.glj-training-jisseki-cols .swell-block-columns__inner {
  align-items: flex-start !important;
}
.glj-training-jisseki-subttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #ffe0e8;
}
.glj-training-jisseki-item {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: flex-start;
}
.glj-training-jisseki-date {
  display: inline-block;
  flex-shrink: 0;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #7a6a68 !important;
  background: #f5f0ef !important;
  border-radius: 6px !important;
  padding: 4px 10px !important;
  line-height: 1.4 !important;
  white-space: nowrap;
}
.glj-training-jisseki-note {
  font-size: 15px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* ===== Section 05: 講師プロフィール ===== */
.glj-training-prof-cols .swell-block-columns__inner {
  align-items: flex-start !important;
}
.glj-training-prof-img {
  margin: 0 auto !important;
  text-align: center;
}
.glj-training-prof-img img {
  width: 160px !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 50% !important;
}
.glj-training-prof-name {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 0 8px !important;
}
.glj-training-prof-meta {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.75 !important;
  margin: 0 0 4px !important;
}
.glj-training-prof-meta--spec {
  color: #3d3230 !important;
  font-weight: 600 !important;
  margin-bottom: 0 !important;
}
.glj-training-prof-body {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
}
.glj-training-prof-tagline {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.75 !important;
  padding: 16px 20px !important;
  border: 1px solid #ffd6e2 !important;
  background: #fff0f3 !important;
  border-radius: 12px !important;
  margin: 8px 0 0 !important;
}

/* ===== Section 06: お申し込みの流れ ===== */
.glj-training-flow-steps .swell-block-columns__inner {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
.glj-training-flow-step {
  background: #fff5f7 !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 16px !important;
  overflow: visible !important;
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 0 0 20px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.glj-training-flow-steps .swell-block-column:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 38% !important;
  right: -8px !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2.5px solid #e8527a !important;
  border-right: 2.5px solid #e8527a !important;
  border-radius: 1px !important;
  z-index: 2 !important;
  opacity: 0.55 !important;
}
.glj-training-flow-step-img {
  margin: 0 !important;
  flex-shrink: 0;
}
.glj-training-flow-step-img img {
  width: 100% !important;
  height: 140px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px 12px 0 0 !important;
}
.glj-training-flow-num {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  background: #fff0f3 !important;
  border-radius: 100px !important;
  padding: 3px 10px !important;
  display: inline-block !important;
  margin: 12px auto 10px !important;
  text-align: center;
}
.glj-training-flow-ttl {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
  margin: 0 12px 8px !important;
}
.glj-training-flow-desc {
  font-size: 1.08rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 12px !important;
  flex: 1;
}

/* ===== Section 07: よくある質問 ===== */
.glj-training-faq-acc {
  margin-bottom: 12px !important;
}
.glj-training-faq-acc:last-child {
  margin-bottom: 0 !important;
}
.glj-training-faq-acc .swell-block-accordion__item {
  background: #fff5f7 !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 12px !important;
  overflow: hidden;
}
.glj-training-faq-acc .swell-block-accordion__title {
  background: #fff5f7 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  padding: 18px 20px !important;
}
.glj-training-faq-acc .swell-block-accordion__body {
  background: #ffffff !important;
  padding: 0 20px 18px !important;
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
}
.glj-training-faq-acc .swell-block-accordion__body p {
  margin: 0 !important;
}

/* ===== Section 08: 最終CTA ===== */
.glj-sec-training-cta {
  text-align: center !important;
}
.glj-training-cta-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
}
.glj-training-cta-main {
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.45 !important;
  margin: 0 0 12px !important;
}
.glj-training-cta-sub {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.85) !important;
  line-height: 1.85 !important;
  margin: 0 0 28px !important;
}
.glj-training-cta-divider {
  width: 100%;
  max-width: 480px;
  height: 1px;
  background: rgba(255, 255, 255, 0.35);
  margin: 0 auto 28px;
}
.glj-training-cta-btn {
  justify-content: center !important;
}
.glj-btn-training-contact .wp-block-button__link {
  background: #ffffff !important;
  color: #e8527a !important;
  font-weight: 700 !important;
  padding: 16px 36px !important;
  border-radius: 100px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-training-contact .wp-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.16) !important;
  color: #e8527a !important;
}
.glj-training-cta-note {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.82) !important;
  text-align: center !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* ===== Section 09: レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-training-intro-lead {
    text-align: center !important;
  }
  .glj-training-intro-img img {
    max-width: 100% !important;
    height: 220px !important;
  }
  .glj-training-pain-cols .swell-block-columns__inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }
  .glj-training-pain-cols .swell-block-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .glj-training-pain-card {
    margin-bottom: 12px !important;
  }
  .glj-training-pain-card:last-child {
    margin-bottom: 0 !important;
  }
  .glj-training-pain-closing-wrap {
    padding: 28px 20px !important;
  }
  .glj-training-menu-card {
    margin-bottom: 16px !important;
  }
  .glj-training-menu-card:last-child {
    margin-bottom: 0 !important;
  }
  .glj-training-jisseki-col {
    margin-bottom: 32px !important;
  }
  .glj-training-jisseki-col:last-child {
    margin-bottom: 0 !important;
  }
  .glj-training-jisseki-item {
    flex-direction: column;
    gap: 6px;
  }
  .glj-training-prof-img-col {
    margin-bottom: 24px !important;
  }
  .glj-training-prof-text-col {
    text-align: center !important;
  }
  .glj-training-prof-tagline {
    text-align: left !important;
  }
  .glj-training-flow-steps.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-training-flow-steps .swell-block-columns__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .glj-training-flow-steps .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 36px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .glj-training-flow-step {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .glj-training-flow-steps .swell-block-column:not(:last-child)::after {
    top: auto !important;
    right: auto !important;
    bottom: -22px !important;
    left: 50% !important;
    transform: translateX(-50%) rotate(135deg) !important;
  }
  .glj-training-flow-steps .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
}

/* =====================================================
   /sharehouse/ シェアハウス『丘の家』
===================================================== */

/* ===== Section 共通：l-article 幅・背景 ===== */
.glj-sec-sharehouse-intro .swell-block-fullWide__inner,
.glj-sec-sharehouse-about .swell-block-fullWide__inner,
.glj-sec-sharehouse-styles .swell-block-fullWide__inner,
.glj-sec-sharehouse-rooms .swell-block-fullWide__inner,
.glj-sec-sharehouse-faq .swell-block-fullWide__inner,
.glj-sec-sharehouse-access .swell-block-fullWide__inner,
.glj-sec-sharehouse-cta .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-sharehouse-intro .swell-block-fullWide__inner,
  .glj-sec-sharehouse-about .swell-block-fullWide__inner,
  .glj-sec-sharehouse-styles .swell-block-fullWide__inner,
  .glj-sec-sharehouse-rooms .swell-block-fullWide__inner,
  .glj-sec-sharehouse-faq .swell-block-fullWide__inner,
  .glj-sec-sharehouse-access .swell-block-fullWide__inner,
  .glj-sec-sharehouse-cta .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-sharehouse-intro { background-color: #fff5f7 !important; }
.glj-sec-sharehouse-about { background-color: #ffffff !important; }
.glj-sec-sharehouse-styles { background-color: #fff5f7 !important; }
.glj-sec-sharehouse-rooms { background-color: #ffffff !important; }
.glj-sec-sharehouse-faq { background-color: #fff5f7 !important; }
.glj-sec-sharehouse-access { background-color: #ffffff !important; }
.glj-sec-sharehouse-cta { background-color: #e8527a !important; }

/* ===== Section 00: カバー（Hero） ===== */
.glj-sec-sharehouse-hero.swell-block-fullWide {
  min-height: 52vh !important;
  background-image: url('/wp-content/uploads/2026/07/glj-hero-sharehouse.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: transparent !important;
}
.glj-sec-sharehouse-hero.swell-block-fullWide::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(61, 50, 48, 0.55);
  z-index: 0;
}
.glj-sec-sharehouse-hero .swell-block-fullWide__inner {
  position: relative !important;
  z-index: 1;
  min-height: 52vh;
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  padding-left: 40px !important;
  padding-right: 40px !important;
  padding-top: 80px !important;
  padding-bottom: 60px !important;
}
.glj-sharehouse-hero__content {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.glj-sharehouse-hero__catch {
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.35 !important;
  margin: 0 0 16px !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}
.glj-sharehouse-hero__sub {
  font-size: clamp(1rem, 1.8vw, 1.15rem) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
}

/* ===== Section 01: ページ導入 ===== */
.glj-sharehouse-intro-cols .swell-block-columns__inner {
  align-items: center !important;
}
.glj-sharehouse-intro-lead {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
}
.glj-sharehouse-intro-notice {
  font-size: 18px !important;
  color: #a32d2d !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  background: #fcebeb !important;
  border: 1px solid #e8b4b4 !important;
  border-radius: 8px !important;
}
.glj-sharehouse-intro-img {
  margin: 0 !important;
}
.glj-sharehouse-intro-img img {
  width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
  display: block;
}

/* ===== Section 02: 丘の家とは ===== */
.glj-sharehouse-about-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #eceae9 !important;
  color: #7a6a68 !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
  letter-spacing: 0.06em;
}
.glj-sharehouse-about-body {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 16px !important;
}
.glj-sharehouse-about-tagline {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  line-height: 1.75 !important;
  margin: 8px 0 0 !important;
}
.glj-sharehouse-about-img {
  margin: 0 !important;
}
.glj-sharehouse-about-img img {
  width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
  display: block;
}

/* ===== Section 03: 3つの利用スタイル ===== */
.glj-sharehouse-styles-sub {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 12px 0 0 !important;
}
.glj-sharehouse-style-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  overflow: visible !important;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.1) !important;
  padding: 0 0 24px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.glj-sharehouse-style-card--stopped {
  background: #f5f5f3 !important;
  opacity: 0.75;
  box-shadow: none !important;
}
.glj-sharehouse-style-img {
  margin: 0 !important;
}
.glj-sharehouse-style-img img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-radius: 16px 16px 0 0 !important;
  display: block;
}
.glj-sharehouse-style-img--stopped img {
  filter: grayscale(40%);
}
.glj-sharehouse-style-tag {
  display: table !important;
  margin: 16px 20px 8px !important;
  background: #fff0f3 !important;
  color: #e8527a !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 4px 12px !important;
  border-radius: 100px !important;
}
.glj-sharehouse-style-stopped-badge {
  display: table !important;
  margin: 16px 20px 8px !important;
  background: #fcebeb !important;
  color: #a32d2d !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 4px 14px !important;
  border-radius: 100px !important;
}
.glj-sharehouse-style-ttl {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 0 20px 10px !important;
}
.glj-sharehouse-style-card--stopped .glj-sharehouse-style-ttl,
.glj-sharehouse-style-card--stopped .glj-sharehouse-style-desc {
  color: #7a6a68 !important;
}
.glj-sharehouse-style-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 20px !important;
}

/* ===== Section 04: 施設のご紹介 ===== */
.glj-sharehouse-rooms-sub {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 12px 0 0 !important;
}
.glj-sharehouse-room-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  overflow: visible !important;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
  padding: 0 0 20px !important;
  height: 100%;
}
.glj-sharehouse-room-img {
  margin: 0 !important;
}
.glj-sharehouse-room-img img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  border-radius: 10px 10px 0 0 !important;
  display: block;
}
.glj-sharehouse-room-ttl {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.5 !important;
  margin: 14px 16px 8px !important;
}
.glj-sharehouse-room-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 16px !important;
}

/* ===== Section 05: よくある質問 ===== */
.glj-sharehouse-faq-wrap {
  margin: 0 auto !important;
}
.glj-sharehouse-faq-acc {
  margin-bottom: 12px !important;
}
.glj-sharehouse-faq-acc:last-child {
  margin-bottom: 0 !important;
}
.glj-sharehouse-faq-acc .swell-block-accordion__item {
  background: #fff5f7 !important;
  border: 1px solid #ffe0e8 !important;
  border-radius: 12px !important;
  overflow: hidden;
}
.glj-sharehouse-faq-acc .swell-block-accordion__title {
  background: #fff5f7 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  padding: 18px 20px !important;
}
.glj-sharehouse-faq-acc .swell-block-accordion__body {
  background: #ffffff !important;
  padding: 0 20px 18px !important;
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
}
.glj-sharehouse-faq-acc .swell-block-accordion__body p {
  margin: 0 !important;
}

/* ===== Section 06: アクセス ===== */
.glj-sharehouse-access-body {
  font-size: 18px !important;
  color: #3d3230 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
}
.glj-sharehouse-access-note {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid #e8e4e3 !important;
  border-radius: 8px !important;
  background: #faf9f8 !important;
}
.glj-sharehouse-access-map {
  width: 100%;
  line-height: 0;
}
.glj-sharehouse-access-map iframe {
  width: 100% !important;
  min-height: 320px;
  border-radius: 16px !important;
  display: block;
}

/* ===== Section 07: 最終CTA ===== */
.glj-sec-sharehouse-cta {
  text-align: center !important;
}
.glj-sharehouse-cta-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
}
.glj-sharehouse-cta-main {
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.45 !important;
  margin: 0 0 12px !important;
}
.glj-sharehouse-cta-sub {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.85) !important;
  line-height: 1.85 !important;
  margin: 0 0 28px !important;
}
.glj-sharehouse-cta-divider {
  width: 200px;
  max-width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.35);
  margin: 0 auto 28px;
}
.glj-sharehouse-cta-btn {
  justify-content: center !important;
}
.glj-btn-sharehouse-contact .wp-block-button__link {
  background: #ffffff !important;
  color: #e8527a !important;
  font-weight: 700 !important;
  padding: 16px 36px !important;
  border-radius: 100px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.glj-btn-sharehouse-contact .wp-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.16) !important;
  color: #e8527a !important;
}
.glj-sharehouse-cta-note {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.65) !important;
  text-align: center !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* ===== Section 08: レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-sec-sharehouse-hero .swell-block-fullWide__inner {
    min-height: 40vh;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 100px !important;
    padding-bottom: 48px !important;
  }
  .glj-sharehouse-hero__catch {
    font-size: 1.5rem !important;
  }
  .glj-sharehouse-intro-lead,
  .glj-sharehouse-intro-notice {
    text-align: left !important;
  }
  .glj-sharehouse-intro-img {
    margin-top: 8px !important;
  }
  .glj-sharehouse-about-img-col {
    margin-bottom: 24px !important;
  }
  .glj-sharehouse-style-cols .swell-block-columns__inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-sharehouse-style-cols.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  .glj-sharehouse-style-cols .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    margin-bottom: 16px !important;
  }
  .glj-sharehouse-style-card {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .glj-sharehouse-style-card:last-child {
    margin-bottom: 0 !important;
  }
  .glj-sharehouse-rooms-cols.swell-block-columns {
    --clmn-w--pc: 100% !important;
    --clmn-w--tab: 100% !important;
    --clmn-w--mobile: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  .glj-sharehouse-rooms-cols .swell-block-columns__inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .glj-sharehouse-rooms-cols .swell-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    margin-bottom: 16px !important;
  }
  .glj-sharehouse-rooms-cols .swell-block-column:last-child {
    margin-bottom: 0 !important;
  }
  .glj-sharehouse-access-body {
    margin-bottom: 16px !important;
  }
  .glj-sharehouse-access-map-col {
    margin-top: 8px !important;
  }
}

/* =====================================================
   /contact/ お問い合わせ
===================================================== */

/* ===== Section 共通：l-article 幅・背景 ===== */
.glj-sec-contact-intro .swell-block-fullWide__inner,
.glj-sec-contact-line .swell-block-fullWide__inner,
.glj-sec-contact-form .swell-block-fullWide__inner,
.glj-sec-contact-info .swell-block-fullWide__inner {
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-contact-intro .swell-block-fullWide__inner,
  .glj-sec-contact-line .swell-block-fullWide__inner,
  .glj-sec-contact-form .swell-block-fullWide__inner,
  .glj-sec-contact-info .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
.glj-sec-contact-intro { background-color: #fff5f7 !important; }
.glj-sec-contact-line  { background-color: #ffffff !important; }
.glj-sec-contact-form  { background-color: #fff5f7 !important; }
.glj-sec-contact-info  { background-color: #ffffff !important; }

/* ===== Section 01: ページ導入 ===== */
.glj-contact-intro-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-contact-intro-h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
}
.glj-contact-intro-lead {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 480px !important;
}

/* ===== Section 02: LINE・親活 相談窓口 ===== */
.glj-contact-line-sub {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  text-align: center !important;
  margin: 12px 0 0 !important;
}
.glj-contact-line-cols .swell-block-columns__inner {
  align-items: stretch !important;
}
.glj-contact-line-card {
  background: #ffffff !important;
  border: 1px solid #f4c0d1 !important;
  border-radius: 20px !important;
  padding: 22px 20px !important;
  text-align: center !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(232, 82, 122, 0.06) !important;
}
.glj-contact-line-card--line {
  border: 1px solid #b7e8c8 !important;
  background: #f0faf4 !important;
}
.glj-contact-line-card--oyakatsu {
  border: 1px solid #ffe0e8 !important;
  background: #fff5f7 !important;
}
.glj-contact-line-card-badge {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  border-radius: 100px !important;
  padding: 6px 14px !important;
  margin: 0 0 12px !important;
}
.glj-contact-line-card-badge--line {
  background: #e8f7ee !important;
  color: #085041 !important;
}
.glj-contact-line-card-badge--oyakatsu {
  background: #fbeaf0 !important;
  color: #72243e !important;
}
.glj-contact-line-card-ttl {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
  margin: 0 0 10px !important;
}
.glj-contact-line-card-desc {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 20px !important;
  flex: 1;
}
.glj-contact-line-card-btn {
  justify-content: center !important;
  margin-bottom: 14px !important;
}
.glj-contact-line-card-note {
  font-size: 0.94rem !important;
  color: #7a6a68 !important;
  line-height: 1.7 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* ===== Section 03: お問い合わせフォーム ===== */
.glj-contact-form-ttl {
  text-align: center !important;
}
.glj-contact-form-card {
  background: #ffffff !important;
  border: 0.5px solid #f4c0d1 !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}
.glj-contact-form-card .wpcf7 label {
  display: block !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  margin-bottom: 6px !important;
}
.glj-contact-form-card .wpcf7 input[type="text"],
.glj-contact-form-card .wpcf7 input[type="email"],
.glj-contact-form-card .wpcf7 select,
.glj-contact-form-card .wpcf7 textarea {
  background: #fff5f7 !important;
  border: 0.5px solid #f4c0d1 !important;
  border-radius: 10px !important;
  padding: 9px 12px !important;
  font-size: 18px !important;
  color: #3d3230 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.glj-contact-form-card .wpcf7 textarea {
  height: 120px !important;
  resize: vertical !important;
}
.glj-contact-form-card .wpcf7-form-control-wrap {
  display: block !important;
  margin-bottom: 16px !important;
}
.glj-contact-form-card .wpcf7-submit {
  background: #e8527a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 12px 48px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: block !important;
  margin: 20px auto 0 !important;
  box-shadow: 0 4px 16px rgba(232, 82, 122, 0.3) !important;
}
.glj-contact-form-card .wpcf7-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(232, 82, 122, 0.4) !important;
}
.glj-contact-form-note {
  font-size: 0.94rem !important;
  color: #7a6a68 !important;
  line-height: 1.75 !important;
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 560px !important;
}
.glj-contact-form-note a {
  color: #e8527a !important;
  text-decoration: underline !important;
}
.glj-contact-form-note a:hover {
  text-decoration: none !important;
}

/* ===== Section 04: お電話・事務所のご案内 ===== */
.glj-contact-info-ttl {
  text-align: center !important;
}
.glj-contact-info-wrap {
  margin: 0 auto !important;
}
.glj-contact-info-panel {
  background: #ffffff !important;
  border: 0.5px solid #f4c0d1 !important;
  border-radius: 20px !important;
  padding: 28px 32px !important;
  box-shadow: 0 4px 24px rgba(232, 82, 122, 0.08) !important;
  box-sizing: border-box;
}
.glj-contact-info-label {
  display: inline-block !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  letter-spacing: 0.06em !important;
  margin: 0 0 10px !important;
  padding: 4px 12px !important;
  background: #fff0f3 !important;
  border-radius: 100px !important;
  line-height: 1.4 !important;
}
.glj-contact-info-tel {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #3d3230 !important;
  line-height: 1.4 !important;
  margin: 0 0 8px !important;
  letter-spacing: 0.04em !important;
}
.glj-contact-info-tel a {
  color: #3d3230 !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.glj-contact-info-tel a:hover {
  color: #e8527a !important;
}
.glj-contact-info-hours {
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}
.glj-contact-info-divider {
  height: 1px !important;
  background: linear-gradient(90deg, transparent, #f4c0d1 15%, #f4c0d1 85%, transparent) !important;
  margin: 24px 0 !important;
}
.glj-contact-info-addr-item {
  font-size: 18px !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
  margin: 0 0 14px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.glj-contact-info-addr-item:last-child {
  margin-bottom: 0 !important;
}
.glj-contact-info-addr-tag {
  display: inline-block !important;
  flex-shrink: 0 !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #72243e !important;
  background: #fbeaf0 !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  line-height: 1.4 !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
}

/* ===== Section 05: レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-contact-line-card {
    margin-bottom: 16px !important;
  }
  .glj-contact-line-card:last-child {
    margin-bottom: 0 !important;
  }
  .glj-contact-info-panel {
    padding: 24px 20px !important;
  }
  .glj-contact-info-tel {
    font-size: 1.2rem !important;
  }
  .glj-contact-form-card {
    padding: 24px 18px !important;
  }
}

/* ===== /privacy/ 個人情報保護方針 ===== */

/* ===== Section 00: 共通（セクション土台・コンテンツ幅） ===== */
.glj-sec-privacy-intro .swell-block-fullWide__inner,
.glj-sec-privacy-body .swell-block-fullWide__inner {
  max-width: 800px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-privacy-intro .swell-block-fullWide__inner,
  .glj-sec-privacy-body .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-privacy-intro { background-color: #fff5f7 !important; }
.glj-sec-privacy-body  { background-color: #ffffff !important; }

/* ===== Section 01: ページ導入 ===== */
.glj-sec-privacy-intro .swell-block-fullWide__inner {
  text-align: center !important;
}
.glj-privacy-intro-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-privacy-intro-h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* ===== Section 02: 本文（条文） ===== */
.glj-privacy-body-wrap {
  max-width: 680px !important;
  margin: 0 auto !important;
}
.glj-privacy-body-text {
  font-size: 18px !important;
  line-height: 1.9 !important;
  color: #3d3230 !important;
  margin: 0 0 12px !important;
  text-align: left !important;
}
.glj-privacy-body-heading {
  margin-top: 28px !important;
  margin-bottom: 8px !important;
}
.glj-privacy-body-heading strong {
  color: #3d3230 !important;
  font-weight: 600 !important;
}
.glj-privacy-body-list {
  margin-bottom: 4px !important;
  padding-left: 0.5em !important;
}
.glj-privacy-body-date {
  margin-top: 28px !important;
  color: #7a6a68 !important;
  font-size: 15px !important;
}
.glj-privacy-body-text a {
  color: #e8527a !important;
  text-decoration: underline !important;
}
.glj-privacy-body-text a:hover {
  color: #c93d62 !important;
}

/* ===== Section 03: レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-privacy-body-text {
    font-size: 15px !important;
  }
}

/* ===== /tokusho/ 特定商取引法に関する表記 ===== */

/* ===== Section 00: 共通（セクション土台・コンテンツ幅） ===== */
.glj-sec-tokusho-intro .swell-block-fullWide__inner,
.glj-sec-tokusho-table .swell-block-fullWide__inner {
  max-width: 800px !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .glj-sec-tokusho-intro .swell-block-fullWide__inner,
  .glj-sec-tokusho-table .swell-block-fullWide__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.glj-sec-tokusho-intro { background-color: #fff5f7 !important; }
.glj-sec-tokusho-table  { background-color: #ffffff !important; }

/* ===== Section 01: ページ導入 ===== */
.glj-sec-tokusho-intro .swell-block-fullWide__inner {
  text-align: center !important;
}
.glj-tokusho-intro-badge {
  display: table !important;
  margin: 0 auto 16px !important;
  background: #e8527a !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 100px !important;
  text-align: center;
}
.glj-tokusho-intro-h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: #3d3230 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* ===== Section 02: 法定記載テーブル ===== */
.glj-tokusho-table-wrap {
  max-width: 680px !important;
  margin: 0 auto !important;
}
.glj-tokusho-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 0.5px solid #f4c0d1 !important;
  font-size: 18px !important;
  table-layout: fixed !important;
}
.glj-tokusho-table th,
.glj-tokusho-table td {
  padding: 12px 16px !important;
  border-bottom: 0.5px solid #f4c0d1 !important;
  vertical-align: top !important;
  line-height: 1.7 !important;
}
.glj-tokusho-table th {
  width: 36% !important;
  color: #7a6a68 !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
}
.glj-tokusho-table td {
  color: #3d3230 !important;
}
.glj-tokusho-table td a {
  color: #e8527a !important;
  text-decoration: underline !important;
}
.glj-tokusho-table td a:hover {
  color: #c93d62 !important;
}
.glj-tokusho-table tr:last-child th,
.glj-tokusho-table tr:last-child td {
  border-bottom: none !important;
}

/* ===== Section 03: レスポンシブ ===== */
@media (max-width: 768px) {
  .glj-tokusho-table th {
    width: 38% !important;
    font-size: 15px !important;
  }
  .glj-tokusho-table td {
    font-size: 15px !important;
  }
}

/* =====================================================
   全ページ共通：ステップ・カード説明文（50〜60代向け）
   ※ フッター・バッジ番号・英語ラベルは対象外
===================================================== */
.post_content p[class*="glj-"][class*="-desc"],
.post_content p[class*="glj-"][class*="-text"],
.post_content p[class*="glj-"][class*="-body"],
.post_content p[class*="glj-"][class*="-list-item"],
.post_content p[class*="glj-"][class*="-contents-note"],
.post_content p[class*="glj-"][class*="-card-sub"],
.post_content p[class*="glj-"][class*="-pricing-note"],
.post_content p[class*="glj-"][class*="-compare-item"],
.post_content p[class*="glj-"][class*="-profile-value"] {
  font-size: 1.08rem !important;
  line-height: 1.85 !important;
}
.post_content .glj-sec-flow .glj-flow-title,
.post_content .glj-flow-list .glj-flow-ttl,
.post_content p[class*="glj-"][class*="-step-ttl"],
.post_content p[class*="glj-"][class*="-flow-ttl"],
.post_content p[class*="glj-"][class*="-case-ttl"],
.post_content p[class*="glj-"][class*="-pillar-ttl"] {
  font-size: 1.12rem !important;
  line-height: 1.55 !important;
}

/* =====================================================
   サイトフッター（parts/footer/footer_contents.php）
===================================================== */

.glj-footer {
  background-color: #fff5f7 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.glj-footer .l-footer__inner {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ===== メインエリア ===== */
.glj-footer__main {
  padding: 64px 40px 48px;
  border-top: 3px solid #e8527a;
}

.glj-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 40px 32px;
  align-items: start;
}

/* ===== ブランド ===== */
.glj-footer__logo img {
  max-height: 48px !important;
  width: auto !important;
  border-radius: 0 !important;
}

.glj-footer__logo-text {
  display: inline-block;
  text-decoration: none;
  color: #3d3230;
  line-height: 1.4;
}

.glj-footer__logo-org {
  display: block;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #7a6a68;
}

.glj-footer__logo-name {
  display: block;
  font-size: 1.15rem;
  font-weight: 900;
  color: #3d3230;
}

.glj-footer__tagline {
  margin: 16px 0 8px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #e8527a !important;
  line-height: 1.6 !important;
}

.glj-footer__desc {
  margin: 0 !important;
  font-size: 0.94rem !important;
  color: #7a6a68 !important;
  line-height: 1.85 !important;
}

/* ===== ナビ列 ===== */
.glj-footer__nav-ttl {
  margin: 0 0 14px !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  color: #e8527a !important;
  text-transform: uppercase;
}

.glj-footer__nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.glj-footer__nav-list li {
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.glj-footer__nav-list li:last-child {
  margin-bottom: 0 !important;
}

.glj-footer__nav-list a {
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  color: #3d3230 !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.glj-footer__nav-list a:hover {
  color: #e8527a !important;
}

/* ===== 連絡先 ===== */
.glj-footer__tel {
  margin: 0 0 6px !important;
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
}

.glj-footer__tel a {
  color: #3d3230 !important;
  text-decoration: none !important;
}

.glj-footer__tel a:hover {
  color: #e8527a !important;
}

.glj-footer__hours {
  margin: 0 0 16px !important;
  font-size: 0.8rem !important;
  color: #7a6a68 !important;
}

.glj-footer__addr p {
  margin: 0 0 8px !important;
  font-size: 1rem !important;
  color: #7a6a68 !important;
  line-height: 1.7 !important;
}

.glj-footer__addr p:last-child {
  margin-bottom: 0 !important;
}

.glj-footer__addr-tag {
  display: inline-block;
  margin-right: 6px;
  padding: 2px 8px;
  border-radius: 100px;
  background: #fff0f3;
  color: #e8527a;
  font-size: 0.68rem;
  font-weight: 700;
  vertical-align: middle;
}

/* ===== SNS ===== */
.glj-footer__sns {
  max-width: 1200px;
  margin: 32px auto 0;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.glj-footer__sns-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  border: 1.5px solid #ffd6e2;
  color: #3d3230;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
  box-shadow: 0 2px 12px rgba(232, 82, 122, 0.08);
}

.glj-footer__sns-link:hover {
  transform: translateY(-2px);
  border-color: #e8527a;
}

.glj-footer__sns-link--yt:hover {
  background: #ff0000;
  color: #ffffff;
  border-color: #ff0000;
}

.glj-footer__sns-link--ig:hover {
  background: #e8527a;
  color: #ffffff;
  border-color: #e8527a;
}

.glj-footer__sns-link--x:hover {
  background: #3d3230;
  color: #ffffff;
  border-color: #3d3230;
}

.glj-footer__sns-link--fb:hover {
  background: #1877f2;
  color: #ffffff;
  border-color: #1877f2;
}

/* ===== フッター下部（法的リンク・コピーライト） ===== */
.glj-footer__foot {
  background: #ffffff !important;
  border-top: 1px solid #ffd6e2;
  padding: 20px 40px 28px !important;
}

.glj-footer__foot .l-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
}

.glj-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
}

.glj-footer__legal a {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #7a6a68 !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.glj-footer__legal a:hover {
  color: #e8527a !important;
}

.glj-footer__copy,
.glj-footer .copyright {
  margin: 0 !important;
  font-size: 0.76rem !important;
  color: #7a6a68 !important;
  text-align: right;
}

/* ===== レスポンシブ ===== */
@media (max-width: 1024px) {
  .glj-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 32px 24px;
  }
  .glj-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  .glj-footer__main {
    padding: 48px 20px 36px;
  }
  .glj-footer__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .glj-footer__foot {
    padding: 20px 20px 24px !important;
  }
  .glj-footer__foot .l-container {
    flex-direction: column;
    align-items: flex-start;
  }
  .glj-footer__copy,
  .glj-footer .copyright {
    text-align: left;
  }
}