@charset "UTF-8";
/*
 * ======================================
 * 加藤青果有限会社 サイト固有CSS（site.css）
 * ======================================
 * claude-design-output/ の見た目を「正」として、共通main.cssで
 * 再現できないデザイン差分のみをここに追加する。
 *
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * --------------------------------------
 * .ks-header / .ks-navcard*      - 白いピル型ナビカードのヘッダー（構造不足）
 * .ks-burger / .ks-spnav*        - 丸型ハンバーガー＋グラデSPナビ（装飾差分）
 * .ks-hero*                      - 明るいグラデ暗幕＋左寄せ下線の下層ヒーロー（装飾差分）
 * .ks-cta*                       - 中央縦積みCTA＋バッジ（構造差分）
 * .ks-sec--*                     - セクション背景色バリエーション（値の粒度不足）
 * .ks-wave*                      - セクション間の手描き風ウェーブ境界（装飾パターン不足）
 * .ks-fruit*                     - 手描きフルーツ装飾の配置（装飾パターン不足）
 * .ks-scard* / .ks-point*        - フローティングアイコン付きカード（装飾差分）
 * .ks-pcard* / .ks-more          - 写真カード＋「詳しく見る」導線（値の粒度不足）
 * .ks-lead* / .ks-arttl          - 見出し・記事内小見出しの装飾（構造差分）
 * .ks-order* / .ks-flow* / .ks-krow* 等 - 各ページ固有レイアウト
 *
 * 共通SCSSに不足していたもの（5分類）
 * --------------------------------------
 * 装飾パターン不足 : 手描き風ウェーブ境界・フルーツあしらい・アーチ番号
 * 構造不足        : ピル型ナビカードヘッダー・中央縦積みCTA
 * 値の粒度不足     : セクション背景色（クリーム/淡緑/淡橙）・大型MVコピー
 * 状態不足        : ナビカレント表示（ピル背景）
 */

/* ============ カラートークン ============ */
:root{
  --ks-green:#6FC074;
  --ks-orange:#E8912F;
  --ks-pink:#E07D92;
  --ks-dark:#2E3D2C;
  --ks-cream:#F6EFE1;
  --ks-mint:#F4FAF5;
  --ks-palegreen:#EAF5EC;
  --ks-offwhite:#FFFDF7;
  --ks-paleorange:#FBEEDE;
}

/* ============ 本文テキストの太さを500に統一 ============ */
body{ font-weight:500; }

/* 英数字(Quicksand)は日本語より小さく見えるため微調整 */
.ks-num{ font-size:1.05em; }

/* ============ ヘッダー（ピル型ナビカード） ============ */
.ks-header{ padding:18px 0; background:transparent; }
.ks-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:26px; width:96%; max-width:1500px; margin:0 auto;
}
.ks-logo .header-logo__name{ font-size:3.2rem; letter-spacing:.04em; white-space:nowrap; line-height:1.2; }
.ks-logo .header-logo__sub{ font-size:1.3rem; letter-spacing:.18em; }
.ks-logo{ flex-shrink:0; }

.ks-navcard{
  display:flex; align-items:center; gap:14px;
  background:#fff; border-radius:999px;
  box-shadow:0 8px 26px rgba(120,90,40,.10);
  padding:12px 14px 12px 44px;
}
.ks-navcard__nav{ display:flex; align-items:center; gap:24px; }
.ks-navcard__link{
  font-family:"Zen Maru Gothic","M PLUS Rounded 1c",sans-serif;
  font-size:1.45rem; font-weight:500; color:#3a3a3a;
  text-decoration:none; white-space:nowrap; transition:color .25s ease;
}
.ks-navcard__link:hover{ color:var(--ks-green); opacity:1; }
.ks-navcard__link.is-current{ color:var(--ks-green); font-weight:700; }
.ks-navcard__cta{
  flex-shrink:0; display:inline-flex; align-items:center;
  background:var(--ks-green); color:#fff;
  font-family:"Zen Maru Gothic","M PLUS Rounded 1c",sans-serif;
  font-weight:700; font-size:1.2rem; text-decoration:none;
  border-radius:999px; padding:14px 30px;
  box-shadow:0 4px 12px rgba(111,192,116,.28);
  transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease;
}
.ks-navcard__cta:hover{ background:#5cae63; transform:translateY(-2px); box-shadow:0 8px 18px rgba(111,192,116,.4); opacity:1; }

/* ハンバーガー（丸型・緑） */
.ks-burger{
  top:22px; right:22px; width:52px; height:52px;
  border-radius:50%; background:var(--ks-green);
  box-shadow:0 6px 16px rgba(111,192,116,.34); backdrop-filter:none;
  display:none; flex-direction:column; align-items:center; justify-content:center; gap:6px;
}
.ks-burger .nav-toggle__line{ position:static; transform:none; width:22px; height:2.5px; border-radius:2px; background:#fff; left:auto; }
.ks-burger.is-active .nav-toggle__line:nth-child(1){ top:auto; transform:translateY(8.5px) rotate(45deg); }
.ks-burger.is-active .nav-toggle__line:nth-child(2){ opacity:0; }
.ks-burger.is-active .nav-toggle__line:nth-child(3){ top:auto; transform:translateY(-8.5px) rotate(-45deg); }

/* SPナビ（緑→橙グラデ） */
.ks-spnav{ background:linear-gradient(150deg,#6FC074,#E8912F); }
.ks-spnav .sp-nav__link{ justify-content:center; flex-direction:column; text-align:center; gap:2px; }
.ks-spnav .sp-nav__link::after{ display:none; }
.ks-spnav .sp-nav__en{ margin:0; padding:0; }
.ks-spnav__tel{ display:block; margin-top:26px; color:#fff; font-family:"Quicksand",sans-serif; font-size:2.2rem; font-weight:700; text-decoration:none; }
.ks-spnav__tel i{ font-size:.6em; margin-right:8px; }
.ks-spnav__hours{ display:block; color:rgba(255,255,255,.9); font-size:1.2rem; margin-top:6px; }

@media (max-width:1100px){
  .ks-navcard{ display:none; }
  .ks-burger{ display:flex; }
}

/* ============ セクション背景・共通 ============ */
.ks-sec{ position:relative; overflow:hidden;
  background-image:radial-gradient(rgba(111,192,116,.14) 1.8px, transparent 2px),
                   radial-gradient(rgba(111,192,116,.14) 1.8px, transparent 2px);
  background-position:0 0, 11px 11px;
  background-size:22px 22px; }
.ks-sec__body{ position:relative; z-index:1; }
.ks-sec--cream{ background-color:var(--ks-cream); }
.ks-sec--mint{ background-color:var(--ks-mint); }
.ks-sec--palegreen{ background-color:var(--ks-palegreen); }
.ks-sec--offwhite{ background-color:var(--ks-offwhite); }
.ks-sec--paleorange{ background-color:var(--ks-paleorange); }
.ks-sec--white{ background-color:#fff; }
.ks-sec--nodots{ background-image:none; }
.ks-sec--wave{ padding-top:150px; }
.ks-sec__lead{ color:#6a6258; font-size:1.5rem; line-height:1.9; }
@media (max-width:896px){ .ks-sec--wave{ padding-top:90px; } }

/* ============ ウェーブ境界 ============ */
.ks-wave{ position:absolute; top:-1px; left:0; width:100%; height:70px; line-height:0; z-index:0; }
.ks-wave svg{ display:block; width:100%; height:100%; }
.ks-wave--cream svg path{ fill:var(--ks-cream); }
.ks-wave--mint svg path{ fill:var(--ks-mint); }
.ks-wave--palegreen svg path{ fill:var(--ks-palegreen); }
.ks-wave--offwhite svg path{ fill:var(--ks-offwhite); }
.ks-wave--paleorange svg path{ fill:var(--ks-paleorange); }

/* ============ フルーツ装飾 ============ */
.ks-fruit{ position:absolute; height:auto; opacity:.92; pointer-events:none; z-index:0; }
.ks-fruit--intro1{ top:36px; right:56px; width:96px; transform:rotate(-8deg); }
.ks-fruit--intro2{ top:118px; right:160px; width:60px; transform:rotate(9deg); }
.ks-fruit--com1{ bottom:40px; left:48px; width:100px; transform:rotate(-6deg); }
.ks-fruit--com2{ top:48px; right:60px; width:82px; transform:rotate(7deg); }
.ks-fruit--pick1{ top:44px; left:52px; width:88px; transform:rotate(-7deg); }
.ks-fruit--pick2{ bottom:44px; right:56px; width:86px; transform:rotate(8deg); }
.ks-fruit--msg{ top:40px; right:56px; width:78px; transform:rotate(8deg); }
.ks-fruit--order{ top:34px; right:52px; width:96px; transform:rotate(-7deg); }
.ks-fruit--seasonal{ top:40px; right:56px; width:90px; transform:rotate(7deg); }
@media (max-width:896px){ .ks-fruit{ opacity:.5; } .ks-fruit--intro2,.ks-fruit--com2,.ks-fruit--pick2{ display:none; } }

/* ============ 見出し（heading-icon-bar 色） ============ */
.heading-icon-bar .heading__en{ color:var(--hd-en,#6FC074); }
.heading-icon-bar .heading__ja{ color:var(--ks-dark); }
.heading-icon-bar.ks-hd--orange{ --hd-en:#E8912F; }
/* 左寄せ見出しは下のバーも左寄せに */
.heading-icon-bar.heading--left::after,
.heading-icon-bar.text-left::after{ margin-left:0; margin-right:auto; }

/* ============ btn-pill 調整 ============ */
/* グラデ廃止：メインの緑単色に統一 */
.btn-pill{ background:#6FC074; }
.ks-btn-pill{ padding:13px 34px; font-size:1.5rem; box-shadow:0 6px 16px rgba(111,192,116,.25); }
.ks-btn-pill:hover{ opacity:.85; transform:translateY(-2px); }
.btn-pill--back i{ margin-right:8px; font-size:.85em; }

/* ============ イントロ（ABOUT US） ============ */
.ks-intro{ gap:0; }
.ks-intro__imgframe{ border-radius:20px; overflow:hidden; border:none; }
.ks-intro__img{ width:100%; height:440px; object-fit:cover; display:block; }
.ks-lead-en{ font-family:"Quicksand",sans-serif; color:var(--ks-orange); font-weight:600; letter-spacing:.18em; font-size:2rem; margin-bottom:10px; }
.ks-lead-ttl{ font-size:3.2rem; font-weight:600; line-height:1.5; color:var(--ks-dark); margin-bottom:6px; }
.ks-lead-body{ margin-top:22px; font-size:1.55rem; line-height:2; color:#444; }
@media (max-width:896px){ .ks-intro__img{ height:300px; } .ks-lead-ttl{ font-size:2.4rem; } }

/* ============ サービスカード（TOP） ============ */
.ks-scard{ display:block; text-decoration:none; background:#fff; border-radius:24px; padding:16px; box-shadow:0 10px 28px rgba(111,192,116,.14); border:1px solid #eef4ee; overflow:visible; }
.ks-scard:hover{ transform:translateY(-6px); box-shadow:0 16px 34px rgba(111,192,116,.22); }
.ks-scard__thumb{ position:relative; height:200px; border-radius:16px; overflow:hidden; }
.ks-scard__thumb img{ width:100%; height:100%; object-fit:cover; }
.ks-scard__icon{ position:absolute; top:14px; left:14px; width:52px; height:52px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:1.5rem; box-shadow:0 4px 12px rgba(0,0,0,.18); }
.ks-scard__icon--green{ color:var(--ks-green); }
.ks-scard__icon--orange{ color:var(--ks-orange); }
.ks-scard__icon--pink{ color:var(--ks-pink); }
.ks-scard__body{ padding:22px 12px 12px; }
.ks-scard__title{ font-size:1.9rem; font-weight:600; color:var(--ks-dark); margin-bottom:10px; }
.ks-scard__text{ font-size:1.5rem; line-height:1.6; color:#555; }

/* ============ こだわりポイント（TOP・円アイコン＋アーチ番号） ============ */
.ks-points{ gap:34px; }
.ks-point{ text-align:center; padding:0 10px; }
.ks-point__icon{ width:120px; height:120px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:3rem; }
.ks-point__icon--green{ background:var(--ks-green); box-shadow:0 10px 24px rgba(111,192,116,.35); }
.ks-point__icon--orange{ background:var(--ks-orange); box-shadow:0 10px 24px rgba(232,145,47,.35); }
.ks-point__icon--pink{ background:var(--ks-pink); box-shadow:0 10px 24px rgba(224,125,146,.35); }
.ks-point__num{ display:block; font-family:"Quicksand",sans-serif; color:var(--ks-orange); font-weight:600; font-size:1.4rem; letter-spacing:.16em; }
.ks-point__ttl{ font-size:2.6rem; font-weight:500; color:var(--ks-dark); margin:6px 0 12px; }
.ks-point__text{ font-size:1.5rem; line-height:1.6; color:#555; }

/* ============ 写真カード（旬・ピックアップ） ============ */
.ks-pcard{ border-radius:18px; box-shadow:0 10px 28px rgba(180,120,60,.16); }
.ks-pcard__img{ height:210px; position:relative; }
.ks-pcard__body{ padding:22px 22px 26px; }
.ks-pcard__date{ font-family:"Quicksand",sans-serif; color:#999; font-size:1.05rem; letter-spacing:.08em; }
.ks-pcard__title{ font-size:1.5rem; font-weight:500; color:var(--ks-dark); margin:6px 0 8px; line-height:1.5; }
.ks-more{ color:var(--ks-green); font-weight:600; font-size:1.35rem; }
.ks-more i{ margin-left:8px; font-size:.85em; }
.ks-tag{ position:absolute; top:14px; left:14px; color:#fff; font-size:1.1rem; font-weight:600; padding:5px 14px; border-radius:999px; z-index:2; }

/* ============ お知らせ（TOP boxed） ============ */
.ks-newsbox{ box-shadow:0 8px 24px rgba(111,192,116,.08); padding:24px 30px; }
.ks-newsbox .news-list__date{ font-family:"Quicksand",sans-serif; color:#888; font-size:1.25rem; }
.ks-newsbox .news-list__title{ font-size:1.5rem; color:#333; font-weight:500; }
@media (max-width:639px){ .ks-newsbox{ padding:16px 16px; } }

/* ============ アクセス・テーブル ============ */
.ks-access{ gap:0; }
.ks-table th{ background:#e9f5ec; color:var(--ks-dark); white-space:nowrap; }
.ks-table td{ background:#fff; }
.ks-map{ border-radius:16px; overflow:hidden; min-height:340px; height:100%; box-shadow:0 8px 24px rgba(0,0,0,.1); }
.ks-map iframe{ width:100%; height:100%; min-height:340px; border:0; }

/* ============ MV ============ */
.ks-mv{ height:84vh; min-height:560px; width:96%; margin:20px auto 48px; border-radius:24px; }
/* CMSスライダー版：ラッパーに位置指定を付与し、テキスト/オーバーレイを重ねる */
.ks-mv--cms{ position:relative; overflow:hidden; }
.ks-mv--cms #cms-slider-1-1-area{ position:absolute; inset:0; width:100%; height:100%; }
.ks-mv--cms #cms-slider-1-1-area img{ width:100%; height:100%; object-fit:cover; }
/* CMS(Swiper)側は高さが --swiper-wrapper-height:auto のため、コンテナの高さいっぱいに広げる。
   ラッパーIDは動的生成なので安定クラスで狙い、IDセレクタに勝つため !important を付与 */
.ks-mv--cms .slider_wrapper,
.ks-mv--cms .main_slider__outer{ height:100% !important; }
.ks-mv__overlay{ background:linear-gradient(180deg,rgba(31,42,30,.28) 0%,rgba(31,42,30,.12) 40%,rgba(31,42,30,.6) 100%); }
.ks-mv__text{ padding:0 6%; }
.ks-mv__ja{ font-size:6rem; text-shadow:0 3px 18px rgba(31,42,30,.45); margin-bottom:6px; line-height:1.35; }
.ks-mv__hl{ position:relative; }
.ks-mv__sub{ font-size:1.85rem; font-weight:500; color:#fff; letter-spacing:.04em; text-shadow:0 2px 10px rgba(31,42,30,.5); }
@media (max-width:896px){ .ks-mv{ height:70vh; } .ks-mv__ja{ font-size:3.6rem; } .ks-mv__sub{ font-size:1.4rem; } }
@media (max-width:639px){ .ks-mv{ height:60vh; min-height:0; } .ks-mv__ja{ font-size:2.8rem; } .ks-mv__sub{ font-size:1.2rem; } }

/* ============ 下層ヒーロー ============ */
.ks-hero{ height:320px; margin-top:20px; }
.ks-hero__overlay{ background:linear-gradient(90deg,rgba(246,239,225,.85) 0%,rgba(246,239,225,0) 100%); }
.ks-hero__content{ justify-content:center; align-items:stretch; text-align:left; height:320px; }
.ks-hero__content > .container{ width:100%; }
.ks-hero__en{ display:block; font-family:"Quicksand",sans-serif; letter-spacing:.26em; font-size:1.35rem; font-weight:600; color:var(--ks-orange); margin-bottom:12px; }
.ks-hero__ja{ font-size:3.4rem; font-weight:600; letter-spacing:.06em; text-shadow:0 1px 2px rgba(255,255,255,.6); margin:0; color:#3f3a2d; }
.ks-hero__line{ display:block; width:60px; height:4px; background:var(--ks-orange); border-radius:2px; margin-top:20px; }
@media (max-width:639px){ .ks-hero,.ks-hero__content{ height:220px; } .ks-hero__ja{ font-size:2.4rem; } }
.ks-crumb-bar{ background:var(--ks-mint); border-bottom:1px solid #e4efe6; }
.ks-crumb{ gap:10px; padding:14px 0; font-size:1.2rem; color:#8a978b; align-items:center; }
.ks-crumb a{ color:var(--ks-green); font-weight:600; }
.ks-crumb__sep{ opacity:.6; }

/* ============ CTA（中央縦積み） ============ */
.ks-cta__inner{ flex-direction:column; gap:14px; text-align:center; }
.ks-cta__badge{ display:inline-block; background:rgba(255,255,255,.22); color:#fff; font-family:"Quicksand",sans-serif; font-size:1.05rem; letter-spacing:.22em; padding:6px 20px; border-radius:999px; }
.ks-cta__label{ font-size:2rem; margin:6px 0 2px; }
.ks-cta__note{ color:#fff; opacity:.92; font-size:1.45rem; font-weight:500; letter-spacing:.04em; }
.ks-cta__br{ display:none; }
@media (max-width:639px){ .ks-cta__label{ font-size:1.6rem; } .ks-cta__note{ font-size:1.2rem; } }

/* ============ フッター ============ */
.ks-flogo{ margin-bottom:22px; }
.ks-flogo .header-logo__name{ font-size:2.6rem; }
.ks-flogo .header-logo__sub{ font-size:1.1rem; }
.ks-finfo{ color:rgba(255,255,255,.72); margin-top:18px; font-size:1.35rem; line-height:1.9; }
.ks-fnav{ display:flex; flex-wrap:wrap; gap:16px 40px; }
.ks-fnav__link{ color:#fff; font-size:1.35rem; text-decoration:none; transition:opacity .25s ease; }
.ks-fnav__link:hover{ opacity:.7; }
.ks-ftagline{ margin-top:32px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); display:flex; flex-wrap:wrap; gap:22px; align-items:center; }
.ks-ftagline__text{ color:rgba(255,255,255,.55); font-size:1.2rem; }
.ks-ftel{ color:#fff; font-family:"Quicksand",sans-serif; font-size:1.9rem; font-weight:700; letter-spacing:.03em; text-decoration:none; }
.ks-ftel i{ font-size:.6em; margin-right:8px; }

/* ============ サービスページ ============ */
.ks-serv-list{ display:flex; flex-direction:column; gap:64px; }
.ks-serv-row{ gap:6%; }
.ks-serv-figure{ position:relative; border-radius:20px; overflow:hidden; box-shadow:0 14px 34px rgba(111,192,116,.16); }
.ks-serv-figure img{ width:100%; height:360px; object-fit:cover; display:block; }
.ks-serv-num{ position:absolute; top:0; left:0; color:#fff; font-family:"Quicksand",sans-serif; font-weight:600; font-size:1.5rem; padding:10px 22px; border-bottom-right-radius:16px; }
.ks-serv-num--green{ background:var(--ks-green); }
.ks-serv-num--orange{ background:var(--ks-orange); }
.ks-serv-num--pink{ background:var(--ks-pink); }
.ks-serv-tag{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:1.3rem; }
.ks-serv-tag i{ font-size:1em; }
.ks-serv-tag--green{ color:var(--ks-green); }
.ks-serv-tag--orange{ color:var(--ks-orange); }
.ks-serv-tag--pink{ color:var(--ks-pink); }
.ks-serv-ttl{ font-size:2.6rem; font-weight:600; color:var(--ks-dark); margin:8px 0 18px; line-height:1.4; }
.ks-serv-text{ font-size:1.55rem; line-height:2; color:#4a4a4a; }
.ks-serv-note{ margin-top:22px; background:#fff; border-radius:12px; padding:16px 22px; font-size:1.4rem; color:var(--ks-dark); font-weight:600; }
.ks-serv-note i{ margin-right:8px; }
.ks-serv-note--green{ border-left:5px solid var(--ks-green); }
.ks-serv-note--green i{ color:var(--ks-green); }
.ks-serv-note--orange{ border-left:5px solid var(--ks-orange); }
.ks-serv-note--orange i{ color:var(--ks-orange); }
.ks-serv-note--pink{ border-left:5px solid var(--ks-pink); }
.ks-serv-note--pink i{ color:var(--ks-pink); }
.ks-serv-figure__wrap{ width:50%; }
.ks-serv-body{ width:44%; }
@media (max-width:896px){ .ks-serv-figure__wrap,.ks-serv-body{ width:100%; } .ks-serv-figure img{ height:280px; } }

/* ご注文方法 */
.ks-order{ display:flex; align-items:center; justify-content:center; gap:80px; flex-wrap:wrap; text-align:left; }
.ks-order__text{ color:#4a4a4a; font-size:1.5rem; line-height:1.9; }
.ks-order__card{ background:#fff; border-radius:20px; padding:22px 40px; box-shadow:0 12px 30px rgba(111,192,116,.2); text-align:center; }
.ks-order__card-label{ font-size:1.35rem; color:#888; letter-spacing:.08em; margin-bottom:2px; }
.ks-order__tel{ display:block; font-family:"Quicksand",sans-serif; font-size:3.4rem; font-weight:600; color:var(--ks-green); letter-spacing:.02em; line-height:1.2; text-decoration:none; }
.ks-order__tel i{ font-size:.6em; margin-right:12px; }
.ks-order__hours{ font-size:1.4rem; color:#555; margin-top:2px; }
@media (max-width:639px){ .ks-order{ gap:32px; } .ks-order__tel{ font-size:2.6rem; } }

/* ご注文の流れ */
.ks-flow{ gap:22px; }
.ks-flow__item{ background:#fff; border:1px solid #eef3ee; border-radius:18px; padding:34px 22px; text-align:center; position:relative; box-shadow:0 8px 22px rgba(111,192,116,.10); }
.ks-flow__num{ position:absolute; top:-16px; left:50%; transform:translateX(-50%); width:56px; height:56px; border-radius:50%; background:var(--ks-green); color:#fff; display:flex; align-items:center; justify-content:center; font-family:"Quicksand",sans-serif; font-weight:600; font-size:1.8rem; box-shadow:0 6px 16px rgba(111,192,116,.35); }
.ks-flow__icon{ margin-top:26px; color:var(--ks-orange); font-size:2.4rem; margin-bottom:12px; }
.ks-flow__ttl{ font-size:1.65rem; font-weight:600; color:var(--ks-dark); margin-bottom:8px; }
.ks-flow__text{ font-size:1.3rem; line-height:1.8; color:#666; }

/* ============ こだわりページ ============ */
.ks-krows{ display:flex; flex-direction:column; gap:56px; }
.ks-krow{ gap:6%; }
.ks-kfig{ width:48%; border-radius:20px; overflow:hidden; box-shadow:0 14px 34px rgba(111,192,116,.16); }
.ks-kfig img{ width:100%; height:320px; object-fit:cover; display:block; }
.ks-kbody{ width:46%; }
.ks-khead{ display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.ks-knum{ font-family:"Quicksand",sans-serif; font-size:4.4rem; font-weight:600; line-height:1; }
.ks-knum--green{ color:var(--ks-green); }
.ks-knum--orange{ color:var(--ks-orange); }
.ks-knum--pink{ color:var(--ks-pink); }
.ks-kicon{ width:56px; height:56px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.7rem; flex-shrink:0; }
.ks-kicon--green{ background:var(--ks-green); }
.ks-kicon--orange{ background:var(--ks-orange); }
.ks-kicon--pink{ background:var(--ks-pink); }
.ks-kttl{ font-size:2.4rem; font-weight:600; color:var(--ks-dark); margin-bottom:14px; }
.ks-ktext{ font-size:1.55rem; line-height:2; color:#4a4a4a; }
@media (max-width:896px){ .ks-kfig,.ks-kbody{ width:100%; } }

.ks-stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:20px; }
.ks-stat{ background:#fff; border-radius:18px; padding:34px 44px; text-align:center; box-shadow:0 8px 24px rgba(111,192,116,.1); min-width:220px; }
.ks-stat__icon{ color:var(--ks-orange); font-size:1.8rem; margin-bottom:6px; }
.ks-stat__value{ font-family:"Quicksand","Zen Maru Gothic",sans-serif; font-size:3.6rem; font-weight:600; color:var(--ks-green); line-height:1.1; }
.ks-stat__label{ font-family:"Quicksand","Zen Maru Gothic",sans-serif; font-size:1.35rem; color:#555; font-weight:600; margin-top:4px; }
.ks-stats-note{ text-align:center; margin:28px auto 0; font-size:1.5rem; line-height:1.9; color:#555; max-width:960px; }

/* ============ 汎用リード・小見出し ============ */
.ks-desc{ text-align:center; font-size:1.55rem; line-height:2; color:#555; max-width:960px; margin:0 auto 60px; }
.ks-desc--narrow{ max-width:760px; margin-bottom:46px; }
.ks-desc--sm{ max-width:640px; margin-bottom:36px; }

/* about 図版 */
.ks-figure{ margin:0; }
.ks-figure__img{ border-radius:16px; overflow:hidden; box-shadow:0 10px 26px rgba(111,192,116,.12); }
.ks-figure__img img{ width:100%; height:250px; object-fit:cover; display:block; }
.ks-figure figcaption{ text-align:center; margin-top:14px; font-size:1.4rem; font-weight:600; color:var(--ks-dark); }

/* about メッセージ */
.ks-msg-lead{ font-size:2.4rem; font-weight:600; line-height:1.6; color:var(--ks-green); margin-bottom:26px; }
.ks-msg-body{ font-size:1.55rem; line-height:2.05; color:#444; }

/* about アクセス情報カード */
.ks-info-card{ background:#fff; border-radius:16px; padding:34px; box-shadow:0 8px 24px rgba(111,192,116,.08); height:100%; }
.ks-info-card__ttl{ font-size:1.7rem; font-weight:600; color:var(--ks-dark); margin-bottom:16px; }
.ks-info-card__ttl i{ color:var(--ks-orange); margin-right:10px; }
.ks-info-card__addr{ font-size:1.5rem; line-height:2; color:#444; }
.ks-info-card hr{ border:none; border-top:1px dashed #d7e5d9; margin:22px 0; }
.ks-info-card__lines{ font-size:1.4rem; line-height:2.1; color:#444; }
.ks-info-card__lines b{ color:var(--ks-green); font-weight:600; }

/* ============ お問い合わせページ ============ */
.ks-tel-box{ background:var(--ks-mint); border:2px solid #d7e5d9; border-radius:22px; padding:44px 30px; max-width:640px; margin:0 auto; }
.ks-tel-box__label{ font-size:1.35rem; color:#888; letter-spacing:.06em; margin-bottom:6px; }
.ks-tel-box .btn-cta-tel{ font-size:4rem; justify-content:center; }
.ks-tel-meta{ display:inline-flex; flex-wrap:wrap; gap:12px 24px; justify-content:center; margin-top:18px; }
.ks-tel-meta span{ font-size:1.45rem; color:var(--ks-dark); font-weight:600; }
.ks-tel-meta i{ color:var(--ks-green); margin-right:8px; }
@media (max-width:639px){ .ks-tel-box .btn-cta-tel{ font-size:2.8rem; } }
.ks-cbox{ background:var(--ks-mint); border-radius:18px; padding:36px 34px; }
.ks-cbox__ttl{ font-size:1.9rem; font-weight:600; color:var(--ks-dark); margin-bottom:16px; }
.ks-cbox__ttl i{ color:var(--ks-orange); margin-right:10px; }
.ks-check-leaf{ font-size:1.5rem; line-height:2.1; color:#444; }
.ks-check-leaf li{ padding-left:0; }
.ks-check-leaf li::before{ content:none; }
.ks-check-leaf i{ color:var(--ks-green); margin-right:10px; }
.ks-cbox__body{ font-size:1.5rem; line-height:2; color:#444; }
.ks-cbox__body b{ color:var(--ks-green); font-weight:600; }

/* ============ 旬の情報詳細（shun） ============ */
.ks-article{ width:100%; max-width:860px; margin:0 auto; }
.ks-article__date{ font-family:"Quicksand",sans-serif; color:#999; font-size:1.25rem; margin-bottom:16px; display:block; }
.ks-article__ttl{ font-size:2.8rem; font-weight:600; color:var(--ks-dark); line-height:1.5; margin-bottom:24px; }
.ks-article__hero{ border-radius:20px; overflow:hidden; box-shadow:0 14px 34px rgba(111,192,116,.16); margin-bottom:32px; }
.ks-article__hero img{ width:100%; height:420px; object-fit:cover; display:block; }
.ks-article__body{ font-size:1.55rem; line-height:2.05; color:#444; }
.ks-arttl{ font-size:2rem; font-weight:600; color:var(--ks-dark); margin:40px 0 14px; padding-left:16px; }
.ks-arttl--green{ border-left:6px solid var(--ks-green); }
.ks-arttl--orange{ border-left:6px solid var(--ks-orange); }
.ks-artbox{ background:var(--ks-mint); border-radius:16px; padding:26px 30px; margin-top:36px; border-left:6px solid var(--ks-green); }
.ks-artbox__ttl{ font-size:1.55rem; font-weight:600; color:var(--ks-dark); margin-bottom:6px; }
.ks-artbox__ttl i{ color:var(--ks-green); margin-right:8px; }
.ks-artbox__text{ font-size:1.45rem; color:#555; line-height:1.9; }
@media (max-width:639px){ .ks-article__ttl{ font-size:2.2rem; } .ks-article__hero img{ height:240px; } }

/* ============ ニュース一覧・旬一覧・イベント（news） ============ */
.ks-newslist{ border-top:1px solid #e4efe6; }
.ks-newslist .news-list__item{ border-bottom:1px solid #e4efe6; }
.ks-newslist .news-list__date{ font-family:"Quicksand",sans-serif; color:#888; font-size:1.25rem; }
.ks-newslist .news-list__title{ font-size:1.5rem; color:#333; font-weight:500; }
.ks-cat{ color:#fff; font-size:1.1rem; font-weight:600; padding:4px 14px; border-radius:6px; white-space:nowrap; }
.ks-cat--green{ background:var(--ks-green); }
.ks-cat--orange{ background:var(--ks-orange); }
.ks-cat--pink{ background:var(--ks-pink); }
.ks-tag--spring{ background:#8ec86f; }
.ks-tag--spring2{ background:var(--ks-pink); }
.ks-tag--summer{ background:var(--ks-orange); }
.ks-tag--summer2{ background:var(--ks-green); }
.ks-tag--autumn{ background:#c98a3a; }
.ks-tag--autumn2{ background:var(--ks-orange); }

.ks-event{ display:flex; gap:20px; align-items:flex-start; background:var(--ks-mint); border-radius:16px; padding:26px 28px; }
.ks-event__icon{ flex-shrink:0; width:60px; height:60px; border-radius:14px; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.7rem; }
.ks-event__icon--green{ background:var(--ks-green); }
.ks-event__icon--orange{ background:var(--ks-orange); }
.ks-event__icon--pink{ background:var(--ks-pink); }
.ks-event__ttl{ font-size:1.75rem; font-weight:600; color:var(--ks-dark); margin-bottom:6px; }
.ks-event__text{ font-size:1.4rem; line-height:1.9; color:#555; }
.ks-note{ text-align:center; margin-top:30px; font-size:1.35rem; color:#888; }
