/* ================================================================
   森田畳店 海外向けサイト（/kaigai/）共通スタイル  2026年10月〜
   色：藍（あい）＋和紙の白。/css/ot-common.css のあとに読み込みます。
   色を変えるときは、下の「色」の数字だけ直せば全ページに反映されます。
   ================================================================ */

/* ---- 色 ---- */
.kaigai .ot, .kaigai .tp-sticky, .k-page, .k-header, .k-footer {
  --green:#26467e;   /* リンク・ボタン（藍） */
  --deep:#16284a;    /* 見出し・濃い藍 */
  --gold:#a8834a;    /* 差し色（金茶） */
  --red:#9a3f2c;     /* 弁柄（べんがら）色：見積もりボタンなど */
  --paper:#f8f5ee;   /* 和紙の白 */
  --sand:#f3efe6;
  --beige:#ece6d8;
  --line:#ddd5c4;
  --brown:#7a5a2a;
  --washi:#fbf9f4;
  --ai-soft:#e9eef6;
  --hero:#b5521f;     /* ファーストビュー・見出しの帯の色：柿色（かきいろ）。この1行だけ変えれば、写真の上の色も一緒に変わります（例：朱色 #d0632b、藍 #16284a） */
}
body.kaigai, body.k-body { background:#fbf9f4; margin:0; }
.kaigai .ot, .k-page { background:#fbf9f4; color:#1d2433; }
.kaigai .ot-chips li { background:var(--ai-soft); }
.kaigai .ot-proscons .pro { background:#eef2f8; }
.kaigai .ot-hero-box { background:rgba(251,249,244,.95); border-top:3px solid var(--deep); }
.kaigai .ot-hero .kicker { color:var(--gold); }
.kaigai .k-hide { display:none !important; }
.kaigai .ot-cta { border-color:var(--deep); background:#fff; }
.kaigai .hr-item[aria-pressed="true"] { border-color:var(--red); }

/* ---- ヘッダー ---- */
.k-header { position:sticky; top:0; z-index:10000; background:var(--deep); color:#fbf9f4; box-shadow:0 2px 6px rgba(0,0,0,.18); font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif; }
.k-head-in { max-width:1080px; margin:0 auto; padding:8px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.k-logo { display:flex; align-items:center; gap:10px; color:#fbf9f4; text-decoration:none; }
.k-mark { width:30px; height:30px; border-radius:4px; flex-shrink:0;
  background:
    linear-gradient(90deg, transparent 46%, rgba(22,40,74,.55) 46%, rgba(22,40,74,.55) 54%, transparent 54%),
    repeating-linear-gradient(0deg, #e9e2cf 0 2px, #d9cfb4 2px 4px);
  box-shadow:inset 0 0 0 2px #a8834a; }
.k-name { font-weight:700; font-size:1.08rem; letter-spacing:.06em; line-height:1.15; }
.k-name small { display:block; font-weight:400; font-size:.7rem; letter-spacing:.12em; opacity:.85; }
.k-head-r { display:flex; align-items:center; gap:10px; }
.k-tel { color:#fbf9f4; text-decoration:none; text-align:right; line-height:1.2; }
.k-tel-n { font-weight:700; font-size:1rem; letter-spacing:.04em; }
.k-tel small { display:block; font-size:.66rem; opacity:.8; }
.k-head-btn { background:#a8834a; color:#fff !important; text-decoration:none; font-weight:700; font-size:.85rem; padding:8px 14px; border-radius:6px; white-space:nowrap; }
.k-head-btn:hover { background:#b8423e; }
.k-nav { background:#fbf9f4; border-bottom:2px solid var(--deep); }
.k-nav ul { list-style:none; margin:0 auto; padding:0 8px; max-width:1080px; display:flex; justify-content:center; flex-wrap:wrap; }
.k-nav li { flex-shrink:0; }
.k-nav li a { display:block; padding:11px 11px; color:var(--deep); text-decoration:none; font-weight:700; font-size:.82rem; white-space:nowrap; border-bottom:3px solid transparent; }
.k-nav li a:hover { color:var(--green); }
.k-nav li a[aria-current="page"] { border-bottom-color:var(--gold); }
.k-nav-sp { display:none; }
/* 言語の切り替え（PC：いちばん上の細い帯） */
.k-topbar { background:rgba(0,0,0,.18); }
.k-lang { max-width:1080px; margin:0 auto; padding:3px 44px 3px 16px; text-align:right; font-size:.7rem; line-height:1.6; }
.k-lang a { color:#d4dbe8; margin-left:14px; text-decoration:none; }
.k-lang a:hover { color:#fff; text-decoration:underline; }
.k-head-r { padding-right:28px; }
/* メニューボタン（スマホ・タブレット） */
.k-menu-btn { display:none; align-items:center; gap:6px; background:transparent; color:#fbf9f4; border:1px solid rgba(251,249,244,.55); border-radius:6px; padding:7px 10px; font:inherit; font-size:.78rem; font-weight:700; cursor:pointer; }
.k-burger, .k-burger::before, .k-burger::after { display:block; width:16px; height:2px; background:currentColor; border-radius:1px; position:relative; transition:transform .2s, background .2s; }
.k-burger::before, .k-burger::after { content:""; position:absolute; left:0; }
.k-burger::before { top:-5px; } .k-burger::after { top:5px; }
.k-menu-btn[aria-expanded="true"] .k-burger { background:transparent; }
.k-menu-btn[aria-expanded="true"] .k-burger::before { transform:translateY(5px) rotate(45deg); }
.k-menu-btn[aria-expanded="true"] .k-burger::after { transform:translateY(-5px) rotate(-45deg); }
@media (max-width:899px) {
  .k-topbar { display:none; }
  .k-head-r { padding-right:0; gap:8px; }
  .k-menu-btn { display:inline-flex; }
  .k-nav { display:none; border-bottom:3px solid var(--gold); max-height:calc(100vh - 56px); overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .k-nav.is-open { display:block; }
  .k-nav ul { display:grid; grid-template-columns:1fr 1fr; padding:6px 12px; }
  .k-nav li { border-bottom:1px solid #e6e0d2; }
  .k-nav li a { padding:13px 6px; font-size:.9rem; border-bottom:0; border-left:3px solid transparent; }
  .k-nav li a[aria-current="page"] { border-left-color:var(--gold); background:#f3eee2; }
  .k-nav-sp { display:block; max-width:1080px; margin:0 auto; padding:10px 18px 16px; }
  .k-nav-tel { display:block; color:var(--deep); font-weight:700; text-decoration:none; font-size:1rem; }
  .k-nav-tel small { display:block; font-weight:400; font-size:.75rem; color:#555; }
  .k-nav-lang { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; }
  .k-nav-lang a { color:var(--deep); text-decoration:none; font-size:.8rem; border:1px solid #cfc6b0; border-radius:16px; padding:5px 12px; background:#fff; }
}
@media (max-width:640px) {
  .k-tel { display:none; }
  .k-name { font-size:1rem; }
  .k-head-btn { padding:7px 10px; font-size:.8rem; }
}
@media (max-width:359px) { .k-name small { display:none; } }

/* ---- フッター ---- */
.k-footer { background:var(--deep); color:#e3e8f1; font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif; margin-top:40px; padding-bottom:70px; }
.k-foot-in { max-width:1080px; margin:0 auto; padding:30px 16px 10px; display:grid; gap:24px; }
.k-foot-name { font-weight:700; font-size:1.05rem; color:#fff; margin-bottom:6px; }
.k-footer p { font-size:.85rem; line-height:1.8; margin:0 0 8px; }
.k-footer a { color:#fff; }
.k-foot-links { display:grid; grid-template-columns:1fr; gap:18px; }
.k-foot-links h3 { font-size:.9rem; color:#d8c39a; margin:0 0 6px; border-bottom:1px solid rgba(255,255,255,.18); padding-bottom:4px; }
.k-foot-links ul { list-style:none; margin:0; padding:0; }
.k-foot-links li { font-size:.85rem; padding:3px 0; }
.k-foot-links a { text-decoration:none; }
.k-foot-links a:hover { text-decoration:underline; }
.k-copy { text-align:center; font-size:.72rem; opacity:.7; padding:14px 16px 0; border-top:1px solid rgba(255,255,255,.12); max-width:1080px; margin:0 auto; }
@media (min-width:760px) {
  .k-foot-in { grid-template-columns:1fr 2fr; }
  .k-foot-links { grid-template-columns:repeat(3,1fr); }
  .k-footer { padding-bottom:20px; }
}

/* ---- 固定ボタン ---- */
.kaigai .tp-sticky a.s-photo, .k-sticky a.s-photo { background:var(--deep); }

/* ---- 価格ページ：お知らせ・料金のしくみ ---- */
.k-note { margin:14px 0 0; padding:12px 14px; background:var(--ai-soft); border-left:4px solid var(--deep); border-radius:8px; font-size:.86rem; line-height:1.75; }
.k-note strong { color:var(--deep); }
.k-note a { margin-left:6px; font-weight:700; }
.k-warn { display:inline-block; margin-top:6px; color:#7a4f12; }
.k-cost { list-style:none; margin:10px 0 0; padding:0; display:grid; gap:10px; }
.k-cost li { display:flex; gap:12px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.k-cost li.k-local { background:var(--sand); border-style:dashed; }
.k-n { flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--deep); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.k-local .k-n { background:#8a8476; }
.k-cost strong { color:var(--deep); }
.k-cost p { margin:2px 0 0; font-size:.86rem; color:#444; }
.k-cost .k-ex { background:var(--paper); border-radius:6px; padding:6px 10px; margin-top:6px; font-size:.82rem; }
.k-cost .k-link a { font-weight:700; font-size:.85rem; }
@media (min-width:900px) { .k-cost { grid-template-columns:1fr 1fr; } }

/* ================================================================
   トップページ・価格一覧・お問い合わせ（/kaigai/index.php など）
   ================================================================ */
.k-page { font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif; line-height:1.8; }
.k-page h2 { font-size:clamp(1.25rem,3.6vw,1.65rem); color:var(--deep); margin:0 0 6px; line-height:1.4; letter-spacing:.02em; }
.k-page .k-eyebrow { display:block; font-size:.72rem; letter-spacing:.24em; color:var(--gold); font-weight:700; margin-bottom:2px; }

/* ファーストビュー */
/* トップのファーストビュー：abroad.html と同じ色合い（写真はそのまま暗く、緑 #1a432e と金茶 #c19a6b） */
.k-hero { position:relative; background:#000; color:#fff; overflow:hidden; }
.k-hero::before { content:""; position:absolute; inset:0; background:var(--k-hero-img) center/cover no-repeat; filter:brightness(.6); }
.k-hero .ot-in { position:relative; z-index:1; padding-top:64px; padding-bottom:30px; }
.k-hero .kicker { font-size:.78rem; letter-spacing:.18em; color:#e8cfa8; text-shadow:0 1px 8px rgba(0,0,0,.6); }
.k-hero h1 { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-size:clamp(1.8rem,7vw,3rem); line-height:1.3; margin:6px 0 10px; letter-spacing:.06em; font-weight:600; text-shadow:0 2px 15px rgba(0,0,0,.7); }
.k-hero p { max-width:620px; font-size:.95rem; margin:0; color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.6); }
.k-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:24px 0 0; max-width:600px; background:#1a432e; border-radius:8px; padding:14px 16px; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.k-stats div { text-align:center; }
.k-stats b { display:block; font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-size:clamp(1.5rem,6vw,2.2rem); line-height:1.1; color:#c19a6b; }
.k-stats span { font-size:.72rem; color:#fff; }

/* 2つの入口 */
.k-doors { display:grid; gap:12px; margin-top:-18px; position:relative; z-index:2; }
.k-door { display:block; background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 18px 16px; text-decoration:none; color:#1d2433 !important; box-shadow:0 6px 18px rgba(22,40,74,.08); border-top:4px solid var(--deep); }
.k-door.from { border-top-color:var(--gold); }
.k-door .who { font-size:.75rem; letter-spacing:.14em; color:var(--gold); font-weight:700; }
.k-door h2 { margin:2px 0 6px; font-size:1.2rem; }
.k-door ul { margin:0; padding-left:1.1em; font-size:.88rem; color:#444; }
.k-door .go { display:inline-block; margin-top:10px; font-weight:700; color:var(--green); font-size:.9rem; }
@media (min-width:760px) { .k-doors { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* 汎用 */
.k-sec { padding:40px 0 0; }
.k-sec .lead { margin:0 0 14px; color:#555; font-size:.92rem; }
.k-grid3 { display:grid; gap:12px; grid-template-columns:minmax(0,1fr); }
@media (min-width:760px) { .k-grid3 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.k-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; }
.k-card h3 { margin:0 0 4px; font-size:1.02rem; color:var(--deep); }
.k-card p { margin:0; font-size:.88rem; color:#444; }
.k-card img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:8px; display:block; margin-bottom:10px; background:var(--sand); }
.k-card .price { font-weight:700; color:var(--deep); margin-top:6px; font-size:.95rem; }
.k-card .price strong { font-size:1.2rem; }
.k-card a.more { display:inline-block; margin-top:8px; font-weight:700; font-size:.88rem; }

/* 価格の一覧（縁 × サイズ × 畳床 × 畳表） */
.k-matrix { width:100%; border-collapse:separate; border-spacing:0 8px; font-size:.86rem; }
.k-matrix thead th { font-size:.76rem; color:#666; font-weight:400; text-align:center; }
.k-matrix thead th:first-child { text-align:left; }
.k-matrix th[scope="row"] { text-align:left; font-weight:700; color:var(--deep); line-height:1.4; padding-right:6px; }
.k-matrix th small { display:block; font-weight:400; color:#666; font-size:.74rem; }
.k-matrix td { width:24%; }
.k-matrix td a { display:block; text-align:center; border:1px solid var(--line); border-radius:9px; padding:9px 4px; text-decoration:none; background:#fff; color:var(--green); line-height:1.3; }
.k-matrix td a b { display:block; font-size:.92rem; }
.k-matrix td a small { color:#666; font-size:.72rem; }
.k-matrix td a:hover { border-color:var(--green); background:var(--ai-soft); }
.k-bhead { display:inline-block; margin:18px 0 0; padding:4px 12px; border-radius:999px; background:var(--deep); color:#fff; font-size:.88rem; font-weight:700; }
.k-bhead.nashi { background:var(--gold); }
@media (min-width:900px) { .k-two { display:grid; grid-template-columns:1fr 1fr; gap:28px; } }

/* 流れ */
.k-steps { list-style:none; margin:0; padding:0; counter-reset:k; display:grid; gap:10px; }
.k-steps li { counter-increment:k; position:relative; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px 12px 54px; font-size:.88rem; }
.k-steps li::before { content:counter(k); position:absolute; left:14px; top:12px; width:28px; height:28px; border-radius:50%; background:var(--deep); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
.k-steps strong { color:var(--deep); display:block; }
@media (min-width:900px) { .k-steps { grid-template-columns:repeat(3,1fr); } }

/* 素材 */
.k-mat-tag { display:inline-block; font-size:.72rem; background:var(--ai-soft); color:var(--green); border-radius:999px; padding:1px 9px; margin:6px 4px 0 0; }

/* 事例 */
.k-cases { display:grid; gap:12px; }
@media (min-width:760px) { .k-cases { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.k-case { background:var(--deep); color:#e9edf5; border-radius:12px; padding:18px; }
.k-case b { color:#fff; font-size:1.05rem; display:block; }
.k-case .num { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-size:2rem; color:#d8c39a; line-height:1.1; }
.k-case p { margin:6px 0 0; font-size:.86rem; }

/* 最近の輸出 */
.k-recent { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.k-recent li { display:flex; gap:10px; padding:9px 2px; border-bottom:1px solid var(--line); font-size:.86rem; }
.k-recent .d { flex-shrink:0; color:#777; width:6.2em; }
.k-recent .c { flex-shrink:0; font-weight:700; color:var(--deep); min-width:5em; }

/* FAQ */
.k-faq details { background:#fff; border:1px solid var(--line); border-radius:10px; margin:0 0 8px; }
.k-faq summary { cursor:pointer; padding:12px 14px; font-weight:700; color:var(--deep); font-size:.92rem; }
.k-faq details p { margin:0; padding:0 14px 12px; font-size:.88rem; color:#444; }

/* お問い合わせ */
.k-contact { display:grid; gap:12px; }
@media (min-width:760px) { .k-contact { grid-template-columns:repeat(3,1fr); } }
.k-big { display:block; text-align:center; text-decoration:none; background:var(--deep); color:#fff !important; border-radius:10px; padding:14px; font-weight:700; }
.k-big.alt { background:#fff; color:var(--deep) !important; border:1px solid var(--deep); }
.k-check { background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
.k-check li { font-size:.88rem; margin:3px 0; }

/* ================================================================
   案内ページ（検疫・関税・梱包・送料・流れ・寸法・サンプル・支払い・素材）
   ================================================================ */
.k-band { background:var(--hero); color:#fbf9f4; padding:30px 0 26px; background-image:linear-gradient(135deg, rgba(255,255,255,.04) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.04) 50%, rgba(255,255,255,.04) 75%, transparent 75%); background-size:22px 22px; }
.k-band .k-eyebrow { color:#fde3c4; }
.k-band h1 { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-weight:600; font-size:clamp(1.6rem,6vw,2.4rem); line-height:1.35; margin:4px 0 10px; letter-spacing:.04em; }
.k-band p { margin:0; max-width:680px; font-size:.92rem; color:#fff6ec; }
.k-page .ot-crumb + .k-band { margin-top:8px; }

/* 表 */
.k-tablewrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:8px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.k-table { width:100%; border-collapse:collapse; font-size:.86rem; min-width:520px; }
.k-table th, .k-table td { padding:9px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.k-table thead th { background:var(--sand); color:var(--deep); font-size:.78rem; white-space:nowrap; }
.k-table tbody th { color:var(--deep); white-space:nowrap; }
.k-table tbody th small { display:block; font-weight:400; color:#777; font-size:.72rem; }
.k-table tbody tr:last-child th, .k-table tbody tr:last-child td { border-bottom:0; }
.k-table .k-zero { color:#1f6b33; font-weight:700; }
.k-table .k-tnote { color:#555; font-size:.8rem; min-width:180px; }
.k-table .k-sm { color:#666; font-size:.8rem; }
.k-done { color:#b8423e; margin-right:4px; }
.k-rhead { font-size:1rem; color:var(--deep); margin:20px 0 4px; padding-left:10px; border-left:4px solid var(--gold); }

/* 検疫の一覧 */
.k-finder { display:grid; gap:10px; margin:6px 0 8px; }
.k-finder input { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff; }
.k-chips { display:flex; flex-wrap:wrap; gap:6px; }
.k-chips button { border:1px solid var(--line); background:#fff; border-radius:999px; padding:6px 12px; font:inherit; font-size:.82rem; color:var(--deep); cursor:pointer; }
.k-chips button.on { background:var(--deep); border-color:var(--deep); color:#fff; }
.k-legend { font-size:.78rem; color:#666; margin:0 0 8px; }
.st { display:inline-block; font-size:.74rem; font-weight:700; border-radius:999px; padding:2px 9px; margin:2px 4px 2px 0; white-space:nowrap; }
.st small { font-weight:400; margin-right:4px; }
.st-ok { background:#e3f1e5; color:#1f6b33; } .st-check { background:#e6eefa; color:#1f4f99; } .st-permit { background:#fbf1dd; color:#8a5a14; }
.st-ng { background:#fbe5e3; color:#a32b20; } .st-cond { background:#f1e9f7; color:#6b3a8a; } .st-unknown { background:#eee; color:#555; }
.k-qlist { display:grid; gap:8px; }
.k-q { background:#fff; border:1px solid var(--line); border-radius:10px; }
.k-q summary { cursor:pointer; padding:11px 14px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; list-style:none; }
.k-q summary::-webkit-details-marker { display:none; }
.k-q .cname { font-weight:700; color:var(--deep); }
.k-q .cname::before { content:"＋"; color:var(--gold); margin-right:6px; }
.k-q[open] .cname::before { content:"－"; }
.k-q .cbody { padding:0 14px 12px; font-size:.86rem; }
.k-q .cbody ul { margin:0 0 6px; padding-left:1.1em; }
.k-q .kv { display:grid; grid-template-columns:8.5em 1fr; gap:8px; padding:6px 0; border-top:1px dashed var(--line); }
.k-q .kv span { color:#777; font-size:.8rem; }
.k-q .kv p { margin:0; }
@media (min-width:900px) { .k-qlist { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; } }

/* 流れ */
.k-flow { list-style:none; margin:0; padding:0; position:relative; }
.k-flow li { display:flex; gap:14px; padding:0 0 16px; position:relative; }
.k-flow li::before { content:""; position:absolute; left:17px; top:36px; bottom:0; width:2px; background:var(--line); }
.k-flow li:last-child::before { display:none; }
.k-flow .n { flex-shrink:0; width:36px; height:36px; border-radius:50%; background:var(--deep); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.k-flow strong { color:var(--deep); font-size:1rem; }
.k-flow p { margin:2px 0 0; font-size:.88rem; color:#444; }

/* 写真・図 */
.k-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.k-photos img { width:100%; height:auto; border-radius:8px; display:block; aspect-ratio:4/3; object-fit:cover; }
@media (min-width:760px) { .k-photos { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.k-lay { align-items:start; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; margin-top:14px; }
.k-lay figure { margin:0; }
.k-lay-imgs { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; justify-content:center; min-height:120px; padding:6px 0 10px; }
.k-lay-imgs img { width:auto !important; max-width:100%; height:auto !important; max-height:190px; object-fit:contain; aspect-ratio:auto !important; background:none !important; margin:0 !important; border-radius:0 !important; }
.k-lay figcaption { font-size:.84rem; color:#444; border-top:1px solid var(--line); padding-top:8px; }
.k-lay figcaption strong { color:var(--deep); }
.k-lay .k-ng { border-color:#e7a9a2; background:#fff8f7; }
.k-list { margin:8px 0 0; padding-left:1.2em; font-size:.9rem; }
.k-list li { margin:4px 0; }
.k-dl { display:grid; grid-template-columns:7.5em 1fr; gap:6px 10px; margin:8px 0 0; font-size:.86rem; }
.k-dl dt { color:#777; }
.k-dl dd { margin:0; font-weight:700; color:#1d2433; word-break:break-word; }
.k-card .more { display:inline-block; margin-top:8px; font-weight:700; font-size:.86rem; color:var(--green); }

.k-table.k-fit { min-width:0; }
@media (max-width:560px) { .k-table.k-fit .k-sm { display:none; } }

/* お支払い方法 */
.k-paygrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
@media (min-width:900px) { .k-paygrid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.k-pay { text-align:center; }
.k-pay .ico { display:block; font-size:1.8rem; line-height:1.2; margin-bottom:4px; }
.k-pay p { font-size:.82rem; }
.k-dl-wide { grid-template-columns:9em 1fr; }

/* お問い合わせフォーム（/kaigai/contact.php） */
.k-form [hidden] { display:none !important; }
.k-form fieldset { border:1px solid var(--line); border-radius:12px; background:#fff; padding:14px 16px 6px; margin:0 0 14px; min-width:0; }
.k-form legend { font-weight:700; color:var(--deep); padding:0 6px; font-size:.98rem; }
.k-form em { font-style:normal; font-size:.68rem; background:var(--red); color:#fff; border-radius:4px; padding:1px 6px; margin-left:4px; vertical-align:2px; }
.k-form em.opt { background:var(--gold); }
.k-f { display:block; margin:0 0 12px; font-size:.86rem; font-weight:700; color:#333; }
.k-f input[type=text], .k-f input[type=email], .k-f input[type=tel], .k-f textarea { display:block; width:100%; margin-top:5px; padding:11px 12px; border:1px solid var(--line); border-radius:9px; font:inherit; font-weight:400; font-size:16px; background:#fdfcf9; color:#1d2433; box-sizing:border-box; }
.k-f input:focus, .k-f textarea:focus { outline:2px solid var(--green); outline-offset:1px; background:#fff; }
.k-f input[type=file] { display:block; margin-top:6px; font-size:.86rem; font-weight:400; max-width:100%; }
.k-f small { display:block; font-weight:400; color:#666; font-size:.76rem; margin-top:4px; }
.k-f2 { display:grid; grid-template-columns:minmax(0,1fr); gap:0 14px; }
@media (min-width:760px) { .k-f2 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.k-seg { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.k-seg label { cursor:pointer; }
.k-seg input { position:absolute; opacity:0; pointer-events:none; }
.k-seg span { display:inline-block; padding:10px 16px; border:1px solid var(--line); border-radius:999px; background:#fff; font-weight:700; font-size:.9rem; color:var(--deep); }
.k-seg.small span { padding:7px 14px; font-size:.84rem; }
.k-seg input:checked + span { background:var(--deep); border-color:var(--deep); color:#fff; }
.k-seg input:focus-visible + span { outline:2px solid var(--gold); outline-offset:2px; }
.k-f-type { background:var(--sand) !important; }
.k-checks { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:6px; font-weight:400; }
.k-file-msg { display:block; color:var(--red); font-weight:700; font-size:.82rem; margin-top:4px; }
.k-submit { display:block; width:100%; max-width:420px; margin:16px auto 0; min-height:54px; border:0; border-radius:10px; background:var(--red); color:#fff; font:inherit; font-weight:700; font-size:1.05rem; cursor:pointer; }
.k-submit:disabled { opacity:.6; cursor:wait; }
.k-errors { background:#fbe9e6; border:1px solid #e7a9a2; color:#7a2318; border-radius:10px; padding:12px 16px; margin:0 0 14px; font-size:.88rem; }
.k-errors ul { margin:4px 0 0; padding-left:1.2em; }
.k-done-box { background:#fff; border:1px solid var(--line); border-top:4px solid var(--hero); border-radius:12px; padding:24px 20px; max-width:720px; }
.k-done-box h1 { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; color:var(--deep); margin:4px 0 10px; font-size:1.8rem; }
.k-done-box p { margin:6px 0; font-size:.92rem; }

/* 輸出記録 */
.k-stats-light { background:#1a432e; margin:0 auto; }
.k-chips button small { opacity:.7; font-size:.72rem; margin-left:2px; }
.k-year { background:#fff; border:1px solid var(--line); border-radius:10px; margin:0 0 8px; }
.k-year summary { cursor:pointer; padding:10px 14px; display:flex; justify-content:space-between; font-weight:700; color:var(--deep); }
.k-year .n { color:#777; font-weight:400; font-size:.85rem; }
.k-year .k-recent { padding:0 14px 8px; border-top:0; }
.k-year .k-recent li { flex-wrap:wrap; }
.k-year .k-recent .d { width:3.2em; }
.k-year .k-recent .t { flex:1 1 60%; min-width:12em; }
.k-recent li[hidden], .k-year[hidden] { display:none !important; }

/* 国別ガイド */
.k-flag { margin-right:10px; font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; }
.k-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
@media (min-width:900px) { .k-facts { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.k-facts div { background:#fff; border:1px solid var(--line); border-top:3px solid #1a432e; border-radius:10px; padding:12px 14px; display:flex; flex-direction:column; gap:4px; }
.k-facts span { font-size:.76rem; color:#777; }
.k-facts b { color:var(--deep); font-size:1rem; line-height:1.4; }
.k-facts a { font-size:.8rem; font-weight:700; margin-top:auto; }
.k-points { list-style:none; margin:8px 0 0; padding:0; display:grid; gap:8px; }
.k-points li { background:#fff; border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:8px; padding:10px 14px; font-size:.9rem; }
.k-kv { display:grid; grid-template-columns:9em 1fr; gap:8px; padding:8px 0; border-top:1px dashed var(--line); font-size:.88rem; }
.k-kv span { color:#777; font-size:.82rem; }
.k-kv p { margin:0; }
.k-cgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px; margin-top:8px; }
.k-ccard { display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"flag nm meta" "bd bd bd"; gap:6px 10px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px; text-decoration:none; color:#1d2433 !important; }
.k-ccard:hover { border-color:var(--green); background:var(--ai-soft); }
.k-ccard .flag { grid-area:flag; font-size:1.8rem; line-height:1; font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; }
.k-ccard .nm { grid-area:nm; font-weight:700; color:var(--deep); }
.k-ccard .nm small { display:block; font-weight:400; color:#888; font-size:.72rem; }
.k-ccard .meta { grid-area:meta; font-size:.76rem; color:#666; }
.k-ccard .bd { grid-area:bd; }

/* 畳メイキングキット */
.k-hero-kit::before { background-position:center 60%; }
.k-howto { list-style:none; margin:10px 0 0; padding:0; display:grid; gap:10px; }
@media (min-width:760px) { .k-howto { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.k-howto li { display:flex; gap:12px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px; align-items:flex-start; }
.k-howto img { width:120px; height:90px; object-fit:cover; border-radius:8px; flex-shrink:0; }
.k-howto strong { color:var(--deep); }
.k-howto p { margin:2px 0 0; font-size:.86rem; color:#444; }
.k-pdfs { display:grid; gap:8px; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); margin-top:10px; }
.k-pdfs a { display:flex; gap:10px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:10px; padding:12px; text-decoration:none; color:#1d2433 !important; }
.k-pdfs a:hover { border-color:var(--green); background:var(--ai-soft); }
.k-pdfs .ico { font-size:1.6rem; }
.k-pdfs strong { display:block; color:var(--green); font-size:.9rem; }
.k-pdfs small { color:#777; font-size:.76rem; }
.k-gal { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:8px; margin:8px 0 6px; }
.k-gal img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; display:block; background:var(--sand); }
