@charset "UTF-8";
/*
 * 河本農園 アメリカン版（2026-10-29 試作・?kf_color=american）
 * 旧サイトの「I am a FARMER」を下じきに、ヴィンテージの農場・ワークウェアのカタログ風。
 * 色はトヨタのアーバンカーキ（6X3）系＝くすんだグレーがかったオリーブが主役。砂ベージュ・錆びオレンジ・インクの黒。
 * 傾き・丸み・ずらし影はなし（最初の版と真逆）。細い二重線と四角いボタン。
 * kf.css の上に重ねる（ヘッダー・フッター・メニュー・下層ページは色と形だけ変える）。トップは kf/front-am.php。
 * 戻す＝option kf_color を natural
 */

body.kf-color-american {
  --lime: #d9b95c;      /* 砂っぽいからし色（差し色） */
  --lime-l: #ece2c2;
  --green: #6b7259;     /* アーバンカーキ（メイン） */
  --green-d: #474c3b;
  --orange: #b8673a;    /* 錆びたオレンジ（買うボタン） */
  --orange-l: #e9cdb4;
  --orange-d: #8c4a26;
  --cream: #e9e3d3;     /* 砂ベージュ */
  --paper: #f3efe5;
  --ink: #26281f;
  --pink: #c9a38a;
  --grape: #5e4a55;
  --night: #3a3e30;
  --khaki-l: #9aa087;
  --line: 2px solid var(--ink);
  --rule: 1px solid #26281f33;
  --sh: none;
  --sh-s: none;
  --r: 2px;
  --hd-h: 76px;
  --f-en: "Bebas Neue", "Oswald", sans-serif;
  --f-label: "Oswald", "Bebas Neue", sans-serif;
  --f-head: "Zen Old Mincho", "Yu Mincho", serif;
  --f-hand: "Zen Old Mincho", "Yu Mincho", serif;
  --f-pop: "Rubik Dirt", "Bebas Neue", sans-serif;
  --f-body: "Zen Kaku Gothic New", "Hiragino Sans", "Meiryo", sans-serif;
  background: var(--paper);
}
body.kf-color-american .kf-h2, body.kf-color-american .am-h2, body.kf-color-american :is(h1, h2, h3) { font-weight: 700; }
/* 紙のざらつき（全体にうっすら） */
body.kf-color-american::after { content: ""; position: fixed; inset: 0; z-index: 9999; pointer-events: none; opacity: .18; mix-blend-mode: multiply; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .38 0 0 0 0 .3 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
body.kf-color-american .kf-progress { height: 3px; }
body.kf-color-american .kf-progress i { background: var(--orange); border-radius: 0; }

/* ---------- ボタン：四角・二重線・影なし ---------- */
body.kf-color-american .kf-btn { border-radius: 2px; border: 2px solid var(--ink); box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 4px color-mix(in srgb, var(--fg) 55%, transparent); font-family: var(--f-body); font-weight: 700; letter-spacing: .12em; transform: none; transition: background .2s, color .2s; }
body.kf-color-american .kf-btn:hover { transform: none; box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 4px var(--fg); filter: brightness(1.08); }
body.kf-color-american .kf-btn:active { transform: translateY(1px); box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 4px var(--fg); }
body.kf-color-american .kf-btn i { width: 18px; height: 2px; border-radius: 0; background: var(--fg); transform: none !important; }
body.kf-color-american .kf-btn i::after { width: 7px; height: 7px; border-width: 2px 2px 0 0; border-color: var(--fg); left: auto; right: 0; transform: rotate(45deg); }
body.kf-color-american .kf-btn--orange { --bg: var(--orange); --fg: #fff; }
body.kf-color-american .kf-btn--green { --bg: var(--green); --fg: #fff; }
body.kf-color-american .kf-btn--ink { --bg: var(--ink); --fg: var(--cream); }
body.kf-color-american .kf-btn--cream { --bg: var(--cream); --fg: var(--ink); }
body.kf-color-american .kf-btn:disabled { --bg: #d8d3c4; --fg: #77776a; }

/* ---------- ヘッダー：上にぴったりの平たい帯 ---------- */
body.kf-color-american .kf-hd { inset: 0 0 auto; height: var(--hd-h); padding: 0 clamp(14px, 3vw, 36px); background: var(--paper); border: 0; border-bottom: 3px double var(--ink); border-radius: 0; box-shadow: none; }
body.kf-color-american .kf-hd.is-scrolled { --hd-h: 64px; background: color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter: blur(6px); }
body.kf-color-american .kf-logo__badge { display: none; }
body.kf-color-american .kf-logo__txt { flex-direction: row; align-items: baseline; gap: 10px; }
body.kf-color-american .kf-logo__ja { font-family: var(--f-head); font-weight: 700; font-size: 1.5rem; letter-spacing: .14em; } /* 10/29 Dela Gothic One にしたが温井さん指示で明朝に戻した */
body.kf-color-american .kf-logo__en { font-family: var(--f-label); font-size: .78rem; letter-spacing: .3em; color: var(--green); border-left: var(--rule); padding-left: 10px; }
body.kf-color-american .kf-gnav ul { gap: 0; }
body.kf-color-american .kf-gnav li + li a:not(.is-shop) { border-left: var(--rule); }
body.kf-color-american .kf-gnav a { border-radius: 0; padding: 4px 18px; font-size: .86rem; transform: none !important; }
body.kf-color-american .kf-gnav a span { font-family: var(--f-label); font-size: .64rem; letter-spacing: .24em; color: var(--green); }
body.kf-color-american .kf-gnav a:hover, body.kf-color-american .kf-gnav a[aria-current] { background: none; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
body.kf-color-american .kf-gnav a.is-shop { margin-left: 14px; background: var(--orange); border: 2px solid var(--ink); border-radius: 2px; color: #fff; }
body.kf-color-american .kf-gnav a.is-shop span { color: #fff; }
body.kf-color-american .kf-hdcart { border-radius: 2px; background: var(--green); color: #fff; border: 2px solid var(--ink); box-shadow: none; }
body.kf-color-american .kf-burger { border-radius: 2px; background: var(--green); color: #fff; border: 2px solid var(--ink); box-shadow: none; }
body.kf-color-american .kf-burger__lines i { background: #fff; border-radius: 0; height: 2px; }
@media (max-width: 560px) {
  body.kf-color-american .kf-hd { inset: 0 0 auto; padding: 0 10px 0 14px; }
  body.kf-color-american .kf-logo__en { display: none; }
  body.kf-color-american .kf-logo__ja { font-size: 1.25rem; }
}

/* メニュー：カーキの地にまっすぐ */
body.kf-color-american .kf-menu { background: var(--green-d); }
body.kf-color-american .kf-menu__list a { font-family: var(--f-head); font-weight: 700; transform: translateX(-20px) !important; }
body.kf-color-american .kf-menu.is-open .kf-menu__list a { transform: none !important; }
body.kf-color-american .kf-menu__list li { border-bottom: 1px solid #fff2; }
body.kf-color-american .kf-menu__list a span { font-family: var(--f-label); color: var(--lime); }
body.kf-color-american .kf-menu__tel { border-radius: 2px; box-shadow: none; transform: none; }
body.kf-color-american .kf-menu__cart { border-radius: 2px !important; transform: none !important; box-shadow: none !important; }
body.kf-color-american .kf-menu__deco { font-family: var(--f-pop); color: var(--khaki-l); opacity: .35; }

/* スマホの下の電話・ショップ・浮くカート */
@media (max-width: 760px) {
  body.kf-color-american .kf-spbar { left: 0; right: 0; bottom: 0; gap: 0; padding-bottom: env(safe-area-inset-bottom); background: var(--ink); }
  body.kf-color-american .kf-spbar a { border: 0; border-radius: 0; box-shadow: none; height: 56px; font-family: var(--f-body); font-weight: 700; }
  body.kf-color-american .kf-spbar__tel { background: var(--green); color: #fff; }
  body.kf-color-american .kf-spbar__tel span { background: transparent; border: 1px solid #fff8; color: #fff; border-radius: 2px; }
  body.kf-color-american .kf-spbar__shop span { background: transparent; border: 1px solid #fff8; border-radius: 2px; }
  body.kf-color-american .kf-cartbtn { bottom: calc(68px + env(safe-area-inset-bottom)); }
}
body.kf-color-american .kf-cartbtn { border-radius: 2px; box-shadow: none; border: 2px solid var(--ink); }

/* ---------- フッター ---------- */
body.kf-color-american .kf-ft { background: var(--green-d); padding-top: 80px; border-top: 6px double var(--paper); }
body.kf-color-american .kf-ft__wave { display: none; }
body.kf-color-american .kf-ft__catch { font-family: var(--f-head); font-weight: 700; color: var(--cream); }
body.kf-color-american .kf-ft__catch em { color: var(--lime); }
body.kf-color-american .kf-ft__name { font-family: var(--f-head); font-weight: 700; }
body.kf-color-american .kf-ft__name small { font-family: var(--f-label); color: var(--lime); }
body.kf-color-american .kf-ft__tel { font-family: var(--f-en); color: var(--lime) !important; font-size: 2rem; }
body.kf-color-american .kf-ft__nav a::before { content: "—"; color: var(--khaki-l); }
body.kf-color-american .kf-ft__nav a:hover { color: var(--lime); }
body.kf-color-american .kf-ft__big { transform: translateY(8%); font-family: var(--f-pop); color: transparent; background: none; -webkit-text-stroke: 0; color: #ffffff12; letter-spacing: .04em; }
body.kf-color-american .kf-ft__big br + * { color: inherit; }
body.kf-color-american .kf-ft__copy { background: var(--ink); color: var(--khaki-l); border-top: 0; font-family: var(--f-label); letter-spacing: .2em; font-weight: 500; }

/* ---------- 下層ページの共通部品（色と形だけ） ---------- */
body.kf-color-american :is(.kf-polaroid, .kf-dpost, .kf-sub__pic, .kf-variety__pic, .kf-item__main, .kf-map, .kf-gcard, .kf-tag, .kf-ticket, .kf-side__box, .kf-chips li, .kf-label, .kf-hero__name, .kf-thumb, .kf-pay, .kf-f__box) { border-radius: 2px !important; box-shadow: none !important; }
body.kf-color-american .kf-label { background: var(--green); color: #fff; transform: none; font-family: var(--f-label); letter-spacing: .24em; }
body.kf-color-american .kf-sub { --ac: var(--green); }

/* ==========================================================
 * トップ（kf/front-am.php）
 * ========================================================== */
.am { --am-hole: var(--paper); }
.kf .am p { margin: 0 0 1em; }
.am-h2 { font-family: var(--f-head); font-size: clamp(1.6rem, 3.6vw, 2.5rem); line-height: 1.45; letter-spacing: .06em; }
.am-kicker { display: flex; align-items: center; gap: 14px; font-family: var(--f-label); font-size: .82rem; letter-spacing: .32em; color: var(--green); }
.am-kicker::after { content: ""; flex: 1; max-width: 120px; height: 1px; background: currentColor; }
.am-head { text-align: center; margin-bottom: clamp(36px, 5vw, 60px); }
.am-head__en { font-family: var(--f-en); font-size: clamp(3.6rem, 10vw, 7.4rem); line-height: .9; letter-spacing: .04em; color: var(--green); margin: 0 0 10px !important; }
.am-head .am-h2 { display: flex; align-items: center; justify-content: center; gap: 18px; }
.am-head .am-h2::before, .am-head .am-h2::after { content: "★"; font-size: .5em; color: var(--orange); }
.am-head__lead { margin-top: 12px !important; }
.am-head--light .am-head__en { color: var(--cream); }
.am-head--light .am-h2 { color: #fff; }
.am-head--light .am-h2::before, .am-head--light .am-h2::after { color: var(--lime); }

/* HERO */
.am-hero { position: relative; background: var(--green); color: #fff; padding-top: var(--hd-h); overflow: hidden; }
.am-hero::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, #0000 0 3px, #ffffff06 3px 4px); pointer-events: none; }
.am-hero__strip { display: flex; justify-content: space-between; gap: 16px; margin: 0 !important; padding: 10px clamp(14px, 3vw, 36px); border-bottom: 1px solid #fff3; font-family: var(--f-label); font-size: .74rem; letter-spacing: .3em; color: #fffc; white-space: nowrap; overflow: hidden; }
.am-hero__in { position: relative; max-width: 1280px; margin: 0 auto; padding: clamp(40px, 6vw, 80px) var(--gut) clamp(48px, 6vw, 80px); display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(30px, 5vw, 70px); align-items: center; }
.am-hero__name { display: inline-flex; flex-direction: column; font-family: var(--f-body); font-size: .82rem; letter-spacing: .2em; font-weight: 500 !important; color: #fffd; border-left: 3px solid var(--lime); padding-left: 14px; margin-bottom: 22px !important; }
.am-hero__name b { font-family: var(--f-head); font-size: 1.5rem; letter-spacing: .16em; color: #fff; }
.am-hero__en { font-family: var(--f-en); font-size: clamp(4rem, 8.2vw, 7.4rem); line-height: .86; letter-spacing: .02em; color: var(--cream); margin: 0 0 22px !important; }
.am-hero__en em { font-style: normal; font-family: var(--f-pop); color: var(--lime); font-size: 1.08em; }
.am-hero__catch { font-family: var(--f-head); font-weight: 700; font-size: clamp(1.5rem, 3.2vw, 2.3rem); line-height: 1.45; letter-spacing: .08em; padding: 14px 0; border-block: 3px double #fff8; margin-bottom: 20px !important; }
.am-hero__lead { max-width: 34em; color: #fffe; font-size: .95rem; }
.am-hero__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.am-hero__pics { position: relative; }
.am-hero__arch { aspect-ratio: 4 / 5; border-radius: 999px 999px 4px 4px; overflow: hidden; border: 3px solid var(--cream); outline: 1px solid var(--cream); outline-offset: 8px; margin: 10px; }
.am-hero__arch img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.02); }
.am-hero__sub { position: absolute; left: -8%; bottom: 6%; width: 38%; background: var(--paper); padding: 8px 8px 0; color: var(--ink); }
.am-hero__sub img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.am-hero__sub figcaption { font-family: var(--f-label); font-size: .72rem; letter-spacing: .3em; text-align: center; padding: 6px 0; }
.am-seal { position: absolute; right: -2%; top: 4%; width: clamp(120px, 15vw, 170px); aspect-ratio: 1; border-radius: 50%; background: var(--orange); color: #fff; display: grid; place-items: center; text-align: center; box-shadow: 0 0 0 4px var(--green), 0 0 0 5px #fff8; }
.am-seal svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: kf-spin 24s linear infinite; }
.am-seal text { font-family: var(--f-label); font-size: 15px; letter-spacing: 3px; fill: #fff; }
.kf .am-seal p { margin: 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(.8rem, 1.3vw, .98rem); line-height: 1.35; }
.am-seal b { display: block; font-family: var(--f-en); font-weight: 400; font-size: 1.8em; line-height: 1; letter-spacing: .04em; color: var(--lime); }
.am-hero__facts { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #fff3; background: var(--green-d); }
.am-hero__facts li { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 16px 12px; font-weight: 700; font-size: .92rem; letter-spacing: .08em; }
.am-hero__facts li + li { border-left: 1px solid #fff3; }
.am-hero__facts b { font-family: var(--f-en); font-weight: 400; font-size: 1.7rem; color: var(--lime); line-height: 1; }
@media (max-width: 860px) {
  .am-hero__in { grid-template-columns: 1fr; }
  .am-hero__pics { max-width: 440px; margin: 0 auto; width: 88%; }
  .am-hero__strip span:nth-child(odd) { display: none; }
  .am-hero__strip { justify-content: center; }
}
@media (max-width: 560px) {
  .am-hero__facts { grid-template-columns: 1fr; }
  .am-hero__facts li { justify-content: flex-start; padding: 12px var(--gut); }
  .am-hero__facts li + li { border-left: 0; border-top: 1px solid #fff2; }
  .am-hero__btns .kf-btn { flex: 1 1 100%; }
}

/* I am a FARMER */
.am-farmer { text-align: center; padding: clamp(70px, 9vw, 120px) var(--gut); color: var(--ink); background: var(--paper); border-bottom: var(--rule); }
.kf .am-farmer p { margin: 0; }
.am-farmer__a { font-family: "Caveat Brush", cursive; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1; transform: rotate(-3deg); }
.am-farmer__big { font-family: var(--f-pop); font-size: clamp(4.4rem, 15vw, 10.5rem); line-height: .9; letter-spacing: .04em; transform: rotate(-2deg); margin: 4px 0 14px !important; color: var(--green-d); }
.am-farmer__line { display: flex; align-items: center; justify-content: center; gap: 14px; font-family: var(--f-en); font-size: clamp(1.3rem, 3vw, 1.9rem); letter-spacing: .32em; }
.am-farmer__line::before, .am-farmer__line::after { content: ""; width: clamp(36px, 10vw, 120px); height: 9px; border-block: 3px solid currentColor; }
.am-farmer__line span { padding-left: .32em; }
.am-farmer__line--thin { font-size: clamp(.9rem, 2vw, 1.2rem); letter-spacing: .3em; }
.am-farmer__line--thin::before, .am-farmer__line--thin::after { height: 0; border-block-width: 2px 0; }
.am-farmer__mid { display: flex; align-items: center; justify-content: center; gap: clamp(22px, 5vw, 52px); font-family: var(--f-en); font-size: clamp(.95rem, 2vw, 1.15rem); letter-spacing: .25em; margin: 12px 0 10px !important; }
.am-farmer__mid svg { width: clamp(56px, 9vw, 76px); fill: var(--green-d); }

/* OUR STORY */
.am-story { padding: clamp(80px, 10vw, 140px) 0; background: var(--cream); }
.am-story__in { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.am-story__pics { position: relative; padding-bottom: 18%; }
.am-photo { background: #fff; padding: 12px 12px 0; border: var(--rule); }
.am-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: sepia(.25) saturate(.8); }
.am-photo figcaption { font-family: var(--f-head); font-size: .85rem; padding: 8px 0 10px; text-align: center; letter-spacing: .1em; }
.am-photo--main { width: 82%; }
.am-photo--sub { position: absolute; right: 0; bottom: 0; width: 52%; }
.am-photo--sub img { aspect-ratio: 1; }
.am-story__body .am-h2 { margin: 14px 0 26px; }
.am-drop::first-letter { float: left; font-family: var(--f-head); font-size: 3.4em; line-height: 1; margin: 4px 10px 0 0; color: var(--green); }
.am-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 3px double var(--ink); margin: 30px 0 34px !important; }
.am-steps li { padding: 14px 8px; text-align: center; font-family: var(--f-head); font-weight: 700; font-size: .98rem; }
.am-steps li + li { border-left: var(--rule); }
.am-steps b { display: block; font-family: var(--f-label); font-weight: 500; font-size: .68rem; letter-spacing: .22em; color: var(--orange-d); }
@media (max-width: 860px) { .am-story__in { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .am-steps { grid-template-columns: repeat(2, 1fr); } .am-steps li:nth-child(3) { border-left: 0; } .am-steps li:nth-child(n+3) { border-top: var(--rule); } }

/* THE VARIETIES */
.am-var { padding: clamp(80px, 10vw, 140px) 0; background: var(--green-d); color: #fff; }
.am-var__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 28px); margin-bottom: clamp(50px, 7vw, 80px); }
.am-pack { background: var(--paper); color: var(--ink); padding: 0 0 20px; display: flex; flex-direction: column; position: relative; outline: 1px solid #fff4; outline-offset: 6px; }
.am-pack__top { display: flex; justify-content: space-between; margin: 0 !important; padding: 8px 14px; background: var(--green); color: #fff; font-family: var(--f-label); font-size: .72rem; letter-spacing: .24em; }
.am-pack--pione .am-pack__top { background: var(--grape); }
.am-pack--queen .am-pack__top { background: var(--orange-d); }
.am-pack--seto .am-pack__top { background: #8a8a5c; }
.am-pack__pic { margin: 14px 14px 0; border: 1px solid #26281f55; padding: 5px; }
.am-pack__pic img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.am-pack__en { margin: 16px 16px 0 !important; font-family: var(--f-en); font-size: 1.9rem; line-height: 1; letter-spacing: .04em; color: var(--green); }
.am-pack__name { margin: 2px 16px 0 !important; font-family: var(--f-head); font-size: 1.2rem; }
.am-pack__season { display: flex; align-items: center; gap: 10px; margin: 12px 16px !important; padding: 6px 0; border-block: var(--rule); font-weight: 700; font-size: .9rem; }
.am-pack__season span { font-family: var(--f-label); font-weight: 500; font-size: .66rem; letter-spacing: .22em; color: var(--orange-d); }
.am-pack__txt { margin: 0 16px !important; font-size: .88rem; line-height: 1.8; }
@media (max-width: 1000px) { .am-var__grid { grid-template-columns: repeat(2, 1fr); gap: 28px; } }
@media (max-width: 520px) { .am-var__grid { grid-template-columns: 1fr; } }

.am-cal { border: 1px solid #fff4; padding: clamp(22px, 3vw, 36px); margin-bottom: 40px; }
.am-cal__ttl { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; font-family: var(--f-head); font-weight: 700; font-size: 1.3rem; }
.am-cal__ttl span { font-family: var(--f-en); font-weight: 400; font-size: 1.8rem; letter-spacing: .06em; color: var(--lime); }
.am-cal__ttl small { font-family: var(--f-body); font-size: .78rem; color: #fffb; font-weight: 500; }
.am-cal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 0; background: linear-gradient(90deg, #fff3 1px, transparent 1px) 0 0 / calc(100% / 3) 100%; padding-top: 4px; }
.am-cal__m { font-family: var(--f-label); letter-spacing: .2em; font-size: .85rem; padding: 0 10px 8px; border-bottom: 1px solid #fff4; }
.am-cal__bar { grid-column: 1 / -1; margin-left: calc((var(--s) - 1) / 6 * 100%); width: calc((var(--e) - var(--s)) / 6 * 100%); display: flex; align-items: center; height: 34px; background: var(--cream); color: var(--ink); padding: 0 12px; font-size: .85rem; font-weight: 700; white-space: nowrap; border-left: 4px solid var(--orange); }
.am-cal__bar b { font-weight: inherit; }
@media (max-width: 760px) {
  .am-cal__bar { height: 14px; padding: 0; position: relative; margin-top: 20px; }
  .am-cal__bar b { position: absolute; left: 0; bottom: calc(100% + 3px); color: #fff; font-size: .8rem; line-height: 1.2; }
}
.am-cal__note { margin: 16px 0 0 !important; font-size: .82rem; color: #fffb; }

/* FARM STAND */
.am-stand { position: relative; padding: clamp(110px, 12vw, 160px) 0 clamp(80px, 10vw, 130px); background: var(--paper); }
.am-stand__awning { position: absolute; top: 0; left: 0; right: 0; height: 60px; background: repeating-linear-gradient(90deg, var(--green) 0 50px, var(--cream) 50px 100px); }
.am-stand__awning::after { content: ""; position: absolute; left: 0; right: 0; bottom: -24px; height: 24px; background: radial-gradient(circle at 25px 0, var(--green) 25px, transparent 26px) 0 0 / 100px 24px, radial-gradient(circle at 75px 0, var(--cream) 25px, transparent 26px) 0 0 / 100px 24px; }
.am-stand .am-head__en { color: var(--orange); }
.am-tags { gap: 30px; }
.am .am-tags .kf-tag { --rot: 0deg; border: 2px solid var(--ink); border-radius: 2px; background: #fff; box-shadow: none; }
.am .am-tags .kf-tag::before { display: none; }
.am .am-tags .kf-tag__pic { border-bottom: 2px solid var(--ink); }
.am .am-tags .kf-tag__body { border-top: 6px solid var(--green); }
.am .am-tags .kf-tag__ttl { font-family: var(--f-head); font-weight: 700; }
.am .am-tags .kf-tag__price { border-top: 3px double var(--ink); padding-top: 8px; }
.am .am-tags .kf-tag__price b { font-family: var(--f-en); color: var(--orange-d); font-size: 2.6rem; }
.am .am-tags .kf-stock { border-radius: 2px; box-shadow: none; font-family: var(--f-body); }

/* FIELD NOTES */
.am-notes { padding: clamp(80px, 10vw, 130px) 0; background: var(--cream); }
.am-notes__in { display: grid; grid-template-columns: 300px 1fr; gap: clamp(30px, 6vw, 80px); align-items: start; }
.am-head--left { text-align: left; margin: 0; }
.am-head--left .am-h2 { justify-content: flex-start; margin-bottom: 26px; }
.am-head--left .am-h2::before { display: none; }
.am-notes__list { border-top: 3px double var(--ink); }
.am-notes__list li { border-bottom: var(--rule); }
.am-notes__list a { display: grid; grid-template-columns: 90px 96px 1fr 30px; gap: 22px; align-items: center; padding: 18px 6px; text-decoration: none; transition: background .2s; }
.am-notes__list a:hover { background: #fff6; }
.am-notes__list time { display: flex; flex-direction: column; font-family: var(--f-label); font-size: .74rem; letter-spacing: .2em; color: var(--green); line-height: 1.3; }
.am-notes__list time b { font-family: var(--f-en); font-weight: 400; font-size: 2rem; letter-spacing: .04em; color: var(--ink); }
.am-notes__pic { aspect-ratio: 4 / 3; background: center / cover var(--lime-l); filter: sepia(.2) saturate(.85); }
.am-notes__ttl { font-family: var(--f-head); font-weight: 700; font-size: 1.05rem; line-height: 1.6; }
.am-notes__list i { width: 30px; height: 30px; border: 1px solid var(--ink); border-radius: 50%; position: relative; }
.am-notes__list i::after { content: ""; position: absolute; inset: 0; margin: auto; width: 7px; height: 7px; border: solid var(--ink); border-width: 1.5px 1.5px 0 0; transform: translateX(-1px) rotate(45deg); }
.am-notes__list a:hover i { background: var(--ink); }
.am-notes__list a:hover i::after { border-color: #fff; }
@media (max-width: 860px) { .am-notes__in { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .am-notes__list a { grid-template-columns: 78px 1fr; gap: 6px 14px; }
  .am-notes__pic { grid-row: span 2; order: -1; }
  .am-notes__list time { flex-direction: row; align-items: baseline; gap: 8px; }
  .am-notes__list time b { font-size: 1.3rem; }
  .am-notes__ttl { font-size: .95rem; }
  .am-notes__list i { display: none; }
}

/* VISIT THE FARM */
.am-visit { padding: clamp(80px, 10vw, 130px) 0; background: var(--green); }
.am-visit__in { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(24px, 4vw, 50px); align-items: stretch; }
.am-sign { position: relative; background: var(--paper); padding: clamp(30px, 4vw, 48px); border: 2px solid var(--ink); outline: 2px solid var(--paper); outline-offset: 6px; }
.am-sign::before, .am-sign::after { content: ""; position: absolute; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: var(--khaki-l); box-shadow: 0 calc(100% + 0px) 0 0 transparent; }
.am-sign::before { left: 12px; }
.am-sign::after { right: 12px; }
.am-sign__en { font-family: var(--f-en); font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1; color: var(--orange-d); letter-spacing: .04em; margin-bottom: 10px !important; }
.am-sign .am-h2 { font-size: clamp(1.4rem, 3vw, 2rem); margin-bottom: 18px; }
.am-sign__dl { display: grid; grid-template-columns: 6.5em 1fr; margin: 22px 0 0; border-top: 3px double var(--ink); }
.am-sign__dl dt, .am-sign__dl dd { padding: 10px 0; border-bottom: var(--rule); margin: 0; }
.am-sign__dl dt { font-family: var(--f-label); font-size: .74rem; letter-spacing: .22em; color: var(--green); padding-top: 13px; }
.am-sign__dl a { font-family: var(--f-en); font-size: 1.5rem; letter-spacing: .04em; text-decoration: none; }
.am-map { min-height: 380px; border: 2px solid var(--ink); outline: 2px solid var(--paper); outline-offset: 6px; }
.am-map iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; filter: sepia(.25) saturate(.8); }
@media (max-width: 860px) { .am-visit__in { grid-template-columns: 1fr; gap: 40px; } }

/* ==========================================================
 * 動き（10/29 少し派手に）。動きを減らす設定の人には出さない
 * ========================================================== */
.am > section, .am > div { overflow-x: clip; }
.am-ln { display: block; overflow: hidden; }
.am-ln > span { display: block; }
.am-hero__en em { display: block; }

/* 流れる帯 */
.am-marquee { background: var(--ink); color: var(--cream); overflow: hidden; border-block: 3px double var(--khaki-l); }
.am-marquee__row { display: flex; width: max-content; animation: am-marq 46s linear infinite; font-family: var(--f-en); font-size: clamp(1.3rem, 2.6vw, 1.9rem); letter-spacing: .1em; padding: 10px 0 8px; white-space: nowrap; }
.am-marquee__row span { padding-right: .5em; }
@keyframes am-marq { to { transform: translateX(-50%); } }

/* ヘッダー：下線がのびる・ショップボタンに光 */
body.kf-color-american .kf-gnav a:not(.is-shop) { position: relative; text-decoration: none !important; }
body.kf-color-american .kf-gnav a:not(.is-shop)::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 0; height: 2px; background: var(--orange); transform: scaleX(0); transform-origin: right; transition: transform .35s cubic-bezier(.7, 0, .2, 1); }
body.kf-color-american .kf-gnav a:not(.is-shop):hover::after, body.kf-color-american .kf-gnav a[aria-current]::after { transform: scaleX(1); transform-origin: left; }
body.kf-color-american :is(.kf-gnav a.is-shop, .kf-btn--orange) { position: relative; overflow: hidden; isolation: isolate; }
body.kf-color-american :is(.kf-gnav a.is-shop, .kf-btn--orange)::before { content: ""; position: absolute; top: -2px; bottom: -2px; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, #fff6, transparent); transform: skewX(-20deg); animation: am-sheen 4.5s ease-in-out infinite; z-index: -1; pointer-events: none; }
@keyframes am-sheen { 0%, 70% { left: -60%; } 100% { left: 130%; } }
/* ボタン：矢印が走る */
body.kf-color-american .kf-btn i { transition: transform .25s; }
body.kf-color-american .kf-btn:hover i { transform: translateX(5px) !important; }

@keyframes am-up { from { transform: translateY(105%); } }
@keyframes am-fade-up { from { opacity: 0; transform: translateY(24px); } }
@keyframes am-fade-down { from { opacity: 0; transform: translateY(-14px); } }
@keyframes am-stamp { 0% { opacity: 0; transform: scale(1.9) rotate(-10deg); filter: blur(6px); } 55% { opacity: 1; transform: scale(.93) rotate(1.5deg); filter: none; } 75% { transform: scale(1.03) rotate(-.5deg); } 100% { transform: none; } }
@keyframes am-stamp-r { 0% { opacity: 0; transform: scale(1.9) rotate(-10deg); filter: blur(6px); } 55% { opacity: 1; transform: scale(.93) rotate(-.5deg); filter: none; } 100% { transform: rotate(-2deg); } }
@keyframes am-arch { from { clip-path: inset(100% 0 0 0 round 999px 999px 4px 4px); } to { clip-path: inset(0 0 0 0 round 999px 999px 4px 4px); } }
@keyframes am-kb { from { transform: scale(1.25); } to { transform: scale(1); } }
@keyframes am-breathe { from { transform: scale(1); } to { transform: scale(1.07); } }
@keyframes am-drop { 0% { opacity: 0; transform: translateY(-60px) rotate(-14deg); } 60% { opacity: 1; transform: translateY(6px) rotate(-4deg); } 100% { transform: rotate(-4deg); } }
@keyframes am-drive { 0% { transform: translateX(-46vw); } 85% { transform: translateX(8px); } 100% { transform: none; } }
@keyframes am-bump { 50% { transform: translateY(-2px) rotate(-1.5deg); } }
@keyframes am-develop { 0% { filter: sepia(1) brightness(1.9) contrast(.5) blur(4px); } 100% { filter: sepia(.25) saturate(.8); } }
@keyframes am-track { from { opacity: 0; letter-spacing: .5em; filter: blur(4px); } to { opacity: 1; } }
@keyframes am-swing { 0% { opacity: 0; transform: rotate(-14deg) translateY(-30px); } 35% { opacity: 1; transform: rotate(6deg); } 60% { transform: rotate(-3deg); } 80% { transform: rotate(1.2deg); } 100% { opacity: 1; transform: none; } }
@keyframes am-flap { 50% { transform: scaleY(1.25); } }

@media (prefers-reduced-motion: no-preference) {
  /* 開いた瞬間：上の帯→英字が下から→FARMがスタンプ→アーチの写真が下からひらく→小さい写真が落ちてくる→シール */
  .am-hero__strip span { animation: am-fade-down .6s .1s both; }
  .am-hero__strip span:nth-child(2) { animation-delay: .2s; }
  .am-hero__strip span:nth-child(3) { animation-delay: .3s; }
  .am-hero__name { animation: am-fade-up .7s .15s both; }
  .am-ln > span { animation: am-up 1s cubic-bezier(.2, .8, .2, 1) .25s both; }
  .am-ln + .am-ln > span { animation-delay: .4s; }
  .am-hero__en em { animation: am-stamp .9s cubic-bezier(.3, .7, .3, 1) .75s both; }
  .am-hero__catch { animation: am-fade-up .8s 1s both; }
  .am-hero__lead { animation: am-fade-up .8s 1.1s both; }
  .am-hero__btns { animation: am-fade-up .8s 1.2s both; }
  .am-hero__arch { animation: am-arch 1.3s cubic-bezier(.7, 0, .2, 1) .3s both; }
  .am-hero__arch img { animation: am-kb 2.6s cubic-bezier(.2, .7, .2, 1) .3s both, am-breathe 14s ease-in-out 3s infinite alternate; }
  .am-hero__sub { animation: am-drop 1s cubic-bezier(.3, .7, .3, 1) 1.1s both; }
  .am-seal { animation: am-stamp .9s cubic-bezier(.3, .7, .3, 1) 1.45s both; }
  .am-hero__facts li { animation: am-fade-up .6s 1.5s both; }
  .am-hero__facts li:nth-child(2) { animation-delay: 1.62s; }
  .am-hero__facts li:nth-child(3) { animation-delay: 1.74s; }
  .am-hero__facts b { display: inline-block; transition: transform .3s; }
  .am-hero__facts li:hover b { transform: scale(1.25) rotate(-8deg); }
  .am-seal:hover svg { animation-duration: 4s; }

  /* 画面に入ったら下から */
  .kf-js .am .kf-in { transform: translateY(40px); transition: opacity .8s, transform .9s cubic-bezier(.2, .8, .2, 1); }
  .kf-js .am .kf-in.is-in { transform: none; }

  /* 見出しの大きい英字：字間がぎゅっと詰まって出る */
  .kf-js .am-head:not(.is-in) .am-head__en { opacity: 0; }
  .am-head.is-in .am-head__en { animation: am-track 1.2s cubic-bezier(.2, .8, .2, 1) both; }

  /* I am a FARMER：スタンプ・線がのびる・トラクターが走ってくる */
  .kf-js .am .am-farmer.kf-in { opacity: 1; transform: none; }
  .kf-js .am-farmer:not(.is-in) :is(.am-farmer__a, .am-farmer__big, .am-farmer__line span, .am-farmer__mid > span:not(.am-farmer__tractor)) { opacity: 0; }
  .kf-js .am-farmer:not(.is-in) .am-farmer__tractor { transform: translateX(-46vw); }
  .am-farmer.is-in .am-farmer__a { animation: am-fade-up .7s both; }
  .am-farmer.is-in .am-farmer__big { animation: am-stamp-r 1s cubic-bezier(.3, .7, .3, 1) .2s both; }
  .am-farmer__line::before, .am-farmer__line::after { transition: transform 1s cubic-bezier(.7, 0, .2, 1) .6s; }
  .am-farmer__line::before { transform-origin: right; }
  .am-farmer__line::after { transform-origin: left; }
  .kf-js .am-farmer:not(.is-in) .am-farmer__line::before, .kf-js .am-farmer:not(.is-in) .am-farmer__line::after { transform: scaleX(0); }
  .am-farmer.is-in .am-farmer__line span { animation: am-track 1s .6s both; }
  .am-farmer__tractor { display: inline-block; }
  .am-farmer.is-in .am-farmer__tractor { animation: am-drive 2s cubic-bezier(.2, .7, .2, 1) .9s both; }
  .am-farmer__tractor svg { display: block; animation: am-bump .35s linear infinite; }
  .am-farmer.is-in .am-farmer__mid > span:not(.am-farmer__tractor) { animation: am-fade-up .6s 1.9s both; }

  /* OUR STORY：写真が現像されるみたいに出る・少し傾けて置く */
  .am-story__pics.is-in .am-photo img { animation: am-develop 2.4s ease-out .2s both; }
  .am-story__pics.is-in .am-photo--sub img { animation-delay: .7s; }
  .am-photo { transition: rotate .4s, translate .4s; }
  .am-photo--main { rotate: -1.5deg; }
  .am-photo--sub { rotate: 3deg; }
  .am-photo:hover { rotate: 0deg; translate: 0 -6px; }
  .kf-js .am .am-steps.kf-in { opacity: 1; transform: none; }
  .kf-js .am-steps:not(.is-in) li { opacity: 0; transform: translateY(20px); }
  .am-steps li { transition: opacity .5s, transform .6s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(.15s + var(--i) * .14s); }

  /* 4つのぶどう：種の袋が1枚ずつ起き上がる。のせると持ち上がる */
  .kf-js .am .am-pack.kf-in { transform: perspective(900px) rotateX(-75deg) translateY(30px); transform-origin: 50% 0; transition: opacity .7s, transform 1s cubic-bezier(.2, .9, .3, 1.15), translate .3s, rotate .3s; transition-delay: calc(var(--i) * .13s), calc(var(--i) * .13s), 0s, 0s; }
  .kf-js .am .am-pack.kf-in.is-in { transform: none; }
  .am-pack:hover { translate: 0 -10px; rotate: -1.2deg; }
  .am-pack:nth-child(even):hover { rotate: 1.2deg; }
  .am-pack__pic { overflow: hidden; }
  .am-pack__pic img { transition: transform .6s; }
  .am-pack:hover .am-pack__pic img { transform: scale(1.08); }
  /* 収穫カレンダー：棒が左からのびる */
  .kf-js .am .am-cal__bar.kf-in { opacity: 1; transform: scaleX(0); transform-origin: left; transition: transform 1.1s cubic-bezier(.7, 0, .2, 1); }
  .kf-js .am .am-cal__bar.kf-in.is-in { transform: none; }
  .kf-js .am .am-cal__bar:nth-of-type(5) { transition-delay: .15s; }
  .kf-js .am .am-cal__bar:nth-of-type(6) { transition-delay: .3s; }
  .kf-js .am .am-cal__bar:nth-of-type(7) { transition-delay: .45s; }

  /* FARM STAND：テントのすそがゆれる・値札が順に上がる。のせると影が出る */
  .am-stand__awning::after { animation: am-flap 3.2s ease-in-out infinite; transform-origin: top; }
  .kf-js .am .am-tags .kf-in--pop { transform: translateY(60px); transition: opacity .7s, transform .9s cubic-bezier(.2, .9, .3, 1.15), translate .25s, box-shadow .25s; }
  .kf-js .am .am-tags .kf-in--pop.is-in { transform: none; }
  .kf-js .am .am-tags .kf-in--pop:nth-child(3n+2) { transition-delay: .12s, .12s, 0s, 0s; }
  .kf-js .am .am-tags .kf-in--pop:nth-child(3n) { transition-delay: .24s, .24s, 0s, 0s; }
  .am .am-tags .kf-tag:hover { translate: -4px -6px; box-shadow: 8px 10px 0 var(--green) !important; }

  /* FIELD NOTES：右から順に。のせると帯がのびる */
  .kf-js .am .am-notes__list .kf-in { transform: translateX(60px); transition-delay: calc(var(--i) * .1s); }
  .kf-js .am .am-notes__list .kf-in.is-in { transform: none; }
  .am-notes__list a { position: relative; isolation: isolate; }
  .am-notes__list a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--lime-l); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.7, 0, .2, 1); }
  .am-notes__list a:hover::before { transform: scaleX(1); }
  .am-notes__list a:hover { background: none; }
  .am-notes__list i { transition: transform .3s, background .2s; }
  .am-notes__list a:hover i { transform: translateX(6px); }
  .am-notes__pic { transition: filter .4s; }
  .am-notes__list a:hover .am-notes__pic { filter: none; }

  /* VISIT THE FARM：看板がぶら下がってゆれる */
  .kf-js .am .am-sign.kf-in { transform: rotate(-14deg) translateY(-30px); transform-origin: 50% -40px; }
  .kf-js .am .am-sign.kf-in.is-in { animation: am-swing 1.8s cubic-bezier(.3, .6, .3, 1) both; }
  .kf-js .am .am-map.kf-in { transform: translateX(60px); transition-delay: .3s; }
  .kf-js .am .am-map.kf-in.is-in { transform: none; }
}
@media (prefers-reduced-motion: reduce) { .am-seal svg, .am-marquee__row, .am-farmer__tractor svg { animation: none; } }
@media (max-width: 560px) { .am-head .am-h2 { font-size: 1.45rem; gap: 10px; } .am-head:not(.am-head--left) .am-h2::before, .am-head:not(.am-head--left) .am-h2::after { display: none; } }

/* ==========================================================
 * 下層ページ（10/29 アメリカン版に作り直し）
 * 「河本農園とは」「ぶどうのこと」は専用テンプレート（kf/page-about-am.php・page-grape-am.php）。
 * ほかのページは前の版と同じHTMLのまま、ここで見た目だけ変える（body.kf-color-american＝アメリカン版のときだけ）
 * ========================================================== */

/* 上の帯 */
.am-sub { position: relative; background: var(--green); color: #fff; padding-top: var(--hd-h); overflow: hidden; }
.am-sub::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, #0000 0 3px, #ffffff06 3px 4px); pointer-events: none; }
.am-sub__in { position: relative; display: grid; grid-template-columns: 1fr; gap: clamp(24px, 5vw, 60px); align-items: center; padding-block: clamp(40px, 6vw, 72px); }
.am-sub.has-pic .am-sub__in { grid-template-columns: 1.3fr 1fr; }
.kf .am-sub p { margin: 0; }
.am-sub__en { font-family: var(--f-en); font-size: clamp(3.4rem, 9vw, 7rem); line-height: .9; letter-spacing: .03em; color: var(--cream); margin-bottom: 14px !important; word-break: break-word; }
.am-sub__ttl { display: block; font-family: var(--f-head); font-weight: 700; font-size: clamp(1.4rem, 3.4vw, 2.2rem); line-height: 1.5; letter-spacing: .08em; padding: 12px 0; border-block: 3px double #fff8; max-width: 26em; }
.am-sub__lead { margin-top: 16px !important; color: #fffd; font-weight: 500; }
.am-sub__pic { justify-self: end; width: min(100%, 360px); aspect-ratio: 4 / 5; border-radius: 999px 999px 4px 4px; overflow: hidden; border: 3px solid var(--cream); outline: 1px solid var(--cream); outline-offset: 7px; margin: 8px; }
.am-sub__pic img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); }
.am-crumb { position: relative; background: var(--green-d); border-top: 1px solid #fff3; font-family: var(--f-label); font-size: .78rem; letter-spacing: .16em; }
.am-crumb .kf-wrap { display: flex; flex-wrap: wrap; gap: 4px 12px; padding-block: 10px; }
.am-crumb a { text-decoration: none; color: #fffc; }
.am-crumb a:hover { color: var(--lime); }
.am-crumb a::after { content: "★"; margin-left: 12px; font-size: .7em; color: var(--lime); vertical-align: 1px; }
.am-crumb [aria-current] { color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60vw; }
@media (max-width: 760px) {
  .am-sub.has-pic .am-sub__in { grid-template-columns: 1fr; }
  .am-sub__pic { justify-self: center; width: 64%; aspect-ratio: 1; }
}

/* 共通：セクション・見出し・本文 */
body.kf-color-american .kf-page .kf-sec { padding: clamp(64px, 9vw, 120px) 0; }
body.kf-color-american .kf-sec--paper, body.kf-color-american .kf-guide { background: var(--cream); border-top: 0; }
body.kf-color-american .kf-h2 { font-family: var(--f-head); font-weight: 700; letter-spacing: .06em; }
body.kf-color-american .kf-h2 > span:not(.kf-ch) { display: block; font-family: var(--f-en); font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1; letter-spacing: .04em; color: var(--green); margin-bottom: 8px; }
body.kf-color-american .kf-prose h2 { background: var(--green); color: #fff; border: 0; border-radius: 0; box-shadow: none; padding: 10px 18px; border-left: 8px solid var(--orange); font-weight: 700; }
body.kf-color-american .kf-prose h3 { border-left: 0; padding: 0 0 6px; border-bottom: 3px double var(--ink); font-weight: 700; }
body.kf-color-american .kf-prose a { color: var(--orange-d); }
body.kf-color-american .kf-prose img { border-radius: 0; border: 1px solid #26281f33; padding: 6px; background: #fff; }
body.kf-color-american .kf-prose table { border: 2px solid var(--ink); }
body.kf-color-american .kf-prose th, body.kf-color-american .kf-prose td { border: 0; border-bottom: 1px solid #26281f33; }
body.kf-color-american .kf-prose th { background: var(--cream); font-weight: 700; }
body.kf-color-american .kf-prose blockquote { border-radius: 0; border: 0; border-left: 4px solid var(--green); background: var(--cream); }
body.kf-color-american :is(.kf-prose, .kf-f) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) { border: 2px solid var(--ink); border-radius: 2px; box-shadow: none; background: #fff; }
body.kf-color-american :is(.kf-prose, .kf-f) :is(input, select, textarea):focus { border-color: var(--green); box-shadow: 0 0 0 4px #6b725933; }
body.kf-color-american .kf-prose :is(input[type="submit"], button[type="submit"], .wpcf7-submit) { border-radius: 2px; box-shadow: inset 0 0 0 3px var(--orange), inset 0 0 0 4px #fff8; border: 2px solid var(--ink); font-family: var(--f-body); font-weight: 700; letter-spacing: .14em; transition: filter .2s; }
body.kf-color-american .kf-prose :is(input[type="submit"], button[type="submit"]):hover { transform: none; filter: brightness(1.08); }
body.kf-color-american :is(.kf-prose, .kf-f) input:is([type="radio"], [type="checkbox"]) { accent-color: var(--green); }
body.kf-color-american .kf-alert { border-radius: 2px; border: 2px solid var(--orange-d); background: var(--orange-l); }
body.kf-color-american .kf-empty { font-family: var(--f-head); }
body.kf-color-american .kf-stock { border-radius: 2px; border: 1px solid var(--ink); font-family: var(--f-body); }
body.kf-color-american .kf-stock--in { background: var(--green); color: #fff; }
body.kf-color-american .kf-stock--reserve { background: var(--orange); }
body.kf-color-american .kf-map { border: 2px solid var(--ink); border-radius: 0; box-shadow: none; outline: 2px solid var(--paper); outline-offset: 6px; --rot: 0deg; }

/* 画面に入ったら：まっすぐ下から（前の版の回転・ポンはやめる） */
@media (prefers-reduced-motion: no-preference) {
  .kf-js body.kf-color-american .kf-in, .kf-js body.kf-color-american .kf-in--left, .kf-js body.kf-color-american .kf-in--right, .kf-js body.kf-color-american .kf-in--pop { --rot: 0deg; transform: translateY(40px); transition: opacity .8s, transform .9s cubic-bezier(.2, .8, .2, 1), translate .3s, box-shadow .3s; }
  .kf-js body.kf-color-american .kf-in.is-in { transform: none; }
}

/* 電話の箱（お問い合わせ） */
body.kf-color-american .kf-telbox { background: var(--green); border: 2px solid var(--ink); border-radius: 0; box-shadow: none; outline: 2px solid var(--green); outline-offset: 6px; --rot: 0deg; padding: 28px 24px; }
body.kf-color-american .kf-telbox__ttl { font-weight: 700; letter-spacing: .1em; }
body.kf-color-american .kf-telbox__num { -webkit-text-stroke: 0; color: var(--lime) !important; font-size: clamp(2.6rem, 8vw, 3.8rem); letter-spacing: .04em; }

/* 値札カード（ショップ一覧・商品ページの「ほかの商品」・トップ） */
body.kf-color-american .kf-tag { --rot: 0deg; border: 2px solid var(--ink); border-radius: 2px !important; background: #fff !important; box-shadow: none; }
body.kf-color-american .kf-tag::before { display: none; }
body.kf-color-american .kf-tag__pic { border-bottom: 2px solid var(--ink); }
body.kf-color-american .kf-tag__body { border-top: 6px solid var(--green); }
body.kf-color-american .kf-tag__ttl { font-family: var(--f-head); font-weight: 700; }
body.kf-color-american .kf-tag__price { border-top: 3px double var(--ink); padding-top: 8px; }
body.kf-color-american .kf-tag__price b { font-family: var(--f-en); color: var(--orange-d); font-size: 2.6rem; }
body.kf-color-american .kf-tag:hover { translate: -4px -6px; box-shadow: 8px 10px 0 var(--green) !important; }

/* ご注文のまえに */
body.kf-color-american .kf-guide__grid { gap: 0; border-top: 3px double var(--ink); border-bottom: 3px double var(--ink); counter-reset: am-g; }
body.kf-color-american .kf-guide__box { --rot: 0deg; background: none; border: 0; border-radius: 0; padding: 26px 24px 16px; counter-increment: am-g; }
body.kf-color-american .kf-guide__box + .kf-guide__box { border-left: 1px solid #26281f33; }
body.kf-color-american .kf-guide__box h3, body.kf-color-american .kf-guide__box:nth-child(even) h3 { display: block; background: none; color: var(--ink); padding: 0; border-radius: 0; font-weight: 700; }
body.kf-color-american .kf-guide__box h3::before { content: "0" counter(am-g); display: block; font-family: var(--f-en); font-weight: 400; font-size: 2.2rem; line-height: 1; color: var(--orange); margin-bottom: 4px; }
body.kf-color-american .kf-guide__ex { background: #fff; border: 1px dashed var(--ink); border-radius: 0; }
body.kf-color-american .kf-guide__links a { color: var(--green); }
@media (max-width: 1100px) { body.kf-color-american .kf-guide__box + .kf-guide__box { border-left: 0; border-top: 1px solid #26281f33; } }

/* 商品ページ */
body.kf-color-american .kf-item__main { border: 2px solid var(--ink); border-radius: 0; box-shadow: none; outline: 2px solid var(--paper); outline-offset: -10px; }
body.kf-color-american .kf-thumb { border-radius: 0; border: 2px solid var(--ink); }
body.kf-color-american .kf-thumb.is-active, body.kf-color-american .kf-thumb:hover { transform: none; outline: 3px solid var(--orange); outline-offset: 2px; }
body.kf-color-american .kf-item__kind { border-radius: 2px; background: var(--green); color: #fff; border: 0; font-family: var(--f-label); letter-spacing: .16em; padding: 2px 12px; }
body.kf-color-american .kf-item__ttl { font-weight: 700; letter-spacing: .06em; padding-bottom: 12px !important; border-bottom: 3px double var(--ink); }
body.kf-color-american .kf-item__price b { font-size: 3.6rem; }
body.kf-color-american .kf-item__note { border-radius: 0; border-left: 4px solid var(--green); }
body.kf-color-american .kf-item__buy { background: var(--cream); border: 2px solid var(--ink); border-radius: 0; outline: 2px solid var(--cream); outline-offset: 5px; }
body.kf-color-american .kf-item__guide li::before { content: "★ "; color: var(--orange); }
body.kf-color-american .kf-qty { border: 2px solid var(--ink); border-radius: 2px; }
body.kf-color-american .kf-qty__btn:hover { background: var(--cream); }

/* カート（右から出る）・入れた時の箱 */
body.kf-color-american .kf-cart__panel { border-left: 3px double var(--ink); }
body.kf-color-american .kf-cart__head { background: var(--green); color: #fff; border-bottom: 2px solid var(--ink); }
body.kf-color-american .kf-cart__ttl span { color: var(--lime); }
body.kf-color-american .kf-cart__close { border-radius: 2px; border: 2px solid var(--ink); }
body.kf-color-american .kf-cart__sum dd { font-size: 2rem; }
body.kf-color-american :is(.kf-line, .kf-line__fig, .kf-added__item, .kf-added__img) { border-radius: 0; }
body.kf-color-american .kf-line { border: 1px solid #26281f55; }
body.kf-color-american .kf-added__box { border-radius: 0; border: 2px solid var(--ink); box-shadow: none; outline: 2px solid var(--paper); outline-offset: 6px; transform: translate(-50%, -40%); }
body.kf-color-american .kf-added__ttl { font-weight: 700; }
body.kf-color-american .kf-cartbtn__count, body.kf-color-american .kf-hdcart__count, body.kf-color-american .kf-menu__cartn { border-radius: 2px; }

/* ご注文の手続き・完了 */
body.kf-color-american .kf-f__box { border: 2px solid var(--ink); border-radius: 0; }
body.kf-color-american .kf-f__box legend { font-weight: 700; }
body.kf-color-american .kf-f__box legend span { border-radius: 0; border: 0; background: var(--green); font-size: 1.2rem; }
body.kf-color-american .kf-f__row label em { border-radius: 2px; background: var(--orange-d); }
body.kf-color-american .kf-pay { border: 2px solid var(--ink); border-radius: 0; }
body.kf-color-american .kf-pay:has(input:checked) { background: var(--cream); box-shadow: inset 6px 0 0 var(--green); }
body.kf-color-american .kf-receipt { border: 2px solid var(--ink); border-radius: 0; box-shadow: none; }
body.kf-color-american .kf-receipt__ttl { font-weight: 700; border-bottom-style: double; }
body.kf-color-american .kf-receipt__grand { border-top-style: double; }
body.kf-color-american .kf-confirm__text, body.kf-color-american .kf-bank { border: 2px solid var(--ink); border-radius: 0; box-shadow: none; }
body.kf-color-american .kf-bank__acc { border-radius: 0; background: var(--cream); border-left: 4px solid var(--green); }
body.kf-color-american .kf-f__err { border-radius: 0; }

/* 農園日記：一覧のカード・右側・ページ送り・記事 */
body.kf-color-american .kf-cards { gap: 30px 24px; }
body.kf-color-american .kf-card { --rot: 0deg; border: 2px solid var(--ink); border-radius: 0; box-shadow: none; transition: translate .3s, box-shadow .3s; }
body.kf-color-american .kf-card:hover { transform: none; translate: -4px -6px; box-shadow: 8px 10px 0 var(--green); }
body.kf-color-american .kf-card__pic { border-bottom: 2px solid var(--ink); filter: sepia(.15) saturate(.9); transition: filter .4s; }
body.kf-color-american .kf-card:hover .kf-card__pic { filter: none; }
body.kf-color-american .kf-card__body { border-top: 4px solid var(--green); }
body.kf-color-american .kf-card__date { font-size: 1.15rem; letter-spacing: .06em; color: var(--green); }
body.kf-color-american .kf-card__ttl { font-weight: 700; }
body.kf-color-american .kf-side__box { border: 2px solid var(--ink); border-radius: 0; background: #fff; }
body.kf-color-american .kf-side__ttl { font-family: var(--f-head); font-weight: 700; border-bottom: 3px double var(--ink); }
body.kf-color-american .kf-side__ttl small { font-family: var(--f-en); color: var(--orange); letter-spacing: .1em; }
body.kf-color-american .kf-side__pic { border-radius: 0; }
body.kf-color-american .kf-side__arc summary { border-radius: 0; background: var(--cream); font-family: var(--f-en); font-weight: 400; font-size: 1.15rem; letter-spacing: .06em; }
body.kf-color-american .kf-side__arc summary:hover { background: var(--lime-l); }
body.kf-color-american .kf-side__arc summary span, body.kf-color-american .kf-side__arc li span { border-radius: 2px; }
body.kf-color-american .kf-side__arc li a { border-radius: 0; border-color: #26281f33; }
body.kf-color-american .kf .kf-side__all, body.kf-color-american.kf .kf-side__all { border-radius: 2px; background: var(--green); font-family: var(--f-body); font-weight: 700; letter-spacing: .12em; border: 2px solid var(--ink); }
body.kf-color-american .kf-pager .page-numbers { border-radius: 0; border: 2px solid var(--ink); font-family: var(--f-en); font-weight: 400; font-size: 1.15rem; background: #fff; }
body.kf-color-american .kf-pager .page-numbers.dots { border: 0; background: none; }
body.kf-color-american .kf-pager .page-numbers.current { transform: none; box-shadow: none; background: var(--green); border-color: var(--ink); }
body.kf-color-american .kf-pager a.page-numbers:hover { transform: none; background: var(--cream); border-color: var(--ink); color: var(--ink); }
body.kf-color-american .kf-pager .prev, body.kf-color-american .kf-pager .next { border-radius: 2px; font-family: var(--f-body); font-weight: 700; font-size: .9rem; letter-spacing: .1em; background: var(--ink); border-color: var(--ink); }
body.kf-color-american .kf-pager a.prev:hover, body.kf-color-american .kf-pager a.next:hover { background: var(--green); color: #fff; }
body.kf-color-american .kf-entry__head { padding-bottom: 18px; border-bottom: 3px double var(--ink); }
body.kf-color-american .kf-entry__date { transform: none; border-radius: 0; background: var(--green); color: #fff; font-size: 1.15rem; letter-spacing: .08em; padding: 2px 14px; }
body.kf-color-american .kf-entry__ttl { font-weight: 700; letter-spacing: .04em; }
body.kf-color-american .kf-entry__thumb img { border: 1px solid #26281f33; border-radius: 0; box-shadow: none; padding: 8px; background: #fff; }
body.kf-color-american .kf-entry__nav a { border: 2px solid var(--ink); border-radius: 0; background: #fff; transition: background .2s; }
body.kf-color-american .kf-entry__nav a:hover { background: var(--cream); }
body.kf-color-american .kf-entry__nav small { font-size: 1.05rem; color: var(--green); letter-spacing: .1em; }

/* 404 */
body.kf-color-american .kf-nf { background: var(--green); color: #fff; border-bottom: 0; }
body.kf-color-american .kf-nf__num { display: block; color: var(--cream); -webkit-text-stroke: 0; font-size: clamp(7rem, 26vw, 16rem); line-height: .9; margin-bottom: 6px; }
.kf .am-nf__en { font-family: var(--f-label); letter-spacing: .4em; color: var(--lime); margin-bottom: 30px; }
body.kf-color-american .kf-nf__ttl { font-weight: 700; letter-spacing: .06em; }

/* 河本農園とは：ごあいさつの署名・1年の仕事・あらまし */
.am-sign-name { margin-top: 26px !important; text-align: right; font-family: var(--f-head); font-weight: 700; }
.am-sign-name small { display: block; font-family: var(--f-label); font-weight: 500; font-size: .72rem; letter-spacing: .3em; color: var(--green); }
.am-sign-name b { font-family: "Caveat Brush", var(--f-head); font-size: 1.6rem; margin-left: 6px; }
.am-year { padding: clamp(80px, 10vw, 130px) 0; background: var(--green-d); color: #fff; }
.am-year__road { position: relative; height: 54px; margin-bottom: 10px; border-bottom: 3px double #fff8; }
.am-year__tractor { position: absolute; left: 0; bottom: 4px; width: 60px; }
.am-year__tractor svg { display: block; fill: var(--lime); }
.am-year { --am-hole: var(--green-d); }
.am-year__list { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 50px !important; }
.am-year__item { position: relative; padding: 30px 22px 10px; }
.am-year__item + .am-year__item { border-left: 1px solid #fff3; }
.am-year__item::before { content: ""; position: absolute; left: 22px; top: -17px; width: 14px; height: 14px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px var(--green-d); }
.kf .am-year__item p { margin: 0; }
.am-year__no { font-family: var(--f-en); font-size: 3.2rem; line-height: 1; color: var(--lime); }
.am-year__en { font-family: var(--f-label); font-size: .72rem; letter-spacing: .24em; color: #fffb; margin-top: 4px !important; }
.am-year__ja { font-family: var(--f-head); font-size: 1.5rem; margin: 8px 0 10px !important; }
.am-year__txt { font-size: .92rem; color: #fffe; }
@media (max-width: 900px) {
  .am-year__list { grid-template-columns: 1fr 1fr; }
  .am-year__item:nth-child(3) { border-left: 0; }
  .am-year__item:nth-child(n+3) { border-top: 1px solid #fff3; }
  .am-year__item:nth-child(n+3)::before { display: none; }
}
@media (max-width: 520px) {
  .am-year__list { grid-template-columns: 1fr; }
  .am-year__item + .am-year__item { border-left: 0; border-top: 1px solid #fff3; }
  .am-year__item:not(:first-child)::before { display: none; }
}
.am-profile { padding: clamp(80px, 10vw, 130px) 0; background: var(--paper); }
.am-profile__in { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(30px, 5vw, 60px); align-items: stretch; }
.am-ledger { display: grid; grid-template-columns: 8.5em 1fr; margin: 0; border-block: 3px double var(--ink); background: #fff; padding: 6px 22px; }
.am-ledger dt, .am-ledger dd { margin: 0; padding: 13px 0; border-bottom: 1px solid #26281f22; }
.am-ledger dt:last-of-type, .am-ledger dd:last-of-type { border-bottom: 0; }
.am-ledger dt { font-family: var(--f-label); font-size: .74rem; letter-spacing: .22em; color: var(--green); padding-top: 16px; }
.am-ledger dd small { display: block; font-size: .72rem; color: #26281f99; }
.am-ledger a { font-family: var(--f-en); font-size: 1.4rem; letter-spacing: .04em; text-decoration: none; }
.am-profile .am-map { min-height: 420px; }
@media (max-width: 860px) { .am-profile__in { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .am-ledger { grid-template-columns: 1fr; } .am-ledger dt { border-bottom: 0; padding-bottom: 0; } }

/* ぶどうのこと：もくじ・品種・食べ方 */
.am-index { background: var(--ink); color: var(--cream); border-bottom: 3px double var(--khaki-l); }
.am-index__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.am-index a { display: flex; flex-direction: column; padding: 16px 18px; text-decoration: none; font-family: var(--f-head); font-weight: 700; font-size: .95rem; transition: background .25s, color .25s; }
.am-index a + a { border-left: 1px solid #fff2; }
.am-index b { font-family: var(--f-label); font-weight: 500; font-size: .7rem; letter-spacing: .24em; color: var(--lime); }
.am-index span { font-family: var(--f-en); font-size: 1.5rem; line-height: 1.1; letter-spacing: .04em; }
.am-index a:hover { background: var(--green); color: #fff; }
@media (max-width: 760px) { .am-index__in { grid-template-columns: 1fr 1fr; } .am-index a:nth-child(3) { border-left: 0; } .am-index a:nth-child(n+3) { border-top: 1px solid #fff2; } }
.am-kinds { padding: clamp(80px, 10vw, 130px) 0 clamp(40px, 6vw, 70px); background: var(--paper); }
.am-kind { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(30px, 6vw, 80px); align-items: center; margin-bottom: clamp(80px, 11vw, 140px); scroll-margin-top: calc(var(--hd-h) + 20px); }
.am-kind.is-rev .am-kind__pic { order: 2; }
.am-kind__pic { position: relative; background: #fff; border: 2px solid var(--ink); outline: 1px solid #26281f55; outline-offset: 6px; padding: 0 0 14px; }
.am-kind--pione .am-pack__top { background: var(--grape); }
.am-kind--queen .am-pack__top { background: var(--orange-d); }
.am-kind--seto .am-pack__top { background: #8a8a5c; }
.am-kind__img { display: block; margin: 14px 14px 0; overflow: hidden; }
.am-kind__img img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .8s; }
.am-kind__pic:hover .am-kind__img img { transform: scale(1.06); }
.am-kind__seal { position: absolute; right: -24px; bottom: -24px; width: 130px; aspect-ratio: 1; border-radius: 50%; background: var(--orange); color: #fff; display: grid; place-content: center; text-align: center; line-height: 1.1; box-shadow: 0 0 0 4px var(--paper), 0 0 0 5px var(--ink); z-index: 2; }
.am-kind__seal svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: kf-spin 22s linear infinite; }
.am-kind__seal text { font-family: var(--f-label); font-size: 14px; letter-spacing: 2.4px; fill: #fff; }
.am-kind__seal b { font-family: var(--f-en); font-weight: 400; font-size: 2rem; color: var(--lime); }
.am-kind__seal small { font-weight: 700; font-size: .8rem; }
.is-rev .am-kind__seal { right: auto; left: -24px; }
.kf .am-kind__body p { margin: 0 0 1em; }
.am-kind__no { font-family: var(--f-pop); font-size: clamp(4rem, 9vw, 6.5rem); line-height: .9; color: var(--khaki-l); opacity: .45; margin-bottom: -.25em !important; }
.am-kind__en { font-family: var(--f-en); font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1; letter-spacing: .04em; color: var(--green); margin-bottom: 4px !important; }
.am-kind__name { font-family: var(--f-head); font-size: clamp(1.6rem, 3.6vw, 2.3rem); letter-spacing: .06em; padding-bottom: 14px; margin-bottom: 18px !important; border-bottom: 3px double var(--ink); }
.am-stamps { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px !important; }
.am-stamps li { padding: 3px 14px; border: 2px solid var(--orange-d); color: var(--orange-d); font-weight: 700; font-size: .85rem; letter-spacing: .08em; box-shadow: inset 0 0 0 2px var(--paper), inset 0 0 0 3px var(--orange-d); }
.am-kind__season { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; margin-right: 14px !important; }
.am-kind__season span { font-family: var(--f-label); font-weight: 500; font-size: .7rem; letter-spacing: .24em; background: var(--green); color: #fff; padding: 2px 10px; }
@media (max-width: 760px) {
  .am-kind { grid-template-columns: 1fr; }
  .am-kind.is-rev .am-kind__pic { order: 0; }
  .am-kind__pic { width: 90%; margin-inline: auto; }
  .am-kind__seal { width: 104px; right: -14px; bottom: -18px; }
  .is-rev .am-kind__seal { left: auto; right: -14px; }
  .am-kind__seal b { font-size: 1.6rem; }
}
.am-tips { padding: clamp(80px, 10vw, 130px) 0; background: var(--green); color: #fff; }
.am-tips__list { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 3px double #fff8; margin-bottom: 50px !important; }
.am-tips__list li { padding: 30px 26px; font-size: .95rem; }
.am-tips__list li + li { border-left: 1px solid #fff3; }
.am-tips__no { display: block; font-family: var(--f-en); font-size: 3.4rem; line-height: 1; color: var(--lime); }
.am-tips__list b { display: block; font-family: var(--f-head); font-size: 1.25rem; margin: 6px 0 8px; }
@media (max-width: 760px) { .am-tips__list { grid-template-columns: 1fr; } .am-tips__list li + li { border-left: 0; border-top: 1px solid #fff3; } }

/* 下層の動き */
@media (prefers-reduced-motion: no-preference) {
  .am-sub__en .am-ln > span { animation: am-up 1s cubic-bezier(.2, .8, .2, 1) .2s both; }
  .am-sub__ttl { animation: am-fade-up .8s .55s both; }
  .am-sub__lead { animation: am-fade-up .8s .7s both; }
  .am-sub .am-hero__strip span { animation: am-fade-down .6s .1s both; }
  .am-sub__pic { animation: am-arch 1.3s cubic-bezier(.7, 0, .2, 1) .25s both; }
  .am-sub__pic img { animation: am-kb 2.6s cubic-bezier(.2, .7, .2, 1) .25s both, am-breathe 14s ease-in-out 3s infinite alternate; }
  .am-crumb .kf-wrap { animation: am-fade-up .6s .8s both; }
  /* 1年の仕事：トラクターが線の上を走る・季節が順に */
  .kf-js .am .am-year__road.kf-in { opacity: 1; transform: none; }
  .am-year__road.is-in .am-year__tractor { animation: am-road 3.4s cubic-bezier(.4, 0, .2, 1) .2s both; }
  .am-year__tractor svg { animation: am-bump .35s linear infinite; }
  .kf-js .am .am-year__item.kf-in { transition-delay: calc(.2s + var(--i) * .25s); }
  /* もくじ・品種・食べ方 */
  .kf-js .am .am-index .kf-in { transition-delay: calc(var(--i) * .08s); }
  .kf-js .am .am-kind__pic.kf-in { transform: perspective(900px) rotateY(-20deg) translateY(40px); }
  .kf-js .am .is-rev .am-kind__pic.kf-in { transform: perspective(900px) rotateY(20deg) translateY(40px); }
  .kf-js .am .am-kind__pic.kf-in.is-in { transform: none; }
  .am-kind__pic.is-in .am-kind__seal { animation: am-stamp .9s cubic-bezier(.3, .7, .3, 1) .6s both; }
  .am-kind__pic.is-in .am-kind__img img { animation: am-develop 2.2s ease-out .2s both; }
  .am-stamps li { transition: transform .25s; }
  .am-stamps li:hover { transform: rotate(-4deg) scale(1.06); }
  .kf-js .am .am-tips__list .kf-in { transition-delay: calc(var(--i) * .15s); }
  .kf-js body.kf-color-american .kf-cards .kf-in:nth-child(3n+2) { transition-delay: .1s; }
  .kf-js body.kf-color-american .kf-cards .kf-in:nth-child(3n) { transition-delay: .2s; }
  body.kf-color-american .kf-nf__num .am-ln > span { animation: am-up 1s cubic-bezier(.2, .8, .2, 1) .2s both; }
  .am-nf__en { animation: am-track 1.2s .5s both; }
}
@keyframes am-road { from { left: 0; } to { left: calc(100% - 60px); } }
.am-kind__pic .am-kind__img img { filter: none; }
@media (prefers-reduced-motion: reduce) { .am-kind__seal svg, .am-year__tractor svg { animation: none; } .am-year__tractor { left: calc(100% - 60px); } }
/* お問い合わせフォームの枠 */
body.kf-color-american .kf-cform { border-radius: 0; border: 2px solid var(--ink); box-shadow: none; outline: 2px solid var(--paper); outline-offset: 6px; }
body.kf-color-american .kf-cform :is(.kf-cform__req, em) { border-radius: 2px; }

/* ==========================================================
 * 少しやわらかく（10/29 温井さん）：ボタン・写真・カード・メニューの角を丸く。
 * 戻す＝このブロックを消す（控え bak-20261029/american/am.before-soft.css）
 * ========================================================== */
body.kf-color-american { --rs: 8px; --rm: 12px; --rl: 16px; }
/* ボタン */
body.kf-color-american .kf-btn, body.kf-color-american .kf-prose :is(input[type="submit"], button[type="submit"], .wpcf7-submit) { border-radius: var(--rm) !important; }
body.kf-color-american .kf-btn--big { border-radius: 14px !important; }
body.kf-color-american :is(.kf-gnav a.is-shop, .kf-hdcart, .kf-burger, .kf-cartbtn, .kf-cart__close) { border-radius: 10px !important; }
body.kf-color-american :is(.kf-cartbtn__count, .kf-hdcart__count, .kf-menu__cartn) { border-radius: 99px !important; }
body.kf-color-american .kf .kf-side__all, body.kf-color-american.kf .kf-side__all { border-radius: var(--rm) !important; }
body.kf-color-american .kf-pager .page-numbers { border-radius: 10px !important; }
body.kf-color-american .kf-pager .prev, body.kf-color-american .kf-pager .next { border-radius: 99px !important; }
body.kf-color-american .kf-qty { border-radius: 10px !important; }
@media (max-width: 760px) { body.kf-color-american .kf-spbar a span { border-radius: 6px !important; } }

/* ヘッダー：区切り線をやめて、のせると丸い背景 */
body.kf-color-american .kf-gnav li + li a:not(.is-shop) { border-left: 0; }
body.kf-color-american .kf-gnav a:not(.is-shop) { border-radius: 10px; transition: background .25s; }
body.kf-color-american .kf-gnav a:not(.is-shop):hover, body.kf-color-american .kf-gnav a[aria-current] { background: #e2dac4; }
body.kf-color-american .kf-gnav a:not(.is-shop)::after { left: 22px; right: 22px; bottom: 3px; border-radius: 2px; }

/* メニュー（スマホ・タブレット）：丸い行・丸いボタン */
body.kf-color-american .kf-menu__list { gap: 6px; width: min(100%, 520px); }
body.kf-color-american .kf-menu__list li { border-bottom: 0; }
body.kf-color-american .kf-menu__list a { display: flex; width: 100%; padding: 8px 18px; border-radius: var(--rl); background: #ffffff0d; transition: background .25s, color .2s, opacity .4s, transform .4s; }
body.kf-color-american .kf-menu__list a:hover { background: #ffffff1f; }
body.kf-color-american .kf-menu__tel { border-radius: var(--rl) !important; }
body.kf-color-american .kf .kf-menu__cart, body.kf-color-american.kf .kf-menu__cart { border-radius: var(--rl) !important; }

/* 写真 */
body.kf-color-american .am-hero__arch, body.kf-color-american .am-sub__pic { border-radius: 999px 999px var(--rl) var(--rl); }
body.kf-color-american .am-hero__sub { border-radius: var(--rm); }
body.kf-color-american .am-hero__sub img { border-radius: var(--rs); }
body.kf-color-american .am-photo { border-radius: var(--rm); }
body.kf-color-american .am-photo img { border-radius: var(--rs); }
body.kf-color-american .am-pack, body.kf-color-american .am-kind__pic { border-radius: var(--rl); overflow: hidden; }
body.kf-color-american .am-kind__pic { overflow: visible; }
body.kf-color-american .am-kind__pic .am-pack__top { border-radius: 14px 14px 0 0; }
body.kf-color-american .am-pack__pic, body.kf-color-american .am-kind__img { border-radius: var(--rm); }
body.kf-color-american .am-pack__pic img, body.kf-color-american .am-kind__img img { border-radius: var(--rs); }
body.kf-color-american .am-notes__pic { border-radius: var(--rs); }
body.kf-color-american :is(.am-map, .kf-map) { border-radius: var(--rl) !important; overflow: hidden; }
body.kf-color-american .kf-item__main { border-radius: var(--rl) !important; }
body.kf-color-american .kf-thumb { border-radius: var(--rm) !important; }
body.kf-color-american .kf-entry__thumb img, body.kf-color-american .kf-prose img { border-radius: var(--rm) !important; }
body.kf-color-american .kf-card__pic, body.kf-color-american .kf-tag__pic { border-radius: 0; }
body.kf-color-american :is(.kf-line__fig, .kf-added__img, .kf-side__pic) { border-radius: var(--rs) !important; }

/* カード・箱 */
body.kf-color-american :is(.kf-tag, .kf-card) { border-radius: var(--rl) !important; overflow: hidden; }
body.kf-color-american :is(.am-sign, .kf-side__box, .kf-f__box, .kf-receipt, .kf-bank, .kf-confirm__text, .kf-cform, .kf-telbox, .kf-item__buy, .kf-added__box, .am-cal) { border-radius: var(--rl) !important; }
body.kf-color-american .am-ledger { border-radius: var(--rl); }
body.kf-color-american :is(.kf-entry__nav a, .kf-pay, .kf-line, .kf-added__item, .kf-alert, .kf-guide__ex, .kf-f__err, .kf-bank__acc, .kf-item__note) { border-radius: var(--rm) !important; }
body.kf-color-american .kf-receipt::before { display: none; }
body.kf-color-american .kf-side__arc summary, body.kf-color-american .kf-side__arc li a { border-radius: 10px !important; }
body.kf-color-american .kf-f__box legend span { border-radius: 10px !important; }
body.kf-color-american .am-cal__bar { border-radius: 4px 99px 99px 4px; }

/* 入力欄・小さいラベル */
body.kf-color-american :is(.kf-prose, .kf-f) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) { border-radius: 10px !important; }
body.kf-color-american :is(.kf-stock, .kf-item__kind, .kf-label, .kf-entry__date, .am-kind__season span, .am-pack__season span, .kf-f__row label em, .kf-cform label em) { border-radius: 99px !important; }
body.kf-color-american .am-stamps li { border-radius: var(--rs); }

/* ==========================================================
 * フォントをやわらかく（10/29 温井さん）。本番＝amf。見比べ＝?kf_font=amr / amk、明朝の前の版＝?kf_font=am
 * ========================================================== */
body.kf-font-amr, body.kf-font-amf, body.kf-font-amk {
  --f-head: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;
  --f-hand: "Zen Maru Gothic", sans-serif;
  --f-body: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;
}
body.kf-font-amr :is(h1, h2, h3, .am-h2, .kf-h2, .am-hero__catch, .kf-logo__ja, .kf-ft__name, .kf-ft__catch) { font-weight: 700; }
body.kf-font-amr .am-hero__catch, body.kf-font-amr .am-sub__ttl { letter-spacing: .06em; }
/* amf：英字も丸く（Fredoka）・見出しは M PLUS Rounded */
body.kf-font-amf { --f-en: "Fredoka", "Zen Maru Gothic", sans-serif; --f-label: "Fredoka", "Zen Maru Gothic", sans-serif; --f-head: "M PLUS Rounded 1c", "Zen Maru Gothic", sans-serif; }
body.kf-font-amf :is(.am-hero__en, .am-head__en, .am-sub__en, .am-kind__en, .kf-nf__num) { font-weight: 600; letter-spacing: 0; }
body.kf-font-amf .am-head__en { font-size: clamp(2.8rem, 7.5vw, 5.6rem); }
body.kf-font-amf .am-sub__en { font-size: clamp(2.8rem, 7vw, 5.4rem); }
body.kf-font-amf .am-hero__en { font-size: clamp(3.4rem, 6.8vw, 6rem); line-height: .95; }
body.kf-font-amf :is(.am-hero__strip, .am-kicker, .am-farmer__line, .am-farmer__mid, .kf-gnav a span, .am-crumb, .am-pack__top) { letter-spacing: .14em; }
/* amk：見出しは手書きっぽい丸文字（Kiwi Maru）。太さは1つだけ */
body.kf-font-amk { --f-head: "Kiwi Maru", "Zen Maru Gothic", serif; }
body.kf-font-amk :is(h1, h2, h3, .am-h2, .kf-h2, .am-hero__catch, .kf-logo__ja, .kf-ft__name, .kf-ft__catch, .am-sub__ttl, .am-steps li, .am-notes__ttl, .am-index a) { font-weight: 500; }
