/* ============================================================
   健康経営の窓口 トップページ style.css
   デザイン仕様書のCSS変数・余白・角丸・影のルールに準拠
============================================================ */

.kt-page{
  --color-primary:#174F52;
  --color-primary-dark:#103B3E;
  --color-accent:#C58A3A;
  --color-background:#FFFFFF;
  --color-background-warm:#F8F6F1;
  --color-background-soft:#EDF5F4;
  --color-background-gray:#F4F5F5;
  --color-text:#273333;
  --color-text-muted:#657373;
  --color-white:#FFFFFF;
  --container-width:1180px;
  --content-width-narrow:760px;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  --font-mincho:"Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  color:var(--color-text);
  line-height:1.9;
  background:var(--color-background);
  font-size:18px;
  overflow-x:hidden; /* 斜めディバイダーのはみ出し対策 */
}
.kt-page *{box-sizing:border-box;}
.kt-page section{padding-block:112px;position:relative;}
.kt-page .kt-inner{max-width:var(--container-width);margin:0 auto;padding-inline:32px;}
.kt-page .kt-narrow{max-width:var(--content-width-narrow);margin:0 auto;}
.kt-page h2{font-family:var(--font-mincho);font-size:clamp(28px,3vw,42px);line-height:1.5;font-weight:600;color:var(--color-primary);margin:0;letter-spacing:.02em;}
.kt-page h2::after{
  content:"";display:block;width:56px;height:3px;
  background:var(--color-accent);margin-top:18px;border-radius:2px;
}
.kt-page h2.kt-center::after,.kt-cta h2::after{margin-inline:auto;}

/* 問題提起・最終CTAの見出しだけ、アンダーラインが左から伸びるアニメーション */
.kt-h2-draw::after{
  transform:scaleX(0);transform-origin:left;
  transition:transform 1s cubic-bezier(.2,.7,.2,1);
  transition-delay:.15s;
}
.kt-h2-draw.is-visible::after{transform:scaleX(1);}
.kt-cta .kt-h2-draw::after{transform-origin:center;}
.kt-page h3{font-size:22px;line-height:1.35;font-weight:600;margin:0;}
.kt-page p{margin:0;}
.kt-page .kt-lead{font-size:20px;color:var(--color-text-muted);}
.kt-page .kt-eyebrow{display:inline-block;font-size:14px;letter-spacing:.14em;font-weight:500;color:var(--color-accent);margin-bottom:12px;}
.kt-page .kt-center{text-align:center;}
.kt-page img{max-width:100%;display:block;}

/* ============================================================
   フッター帯
============================================================ */
.kt-footer{background:var(--color-primary-dark);color:rgba(255,255,255,.75);padding-block:56px 40px;}
.kt-footer .kt-inner{text-align:center;}
.kt-footer-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;}
.kt-footer-logo{width:36px;height:36px;object-fit:contain;}
.kt-footer-name{font-family:var(--font-mincho);font-size:16px;font-weight:600;color:var(--color-white);letter-spacing:.03em;}
.kt-footer-address{font-size:13px;margin-bottom:16px;}
.kt-footer-trademark{font-size:12px;color:rgba(255,255,255,.55);line-height:1.8;max-width:640px;margin:0 auto;text-align:center;}
.kt-footer-harassment{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);}
.kt-footer-harassment-title{display:block;font-size:13px;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:10px;}
.kt-footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;align-items:center;}
.kt-footer-links a{color:rgba(255,255,255,.7);font-size:12px;text-decoration:underline;text-underline-offset:2px;}
.kt-footer-links a:hover{color:var(--color-white);}
.kt-footer-copyright{margin-top:28px;font-size:11px;color:rgba(255,255,255,.45);}
@media (max-width:880px){
  .kt-footer{padding-block:40px 32px;}
  .kt-footer-address{font-size:12px;padding-inline:12px;}
}
/* ============================================================
   ヘッダー（ロゴ＋団体名）
============================================================ */
.kt-header{
  background:var(--color-background);
  border-bottom:1px solid #E9EDEC;
  position:sticky;top:0;z-index:50;
}
.kt-header-inner{
  max-width:var(--container-width);margin:0 auto;padding-inline:32px;
  height:76px;display:flex;align-items:center;justify-content:space-between;
}
.kt-brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.kt-brand-mark{width:40px;height:40px;object-fit:contain;display:block;}
.kt-brand-text{
  font-family:var(--font-mincho);font-size:15px;line-height:1.4;font-weight:600;
  color:var(--color-primary);letter-spacing:.03em;
}
.kt-header-btn{height:44px;padding-inline:22px;font-size:14px;}
@media (max-width:880px){
  .kt-header-inner{padding-inline:20px;height:64px;}
  .kt-brand-mark{width:32px;height:32px;}
  .kt-brand-text{font-size:12px;}
  .kt-header-btn{display:none;}
}

/* ============================================================
   ボタン（矢印がホバーでわずかに移動する）
============================================================ */
.kt-page .kt-btn{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  height:52px;padding-inline:28px;border-radius:6px;
  font-weight:500;font-size:17px;text-decoration:none;
  transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s ease;
}
.kt-page .kt-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,55,55,.16);}
.kt-page .kt-btn .kt-arrow{display:inline-block;transition:transform .25s cubic-bezier(.2,.7,.3,1);}
.kt-page .kt-btn:hover .kt-arrow{transform:translateX(5px);}
.kt-page .kt-btn-main{background:var(--color-primary);color:var(--color-white);}
.kt-page .kt-btn-sub{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);}
.kt-page .kt-btn-sub-white{background:transparent;color:var(--color-white);border:1px solid rgba(255,255,255,.6);}
.kt-page .kt-btn-white{background:var(--color-white);color:var(--color-primary);}
.kt-page .kt-btn-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px;}

/* 写真プレースホルダー */
.kt-page .kt-ph{
  background:linear-gradient(135deg,var(--color-background-soft),var(--color-background-warm));
  border:1px dashed #B9C7C6;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  color:var(--color-text-muted);font-size:13px;text-align:center;padding:16px;
}

/* ============================================================
   斜めディバイダー（セクション間の区切りにインパクトを付ける）
   親要素の直後に置く独立div。次のセクションの背景色を
   --kt-d-color に渡して使う。kt-diagonal--rev で傾きを反転。
============================================================ */
.kt-diagonal{
  height:96px;
  background:linear-gradient(135deg, var(--kt-d-from) 50%, var(--kt-d-to) 50%);
  position:relative;
  z-index:2;
}
.kt-diagonal--rev{
  background:linear-gradient(225deg, var(--kt-d-from) 50%, var(--kt-d-to) 50%);
}
@media (max-width:880px){
  .kt-diagonal{height:56px;}
}

/* ============================================================
   スクロール連動リビール（フェードイン＋わずかに上から）
   JSが .kt-reveal に .is-visible を付与する
============================================================ */
.kt-page .kt-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
}
.kt-page .kt-reveal.is-visible{opacity:1;transform:translateY(0);}
.kt-page .kt-reveal--delay1.is-visible{transition-delay:.12s;}
.kt-page .kt-reveal--delay2.is-visible{transition-delay:.24s;}

@media (prefers-reduced-motion: reduce){
  .kt-page .kt-reveal{opacity:1;transform:none;transition:none;}
  .kt-page .kt-btn,.kt-page .kt-arrow,.kt-page .kt-role-card,.kt-page .kt-article-card .kt-thumb,
  .kt-page .kt-p-photo,.kt-page .kt-field-icon{transition:none !important;}
}

/* ============================================================
   1. ファーストビュー
============================================================ */
.kt-hero{background:var(--color-background);padding-block:0;overflow:hidden;}
.kt-hero .kt-hero-inner{
  max-width:var(--container-width);margin:0 auto;padding:96px 32px 64px;
  display:grid;grid-template-columns:55% 45%;gap:0;align-items:center;min-height:640px;
  position:relative;
}
.kt-hero .kt-hero-inner > div:first-child{position:relative;z-index:2;}
.kt-hero h1{font-family:var(--font-mincho);font-size:clamp(42px,5vw,68px);line-height:1.5;font-weight:600;color:var(--color-primary);margin:0 0 28px;letter-spacing:.02em;}
.kt-hero h1 .kt-u{position:relative;color:var(--color-accent);display:inline-block;}
.kt-hero h1 .kt-u-line{
  position:absolute;left:0;bottom:2px;width:100%;height:3px;background:var(--color-accent);
  transform-origin:left center;transform:scaleX(0);
  animation:kt-underline .9s cubic-bezier(.2,.7,.2,1) .5s forwards;
}
@keyframes kt-underline{to{transform:scaleX(1);}}
.kt-hero p{max-width:520px;font-size:18px;color:var(--color-text-muted);}

/* ヒーロー画像：右側にだけ大きくはみ出させ、テキスト側（ボタンなど）には
   絶対に被らないようにする。左端はごくわずかだけ斜めにカットして
   区切りセクションの斜め表現とゆるく呼応させる。 */
.kt-hero-photo{
  position:relative;
  width:122%;
  margin-left:0;
  aspect-ratio:4/3;
  clip-path:polygon(4% 0, 100% 0, 100% 100%, 0% 100%);
  box-shadow:0 40px 70px rgba(16,55,62,.2);
  z-index:1;
}
.kt-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}
@media (min-width:1400px){
  .kt-hero-photo{width:112%;}
}

/* 装飾シェイプ：写真の背後に色面を added して奥行きと存在感を出す */
.kt-hero-photo-wrap{position:relative;}
.kt-hero-blob{
  position:absolute;
  top:-28px;right:-8%;
  width:78%;height:60%;
  background:linear-gradient(135deg,var(--color-accent),#DCAE63);
  border-radius:32px;
  opacity:.9;
  z-index:0;
  transform:rotate(-4deg);
}
.kt-hero-photo{z-index:1;}

@media (max-width:880px){
  .kt-hero-blob{display:none;}
}

/* ============================================================
   2. 問題提起
============================================================ */
.kt-issues{background:var(--color-background-soft);}
.kt-issue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:48px 0 40px;}
.kt-issue-card{
  background:var(--color-white);border-radius:12px;border:1px solid #E3E8E7;
  box-shadow:0 12px 32px rgba(20,55,55,.05);padding:28px 24px;font-size:17px;text-align:center;
  transition:transform .2s ease,box-shadow .2s ease;
}
.kt-issue-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,55,55,.09);}
.kt-issue-card{display:flex;flex-direction:column;align-items:center;text-align:center;}
.kt-issue-thumb{
  width:100%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;
  background:var(--color-background-soft);margin-bottom:16px;
  display:flex;align-items:center;justify-content:center;
}
.kt-issue-thumb img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;}
.kt-issue-thumb--cover img{object-fit:cover;}
.kt-issue-card:hover .kt-issue-thumb img{transform:scale(1.04);}
.kt-issue-text{font-size:17px;line-height:1.7;}
.kt-issues .kt-issue-note{
  position:relative;max-width:640px;margin:0 auto;
  background:var(--color-white);border-radius:16px;
  padding:36px 44px 32px;box-shadow:0 16px 40px rgba(20,55,55,.08);
}
.kt-issue-note-mark{
  position:absolute;top:-6px;left:24px;
  font-family:var(--font-mincho);font-size:64px;line-height:1;color:var(--color-accent);
  opacity:.55;
}
.kt-issue-note p{
  font-family:var(--font-mincho);font-size:22px;line-height:1.8;font-weight:600;
  color:var(--color-primary);text-align:center;letter-spacing:.02em;margin:0;
}

/* ============================================================
   3. 腹落ちの考え方
============================================================ */
.kt-philosophy{text-align:center;position:relative;overflow:hidden;}
.kt-philosophy::before{
  content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);
  width:640px;height:640px;border-radius:50%;
  background:radial-gradient(closest-side,var(--color-background-soft),transparent);
  z-index:0;pointer-events:none;
}
.kt-philosophy .kt-inner{position:relative;z-index:1;}
.kt-main-box{
  display:inline-block;max-width:760px;margin:0 auto;
  background:var(--color-white);
  border:1px solid var(--color-background-soft);
  border-radius:20px;
  padding:40px 48px;
  box-shadow:0 20px 48px rgba(20,55,55,.09);
}
.kt-philosophy p.kt-main{font-family:var(--font-mincho);font-size:clamp(26px,3.2vw,36px);line-height:1.75;max-width:760px;margin:0 auto;letter-spacing:.02em;font-weight:600;}
.kt-philosophy .kt-accent{color:var(--color-accent);font-weight:600;}
.kt-philosophy .kt-sub{font-size:18px;line-height:2;color:var(--color-text-muted);max-width:640px;margin:28px auto 0;}
.kt-philosophy .kt-keywords{
  margin-top:48px;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;
}
.kt-philosophy .kt-keyword{
  font-family:var(--font-mincho);font-size:19px;font-weight:600;color:var(--color-primary);
  background:var(--color-background-soft);border-radius:999px;
  padding:12px 28px;letter-spacing:.05em;
}
.kt-philosophy .kt-keyword-arrow{color:var(--color-accent);font-size:16px;}
@media (max-width:880px){
  .kt-main-box{padding:28px 24px;border-radius:16px;}
  .kt-philosophy .kt-keywords{gap:8px;}
  .kt-philosophy .kt-keyword{padding:10px 18px;font-size:16px;}
}

/* ============================================================
   4. 3つの役割
============================================================ */
.kt-roles{background:var(--color-background-gray);}
.kt-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.kt-role-card{
  background:var(--color-white);border:1px solid #E3E8E7;border-radius:16px;padding:32px;
  box-shadow:0 12px 32px rgba(20,55,55,.06);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease;
}
.kt-role-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(20,55,55,.12);}
.kt-role-num{
  font-size:26px;font-weight:700;color:var(--color-accent);letter-spacing:.02em;margin-bottom:16px;
  display:inline-block;transition:transform .3s ease;
}
.kt-role-card:hover .kt-role-num{transform:translateX(4px);}
.kt-role-card h3{margin-bottom:10px;}
.kt-role-card p{font-size:16px;color:var(--color-text-muted);}

/* ============================================================
   5 / 7. 記事カード共通（インタビュー・ナレッジ）
============================================================ */
.kt-articles h2{margin-bottom:8px;}
.kt-articles .kt-lead{margin-bottom:8px;}
.kt-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0 40px;}
.kt-article-card{
  display:block;text-decoration:none;color:inherit;border-radius:14px;overflow:hidden;
  border:1px solid #E3E8E7;background:var(--color-white);box-shadow:0 12px 32px rgba(20,55,55,.05);
  transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease;
}
.kt-article-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(20,55,55,.12);}
.kt-thumb-wrap{overflow:hidden;}
.kt-article-card .kt-thumb{
  aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--color-background-soft);
  transition:transform .4s ease;
}
.kt-article-card:hover .kt-thumb{transform:scale(1.05);}
.kt-article-card.kt-knowledge .kt-thumb{aspect-ratio:16/9;}
.kt-article-body{padding:20px 22px 24px;}
.kt-article-company{font-size:14px;color:var(--color-accent);font-weight:500;margin-bottom:6px;}
.kt-article-title{font-size:17px;font-weight:600;line-height:1.6;margin-bottom:8px;}
.kt-article-excerpt{font-size:14px;color:var(--color-text-muted);line-height:1.7;margin-bottom:10px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.kt-article-date{font-size:13px;color:var(--color-text-muted);}
.kt-articles .kt-more{text-align:center;}
.kt-pill-row{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 8px;}
.kt-pill{display:inline-block;background:var(--color-background-gray);color:var(--color-text-muted);border-radius:999px;padding:8px 18px;font-size:14px;transition:background .2s ease,color .2s ease;}
.kt-pill:hover{background:var(--color-background-soft);color:var(--color-primary);}

/* ============================================================
   6. 取材案内
============================================================ */
.kt-invite{background:var(--color-background-warm);}
.kt-invite-grid{display:grid;grid-template-columns:44% 56%;gap:56px;align-items:center;}
.kt-invite .kt-ph{aspect-ratio:4/3;}
.kt-invite-photo{aspect-ratio:4/3;border-radius:12px;overflow:hidden;box-shadow:0 20px 44px rgba(20,55,55,.12);}
.kt-invite-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.kt-invite h2{margin-bottom:16px;}
.kt-invite-checks{list-style:none;margin:24px 0 0;padding:0;}
.kt-invite-checks li{padding:6px 0;font-size:17px;display:flex;gap:10px;align-items:flex-start;}
.kt-invite-checks li::before{content:"✓";color:var(--color-primary);font-weight:700;}

/* ============================================================
   8. 企業向け支援
============================================================ */
.kt-support{background:var(--color-primary);color:var(--color-white);}
.kt-support h2{color:var(--color-white);}
.kt-support .kt-lead{color:rgba(255,255,255,.8);margin-top:12px;}
.kt-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0;}
.kt-support-item{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:14px;
  padding:14px;text-align:center;font-size:17px;font-weight:500;overflow:hidden;
  transition:background .2s ease,transform .2s ease;
}
.kt-support-item:hover{background:rgba(255,255,255,.16);transform:translateY(-3px);}
.kt-support-thumb{
  aspect-ratio:4/3;border-radius:10px;overflow:hidden;margin-bottom:14px;
  background:rgba(255,255,255,.06);
}
.kt-support-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kt-support-item:hover .kt-support-thumb img{transform:scale(1.05);}
.kt-support-thumb--empty{display:flex;align-items:center;justify-content:center;}
.kt-support-label{padding-bottom:4px;}
.kt-si-icon{width:32px;height:32px;border-radius:8px;border:1.5px solid rgba(255,255,255,.6);}
.kt-support .kt-note{max-width:640px;color:rgba(255,255,255,.85);font-size:16px;margin-top:8px;}
.kt-support .kt-btn-sub{color:var(--color-white);border-color:rgba(255,255,255,.6);}

/* ============================================================
   9. 5つの支援領域
============================================================ */
.kt-field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;}
.kt-field{
  background:var(--color-background-soft);border-radius:14px;padding:20px 20px 28px;text-align:center;overflow:hidden;
  transition:transform .2s ease,background .2s ease;
}
.kt-field:hover{transform:translateY(-4px);background:var(--color-white);box-shadow:0 16px 36px rgba(20,55,55,.08);}
.kt-field-thumb{aspect-ratio:4/3;border-radius:10px;overflow:hidden;margin-bottom:16px;}
.kt-field-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kt-field:hover .kt-field-thumb img{transform:scale(1.05);}
.kt-field h3{font-size:17px;margin-bottom:6px;}
.kt-field p{font-size:15px;color:var(--color-text-muted);}

/* ============================================================
   10. 健康経営実践士
============================================================ */
.kt-practitioners{background:var(--color-background-gray);}
.kt-p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:48px 0 40px;}
.kt-p-card{
  background:var(--color-white);border-radius:14px;border:1px solid #E3E8E7;
  box-shadow:0 12px 32px rgba(20,55,55,.05);transition:transform .25s ease,box-shadow .25s ease;
  padding:32px 24px;text-align:center;
}
.kt-p-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(20,55,55,.1);}
.kt-p-photo{
  width:104px;height:104px;border-radius:50%;margin:0 auto 18px;
  background-size:cover;background-position:center;background-color:var(--color-background-soft);
  filter:grayscale(35%);transition:filter .4s ease;
  box-shadow:0 6px 16px rgba(20,55,55,.1);
}
.kt-p-card:hover .kt-p-photo{filter:grayscale(0%);}
.kt-p-name{font-size:17px;font-weight:600;margin-bottom:4px;}
.kt-p-role{font-size:14px;color:var(--color-accent);margin-bottom:16px;}
.kt-p-achievement{font-size:13px;color:var(--color-text-muted);line-height:1.8;text-align:left;}
.kt-p-achievement span{display:block;font-weight:600;color:var(--color-text);margin-bottom:4px;}
.kt-p-achievement a{color:var(--color-primary);text-decoration:none;font-weight:500;}
.kt-p-achievement a:hover{text-decoration:underline;}
.kt-practitioners .kt-more{text-align:center;}

/* ============================================================
   11. 団体紹介
============================================================ */
.kt-about{background:var(--color-background-warm);}
.kt-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.kt-about p{font-size:17px;line-height:1.9;color:var(--color-text-muted);margin-top:16px;}
.kt-about-mission{
  font-family:var(--font-mincho);font-size:20px;line-height:1.9;font-weight:600;
  color:var(--color-primary);margin-top:20px;
}
.kt-about .kt-rep{display:flex;align-items:center;gap:14px;margin-top:28px;}
.kt-rep-photo{
  width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;
  box-shadow:0 6px 16px rgba(20,55,55,.14);
}
.kt-rep-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.kt-about .kt-rep-name{font-size:15px;color:var(--color-text);font-weight:500;}
.kt-value-list{list-style:none;margin:0;padding:0;}
.kt-value-list li{display:flex;gap:16px;padding:18px 0;border-top:1px solid #DCD6C8;}
.kt-value-list li:first-child{border-top:none;padding-top:8px;}
.kt-value-list li .kt-p-num{flex-shrink:0;color:var(--color-accent);font-weight:700;font-size:13px;padding-top:3px;}
.kt-value-list li h4{font-size:16px;font-weight:600;color:var(--color-primary);margin:0 0 4px;}
.kt-value-list li p{font-size:15px;line-height:1.8;color:var(--color-text-muted);margin:0;}

/* ============================================================
   12. 最終お問い合わせ
============================================================ */
.kt-cta{background:var(--color-primary-dark);color:var(--color-white);}
.kt-cta h2{color:var(--color-white);text-align:center;max-width:640px;margin:0 auto;}
.kt-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;}
.kt-cta-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);border-radius:14px;
  padding:36px 32px;text-align:center;transition:background .2s ease,transform .2s ease;
}
.kt-cta-card:hover{background:rgba(255,255,255,.1);transform:translateY(-4px);}
.kt-cta-card .kt-eyebrow{color:var(--color-accent);}
.kt-cta-card h3{color:var(--color-white);font-size:20px;margin-bottom:10px;}
.kt-cta-card p{color:rgba(255,255,255,.8);font-size:16px;margin-bottom:24px;}

/* ============================================================
   レスポンシブ（スマートフォン：すべて縦一列）
============================================================ */
@media (max-width:880px){
  .kt-page section{padding-block:72px;}
  .kt-page .kt-inner{padding-inline:20px;}
  .kt-hero .kt-hero-inner{grid-template-columns:1fr;padding:56px 20px 40px;min-height:0;gap:32px;}
  .kt-hero h1{font-size:38px;}
  .kt-hero-photo{width:100%;margin-left:0;aspect-ratio:4/3;clip-path:none;border-radius:14px;box-shadow:0 16px 32px rgba(16,59,62,.16);}
  .kt-issue-grid,.kt-role-grid,.kt-article-grid,.kt-support-grid,.kt-field-grid,.kt-p-grid,.kt-cta-grid{grid-template-columns:1fr;}
  .kt-invite-grid,.kt-about-grid{grid-template-columns:1fr;gap:32px;}
  .kt-page .kt-btn-row{flex-direction:column;}
  .kt-page .kt-btn{width:100%;justify-content:center;}
}
