/* =========================================================
 * 神足商店会 トップページ専用CSS
 * ファイル: wp-content/themes/astra-child/koutari-home.css
 * koutari-home.php のショートコード出力に対応。
 * 全クラスに .kt- プレフィックスを付与し既存CSSと衝突回避。
 * ========================================================= */
/* ============================================
   神足商店会 トップページ 共通CSS（プロトタイプ）
   本番では子テーマの koutari-home.css に分離
============================================ */
:root{
  --kt-orange:#F08437;
  --kt-orange-d:#E0712A;
  --kt-navy:#2C4A7E;
  --kt-navy-d:#22395f;
  --kt-text:#3a4654;
  --kt-sky:#EAF5FB;
  --kt-sky2:#DCEEF8;
  --kt-beige:#FCEBD2;
  --kt-pink:#F5A8B8;
  --kt-green:#7FBF6B;
  --kt-line:#e4e9ee;
  --kt-wrap:1100px;
}
*{box-sizing:border-box;}
.kt-home{
  font-family:'Zen Maru Gothic','M PLUS Rounded 1c',sans-serif;
  color:var(--kt-text);
  line-height:1.8;
  font-size:16px;
  overflow-x:hidden;
}
.kt-home img{max-width:100%;height:auto;display:block;}
.kt-wrap{max-width:var(--kt-wrap);margin:0 auto;padding:0 24px;}

/* 見出し共通（手描き点線つき eyebrow） */
.kt-h2{
  font-size:1.9rem;font-weight:900;color:var(--kt-navy);
  display:inline-block;position:relative;margin:0 0 0 0;
  letter-spacing:.04em;
}
.kt-h2 .kt-deco{position:absolute;top:-14px;left:-30px;width:24px;opacity:.9;}

/* ボタン共通 */
.kt-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 30px;border-radius:999px;font-weight:700;
  text-decoration:none;font-size:1.02rem;transition:.2s;border:none;cursor:pointer;
}
.kt-btn .ico{font-size:1.1em;}
.kt-btn-orange{background:var(--kt-orange);color:#fff;box-shadow:0 6px 14px rgba(240,132,55,.35);}
.kt-btn-orange:hover{background:var(--kt-orange-d);transform:translateY(-2px);}
.kt-btn-navy{background:var(--kt-navy);color:#fff;box-shadow:0 6px 14px rgba(44,74,126,.3);}
.kt-btn-navy:hover{background:var(--kt-navy-d);transform:translateY(-2px);}
.kt-btn-white{background:#fff;color:var(--kt-text);border:1px solid var(--kt-line);box-shadow:0 3px 8px rgba(0,0,0,.06);}
.kt-btn-white:hover{transform:translateY(-2px);}
.kt-btn-arrow{width:34px;height:34px;border-radius:50%;background:var(--kt-orange);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}

/* ============================================ EVENT BAR（最上部・開催時のみ） */
.kt-eventbar{
  background:linear-gradient(90deg,#F08437,#F5A23F);
  color:#fff;text-align:center;padding:12px 16px;font-weight:700;
}
.kt-eventbar a{color:#fff;text-decoration:underline;}
.kt-eventbar .tag{background:#fff;color:var(--kt-orange);border-radius:6px;padding:2px 10px;font-size:.8rem;margin-right:10px;}

/* ============================================ HERO */
.kt-hero{position:relative;background:#cfe6d8;}
.kt-hero-imgwrap{position:relative;}
.kt-hero-imgwrap img{width:100%;height:560px;object-fit:cover;}
.kt-hero-copy{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);
  text-align:center;width:90%;
}
.kt-hero-tag{
  font-size:3.2rem;font-weight:900;color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.25);margin:0;letter-spacing:.02em;
}
.kt-hero-tag .c1{color:#F08437;}.kt-hero-tag .c2{color:#5BA3D0;}.kt-hero-tag .c3{color:#F0B43F;}
.kt-hero-tag .c4{color:#7FBF6B;}.kt-hero-tag .c5{color:#E87C9E;}
.kt-hero-sub{
  color:#fff;font-size:1.25rem;font-weight:700;margin:18px 0 28px;
  text-shadow:0 2px 10px rgba(0,0,0,.3);line-height:1.7;
}
.kt-hero-btns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}
.kt-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:#fff;font-size:.7rem;text-align:center;font-weight:700;letter-spacing:.1em;}
.kt-scroll .dot{display:block;width:34px;height:34px;border:2px solid #fff;border-radius:50%;margin:0 auto 6px;position:relative;}
.kt-scroll .dot:after{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid #fff;}

/* ============================================ EVENTS（今月のイベント） */
.kt-section{padding:64px 0;}
.kt-events-head{display:flex;align-items:center;gap:24px;margin-bottom:28px;flex-wrap:wrap;}
.kt-events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.kt-ecard{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(40,70,110,.1);transition:.25s;}
.kt-ecard:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(40,70,110,.18);}
.kt-ecard-img{position:relative;height:170px;}
.kt-ecard-img img{width:100%;height:100%;object-fit:cover;}
.kt-ecard-date{position:absolute;left:14px;bottom:-18px;background:var(--kt-navy);color:#fff;border-radius:10px;width:54px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;line-height:1.1;box-shadow:0 4px 10px rgba(0,0,0,.2);}
.kt-ecard-date.orange{background:var(--kt-orange);}
.kt-ecard-date .d{font-size:1.05rem;}.kt-ecard-date .m{font-size:.6rem;}
.kt-ecard-body{padding:26px 20px 22px;}
.kt-ecard-body h3{margin:0 0 8px;font-size:1.12rem;color:var(--kt-navy);font-weight:700;}
.kt-ecard-body p{margin:0;font-size:.9rem;color:#6a7480;}
.kt-events-more{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:22px;}
.kt-events-more a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--kt-text);font-weight:700;font-size:.9rem;}

/* ============================================ ABOUT（商店会って？） */
.kt-about{background:var(--kt-sky);position:relative;padding:70px 0 140px;overflow:hidden;}
.kt-about-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;}
/* 上部の雲フチ */
.kt-about-top{position:absolute;top:0;left:0;width:100%;line-height:0;z-index:1;}
.kt-about-top svg{width:100%;height:40px;display:block;}
/* 下部の街・自然イラスト */
.kt-about-scene{position:absolute;left:0;bottom:0;width:100%;line-height:0;z-index:1;pointer-events:none;}
.kt-about-scene svg{width:100%;height:auto;display:block;}
.kt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px;}
.kt-stat{background:#fff;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 8px 18px rgba(70,120,160,.12);padding:8px;}
.kt-stat .lbl{font-size:.7rem;color:#6a7480;font-weight:700;}
.kt-stat .num{font-size:.82rem;color:var(--kt-navy);font-weight:700;line-height:1.2;}
.kt-stat .num b{font-size:1.5rem;color:var(--kt-orange);}
.kt-stat .sub{font-size:.6rem;color:#8a94a0;}
.kt-about-txt h2{font-size:1.5rem;color:var(--kt-navy);font-weight:900;line-height:1.6;margin:0 0 16px;}
.kt-about-txt p{font-size:.95rem;color:#5a6470;margin:0;}

/* ============================================ SHOPS（お店を探す） */
.kt-shops-head{display:flex;align-items:center;gap:24px;margin-bottom:34px;flex-wrap:wrap;}
.kt-shops-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;}
.kt-shop{text-decoration:none;text-align:center;color:var(--kt-text);}
.kt-shop .ic{width:74px;height:74px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:.2s;}
.kt-shop:hover .ic{transform:translateY(-5px);}
.kt-shop span{font-size:.82rem;font-weight:700;}
.c-food{background:#FCE3D6;}.c-beauty{background:#FBDCE5;}.c-med{background:#D9F0EC;}.c-house{background:#D6E9F7;}
.c-build{background:#F3E7D4;}.c-serv{background:#E5DEF5;}.c-edu{background:#D9EFD9;}.c-other{background:#E8EAED;}

/* ============================================ INSTAGRAM */
.kt-insta{padding:30px 0 50px;}
.kt-insta-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.kt-insta-head .ig{background:linear-gradient(45deg,#F09433,#E6683C,#DC2743,#CC2366,#BC1888);color:#fff;border-radius:10px;padding:6px 10px;font-weight:800;display:inline-flex;align-items:center;gap:8px;}
.kt-insta-feed{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;}
.kt-insta-feed div{aspect-ratio:1;background:#cdd6de;border-radius:6px;background-size:cover;background-position:center;}
.kt-follow{display:inline-block;margin-top:6px;background:linear-gradient(45deg,#E6683C,#DC2743);color:#fff;text-decoration:none;padding:8px 18px;border-radius:999px;font-weight:700;font-size:.85rem;}

/* ============================================ SPONSORS */
.kt-spon{background:var(--kt-sky);padding:54px 0;}
.kt-spon h2{font-size:1.4rem;color:var(--kt-navy);font-weight:900;margin:0 0 26px;}
.kt-spon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.kt-spon-grid div{background:#fff;border:1px solid #d7e2ea;border-radius:8px;height:84px;display:flex;align-items:center;justify-content:center;color:#9aa4ae;font-size:.82rem;font-weight:700;}

/* ============================================ CTA */
.kt-cta{background:var(--kt-beige);padding:48px 0;text-align:center;position:relative;}
.kt-cta h2{font-size:1.7rem;color:#E0712A;font-weight:900;margin:0 0 10px;}
.kt-cta p{margin:0 0 26px;color:#7a6a55;font-weight:500;}
.kt-cta-btns{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;}
.kt-cta-btn{display:flex;align-items:center;gap:16px;text-decoration:none;border-radius:12px;padding:16px 30px;color:#fff;min-width:300px;justify-content:space-between;box-shadow:0 6px 14px rgba(0,0,0,.12);}
.kt-cta-btn .t{text-align:left;}
.kt-cta-btn .t b{font-size:1.15rem;display:block;}
.kt-cta-btn .t small{font-size:.75rem;opacity:.95;}
.kt-cta-btn.orange{background:var(--kt-orange);}
.kt-cta-btn.navy{background:var(--kt-navy);}
.kt-cta-btn .ar{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;}

/* ============================================ レスポンシブ */
@media(max-width:900px){
  .kt-events-grid{grid-template-columns:1fr;}
  .kt-about-inner{grid-template-columns:1fr;}
  .kt-stats{grid-template-columns:repeat(2,1fr);}
  .kt-shops-grid{grid-template-columns:repeat(4,1fr);}
  .kt-insta-feed{grid-template-columns:repeat(4,1fr);}
  .kt-spon-grid{grid-template-columns:repeat(2,1fr);}
  .kt-hero-tag{font-size:2rem;}
  .kt-hero-imgwrap img{height:420px;}
  .kt-hero-sub{font-size:1rem;}
}
@media(max-width:480px){
  .kt-shops-grid{grid-template-columns:repeat(3,1fr);}
  .kt-cta-btn{min-width:0;width:100%;}
  .kt-hero-btns{flex-direction:column;align-items:center;}
}

/* ===== 本番追加スタイル ===== */
.kt-btn-sm{padding:10px 22px;font-size:.9rem;}
.kt-h2-block{display:block;}
.kt-hero-ph{width:100%;height:560px;background:linear-gradient(135deg,#cfe6d8,#a9d2c2);}
.kt-ecard-noimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,#e6eef4,#d3e0ea);}
.kt-events-empty{text-align:center;color:#8a94a0;padding:30px 0;}
.kt-insta-lead{font-weight:700;margin:0 0 12px;color:var(--kt-text);}
/* Smash Balloon フィードを枠内に馴染ませる（既存設定を尊重し最小限） */
.kt-insta-feed-wrap{margin-top:6px;}
.kt-home a.kt-ecard{text-decoration:none;color:inherit;display:block;}
@media(max-width:900px){
  .kt-hero-ph{height:420px;}
}


/* ===== 全幅テンプレート用（page-koutari-home.php） ===== */
/* このテンプレートのページでタイトル・パンくず・余白を消す */
.page-template-page-koutari-home .entry-header,
.page-template-page-koutari-home .ast-archive-description,
.page-template-page-koutari-home .ast-breadcrumbs{display:none !important;}
/* Astraのコンテナ幅・余白を全解除して全幅に */
.page-template-page-koutari-home #primary,
.page-template-page-koutari-home #main,
.page-template-page-koutari-home .site-main,
.page-template-page-koutari-home .ast-container,
.page-template-page-koutari-home .entry-content{
	max-width:100% !important;
	width:100% !important;
	padding:0 !important;
	margin:0 !important;
}
.page-template-page-koutari-home .site-content{padding:0 !important;}
.page-template-page-koutari-home .content-area{margin:0 !important;padding:0 !important;}

/* kt-home 全体：全幅。リンク下線除去。フォント適用 */
.kt-home{
	width:100%;
	font-family:'Zen Maru Gothic','M PLUS Rounded 1c',sans-serif;
	color:var(--kt-text);
	line-height:1.8;
}
.kt-home a{text-decoration:none !important;}
.kt-home .kt-btn,.kt-home .kt-cta-btn,.kt-home .kt-ecard,.kt-home .kt-shop{text-decoration:none !important;}
/* 各セクションは全幅、内側のkt-wrapで中央寄せ */
.kt-home > section,.kt-home .kt-eventbar{width:100%;}

/* ===== 全幅化 強制（Astra .ast-container に勝つ詳細度） ===== */
body.page-template-page-koutari-home .ast-container{
	max-width:100% !important;
	width:100% !important;
	margin-left:0 !important;
	margin-right:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
	display:block !important;
}
body.page-template-page-koutari-home #primary,
body.page-template-page-koutari-home .site-main,
body.page-template-page-koutari-home .content-area{
	max-width:100% !important;
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
}

/* ===== kt-home をビューポート全幅に（親コンテナ幅に依存しない確実な方法） ===== */
body.page-template-page-koutari-home .kt-home{
	position:relative;
	left:50%;
	right:50%;
	margin-left:-50vw !important;
	margin-right:-50vw !important;
	width:100vw !important;
	max-width:100vw !important;
}
/* 横スクロール防止 */
body.page-template-page-koutari-home{overflow-x:hidden;}

/* ===== ヒーロー：ボタンのみ（画像に文字が入っている場合）===== */
.kt-hero-copy--btnonly{
	top:auto !important;
	bottom:14% !important;
	transform:translateX(-50%) !important;
}
@media(max-width:900px){
	.kt-hero-copy--btnonly{bottom:16% !important;}
}
@media(max-width:600px){
	/* スマホは画像内の文字とボタンが近いので、ボタンを画像下端寄りに下げる */
	.kt-hero-copy--btnonly{bottom:6% !important;}
	.kt-hero-btns{gap:12px !important;}
	.kt-hero-btns .kt-btn{font-size:.95rem !important;padding:12px 22px !important;}
}

/* ===== 修正パッチ（ヘッダー除外・about調整・scroll削除・insta白） ===== */
/* 1. ヘッダー内の .ast-container は全幅化の対象外に戻す（左右余白を復活） */
body.page-template-page-koutari-home .site-header .ast-container,
body.page-template-page-koutari-home #masthead .ast-container,
body.page-template-page-koutari-home header[class*="header"] .ast-container{
	max-width:1240px !important;
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:20px !important;
	padding-right:20px !important;
	width:auto !important;
}

/* 5. SCROLL矢印を非表示 */
.kt-scroll{display:none !important;}

/* 3. about グリッド比率を修正（右カラムが潰れないように） */
.kt-about-inner{grid-template-columns:1.3fr 1fr !important;gap:50px !important;align-items:center;}
.kt-about-txt h2{font-size:1.5rem !important;line-height:1.6 !important;white-space:normal !important;}
.kt-about-txt p{font-size:.95rem !important;line-height:1.9 !important;}

/* 4. 左の円の中の文字サイズ調整 */
.kt-stat .lbl{font-size:.72rem !important;}
.kt-stat .num{font-size:.85rem !important;line-height:1.3 !important;}
.kt-stat .num b{font-size:1.6rem !important;}
.kt-stat .sub{font-size:.58rem !important;}

/* 2. Instagram フィードの背景を白に */
.kt-insta #sb_instagram,
.kt-insta .sbi_header,
.kt-insta .sb_instagram_header,
.kt-insta #sb_instagram .sbi_header{
	background:#ffffff !important;
}
/* Smash Balloonヘッダー内の文字が白背景で読めるように */
.kt-insta .sbi_header .sbi_username,
.kt-insta .sbi_header .sbi_bio,
.kt-insta .sbi_header h3{color:#333 !important;}

/* ===== about グリッドの潰れ対策（min-width:0 で比率を守る） ===== */
.kt-about-inner{grid-template-columns:1.4fr 1fr !important;}
.kt-about-inner > *{min-width:0 !important;}
.kt-about-txt{min-width:0 !important;}
.kt-about-txt h2{font-size:1.4rem !important;line-height:1.6 !important;}
/* 左の実績円グリッドが広がりすぎないよう、円を少し小さく */
.kt-stats{grid-template-columns:repeat(4,1fr) !important;gap:10px !important;}

/* ===== 会員店舗バナー グリッド ===== */
.kt-members{padding:50px 0;}
.kt-members-head{margin-bottom:26px;}
.kt-members-grid{
	display:grid;
	grid-template-columns:repeat(6,1fr);
	gap:14px;
}
.kt-member{
	display:block;
	border-radius:10px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 3px 10px rgba(40,70,110,.08);
	transition:.2s;
	text-decoration:none !important;
}
.kt-member img{
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
	display:block;
}
a.kt-member:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(40,70,110,.16);}
.kt-member--nolink{cursor:default;}
/* タブレット4列 */
@media(max-width:1024px){
	.kt-members-grid{grid-template-columns:repeat(4,1fr);}
}
/* スマホ3列 */
@media(max-width:600px){
	.kt-members-grid{grid-template-columns:repeat(3,1fr);gap:8px;}
}

/* ===== 会員店舗バナー：横長比率に修正（見切れ防止） ===== */
.kt-member img{
	aspect-ratio:443/202 !important;
	object-fit:contain !important;
	background:#fff;
}

/* ===== 会員店舗 2段 横スワイプスライダー ===== */
.kt-slider{position:relative;}
.kt-slider-track{
	display:grid;
	grid-auto-flow:column;
	grid-template-rows:repeat(2,1fr);   /* 2段 */
	grid-auto-columns:calc((100% - 3*14px)/4);  /* PC:1画面に約4列 */
	gap:14px;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	padding:4px 2px 14px;
	scrollbar-width:thin;
}
.kt-slider-track > .kt-member{scroll-snap-align:start;width:100%;}
.kt-slider-track::-webkit-scrollbar{height:8px;}
.kt-slider-track::-webkit-scrollbar-thumb{background:#c4d3e6;border-radius:8px;}
/* 矢印ボタン */
.kt-slider-arrow{
	position:absolute;top:50%;transform:translateY(-50%);
	width:42px;height:42px;border:none;border-radius:50%;
	background:#2C4A7E;color:#fff;font-size:18px;cursor:pointer;
	box-shadow:0 3px 10px rgba(0,0,0,.2);z-index:3;opacity:.9;
	display:flex;align-items:center;justify-content:center;
}
.kt-slider-arrow:hover{opacity:1;}
.kt-slider-prev{left:-10px;}
.kt-slider-next{right:-10px;}
/* タブレット:1画面に約3列 */
@media(max-width:1024px){
	.kt-slider-track{grid-auto-columns:calc((100% - 2*14px)/3);}
}
/* スマホ:1画面に約2列 */
@media(max-width:600px){
	.kt-slider-track{grid-auto-columns:calc((100% - 1*10px)/2);gap:10px;}
	.kt-slider-arrow{width:36px;height:36px;font-size:15px;}
	.kt-slider-prev{left:-4px;}
	.kt-slider-next{right:-4px;}
}

/* ===== ページ内アンカー（会員店舗へスムーズスクロール） ===== */
html{scroll-behavior:smooth;}
#kt-members{scroll-margin-top:80px;}

/* ===== 会員店舗マップ ===== */
.kt-map{padding:20px 0 50px;}
.kt-map-head{margin-bottom:22px;}
.kt-map-desc{margin-top:8px;color:#555;font-size:.95rem;line-height:1.8;}
.kt-map-frame{
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 4px 16px rgba(40,70,110,.12);
	line-height:0;
}
.kt-map-frame iframe{display:block;width:100%;}
@media(max-width:600px){
	.kt-map-frame iframe{height:380px !important;}
}

/* ===== スマホ：神足商店会って？を縦1カラムに（崩れ修正） ===== */
@media(max-width:900px){
	.kt-about-inner{grid-template-columns:1fr !important;gap:28px !important;}
	.kt-about-txt h2{font-size:1.3rem !important;}
}
@media(max-width:600px){
	.kt-stats{grid-template-columns:repeat(2,1fr) !important;gap:12px !important;}
}

/* ===== 実績円の中の文字を大きく（視認性アップ） ===== */
.kt-stat .lbl{font-size:.95rem !important;}
.kt-stat .num{font-size:1.05rem !important;line-height:1.3 !important;}
.kt-stat .num b{font-size:2.2rem !important;}
.kt-stat .sub{font-size:.72rem !important;}
@media(max-width:600px){
	.kt-stat .lbl{font-size:.85rem !important;}
	.kt-stat .num{font-size:.95rem !important;}
	.kt-stat .num b{font-size:1.9rem !important;}
	.kt-stat .sub{font-size:.66rem !important;}
}

/* ===== subありの円（イベント来場者数）は中身を少し下げて縁にかからないように ===== */
.kt-stat:has(.sub){padding-top:22px !important;}
.kt-stat:has(.sub) .lbl{margin-top:6px;}

/* ===== 歴史街道の町並みとお店（文字のみ・和風） ===== */
.kt-intro{
	padding:80px 0;
	background:linear-gradient(180deg,#f7fbfa 0%,#eef5f4 100%);
	position:relative;
	overflow:hidden;
}
/* 背景に薄い和柄アクセント（円） */
.kt-intro::before,
.kt-intro::after{
	content:"";
	position:absolute;
	border-radius:50%;
	border:1px solid rgba(26,179,155,.12);
}
.kt-intro::before{width:420px;height:420px;top:-160px;right:-120px;}
.kt-intro::after{width:300px;height:300px;bottom:-130px;left:-90px;background:rgba(26,179,155,.04);border:none;}
.kt-intro-inner{
	position:relative;
	z-index:1;
	text-align:center;
	max-width:760px;
	margin:0 auto;
}
.kt-intro-eyebrow{
	font-size:.78rem;
	letter-spacing:.35em;
	color:var(--kt-emerald,#1AB39B);
	font-weight:700;
	margin:0 0 18px;
	padding-left:.35em;
}
.kt-intro-title{
	font-family:"Zen Old Mincho","Yu Mincho",serif;
	font-size:2.5rem;
	font-weight:700;
	color:var(--kt-navy,#2C4A7E);
	line-height:1.5;
	margin:0 0 28px;
	letter-spacing:.06em;
}
.kt-intro-title::after{
	content:"";
	display:block;
	width:54px;
	height:3px;
	background:var(--kt-emerald,#1AB39B);
	margin:22px auto 0;
	border-radius:2px;
}
.kt-intro-lead{
	font-size:1.18rem;
	font-weight:700;
	color:#33414f;
	margin:0 0 26px;
	letter-spacing:.04em;
}
.kt-intro-body{
	font-size:1rem;
	line-height:2.2;
	color:#5a6470;
	margin:0 0 18px;
	letter-spacing:.03em;
}
.kt-intro-body:last-child{margin-bottom:0;}
.kt-sp-br{display:none;}
@media(max-width:768px){
	.kt-intro{padding:56px 0;}
	.kt-intro-title{font-size:1.85rem;}
	.kt-intro-lead{font-size:1.05rem;}
	.kt-intro-body{font-size:.95rem;line-height:2;}
	/* スマホは1行が長すぎるとガタつくので、本文の改行を無効化して自然折返しに */
	.kt-intro-body br{display:none;}
	.kt-sp-br{display:inline;}
}

/* ===== バナー画像（CTA.jpg） ===== */
.kt-banner{padding:30px 0;}
.kt-banner-frame{
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 4px 16px rgba(40,70,110,.12);
	line-height:0;
}
.kt-banner-frame img{width:100%;height:auto;display:block;}
.kt-banner-link{display:block;transition:.25s;}
.kt-banner-link:hover{opacity:.92;}
