/* KINASSE Japan — STORK19 を補完する最小限の追加スタイル（新機能=地域グリッド/言語切替/詳細情報のみ） */

:root{ --k-brand:#c1272d; }

/* 言語切替（ヘッダー右上） */
.k-lang{
  position:absolute;top:14px;right:16px;display:flex;gap:2px;z-index:60;
  border:1px solid #ddd;border-radius:18px;overflow:hidden;background:#fff;
}
.k-lang button{
  border:0;background:transparent;cursor:pointer;font:inherit;font-size:12px;
  padding:4px 10px;color:#777;line-height:1.4;
}
.k-lang button.active{background:var(--k-brand);color:#fff}
@media(max-width:782px){ .k-lang{top:10px;right:10px} }

/* セクション見出し（STORK19 の雰囲気に寄せる） */
.k-secttl{
  font-size:clamp(1.2em,2.6vw,1.4em);font-weight:700;margin:0 0 6px;
  padding-left:12px;border-left:5px solid var(--k-brand);line-height:1.4;
}
.k-sectsub{color:#888;font-size:13px;margin:0 0 22px;padding-left:13px}

/* 地域グリッド（按地区浏览） */
.k-region-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 8px;
}
.k-region-card{
  display:block;background:#fff;border:1px solid #e6e6e6;border-radius:8px;
  padding:18px 12px;text-align:center;transition:.18s;
}
.k-region-card:hover{border-color:var(--k-brand);box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(-2px)}
.k-region-card .k-rc-name{font-weight:700;font-size:15px;color:#333}
.k-region-card .k-rc-count{font-size:12px;color:var(--k-brand);margin-top:5px;font-weight:600}
@media(max-width:782px){ .k-region-grid{grid-template-columns:repeat(2,1fr)} }

/* スポット画像プレースホルダ（写真未登録時、カテゴリ絵文字） */
.k-ph{
  width:100%;height:100%;min-height:150px;display:flex;align-items:center;justify-content:center;
  font-size:46px;background:linear-gradient(135deg,#f0ddc0,#e7c9a0);
}

/* CNN バッジ */
.k-badge{
  position:absolute;top:8px;left:8px;background:rgba(193,39,45,.92);color:#fff;
  font-size:10px;font-weight:700;padding:2px 8px;border-radius:12px;z-index:2;letter-spacing:.5px;
}
.cat_postlist__li .eyecatch{position:relative}

/* カテゴリ絞り込みチップ */
.k-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.k-chip{
  border:1px solid #e0e0e0;background:#fff;border-radius:18px;padding:5px 14px;
  font-size:13px;cursor:pointer;color:#666;transition:.15s;
}
.k-chip:hover{border-color:var(--k-brand);color:var(--k-brand)}
.k-chip.active{background:var(--k-brand);color:#fff;border-color:var(--k-brand)}

/* スポット詳細：実用情報テーブル */
.k-info{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}
.k-info th{
  text-align:left;width:120px;padding:11px 14px;background:#f6f6f6;border:1px solid #e6e6e6;
  font-weight:700;vertical-align:top;white-space:nowrap;
}
.k-info td{padding:11px 14px;border:1px solid #e6e6e6;vertical-align:top}
.k-info a{color:#418ed8;text-decoration:underline;word-break:break-all}
.k-map{width:100%;aspect-ratio:16/8;border:1px solid #e6e6e6;border-radius:8px;margin:6px 0}
.k-detail-hero{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#eee}
.k-cat-label{font-size:12px;color:var(--k-brand);font-weight:700;margin:0 0 4px}
@media(max-width:560px){ .k-info th{width:88px;padding:9px 8px} }

/* 簡易パンくず */
.k-bc{font-size:13px;color:#999;margin:14px 0 4px}
.k-bc a:hover{color:var(--k-brand)}
.k-bc span{margin:0 6px;opacity:.5}

/* ローディング */
.k-loading{text-align:center;color:#999;padding:46px 0}
.k-spinner{width:28px;height:28px;border:3px solid #eee;border-top-color:var(--k-brand);border-radius:50%;margin:0 auto 12px;animation:kspin .8s linear infinite}
@keyframes kspin{to{transform:rotate(360deg)}}
.k-empty{text-align:center;color:#999;padding:40px 0;font-size:14px}

/* ===== KINASSEとは 介绍卡（右侧吉祥物） ===== */
.k-about{
  display:flex;align-items:center;gap:22px;background:#fff;border:1px solid #eee;
  border-radius:12px;padding:20px 24px;margin:0 0 34px;box-shadow:0 2px 12px rgba(0,0,0,.05);
}
.k-about .k-about-txt{flex:1}
.k-about h3{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--k-brand)}
.k-about p{margin:0;font-size:14px;color:#555;line-height:1.8}
.k-about img{width:104px;height:auto;flex:none}
@media(max-width:560px){ .k-about{flex-direction:column-reverse;text-align:center;padding:18px} .k-about img{width:84px} }

/* ===== 活动推广横幅（高尔夫之旅等） ===== */
.k-promo{
  position:relative;border-radius:14px;overflow:hidden;margin:0 0 40px;min-height:260px;
  display:flex;align-items:center;box-shadow:0 6px 24px rgba(0,0,0,.16);
}
.k-promo-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.k-promo::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(20,40,25,.78) 0%,rgba(20,40,25,.45) 55%,rgba(20,40,25,.15) 100%)}
.k-promo-inner{position:relative;z-index:2;color:#fff;padding:34px 40px;max-width:600px}
.k-promo-tag{display:inline-block;background:var(--k-brand);color:#fff;font-size:12px;font-weight:700;
  padding:4px 12px;border-radius:14px;letter-spacing:1px;margin-bottom:12px}
.k-promo h2{margin:0 0 10px;font-size:clamp(24px,4vw,34px);font-weight:900;line-height:1.3;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.k-promo p{margin:0 0 18px;font-size:15px;line-height:1.7;opacity:.95;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.k-promo-btn{display:inline-block;background:#fff;color:#1d4023;font-weight:800;font-size:14px;
  padding:11px 26px;border-radius:26px;transition:.18s}
.k-promo-btn:hover{background:var(--k-brand);color:#fff;transform:translateY(-2px)}
.k-promo-soon{display:inline-block;margin-left:12px;font-size:12px;opacity:.85}
@media(max-width:560px){ .k-promo-inner{padding:24px 22px} .k-promo::after{background:linear-gradient(180deg,rgba(20,40,25,.4),rgba(20,40,25,.8))} }

/* ============ 版面重构（2026-06-10 改版） ============ */

/* 顶部语言栏（独立行，不再压住导航） */
.k-topbar{background:#f4f4f4;border-bottom:1px solid #e8e8e8}
.k-topbar-inner{display:flex;justify-content:flex-end;align-items:center;height:34px;padding:0 18px}
.k-lang{position:static;display:flex;gap:0;border:1px solid #ddd;border-radius:16px;overflow:hidden;background:#fff;top:auto;right:auto}
.k-lang button{border:0;background:transparent;cursor:pointer;font:inherit;font-size:12px;padding:3px 11px;color:#666;line-height:1.5}
.k-lang button+button{border-left:1px solid #eee}
.k-lang button.active{background:var(--k-brand);color:#fff}

/* 全宽推广横幅（导航直下，去两侧余白，加长） */
.k-promo--full{border-radius:0;margin:0 0 0;min-height:320px}
.k-promo--full .k-promo-inner{max-width:1166px;margin:0 auto;width:100%;padding:42px 40px}
@media(max-width:782px){ .k-promo--full{min-height:240px} }

/* 两栏布局：左主内容 + 右侧栏 */
#contents.cf{display:flex;gap:38px;align-items:flex-start;max-width:1166px;margin:0 auto;padding:34px 18px 10px}
#contents.cf::after{content:none}
#main{flex:1;min-width:0;float:none;width:auto}
#sidebar{width:316px;flex:none;float:none;margin:0}
@media(max-width:860px){
  #contents.cf{flex-direction:column;gap:30px}
  #sidebar{width:100%}
}

/* 侧栏：关于KINASSE（竖版，吉祥物在上） */
.k-side-about{background:#fff;border:1px solid #eee;border-radius:12px;padding:22px 20px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.05);margin-bottom:26px}
.k-side-about img{width:96px;height:auto;margin:0 auto 10px}
.k-side-about h3{margin:0 0 8px;font-size:16px;font-weight:800;color:var(--k-brand)}
.k-side-about p{margin:0;font-size:13px;color:#666;line-height:1.85;text-align:left}

/* 侧栏 widget 通用 */
.k-widget{background:#fff;border:1px solid #eee;border-radius:12px;padding:18px 18px 8px;box-shadow:0 2px 12px rgba(0,0,0,.05);margin-bottom:26px}
.k-widget-h{margin:0 0 14px;font-size:15px;font-weight:800;color:#333;padding-left:11px;border-left:4px solid var(--k-brand);line-height:1.4}

/* 博客列表项 */
.k-blog-list{display:flex;flex-direction:column}
.k-blog-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid #f0f0f0;align-items:flex-start}
.k-blog-item:last-child{border-bottom:0}
.k-blog-thumb{width:64px;height:64px;flex:none;border-radius:8px;overflow:hidden;background:#f3f3f3}
.k-blog-thumb img{width:100%;height:100%;object-fit:cover}
.k-blog-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:26px;background:linear-gradient(135deg,#f0ddc0,#e7c9a0)}
.k-blog-meta{flex:1;min-width:0}
.k-blog-ttl{font-size:13px;font-weight:700;color:#333;line-height:1.45;margin-bottom:3px}
.k-blog-ex{font-size:12px;color:#999;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.k-blog-ai{display:inline-block;background:#418ed8;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;margin-right:5px;vertical-align:middle}

/* 博客「更多」链接 */
.k-blog-more{display:block;text-align:right;font-size:13px;color:var(--k-brand);font-weight:700;padding:10px 2px 4px}
.k-blog-more:hover{text-decoration:underline}

/* 博客列表页（grid 卡片） */
.k-bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.k-bgcard{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:.18s;display:flex;flex-direction:column}
.k-bgcard:hover{transform:translateY(-4px);box-shadow:0 8px 22px rgba(0,0,0,.13)}
.k-bgcard .bg-th{aspect-ratio:16/10;background:#f3f3f3;overflow:hidden;position:relative}
.k-bgcard .bg-th img{width:100%;height:100%;object-fit:cover}
.k-bgcard .bg-th .k-blog-ph{font-size:40px}
.k-bgcard .bg-body{padding:13px 15px 16px;flex:1;display:flex;flex-direction:column}
.k-bgcard .bg-date{font-size:11px;color:#aaa;margin-bottom:5px}
.k-bgcard .bg-ttl{font-size:15px;font-weight:700;line-height:1.45;color:#333;margin-bottom:7px}
.k-bgcard .bg-ex{font-size:12.5px;color:#888;line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:860px){.k-bloggrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.k-bloggrid{grid-template-columns:1fr}}

/* 博客详情 */
.k-post-hero{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#eee;margin:8px 0 4px}
.k-post-date{font-size:13px;color:#999;margin:14px 0 2px}
.k-post-body{font-size:15px;line-height:1.95;color:#333;margin:18px 0;white-space:pre-wrap}

/* 博客详情 HTML 正文（原记事图文混排） */
.k-post-html{white-space:normal;font-size:15px;line-height:1.95;color:#333}
.k-post-html img{width:100%;height:auto;border-radius:10px;margin:18px 0;display:block}
.k-post-html h2{font-size:20px;font-weight:800;margin:30px 0 12px;padding-left:12px;border-left:5px solid var(--k-brand);line-height:1.45}
.k-post-html h3{font-size:17px;font-weight:700;margin:24px 0 10px}
.k-post-html h4{font-size:15px;font-weight:700;margin:20px 0 8px}
.k-post-html p{margin:0 0 14px}
.k-post-html ul,.k-post-html ol{margin:0 0 16px;padding-left:1.4em}
.k-post-html li{margin:4px 0}
.k-post-html a{color:#418ed8;text-decoration:underline;word-break:break-word}
.k-post-html blockquote{border-left:3px solid #ddd;margin:14px 0;padding:6px 14px;color:#666;background:#fafafa}
.k-post-html strong{font-weight:700}

/* ===== #7 导航「更多服务」CTA ===== */
.k-nav-cta a{
  color:var(--k-brand)!important;font-weight:800!important;
  display:inline-flex;align-items:center;gap:6px;
}
.k-nav-cta a i{font-size:12px;transition:transform .2s}
.k-nav-cta a:hover i{transform:translateX(3px)}

/* ===== #6 footer 公司信息 + 更多服务块 ===== */
.k-foot-top{
  display:flex;justify-content:space-between;align-items:flex-start;gap:28px;
  flex-wrap:wrap;max-width:1166px;margin:0 auto;padding:30px 20px 6px;
}
.k-foot-company{min-width:260px;flex:1}
.k-foot-cname{font-size:16px;font-weight:800;color:#fff;margin-bottom:12px;letter-spacing:.02em}
.k-foot-info{list-style:none;margin:0;padding:0;font-size:13px;line-height:1.5}
.k-foot-info li{display:flex;gap:10px;margin-bottom:7px;align-items:baseline}
.k-foot-info li>span:first-child{
  flex:0 0 48px;color:var(--k-brand,#c1272d);font-weight:700;font-size:12px;
}
.k-foot-info a,.k-foot-addr{color:rgba(255,255,255,.85);text-decoration:none}
.k-foot-info a:hover{color:#fff;text-decoration:underline}
.k-foot-addr{color:rgba(255,255,255,.78)}

.k-foot-more{
  display:flex;flex-direction:column;gap:2px;text-decoration:none;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:12px;padding:16px 22px;min-width:240px;transition:all .18s;
}
.k-foot-more:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.k-foot-more-t{color:#fff;font-weight:800;font-size:15px}
.k-foot-more-s{color:rgba(255,255,255,.7);font-size:12px;line-height:1.4}
.k-foot-more-arrow{color:var(--k-brand,#c1272d);font-size:15px;margin-top:4px}
.k-foot-more:hover .k-foot-more-arrow i{transform:translateX(4px);transition:transform .2s}
@media(max-width:600px){
  .k-foot-top{flex-direction:column;gap:18px}
  .k-foot-more{width:100%}
}

/* ===== #8 各版块标题吉祥物(多姿势) ===== */
.k-secttl, .k-widget-h{ display:flex; align-items:center; gap:8px; }
.k-mascot-ico{
  width:auto; height:42px; flex:0 0 auto; vertical-align:middle;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.08));
  transition:transform .25s ease;
}
.k-secttl:hover .k-mascot-ico{ transform:translateY(-3px) rotate(-4deg); }
.k-widget-h .k-mascot-ico{ height:30px; }
.k-side-about h3 .k-mascot-ico{ height:30px; }
@media(max-width:600px){ .k-mascot-ico{ height:34px; } }

/* ===== #5 会員投稿（みんなの投稿） ===== */
.k-member-sec{ margin:40px 0 10px; }
.k-member-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.k-mp-submit{
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  background:var(--k-brand,#c1272d); color:#fff; text-decoration:none; font-weight:700; font-size:14px;
  padding:10px 18px; border-radius:24px; box-shadow:0 3px 10px rgba(193,39,45,.25); transition:all .18s;
}
.k-mp-submit:hover{ background:#a51f24; transform:translateY(-2px); }
.k-mp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.k-mp-card{ background:#fff; border:1px solid #eee; border-radius:14px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.05); display:flex; flex-direction:column; }
.k-mp-photo{ aspect-ratio:4/3; overflow:hidden; background:#f3f3f3; }
.k-mp-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.k-mp-body{ padding:14px 15px 13px; display:flex; flex-direction:column; gap:7px; }
.k-mp-ttl{ font-weight:800; font-size:15px; color:#222; line-height:1.4; }
.k-mp-cap{ font-size:13px; color:#555; line-height:1.7; }
.k-mp-meta{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:2px; font-size:12px; color:#999; flex-wrap:wrap; }
.k-mp-loc{ color:var(--k-brand,#c1272d); font-weight:600; }
.k-mp-by{ font-weight:600; }
@media(max-width:880px){ .k-mp-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .k-mp-grid{ grid-template-columns:1fr; } }

/* 投稿フォーム（submit.html） */
.k-form-row{ margin-bottom:16px; }
.k-form-row label{ display:block; font-weight:700; font-size:14px; margin-bottom:6px; color:#333; }
.k-form-row .req{ color:var(--k-brand,#c1272d); }
.k-form-row input[type=text], .k-form-row input[type=email], .k-form-row textarea{
  width:100%; box-sizing:border-box; border:1px solid #d6d6d6; border-radius:9px; padding:11px 13px; font-size:15px; font-family:inherit;
}
.k-form-row textarea{ min-height:90px; resize:vertical; }
.k-drop{
  border:2px dashed #cbcbcb; border-radius:12px; padding:26px 16px; text-align:center; cursor:pointer;
  color:#888; background:#fafafa; transition:all .15s;
}
.k-drop:hover{ border-color:var(--k-brand,#c1272d); color:var(--k-brand,#c1272d); background:#fff7f7; }
.k-drop i{ font-size:30px; display:block; margin-bottom:8px; }
.k-preview{ margin-top:12px; }
.k-preview img{ max-width:100%; border-radius:10px; display:block; }
.k-form-submit{
  width:100%; background:var(--k-brand,#c1272d); color:#fff; border:none; border-radius:26px;
  padding:14px; font-size:16px; font-weight:800; cursor:pointer; transition:all .18s;
}
.k-form-submit:hover{ background:#a51f24; }
.k-form-submit:disabled{ opacity:.55; cursor:not-allowed; }
.k-form-note{ font-size:12px; color:#999; line-height:1.7; margin-top:12px; }
.k-thanks{ text-align:center; padding:30px 10px; }
.k-thanks i{ font-size:46px; color:var(--k-brand,#c1272d); }
