/*
Theme Name: Gokusen Blog
Theme URI: https://gokusen.jp/blog
Author: Gokusen
Author URI: https://gokusen.jp
Description: 出張手洗い洗車「極洗 -gokusen-」のオウンドメディア向けWordPressテーマ。本サイトと統一されたダークネイビー×ゴールドのトンマナで、ferret-plus.com 風のメディアレイアウト(ピックアップスライダー、カテゴリグリッド、人気ランキング、関連記事)を採用しています。
Version: 1.10.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gokusen-blog
Tags: blog, news, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks
*/

/* ==========================================
   Design Tokens (gokusen.jp に合わせて統一)
========================================== */
:root{
  /* Brand */
  --c-navy:#0e1a2b;          /* メインダーク(ヘッダー・フッター・hero) */
  --c-navy-2:#1a2740;        /* 一段明るいネイビー */
  --c-navy-3:#2a3a55;        /* セクション区切り */
  --c-gold:#f5b942;          /* ゴールド(アクセント・見出し下線・価格) */
  --c-gold-dark:#d99a20;
  --c-red:#dc2626;           /* CTA「今すぐ予約」 */
  --c-red-dark:#b91c1c;
  --c-line:#06c755;          /* LINE公式グリーン */
  --c-line-dark:#05a847;

  /* Surfaces */
  --c-bg:#fafaf7;            /* オフホワイト */
  --c-card:#ffffff;
  --c-border:#e5e2d8;
  --c-border-soft:#eeebe2;

  /* Text */
  --c-text:#1f2937;
  --c-text-soft:#4b5563;
  --c-muted:#6b7280;

  /* Shape */
  --r-pill:999px;
  --r-card:12px;
  --r-input:8px;
  --shadow-sm:0 2px 8px rgba(14,26,43,.06);
  --shadow-md:0 6px 20px rgba(14,26,43,.10);
  --shadow-lg:0 12px 40px rgba(14,26,43,.16);

  /* Font */
  /* sailing-day.com (SANGOテーマ) と同一のフォントスタック */
  --ff-base:"Helvetica","Arial","Hiragino Kaku Gothic ProN","Hiragino Sans",YuGothic,"Yu Gothic","メイリオ",Meiryo,sans-serif;
  --ff-quicksand:"Quicksand",var(--ff-base); /* 英数字・頭番号用 */
  /* 見出し用 — 太くしっかり見えるヒラギノ角ゴ W6 相当を優先 */
  --ff-heading:"Hiragino Kaku Gothic ProN","Hiragino Sans W6","Hiragino Sans","Yu Gothic",YuGothic,"游ゴシック体","メイリオ",Meiryo,"ヒラギノ角ゴシック",sans-serif;
}

/* ==========================================
   Reset & Base
========================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--ff-base);
  font-size:16px;
  line-height:1.85;
  color:var(--c-text);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"palt";
}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-navy);text-decoration:none;transition:color .2s,opacity .2s}
a:hover{color:var(--c-gold-dark);text-decoration:none}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.5;color:var(--c-navy);letter-spacing:.01em}
ul,ol{padding-left:1.4em}
button{font-family:inherit;cursor:pointer}
hr{border:0;border-top:1px solid var(--c-border);margin:24px 0}

/* ==========================================
   Layout
========================================== */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.site-main{padding:0 0 80px}
.layout-2col{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:flex-start}
@media(max-width:960px){.layout-2col{grid-template-columns:1fr;gap:32px}}

/* ==========================================
   Buttons (共通)
========================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;font-weight:700;font-size:15px;
  border-radius:var(--r-pill);border:0;cursor:pointer;
  transition:transform .2s,box-shadow .2s,background .2s,color .2s;
  line-height:1;letter-spacing:.02em;
}
.btn i{font-size:1.05em}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.btn-line{background:var(--c-line);color:#fff;box-shadow:0 4px 12px rgba(6,199,85,.3)}
.btn-line:hover{background:var(--c-line-dark);color:#fff;box-shadow:0 6px 18px rgba(6,199,85,.45)}
.btn-red{background:var(--c-red);color:#fff;box-shadow:0 4px 12px rgba(220,38,38,.3)}
.btn-red:hover{background:var(--c-red-dark);color:#fff}
.btn-outline{background:transparent;color:var(--c-navy);border:2px solid var(--c-navy);padding:12px 26px}
.btn-outline:hover{background:var(--c-navy);color:#fff}
.btn-ghost{background:#fff;color:var(--c-navy);border:1px solid var(--c-border)}
.btn-ghost:hover{border-color:var(--c-navy);color:var(--c-navy)}
.btn-lg{padding:16px 34px;font-size:16px}
.btn-sm{padding:8px 16px;font-size:13px}
.btn-block{display:flex;width:100%}

/* ==========================================
   Header
========================================== */
.site-header{
  background:#fff;
  border-bottom:1px solid var(--c-border);
  position:sticky;top:0;z-index:100;
  box-shadow:0 1px 6px rgba(14,26,43,.04);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;max-width:1200px;margin:0 auto;gap:24px;
}
.site-branding{display:flex;align-items:center;gap:14px;flex-shrink:0}
.site-logo img{max-height:48px;width:auto;display:block}
.site-logo--default{display:inline-flex;align-items:center}
.site-logo--default img{max-height:48px;width:auto}
.site-title{font-size:22px;margin:0;font-weight:800;letter-spacing:.04em}
.site-title a{color:var(--c-navy)}
.site-title a:hover{color:var(--c-gold-dark)}
.site-tagline{font-size:11px;color:var(--c-muted);margin:3px 0 0;letter-spacing:.08em}

.global-nav{flex:1}
.global-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center;justify-content:flex-end}
.global-nav a{
  color:var(--c-navy);font-weight:600;font-size:14px;
  padding:8px 2px;border-bottom:2px solid transparent;letter-spacing:.04em;
}
.global-nav a:hover{color:var(--c-gold-dark);border-bottom-color:var(--c-gold)}

.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-actions .btn{padding:11px 20px;font-size:13px}
.header-sns-icon{
  width:38px;height:38px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-size:16px;
  background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  transition:transform .2s,box-shadow .2s;
}
.header-sns-icon:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(220,39,67,.4);color:#fff;text-decoration:none}
@media(max-width:600px){
  .header-sns-icon,.header-contact{display:none}
}

.menu-toggle{
  display:none;background:transparent;border:0;padding:8px 10px;font-size:22px;color:var(--c-navy);
}
@media(max-width:900px){
  .global-nav{display:none}
  .global-nav.is-open{
    display:block;position:absolute;top:100%;left:0;right:0;
    background:#fff;border-bottom:1px solid var(--c-border);
    padding:16px 24px;box-shadow:var(--shadow-md);
  }
  .global-nav.is-open ul{flex-direction:column;align-items:flex-start;gap:16px;justify-content:flex-start}
  .menu-toggle{display:inline-block}
  .header-contact{display:none}
}
@media(max-width:480px){
  .site-title{font-size:18px}
  .header-actions .btn{padding:9px 14px;font-size:12px}
}

/* ==========================================
   Hero Slider (ファーストビュー)
========================================== */
.hero-slider-section{
  background:linear-gradient(180deg,var(--c-navy) 0%,var(--c-navy-2) 100%);
  padding:40px 0 56px;
  margin:0;
  position:relative;
  overflow:hidden;
}
.hero-slider-section::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(245,185,66,.08) 1px,transparent 0);
  background-size:24px 24px;pointer-events:none;
}
.hero-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:24px;color:#fff;flex-wrap:wrap;gap:12px;
}
.hero-head h2{
  color:#fff;font-size:24px;margin:0;
  display:flex;align-items:center;gap:12px;
}
.hero-head h2 .accent-bar{
  width:5px;height:24px;background:var(--c-gold);border-radius:2px;display:inline-block;
}
.hero-head .hero-sub{
  font-size:13px;color:rgba(255,255,255,.7);letter-spacing:.08em;
}

.gokusen-swiper{
  position:relative;border-radius:var(--r-card);overflow:hidden;
}
.gokusen-swiper .swiper-slide{
  background:var(--c-card);
  border-radius:var(--r-card);overflow:hidden;
  box-shadow:var(--shadow-lg);
  height:auto;display:flex;
}
.hero-slide{
  display:grid;grid-template-columns:1.3fr 1fr;
  width:100%;align-items:stretch;
}
.hero-slide__thumb{
  position:relative;
  background:var(--c-navy-3);
  overflow:hidden;
  display:block;
  /* グリッド入れ子としてセル高さを全て埋めるため、高さを付与する */
  align-self:stretch;
  min-height:380px;
}
.hero-slide__thumb img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
  transition:transform .6s ease;
}
.hero-slide__thumb:hover img{transform:scale(1.04)}
.hero-slide__thumb::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.25) 100%);
  pointer-events:none;
}
.hero-slide__body{
  padding:40px 44px;display:flex;flex-direction:column;justify-content:center;gap:14px;
  min-height:100%;
}
.hero-slide__cat{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;letter-spacing:.08em;
  color:var(--c-gold-dark);background:#fff7e6;
  padding:5px 12px;border-radius:var(--r-pill);width:fit-content;
}
.hero-slide__title{
  font-size:24px;line-height:1.5;margin:0;color:var(--c-navy);
}
.hero-slide__title a{color:inherit}
.hero-slide__title a:hover{color:var(--c-gold-dark)}
.hero-slide__excerpt{
  font-size:14px;color:var(--c-text-soft);line-height:1.8;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.hero-slide__meta{
  font-size:12px;color:var(--c-muted);display:flex;gap:14px;align-items:center;
}
.hero-slide__cta{margin-top:6px}

@media(max-width:768px){
  .hero-slide{grid-template-columns:1fr}
  .hero-slide__thumb{aspect-ratio:16/9;min-height:0}
  .hero-slide__body{padding:24px 22px 28px;min-height:auto}
  .hero-slide__title{font-size:18px}
  .hero-head h2{font-size:20px}
}

/* Swiper UI customization */
.gokusen-swiper-wrap{position:relative;padding-bottom:30px}
.gokusen-swiper .swiper-button-next,
.gokusen-swiper .swiper-button-prev{
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.95);color:var(--c-navy);
  box-shadow:var(--shadow-md);
  transition:background .2s,transform .2s;
  top:50%;margin-top:-22px;
}
.gokusen-swiper .swiper-button-next:hover,
.gokusen-swiper .swiper-button-prev:hover{background:var(--c-gold);color:#fff;transform:scale(1.05)}
.gokusen-swiper .swiper-button-next::after,
.gokusen-swiper .swiper-button-prev::after{font-size:16px;font-weight:900}
.gokusen-swiper-wrap .swiper-pagination{
  position:absolute;left:0;right:0;bottom:0;
  margin-top:10px;text-align:center;z-index:5;
  height:20px;line-height:20px;
}
.gokusen-swiper-wrap .swiper-pagination-bullet{
  width:10px;height:10px;background:#fff;opacity:.5;transition:all .2s;
  margin:0 4px;
}
.gokusen-swiper-wrap .swiper-pagination-bullet-active{background:var(--c-gold);opacity:1;width:28px;border-radius:5px}

/* ==========================================
   Site Catch (キャッチコピーバナー / ファーストビュー下)
========================================== */
.site-catch-section{
  background:#fff;
  padding:56px 0 32px;
  border-bottom:1px solid var(--c-border-soft);
}
.site-catch{
  text-align:center;max-width:820px;margin:0 auto;
}
.site-catch__title{
  font-size:30px;line-height:1.6;margin:0;
  color:var(--c-navy);letter-spacing:.04em;
  position:relative;
}
.site-catch__title::after{
  content:"";display:block;width:60px;height:3px;
  background:var(--c-gold);margin:18px auto 0;
}
.site-catch__eyebrow{
  display:block;
  font-size:12px;letter-spacing:.16em;
  color:var(--c-gold-dark);font-weight:700;
  margin:0 0 14px;
  font-family:Georgia,serif;
}
.site-catch__text{display:block}
.site-catch__lead{
  font-size:14px;color:var(--c-text-soft);line-height:1.9;margin:24px 0 0;
}
@media(max-width:600px){
  .site-catch-section{padding:40px 0 24px}
  .site-catch__title{font-size:20px}
  .site-catch__eyebrow{font-size:11px}
}

/* ==========================================
   Home Sections (Front Page)
========================================== */
.cat-finder-section,
.popular-top-section,
.service-banner-section,
.cat-blocks-section,
.insta-section,
.final-cta-section{
  padding:48px 0;
}
.cat-finder-section{padding-top:48px;padding-bottom:32px}
.popular-top-section{padding:16px 0 48px;background:#fff}
.service-banner-section{padding:48px 0}
.cat-blocks-section{padding:48px 0;background:#fff}
.cat-blocks-section .cat-block{margin-bottom:40px}
.cat-blocks-section .cat-block:last-child{margin-bottom:0}
.insta-section{padding:48px 0}
.final-cta-section{padding:48px 0 64px}

/* Category Finder Grid */
.cat-finder-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:14px;
}
@media(max-width:960px){.cat-finder-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.cat-finder-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
.cat-tile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:8px;padding:22px 12px;
  background:#fff;border-radius:var(--r-card);
  border:1px solid var(--c-border-soft);box-shadow:var(--shadow-sm);
  transition:transform .2s,box-shadow .2s,border-color .2s;color:var(--c-navy);
}
.cat-tile:hover{
  transform:translateY(-3px);box-shadow:var(--shadow-md);
  border-color:var(--c-gold);color:var(--c-gold-dark);text-decoration:none;
}
.cat-tile__icon{
  width:48px;height:48px;border-radius:50%;
  background:#fff7e6;color:var(--c-gold-dark);
  display:inline-flex;align-items:center;justify-content:center;font-size:20px;
}
.cat-tile:hover .cat-tile__icon{background:var(--c-gold);color:#fff}
.cat-tile__name{font-size:13px;font-weight:700;line-height:1.4}
.cat-tile__count{font-size:11px;color:var(--c-muted)}

/* Popular Top 3 */
.popular-top-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
@media(max-width:768px){.popular-top-grid{grid-template-columns:1fr;gap:18px}}
.popular-card{
  background:#fff;border-radius:var(--r-card);overflow:hidden;
  box-shadow:var(--shadow-sm);border:1px solid var(--c-border-soft);
  transition:transform .25s,box-shadow .25s;
}
.popular-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.popular-card__thumb{
  position:relative;display:block;aspect-ratio:16/9;
  background:var(--c-navy-3);overflow:hidden;
}
.popular-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.popular-card__rank{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--c-navy);color:var(--c-gold);
  padding:6px 14px;border-radius:var(--r-pill);
  font-family:Georgia,serif;font-weight:800;font-size:14px;letter-spacing:.04em;
}
.popular-card--rank1 .popular-card__rank{background:var(--c-gold);color:var(--c-navy)}
.popular-card--rank2 .popular-card__rank{background:#b8bcc4;color:var(--c-navy)}
.popular-card--rank3 .popular-card__rank{background:#c08b5c;color:#fff}
.popular-card__body{padding:18px 20px 20px}
.popular-card__cat{
  display:inline-block;font-size:11px;font-weight:700;color:var(--c-gold-dark);
  background:#fff7e6;padding:3px 10px;border-radius:var(--r-pill);margin-bottom:8px;
}
.popular-card__body h3{font-size:15px;margin:0 0 10px;line-height:1.6}
.popular-card__body h3 a{color:var(--c-navy)}
.popular-card__body h3 a:hover{color:var(--c-gold-dark)}
.popular-card__meta{font-size:12px;color:var(--c-muted)}
.popular-card__meta i{color:var(--c-gold-dark)}

/* Service Banner */
.service-banner{
  background:linear-gradient(160deg,var(--c-navy) 0%,var(--c-navy-2) 100%);
  border-radius:var(--r-card);overflow:hidden;
  padding:48px 44px;color:#fff;position:relative;
  display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;
}
.service-banner::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(245,185,66,.1) 1px,transparent 0);
  background-size:22px 22px;pointer-events:none;
}
.service-banner > *{position:relative}
.service-banner__eyebrow{
  display:inline-block;background:var(--c-gold);color:var(--c-navy);
  padding:5px 16px;border-radius:var(--r-pill);font-size:11px;font-weight:700;
  letter-spacing:.1em;margin-bottom:14px;
}
.service-banner h2{color:#fff;font-size:26px;margin:0 0 14px;line-height:1.5}
.service-banner__body p{margin:0 0 16px;opacity:.92;font-size:14px;line-height:1.8}
.service-banner__price{
  font-family:Georgia,serif;color:var(--c-gold);font-size:34px;font-weight:800;margin:18px 0;
}
.service-banner__price small{font-size:13px;font-weight:400;color:#fff;margin-left:6px;font-family:var(--ff-base)}
.service-banner__btns{display:flex;flex-wrap:wrap;gap:12px}
.service-banner__btns .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.3)}
.service-banner__btns .btn-ghost:hover{background:#fff;color:var(--c-navy);border-color:#fff}
.service-banner__points{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
.service-point{
  background:rgba(255,255,255,.05);border:1px solid rgba(245,185,66,.25);
  border-radius:var(--r-card);padding:18px 14px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.service-point i{font-size:24px;color:var(--c-gold)}
.service-point span{font-size:12px;font-weight:700;line-height:1.5}
@media(max-width:768px){
  .service-banner{grid-template-columns:1fr;padding:32px 24px}
  .service-banner h2{font-size:20px}
  .service-banner__price{font-size:28px}
}

/* Instagram Feed (auto) */
.insta-feed-section{padding:48px 0;background:#fff}

.insta-feed-head{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  margin-bottom:24px;flex-wrap:wrap;
}
.insta-feed-head__left{display:flex;align-items:center;gap:18px}
.insta-feed-head__icon{
  width:60px;height:60px;border-radius:16px;flex-shrink:0;
  background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  color:#fff;font-size:30px;
  display:flex;align-items:center;justify-content:center;
}
.insta-feed-head__label{
  display:block;font-size:11px;letter-spacing:.12em;
  color:var(--c-gold-dark);font-weight:700;margin-bottom:4px;
}
.insta-feed-head__title{font-size:22px;margin:0 0 4px;letter-spacing:.02em}
.insta-feed-head__title a{color:var(--c-navy)}
.insta-feed-head__title a:hover{color:var(--c-gold-dark);text-decoration:none}
.insta-feed-head__sub{margin:0;font-size:13px;color:var(--c-text-soft)}

.btn-insta{
  background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  color:#fff;box-shadow:0 4px 14px rgba(220,39,67,.3);
}
.btn-insta:hover{color:#fff;box-shadow:0 6px 22px rgba(220,39,67,.45)}

.insta-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px;
}
@media(max-width:960px){.insta-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.insta-grid{grid-template-columns:repeat(2,1fr)}}

.insta-item{
  position:relative;display:block;
  aspect-ratio:1/1;overflow:hidden;
  border-radius:8px;background:#0e1a2b;
  transition:transform .25s;
}
.insta-item:hover{transform:translateY(-2px);text-decoration:none}
.insta-item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.insta-item:hover img{transform:scale(1.06)}
.insta-item__badge{
  position:absolute;top:8px;right:8px;z-index:2;
  width:26px;height:26px;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:11px;
}
.insta-item__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,26,43,0) 50%,rgba(14,26,43,.85) 100%);
  opacity:0;transition:opacity .25s;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#fff;padding:14px;gap:8px;
}
.insta-item:hover .insta-item__overlay,
.insta-item:focus-visible .insta-item__overlay{opacity:1}
.insta-item__overlay i{font-size:28px;color:#fff}
.insta-item__caption{
  font-size:11px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

.insta-feed-more{margin:28px 0 0;text-align:center}

.insta-feed-fallback{
  text-align:center;background:linear-gradient(135deg,#fff7e6,#fff);
  padding:36px 24px;border-radius:var(--r-card);
  border:1px dashed var(--c-gold);
}
.insta-feed-fallback p{margin:0 0 16px;color:var(--c-text-soft)}

@media(max-width:600px){
  .insta-feed-head{flex-direction:column;align-items:flex-start}
  .insta-feed-head__left{align-items:flex-start}
  .insta-feed-head__title{font-size:18px}
}

/* Final CTA */
.final-cta{
  background:linear-gradient(160deg,var(--c-navy) 0%,var(--c-navy-2) 100%);
  border-radius:var(--r-card);padding:48px 32px;text-align:center;color:#fff;
  position:relative;overflow:hidden;
}
.final-cta::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(245,185,66,.08) 1px,transparent 0);
  background-size:22px 22px;pointer-events:none;
}
.final-cta > *{position:relative}
.final-cta .cta-eyebrow{
  display:inline-block;background:var(--c-gold);color:var(--c-navy);
  padding:5px 16px;border-radius:var(--r-pill);font-size:11px;font-weight:700;
  letter-spacing:.1em;margin-bottom:16px;
}
.final-cta h2{color:#fff;font-size:30px;margin:0 0 12px}
.final-cta p{margin:0 0 24px;opacity:.92;font-size:15px}
@media(max-width:600px){
  .final-cta{padding:36px 20px}
  .final-cta h2{font-size:22px}
}

/* ==========================================
   Section Heading
========================================== */
.section-heading{
  display:flex;align-items:center;justify-content:space-between;
  margin:0 0 24px;padding-bottom:14px;
  border-bottom:1px solid var(--c-border);
  position:relative;
}
.section-heading::after{
  content:"";position:absolute;left:0;bottom:-1px;
  width:80px;height:3px;background:var(--c-gold);
}
.section-heading h2{
  font-size:22px;margin:0;display:flex;align-items:center;gap:12px;letter-spacing:.04em;
}
.section-heading h2 i{color:var(--c-gold-dark);font-size:.9em}
.section-heading .more{
  font-size:13px;color:var(--c-navy);font-weight:600;
  display:inline-flex;align-items:center;gap:6px;
}
.section-heading .more:hover{color:var(--c-gold-dark)}

/* ==========================================
   Post Grid
========================================== */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0 0 40px}
@media(max-width:960px){.post-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:520px){.post-grid{grid-template-columns:1fr}}

.post-card{
  background:var(--c-card);border-radius:var(--r-card);overflow:hidden;
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s;
  border:1px solid var(--c-border-soft);
}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.post-card .thumb{
  aspect-ratio:16/9;background:var(--c-navy-3) center/cover no-repeat;
  position:relative;display:block;
}
.post-card .thumb .cat-badge{
  position:absolute;top:12px;left:12px;
  background:var(--c-navy);color:#fff;
  font-size:11px;padding:5px 12px;border-radius:var(--r-pill);
  font-weight:600;letter-spacing:.04em;
}
.post-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.post-card h3{
  font-size:15px;margin:0 0 12px;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.post-card h3 a{color:var(--c-navy)}
.post-card h3 a:hover{color:var(--c-gold-dark)}
.post-card .meta{
  font-size:12px;color:var(--c-muted);margin-top:auto;
  display:flex;gap:14px;align-items:center;
}
.post-card .meta i{margin-right:4px;color:var(--c-muted)}

/* ==========================================
   List Post (sidebar / ranking)
========================================== */
.post-list{list-style:none;padding:0;margin:0}
.post-list li{
  display:flex;gap:12px;padding:14px 0;
  border-bottom:1px dashed var(--c-border);
}
.post-list li:last-child{border-bottom:0}
.post-list .thumb{
  width:84px;height:64px;flex-shrink:0;
  background:var(--c-navy-3) center/cover no-repeat;border-radius:6px;
}
.post-list .title{
  font-size:13px;line-height:1.6;font-weight:600;color:var(--c-navy);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.post-list .title:hover{color:var(--c-gold-dark)}
.post-list .meta{font-size:11px;color:var(--c-muted);margin-top:4px;display:flex;align-items:center;gap:4px}

.ranking-list{counter-reset:rank;padding-left:0}
.ranking-list li{position:relative;padding-left:42px;counter-increment:rank}
.ranking-list li::before{
  content:counter(rank);
  position:absolute;left:0;top:18px;
  width:30px;height:30px;border-radius:50%;
  background:var(--c-navy);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13px;
  font-family:Georgia,serif;
}
.ranking-list li:nth-child(1)::before{background:var(--c-gold);color:var(--c-navy)}
.ranking-list li:nth-child(2)::before{background:#b8bcc4;color:var(--c-navy)}
.ranking-list li:nth-child(3)::before{background:#c08b5c;color:#fff}

/* ==========================================
   Sidebar
========================================== */
.sidebar{display:flex;flex-direction:column;gap:24px;position:sticky;top:90px}
@media(max-width:960px){.sidebar{position:static}}
.widget{
  background:#fff;border-radius:var(--r-card);
  padding:24px;box-shadow:var(--shadow-sm);
  border:1px solid var(--c-border-soft);
}
.widget h3,.widget .widget-title{
  font-size:15px;margin:0 0 16px;padding-bottom:12px;
  border-bottom:1px solid var(--c-border);
  display:flex;align-items:center;gap:10px;letter-spacing:.04em;
  position:relative;
}
.widget h3::after,.widget .widget-title::after{
  content:"";position:absolute;left:0;bottom:-1px;
  width:50px;height:2px;background:var(--c-gold);
}
.widget h3 i,.widget .widget-title i{color:var(--c-gold-dark);font-size:.95em}
.widget ul{list-style:none;padding:0;margin:0}
.widget .menu li,.widget_categories li,.widget_archive li{
  padding:10px 0;border-bottom:1px dashed var(--c-border);font-size:14px;
}
.widget .menu li:last-child,.widget_categories li:last-child{border-bottom:0}
.widget a{color:var(--c-navy)}
.widget a:hover{color:var(--c-gold-dark)}

.search-form{display:flex;gap:6px}
.search-form input[type=search]{
  flex:1;padding:11px 14px;border:1px solid var(--c-border);
  border-radius:var(--r-input);font-size:14px;font-family:inherit;
  background:#fafaf7;
}
.search-form input[type=search]:focus{outline:0;border-color:var(--c-gold);background:#fff}
.search-form button{
  background:var(--c-navy);color:#fff;border:0;padding:0 18px;
  border-radius:var(--r-input);font-weight:600;cursor:pointer;
}
.search-form button:hover{background:var(--c-navy-2)}

/* CTA Widget (Sidebar) */
.cta-widget{
  background:linear-gradient(160deg,var(--c-navy) 0%,var(--c-navy-2) 100%);
  color:#fff;text-align:center;
  position:relative;overflow:hidden;
}
.cta-widget::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(245,185,66,.1) 1px,transparent 0);
  background-size:18px 18px;pointer-events:none;
}
.cta-widget > *{position:relative}
.cta-widget h3{color:#fff;border-bottom-color:rgba(255,255,255,.2)}
.cta-widget h3::after{background:var(--c-gold)}
.cta-widget h3 i{color:var(--c-gold)}
.cta-widget .lead{margin:8px 0 6px;font-size:13px;opacity:.9;line-height:1.7}
.cta-widget .price{
  font-size:28px;font-weight:800;margin:10px 0;color:var(--c-gold);
  font-family:Georgia,serif;letter-spacing:.02em;
}
.cta-widget .price small{font-size:12px;font-weight:400;color:#fff;margin-left:4px}
.cta-widget .badge-list{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  margin:12px 0 16px;font-size:11px;
}
.cta-widget .badge-list span{
  background:rgba(255,255,255,.08);padding:4px 10px;border-radius:var(--r-pill);
  border:1px solid rgba(245,185,66,.3);color:#fff;
}

/* ==========================================
   Single Post
========================================== */
.single-article{
  background:#fff;border-radius:var(--r-card);padding:40px;
  box-shadow:var(--shadow-sm);border:1px solid var(--c-border-soft);
}
@media(max-width:600px){.single-article{padding:24px 20px}}
.entry-header{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--c-border)}
.entry-categories{margin-bottom:14px;display:flex;flex-wrap:wrap;gap:8px}
.entry-categories a{
  display:inline-block;font-size:12px;font-weight:700;color:#fff;
  background:var(--c-navy);padding:5px 14px;border-radius:var(--r-pill);
  letter-spacing:.04em;
}
.entry-categories a:hover{background:var(--c-gold-dark);text-decoration:none;color:#fff}
.entry-title{font-size:30px;line-height:1.5;margin:0 0 16px;letter-spacing:.02em}
@media(max-width:600px){.entry-title{font-size:22px}}
.entry-meta{
  font-size:13px;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:18px;
}
.entry-meta span{display:inline-flex;align-items:center;gap:6px}
.entry-meta i{color:var(--c-gold-dark)}

.entry-thumbnail{margin:0 0 28px;border-radius:var(--r-card);overflow:hidden}
.entry-content{
  font-size:16px;line-height:1.95;color:var(--c-text);
  font-family:var(--ff-base); /* sailing-day.comと同一のフォント */
  letter-spacing:.03em;
  font-feature-settings:"palt"; /* プロポーショナルメトリクスで自然な字間 */
}
.entry-content h2{
  font-size:22px;margin:50px 0 22px;padding:0 0 14px;
  background:transparent;border:0;border-bottom:2px solid var(--c-navy);
  border-radius:0;color:var(--c-navy);
  font-family:var(--ff-heading); /* ヒラギノ角ゴ W6 を優先 */
  font-weight:900;line-height:1.6;letter-spacing:.04em;
  font-feature-settings:"palt";
}
/* h2 先頭の "1." "2." などの数字を sailing-day.com と同じ強調表示 */
.entry-content h2 strong:first-child,
.entry-content h2 .sobig:first-child{
  font-size:1.7em;
  font-weight:900;
  margin-right:.18em;
  letter-spacing:0;
  vertical-align:baseline;
  line-height:1;
}
.entry-content h3{
  font-size:20px;margin:32px 0 14px;padding-bottom:8px;
  border-bottom:2px dotted var(--c-gold);color:var(--c-navy);
}
.entry-content h4{
  font-size:17px;margin:24px 0 10px;color:var(--c-navy);
  padding-left:14px;border-left:3px solid var(--c-navy);
}
.entry-content p{margin:0 0 1.3em}
.entry-content a{color:var(--c-navy);text-decoration:underline;text-decoration-color:var(--c-gold);text-underline-offset:4px}
.entry-content a:hover{color:var(--c-gold-dark)}
.entry-content img{border-radius:8px;margin:16px 0}
.entry-content blockquote{
  background:#fff7e6;border-left:4px solid var(--c-gold);
  padding:16px 22px;margin:24px 0;color:var(--c-text-soft);
  border-radius:0 6px 6px 0;font-size:15px;
}
.entry-content code{background:#f1efe6;padding:2px 8px;border-radius:4px;font-size:.9em;color:var(--c-navy)}
.entry-content pre{background:var(--c-navy);color:#fff7e6;padding:18px;border-radius:8px;overflow-x:auto}
.entry-content ul,.entry-content ol{margin:0 0 1.3em;padding-left:1.8em}
.entry-content li{margin-bottom:8px}
.entry-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}
.entry-content th,.entry-content td{border:1px solid var(--c-border);padding:12px 14px;text-align:left}
.entry-content th{background:#fff7e6;color:var(--c-navy);font-weight:700}
.entry-content strong{color:var(--c-navy);font-weight:700}

.entry-tags{margin:28px 0 0;padding-top:20px;border-top:1px solid var(--c-border);font-size:13px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.entry-tags .tags-label{color:var(--c-muted);display:inline-flex;align-items:center;gap:6px}
.entry-tags a{
  display:inline-block;background:#fff7e6;color:var(--c-gold-dark);
  padding:5px 14px;border-radius:var(--r-pill);font-size:12px;font-weight:600;
}
.entry-tags a:hover{background:var(--c-gold);color:#fff;text-decoration:none}

/* ==========================================
   In-content CTA (LINE予約)
========================================== */
.inline-cta{
  background:linear-gradient(160deg,var(--c-navy) 0%,var(--c-navy-2) 100%);
  border-radius:var(--r-card);
  padding:32px 28px;margin:40px 0;text-align:center;
  color:#fff;position:relative;overflow:hidden;
}
.inline-cta::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(245,185,66,.08) 1px,transparent 0);
  background-size:22px 22px;pointer-events:none;
}
.inline-cta > *{position:relative}
.inline-cta .cta-eyebrow{
  display:inline-block;background:var(--c-gold);color:var(--c-navy);
  padding:5px 16px;border-radius:var(--r-pill);font-size:11px;font-weight:700;
  letter-spacing:.1em;margin-bottom:14px;
}
.inline-cta h3{margin:0 0 10px;color:#fff;font-size:22px;letter-spacing:.04em}
.inline-cta p{margin:0 0 6px;font-size:14px;line-height:1.8;opacity:.95}
.inline-cta .price-row{
  font-family:Georgia,serif;color:var(--c-gold);font-size:30px;font-weight:800;
  margin:16px 0 18px;
}
.inline-cta .price-row small{font-size:13px;font-weight:400;color:#fff;margin-left:6px;font-family:var(--ff-base)}
.inline-cta .btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:8px}

/* ==========================================
   Breadcrumbs
========================================== */
.breadcrumbs{
  font-size:12px;color:var(--c-muted);
  padding:16px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
.breadcrumbs a{color:var(--c-navy)}
.breadcrumbs a:hover{color:var(--c-gold-dark)}
.breadcrumbs .sep{color:var(--c-border);font-size:10px}
.breadcrumbs i{color:var(--c-muted);margin-right:4px}

/* ==========================================
   Pagination
========================================== */
.pagination{display:flex;justify-content:center;gap:6px;margin:40px 0 0;flex-wrap:wrap}
.pagination a,.pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 14px;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--c-border);color:var(--c-navy);
  font-weight:600;font-size:14px;transition:all .2s;
}
.pagination a:hover,.pagination .current{
  background:var(--c-navy);color:#fff;border-color:var(--c-navy);text-decoration:none;
}

/* ==========================================
   Related Posts
========================================== */
.related-posts{margin-top:48px}
.related-posts h2{
  font-size:20px;margin:0 0 20px;padding-bottom:12px;
  border-bottom:1px solid var(--c-border);position:relative;
  display:flex;align-items:center;gap:10px;
}
.related-posts h2 i{color:var(--c-gold-dark)}
.related-posts h2::after{
  content:"";position:absolute;left:0;bottom:-1px;
  width:60px;height:2px;background:var(--c-gold);
}

/* ==========================================
   Comments
========================================== */
.comments-area{
  margin-top:40px;background:#fff;padding:32px;
  border-radius:var(--r-card);box-shadow:var(--shadow-sm);
  border:1px solid var(--c-border-soft);
}
.comments-area h2{font-size:18px;margin:0 0 20px}
.comment-list{list-style:none;padding:0}
.comment-body{padding:16px 0;border-bottom:1px solid var(--c-border)}
.comment-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;padding:10px 12px;border:1px solid var(--c-border);
  border-radius:var(--r-input);font-family:inherit;font-size:14px;
}
.comment-form .submit{
  background:var(--c-navy);color:#fff;border:0;padding:12px 28px;
  border-radius:var(--r-pill);font-weight:700;cursor:pointer;
}
.comment-form .submit:hover{background:var(--c-navy-2)}

/* ==========================================
   SNS list (footer / sidebar)
========================================== */
.sns-list{list-style:none;padding:0;margin:0;display:flex;gap:10px;flex-wrap:wrap}
.sns-list__item a{
  width:40px;height:40px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:16px;transition:transform .2s,opacity .2s;
  background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.15);
}
.sns-list__item a:hover{transform:translateY(-2px);text-decoration:none}
.sns-list__item--instagram a:hover{
  background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  border-color:transparent;
}
.sns-list__item--twitter a:hover{background:#000;border-color:#000}
.sns-list__item--facebook a:hover{background:#1877f2;border-color:#1877f2}
.sns-list__item--youtube a:hover{background:#ff0000;border-color:#ff0000}
.sns-list__item--tiktok a:hover{background:#000;border-color:#000}
.footer-sns{margin-top:18px}
.footer-sns strong{display:block;color:#fff;font-size:11px;letter-spacing:.12em;margin-bottom:10px}

/* ==========================================
   Footer
========================================== */
.site-footer{
  background:var(--c-navy);color:#cfd6e2;
  padding:56px 0 24px;margin-top:0;font-size:14px;
  position:relative;
}
.footer-logo{display:inline-block;margin-bottom:14px}
.footer-logo img{max-height:60px;width:auto;display:block;filter:brightness(1.1)}
.footer-col-brand p{margin:0 0 8px}
.site-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--c-gold) 0%,var(--c-gold-dark) 100%);
}
.site-footer a{color:#cfd6e2}
.site-footer a:hover{color:var(--c-gold)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;margin-bottom:36px}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h4{
  color:#fff;font-size:14px;margin:0 0 16px;
  padding-left:12px;border-left:3px solid var(--c-gold);
  letter-spacing:.06em;
}
.footer-grid p{font-size:13px;line-height:1.8;margin:0 0 12px;color:#aab5c5}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{padding:5px 0;font-size:13px}
.footer-grid li a{display:inline-flex;align-items:center;gap:6px}
.footer-grid li i{font-size:.7em;color:var(--c-gold)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding-top:20px;
  text-align:center;font-size:12px;color:#7a8294;letter-spacing:.04em;
}
.footer-area-list{font-size:12px;color:#aab5c5;line-height:1.8;margin-top:8px}
.footer-area-list span{
  display:inline-block;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  padding:2px 10px;border-radius:var(--r-pill);margin:3px 4px 3px 0;
}

/* ==========================================
   Utility
========================================== */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;
}
.alignleft{float:left;margin:0 1em 1em 0}
.alignright{float:right;margin:0 0 1em 1em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:13px;color:var(--c-muted);text-align:center;margin-top:6px}
.sticky{position:relative}

.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw}

/* Disable WP emoji */
img.wp-smiley,img.emoji{display:none!important}

/* ==========================================
   目次 (TOC)
========================================== */
.gks-toc{
  background:#fff7e6;border:1px solid var(--c-gold);border-radius:var(--r-card);
  padding:20px 24px;margin:24px 0 32px;
}
.gks-toc__head{
  display:flex;align-items:center;justify-content:space-between;
  font-size:16px;font-weight:700;color:var(--c-navy);margin-bottom:14px;
  border-bottom:1px dashed var(--c-gold);padding-bottom:10px;
}
.gks-toc__head i{color:var(--c-gold-dark);margin-right:6px}
.gks-toc__title{flex:1}
.gks-toc__toggle{
  background:none;border:1px solid var(--c-gold);color:var(--c-gold-dark);
  border-radius:var(--r-pill);padding:4px 14px;font-size:12px;font-weight:700;
  cursor:pointer;font-family:inherit;
}
.gks-toc__toggle:hover{background:var(--c-gold);color:#fff}
.gks-toc__toggle .gks-toc__toggle-close{display:none}
.gks-toc__toggle.is-closed .gks-toc__toggle-open{display:none}
.gks-toc__toggle.is-closed .gks-toc__toggle-close{display:inline}
.gks-toc__list, .gks-toc__sublist{
  list-style:none;padding-left:0;margin:0;
}
.gks-toc__list > li, .gks-toc__sublist > li{padding:6px 0;position:relative;padding-left:0}
.gks-toc__list > li::before{content:none}
.gks-toc__list a, .gks-toc__sublist a{color:var(--c-navy);text-decoration:none;font-size:14px;line-height:1.7}
.gks-toc__list a:hover, .gks-toc__sublist a:hover{color:var(--c-gold-dark);text-decoration:underline;text-underline-offset:3px}
.gks-toc__sublist{padding-left:20px;margin-top:4px}
.gks-toc__sublist > li{padding-left:24px}
.gks-toc__sublist > li::before{
  content:"├";position:absolute;left:8px;top:6px;color:var(--c-gold);font-weight:700;
}

/* ==========================================
   ショートコード: ボックス (memo/alert/good/bad/hint)
========================================== */
.gks-box{
  border-radius:var(--r-card);padding:18px 22px;margin:24px 0;
  border:1px solid;background:#fff;position:relative;
}
.gks-box__title{
  font-weight:700;font-size:15px;margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}
.gks-box__title i{font-size:1.1em}
.gks-box__body{font-size:15px;line-height:1.8}
.gks-box__body p:last-child{margin-bottom:0}
.gks-box__body ul,.gks-box__body ol{margin:8px 0;padding-left:1.6em}
.gks-box--memo{background:#eaf3fb;border-color:#b6d4ec}
.gks-box--memo .gks-box__title{color:#1d5a92}
.gks-box--memo .gks-box__title i{color:#1d5a92}
.gks-box--alert{background:#fdecec;border-color:#f5b8b8}
.gks-box--alert .gks-box__title{color:#b53030}
.gks-box--alert .gks-box__title i{color:#b53030}
.gks-box--good{background:#e8f8ee;border-color:#a8d8b9}
.gks-box--good .gks-box__title{color:#1a7a3a}
.gks-box--good .gks-box__title i{color:#1a7a3a}
.gks-box--bad{background:#fff3e6;border-color:#f4c897}
.gks-box--bad .gks-box__title{color:#b35a00}
.gks-box--bad .gks-box__title i{color:#b35a00}
.gks-box--hint{background:#fff7e6;border-color:var(--c-gold)}
.gks-box--hint .gks-box__title{color:var(--c-gold-dark)}
.gks-box--hint .gks-box__title i{color:var(--c-gold-dark)}
.gks-codebox{
  background:var(--c-navy);color:#fff7e6;border-radius:var(--r-card);
  padding:18px;margin:24px 0;overflow-x:auto;
}
.gks-codebox pre{margin:0;color:inherit;background:none;padding:0}
.gks-codebox code{background:none;padding:0;color:inherit;font-family:Menlo,Consolas,monospace;font-size:14px}

/* ==========================================
   会話吹き出し
========================================== */
.gks-say{display:flex;gap:14px;margin:24px 0;align-items:flex-start}
.gks-say--right{flex-direction:row-reverse}
.gks-say__avatar{flex-shrink:0;width:64px;text-align:center}
.gks-say__avatar img{
  width:64px;height:64px;border-radius:50%;object-fit:cover;
  border:2px solid var(--c-gold);background:#fff;
}
.gks-say__bubble{
  background:#fff;border:1px solid var(--c-border);border-radius:14px;
  padding:14px 18px;position:relative;max-width:calc(100% - 96px);
  box-shadow:var(--shadow-sm);
}
.gks-say__bubble::before{
  content:"";position:absolute;top:18px;width:0;height:0;
  border:8px solid transparent;
}
.gks-say--left .gks-say__bubble::before{
  left:-16px;border-right-color:var(--c-border);
}
.gks-say--left .gks-say__bubble::after{
  content:"";position:absolute;top:18px;left:-14px;width:0;height:0;
  border:8px solid transparent;border-right-color:#fff;
}
.gks-say--right .gks-say__bubble::before{
  right:-16px;border-left-color:var(--c-border);
}
.gks-say--right .gks-say__bubble::after{
  content:"";position:absolute;top:18px;right:-14px;width:0;height:0;
  border:8px solid transparent;border-left-color:#fff;
}
.gks-say__name{font-size:11px;color:var(--c-muted);margin-bottom:4px;font-weight:600}
.gks-say__text{font-size:14px;line-height:1.8}
.gks-say__text p:last-child{margin-bottom:0}

/* ==========================================
   関連記事カード [kanren] [card]
========================================== */
.gks-kanren{
  display:grid;grid-template-columns:200px 1fr;gap:0;
  background:#fff;border:1px solid var(--c-border);border-radius:var(--r-card);
  margin:24px 0;overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .2s,box-shadow .2s,border-color .2s;
  position:relative;
}
.gks-kanren:hover{
  transform:translateY(-2px);box-shadow:var(--shadow-md);
  border-color:var(--c-gold);text-decoration:none;
}
.gks-kanren__label{
  position:absolute;top:0;left:0;
  background:var(--c-gold);color:var(--c-navy);
  padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.06em;
  border-radius:0 0 var(--r-card) 0;z-index:2;
}
.gks-kanren__thumb{
  background:var(--c-navy-3) center/cover no-repeat;
  min-height:140px;
}
.gks-kanren__body{
  padding:20px 22px;display:flex;flex-direction:column;gap:6px;
}
.gks-kanren__title{font-weight:700;color:var(--c-navy);font-size:15px;line-height:1.5}
.gks-kanren__excerpt{
  font-size:12px;color:var(--c-text-soft);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.gks-kanren__more{
  margin-top:auto;font-size:12px;color:var(--c-gold-dark);font-weight:700;
  display:inline-flex;align-items:center;gap:4px;
}
@media(max-width:600px){
  .gks-kanren{grid-template-columns:90px 1fr}
  .gks-kanren__thumb{min-height:auto}
  .gks-kanren__body{padding:12px 14px}
  .gks-kanren__excerpt{display:none}
}

.gks-card{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--c-border);border-radius:var(--r-card);overflow:hidden;
  margin:24px 0;text-decoration:none;color:inherit;max-width:360px;
  transition:transform .2s,box-shadow .2s;
}
.gks-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);text-decoration:none}
.gks-card__thumb{aspect-ratio:16/9;background:var(--c-navy-3) center/cover no-repeat;display:block}
.gks-card__body{padding:14px 16px}
.gks-card__title{font-weight:700;color:var(--c-navy);font-size:14px;line-height:1.5}

/* [sanko] 参考リンク */
.gks-sanko{
  display:inline-flex;align-items:baseline;gap:6px;
  background:#fff7e6;color:var(--c-gold-dark);
  padding:8px 14px;border-radius:6px;text-decoration:none;
  border-left:3px solid var(--c-gold);font-size:13px;margin:8px 0;
}
.gks-sanko:hover{background:var(--c-gold);color:#fff;text-decoration:none}
.gks-sanko span{font-weight:700}

/* ==========================================
   罫線・見出し装飾
========================================== */
hr.gks-sen{border:0;border-top:2px solid var(--c-navy);margin:32px 0}
hr.gks-tensen{border:0;border-top:2px dashed var(--c-gold);margin:32px 0}
.gks-midashi{font-weight:700;font-size:17px;margin:24px 0 14px;color:var(--c-navy);padding:8px 0}
.gks-midashi--line{border-bottom:2px solid var(--c-navy)}
.gks-midashi--dotted{border-bottom:2px dotted var(--c-gold)}
.gks-midashi--under{box-shadow:inset 0 -8px 0 #fff7e6;display:inline-block;padding-right:8px}

/* ==========================================
   ボタン (ショートコード)
========================================== */
.gks-btn-wrap{text-align:center;margin:24px 0}
.btn.btn-cv{
  background:linear-gradient(45deg,var(--c-gold) 0%,var(--c-gold-dark) 100%);
  color:#fff;display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;border-radius:var(--r-pill);font-weight:700;
  text-decoration:none;box-shadow:0 4px 14px rgba(245,185,66,.4);
  font-size:15px;
}
.btn.btn-cv:hover{transform:translateY(-2px);color:#fff;text-decoration:none;box-shadow:0 6px 22px rgba(245,185,66,.55)}
.btn.btn-red{
  background:var(--c-red);color:#fff;display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;border-radius:var(--r-pill);font-weight:700;text-decoration:none;
  box-shadow:0 4px 14px rgba(220,38,38,.3);font-size:15px;
}
.btn.btn-red:hover{background:var(--c-red-dark);transform:translateY(-2px);color:#fff;text-decoration:none}

/* ==========================================
   2列/3列レイアウト
========================================== */
.gks-yoko{display:grid;gap:16px;margin:20px 0}
.gks-yoko--2{grid-template-columns:repeat(2,1fr)}
.gks-yoko--3{grid-template-columns:repeat(3,1fr)}
.gks-yoko__cell{
  background:#fff;border:1px solid var(--c-border-soft);
  border-radius:var(--r-card);padding:18px 20px;font-size:14px;line-height:1.7;
}
@media(max-width:600px){
  .gks-yoko--2,.gks-yoko--3{grid-template-columns:1fr}
}

/* ==========================================
   PC/モバイル表示切替
========================================== */
.gks-only-pc{display:inline}
.gks-only-mobile{display:none}
@media(max-width:768px){
  .gks-only-pc{display:none}
  .gks-only-mobile{display:inline}
}

/* ==========================================
   評価ボックス [rate]
========================================== */
.gks-rate{display:flex;align-items:center;gap:14px;margin:18px 0;font-size:14px;flex-wrap:wrap}
.gks-rate__label{font-weight:700;color:var(--c-navy);min-width:80px}
.gks-rate__stars{position:relative;display:inline-block;font-size:18px;line-height:1}
.gks-rate__bg{color:#e5e2d8}
.gks-rate__fg{
  color:var(--c-gold);position:absolute;top:0;left:0;
  overflow:hidden;white-space:nowrap;
}
.gks-rate__value{font-weight:700;color:var(--c-gold-dark);font-family:Georgia,serif}

/* ==========================================
   [catpost] [tagpost] カテゴリ/タグ記事リスト
========================================== */
.gks-catpost{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
@media(max-width:600px){.gks-catpost{grid-template-columns:1fr}}
.gks-catpost__item{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--c-border-soft);border-radius:var(--r-card);overflow:hidden;
  text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;
}
.gks-catpost__item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}
.gks-catpost__thumb{aspect-ratio:16/9;background:var(--c-navy-3) center/cover no-repeat;display:block}
.gks-catpost__title{padding:12px 14px;font-size:13px;font-weight:700;line-height:1.5;color:var(--c-navy)}

/* ===========================================
 * Smash Balloon Instagram Feed - 極洗トンマナ統合
 * =========================================== */
.gokusen-sb-wrap{margin:24px 0 18px}
.gokusen-sb-wrap #sb_instagram{
  padding:0 !important;
  background:transparent !important;
}
.gokusen-sb-wrap #sb_instagram .sb_instagram_header{display:none !important}
.gokusen-sb-wrap #sb_instagram #sbi_images{
  display:grid !important;
  grid-template-columns:repeat(6,1fr) !important;
  gap:10px !important;
  padding:0 !important;
}
.gokusen-sb-wrap #sb_instagram .sbi_item{
  width:100% !important;
  padding:0 !important;
  border-radius:8px;
  overflow:hidden;
  position:relative;
  aspect-ratio:1/1;
  background:#0e1a2b;
  transition:transform .25s ease, box-shadow .25s ease;
}
.gokusen-sb-wrap #sb_instagram .sbi_item:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 24px rgba(14,26,43,.18);
}
.gokusen-sb-wrap #sb_instagram .sbi_item .sbi_link,
.gokusen-sb-wrap #sb_instagram .sbi_item a{
  border-radius:8px;
  overflow:hidden;
}
.gokusen-sb-wrap #sb_instagram .sbi_photo,
.gokusen-sb-wrap #sb_instagram .sbi_item img{
  border-radius:8px;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.gokusen-sb-wrap #sb_instagram .sbi_lightbox_carousel_icon,
.gokusen-sb-wrap #sb_instagram .sbi_playbtn{
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));
}
.gokusen-sb-wrap #sb_instagram .sbi_load{display:none !important}
.gokusen-sb-wrap #sb_instagram .sbi_hover_overlay{
  background:linear-gradient(135deg,rgba(14,26,43,.85),rgba(245,185,66,.65)) !important;
}
.gokusen-sb-wrap #sb_instagram .sbi_hover_overlay span{
  color:#fff !important;
}
@media screen and (max-width:1024px){
  .gokusen-sb-wrap #sb_instagram #sbi_images{
    grid-template-columns:repeat(3,1fr) !important;
  }
}
@media screen and (max-width:640px){
  .gokusen-sb-wrap #sb_instagram #sbi_images{
    grid-template-columns:repeat(2,1fr) !important;
    gap:8px !important;
  }
}

/* Instagram公式 embed (oEmbed blockquote) のセンタリング */
.gokusen-ig-embed-wrap blockquote.instagram-media{
  margin:18px auto !important;
  max-width:540px !important;
  border-radius:8px !important;
  box-shadow:0 2px 8px rgba(14,26,43,.08) !important;
}
/* 複数iframe(InstagramFeed以外のembedプラグイン)対応 */
.gokusen-ig-embed-wrap iframe{
  max-width:100% !important;
  border-radius:8px;
}

/* ==========================================
 * WordPressコアブロックのフロントエンドCSS
 * (theme.json と併用してブロックレイアウトを確実に反映)
 * ========================================== */

/* --- カラムブロック --- */
.entry-content .wp-block-columns{
  display:flex;
  flex-wrap:wrap;
  gap:2em;
  margin-bottom:1.75em;
  align-items:normal;
  box-sizing:border-box;
}
.entry-content .wp-block-columns.are-vertically-aligned-top{align-items:flex-start}
.entry-content .wp-block-columns.are-vertically-aligned-center{align-items:center}
.entry-content .wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}
.entry-content .wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap !important}
.entry-content .wp-block-column{
  flex-grow:1;
  flex-basis:0;
  min-width:0;
  word-break:break-word;
  overflow-wrap:break-word;
}
.entry-content .wp-block-column.is-vertically-aligned-top{align-self:flex-start}
.entry-content .wp-block-column.is-vertically-aligned-center{align-self:center}
.entry-content .wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}
@media (max-width:781px){
  .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap !important}
  .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{flex-basis:100% !important}
}

/* --- グループブロック --- */
.entry-content .wp-block-group{margin-bottom:1.5em}
.entry-content .wp-block-group.is-layout-flex{display:flex;gap:1em;flex-wrap:wrap}
.entry-content .wp-block-group.is-layout-flex.is-vertical{flex-direction:column}
.entry-content .wp-block-group.is-layout-grid{display:grid;gap:1em}
.entry-content .wp-block-group.is-content-justification-center{justify-content:center}
.entry-content .wp-block-group.is-content-justification-right{justify-content:flex-end}
.entry-content .wp-block-group.is-content-justification-space-between{justify-content:space-between}

/* --- ボタンブロック --- */
.entry-content .wp-block-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:.5em;
  margin-bottom:1.5em;
}
.entry-content .wp-block-buttons.is-content-justification-center{justify-content:center}
.entry-content .wp-block-buttons.is-content-justification-right{justify-content:flex-end}
.entry-content .wp-block-buttons.is-vertical{flex-direction:column;align-items:flex-start}
.entry-content .wp-block-button__link{
  display:inline-block;
  padding:.7em 1.5em;
  border-radius:var(--r-pill);
  background:var(--c-navy);
  color:#fff;
  text-decoration:none;
  font-weight:600;
  border:0;
  cursor:pointer;
  transition:opacity .2s, transform .2s;
}
.entry-content .wp-block-button__link:hover{opacity:.9;transform:translateY(-1px);color:#fff}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--c-navy);border:2px solid var(--c-navy);
}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--c-navy);color:#fff;
}

/* --- 画像ブロック --- */
.entry-content .wp-block-image{margin:1.2em 0;text-align:center}
.entry-content .wp-block-image img{border-radius:8px;height:auto;max-width:100%}
.entry-content .wp-block-image figcaption{
  font-size:13px;color:var(--c-muted);margin-top:6px;text-align:center;
}
.entry-content .wp-block-image.alignleft{float:left;margin:0 1.5em 1em 0;max-width:50%}
.entry-content .wp-block-image.alignright{float:right;margin:0 0 1em 1.5em;max-width:50%}
.entry-content .wp-block-image.aligncenter{margin-left:auto;margin-right:auto;display:block}
.entry-content .wp-block-image.alignwide{max-width:1100px;margin-left:calc(50% - 50vw + 0px);margin-right:auto}
.entry-content .wp-block-image.alignfull img{width:100%}

/* --- ギャラリーブロック --- */
.entry-content .wp-block-gallery{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:1.2em 0;
}
.entry-content .wp-block-gallery .wp-block-image{
  flex-grow:1;
  flex-basis:calc((100% - 16px) / 3);
  margin:0 !important;
  min-width:0;
}
.entry-content .wp-block-gallery.columns-2 .wp-block-image{flex-basis:calc((100% - 8px) / 2)}
.entry-content .wp-block-gallery.columns-3 .wp-block-image{flex-basis:calc((100% - 16px) / 3)}
.entry-content .wp-block-gallery.columns-4 .wp-block-image{flex-basis:calc((100% - 24px) / 4)}
.entry-content .wp-block-gallery img{width:100%;height:100%;object-fit:cover;border-radius:6px}

/* --- カバーブロック --- */
.entry-content .wp-block-cover{
  position:relative;
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2em;
  margin:1.5em 0;
  overflow:hidden;
}
.entry-content .wp-block-cover__inner-container{position:relative;z-index:2;color:#fff;text-align:center}

/* --- 引用ブロック --- */
.entry-content .wp-block-quote{
  border-left:4px solid var(--c-gold);
  background:#fff7e6;
  padding:14px 18px;
  border-radius:0 8px 8px 0;
  margin:1.5em 0;
  font-style:italic;
}
.entry-content .wp-block-quote cite{
  display:block;margin-top:8px;font-size:13px;color:var(--c-muted);font-style:normal;
}

/* --- 区切りブロック --- */
.entry-content .wp-block-separator{
  border:0;border-top:1px solid var(--c-border);margin:2em auto;max-width:120px;
}
.entry-content .wp-block-separator.is-style-wide{max-width:100%}
.entry-content .wp-block-separator.is-style-dots{
  border:0;text-align:center;line-height:1;height:auto;
}
.entry-content .wp-block-separator.is-style-dots::before{
  content:"···";color:var(--c-gold);font-size:24px;letter-spacing:.5em;
}

/* --- リスト・段落の text-align / font-size 補正 --- */
.entry-content .has-text-align-left{text-align:left}
.entry-content .has-text-align-center{text-align:center}
.entry-content .has-text-align-right{text-align:right}

/* --- カラーパレット --- */
.has-gokusen-navy-color{color:#0e1a2b !important}
.has-gokusen-navy-background-color{background-color:#0e1a2b !important}
.has-gokusen-gold-color{color:#f5b942 !important}
.has-gokusen-gold-background-color{background-color:#f5b942 !important}
.has-gokusen-red-color{color:#dc2626 !important}
.has-gokusen-red-background-color{background-color:#dc2626 !important}
.has-gokusen-line-color{color:#06c755 !important}
.has-gokusen-line-background-color{background-color:#06c755 !important}
.has-gokusen-bg-background-color{background-color:#fafaf7 !important}
.has-white-color{color:#fff !important}
.has-white-background-color{background-color:#fff !important}
.has-black-color{color:#000 !important}
.has-black-background-color{background-color:#000 !important}

/* --- 埋め込み (YouTube, Twitter 等) --- */
.entry-content .wp-block-embed{margin:1.5em 0}
.entry-content .wp-block-embed iframe{max-width:100%}
.entry-content .wp-block-embed__wrapper{position:relative}

/* --- メディアとテキスト --- */
.entry-content .wp-block-media-text{
  display:grid;
  grid-template-columns:50% 1fr;
  gap:2em;
  align-items:center;
  margin:1.5em 0;
}
.entry-content .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}
.entry-content .wp-block-media-text__media img{border-radius:8px;max-width:100%;height:auto}
@media (max-width:600px){
  .entry-content .wp-block-media-text{grid-template-columns:1fr !important}
}

/* --- 見出しブロックの font-size 上書き --- */
.entry-content .wp-block-heading{font-weight:700;color:var(--c-navy)}

/* --- スペーサーブロック --- */
.entry-content .wp-block-spacer{display:block;clear:both}

/* --- テーブルブロック --- */
.entry-content .wp-block-table table{width:100%;border-collapse:collapse;margin:1em 0}
.entry-content .wp-block-table.is-style-stripes tr:nth-child(odd){background:#fff7e6}

/* ============================================================
 * SANGOブロックのカスタムフォーマット (蛍光ペン・文字サイズ・ラベル)
 * フロントエンドでも反映されるよう専用CSSを追加
 * ============================================================ */

/* --- 文字サイズ --- */
.entry-content .small{font-size:.85em}
.entry-content .big{font-size:1.2em}
.entry-content .sobig{font-size:1.6em;font-weight:700}

/* --- 文字色 --- */
.entry-content .red{color:#e60012}
.entry-content .blue{color:#0066cc}
.entry-content .green{color:#1b9c5b}
.entry-content .orange{color:#f08300}
.entry-content .silver{color:#999}
.entry-content .main-c{color:var(--c-navy)}      /* メインカラー */
.entry-content .accent-c{color:var(--c-gold-dark)} /* アクセントカラー */

/* --- 蛍光ペン (背景下半分) --- */
.entry-content .keiko_blue{
  background:linear-gradient(transparent 60%, rgba(107,182,255,.28) 60%);
}
.entry-content .keiko_yellow{
  background:linear-gradient(transparent 60%, rgba(255,236,107,.78) 60%);
}
.entry-content .keiko_green{
  background:linear-gradient(transparent 60%, rgba(161,232,164,.72) 60%);
}
.entry-content .keiko_red{
  background:linear-gradient(transparent 60%, rgba(255,140,140,.45) 60%);
}

/* --- ラベル --- */
.entry-content .labeltext{
  display:inline-block;margin-right:5px;padding:4px 9px;
  color:#fff;font-size:.85em;font-weight:700;line-height:1.2;
  border-radius:4px;vertical-align:middle;
}
.entry-content .labeltext.main-bc, .entry-content .main-bc{background-color:var(--c-navy)}
.entry-content .labeltext.accent-bc, .entry-content .accent-bc{background-color:var(--c-gold-dark)}

/* SANGO新型ラベル (sgb-label-main-c / sgb-label-accent-c) */
.entry-content .sgb-label-main-c{
  display:inline-block;padding:.25em .45em;margin-right:5px;
  color:#fff;font-size:.87em;font-weight:700;line-height:1.1;
  border-radius:3px;background-color:var(--c-navy);
}
.entry-content .sgb-label-accent-c{
  display:inline-block;padding:.25em .45em;margin-right:5px;
  color:#fff;font-size:.87em;font-weight:700;line-height:1.1;
  border-radius:3px;background-color:var(--c-gold-dark);
}

/* --- 背景うっすら灰色 --- */
.entry-content .haiiro{background:#f3f3f3;padding:2px 6px;border-radius:3px}

/* --- 見出しスタイル (hh hh1〜hh7) --- */
.entry-content .hh{
  margin:1.8em 0 1em;padding:0;border:0;background:transparent;
  box-shadow:none;font-weight:700;color:var(--c-navy);
  display:block;
}
.entry-content p.hh{font-size:1.15em}
/* hh1: シンプルな下線 (sailing-day.com 風) */
.entry-content .hh.hh1{padding-bottom:10px;border-bottom:2px solid var(--c-navy)}
.entry-content .hh.hh2{padding-bottom:6px;border-bottom:2px dotted var(--c-navy)}
.entry-content .hh.hh3{padding-bottom:6px;border-bottom:4px double var(--c-navy)}
.entry-content .hh.hh4{padding:6px 0;border-top:2px solid var(--c-navy);border-bottom:2px solid var(--c-navy)}
.entry-content .hh.hh5{padding:8px 14px;background:#fff7e6;border-radius:6px}
.entry-content .hh.hh6{padding:8px 14px;border:2px solid var(--c-navy);border-radius:6px}
.entry-content .hh.hh7{padding:8px 14px;background:#fff7e6;border-bottom:3px solid var(--c-navy)}

/* --- SANGOブロックの見出し (sgb-heading) — sailing-day.comと同じスタイル --- */
.entry-content h2.sgb-heading,
.entry-content h3.sgb-heading,
.entry-content h4.sgb-heading{
  margin:1.8em 0 1em;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  font-family:var(--ff-heading);
  font-weight:900;
  color:var(--c-navy);
  letter-spacing:.04em;
  font-feature-settings:"palt";
}
.entry-content .sgb-heading__inner{
  display:block;
  line-height:1.6;
  font-weight:900;
}
.entry-content .sgb-heading__inner.hh.hh1{
  padding-bottom:14px;
  border-bottom:2px solid var(--c-navy);
}
.entry-content .sgb-heading__text{display:inline;font-weight:900}
/* sgb-heading内の<strong> */
.entry-content .sgb-heading strong{font-weight:900}
/* 先頭の番号を大きく (sobigクラス) */
.entry-content .sgb-heading .sobig,
.entry-content h2 .sobig,
.entry-content h3 .sobig,
.entry-content .sobig{
  display:inline-block;
  margin-right:.18em;
  font-size:1.7em;
  font-weight:900;
  line-height:1;
  color:var(--c-navy);
  vertical-align:baseline;
  letter-spacing:0;
}
/* <strong>内部の数字をさらに太く */
.entry-content h2 strong .sobig,
.entry-content .sgb-heading strong .sobig{
  font-weight:900;
}

/* --- メインカラー/アクセントカラー枠線 (boxやアラート用) --- */
.entry-content .main-bdr{border-color:var(--c-navy) !important}
.entry-content .accent-bdr{border-color:var(--c-gold-dark) !important}
.entry-content .pastel-bc{background-color:#fff7e6}

/* --- Q&A 見出し --- */
.entry-content .hh.hhq, .entry-content .hh.hha{
  position:relative;margin:1em 0;padding:0 0 0 55px;font-size:18px;line-height:1.6;
}
.entry-content .hh.hhq::before, .entry-content .hh.hha::before{
  position:absolute;left:0;top:-4px;
  display:inline-block;width:42px;height:42px;line-height:42px;
  text-align:center;color:#fff;font-weight:700;border-radius:50%;
  font-family:Georgia,serif;font-size:20px;
}
.entry-content .hh.hhq::before{content:"Q";background:var(--c-navy)}
.entry-content .hh.hha::before{content:"A";background:var(--c-gold-dark)}

/* --- 画像サイズクラス (img_small / img_so_small) --- */
.entry-content img.img_small{max-width:400px;height:auto}
.entry-content img.img_so_small{max-width:250px;height:auto}
