/* =========================================================
   FARMO コンポーネント（公式スカイブルー）
   - ヘッダー/フッターは全ページ共通（.farmo-header / .farmo-footer）
   - ページ本文の部品は .farmo-main 配下にスコープし、Welcart等の
     親テンプレートページに影響を与えない設計。
   ========================================================= */

.farmo-wrap{max-width:var(--wrap);margin:auto;padding:0 28px}

/* ---------- Header ---------- */
.farmo-header{position:sticky;top:0;z-index:50;background:#ffffffee;backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid var(--gray-2)}
.farmo-header__inner{display:flex;align-items:center;gap:22px;height:74px}
.farmo-logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.farmo-logo img{height:34px;width:auto;display:block}
.farmo-header__nav{margin-right:auto}
.farmo-nav{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.farmo-nav a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;font-size:14px;font-weight:600;color:var(--text);text-decoration:none;border-radius:10px;transition:.15s}
.farmo-nav a:hover{color:var(--sky-dark);background:var(--sky-pale)}
.farmo-nav .fm-ico{display:inline-flex;align-items:center;justify-content:center;color:var(--sky);flex:none;transition:.15s}
.farmo-nav .fm-ico__svg{display:block}
.farmo-nav a:hover .fm-ico{color:var(--sky-dark)}
.farmo-nav .fm-mtxt{white-space:nowrap}
/* ---- サブメニュー（ドロップダウン） ---- */
.farmo-nav .has-sub{position:relative}
.farmo-nav .fm-caret{margin-left:1px;font-size:10px;color:var(--sky);transition:transform .15s}
.farmo-nav .has-sub:hover .fm-caret,.farmo-nav .has-sub:focus-within .fm-caret{transform:rotate(180deg)}
.farmo-sub{position:absolute;left:0;top:calc(100% + 8px);min-width:262px;background:#fff;border:1px solid var(--gray-2);border-radius:12px;box-shadow:var(--shadow-md);padding:6px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;z-index:60}
.farmo-nav .has-sub:hover>.farmo-sub,.farmo-nav .has-sub:focus-within>.farmo-sub{opacity:1;visibility:visible;transform:translateY(0)}
.farmo-sub::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
.farmo-sub li{margin:0}
.farmo-sub a{display:block;padding:9px 12px;font-size:13px;font-weight:600;color:var(--text);text-decoration:none;border-radius:8px;white-space:normal;line-height:1.45}
.farmo-sub a:hover{background:var(--sky-pale);color:var(--sky-dark)}
@media(max-width:900px){
  .farmo-header.is-open .farmo-nav a{padding:12px 6px;font-size:15px;border-bottom:1px solid var(--gray-1);border-radius:0}
  .farmo-header.is-open .farmo-nav .fm-ico{width:22px}
}
.farmo-header__actions{display:flex;gap:10px;align-items:center}

/* Login dropdown (native details/summary) */
.farmo-login{position:relative}
.farmo-login>summary{list-style:none;cursor:pointer}
.farmo-login>summary::-webkit-details-marker{display:none}
.farmo-login>summary::marker{content:""}
.farmo-login__menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:#fff;border:1px solid var(--gray-2);border-radius:12px;box-shadow:var(--shadow-md);padding:6px;z-index:60}
.farmo-login[open]>summary{background:var(--sky-pale)}
.farmo-login__menu a{display:block;padding:10px 12px;font-size:13.5px;font-weight:600;color:var(--text);text-decoration:none;border-radius:8px}
.farmo-login__menu a:hover{background:var(--sky-pale);color:var(--sky-dark)}
.farmo-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.farmo-burger span{width:22px;height:2px;background:var(--text);display:block}

/* ---------- Buttons ---------- */
.farmo-btn{display:inline-block;padding:11px 19px;border:1.5px solid var(--sky);border-radius:999px;font-weight:700;font-size:14px;color:var(--sky-dark);text-decoration:none;transition:.15s;white-space:nowrap}
.farmo-btn:hover{background:var(--sky-pale)}
.farmo-btn--primary{background:var(--sky);color:#fff;border-color:var(--sky)}
.farmo-btn--primary:hover{background:var(--sky-dark);border-color:var(--sky-dark)}
.farmo-btn--ghost{border-color:var(--gray-3);color:var(--text-sub)}
.farmo-btn--ghost:hover{background:var(--gray-1)}

/* ---------- Main / sections ---------- */
.farmo-main{color:var(--text);line-height:1.75;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}
.farmo-main .fm-sec{padding:88px 0;border-bottom:1px solid var(--gray-2)}
.farmo-main .fm-center{text-align:center}
.farmo-main .fm-ey{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--sky-dark);text-transform:uppercase;margin:0 0 6px}
.farmo-main .fm-h1{font-size:clamp(40px,6vw,74px);line-height:1.14;margin:.15em 0;color:var(--text)}
.farmo-main .fm-h2{font-size:clamp(28px,4vw,46px);line-height:1.28;margin:.15em 0 .5em;color:var(--text)}
.farmo-main h3{font-size:21px;margin:.3em 0;color:var(--text)}
.farmo-main .fm-lead{font-size:19px}
.farmo-main .fm-say{font-size:23px;color:var(--text)}
.farmo-main .fm-say--left{font-weight:800}
.farmo-main .fm-sub{max-width:780px;color:var(--text-sub)}
.farmo-main .fm-center .fm-sub{margin-left:auto;margin-right:auto}
.farmo-main .fm-sub--left{max-width:640px}
.farmo-main .fm-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.farmo-main .fm-actions--center{justify-content:center}

/* two column */
.farmo-main .fm-two{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.farmo-main .fm-ph{min-height:330px;background:var(--sky-pale);border:1px dashed var(--sky-light);border-radius:18px;display:grid;place-items:center;text-align:center;color:#4f8aa6;padding:22px;font-size:14px;position:relative;overflow:hidden}
.farmo-main .fm-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;border-radius:0}

/* hero split bg */
.farmo-main .fm-hero{background:linear-gradient(90deg,#fff 51%,var(--sky-pale) 51%);min-height:620px;display:flex;align-items:center}

/* cards grids */
.farmo-main .fm-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.farmo-main .fm-solutions{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.farmo-main .fm-cases,.farmo-main .fm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.farmo-main .fm-card{display:block;background:#fff;border:1px solid var(--gray-2);border-radius:16px;padding:23px;text-decoration:none;color:inherit;transition:.15s}
.farmo-main a.fm-card:hover{border-color:var(--sky-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.farmo-main .fm-thumb{height:150px;background:var(--sky-pale);border-radius:12px;display:grid;place-items:center;color:#4f8aa6;margin-bottom:14px;font-weight:700;position:relative;overflow:hidden}
.farmo-main .fm-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.farmo-main .fm-card b{color:var(--sky-dark)}
.farmo-main .fm-quote{font-size:19px;line-height:1.55;color:var(--text)}

/* solution standard template */
.farmo-main .fm-pagehead{background:var(--sky-pale)}
.farmo-main .fm-cat-title{border-left:5px solid var(--sky);padding-left:14px;margin-bottom:6px}
.farmo-main .fm-cat-title .fm-cat-desc{display:block;font-size:13.5px;font-weight:400;color:var(--text-sub);margin-top:4px}
.farmo-main .fm-catblock{margin:36px 0}
.farmo-main .fm-catblock:first-child{margin-top:8px}
.farmo-main .fm-net{background:var(--sky-pale)}
/* support audiences */
.farmo-main .fm-audience{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}
.farmo-main .fm-aud{display:flex;flex-direction:column}
.farmo-main .fm-aud-title{font-size:20px;font-weight:800;color:var(--text);margin:4px 0 2px}
.farmo-main .fm-aud-desc{font-size:13.5px;color:var(--text-sub);margin:0 0 8px}
.farmo-main .fm-menu{list-style:none;margin:6px 0 0;padding:0}
.farmo-main .fm-menu li{border-top:1px solid var(--gray-2)}
.farmo-main .fm-menu a{display:block;padding:11px 2px;color:var(--text);text-decoration:none;font-size:14px;font-weight:600}
.farmo-main .fm-menu a:hover{color:var(--sky-dark)}
@media(max-width:900px){.farmo-main .fm-audience{grid-template-columns:1fr}}
/* regional-dx themes */
.farmo-main .fm-badge{display:inline-block;background:var(--success-pale);color:var(--success);font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;margin-bottom:8px}
.farmo-main a.fm-theme b{color:var(--sky-dark)}
.farmo-main .fm-audtags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.farmo-main .fm-audtag{display:inline-block;background:#fff;border:1px solid var(--sky-light);color:var(--sky-dark);font-size:12.5px;font-weight:700;padding:5px 13px;border-radius:999px;text-decoration:none}
.farmo-main .fm-audtag:hover{background:var(--sky-pale)}
/* solutions list (課題から探す) */
.farmo-main .fm-grouphead{display:flex;gap:16px;align-items:center;margin-bottom:8px}
.farmo-main .fm-groupnum{flex:none;min-width:48px;height:48px;display:grid;place-items:center;background:var(--sky);color:#fff;border-radius:12px;font-weight:800;font-size:18px}
.farmo-main .fm-sol-card{text-align:left}
.farmo-main .fm-sol-card h3{margin:2px 0 6px}
.farmo-main .fm-sol-card h3 a{color:var(--text);text-decoration:none}
.farmo-main .fm-sol-card h3 a:hover{color:var(--sky-dark)}
.farmo-main .fm-prodchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.farmo-main .fm-prodchips a{display:inline-block;background:var(--sky-pale);color:var(--sky-dark);font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;text-decoration:none}
.farmo-main .fm-prodchips a:hover{background:var(--sky-light);color:#fff}
.farmo-main .fm-pagehead .fm-h1{font-size:clamp(32px,5vw,56px)}
.farmo-main .fm-num{font-size:13px;font-weight:800;color:var(--sky-dark);margin-bottom:6px}
.farmo-main .fm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px;text-align:left}
.farmo-main .fm-step{border-top:3px solid var(--sky);border-radius:0 0 14px 14px}
.farmo-main .fm-feature{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:44px 0}
.farmo-main .fm-feature__media{min-height:280px}
.farmo-main .fm-feature--rev .fm-feature__media{order:2}
.farmo-main .fm-products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.farmo-main .fm-products{grid-template-columns:1fr}}
.farmo-main .fm-feature__body .fm-h2{margin-top:.1em}
@media(max-width:900px){
  .farmo-main .fm-cards{grid-template-columns:1fr}
  .farmo-main .fm-feature{grid-template-columns:1fr;gap:22px;margin:30px 0}
  .farmo-main .fm-feature--rev .fm-feature__media{order:0}
}

/* パンくず */
.farmo-main .fm-breadcrumb{padding:16px 0 0;font-size:12.5px;color:var(--text-sub)}
.farmo-main .fm-breadcrumb a{color:var(--sky-dark);text-decoration:none}
.farmo-main .fm-breadcrumb a:hover{text-decoration:underline}
.farmo-main .fm-breadcrumb span{margin:0 .5em;color:var(--gray-3)}
.farmo-main .fm-breadcrumb span[aria-current]{margin:0;color:var(--text-sub)}

/* 3つの安心 ＋ 実績 */
.farmo-main .fm-reassure-sec{padding:0;border-bottom:1px solid var(--gray-2)}
.farmo-main .fm-reassure{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 40px;padding:22px 0}
.farmo-main .fm-reassure__list{display:flex;flex-wrap:wrap;gap:12px 30px;list-style:none;margin:0;padding:0}
.farmo-main .fm-reassure__list li{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--text)}
.farmo-main .fm-reassure__list b{font-weight:700}
.farmo-main .fm-reassure__ico{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sky-pale);color:var(--sky-dark);font-weight:800;font-size:14px}
.farmo-main .fm-reassure__stat{display:flex;flex-direction:column;padding-left:30px;border-left:1px solid var(--gray-2)}
.farmo-main .fm-reassure__stat strong{font-size:19px;color:var(--sky-dark);font-weight:800;letter-spacing:.02em}
.farmo-main .fm-reassure__stat small{font-size:11.5px;color:var(--text-sub);margin-top:2px}
@media(max-width:700px){
  .farmo-main .fm-reassure__stat{padding-left:0;border-left:0;border-top:1px solid var(--gray-2);padding-top:12px;width:100%;align-items:center}
}

/* アプリ紹介 */
.farmo-main .fm-appintro{background:linear-gradient(160deg,var(--sky-pale),#fff 70%)}
.farmo-main .fm-appintro__media{min-height:300px}
.farmo-main .fm-appintro__name{font-weight:800;color:var(--sky-dark);font-size:17px;margin:.2em 0 .5em}

/* 製品ショーケース（「はじめてみよう」＝大きい写真で興味を惹く） */
.farmo-main .fm-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.farmo-main .fm-showcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--gray-2);border-radius:18px;overflow:hidden;transition:.18s}
.farmo-main .fm-showcard:hover{border-color:var(--sky-light);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.farmo-main .fm-showcard__link{position:absolute;inset:0;z-index:2}
.farmo-main .fm-showcard__media{height:230px;min-height:230px;border:0;border-radius:0;margin:0}
.farmo-main .fm-showcard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.farmo-main .fm-showcard__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:6px}
.farmo-main .fm-showcard__body h3{font-size:20px;color:var(--text);margin:0}
.farmo-main .fm-showcard__body p{margin:0;color:var(--text-sub);font-size:14.5px;line-height:1.75}
.farmo-main .fm-showcard__price{margin:2px 0 0;font-weight:800;color:var(--text);font-size:16px}
.farmo-main .fm-showcard__cta{margin-top:10px;font-weight:800;color:var(--sky-dark);font-size:14px}
.farmo-main .fm-showcard:hover .fm-showcard__cta{color:var(--sky-deeper)}
@media(max-width:900px){
  .farmo-main .fm-showcase{grid-template-columns:1fr;gap:18px}
  .farmo-main .fm-showcard__media{height:200px;min-height:200px}
}

/* お客様の声（写真付き・横並び） */
.farmo-main .fm-voices{display:flex;flex-direction:column;gap:22px;margin-top:8px}
.farmo-main .fm-voice{display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:center;background:#fff;border:1px solid var(--gray-2);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}
.farmo-main .fm-voice__media{position:relative;height:220px;border-radius:14px;overflow:hidden;background:var(--sky-pale)}
.farmo-main .fm-voice__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.farmo-main .fm-voice__ph{position:absolute;inset:0;display:grid;place-items:center;color:#4f8aa6;font-weight:700;font-size:13px}
.farmo-main .fm-voice__title{font-size:21px;color:var(--sky-dark);margin:0 0 10px;line-height:1.4}
.farmo-main .fm-voice__person{font-weight:700;font-size:13px;color:var(--text-sub);border-left:3px solid var(--sky);padding-left:11px;margin:0 0 14px}
.farmo-main .fm-voice__text{color:var(--text);line-height:1.9;margin:0 0 16px;font-size:15px}
.farmo-main .fm-voice__products{margin:0}
.farmo-main .fm-voice__products span{display:inline-block;background:var(--sky-pale);color:var(--sky-dark);font-weight:700;font-size:13px;padding:7px 15px;border-radius:999px}
@media(max-width:760px){
  .farmo-main .fm-voice{grid-template-columns:1fr;gap:16px;padding:18px}
  .farmo-main .fm-voice__media{height:230px}
}

/* ===== 製品詳細ページ ===== */
/* ヒーローの価格・注記 */
.farmo-main .fm-priceline{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:6px 0 18px}
.farmo-main .fm-priceline strong{font-size:26px;color:var(--text);font-weight:800;letter-spacing:.01em}
.farmo-main .fm-priceline span{font-size:13px;color:var(--success);font-weight:700;background:#e6f7ef;padding:4px 10px;border-radius:999px}
.farmo-main .fm-hero-note{margin:14px 0 0;font-size:13px}
.farmo-main .fm-hero-note a{color:var(--sky-dark);text-decoration:none}
.farmo-main .fm-hero-note a:hover{text-decoration:underline}

/* 特長カード（画像＋番号） */
.farmo-main .fm-featcard{text-align:left}
.farmo-main .fm-featcard .fm-num{margin:14px 0 2px;font-size:14px}

/* 本文内の表（全ラインナップ表など） */
.farmo-main .fm-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1em 0}
.farmo-main .fm-article table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
.farmo-main .fm-article thead th{background:var(--sky-pale);color:var(--sky-deeper);font-weight:800;text-align:left;padding:12px 14px;white-space:nowrap;border-bottom:2px solid var(--sky-light)}
.farmo-main .fm-article tbody td{padding:12px 14px;border-bottom:1px solid var(--gray-2);vertical-align:top}
.farmo-main .fm-article tbody tr:nth-child(even){background:var(--gray-1)}
.farmo-main .fm-article tbody td:last-child{font-weight:800;color:var(--text);white-space:nowrap}
.farmo-main .fm-article tbody a{color:var(--sky-dark);font-weight:700}

/* アプリ機能（2×2、画像＋本文の横並び） */
.farmo-main .fm-appfeatures{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px}
.farmo-main .fm-appfeature{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;background:#fff;border:1px solid var(--gray-2);border-radius:16px;padding:20px}
.farmo-main .fm-appfeature__media{height:150px;min-height:150px;border-radius:12px;margin:0}
.farmo-main .fm-appfeature__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.farmo-main .fm-appfeature__body h3{font-size:18px;color:var(--sky-dark);margin:0 0 6px}
.farmo-main .fm-appfeature__body p{margin:0;font-size:14px;color:var(--text-sub);line-height:1.75}
@media(max-width:900px){
  .farmo-main .fm-appfeatures{grid-template-columns:1fr}
  .farmo-main .fm-appfeature{grid-template-columns:120px 1fr;gap:16px}
}
@media(max-width:520px){
  .farmo-main .fm-appfeature{grid-template-columns:1fr}
  .farmo-main .fm-appfeature__media{height:180px}
}

/* 設置ステップ（画像＋STEP） */
.farmo-main .fm-setup{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;position:relative}
.farmo-main .fm-setupstep{background:#fff;border:1px solid var(--gray-2);border-radius:16px;overflow:hidden}
.farmo-main .fm-setupstep__media{height:170px;min-height:170px;border-radius:0;border:0;margin:0}
.farmo-main .fm-setupstep__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.farmo-main .fm-setupstep__num{display:inline-block;margin:16px 18px 0;font-size:12px;font-weight:800;letter-spacing:.1em;color:#fff;background:var(--sky);padding:4px 12px;border-radius:999px}
.farmo-main .fm-setupstep h3{margin:10px 18px 4px;font-size:18px}
.farmo-main .fm-setupstep p{margin:0 18px 20px;color:var(--text-sub);font-size:14px;line-height:1.7}
@media(max-width:820px){.farmo-main .fm-setup{grid-template-columns:1fr}}

/* ラインナップ（購入タイプ） */
.farmo-main .fm-lineup{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:8px;max-width:820px;margin-left:auto;margin-right:auto}
.farmo-main .fm-linecard{background:#fff;border:1px solid var(--gray-2);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.farmo-main .fm-linecard__media{height:180px;border-radius:0;margin:0}
.farmo-main .fm-linecard__body{padding:20px;display:flex;flex-direction:column;gap:6px}
.farmo-main .fm-linecard__body h3{margin:0;font-size:19px}
.farmo-main .fm-linecard__body p{margin:0;color:var(--text-sub);font-size:14px;line-height:1.7}
.farmo-main .fm-linecard__price{font-weight:800;color:var(--text)!important;font-size:18px;margin:4px 0 10px!important}
.farmo-main .fm-linecard .farmo-btn{align-self:flex-start;margin-top:auto}
@media(max-width:700px){.farmo-main .fm-lineup{grid-template-columns:1fr}}

/* FAQ（アコーディオン） */
.farmo-main .fm-faqwrap{max-width:800px}
.farmo-main .fm-faq{background:#fff;border:1px solid var(--gray-2);border-radius:12px;margin-bottom:12px;overflow:hidden}
.farmo-main .fm-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:18px 20px;font-weight:700;color:var(--text);font-size:15px}
.farmo-main .fm-faq summary::-webkit-details-marker{display:none}
.farmo-main .fm-faq summary::after{content:"＋";margin-left:auto;color:var(--sky-dark);font-weight:800;flex:none}
.farmo-main .fm-faq[open] summary::after{content:"−"}
.farmo-main .fm-faq__q{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--sky);color:#fff;font-weight:800;font-size:14px}
.farmo-main .fm-faq__a{padding:0 20px 20px 58px;color:var(--text-sub);line-height:1.85;font-size:14.5px}
.farmo-main .fm-faq__a p{margin:0}

/* 保証バンド */
.farmo-main .fm-warranty{display:flex;align-items:center;gap:22px;background:var(--sky-pale);border-radius:18px;padding:28px 32px;max-width:820px;margin:0 auto}
.farmo-main .fm-warranty__ico{font-size:40px;flex:none}
.farmo-main .fm-warranty .fm-h3{margin:0 0 6px;font-size:20px;color:var(--sky-deeper)}
.farmo-main .fm-warranty p{margin:0;color:var(--text);line-height:1.8}
@media(max-width:560px){.farmo-main .fm-warranty{flex-direction:column;text-align:center;gap:12px;padding:24px}}

/* benefits */
.farmo-main .fm-benefits{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px;text-align:left}
.farmo-main .fm-benefit{border-top:3px solid var(--sky);padding:26px;background:#fff;border-radius:0 0 14px 14px;box-shadow:var(--shadow-sm)}
.farmo-main .fm-feature{font-size:14px;color:var(--sky-dark);font-weight:800}
.farmo-main .fm-result{font-size:24px;line-height:1.5;font-weight:800;margin:10px 0;color:var(--text)}

/* flow */
.farmo-main .fm-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:32px}
.farmo-main .fm-flowitem{background:#fff;border:1px solid var(--gray-2);border-radius:14px;padding:20px 12px}
.farmo-main .fm-flowitem h3{color:var(--sky-dark)}

/* split */
.farmo-main .fm-split{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;text-align:left}
.farmo-main .fm-panel{padding:26px}

/* tints */
.farmo-main .fm-soft{background:var(--gray-1)}
.farmo-main .fm-warm{background:var(--sky-pale)}

/* story */
.farmo-main .fm-story{max-width:760px;margin:auto;font-size:20px;line-height:2}
.farmo-main .fm-story strong{color:var(--sky-dark)}

/* dark sections */
.farmo-main .fm-demo,.farmo-main .fm-final{background:linear-gradient(150deg,var(--sky-deeper),var(--text));border-color:var(--sky-deeper);color:#fff}
.farmo-main .fm-demo .fm-h2,.farmo-main .fm-final .fm-h2{color:#fff}
.farmo-main .fm-demo .fm-ey,.farmo-main .fm-final .fm-ey{color:var(--sky-light)}
.farmo-main .fm-demo .fm-sub,.farmo-main .fm-final .fm-sub{color:#c7e6f3}
.farmo-main .fm-demo .farmo-btn,.farmo-main .fm-final .farmo-btn{border-color:#ffffff88;color:#fff}
.farmo-main .fm-demo .farmo-btn:hover,.farmo-main .fm-final .farmo-btn:hover{background:#ffffff1a}
.farmo-main .fm-demo .farmo-btn--primary,.farmo-main .fm-final .farmo-btn--primary{background:#fff;color:var(--sky-deeper);border-color:#fff}
.farmo-main .fm-demo .fm-ph{background:#0c4d6e;border-color:#2f7699;color:#9dccdf}

/* article (the_content) */
.farmo-main .fm-article{max-width:820px;margin:auto}
.farmo-main .fm-article h2{font-size:28px;margin:1.4em 0 .5em;color:var(--text)}
.farmo-main .fm-article h3{font-size:20px;margin:1.2em 0 .4em}
.farmo-main .fm-article p{margin:0 0 1.1em}
.farmo-main .fm-article a{color:var(--sky-dark)}

/* article detail (single) */
.farmo-main .fm-article-title{font-size:clamp(28px,4vw,44px);margin:.1em 0 .3em}
.farmo-main .fm-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.farmo-main .fm-tagset{display:inline-flex;align-items:center;gap:6px;background:var(--sky-pale);border-radius:999px;padding:5px 12px;font-size:12.5px}
.farmo-main .fm-tagset i{font-style:normal;color:var(--sky-deeper);font-weight:800}
.farmo-main .fm-tagset a{color:var(--text);text-decoration:none}
.farmo-main .fm-article-hero{margin:8px 0 26px}
.farmo-main .fm-article-hero img{width:100%;height:auto;border-radius:16px}
.farmo-main .fm-article-body img{max-width:100%;height:auto;border-radius:12px}

/* archive */
.farmo-main.farmo-archive .fm-cases--archive{grid-template-columns:repeat(3,1fr);text-align:left}
.farmo-main .fm-pagination{margin-top:34px;text-align:center}
.farmo-main .fm-pagination .page-numbers{display:inline-block;min-width:40px;padding:8px 12px;margin:0 3px;border:1px solid var(--gray-2);border-radius:8px;color:var(--sky-dark);text-decoration:none;font-weight:700}
.farmo-main .fm-pagination .page-numbers.current{background:var(--sky);color:#fff;border-color:var(--sky)}
.farmo-main .fm-pagination .page-numbers:hover{background:var(--sky-pale)}
@media(max-width:900px){.farmo-main.farmo-archive .fm-cases--archive{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.farmo-main.farmo-archive .fm-cases--archive{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.farmo-footer{background:var(--text);color:#bcd6e4}
.farmo-footer__inner{padding:48px 28px}
.farmo-footer__logo{font-size:22px;font-weight:900;color:#fff}
.farmo-footer__tagline{color:var(--sky-light);font-weight:700;margin:.3em 0 0}
.farmo-footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:28px 0}
.farmo-footer__cols h4{color:#fff;font-size:13px;letter-spacing:.06em;margin:0 0 10px}
.farmo-footer__cols a{display:block;color:#bcd6e4;text-decoration:none;font-size:13.5px;padding:4px 0}
.farmo-footer__cols a:hover{color:#fff}
.farmo-footer__legal{border-top:1px solid #ffffff22;padding-top:18px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:12.5px}
.farmo-footer__legal a{color:#9ec4d6;text-decoration:none}
.farmo-footer__legal a:hover{color:#fff}
.farmo-footer__copy{margin-left:auto;color:#7fa6ba}

/* ---------- Responsive ---------- */
/* リッチな4カテゴリ＋サブメニュー＋3アクションは幅が要るため、ヘッダーは1100pxでバーガーに切替 */
@media(max-width:1100px){
  .farmo-header__nav,.farmo-header__actions{display:none}
  .farmo-burger{display:flex}
  .farmo-header.is-open .farmo-header__nav{display:block;position:absolute;left:0;right:0;top:74px;background:#fff;border-bottom:1px solid var(--gray-2);padding:12px 28px}
  .farmo-header.is-open .farmo-nav{flex-direction:column}
  .farmo-header.is-open .farmo-sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:2px 0 8px 30px;min-width:0}
  .farmo-header.is-open .farmo-sub a{padding:8px 6px;font-size:13.5px;color:var(--text-sub)}
  .farmo-header.is-open .fm-caret{display:none}
  .farmo-header.is-open .farmo-header__actions{display:flex;position:absolute;left:0;right:0;top:auto;background:#fff;padding:0 28px 16px}
}
@media(max-width:900px){
  .farmo-main .fm-hero{background:#fff;min-height:auto}
  .farmo-main .fm-two{grid-template-columns:1fr;gap:32px}
  .farmo-main .fm-grid4,.farmo-main .fm-solutions{grid-template-columns:1fr 1fr}
  .farmo-main .fm-benefits,.farmo-main .fm-split{grid-template-columns:1fr}
  .farmo-main .fm-flow{grid-template-columns:1fr 1fr}
  .farmo-main .fm-cases,.farmo-main .fm-steps{grid-template-columns:1fr}
  .farmo-footer__cols{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .farmo-main .fm-sec{padding:60px 0}
  .farmo-main .fm-grid4,.farmo-main .fm-solutions,.farmo-main .fm-flow{grid-template-columns:1fr}
  .farmo-footer__cols{grid-template-columns:1fr}
  .farmo-footer__copy{margin-left:0}
}

/* ===== ヘッダー 2026-08 リニューアル ===== */


.farmo-header__actions .farmo-textlink{
  display:inline-flex; align-items:center; text-decoration:none;
  color:#3A6578; font-size:13px; font-weight:600; padding:6px 4px; white-space:nowrap;
}
.farmo-header__actions .farmo-textlink:hover{ color:#00B0E4; }
.farmo-header__actions .farmo-divider{
  width:1px; height:26px; background:#D0DDE4; flex:none;
}
.farmo-btn{ display:inline-flex; align-items:center; gap:7px; }
.farmo-btn .fm-cart{ width:16px; height:16px; flex:none; }
@media (max-width: 900px){
  .farmo-header__actions .farmo-divider{ display:none; }
}

/* ===== ホバー下線・間隔調整 2026-08 ===== */
.farmo-nav{ gap:2px; }
.farmo-nav > li > a{ position:relative; padding-left:9px; padding-right:9px; }
.farmo-nav > li > a::after{
  content:""; position:absolute; left:9px; right:9px; bottom:-7px; height:2px;
  background:#00B0E4; border-radius:2px;
  opacity:0; transform:translateY(3px);
  transition:opacity .16s ease, transform .16s ease;
}
.farmo-nav > li > a:hover::after,
.farmo-nav > li:hover > a::after{ opacity:1; transform:translateY(0); }

.farmo-header__actions{ margin-left:14px; }
.farmo-header__actions .farmo-btn{ font-weight:400; }
.farmo-header__actions .farmo-textlink{ font-weight:400; }
.farmo-sub a{ font-weight:400; }

/* ===== フッター再構成 2026-08 ===== */
.farmo-footer__brand{ margin-bottom:36px; }
.farmo-footer__sns{ display:flex; gap:18px; margin-top:12px; }
.farmo-footer__sns a{ color:#BCD6E4; text-decoration:none; font-size:13px; }
.farmo-footer__sns a:hover{ color:#fff; }
.farmo-footer__cols h4.farmo-footer__h4--gap{ margin-top:28px; }
.farmo-footer__cols a:hover{ color:#fff; }
.farmo-footer__legal{ flex-wrap:wrap; }
@media (max-width: 900px){
  .farmo-footer__cols{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 560px){
  .farmo-footer__cols{ grid-template-columns:1fr; }
}

/* ===== about ページ 2026-08 ===== */
.fm-prose{ max-width:760px; text-align:left; }
.fm-prose p{ margin:0 0 1.4em; }
.fm-prose p:last-child{ margin-bottom:0; }

.fm-quote{ max-width:760px; margin:38px auto 0; padding:26px 30px; border-left:3px solid #00B0E4; background:#F2FAFD; border-radius:4px; text-align:left; }
.fm-quote__text{ font-size:20px; font-weight:700; line-height:1.7; margin:0 0 6px; }
.fm-quote__sub{ color:#3A6578; margin:0 0 14px; }
.fm-quote p:last-child{ margin:0; }

.fm-start{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:10px; }
.fm-start__box{ background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.24); border-radius:8px; padding:24px 26px; text-align:left; }
.fm-start__box h3{ margin:0 0 10px; font-size:17px; color:#fff; }
.fm-start__box p{ margin:0 0 16px; font-size:14px; line-height:1.9; }
.fm-start .fm-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-start; }

.fm-closing{ margin-top:46px; line-height:2.1; }
.fm-closing__sign{ font-size:20px; font-weight:700; margin-top:14px; }

@media (max-width: 760px){ .fm-start{ grid-template-columns:1fr; } }

/* ===== about ヒーロー 2026-08 ===== */
.fm-hero-about{ position:relative; width:100%; margin:0; background:#fff; }
.fm-hero-about__media img{ display:block; width:100%; height:auto; }
.fm-hero-about__text{
  position:absolute; left:0; top:0; width:60%; height:100%;
  display:flex; flex-direction:column; justify-content:center;
  padding:0 2% 3.4% max(7%, calc((100% - 1160px)/2 + 28px)); box-sizing:border-box;
}
.fm-hero-about__h1{
  font-size:clamp(28px, 2.7vw, 42px); line-height:1.5; font-weight:400;
  letter-spacing:.03em; margin:0 0 18px; color:#0D2B3E;
}
.fm-hero-about__lead{ font-size:clamp(14px, 1.0vw, 16px); line-height:2.1; color:#2E5666; margin:0 0 28px; }
.fm-hero-about .fm-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.fm-hero-about .farmo-btn--ghost{ background:#fff; }
@media (max-width: 1100px){
  .fm-hero-about__text{ width:64%; padding:0 2% 4% 7%; }
  .fm-hero-about__lead{ font-size:14px; line-height:1.95; margin-bottom:20px; }
}
@media (max-width: 900px){
  .fm-hero-about__text{ position:static; width:auto; height:auto; padding:38px 28px 30px; }
  .fm-hero-about__h1{ font-size:28px; }
  .fm-hero-about__lead{ font-size:15px; }
}


/* ===== about ページ本文 2026-08 リニューアル ===== */
.farmo-regional .fm-sec{ padding:96px 0; }
.farmo-regional .fm-h2{ font-size:clamp(24px,2.4vw,34px); font-weight:400; line-height:1.6; letter-spacing:.03em; color:#0D2B3E; margin:0 0 18px; }
.farmo-regional .fm-sub{ font-size:15px; line-height:2.0; color:#3A6578; margin:0; }
.fm-brpc{ display:inline; }
@media (max-width:760px){ .fm-brpc{ display:none; } }

/* 02 ファーモとは何か */
.fm-what{ text-align:center; }
.fm-what__inner{ max-width:880px; }
.fm-what__lead{ font-size:clamp(15px,1.15vw,17px); line-height:2.4; color:#2E5666; margin:0 0 26px; }
.fm-what__note{ font-size:15px; line-height:2; color:#3A6578; margin:0; }
.fm-what__note em{ font-style:normal; font-weight:700; color:#0D2B3E; background:linear-gradient(transparent 62%, #CFEEFA 62%); padding:0 .15em; }

/* 03 三つの取り組み */
.fm-pillars__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; }
.fm-pillar{ background:#fff; border:1px solid #E7EFF3; border-radius:14px; padding:34px 30px 30px; display:flex; flex-direction:column; }
.fm-pillar__no{ font-size:12px; letter-spacing:.14em; color:#9DBBC8; font-weight:700; }
.fm-pillar__ey{ display:block; margin:8px 0 0; font-size:22px; font-weight:700; color:#00B0E4; letter-spacing:.06em; }
.fm-pillar__ttl{ font-size:19px; font-weight:500; line-height:1.7; color:#0D2B3E; margin:12px 0 14px; }
.fm-pillar__txt{ font-size:14.5px; line-height:2; color:#3A6578; margin:0 0 22px; flex:1; }
.fm-pillar__link{ font-size:14px; color:#00B0E4; text-decoration:none; font-weight:500; display:inline-flex; align-items:center; gap:6px; }
.fm-pillar__link span{ transition:transform .16s ease; }
.fm-pillar__link:hover span{ transform:translateX(4px); }

/* 04 活動中プロジェクト */
.fm-pjlist{ margin-top:48px; border-top:1px solid #E7EFF3; }
.fm-pjrow{ display:flex; align-items:center; gap:24px; padding:22px 8px; border-bottom:1px solid #E7EFF3; text-decoration:none; color:inherit; transition:background .16s ease; }
.fm-pjrow:hover{ background:#F5FBFE; }
.fm-pjrow__name{ flex:0 0 190px; font-size:16px; font-weight:500; color:#0D2B3E; }
.fm-pjrow__items{ flex:1; font-size:14px; line-height:1.9; color:#3A6578; }
.fm-pjrow__arrow{ color:#00B0E4; transition:transform .16s ease; }
.fm-pjrow:hover .fm-pjrow__arrow{ transform:translateX(4px); }
.fm-projects__newsh{ font-size:15px; font-weight:500; color:#0D2B3E; letter-spacing:.06em; margin:56px 0 20px; }
.fm-news{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.fm-news__card{ text-decoration:none; color:inherit; display:block; }
.fm-news__thumb{ display:block; aspect-ratio:16/10; border-radius:12px; overflow:hidden; background:#EAF4F8; }
.fm-news__thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.fm-news__card:hover .fm-news__thumb img{ transform:scale(1.04); }
.fm-news__noimg{ display:block; width:100%; height:100%; background:linear-gradient(135deg,#EAF4F8,#D7EBF4); }
.fm-news__meta{ display:block; font-size:12px; color:#8FAEBB; letter-spacing:.06em; margin:14px 0 6px; }
.fm-news__ttl{ display:block; font-size:15px; line-height:1.8; color:#0D2B3E; }
.fm-news__card:hover .fm-news__ttl{ color:#00B0E4; }
.fm-projects .fm-actions{ display:flex; justify-content:center; margin-top:44px; }

/* 05 数字 */
.fm-stats__layout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; margin-top:44px; }
.fm-stats__map{ text-align:center; }
.fm-jpmap{ display:block; width:100%; max-width:460px; height:auto; margin:0 auto; }
.fm-jpmap__legend{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 10px; font-size:12px; color:#7C9CAB; margin:14px 0 0; }
.fm-jpmap__key{ display:inline-block; width:11px; height:11px; border-radius:3px; }
.fm-jpmap__key--high{ background:#00B0E4; }
.fm-jpmap__key--mid{ background:#9FDFF2; margin-left:8px; }
.fm-stats__list{ display:flex; flex-direction:column; gap:16px; }
.fm-stat{ padding:26px 30px; border-radius:14px; background:linear-gradient(180deg,#F4FBFE,#FFFFFF); border:1px solid #E7EFF3; display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.fm-stat__num{ font-size:clamp(38px,4vw,54px); font-weight:700; color:#00B0E4; line-height:1.1; margin:0; letter-spacing:.01em; }
.fm-stat__unit{ font-size:.42em; font-weight:500; color:#0D2B3E; margin-left:.25em; }
.fm-stat__label{ font-size:14px; color:#3A6578; margin:0; text-align:right; }
.fm-stats__note{ font-size:12px; line-height:1.9; color:#8FAEBB; margin:8px 0 0; }
.fm-stats__note a{ color:#3AA9CE; }

/* 06 ご相談 */
.fm-talk__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; align-items:stretch; }
.fm-talk__card{ background:#fff; border:1px solid #E7EFF3; border-radius:14px; padding:32px 28px; display:flex; flex-direction:column; }
.fm-talk__ttl{ font-size:17px; font-weight:500; line-height:1.7; color:#0D2B3E; margin:0 0 14px; }
.fm-talk__txt{ font-size:14.5px; line-height:2; color:#3A6578; margin:0 0 24px; flex:1; }
.fm-talk__card .farmo-btn{ align-self:flex-start; }

@media (max-width:900px){
  .farmo-regional .fm-sec{ padding:64px 0; }
  .fm-pillars__grid, .fm-news, .fm-stats__grid, .fm-talk__grid{ grid-template-columns:1fr; }
  .fm-pjrow{ flex-wrap:wrap; gap:6px 16px; }
  .fm-pjrow__name{ flex:0 0 100%; }
  .fm-pjrow__items{ flex:1 1 auto; }
}

/* ===== about 追加ブロック 2026-08 ===== */
/* 02 の図版（現場→いっしょに考える→つくる） */
.fm-loop{ display:flex; align-items:stretch; justify-content:center; gap:0; margin:44px 0 0; flex-wrap:wrap; }
.fm-loop__step{ flex:1 1 0; min-width:190px; max-width:260px; background:#fff; border:1px solid #E7EFF3; border-radius:14px; padding:24px 18px 22px; text-align:center; }
.fm-loop__n{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:#00B0E4; color:#fff; font-size:13px; font-weight:700; }
.fm-loop__t{ font-size:14.5px; line-height:1.85; color:#0D2B3E; margin:12px 0 0; }
.fm-loop__arrow{ flex:0 0 40px; align-self:center; height:1px; background:#CFE3EC; position:relative; }
.fm-loop__arrow::after{ content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-top:1px solid #CFE3EC; border-right:1px solid #CFE3EC; transform:rotate(45deg); }
.fm-loop__back{ font-size:13px; color:#7C9CAB; margin:18px 0 0; }

/* 導入事例 */
.fm-news--voices .fm-news__ttl{ margin-top:14px; }
.fm-voices .fm-news{ margin-top:44px; }
.fm-voices .fm-actions{ display:flex; justify-content:center; margin-top:40px; }
.fm-voices .fm-news__ttl{ font-size:14.5px; }


@media (max-width:900px){
  .fm-stats__layout{ grid-template-columns:1fr; gap:32px; }
  .fm-jpmap{ max-width:340px; }
  .fm-loop{ flex-direction:column; align-items:center; }
  .fm-loop__step{ max-width:none; width:100%; }
  .fm-loop__arrow{ flex:0 0 26px; width:1px; height:26px; }
  .fm-loop__arrow::after{ right:-3px; top:auto; bottom:0; transform:rotate(135deg); }
}

/* =====================================================================
   HOME（店頭型）2026-08
   ===================================================================== */
.farmo-home .fm-sec{ padding:88px 0; }
.farmo-home .fm-h2{ font-size:clamp(23px,2.2vw,32px); font-weight:400; line-height:1.6; letter-spacing:.03em; color:#0D2B3E; margin:0 0 16px; }
.farmo-home .fm-sub{ font-size:15px; line-height:2; color:#3A6578; margin:0; }

/* --- 03 ソリューション（分野別＝アプリ別） --- */
.fm-solgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.fm-solcard{ display:flex; flex-direction:column; text-decoration:none; color:inherit; background:#fff; border:1px solid #E7EFF3; border-radius:14px; overflow:hidden; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.fm-solcard:hover{ border-color:#9FDFF2; box-shadow:0 10px 26px rgba(13,43,62,.08); transform:translateY(-2px); }
.fm-solcard__media{ display:block; aspect-ratio:16/10; overflow:hidden; background:#EAF4F8; }
.fm-solcard__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.fm-solcard:hover .fm-solcard__media img{ transform:scale(1.03); }
.fm-solcard__body{ display:flex; flex-direction:column; flex:1; padding:20px 22px 18px; }
.fm-solcard__ttl{ display:block; font-size:18px; font-weight:500; color:#0D2B3E; }
.fm-solcard__txt{ display:block; font-size:13.5px; line-height:1.9; color:#3A6578; margin-top:7px; flex:1; }
.fm-solcard__app{ display:flex; align-items:center; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid #EFF5F8; }
.fm-solcard__appicon{ flex:0 0 auto; width:42px; height:42px; border-radius:11px; overflow:hidden; background:#EAF4F8; display:block; box-shadow:inset 0 0 0 1px rgba(13,43,62,.10); }
.fm-solcard__appicon img{ width:100%; height:100%; object-fit:cover; display:block; }
.fm-solcard__appicon.is-empty{ background:linear-gradient(140deg,#E4F3FA,#CFE9F5); border:1px dashed #A7D6EA; }
.fm-solcard__appmeta{ display:flex; flex-direction:column; min-width:0; }
.fm-solcard__applabel{ display:block; font-size:10.5px; letter-spacing:.08em; color:#9DBBC8; }
.fm-solcard__appname{ display:block; font-size:14px; font-weight:500; color:#0D2B3E; margin-top:3px; }
.fm-sollist .fm-actions{ display:flex; justify-content:center; margin-top:40px; }

/* --- 04 無料デモ --- */
.fm-trial__inner{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:48px; align-items:center; }
.fm-trial__lead{ font-size:15px; line-height:2.05; color:#3A6578; margin:0 0 24px; }
.fm-trial__steps{ list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:12px; }
.fm-trial__steps li{ display:flex; align-items:center; gap:12px; font-size:14.5px; color:#0D2B3E; }
.fm-trial__steps span{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:#00B0E4; color:#fff; font-size:12px; font-weight:700; }
.fm-trial .fm-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.fm-trial__media img{ width:100%; aspect-ratio:16/10; object-fit:cover; object-position:78% center; display:block; border-radius:16px; }

/* --- 対象者別のご案内 --- */
.fm-tgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:42px; }
.fm-tcard{ display:flex; flex-direction:column; text-decoration:none; color:inherit; background:#fff; border:1px solid #E7EFF3; border-radius:14px; overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.fm-tcard:hover{ border-color:#9FDFF2; box-shadow:0 10px 24px rgba(13,43,62,.08); transform:translateY(-2px); }
.fm-tcard__illust{ display:flex; align-items:center; justify-content:center; background:#F2F9FD; padding:22px 20px 18px; }
.fm-tcard__svg{ display:block; width:100%; max-width:132px; height:auto; }
.fm-tcard__body{ display:flex; flex-direction:column; flex:1; padding:20px 22px 18px; }
.fm-tcard__ttl{ display:block; font-size:16px; font-weight:500; color:#0D2B3E; }
.fm-tcard__txt{ display:block; font-size:13px; line-height:1.9; color:#3A6578; margin-top:10px; flex:1; }
.fm-tcard__arrow{ display:flex; margin-top:16px; }
.fm-tcard:hover .fm-arw{ transform:translateX(3px); }

/* --- 06 通信エリア / 07 スタジオ --- */
.fm-network__inner, .fm-studio__inner{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.fm-network__lead, .fm-studio__lead{ font-size:15px; line-height:2.05; color:#3A6578; margin:0 0 26px; }
.fm-network__media img, .fm-studio__media img{ width:100%; height:auto; display:block; border-radius:16px; }
.fm-network .fm-actions, .fm-studio .fm-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.fm-ext{ font-size:.85em; margin-left:4px; }

@media (max-width:1000px){
  .fm-picks{ grid-template-columns:1fr; }
  .fm-solgrid{ grid-template-columns:repeat(2,1fr); }
  .fm-tgrid{ grid-template-columns:repeat(2,1fr); }
  .fm-trial__inner, .fm-network__inner, .fm-studio__inner{ grid-template-columns:1fr; gap:32px; }
  .fm-studio__media{ order:2; }
}
@media (max-width:700px){
  .farmo-home .fm-sec{ padding:56px 0; }
  .fm-solgrid, .fm-tgrid{ grid-template-columns:1fr; }
  .fm-pick--sub{ flex-direction:column; }
  .fm-pick--sub .fm-pick__media{ flex:none; aspect-ratio:16/10; }
  .fm-topnews__inner{ flex-direction:column; align-items:flex-start; gap:12px; }
  .fm-topnews__list a{ flex-direction:column; gap:2px; }
  .fm-topnews__ttl{ white-space:normal; }
}

/* ===== HOME ファーストビュー（全幅）2026-08 ===== */
.fm-fv{ position:relative; width:100%; min-height:clamp(420px,52vw,600px); display:flex; align-items:center; overflow:hidden; background:#fff; }
.fm-fv__media{ position:absolute; inset:0; overflow:hidden; }
.fm-fv__media img{ width:100%; height:100%; object-fit:cover; object-position:60% 55%; display:block; transform:translateX(9%); }
.fm-fv__phone{ position:absolute; right:8%; bottom:7%; width:clamp(140px,14.5vw,258px); z-index:2; filter:drop-shadow(0 18px 34px rgba(13,43,62,.28)); }
.fm-fv__phone img{ width:100%; height:auto; display:block; transform:none; object-fit:contain; }
.fm-fv__scrim{ position:absolute; inset:0; background:linear-gradient(90deg, #fff 0%, #fff 11%, rgba(255,255,255,.94) 24%, rgba(255,255,255,.78) 35%, rgba(255,255,255,.28) 48%, rgba(255,255,255,0) 60%); }
.fm-fv__inner{ position:relative; width:100%; padding:56px 0; }
.fm-fv__box{ max-width:500px; }
.fm-fv__ey{ font-size:12px; letter-spacing:.16em; font-weight:700; color:#00B0E4; margin:0 0 14px; }
.fm-fv__h1{ font-size:clamp(26px,2.9vw,44px); font-weight:500; line-height:1.45; letter-spacing:.01em; color:#0D2B3E; margin:0 0 20px; }
.fm-fv__lead{ font-size:clamp(13.5px,.95vw,15px); line-height:2.05; color:#2E5666; margin:0 0 30px; }
.fm-fv .fm-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.fm-fv .farmo-btn--ghost{ background:#fff; }
.fm-fv__btn{ padding-left:28px; padding-right:28px; color:#0D2B3E; font-weight:500; border-color:#BFDCE7; box-shadow:0 4px 14px rgba(13,43,62,.10); }
.fm-fv__btn:hover{ color:#0092BE; border-color:#7FD8F1; }
.fm-fv__btn:hover{ box-shadow:0 6px 18px rgba(13,43,62,.14); }

/* よくあるご質問 */
.fm-hfaq__list{ margin-top:42px; max-width:900px; margin-left:auto; margin-right:auto; display:flex; flex-direction:column; gap:14px; }
.fm-hfaq__item{ background:#fff; border:1px solid #E7EFF3; border-radius:14px; padding:24px 26px; }
.fm-hfaq__q{ display:flex; gap:12px; font-size:16px; font-weight:500; color:#0D2B3E; margin:0 0 10px; line-height:1.7; }
.fm-hfaq__a{ display:flex; gap:12px; font-size:14px; line-height:1.95; color:#3A6578; margin:0; }
.fm-hfaq__q span, .fm-hfaq__a span{ flex:0 0 22px; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; font-size:11px; font-weight:700; margin-top:2px; }
.fm-hfaq__q span{ background:#00B0E4; color:#fff; }
.fm-hfaq__a span{ background:#EAF4F8; color:#00B0E4; }
.fm-hfaq .fm-actions{ display:flex; justify-content:center; margin-top:36px; }

/* 中間幅：文字と製品が重ならないよう文字幅を詰め、写真をもう少し右へ */
@media (max-width:1240px){
  .fm-fv__box{ max-width:410px; }
  .fm-fv__h1{ font-size:clamp(23px,2.8vw,34px); }
  .fm-fv__media img{ transform:translateX(12%); }
  .fm-fv__phone{ right:6%; width:clamp(120px,13vw,190px); }
  .fm-fv__scrim{ background:linear-gradient(90deg, #fff 0%, #fff 14%, rgba(255,255,255,.94) 26%, rgba(255,255,255,.78) 37%, rgba(255,255,255,.28) 50%, rgba(255,255,255,0) 62%); }
}
@media (max-width:900px){
  .fm-fv{ min-height:0; }
  .fm-fv__media{ position:static; }
  .fm-fv__media{ position:relative; }
  .fm-fv__media img{ height:auto; aspect-ratio:16/9; transform:none; }
  .fm-fv__phone{ right:5%; bottom:6%; width:24%; min-width:96px; }
  .fm-fv__scrim{ display:none; }
  .fm-fv__inner{ position:static; padding:32px 0 40px; background:#fff; }
  .fm-fv__box{ max-width:none; }
  .fm-bnrow__inner{ grid-template-columns:1fr; }
  .fm-buyline__inner{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:560px){
  .fm-bnr{ flex-direction:column; }
  .fm-bnr__media{ flex:none; aspect-ratio:16/9; }
  .fm-bnr__body{ padding:16px 18px 18px; }
  .fm-bnr__arrow{ display:none; }
}

/* ===== HOME 帯・ティッカー・おすすめバナー 2026-08 ===== */
/* 矢印アイコン */
.fm-arw{ flex:0 0 auto; display:block; transition:transform .18s ease; }
.fm-arw--ghost{ color:#00B0E4; }

/* 購入・お試しの帯 */
.fm-actbar{ background:#E6F5FC; }
.fm-actbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:16px 32px; flex-wrap:wrap; padding-top:20px; padding-bottom:20px; }
.fm-actbar__links{ display:flex; align-items:center; gap:32px; flex-wrap:wrap; margin:0; }
.fm-actbar__links a{ color:#0D2B3E; text-decoration:none; font-size:15px; font-weight:500; display:inline-flex; align-items:center; gap:10px; }
.fm-actbar__links a .fm-arw{ color:#00B0E4; }
.fm-actbar__links a:hover{ color:#0092BE; }
.fm-actbar__links a:hover .fm-arw{ transform:translateX(3px); }
.fm-actbar__btn{ flex:0 0 auto; }

/* お知らせ 1行ティッカー */
.fm-tick{ border-bottom:1px solid #E7EFF3; background:#fff; }
.fm-tick__inner{ display:flex; align-items:center; gap:20px; padding-top:16px; padding-bottom:16px; }
.fm-tick__label{ flex:0 0 auto; font-size:12px; letter-spacing:.12em; font-weight:700; color:#00B0E4; }
.fm-tick__list{ position:relative; flex:1; min-width:0; list-style:none; margin:0; padding:0; height:24px; }
.fm-tick__item{ position:absolute; inset:0; opacity:0; transform:translateY(6px); transition:opacity .45s ease, transform .45s ease; pointer-events:none; }
.fm-tick__item.is-active{ opacity:1; transform:none; pointer-events:auto; }
.fm-tick__item a{ display:flex; align-items:baseline; gap:16px; text-decoration:none; color:#0D2B3E; font-size:14px; line-height:24px; }
.fm-tick__item time{ flex:0 0 auto; font-size:12px; color:#8FAEBB; letter-spacing:.04em; }
.fm-tick__ttl{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fm-tick__item a:hover .fm-tick__ttl{ color:#00B0E4; text-decoration:underline; text-underline-offset:3px; }
.fm-tick__more{ flex:0 0 auto; font-size:13px; color:#3A6578; text-decoration:none; display:inline-flex; gap:8px; align-items:center; }
.fm-tick__more .fm-arw{ width:18px; height:18px; }
.fm-tick__more:hover{ color:#00B0E4; }
.fm-tick__more:hover .fm-arw{ transform:translateX(3px); }

/* いま押しのピックアップ（3件・横並びの帯型） */
.fm-bnrow{ padding:30px 0 32px; background:#fff; }
.fm-bnrow__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.fm-bnr{ display:flex; align-items:stretch; text-decoration:none; color:inherit; background:#F5FAFD; border:1px solid #EAF2F7; border-radius:12px; overflow:hidden; transition:background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.fm-bnr:hover{ background:#fff; border-color:#9FDFF2; box-shadow:0 8px 22px rgba(13,43,62,.08); }
.fm-bnr__media{ flex:0 0 152px; overflow:hidden; background:#EAF4F8; }
.fm-bnr__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.fm-bnr__body{ flex:1; min-width:0; padding:14px 6px 14px 15px; display:flex; flex-direction:column; justify-content:center; }
.fm-bnr__label{ display:block; font-size:10.5px; letter-spacing:.08em; font-weight:700; color:#00B0E4; }
.fm-bnr__ttl{ display:block; font-size:14px; font-weight:500; line-height:1.6; color:#0D2B3E; margin-top:5px; line-break:strict; word-break:auto-phrase; }
.fm-bnr__name{ display:block; font-size:11.5px; color:#8FAEBB; margin-top:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fm-bnr__arw{ flex:0 0 auto; align-self:center; padding:0 10px; display:flex; }
.fm-bnr__arw .fm-arw{ width:18px; height:18px; }
.fm-bnr:hover .fm-arw{ transform:translateX(3px); }

@media (max-width:900px){
  .fm-actbar__inner{ flex-direction:column; align-items:stretch; gap:14px; }
  .fm-actbar__links{ flex-direction:column; align-items:flex-start; gap:12px; }
  .fm-actbar__btn{ align-self:flex-start; }
  .fm-tick__inner{ flex-wrap:wrap; gap:10px 16px; }
  .fm-tick__list{ flex:1 1 100%; order:3; }
  .fm-bnrow__grid{ grid-template-columns:1fr; gap:16px; }
}
@media (max-width:560px){
  .fm-bnr__ttl{ font-size:15px; }
  .fm-bnrow{ padding:30px 0 34px; }
}

/* 見出し内の強調（前後に余白をとる） */
.farmo-home .fm-h2 .fm-em{ display:inline-block; margin:0 .32em; }


/* --- ソリューションページ共通（/solution/*） --- */
.farmo-main .fm-solp{ display:block; position:relative; left:50%; transform:translateX(-50%); width:min(1040px, calc(100vw - 56px)); }
.farmo-main .fm-solp br,
.farmo-main .fm-solp__sec > p:empty{ display:none; }
.farmo-main .fm-solp__sec{ margin:0 0 56px; }
.farmo-main .fm-solp__sec:last-child{ margin-bottom:8px; }
.farmo-main .fm-solp__sec--soft{ background:#F5FAFD; border:1px solid #EAF2F7; border-radius:18px; padding:34px 34px 30px; }
.farmo-main .fm-solp__h{ font-size:clamp(21px,2.1vw,28px); font-weight:500; line-height:1.55; color:#0D2B3E; margin:0 0 14px; letter-spacing:.01em; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-solp__lead{ font-size:15px; line-height:2; color:#3A6578; margin:0 0 26px; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-solp__sec--soft .fm-solp__lead{ margin-bottom:0; }
.farmo-main .fm-solp__cases{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.farmo-main .fm-solp__cases li{ margin:0; padding:20px 22px; background:#fff; border:1px solid #E7EFF3; border-radius:14px; }
.farmo-main .fm-solp__cases b{ display:block; font-size:15px; font-weight:600; color:#0D2B3E; margin:0 0 7px; }
.farmo-main .fm-solp__cases span{ display:block; font-size:13.5px; line-height:1.9; color:#3A6578; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-solp__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.farmo-main .fm-solp__card{ background:#F5FAFD; border:1px solid #EAF2F7; border-radius:14px; padding:24px 22px; }
.farmo-main .fm-solp__card h3{ font-size:16px; font-weight:600; color:#0D2B3E; margin:0 0 10px; line-height:1.6; }
.farmo-main .fm-solp__card p{ font-size:13.5px; line-height:1.95; color:#3A6578; margin:0; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-solp__links{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.farmo-main .fm-solp__link{ display:block; text-decoration:none; background:#fff; border:1px solid #E7EFF3; border-radius:16px; padding:24px 24px 22px; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.farmo-main .fm-solp__link:hover{ border-color:#BFE4F3; box-shadow:0 10px 26px rgba(13,43,62,.07); transform:translateY(-2px); }
.farmo-main .fm-solp__link-ey{ display:block; font-size:11px; letter-spacing:.09em; color:#00B0E4; font-weight:600; margin:0 0 6px; }
.farmo-main .fm-solp__link-ttl{ display:block; font-size:19px; font-weight:600; color:#0D2B3E; margin:0 0 10px; }
.farmo-main .fm-solp__link-txt{ display:block; font-size:13.5px; line-height:1.95; color:#3A6578; margin:0 0 14px; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-solp__link-go{ display:inline-block; font-size:13.5px; font-weight:600; color:#00B0E4; }
.farmo-main .fm-solp__link-go::after{ content:"→"; margin-left:6px; }
.farmo-main .fm-solp__btns{ margin:22px 0 0; display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width:820px){
  .farmo-main .fm-solp__cases,
  .farmo-main .fm-solp__grid,
  .farmo-main .fm-solp__links{ grid-template-columns:1fr; }
  .farmo-main .fm-solp__sec{ margin-bottom:40px; }
  .farmo-main .fm-solp__sec--soft{ padding:26px 20px 24px; }
}

/* ステップ（営農シーンの流れ） */
.farmo-main .fm-solp__steps{ display:grid; gap:16px; }
.farmo-main .fm-step{ display:grid; grid-template-columns:156px 1fr; gap:26px; background:#fff; border:1px solid #E7EFF3; border-radius:16px; padding:26px 28px; align-items:start; }
.farmo-main .fm-step__scene{ }
.farmo-main .fm-step__no{ display:block; font-size:11px; letter-spacing:.12em; color:#8FB6C7; font-weight:600; margin:0 0 4px; }
.farmo-main .fm-step__name{ display:block; font-size:20px; font-weight:600; color:#00B0E4; line-height:1.4; }
.farmo-main .fm-step__ttl{ font-size:17px; font-weight:600; color:#0D2B3E; margin:0 0 10px; line-height:1.65; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-step__txt{ font-size:14px; line-height:2; color:#3A6578; margin:0 0 14px; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-step__txt:last-child{ margin-bottom:0; }
.farmo-main .fm-step__use{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.farmo-main .fm-step__uselab{ font-size:11.5px; color:#8FB6C7; font-weight:600; letter-spacing:.06em; margin-right:2px; }
.farmo-main .fm-chip{ display:inline-block; font-size:13px; font-weight:600; color:#0D2B3E; text-decoration:none; background:#F2F9FD; border:1px solid #DCEEF7; border-radius:999px; padding:6px 14px; transition:background .16s ease, border-color .16s ease; }
.farmo-main a.fm-chip:hover{ background:#E6F5FC; border-color:#BFE4F3; }
.farmo-main .fm-chip--soon{ color:#6F93A4; background:#F7FAFC; border-style:dashed; font-weight:500; }

.farmo-main .fm-step__illust{ display:block; margin:12px 0 0; max-width:92px; }
.farmo-main .fm-step__illust svg{ width:100%; height:auto; display:block; }
.farmo-main .fm-step__voice{ margin:14px 0 0; padding:12px 16px; background:#F5FAFD; border-radius:10px; font-size:13px; line-height:1.9; color:#3A6578; }

/* アプリ紹介 */
.farmo-main .fm-solp__app{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center; }
.farmo-main .fm-solp__appfig{ margin:0; }
.farmo-main .fm-solp__appfig img{ display:block; width:100%; height:auto; }
.farmo-main .fm-solp__applist{ list-style:none; margin:0 0 18px; padding:0; }
.farmo-main .fm-solp__applist li{ position:relative; padding:0 0 0 22px; margin:0 0 9px; font-size:14px; line-height:1.95; color:#3A6578; }
.farmo-main .fm-solp__applist li::before{ content:""; position:absolute; left:2px; top:11px; width:8px; height:8px; border-radius:50%; background:#00B0E4; }

/* 製品カード */
.farmo-main .fm-solp__prods{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.farmo-main .fm-prod{ display:block; text-decoration:none; background:#fff; border:1px solid #E7EFF3; border-radius:16px; overflow:hidden; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.farmo-main a.fm-prod:hover{ border-color:#BFE4F3; box-shadow:0 10px 26px rgba(13,43,62,.07); transform:translateY(-2px); }
.farmo-main .fm-prod__ph{ display:block; aspect-ratio:4/3; background:#F2F9FD; overflow:hidden; margin:0 20px; border-radius:12px; }
.farmo-main .fm-prod__ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.farmo-main .fm-prod__bd{ display:block; padding:18px 20px 20px; }
.farmo-main .fm-prod__ttl{ display:block; font-size:16px; font-weight:600; color:#0D2B3E; margin:0 0 6px; }
.farmo-main .fm-prod__txt{ display:block; font-size:13px; line-height:1.9; color:#3A6578; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-prod--soon{ opacity:.72; }
.farmo-main .fm-prod--soon .fm-prod__ph{ background:linear-gradient(140deg,#E9F4FA,#F7FBFD); display:flex; align-items:center; justify-content:center; }
.farmo-main .fm-prod--soon .fm-prod__ph::after{ content:"写真は準備中です"; font-size:12px; letter-spacing:.04em; color:#9FBCCB; }
.farmo-main .fm-prod__tag{ display:inline-block; font-size:11px; font-weight:600; letter-spacing:.06em; color:#00B0E4; background:#E6F5FC; border-radius:999px; padding:3px 10px; margin:0 0 8px; }

/* 関連事業 */
.farmo-main .fm-solp__rel{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.farmo-main .fm-rel{ background:#fff; border:1px solid #E7EFF3; border-radius:16px; padding:24px 24px 22px; }
.farmo-main .fm-rel h3{ font-size:17px; font-weight:600; color:#0D2B3E; margin:0 0 10px; line-height:1.6; }
.farmo-main .fm-rel p{ font-size:13.5px; line-height:1.95; color:#3A6578; margin:0 0 12px; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-rel__more{ font-size:13px; font-weight:600; color:#00B0E4; text-decoration:none; }
.farmo-main .fm-rel__more::after{ content:"↗"; margin-left:5px; font-size:11px; }
.farmo-main .fm-solp__note{ font-size:12.5px; line-height:1.9; color:#7C9EB0; margin:16px 0 0; }

@media (max-width:820px){
  .farmo-main .fm-step{ grid-template-columns:1fr; gap:12px; padding:22px 20px; }
  .farmo-main .fm-solp__app,
  .farmo-main .fm-solp__prods,
  .farmo-main .fm-solp__rel{ grid-template-columns:1fr; gap:20px; }
}

/* --- ソリューションページ 写真ヒーロー --- */
.farmo-main .fm-solhero{ position:relative; width:100%; min-height:clamp(360px,40vw,500px); display:flex; align-items:center; overflow:hidden; background:#fff; padding:0; }
.farmo-main .fm-solhero__media{ position:absolute; inset:0; }
.farmo-main .fm-solhero__media img{ width:100%; height:100%; object-fit:cover; object-position:center 60%; display:block; transform:scale(1.14) translateX(5%); transform-origin:center 60%; }
.farmo-main .fm-solhero__scrim{ position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.95) 26%,rgba(255,255,255,.8) 42%,rgba(255,255,255,.25) 62%,rgba(255,255,255,0) 76%); }
.farmo-main .fm-solhero__inner{ position:relative; z-index:2; width:100%; padding-top:34px; padding-bottom:34px; }
.farmo-main .fm-solhero__ey{ display:inline-block; font-size:12.5px; font-weight:600; letter-spacing:.14em; color:#00B0E4; background:#E6F5FC; border-radius:999px; padding:5px 14px; margin:0 0 16px; }
.farmo-main .fm-solhero__h1{ font-size:clamp(25px,3vw,42px); font-weight:500; line-height:1.55; color:#0D2B3E; margin:0 0 16px; letter-spacing:.01em; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-solhero__lead{ max-width:480px; font-size:15px; line-height:2.05; color:#3A6578; margin:0; line-break:strict; word-break:auto-phrase; }
@media (max-width:820px){
  .farmo-main .fm-solhero{ min-height:0; }
  .farmo-main .fm-solhero__media{ position:relative; height:52vw; }
  .farmo-main .fm-solhero__scrim{ display:none; }
  .farmo-main .fm-solhero__inner{ padding-top:22px; padding-bottom:8px; }
}

/* --- 導入メリット --- */
.farmo-main .fm-merits{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.farmo-main .fm-merit{ background:#F5FAFD; border:1px solid #EAF2F7; border-radius:16px; padding:26px 26px 24px; display:grid; grid-template-columns:82px 1fr; grid-template-areas:"kw kw" "art voice" "txt txt"; gap:12px 18px; align-items:center; }
.farmo-main .fm-merit__art{ grid-area:art; display:block; }
.farmo-main .fm-merit__art svg{ width:100%; height:auto; display:block; }
.farmo-main .fm-merit__kw{ grid-area:kw; display:block; font-size:19px; font-weight:600; color:#0D2B3E; margin:0; line-height:1.5; }
.farmo-main .fm-merit__kw b{ color:#00B0E4; font-weight:600; }
.farmo-main .fm-merit__voice{ grid-area:voice; margin:0; font-size:14px; line-height:1.95; color:#0D2B3E; background:#fff; border-radius:10px; padding:12px 16px; position:relative; }
.farmo-main .fm-merit__txt{ grid-area:txt; margin:0; font-size:13.5px; line-height:1.95; color:#3A6578; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-merit__txt em{ font-style:normal; font-weight:600; color:#0D2B3E; }

/* --- 工程フロー（丸写真） --- */
.farmo-main .fm-flow{ display:flex; align-items:flex-start; justify-content:center; gap:0; margin:34px 0 10px; }
.farmo-main .fm-flow__item{ flex:0 1 236px; text-align:center; }
.farmo-main .fm-flow__ph{ display:block; width:clamp(120px,16.5vw,216px); height:clamp(120px,16.5vw,216px); border-radius:50%; overflow:hidden; margin:0 auto 12px; border:4px solid #fff; box-shadow:0 6px 20px rgba(13,43,62,.14); background:#EAF4F8; }
.farmo-main .fm-flow__ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.farmo-main .fm-flow__name{ display:block; font-size:16px; font-weight:600; color:#0D2B3E; margin:0 0 4px; }
.farmo-main .fm-flow__prod{ display:block; font-size:12px; line-height:1.7; color:#5E859A; }
.farmo-main .fm-flow__prod br{ display:inline; }
.farmo-main .fm-flow__arrow{ flex:0 0 auto; align-self:flex-start; margin-top:clamp(52px,7.5vw,96px); color:#9CCFE4; font-size:20px; padding:0 4px; }
@media (max-width:820px){
  .farmo-main .fm-merits{ grid-template-columns:1fr; }
  .farmo-main .fm-flow{ flex-wrap:wrap; gap:14px 0; }
  .farmo-main .fm-flow__item{ flex:0 0 50%; }
  .farmo-main .fm-flow__arrow{ display:none; }
}

/* --- 選ばれる理由・お試し帯・ラインナップ価格・関連3列・スタジオ --- */
.farmo-main .fm-why__ic{ display:block; width:54px; margin:0 0 14px; }
.farmo-main .fm-why__ic svg{ width:100%; height:auto; display:block; }
.farmo-main .fm-tryband{ margin:26px 0 0; background:#E6F5FC; border-radius:14px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.farmo-main .fm-tryband__txt{ margin:0; font-size:14px; line-height:1.9; color:#3A6578; line-break:strict; word-break:auto-phrase; }
.farmo-main .fm-tryband__txt b{ display:block; font-size:15.5px; color:#0D2B3E; }
.farmo-main .fm-prod__use{ display:inline-block; font-size:11.5px; font-weight:600; letter-spacing:.05em; color:#00B0E4; background:#E6F5FC; border-radius:999px; padding:3px 10px; margin:0 0 8px; }
.farmo-main .fm-prod__price{ display:block; margin:16px -20px -20px; padding:12px 20px; background:#E9F6FC; font-size:17px; font-weight:600; color:#0D2B3E; }
.farmo-main .fm-prod__price small{ font-size:11.5px; font-weight:500; color:#7C9EB0; }
.farmo-main .fm-solp__rel--3{ grid-template-columns:repeat(3,1fr); }
.farmo-main .fm-rel__more--in::after{ content:"→"; }
.farmo-main .fm-rel__more + .fm-rel__more{ margin-left:14px; }
@media (max-width:820px){
  .farmo-main .fm-solp__rel--3{ grid-template-columns:1fr; }
  .farmo-main .fm-tryband{ flex-direction:column; align-items:flex-start; }
}

/* ヒーローのアプリ名ラベル（アイコン付き） */
.farmo-main .fm-solhero__ey--app{ display:inline-flex; align-items:center; gap:9px; font-size:14.5px; letter-spacing:.06em; padding:7px 16px 7px 9px; background:#fff; box-shadow:0 4px 14px rgba(13,43,62,.10); }
.farmo-main .fm-solhero__eyic{ width:26px; height:26px; border-radius:7px; display:block; box-shadow:0 0 0 1px rgba(13,43,62,.08); }

/* --- フロー：角丸縦長写真版 --- */
.farmo-main .fm-flow--photo{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:34px 0 64px; }
.farmo-main .fm-flow--photo .fm-flow__item{ flex:none; text-align:center; }
.farmo-main .fm-flow--photo .fm-flow__ph{ width:100%; height:auto; aspect-ratio:3/4; border-radius:18px; border:none; margin:0 0 14px; box-shadow:0 12px 28px rgba(13,43,62,.14); }
.farmo-main .fm-flow--photo .fm-flow__name{ font-size:17px; margin-bottom:5px; }
.farmo-main .fm-flow--photo .fm-flow__prod{ font-size:15px; color:#3A6578; line-height:1.6; }
/* --- ステップの製品写真 --- */
.farmo-main .fm-step__pphoto{ display:block; margin:14px 0 0; width:100%; max-width:156px; border-radius:14px; overflow:hidden; background:#fff; border:1px solid #E7EFF3; }
.farmo-main .fm-step__pphoto img{ width:100%; height:190px; object-fit:cover; display:block; }
/* --- アプリ全幅セクション --- */
.farmo-main .fm-appwide__fig{ margin:28px auto 32px; max-width:730px; }
.farmo-main .fm-appwide__fig img{ width:100%; height:auto; display:block; }
.farmo-main .fm-appfeats{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.farmo-main .fm-appfeat{ text-align:center; padding:0 4px; }
.farmo-main .fm-appfeat__ic{ display:block; width:46px; margin:0 auto 10px; color:#00B0E4; }
.farmo-main .fm-appfeat__ic svg{ width:100%; height:auto; display:block; }
.farmo-main .fm-appfeat__ttl{ display:block; font-size:15.5px; font-weight:600; color:#0D2B3E; margin:0 0 6px; }
.farmo-main .fm-appfeat__txt{ margin:0; font-size:13px; line-height:1.95; color:#3A6578; text-align:left; line-break:strict; word-break:auto-phrase; }
/* --- 選ばれる理由 v2 --- */
.farmo-main .fm-why2{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.farmo-main .fm-why2__card{ background:#fff; border:1px solid #E7EFF3; border-radius:18px; padding:30px 26px 28px; text-align:center; box-shadow:0 8px 22px rgba(13,43,62,.05); }
.farmo-main .fm-why2__no{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.16em; color:#7CB9D4; margin:0 0 14px; }
.farmo-main .fm-why2__ic{ display:flex; width:86px; height:86px; border-radius:50%; background:#E6F5FC; margin:0 auto 18px; align-items:center; justify-content:center; }
.farmo-main .fm-why2__ic svg{ width:46px; height:46px; display:block; }
.farmo-main .fm-why2__ttl{ font-size:19px; font-weight:600; color:#0D2B3E; margin:0 0 12px; line-height:1.6; }
.farmo-main .fm-why2__ttl br{ display:inline; }
.farmo-main .fm-why2__ttl b{ color:#00B0E4; font-weight:700; }
.farmo-main .fm-why2__txt{ margin:0; font-size:13.5px; line-height:2; color:#3A6578; text-align:left; line-break:strict; word-break:auto-phrase; }
@media (max-width:820px){
  .farmo-main .fm-flow--photo{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .farmo-main .fm-appfeats{ grid-template-columns:repeat(2,1fr); }
  .farmo-main .fm-why2{ grid-template-columns:1fr; }
}

.farmo-main .fm-prod__catch{ display:block; padding:17px 20px 13px; font-size:17px; font-weight:400; color:#0D2B3E; line-height:1.55; letter-spacing:.01em; line-break:strict; word-break:auto-phrase; }

/* --- ページ下部：画面幅いっぱいの薄水色バンド --- */
.farmo-main .fm-solp__deep{ background:#EAF6FC; box-shadow:0 0 0 100vmax #EAF6FC; clip-path:inset(0 -100vmax); margin-top:72px; padding:64px 0 40px; }
.farmo-main .fm-solp__deep .fm-solp__sec{ margin-bottom:64px; }
.farmo-main .fm-solp__deep .fm-solp__sec:last-child{ margin-bottom:0; }
/* 関連カードの写真 */
.farmo-main .fm-rel{ overflow:hidden; }
.farmo-main .fm-rel__ph{ display:block; margin:-24px -24px 18px; aspect-ratio:16/7; overflow:hidden; }
.farmo-main .fm-rel__ph img{ width:100%; height:100%; object-fit:cover; display:block; }


/* --- r7: ラインナップカード調整・理由セクション枠 --- */
.farmo-main .fm-solp__prods > p{display:none;}
.farmo-main .fm-prod{display:flex;flex-direction:column;box-shadow:0 6px 16px rgba(13,43,62,.06);}
.farmo-main a.fm-prod:hover{box-shadow:0 14px 30px rgba(13,43,62,.13);}
.farmo-main .fm-prod__catch{font-weight:600;}
.farmo-main .fm-prod__bd{display:flex;flex-direction:column;flex:1;}
.farmo-main .fm-prod__txt{margin-bottom:16px;}
.farmo-main .fm-prod__price{margin-top:auto;}
.farmo-main .fm-solp__softbox{background:#F5FAFD;border:1px solid #EAF2F7;border-radius:18px;padding:34px 34px 30px;}


/* --- r8: 関連カードのコンパクト化・ボタン文字色 --- */
.farmo-main .fm-rel{padding:18px 20px 16px;}
.farmo-main .fm-rel__ph{margin:-18px -20px 14px;aspect-ratio:16/6;}
.farmo-main .fm-rel h3{font-size:15.5px;margin:0 0 6px;}
.farmo-main .fm-rel p{font-size:12.5px;line-height:1.8;margin:0 0 8px;}
.farmo-main .fm-rel__more{font-size:12.5px;}
.farmo-main .fm-solp__deep{padding:64px 0 56px;}
.farmo-main .fm-article a.farmo-btn--primary{color:#fff;}
.farmo-main .fm-article a.farmo-btn--primary:hover{color:#fff;}


/* --- r9: FVカバー・スマホオーバーレイ・ラベル拡大 --- */
.farmo-main .fm-solhero__media img{transform:none;}
.farmo-main .fm-solhero__media img.fm-solhero__phone{position:absolute;right:min(6vw,110px);bottom:7%;height:80%;width:auto;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(13,43,62,.30));z-index:1;}
.farmo-main .fm-solhero__ey--app{font-size:19px;gap:11px;padding:9px 22px 9px 12px;letter-spacing:.05em;}
.farmo-main .fm-solhero__eyic{width:34px;height:34px;border-radius:9px;}
@media (max-width:820px){.farmo-main .fm-solhero__media img.fm-solhero__phone{height:74%;right:5vw;bottom:8%;}}


/* --- r10: 工程アイコン・デモ帯アイコン --- */
.farmo-main .fm-flow--photo .fm-flow__ico{display:block;width:46px;height:46px;margin:16px auto 6px;}
.farmo-main .fm-flow--photo .fm-flow__ico svg{width:100%;height:100%;display:block;}
.farmo-main .fm-step__nic{display:inline-block;width:22px;height:22px;vertical-align:-3.5px;margin-right:7px;}
.farmo-main .fm-tryband{border:1px solid #BFE4F3;}
.farmo-main .fm-tryband__lead{display:flex;align-items:center;gap:15px;flex:1 1 320px;}
.farmo-main .fm-tryband__ic{flex:none;width:46px;height:46px;}
.farmo-main .fm-tryband__ic svg{width:100%;height:100%;display:block;}


/* --- r11: 製品名サイズ・色、価格右寄せ --- */
.farmo-main .fm-prod__ttl{font-size:15px;color:#00B0E4;}
.farmo-main .fm-prod__price{text-align:right;}


/* --- r12: 「その✖！」強調 --- */
.farmo-main .fm-why2__no{font-size:16px;font-weight:700;letter-spacing:.1em;color:#00B0E4;margin:0 0 12px;}


/* --- r13: 関連カードの事業タイトル帯 --- */
.farmo-main .fm-rel__ph{position:relative;}
.farmo-main .fm-rel__cat{position:absolute;left:0;bottom:0;background:rgba(0,176,228,.92);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.05em;padding:6px 16px;border-radius:0 12px 0 0;line-height:1.4;}


/* --- r14: リード文内の改行を有効化 --- */
.farmo-main .fm-solp__lead br{display:inline;}


/* --- r15: ファーモスタジオロゴ --- */
.farmo-main .fm-studio__logo{margin:0 0 20px;}
.farmo-main .fm-studio__logo img{display:block;max-width:290px;height:auto;}


/* --- r16: セクション見出し拡大・余白増 --- */
.farmo-main .fm-solp__sec{margin:0 0 96px;}
.farmo-main .fm-solp__h{font-size:clamp(23px,2.4vw,32px);margin:0 0 18px;}
.farmo-main .fm-solp__lead{margin:0 0 46px;}
.farmo-main .fm-solp__sec--soft .fm-solp__lead{margin-bottom:0;}
.farmo-main .fm-solp__deep{margin-top:96px;}
.farmo-main .fm-solp__deep + .fm-solp__sec{margin-top:88px;}
@media (max-width:820px){.farmo-main .fm-solp__sec{margin:0 0 64px;}.farmo-main .fm-solp__deep{margin-top:64px;}.farmo-main .fm-solp__deep + .fm-solp__sec{margin-top:56px;}}


/* --- r17: リード下マージン（優先度強化） --- */
.farmo-main .fm-article p.fm-solp__lead{margin:0 0 46px;}
.farmo-main .fm-article .fm-solp__sec--soft p.fm-solp__lead{margin-bottom:0;}


/* --- r18: セクション見出しの丸飾り --- */
.farmo-main .fm-solp__h{display:flex;align-items:center;gap:16px;}
.farmo-main .fm-solp__h::before{content:"";display:block;flex:none;width:44px;height:44px;border:1.5px solid #00B0E4;border-radius:50%;}
@media (max-width:820px){.farmo-main .fm-solp__h{gap:12px;}.farmo-main .fm-solp__h::before{width:34px;height:34px;}}


/* --- r19: 見出しの丸をグレー・フォント高に、スタジオ背景テクスチャ --- */
.farmo-main .fm-solp__h::before{width:1.06em;height:1.06em;border-color:#A2B1BA;}
@media (max-width:820px){.farmo-main .fm-solp__h::before{width:1.06em;height:1.06em;}}
.farmo-main .fm-solp__sec--studio{position:relative;z-index:0;padding:56px 0 48px;}
.farmo-main .fm-solp__sec--studio::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;background:#fff url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='520' height='520'><g fill='none' stroke='%23D6EDF8' stroke-width='1.3'><path d='M40 90 C140 60 210 140 300 120 S470 180 510 150'/><path d='M-10 260 C90 230 170 310 260 280 S420 330 530 300'/><path d='M60 430 C160 400 240 470 330 440 S480 490 540 460'/><path d='M120 40 C150 130 90 200 130 270'/><path d='M370 80 C400 170 340 240 380 310 S360 430 400 500'/><circle cx='40' cy='90' r='5'/><circle cx='300' cy='120' r='7'/><circle cx='130' cy='270' r='6'/><circle cx='260' cy='280' r='5'/><circle cx='380' cy='310' r='7'/><circle cx='330' cy='440' r='5'/><circle cx='370' cy='80' r='5'/></g><g fill='%23D6EDF8'><circle cx='210' cy='170' r='3'/><circle cx='450' cy='240' r='3'/><circle cx='90' cy='360' r='3'/><circle cx='480' cy='430' r='3'/></g></svg>") repeat;background-size:520px 520px;}
body{overflow-x:clip;}


/* --- r20: 丸微調整・シームレステクスチャ --- */
.farmo-main .fm-solp__h{gap:10px;}
.farmo-main .fm-solp__h::before{width:.95em;height:.95em;border-color:#0D2B3E;}
.farmo-main .fm-solp__sec--studio::before{top:-88px;bottom:-97px;background:#fff url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='480' height='384'><g fill='none' stroke='%23D6EDF8' stroke-width='1.3'><path d='M0 -96 C90 -102,150 -136,240 -144 C330 -152,390 -186,480 -192'/><path d='M0 0 C90 -6,150 -40,240 -48 C330 -56,390 -90,480 -96'/><path d='M0 96 C90 90,150 56,240 48 C330 40,390 6,480 0'/><path d='M0 192 C90 186,150 152,240 144 C330 136,390 102,480 96'/><path d='M0 288 C90 282,150 248,240 240 C330 232,390 198,480 192'/><path d='M0 384 C90 378,150 344,240 336 C330 328,390 294,480 288'/><path d='M0 480 C90 474,150 440,240 432 C330 424,390 390,480 384'/><circle cx='240' cy='-48' r='5'/><circle cx='240' cy='144' r='5'/><circle cx='240' cy='336' r='5'/><circle cx='96' cy='77' r='3.5'/><circle cx='96' cy='269' r='3.5'/><circle cx='96' cy='461' r='3.5'/></g><g fill='%23D6EDF8'><circle cx='384' cy='19' r='2.5'/><circle cx='384' cy='211' r='2.5'/><circle cx='384' cy='403' r='2.5'/></g></svg>") repeat;background-size:480px 384px;}
@media (max-width:820px){.farmo-main .fm-solp__sec--studio::before{top:-56px;bottom:-80px;}}


/* --- r21: 製品ページの型 --- */
.farmo-main .fm-pdhero{display:grid;grid-template-columns:1fr 1.08fr;gap:44px;align-items:center;margin:0 0 96px;}
.farmo-main .fm-pdhero__cat{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.08em;color:#00B0E4;background:#E6F5FC;border-radius:999px;padding:5px 14px;margin:0 0 18px;}
.farmo-main .fm-pdhero__name{font-size:clamp(28px,3.2vw,42px);font-weight:600;line-height:1.4;color:#0D2B3E;margin:0 0 14px;}
.farmo-main .fm-pdhero__lead{font-size:15.5px;line-height:2.05;color:#3A6578;margin:0 0 20px;}
.farmo-main .fm-pdhero__price{font-size:15px;color:#3A6578;margin:0 0 24px;}
.farmo-main .fm-pdhero__price b{font-size:30px;color:#0D2B3E;font-weight:700;}
.farmo-main .fm-pdhero__price small{color:#7C9EB0;margin-left:10px;}
.farmo-main .fm-pdhero__btns{display:flex;gap:12px;flex-wrap:wrap;margin:0;}
.farmo-main .fm-pdhero__ph{display:block;border-radius:22px;overflow:hidden;background:#F2F9FD;aspect-ratio:4/3;}
.farmo-main .fm-pdhero__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.farmo-main .fm-types{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.farmo-main .fm-type{background:#fff;border:1px solid #E7EFF3;border-radius:16px;padding:26px 28px;box-shadow:0 6px 16px rgba(13,43,62,.06);display:flex;flex-direction:column;align-items:flex-start;}
.farmo-main .fm-type__tag{font-size:11.5px;font-weight:600;letter-spacing:.05em;color:#00B0E4;background:#E6F5FC;border-radius:999px;padding:3px 12px;margin:0 0 12px;}
.farmo-main .fm-type__ttl{font-size:18px;font-weight:600;color:#0D2B3E;margin:0 0 6px;}
.farmo-main .fm-type__txt{font-size:13.5px;line-height:1.9;color:#3A6578;margin:0 0 14px;}
.farmo-main .fm-type__price{font-size:14px;color:#3A6578;margin:auto 0 18px;}
.farmo-main .fm-type__price b{font-size:25px;color:#0D2B3E;}
.farmo-main .fm-steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:pstep;}
.farmo-main .fm-step3{background:#fff;border:1px solid #E7EFF3;border-radius:16px;padding:24px 24px 22px;}
.farmo-main .fm-step3::before{counter-increment:pstep;content:counter(pstep);display:flex;width:36px;height:36px;border-radius:50%;background:#E6F5FC;color:#00B0E4;font-weight:700;font-size:16px;align-items:center;justify-content:center;margin:0 0 12px;}
.farmo-main .fm-step3 h3{font-size:15.5px;font-weight:600;color:#0D2B3E;margin:0 0 8px;}
.farmo-main .fm-step3 p{font-size:13.5px;line-height:1.9;color:#3A6578;margin:0;}
.farmo-main .fm-pfaq{border-top:1px solid #E7EFF3;}
.farmo-main .fm-pfaq details{border-bottom:1px solid #E7EFF3;}
.farmo-main .fm-pfaq summary{display:flex;gap:12px;align-items:baseline;padding:18px 6px;cursor:pointer;font-weight:600;color:#0D2B3E;font-size:15px;list-style:none;}
.farmo-main .fm-pfaq summary::-webkit-details-marker{display:none;}
.farmo-main .fm-pfaq summary::before{content:"Q";color:#00B0E4;font-weight:700;flex:none;}
.farmo-main .fm-pfaq summary::after{content:"＋";margin-left:auto;color:#7C9EB0;font-weight:400;}
.farmo-main .fm-pfaq details[open] summary::after{content:"−";}
.farmo-main .fm-pfaq__a{display:flex;gap:12px;padding:0 6px 18px;color:#3A6578;font-size:14px;line-height:1.95;margin:0;}
.farmo-main .fm-pfaq__a::before{content:"A";color:#F5A94E;font-weight:700;flex:none;}
.farmo-main .fm-netcards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.farmo-main .fm-netcard{background:#F5FAFD;border:1px solid #EAF2F7;border-radius:16px;padding:22px 26px;}
.farmo-main .fm-netcard h3{font-size:15.5px;color:#0D2B3E;margin:0 0 8px;font-weight:600;}
.farmo-main .fm-netcard p{font-size:13.5px;color:#3A6578;line-height:1.9;margin:0;}
.farmo-main .fm-pvoices{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.farmo-main .fm-pvoice{background:#fff;border:1px solid #E7EFF3;border-radius:16px;padding:24px 26px;display:grid;grid-template-columns:64px 1fr;gap:16px;}
.farmo-main .fm-pvoice__ph{width:64px;height:64px;border-radius:50%;overflow:hidden;}
.farmo-main .fm-pvoice__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.farmo-main .fm-pvoice__ttl{font-size:15px;font-weight:600;color:#0090BE;margin:0 0 6px;}
.farmo-main .fm-pvoice__txt{font-size:13.5px;line-height:1.9;color:#3A6578;margin:0 0 6px;}
.farmo-main .fm-pvoice__who{font-size:12px;color:#7C9EB0;text-align:right;margin:0;}
.farmo-main .fm-solp__prods--2{grid-template-columns:repeat(2,1fr);}
@media (max-width:820px){.farmo-main .fm-pdhero,.farmo-main .fm-types,.farmo-main .fm-steps3,.farmo-main .fm-netcards,.farmo-main .fm-pvoices{grid-template-columns:1fr;}.farmo-main .fm-solp__prods--2{grid-template-columns:1fr;}}


/* --- r22: 製品ページ メインキャッチ・メリット --- */
.farmo-main .fm-maincatch{text-align:center;font-size:clamp(28px,3.4vw,44px);font-weight:700;line-height:1.6;color:#0D2B3E;letter-spacing:.02em;margin:0;}
.farmo-main .fm-maincatch em{font-style:normal;color:#00B0E4;}
.farmo-main .fm-solp__sec--catch{margin-bottom:88px;}
.farmo-main .fm-pmerits{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.farmo-main .fm-pmerit{background:#fff;border:1px solid #E7EFF3;border-radius:16px;padding:24px 26px;display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start;box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-pmerit__ic{width:56px;height:56px;}
.farmo-main .fm-pmerit__ic svg{width:100%;height:100%;display:block;}
.farmo-main .fm-pmerit h3{font-size:16px;font-weight:600;color:#0D2B3E;margin:0 0 6px;line-height:1.6;}
.farmo-main .fm-pmerit p{font-size:13.5px;line-height:1.9;color:#3A6578;margin:0;}
@media (max-width:820px){.farmo-main .fm-pmerits{grid-template-columns:1fr;}}

/* r22b: wpautopの空段落対策（カード系の直下） */
.farmo-main .fm-pmerit > p:not([class]),
.farmo-main .fm-type > p:not([class]):empty,
.farmo-main .fm-pvoice > p:not([class]),
.farmo-main .fm-step3 > p:not([class]):empty,
.farmo-main .fm-netcard > p:not([class]):empty,
.farmo-main .fm-pdhero > p:not([class]):empty{display:none;}
.farmo-main .fm-pdhero > p:not([class]){margin:0;}


/* --- r23: 利用の案内（3ステップカード） --- */
.farmo-main .fm-usteps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:ustep;}
.farmo-main .fm-ustep{background:#fff;border:1px solid #E7EFF3;border-radius:16px;padding:24px;display:flex;flex-direction:column;}
.farmo-main .fm-ustep::before{counter-increment:ustep;content:"STEP " counter(ustep);align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.08em;color:#fff;background:#00B0E4;border-radius:999px;padding:4px 14px;margin:0 0 12px;}
.farmo-main .fm-ustep h3{font-size:16px;font-weight:600;color:#0D2B3E;margin:0 0 12px;line-height:1.6;}
.farmo-main .fm-ustep__ph{display:block;background:#F5FAFD;border-radius:12px;overflow:hidden;height:225px;margin:0 0 14px;}
.farmo-main .fm-ustep__ph img{width:100%;height:100%;object-fit:contain;display:block;}
.farmo-main .fm-ustep__ph--icon{display:flex;align-items:center;justify-content:center;}
.farmo-main .fm-ustep__ph--icon img{width:96px;height:96px;object-fit:contain;border-radius:22px;box-shadow:0 10px 24px rgba(13,43,62,.16);}
.farmo-main .fm-ustep p{font-size:13.5px;line-height:1.9;color:#3A6578;margin:0;}
.farmo-main .fm-ustep__note{font-size:12.5px;color:#7C9EB0;margin:8px 0 0;}
@media (max-width:820px){.farmo-main .fm-usteps{grid-template-columns:1fr;}}

/* r23b: 写真タイプのステップ画像はcover */
.farmo-main .fm-ustep__ph--photo img{object-fit:cover;}


/* --- r24: 全幅写真 --- */
.farmo-main .fm-fullphoto{margin:56px 0 0;width:100%;overflow:hidden;position:relative;}
.farmo-main .fm-fullphoto__copy{display:flex;align-items:baseline;gap:12px;text-align:left;font-size:16px;font-weight:400;color:#0D2B3E;letter-spacing:.04em;margin:0 0 20px;line-height:1.7;}
.farmo-main .fm-fullphoto__copy b{font-size:clamp(24px,2.6vw,34px);font-weight:600;color:#00B0E4;line-height:1.4;}
.farmo-main .fm-fullphoto img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 36%);mask-image:linear-gradient(to bottom,transparent 0,#000 36%);}
.farmo-main .fm-fullphoto img{width:100%;height:auto;display:block;}


/* --- r25: 写真コピー微調整・利用シーン --- */
.farmo-main .fm-fullphoto__copy{padding-left:28px;font-size:19px;}
.farmo-main .fm-fullphoto img{border-radius:0 0 18px 18px;}
.farmo-main .fm-scenes{display:flex;flex-direction:column;gap:24px;}
.farmo-main .fm-scene{display:grid;grid-template-columns:290px 1fr;gap:44px;align-items:center;background:#fff;border:1px solid #E7EFF3;border-radius:18px;padding:28px 44px;}
.farmo-main .fm-scene--rev{grid-template-columns:1fr 290px;}
.farmo-main .fm-scene__ph{display:flex;align-items:center;justify-content:center;background:#F5FAFD;border-radius:14px;padding:18px 0;}
.farmo-main .fm-scene__ph img{max-height:330px;width:auto;max-width:88%;display:block;}
.farmo-main .fm-scene__tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;color:#00B0E4;background:#E6F5FC;border-radius:999px;padding:4px 14px;margin:0 0 12px;}
.farmo-main .fm-scene h3{font-size:19px;font-weight:600;color:#0D2B3E;margin:0 0 10px;line-height:1.6;}
.farmo-main .fm-scene p{font-size:14px;line-height:2;color:#3A6578;margin:0;}
.farmo-main .fm-scene > p:not([class]):empty{display:none;}
.farmo-main .fm-scene > p:not([class]){margin:0;}
@media (max-width:820px){.farmo-main .fm-scene,.farmo-main .fm-scene--rev{grid-template-columns:1fr;padding:24px;}.farmo-main .fm-scene--rev .fm-scene__ph{order:-1;}}


/* --- r26: 利用シーン2列カード化 --- */
.farmo-main .fm-scenes{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.farmo-main .fm-scene,.farmo-main .fm-scene--rev{display:flex;flex-direction:column;padding:26px 28px 28px;}
.farmo-main .fm-scene > .fm-scene__ph,.farmo-main .fm-scene > :has(> .fm-scene__ph){order:-1;margin:0 0 18px;}
.farmo-main .fm-scene__ph{padding:14px 0;}
.farmo-main .fm-scene__ph img{max-height:225px;}
@media (max-width:820px){.farmo-main .fm-scenes{grid-template-columns:1fr;}}


/* --- r27: ご利用者の声を大きく --- */
.farmo-main .fm-pvoices{gap:22px;}
.farmo-main .fm-pvoice{grid-template-columns:112px 1fr;gap:26px;padding:30px 34px;align-items:start;}
.farmo-main .fm-pvoice__ph{width:112px;height:112px;}
.farmo-main .fm-pvoice__ttl{font-size:20px;line-height:1.6;margin:4px 0 10px;}
.farmo-main .fm-pvoice__txt{font-size:14px;line-height:2;}
.farmo-main .fm-pvoice__who{font-size:12.5px;margin-top:8px;}
@media (max-width:820px){.farmo-main .fm-pvoice{grid-template-columns:76px 1fr;gap:16px;padding:22px;}.farmo-main .fm-pvoice__ph{width:76px;height:76px;}.farmo-main .fm-pvoice__ttl{font-size:17px;}}

/* r27b: 声セクションのボタン配置 */
.farmo-main .fm-pvoices ~ p.fm-solp__btns{margin-top:30px;text-align:right;justify-content:flex-end;}


/* --- r28: 設置事例ギャラリー（スライド） --- */
.farmo-main .fm-gallery{margin:10px calc(50% - 50vw) 0;width:100vw;overflow:hidden;}
.farmo-main .fm-gallery__track{display:flex;width:max-content;animation:fmslide 45s linear infinite;}
.farmo-main .fm-gallery__track p{margin:0;display:contents;}
.farmo-main .fm-gallery__track img{height:250px;width:auto;border-radius:14px;display:block;margin-right:16px;}
@keyframes fmslide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.farmo-main .fm-gallery:hover .fm-gallery__track{animation-play-state:paused;}
@media (prefers-reduced-motion: reduce){.farmo-main .fm-gallery__track{animation:none;}}
@media (max-width:820px){.farmo-main .fm-gallery__track img{height:170px;margin-right:10px;}}

/* r28b: ギャラリーをコンテンツ幅4枚並びに */
.farmo-main .fm-gallery{margin:10px 0 0;width:100%;overflow:visible;}
.farmo-main .fm-gallery__track{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:auto;animation:none;}
.farmo-main .fm-gallery__track img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;margin:0;}
@media (max-width:820px){.farmo-main .fm-gallery__track{grid-template-columns:repeat(2,1fr);gap:10px;}}

/* r28c: typeカードのボタン段落 */
.farmo-main .fm-type > p:not([class]){margin:0;}


/* ―― r29: 購入クロージング帯 ―― */
.farmo-main .fm-buy{margin:72px calc(50% - 50vw) 0;width:100vw;padding:64px 24px 60px;background:linear-gradient(180deg,#EAF7FC 0%,#D7EFF9 100%);border-radius:0;}
.farmo-main .fm-buy > *{max-width:1040px;margin-left:auto;margin-right:auto;}
.farmo-main .fm-buy .fm-buy__catch{margin:20px auto 24px;text-align:center;font-size:clamp(23px,2.9vw,33px);font-weight:700;line-height:1.5;color:#333;}
.farmo-main .fm-buy .fm-buy__catch em{font-style:normal;color:#00B0E4;}
.farmo-main .fm-buy p.fm-buy__lead{margin:0 auto 36px;text-align:center;font-size:15px;line-height:1.9;color:#555;}
.farmo-main .fm-buy .fm-type{background:#fff;}
.farmo-main .fm-buy p.fm-buy__note{margin:20px auto 0;text-align:center;font-size:13px;color:#777;}
.farmo-main .fm-buy > p:not([class]):empty{display:none;}
.farmo-main .fm-buy > p:not([class]){margin:0;}

/* ―― r30: 製品紹介（fm-pdintro） ―― */
.farmo-main .fm-pdintro{display:grid;gap:36px;margin-top:8px;}
.farmo-main .fm-pdintro__row{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;}
.farmo-main .fm-pdintro__row:nth-child(even){grid-template-columns:1.1fr 1fr;}
.farmo-main .fm-pdintro__row:nth-child(even) .fm-pdintro__ph{order:2;}
.farmo-main .fm-pdintro__ph{margin:0;border-radius:18px;overflow:hidden;}
.farmo-main .fm-pdintro__ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.farmo-main .fm-pdintro__ph--app{background:#EAF7FC;display:flex;justify-content:center;padding:22px 0;}
.farmo-main .fm-pdintro__ph--app img{width:auto;max-height:300px;aspect-ratio:auto;object-fit:contain;border-radius:14px;box-shadow:0 8px 22px rgba(0,60,90,.12);}
.farmo-main .fm-pdintro__ttl{margin:0 0 12px;font-size:22px;line-height:1.6;color:#333;}
.farmo-main .fm-pdintro__txt p{margin:0;font-size:15px;line-height:2;color:#555;}
.farmo-main .fm-pdintro > p:not([class]):empty,.farmo-main .fm-pdintro__row > p:not([class]):empty,.farmo-main .fm-pdintro__txt > p:not([class]):empty{display:none;}
.farmo-main .fm-pdintro > p:not([class]),.farmo-main .fm-pdintro__row > p:not([class]){margin:0;}
@media (max-width: 767px){.farmo-main .fm-pdintro__row,.farmo-main .fm-pdintro__row:nth-child(even){grid-template-columns:1fr;gap:18px;}.farmo-main .fm-pdintro__row:nth-child(even) .fm-pdintro__ph{order:0;}}

/* ―― r31: 導入サポート（fm-supports） ―― */
.farmo-main .fm-supports{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;}
.farmo-main .fm-support{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#fff;border:1px solid #E3EEF3;border-radius:18px;padding:26px 24px 22px;}
.farmo-main .fm-support__ic{display:block;line-height:0;}
.farmo-main .fm-support__ttl{margin:0;font-size:18px;font-weight:600;line-height:1.6;color:#0D2B3E;}
.farmo-main .fm-support .fm-support__txt{margin:0;font-size:14px;line-height:1.9;color:#3A6578;}
.farmo-main .fm-support__link{margin-top:auto;padding-top:6px;font-size:14px;font-weight:700;color:#00B0E4;text-decoration:none;}

.farmo-main .fm-support__link:hover{text-decoration:underline;}
.farmo-main .fm-support > p:not([class]):empty,.farmo-main .fm-supports > p:not([class]):empty{display:none;}
.farmo-main .fm-support > p:not([class]),.farmo-main .fm-supports > p:not([class]){margin:0;}
.farmo-main p.fm-solp__btns--center{margin-top:36px;justify-content:center;text-align:center;}
@media (max-width: 767px){.farmo-main .fm-supports{grid-template-columns:1fr;}}

/* ―― r32: FV下のアーチ区切りとキャッチ上余白 ―― */
.farmo-main .fm-arc{margin:10px calc(50% - 50vw) 0;width:100vw;line-height:0;pointer-events:none;}
.farmo-main .fm-arc svg{display:block;width:100%;height:88px;}
.farmo-main .fm-solp__sec--catch{margin-top:88px;}
.farmo-main .fm-arc + p:not([class]):empty{display:none;}

.farmo-main .fm-arc .fm-arc__line{filter:drop-shadow(0 -2px 2px rgba(0,78,110,.18));}

/* r33: FV高さ抑え・完了写真くっきり */
.farmo-main .fm-pdhero{margin-bottom:36px;}

/* ―― r34: アプリシーンを横並びに（スマホ大きく・背景なし） ―― */
.farmo-main .fm-scenes .fm-scene{flex-direction:row;align-items:center;gap:24px;}
.farmo-main .fm-scenes .fm-scene .fm-scene__ph{background:none;padding:0;flex:0 0 auto;display:flex;justify-content:center;order:-1;}
.farmo-main .fm-scenes .fm-scene .fm-scene__ph img{max-height:330px;}
.farmo-main .fm-scenes .fm-scene > div{flex:1;}
@media (max-width: 767px){.farmo-main .fm-scenes .fm-scene{flex-direction:column;}.farmo-main .fm-scenes .fm-scene .fm-scene__ph img{max-height:250px;}}

/* ―― r35: 製品紹介（fm-pdspec 縦長写真＋3特長） ―― */
.farmo-main .fm-pdspec{display:grid;grid-template-columns:minmax(280px,0.75fr) 1.25fr;gap:44px;align-items:center;margin-top:8px;}
.farmo-main .fm-pdspec__ph{margin:0;border-radius:18px;overflow:hidden;}
.farmo-main .fm-pdspec__ph img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;}
.farmo-main .fm-pdspec__feats{display:grid;gap:28px;}
.farmo-main .fm-pdspec__ttl{margin:0 0 8px;font-size:19px;font-weight:600;line-height:1.6;color:#0D2B3E;}
.farmo-main .fm-pdspec__feat p{margin:0;font-size:14px;line-height:1.9;color:#3A6578;}
.farmo-main .fm-pdspec > p:not([class]):empty,.farmo-main .fm-pdspec__feats > p:not([class]):empty,.farmo-main .fm-pdspec__feat > p:not([class]):empty{display:none;}
.farmo-main .fm-pdspec > p:not([class]),.farmo-main .fm-pdspec__feats > p:not([class]){margin:0;}
@media (max-width: 767px){.farmo-main .fm-pdspec{grid-template-columns:1fr;gap:22px;}.farmo-main .fm-pdspec__ph img{aspect-ratio:4/3;}}

/* ―― r36: 製品紹介の特長にアイコン ―― */
.farmo-main .fm-pdspec__feat{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;}
.farmo-main .fm-pdspec__ic{line-height:0;padding-top:4px;}
.farmo-main .fm-pdspec__body > p{margin:0;font-size:14px;line-height:1.9;color:#3A6578;}
.farmo-main .fm-pdspec__feat > p:not([class]):empty,.farmo-main .fm-pdspec__body > p:not([class]):empty{display:none;}

/* ―― r37: ご利用者の声（見出し上・写真拡大） ―― */
.farmo-main .fm-pvoices .fm-pvoice{display:block;}
.farmo-main .fm-pvoices .fm-pvoice .fm-pvoice__ttl{margin:0 0 16px;}
.farmo-main .fm-pvoices .fm-pvoice__row{display:flex;gap:20px;align-items:flex-start;}
.farmo-main .fm-pvoices .fm-pvoice__row > div{flex:1;}
.farmo-main .fm-pvoices .fm-pvoice .fm-pvoice__ph{flex:0 0 auto;width:150px;height:150px;}
.farmo-main .fm-pvoices .fm-pvoice .fm-pvoice__ph img{width:150px;height:150px;object-fit:cover;border-radius:50%;display:block;}
.farmo-main .fm-pvoices .fm-pvoice__row > p:not([class]):empty,.farmo-main .fm-pvoices .fm-pvoice__row > div > p:not([class]):empty{display:none;}
.farmo-main .fm-pvoices .fm-pvoice__row > p:not([class]){margin:0;}

/* ―― r38: 購入帯にデモ機案内 ―― */
.farmo-main .fm-buy__demo{max-width:1040px;margin:44px auto 0;padding-top:34px;border-top:1px solid rgba(0,176,228,.35);text-align:center;}
.farmo-main .fm-buy p.fm-buy__demo-ttl{margin:0 0 8px;font-size:17px;font-weight:700;color:#00B0E4;}
.farmo-main .fm-buy p.fm-buy__demo-txt{margin:0 0 18px;font-size:14px;line-height:1.9;color:#3A6578;}
.farmo-main .fm-buy p.fm-buy__demo-btn{margin:0;}
.farmo-main .fm-buy__demo > p:not([class]):empty{display:none;}
.farmo-main .fm-buy__demo > p:not([class]){margin:0;}

/* ―― r39: 購入カードに製品写真 ―― */
.farmo-main .fm-type .fm-type__ph{display:block;margin:14px 0 4px;border-radius:12px;overflow:hidden;}
.farmo-main .fm-type .fm-type__ph img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;}

/* r40: 完了コピーと写真の間の余白 */
.farmo-main .fm-fullphoto .fm-fullphoto__copy{margin:0 0 56px;}

/* ―― r41: 購入カードの価格・ボタン右寄せ ―― */
.farmo-main .fm-type > a.farmo-btn{align-self:flex-end;}
.farmo-main .fm-type > p:not([class]):not(:empty){align-self:flex-end;text-align:right;}

/* ―― r42: 関連製品タイトル（中央・マーカーなし） ―― */
.farmo-main h2.fm-relttl{margin:56px 0 52px;text-align:center;font-size:28px;font-weight:500;line-height:1.6;color:#0D2B3E;}

/* ―― r43: 通信エリア案内バナー ―― */
.farmo-main .fm-areanote{display:flex;align-items:center;gap:14px;max-width:860px;margin:36px auto 0;padding:14px 34px;border:1.5px solid #A8E2F5;border-radius:999px;background:#F7FCFE;}
.farmo-main .fm-areanote__ic{line-height:0;flex:0 0 auto;}
.farmo-main .fm-areanote p.fm-areanote__txt{margin:0;flex:1;font-size:15px;line-height:1.7;color:#3A6578;}
.farmo-main .fm-areanote__txt b{color:#00B0E4;margin-right:12px;}
.farmo-main .fm-areanote__link{flex:0 0 auto;font-size:14px;font-weight:700;color:#00B0E4;text-decoration:none;}

.farmo-main .fm-areanote__link:hover{text-decoration:underline;}
.farmo-main .fm-areanote > p:not([class]):empty{display:none;}
.farmo-main .fm-areanote > p:not([class]){margin:0;line-height:1.7;}
@media (max-width: 767px){.farmo-main .fm-areanote{flex-wrap:wrap;}}

/* ―― r44: 共通ナビリンク（右三角アイコン） ―― */
.farmo-main .fm-navlink::after,.farmo-main .fm-areanote__link::after,.farmo-main .fm-support__link::after{content:"";display:inline-block;width:10px;height:10px;margin-left:7px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path d=%22M8 5.5L19 12L8 18.5Z%22 fill=%22%2300B0E4%22 stroke=%22%2300B0E4%22 stroke-width=%223%22 stroke-linejoin=%22round%22/></svg>") no-repeat center/contain;}

/* ―― r45: 製品紹介の装飾強化 ―― */
.farmo-main .fm-pdspec{gap:56px;}
.farmo-main .fm-pdspec__ph{position:relative;overflow:visible;}
.farmo-main .fm-pdspec__ph::before{content:"";position:absolute;top:22px;left:-22px;right:22px;bottom:-22px;background:linear-gradient(160deg,#EAF7FC,#D7EFF9);border-radius:22px;z-index:0;}
.farmo-main .fm-pdspec__ph img{position:relative;z-index:1;border-radius:18px;box-shadow:0 10px 26px rgba(0,60,90,.14);}
.farmo-main .fm-pdspec__feats{gap:24px;}
.farmo-main .fm-pdspec__feat{grid-template-columns:60px 1fr;gap:18px;align-items:center;}
.farmo-main .fm-pdspec__feat + .fm-pdspec__feat{border-top:1px solid #E8F2F7;padding-top:24px;}
.farmo-main .fm-pdspec__ic{width:60px;height:60px;border-radius:50%;background:#EAF7FC;display:flex;align-items:center;justify-content:center;padding:0;}
.farmo-main .fm-pdspec__ic svg{width:32px;height:32px;}
.farmo-main .fm-pdspec__ttl{font-size:20px;}

/* ―― r46: 水田ページへ戻るボタン ―― */
.farmo-main .fm-backsec{margin-top:10px;}
.farmo-main p.fm-back{margin:0;text-align:center;}
.farmo-main .fm-back__btn::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path d=%22M16 5.5L5 12L16 18.5Z%22 fill=%22%2300B0E4%22 stroke=%22%2300B0E4%22 stroke-width=%223%22 stroke-linejoin=%22round%22/></svg>") no-repeat center/contain;}

/* ―― r47: 購入ページ（fm-shop） ―― */
.farmo-main.farmo-shop{padding:0 0 90px;}
.farmo-shop .farmo-wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;}
.farmo-shop p.fm-shop__back{margin:0 0 24px;}
.farmo-shop .fm-shop__back a{font-size:14px;font-weight:700;color:#00B0E4;text-decoration:none;}
.farmo-shop .fm-shop__back a::before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path d=%22M16 5.5L5 12L16 18.5Z%22 fill=%22%2300B0E4%22 stroke=%22%2300B0E4%22 stroke-width=%223%22 stroke-linejoin=%22round%22/></svg>") no-repeat center/contain;}
.farmo-shop .fm-shop{display:grid;grid-template-columns:6fr 4fr;gap:48px;align-items:start;}
.farmo-shop .fm-shop__mainimg img{display:block;width:100%;height:auto;border-radius:18px;}
.farmo-shop .fm-shop__thumbs{display:flex;gap:10px;margin-top:12px;}
.farmo-shop .fm-shop__thumb{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;width:86px;line-height:0;}
.farmo-shop .fm-shop__thumb img{display:block;width:100%;height:62px;object-fit:cover;}
.farmo-shop .fm-shop__thumb.is-active{border-color:#00B0E4;}
.farmo-shop .fm-shop__pill{display:inline-block;background:#EAF7FC;color:#00B0E4;font-size:13px;font-weight:700;border-radius:999px;padding:6px 16px;}
.farmo-shop h1.fm-shop__name{margin:14px 0 8px;font-size:30px;line-height:1.5;color:#0D2B3E;}
.farmo-shop p.fm-shop__lead{margin:0 0 18px;font-size:14px;line-height:1.9;color:#3A6578;}
.farmo-shop .fm-shop__sku{border:1px solid #E3EEF3;border-radius:18px;padding:24px 26px 22px;background:#fff;margin-top:14px;box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-shop p.fm-shop__skuname{margin:0 0 6px;font-size:14px;font-weight:700;color:#0D2B3E;}
.farmo-shop p.fm-shop__price{display:flex;align-items:center;gap:10px;margin:0 0 4px;flex-wrap:wrap;}
.farmo-shop .fm-shop__pricenum{font-size:34px;font-weight:700;color:#0D2B3E;line-height:1.2;}
.farmo-shop .fm-shop__price .tax{font-size:13px;font-style:normal;color:#3A6578;}
.farmo-shop .fm-shop__pricenote{font-size:12.5px;color:#00B0E4;font-weight:700;background:#EAF7FC;border-radius:999px;padding:3px 12px;}
.farmo-shop p.fm-shop__stock{margin:0 0 16px;font-size:13px;color:#3A6578;}
.farmo-shop .fm-shop__opt{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;}
.farmo-shop .fm-shop__optname{font-size:13.5px;font-weight:700;color:#0D2B3E;}
.farmo-shop .fm-shop__opt select{width:100%;padding:11px 12px;border:1px solid #CBE2EC;border-radius:10px;font-size:14px;color:#0D2B3E;background:#fff;}
.farmo-shop .fm-shop__buyrow{display:flex;align-items:center;gap:16px;margin-top:20px;}
.farmo-shop .fm-shop__qty{font-size:13.5px;color:#0D2B3E;font-weight:700;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.farmo-shop .fm-shop__qty input{width:64px;padding:11px 8px;border:1px solid #CBE2EC;border-radius:10px;font-size:15px;text-align:center;}
.farmo-shop .fm-shop__btn{flex:1;}
.farmo-shop .fm-shop__btn input[type=submit]{width:100%;border:none;cursor:pointer;background:#00B0E4;color:#fff;font-size:16px;font-weight:700;border-radius:999px;padding:0 20px;height:52px;line-height:52px;transition:opacity .2s;text-decoration:none;-webkit-appearance:none;appearance:none;box-shadow:none;}
.farmo-shop .fm-shop__btn input[type=submit]:hover{opacity:.82;}
.farmo-shop p.fm-shop__error{margin:10px 0 0;color:#D0021B;font-size:13px;}
.farmo-shop p.fm-shop__error:empty{display:none;}
/* 購入ページ：購入メリット（開閉つき） */
.farmo-shop .fm-buymerits{display:block;margin:18px 0 0;background:#fff;border:1px solid #DFEDF4;border-radius:14px;overflow:hidden;}
.farmo-shop .fm-buymerit{display:block;}
.farmo-shop .fm-buymerit + .fm-buymerit{border-top:1px solid #EDF4F8;}
.farmo-shop .fm-buymerit__hd{display:flex;align-items:center;gap:11px;padding:13px 15px;list-style:none;}
.farmo-shop details.fm-buymerit > .fm-buymerit__hd{cursor:pointer;}
.farmo-shop .fm-buymerit__hd::-webkit-details-marker{display:none;}
.farmo-shop .fm-buymerit__ico{flex:none;width:19px;height:19px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22><circle cx=%2210%22 cy=%2210%22 r=%2210%22 fill=%22%2300B0E4%22/><path d=%22M5.6 10.1l2.9 2.9 5.9-6.0%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/></svg>") no-repeat center/contain;}
.farmo-shop .fm-buymerit__ttl{flex:1 1 auto;min-width:0;font-size:14px;font-weight:700;line-height:1.5;color:#0D2B3E;}
.farmo-shop details.fm-buymerit > .fm-buymerit__hd::after{content:"";flex:none;width:12px;height:12px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path d=%22M5 9l7 7 7-7%22 fill=%22none%22 stroke=%22%236F8A99%22 stroke-width=%222.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/></svg>") no-repeat center/contain;transition:transform .22s ease;}
.farmo-shop details.fm-buymerit[open] > .fm-buymerit__hd::after{transform:rotate(180deg);}
.farmo-shop details.fm-buymerit[open] > .fm-buymerit__hd{padding-bottom:6px;}
.farmo-shop .fm-buymerit__bd{padding:0 15px 14px 45px;}
.farmo-shop .fm-buymerit__bd p{margin:0;font-size:12.5px;line-height:1.9;color:#5A6B75;}
.farmo-shop details.fm-buymerit > .fm-buymerit__hd:hover .fm-buymerit__ttl{color:#00A0D2;}
@media (prefers-reduced-motion:reduce){.farmo-shop details.fm-buymerit > .fm-buymerit__hd::after{transition:none;}}
@media (max-width:860px){
  .farmo-shop .fm-buymerit__hd{padding:14px 15px;}
  .farmo-shop .fm-buymerit__bd{padding:0 15px 15px 45px;}
  .farmo-shop .fm-buymerit__bd p{font-size:13px;}
}
.farmo-shop .fm-shop__body{margin-top:64px;}
@media (max-width: 860px){.farmo-shop .fm-shop{grid-template-columns:1fr;gap:26px;}}

/* ―― r48: 通信エリア確認をページ単位に共通化 ―― */
.farmo-shop .fm-shop__confirm{margin:6px 0 0;padding:0;background:none;border:none;}
.farmo-shop .fm-shop__confirm-ttl{margin:0 0 16px;font-size:16px;font-weight:700;color:#0D2B3E;text-align:center;}
.farmo-shop .fm-shop__confirm .fm-shop__opt{margin:0 0 12px;}
.farmo-shop .fm-shop__confirm .fm-shop__opt:last-child{margin-bottom:0;}
.farmo-shop .fm-shop--sharedopts .fm-shop__sku .fm-shop__opt{display:none;}
.farmo-shop .fm-shop--sharedopts .fm-shop__sku .fm-shop__buyrow{margin-top:6px;}

/* ―― r49: 購入ページ タイトル上部化・確認をラジオ/チェックに ―― */
.farmo-shop h1.fm-shop__name{margin:0 0 10px;}
.farmo-shop p.fm-shop__lead{margin:0 0 30px;max-width:760px;}
.farmo-shop .fm-shop__panel > .fm-shop__confirm{margin-top:0;}
.farmo-shop .fm-shop__copt{margin:0 0 16px;}
.farmo-shop .fm-shop__copt:last-child{margin-bottom:0;}
.farmo-shop p.fm-shop__copt-name{margin:0 0 8px;font-size:13.5px;font-weight:700;color:#0D2B3E;}
.farmo-shop .fm-shop__radios{display:flex;flex-direction:column;gap:8px;}
.farmo-shop label.fm-shop__radio,.farmo-shop label.fm-shop__check{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:#3A6578;cursor:pointer;line-height:1.7;margin:0;}
.farmo-shop label.fm-shop__radio input,.farmo-shop label.fm-shop__check input{accent-color:#00B0E4;width:17px;height:17px;margin:3px 0 0;flex:0 0 auto;}

/* ―― r50: 確認ブロックのラジオ一文化・アンテナ案内 ―― */
.farmo-main .fm-navlink{font-size:14px;font-weight:700;color:#00B0E4;text-decoration:none;}
.farmo-main .fm-navlink:hover{text-decoration:underline;}
.farmo-shop .fm-shop__radios--inline{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 18px;}
.farmo-shop .fm-shop__copt-pre{font-size:14px;color:#3A6578;line-height:1.7;}
.farmo-shop .fm-shop__antenna{margin:14px 0 0;padding-top:0;border-top:none;}
.farmo-shop p.fm-shop__antenna-ttl{margin:0 0 8px;font-size:13.5px;font-weight:700;color:#0D2B3E;}
.farmo-shop p.fm-shop__antenna-link{margin:0 0 6px;}
.farmo-shop p.fm-shop__antenna-link:last-child{margin-bottom:0;}

/* ―― r52: 購入ページ 注記リスト・本文セクション ―― */
.farmo-shop p.fm-shop__confirm-map{margin:0 0 14px;}
.farmo-shop p.fm-shop__confirm-map a{font-size:13.5px;}
.farmo-shop ul.fm-shop__notes{list-style:none;margin:14px 0 0;padding:0 6px;display:flex;flex-direction:column;gap:6px;}
.farmo-shop .fm-shop__notes li{position:relative;padding-left:18px;font-size:12.5px;line-height:1.8;color:#3A6578;}
.farmo-shop .fm-shop__notes li::before{content:"";position:absolute;left:2px;top:10px;width:7px;height:7px;border-radius:50%;background:#A8E2F5;}
.farmo-shop .fm-shop__body{margin-top:44px;}
.farmo-shop .fm-shop__body .fm-shopsec{margin:0 0 56px;}
.farmo-shop .fm-shop__body .fm-shopsec:last-child{margin-bottom:0;}
.farmo-shop .fm-shop__body .fm-shopsec h2{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:21px;font-weight:500;line-height:1.6;color:#0D2B3E;}
.farmo-shop .fm-shop__body .fm-shopsec h2::before{content:"";flex:none;width:0.95em;height:0.95em;border:1.5px solid #0D2B3E;border-radius:50%;}
.farmo-shop .fm-shop__body .fm-shopsec p{margin:0 0 12px;font-size:15px;line-height:2;color:#3A6578;max-width:800px;}
.farmo-shop .fm-shop__body .fm-shopsec p:last-child{margin-bottom:0;}
.farmo-shop .fm-shop__body .fm-shopsec a:not(.fm-navlink){color:#00B0E4;}

/* r53: 購入ページ本文をギャラリー下に */
.farmo-shop .fm-shop__body .fm-shopsec{margin:0 0 44px;}
.farmo-shop .fm-shop__body > .fm-shop__secs > .fm-shopsec:first-child p{font-size:14.5px;}

/* ―― r54: 購入ページヘッダー行（タイトル＋製品案内ボタン） ―― */

/* r55: 確認フォームの文言リンク */
.farmo-shop .fm-shop__maplink{color:#00B0E4;font-weight:700;text-decoration:underline;text-underline-offset:3px;}

/* ―― r56: 確認ブロックの整理（注記標準・アンテナカード） ―― */
.farmo-shop p.fm-shop__copt-note{margin:0 0 6px;font-size:13.5px;font-weight:400;line-height:1.8;color:#3A6578;}
.farmo-shop a.fm-shop__antenna-card{display:flex;align-items:center;gap:12px;text-decoration:none;margin:0 0 8px;padding:8px 10px;background:#fff;border:1px solid #DDEFF7;border-radius:12px;transition:box-shadow .2s;}
.farmo-shop a.fm-shop__antenna-card:hover{box-shadow:0 4px 12px rgba(0,80,120,.10);}
.farmo-shop a.fm-shop__antenna-card:last-child{margin-bottom:0;}
.farmo-shop .fm-shop__antenna-thumb{width:64px;height:48px;object-fit:contain;background:#fff;filter:brightness(1.09);border-radius:8px;flex:0 0 auto;display:block;}
.farmo-shop .fm-shop__antenna-card .fm-navlink{font-size:13.5px;line-height:1.6;}

/* ―― r57: 通信エリア確認セクションのシンプル化 ―― */
.farmo-shop .fm-shop__confirm-lead{margin:0 0 4px;font-size:13.5px;line-height:1.9;color:#3A6578;}
.farmo-shop p.fm-shop__confirm-maplink{margin:10px 0 20px;text-align:right;}
.farmo-shop .fm-shop__confirm-maplink a{font-size:13px;font-weight:700;color:#00B0E4;text-decoration:none;}
.farmo-shop .fm-shop__antenna-txt{display:flex;flex-direction:column;gap:2px;}
.farmo-shop .fm-shop__antenna-sub{font-size:12px;font-weight:400;color:#333;line-height:1.5;}
.farmo-shop a.fm-shop__antenna-card{border-color:#E3EEF3;}

/* ―― r58: 購入ページ 右カラム先頭のタイトルと、左カラムのコピー ―― */
.farmo-shop .fm-shop__head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px;}
.farmo-shop .fm-shop__head h1.fm-shop__name{margin:0;font-size:28px;line-height:1.45;color:#0D2B3E;}
.farmo-shop p.fm-shop__prodlink{flex:0 0 auto;margin:0;font-size:13px;line-height:1.6;}
.farmo-shop p.fm-shop__prodlink a{color:#00A0D2;font-weight:700;text-decoration:none;}
.farmo-shop p.fm-shop__prodlink a:hover{text-decoration:underline;}
.farmo-shop p.fm-shop__copy{margin:0 0 20px;font-size:22px;font-weight:500;line-height:1.75;color:#0D2B3E;letter-spacing:.01em;}
@media (max-width:860px){
  .farmo-shop .fm-shop__head h1.fm-shop__name{font-size:25px;}
  .farmo-shop p.fm-shop__copy{font-size:19px;margin-bottom:16px;}
}

/* ―― r59: 確認セクション下の区切り・メイン写真比率 ―― */
.farmo-shop .fm-shop__confirm{padding-bottom:24px;border-bottom:1px solid #E3EEF3;}
.farmo-shop .fm-shop__mainimg img{aspect-ratio:4/3;object-fit:contain;background:#F6FAFC;}

/* ―― r60: リンクカード（共通部品 / fm-linkcard） ―― */
/*  用途: 別ページへ案内する小さなカード。サムネイル任意。 */
.farmo-main a.fm-linkcard{display:flex;align-items:center;gap:14px;margin:0 0 8px;padding:10px 14px;background:#fff;border:1px solid #E3EEF3;border-radius:12px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;}
.farmo-main a.fm-linkcard:last-child{margin-bottom:0;}
.farmo-main a.fm-linkcard:hover{border-color:#A8E2F5;box-shadow:0 4px 14px rgba(0,80,120,.09);}
.farmo-main a.fm-linkcard:focus-visible{outline:2px solid #00B0E4;outline-offset:2px;}
.farmo-main .fm-linkcard__ph{flex:0 0 auto;width:62px;height:48px;border-radius:8px;overflow:hidden;background:#F6FAFC;display:flex;align-items:center;justify-content:center;}
.farmo-main .fm-linkcard__ph img{width:100%;height:100%;object-fit:contain;display:block;}
.farmo-main .fm-linkcard__bd{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.farmo-main .fm-linkcard__ttl{font-size:14px;font-weight:700;line-height:1.6;color:#00B0E4;}
.farmo-main .fm-linkcard__sub{font-size:12px;font-weight:400;line-height:1.6;color:#333;}
.farmo-main .fm-linkcard__arw{flex:0 0 auto;width:10px;height:10px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path d=%22M8 5.5L19 12L8 18.5Z%22 fill=%22%2300B0E4%22 stroke=%22%2300B0E4%22 stroke-width=%223%22 stroke-linejoin=%22round%22/></svg>") no-repeat center/contain;transition:transform .2s;}
.farmo-main a.fm-linkcard:hover .fm-linkcard__arw{transform:translateX(3px);}
@media (prefers-reduced-motion: reduce){.farmo-main a.fm-linkcard,.farmo-main .fm-linkcard__arw{transition:none;}.farmo-main a.fm-linkcard:hover .fm-linkcard__arw{transform:none;}}

/* ―― r61: 通信エリア確認の入力ブロック ―― */
.farmo-shop .fm-shop__coptbox{margin:4px 0 0;padding:18px 20px;background:#F7FBFD;border:1px solid #CFE7F2;border-radius:14px;}
.farmo-shop .fm-shop__coptbox:empty{display:none;}
.farmo-shop .fm-shop__coptbox .fm-shop__copt{margin:0 0 14px;padding:0 0 14px;border-bottom:1px dashed #DCEDF5;}
.farmo-shop .fm-shop__coptbox .fm-shop__copt:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.farmo-shop .fm-shop__coptbox label.fm-shop__radio,.farmo-shop .fm-shop__coptbox label.fm-shop__check{color:#0D2B3E;}

/* ―― r62: 通信エリアのご案内（購入カードの下） ―― */
.farmo-shop .fm-shop__sku{margin-top:0;}
.farmo-shop .fm-shop__sku + .fm-shop__sku{margin-top:14px;}
.farmo-shop .fm-areaguide{margin:28px 0 0;padding:22px 22px 20px;background:#F5FBFE;border:1px solid #DCEDF5;border-radius:16px;}
.farmo-shop .fm-areaguide__head{display:flex;align-items:flex-start;gap:14px;margin:0 0 16px;}
.farmo-shop .fm-areaguide__art{flex:0 0 auto;line-height:0;margin-top:2px;}
.farmo-shop p.fm-areaguide__ttl{margin:0 0 6px;font-size:15px;font-weight:700;color:#0D2B3E;}
.farmo-shop p.fm-areaguide__txt{margin:0;font-size:13px;line-height:1.9;color:#3A6578;}
.farmo-shop p.fm-areaguide__link{margin:12px 0 0;text-align:right;}
.farmo-shop .fm-areaguide__link a{font-size:13px;font-weight:700;color:#00B0E4;text-decoration:none;}
.farmo-shop .fm-areaguide__link a:hover{text-decoration:underline;}
.farmo-shop .fm-areaguide a.fm-linkcard{border-color:#DCEDF5;}
@media (max-width: 480px){.farmo-shop .fm-areaguide__head{flex-direction:column;gap:8px;}}

/* ―― r63: カートボタンのアイコン ―― */
.farmo-shop .fm-shop__btn button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:52px;padding:0 18px;border:none;cursor:pointer;background:#00B0E4;color:#fff;font-size:16px;font-weight:700;border-radius:999px;transition:opacity .2s;-webkit-appearance:none;appearance:none;font-family:inherit;}
.farmo-shop .fm-shop__btn button:hover{opacity:.82;}
.farmo-shop .fm-shop__btn .fm-cart-ico{flex:0 0 auto;margin-top:-1px;}

/* ―― r64: あわせて購入されています（右カラムのコンパクトカード） ―― */
.farmo-shop .fm-sidereco{margin-top:26px;padding-top:24px;border-top:1px solid #E4EFF5;}
.farmo-shop p.fm-sidereco__ttl{margin:0 0 13px;font-size:14px;font-weight:700;line-height:1.6;color:#0D2B3E;}
.farmo-shop ul.fm-sidereco__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;}
.farmo-shop ul.fm-sidereco__list li{margin:0;padding:0;}
.farmo-shop ul.fm-sidereco__list li::before{content:none;}
.farmo-shop a.fm-sidecard{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 10px;background:#fff;border:1px solid #E4EFF5;border-radius:12px;text-decoration:none;transition:border-color .2s ease, box-shadow .2s ease;}
.farmo-shop a.fm-sidecard:hover{border-color:#A8E2F5;box-shadow:0 4px 14px rgba(0,80,120,.09);}
.farmo-shop a.fm-sidecard::after{content:"";flex:none;width:9px;height:9px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path d=%22M8 5.5L19 12L8 18.5Z%22 fill=%22%2300B0E4%22 stroke=%22%2300B0E4%22 stroke-width=%223%22 stroke-linejoin=%22round%22/></svg>") no-repeat center/contain;transition:transform .2s ease;}
.farmo-shop a.fm-sidecard:hover::after{transform:translateX(3px);}
.farmo-shop .fm-sidecard__ph{flex:none;width:62px;height:62px;border-radius:9px;overflow:hidden;background:#F6FAFC;}
.farmo-shop .fm-sidecard__ph img{display:block;width:100%;height:100%;object-fit:cover;}
.farmo-shop .fm-sidecard__bd{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;}
.farmo-shop .fm-sidecard__name{font-size:14px;font-weight:700;line-height:1.5;color:#00B0E4;}
.farmo-shop .fm-sidecard__txt{margin-top:2px;font-size:11.5px;line-height:1.6;color:#5A6B75;}
.farmo-shop .fm-sidecard__price{margin-top:5px;font-size:14px;font-weight:700;line-height:1;color:#0D2B3E;}
.farmo-shop .fm-sidecard__price em{font-style:normal;font-weight:400;font-size:10.5px;color:#7A8B95;margin-left:3px;}
@media (max-width: 860px){
  .farmo-shop .fm-sidereco{margin-top:24px;padding-top:22px;}
  .farmo-shop .fm-sidecard__ph{width:66px;height:66px;}
  .farmo-shop .fm-sidecard__txt{font-size:12px;}
}

/* r65 shop cart button: theme icon-font arrow off */
.farmo-shop .fm-shop__btn button span::after,
.farmo-shop .fm-shop__btn button span::before{content:none !important;display:none !important;}


/* r66 カート：通信環境の確認（カスタム・オーダーフィールド） */
.customkey_agree_network th,
.customkey_agree_network td{background:#F5FBFE;}
.customkey_agree_network td .iopt_label{display:inline-flex;align-items:flex-start;gap:9px;line-height:1.75;cursor:pointer;font-weight:400;}
.customkey_agree_network td input[type="checkbox"]{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:#00B0E4;}


/* r67 購入ページ：セット内容・製品仕様 */
.farmo-shop .fm-spec__set{background:#F6FAFC;border:1px solid #E4EFF5;border-radius:14px;padding:18px 20px 16px;margin:4px 0 26px;}
.farmo-shop .fm-spec__settl{margin:0 0 11px;font-size:14px;font-weight:700;color:#1A1A1A;}
.farmo-shop ul.fm-spec__list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px;}
.farmo-shop ul.fm-spec__list li{margin:0;padding:5px 13px 5px 28px;position:relative;background:#fff;border:1px solid #DCEDF5;border-radius:999px;font-size:13px;line-height:1.6;color:#1A1A1A;}
.farmo-shop ul.fm-spec__list li::before{content:"";position:absolute;left:12px;top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:#00B0E4;}
.farmo-shop .fm-spec__setnote{margin:12px 0 0;font-size:13px;line-height:1.75;color:#5A6B75;}
.farmo-shop table.fm-spectbl{width:100%;border-collapse:collapse;margin:0;font-size:14px;line-height:1.7;}
.farmo-shop table.fm-spectbl th,
.farmo-shop table.fm-spectbl td{padding:11px 0;border:none;border-bottom:1px solid #E8EFF3;text-align:left;vertical-align:top;background:none;}
.farmo-shop table.fm-spectbl tr:first-child th,
.farmo-shop table.fm-spectbl tr:first-child td{border-top:1px solid #E8EFF3;}
.farmo-shop table.fm-spectbl th{width:36%;padding-right:16px;font-weight:400;color:#5A6B75;}
.farmo-shop table.fm-spectbl td{color:#1A1A1A;}
.farmo-shop .fm-spectbl__only{display:inline-block;margin-left:8px;padding:1px 9px;background:#EAF7FD;border-radius:999px;font-size:11px;line-height:1.7;color:#0091BE;vertical-align:1px;}
.farmo-shop .fm-spec__note{margin:14px 0 0;font-size:12px;line-height:1.8;color:#7A8B95;}
@media (max-width:640px){
  .farmo-shop table.fm-spectbl th{width:42%;font-size:13px;}
  .farmo-shop table.fm-spectbl td{font-size:13px;}
}


/* r68 製品仕様テーブル：親テーマのゼブラ・太字を打ち消す */
.farmo-shop .fm-article table.fm-spectbl tr,
.farmo-shop .fm-article table.fm-spectbl tr:nth-child(even),
.farmo-shop .fm-article table.fm-spectbl tr:nth-child(odd),
.farmo-shop .fm-article table.fm-spectbl th,
.farmo-shop .fm-article table.fm-spectbl td{background:transparent !important;}
.farmo-shop .fm-article table.fm-spectbl td{font-weight:400 !important;font-size:14px;}
.farmo-shop .fm-article table.fm-spectbl th{font-weight:400 !important;font-size:14px;}
.farmo-shop .fm-article p.fm-spec__setnote{font-size:13px !important;line-height:1.75;color:#5A6B75;}
.farmo-shop .fm-article p.fm-spec__note{font-size:12px !important;line-height:1.8;color:#7A8B95;}
.farmo-shop .fm-article p.fm-spec__settl{font-size:14px !important;font-weight:700;color:#1A1A1A;margin:0 0 11px;}
.farmo-shop .fm-article .fm-spectbl__only{font-size:11px !important;}
@media (max-width:640px){
  .farmo-shop .fm-article table.fm-spectbl th,
  .farmo-shop .fm-article table.fm-spectbl td{font-size:13px;}
}


/* r69 購入ページ：追従する購入バー */
.fm-buybar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:rgba(255,255,255,.97);border-top:1px solid #E1EDF4;box-shadow:0 -2px 16px rgba(0,40,60,.08);transform:translateY(105%);transition:transform .28s ease;}
.fm-buybar.is-on{transform:none;}
.fm-buybar__in{display:flex;align-items:center;gap:20px;padding:11px 0;}
.fm-buybar__name{font-size:15px;font-weight:700;color:#1A1A1A;white-space:nowrap;}
.fm-buybar p.fm-buybar__price{margin:0 auto 0 0;font-size:13px;color:#1A1A1A;line-height:1.2;}
.fm-buybar__num{font-size:22px;font-weight:700;margin-right:1px;}
.fm-buybar p.fm-buybar__price em{font-style:normal;font-size:12px;color:#7A8B95;margin-left:5px;}
.fm-buybar__btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 32px;border:none;border-radius:999px;background:#00B0E4;color:#fff;font-size:15px;font-weight:700;line-height:1;cursor:pointer;transition:background .2s;}
.fm-buybar__btn:hover{background:#009DCC;}
.fm-buybar__btn span::after,.fm-buybar__btn span::before{content:none !important;display:none !important;}
@media (prefers-reduced-motion:reduce){.fm-buybar{transition:none;}}
@media (max-width:640px){
  .fm-buybar__name{display:none;}
  .fm-buybar__in{gap:12px;padding:9px 0;}
  .fm-buybar__num{font-size:20px;}
  .fm-buybar__btn{height:44px;padding:0 22px;font-size:14px;}
}


/* r70 購入ページ：本文をグリッド直下の子にしたことによる配置と、スマホの並び順 */
.farmo-shop .fm-shop__gallery{grid-column:1;grid-row:1;min-width:0;}
.farmo-shop .fm-shop__panel{grid-column:2;grid-row:1 / span 2;min-width:0;}
.farmo-shop .fm-shop__body{grid-column:1;grid-row:2;min-width:0;}
.farmo-shop .fm-article table.fm-spectbl{table-layout:fixed;}
@media (max-width: 860px){
  .farmo-shop .fm-shop__gallery,
  .farmo-shop .fm-shop__panel,
  .farmo-shop .fm-shop__body{grid-column:1;grid-row:auto;}
  .farmo-shop .fm-shop__body{margin-top:34px;}
}


/* r71 購入ページ：グリッド子要素が狭い画面ではみ出すのを防ぐ */
.farmo-shop .fm-shop__gallery,
.farmo-shop .fm-shop__panel,
.farmo-shop .fm-shop__body{justify-self:stretch;max-width:100%;}


/* r72 仕様テーブル：親テーマの min-width を解除して狭い画面でも収める */
.farmo-shop .fm-article table.fm-spectbl{min-width:0 !important;width:100% !important;}
@media (max-width:640px){
  .farmo-shop .fm-article table.fm-spectbl th{width:44%;padding-right:12px;}
  .farmo-shop .fm-article table.fm-spectbl th,
  .farmo-shop .fm-article table.fm-spectbl td{padding-top:10px;padding-bottom:10px;line-height:1.65;}
}


/* r73 仕様テーブル：親テーマの nowrap を解除して折り返す */
.farmo-shop .fm-article table.fm-spectbl th,
.farmo-shop .fm-article table.fm-spectbl td{white-space:normal;overflow-wrap:break-word;}
@media (max-width:640px){
  .farmo-shop .fm-article table.fm-spectbl th{width:40%;}
  .farmo-shop .fm-article .fm-spectbl__only{display:block;margin:5px 0 0;}
}


/* r74 追従購入バー：左右をコンテンツ幅にそろえる */
.fm-buybar .fm-buybar__in{padding:11px 28px;}
@media (max-width:640px){ .fm-buybar .fm-buybar__in{padding:9px 28px;} }


/* 購入ページ：ご注文前にご確認ください（アイコンなしのトグル群） */
.farmo-shop p.fm-buychecks__ttl{margin:26px 0 10px;font-size:14px;font-weight:700;line-height:1.6;color:#0D2B3E;}
.farmo-shop .fm-buymerits--noico .fm-buymerit__ttl{font-weight:500;color:#1E4557;}
.farmo-shop .fm-buymerits--noico details.fm-buymerit > .fm-buymerit__hd:hover .fm-buymerit__ttl{color:#00A0D2;}
.farmo-shop .fm-buymerits--noico .fm-buymerit__bd{padding-left:15px;}
.farmo-shop p.fm-buymerit__link{margin:9px 0 0;font-size:12.5px;line-height:1.7;}
.farmo-shop p.fm-buymerit__link a{color:#00A0D2;font-weight:700;text-decoration:none;}
.farmo-shop p.fm-buymerit__link a:hover{text-decoration:underline;}
@media (max-width:860px){
  .farmo-shop .fm-buymerits--noico .fm-buymerit__bd{padding-left:15px;}
  .farmo-shop p.fm-buymerit__link{font-size:13px;}
}


/* 購入ページ：右カラムのラベルにアイコン */
.farmo-shop p.fm-buychecks__ttl,
.farmo-shop p.fm-sidereco__ttl{display:flex;align-items:center;gap:8px;}
.farmo-shop p.fm-buychecks__ttl::before{content:"";flex:none;width:19px;height:19px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path d=%22M12 21.2L2.9 5.6 12 7.9Z%22 fill=%22%2300A44F%22 stroke=%22%2300A44F%22 stroke-width=%221.4%22 stroke-linejoin=%22round%22/><path d=%22M12 21.2L21.1 5.6 12 7.9Z%22 fill=%22%23F2C200%22 stroke=%22%23F2C200%22 stroke-width=%221.4%22 stroke-linejoin=%22round%22/></svg>") no-repeat center/contain;}
.farmo-shop p.fm-sidereco__ttl::before{content:"";flex:none;width:18px;height:18px;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2300B0E4%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M4.8 7.6h14.4l-1.1 12.0a1.7 1.7 0 0 1-1.7 1.5H7.6a1.7 1.7 0 0 1-1.7-1.5Z%22/><path d=%22M8.8 7.6V6.0a3.2 3.2 0 0 1 6.4 0v1.6%22/></svg>") no-repeat center/contain;}


/* 購入ページ：ヘッダー帯を廃止したぶんの上部余白 */
.farmo-main.farmo-shop{padding-top:46px;}
@media (max-width:860px){ .farmo-main.farmo-shop{padding-top:28px;} }


/* r75 購入ページ：タイトルの余白と、おすすめカードのサイズアップ */
.farmo-shop .fm-shop{gap:56px;}
.farmo-shop .fm-shop__head{padding:6px 0 0 18px;margin:0 0 30px;}
.farmo-shop .fm-shop__head h1.fm-shop__name{font-size:29px;}

.farmo-shop .fm-sidereco{margin-top:30px;padding-top:26px;}
.farmo-shop p.fm-sidereco__ttl{margin-bottom:15px;font-size:15px;}
.farmo-shop p.fm-sidereco__ttl::before{width:20px;height:20px;}
.farmo-shop ul.fm-sidereco__list{gap:11px;}
.farmo-shop a.fm-sidecard{gap:14px;padding:12px 14px 12px 12px;border-radius:14px;}
.farmo-shop .fm-sidecard__ph{width:86px;height:86px;border-radius:11px;}
.farmo-shop .fm-sidecard__name{font-size:16px;}
.farmo-shop .fm-sidecard__txt{margin-top:4px;font-size:12.5px;line-height:1.65;}
.farmo-shop .fm-sidecard__price{margin-top:8px;font-size:16px;}
.farmo-shop .fm-sidecard__price em{font-size:11px;margin-left:4px;}
.farmo-shop a.fm-sidecard::after{width:10px;height:10px;}
@media (max-width: 860px){
  .farmo-shop .fm-shop__head{padding:0;margin-bottom:22px;}
  .farmo-shop .fm-sidecard__ph{width:92px;height:92px;}
  .farmo-shop .fm-sidecard__txt{font-size:13px;}
}


/* 購入カード：SKU名と型番、在庫の言い回し */
.farmo-shop p.fm-shop__skuname{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.farmo-shop .fm-shop__skulabel{font-size:15px;font-weight:700;color:#0D2B3E;line-height:1.5;}
.farmo-shop .fm-shop__skucode{flex:0 0 auto;font-size:12px;font-weight:400;color:#7A8B95;letter-spacing:.04em;}
.farmo-shop p.fm-shop__stock{display:flex;align-items:center;gap:6px;}
.farmo-shop p.fm-shop__stock::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#3CC28A;}


/* ============================================
   r76 カート4画面（カート／お客様情報／配送・支払方法／内容確認）
   ============================================ */

/* 上部：ページヘッダー帯とパンくずを外し、購入ページと同じ軽さに */
.p-wc-cart-page ~ * , .p-wc-cart-page{}
body:has(.p-wc-cart-page) .p-page-header{background:none;border:none;padding:44px 0 0;min-height:0;height:auto;}
body:has(.p-wc-cart-page) .p-page-header__title{font-size:26px;font-weight:500;color:#0D2B3E;letter-spacing:.01em;}
body:has(.p-wc-cart-page) .p-breadcrumb{display:none;}

/* 全体 */
.p-wc-cart-page{max-width:900px;margin:0 auto;padding:26px 28px 96px;font-size:14px;color:#1A1A1A;}
.p-wc-cart-page .p-wc__body,
.p-wc-cart-page .p-entry__body{padding:0;margin:0;}

/* ステップ表示 */
.p-wc-cart-page .p-wc-cart_navi{margin:0 0 40px;}
.p-wc-cart-page .p-wc-cart_navi ul{display:flex;gap:8px;margin:0;padding:0;list-style:none;counter-reset:fmstep;}
.p-wc-cart-page .p-wc-cart_navi li{flex:1 1 0;margin:0;padding:0;background:none;border:none;text-align:center;}
.p-wc-cart-page .p-wc-cart_navi li span{display:flex;align-items:center;justify-content:center;gap:7px;height:44px;padding:0 6px;border-radius:999px;background:#F1F6F9;color:#7A8B95;font-size:13px;font-weight:500;line-height:1.35;}
.p-wc-cart-page .p-wc-cart_navi li span::before{counter-increment:fmstep;content:counter(fmstep);flex:none;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#D3E1E9;color:#fff;font-size:11px;font-weight:700;}
.p-wc-cart-page .p-wc-cart_navi li.is-current span{background:#00B0E4;color:#fff;font-weight:700;}
.p-wc-cart-page .p-wc-cart_navi li.is-current span::before{background:rgba(255,255,255,.34);color:#fff;}

/* 説明文・エラー */
.p-wc-cart-page .p-wc-header_explanation,
.p-wc-cart-page .p-wc-footer_explanation{margin:0 0 26px;font-size:13px;line-height:1.95;color:#5A6B75;}
.p-wc-cart-page .p-wc-footer_explanation{margin:34px 0 0;}
.p-wc-cart-page .p-wc-error_message{margin:0 0 22px;padding:13px 16px;border:1px solid #F3C6C6;border-radius:12px;background:#FDF4F4;color:#C0392B;font-size:13.5px;line-height:1.8;font-weight:700;}
.p-wc-cart-page .p-wc-error_message:empty{display:none;padding:0;border:none;margin:0;}

/* 見出し（内容確認の小見出し） */
.p-wc-cart-page .p-wc-headline{display:flex;align-items:center;gap:9px;margin:34px 0 12px;font-size:16px;font-weight:700;color:#0D2B3E;}
.p-wc-cart-page .p-wc-headline::before{content:"";flex:none;width:0.85em;height:0.85em;border:1.5px solid #0D2B3E;border-radius:50%;}

/* テーブル共通（カート・内容確認） */
.p-wc-cart-page table{width:100%;border-collapse:collapse;margin:0;background:none;}
.p-wc-cart-page table th,
.p-wc-cart-page table td{background:none !important;border:none;border-bottom:1px solid #E8EFF3;padding:14px 10px;font-size:13.5px;line-height:1.7;color:#1A1A1A;vertical-align:middle;white-space:normal;font-weight:400;}
.p-wc-cart-page table tr{background:none !important;}

/* 商品テーブル */
.p-wc-cart-page .p-wc-cart_table thead th,
.p-wc-cart-page .p-wc-cart_table tr:first-child th{border-bottom:1px solid #DCE7EE;padding-top:0;padding-bottom:11px;font-size:12px;font-weight:500;color:#7A8B95;text-align:center;}
.p-wc-cart-page .p-wc-cart_table th.num,
.p-wc-cart-page .p-wc-cart_table td.num{width:40px;text-align:center;color:#9AACB6;}
.p-wc-cart-page .p-wc-cart_table .thumbnail{width:96px;}
.p-wc-cart-page .p-wc-cart_table .thumbnail img{display:block;width:82px;height:82px;object-fit:cover;border-radius:10px;background:#F6FAFC;}
.p-wc-cart-page .p-wc-cart_table td.quantity,
.p-wc-cart-page .p-wc-cart_table td.subtotal,
.p-wc-cart-page .p-wc-cart_table td.stock{text-align:center;white-space:nowrap;}
.p-wc-cart-page .p-wc-cart_table td.subtotal{font-weight:700;font-size:15px;color:#0D2B3E;}
.p-wc-cart-page .p-wc-cart_table .tax{font-style:normal;font-size:11px;font-weight:400;color:#7A8B95;margin-left:3px;}
.p-wc-cart-page .p-wc-cart_table td input[type=text]{width:56px;text-align:center;}
.p-wc-cart-page .p-wc-cart_table tr:last-child td{border-bottom:none;font-weight:700;}

/* 入力フォーム（お客様情報・配送） */
.p-wc-cart-page .p-wc-customer_form{border-top:1px solid #E8EFF3;}
.p-wc-cart-page .p-wc-customer_form th{width:34%;padding:16px 18px 16px 4px;font-size:13.5px;font-weight:500;color:#3A5563;text-align:left;vertical-align:middle;}
.p-wc-cart-page .p-wc-customer_form th em{font-style:normal;color:#E0574F;margin-right:3px;}
.p-wc-cart-page .p-wc-customer_form td{padding:12px 4px;}
.p-wc-cart-page .p-wc-customer_form .member_name{display:inline-block;min-width:2.2em;margin-right:6px;font-size:12px;color:#7A8B95;}

/* 入力部品 */
.p-wc-cart-page input[type=text],
.p-wc-cart-page input[type=email],
.p-wc-cart-page input[type=tel],
.p-wc-cart-page input[type=password],
.p-wc-cart-page input[type=number],
.p-wc-cart-page select,
.p-wc-cart-page textarea{max-width:100%;padding:9px 12px;border:1px solid #DCE7EE;border-radius:10px;background:#fff;font-size:14px;line-height:1.6;color:#1A1A1A;box-shadow:none;transition:border-color .2s ease, box-shadow .2s ease;}
.p-wc-cart-page input[type=text]:focus,
.p-wc-cart-page input[type=email]:focus,
.p-wc-cart-page input[type=tel]:focus,
.p-wc-cart-page input[type=password]:focus,
.p-wc-cart-page select:focus,
.p-wc-cart-page textarea:focus{outline:none;border-color:#00B0E4;box-shadow:0 0 0 3px rgba(0,176,228,.14);}
.p-wc-cart-page textarea{width:100%;min-height:110px;}
.p-wc-cart-page input[type=radio],
.p-wc-cart-page input[type=checkbox]{width:17px;height:17px;margin-right:7px;accent-color:#00B0E4;vertical-align:-3px;}
.p-wc-cart-page label{cursor:pointer;}

/* ボタン */
.p-wc-cart-page .p-button,
.p-wc-cart-page input[type=submit],
.p-wc-cart-page input[type=button].p-button{display:inline-flex;align-items:center;justify-content:center;min-width:150px;height:46px;padding:0 26px;border:1px solid #00B0E4;border-radius:999px;background:#00B0E4;color:#fff;font-size:14px;font-weight:700;line-height:1;cursor:pointer;box-shadow:none;transition:background .2s ease, border-color .2s ease;}
.p-wc-cart-page .p-button:hover,
.p-wc-cart-page input[type=submit]:hover{background:#009DCC;border-color:#009DCC;}
.p-wc-cart-page .p-button--lg{min-width:230px;height:54px;font-size:15px;}
.p-wc-cart-page .p-button--white,
.p-wc-cart-page .p-button-back,
.p-wc-cart-page input[name=previous],
.p-wc-cart-page input[name=backCart],
.p-wc-cart-page input[name=backCustomer],
.p-wc-cart-page input[name=backDelivery]{display:inline-flex;align-items:center;justify-content:center;min-width:150px;height:46px;padding:0 24px;border:1px solid #D3E1E9;border-radius:999px;background:#fff;color:#5A6B75;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s ease, color .2s ease;}
.p-wc-cart-page .p-button--white:hover,
.p-wc-cart-page .p-button-back:hover,
.p-wc-cart-page input[name=previous]:hover,
.p-wc-cart-page input[name=backCart]:hover,
.p-wc-cart-page input[name=backCustomer]:hover{border-color:#9FCEDF;color:#0D2B3E;}
.p-wc-cart-page .p-button-back.p-button--lg,
.p-wc-cart-page .p-button--white.p-button--lg{min-width:170px;height:54px;}

/* 削除・数量更新 */
.p-wc-cart-page .p-wc-upbutton{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0 0 16px;font-size:12.5px;color:#7A8B95;}
.p-wc-cart-page .p-wc-upbutton .p-button{min-width:0;height:36px;padding:0 18px;font-size:12.5px;background:#fff;border-color:#D3E1E9;color:#5A6B75;font-weight:500;}
.p-wc-cart-page .p-wc-upbutton .p-button:hover{border-color:#9FCEDF;color:#0D2B3E;background:#fff;}
.p-wc-cart-page input.delButton,
.p-wc-cart-page .delButton{min-width:0;height:32px;padding:0 14px;border:1px solid #E3E9ED;border-radius:999px;background:#fff;color:#8B9BA5;font-size:12px;font-weight:500;cursor:pointer;transition:color .2s ease, border-color .2s ease;}
.p-wc-cart-page input.delButton:hover,
.p-wc-cart-page .delButton:hover{border-color:#E8B4B0;color:#C0392B;background:#fff;}

/* 送信ボタンの並び */
.p-wc-cart-page .send,
.p-wc-cart-page .p-wc__buttons,
.p-wc-cart-page .buttons{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:38px;}

/* 通信環境の確認（カスタム・オーダーフィールド） */
.p-wc-cart-page .customkey_agree_network th,
.p-wc-cart-page .customkey_agree_network td{background:#F5FBFE !important;}

@media (max-width:768px){
  .p-wc-cart-page{padding:20px 20px 72px;}
  body:has(.p-wc-cart-page) .p-page-header{padding-top:26px;}
  body:has(.p-wc-cart-page) .p-page-header__title{font-size:21px;}
  .p-wc-cart-page .p-wc-cart_navi ul{gap:5px;}
  .p-wc-cart-page .p-wc-cart_navi li span{height:auto;min-height:52px;padding:6px 4px;flex-direction:column;gap:4px;font-size:11px;}
  .p-wc-cart-page .p-wc-customer_form th{width:100%;display:block;padding:14px 0 4px;}
  .p-wc-cart-page .p-wc-customer_form td{display:block;width:100%;padding:0 0 14px;border-bottom:1px solid #E8EFF3;}
  .p-wc-cart-page .p-wc-customer_form th{border-bottom:none;}
  .p-wc-cart-page .p-button--lg{min-width:0;width:100%;}
  .p-wc-cart-page .p-button-back.p-button--lg,
  .p-wc-cart-page .p-button--white.p-button--lg{width:100%;}
}



/* r77 カート4画面 仕上げ（親テーマの打ち消し） */
/* 上部のページヘッダー帯とパンくずは出さない（ステップ表示が現在地を示す） */
body:has(.p-wc-cart-page) .p-page-header,
body:has(.p-wc-cart-page) .p-breadcrumb{display:none !important;}
.p-wc-cart-page{padding-top:52px;}

/* ステップ表示：親テーマの矢印装飾を消す */
.p-wc-cart-page .p-wc-cart_navi li::before,
.p-wc-cart-page .p-wc-cart_navi li::after{content:none !important;display:none !important;}

/* ボタンの色は親テーマが !important で塗るため上書き */
.p-wc-cart-page .p-button{color:#fff !important;background:#00B0E4 !important;border-color:#00B0E4 !important;}
.p-wc-cart-page .p-button:hover{background:#009DCC !important;border-color:#009DCC !important;}
.p-wc-cart-page .p-button-back,
.p-wc-cart-page .p-button--white,
.p-wc-cart-page input.continue_shopping_button,
.p-wc-cart-page .p-wc-upbutton .p-button,
.p-wc-cart-page .delButton{color:#5A6B75 !important;background:#fff !important;border-color:#D3E1E9 !important;}
.p-wc-cart-page .p-button-back:hover,
.p-wc-cart-page .p-button--white:hover,
.p-wc-cart-page input.continue_shopping_button:hover,
.p-wc-cart-page .p-wc-upbutton .p-button:hover{color:#0D2B3E !important;background:#fff !important;border-color:#9FCEDF !important;}
.p-wc-cart-page .delButton:hover{color:#C0392B !important;border-color:#E8B4B0 !important;}

/* 商品テーブルの見え方 */
.p-wc-cart-page .p-wc-cart_table td{text-align:left;}
.p-wc-cart-page .p-wc-cart_table td.num{text-align:center;}
.p-wc-cart-page .p-wc-cart_table th{text-align:center;}
.p-wc-cart-page .p-wc-cart_table th:nth-child(3){text-align:left;}
.p-wc-cart-page .p-wc-cart_table td.stock{font-size:12px;color:#7A8B95;}
.p-wc-cart-page .p-wc-cart_table td:last-child{text-align:right;}
.p-wc-cart-page .p-wc-cart_table tr:last-child td{color:#0D2B3E;}
.p-wc-cart-page .p-wc-upbutton{font-size:12.5px;}

@media (max-width:768px){
  .p-wc-cart-page{padding-top:30px;}
  .p-wc-cart-page .p-wc-cart_table .thumbnail{width:64px;}
  .p-wc-cart-page .p-wc-cart_table .thumbnail img{width:56px;height:56px;}
  .p-wc-cart-page .p-wc-cart_table th,
  .p-wc-cart-page .p-wc-cart_table td{padding:10px 5px;font-size:12.5px;}
}


/* r78 カート4画面 入力欄と補助ボタン */
.p-wc-cart-page input[type=text],
.p-wc-cart-page input[type=email],
.p-wc-cart-page input[type=tel],
.p-wc-cart-page input[type=password],
.p-wc-cart-page input[type=number],
.p-wc-cart-page select,
.p-wc-cart-page textarea{background:#fff !important;border:1px solid #DCE7EE !important;border-radius:10px !important;}
.p-wc-cart-page input[type=text]:focus,
.p-wc-cart-page input[type=email]:focus,
.p-wc-cart-page input[type=tel]:focus,
.p-wc-cart-page input[type=password]:focus,
.p-wc-cart-page select:focus,
.p-wc-cart-page textarea:focus{border-color:#00B0E4 !important;}
.p-wc-cart-page input::placeholder,
.p-wc-cart-page textarea::placeholder{color:#A9B8C1;}

/* 住所検索などの補助ボタン */
.p-wc-cart-page .button,
.p-wc-cart-page input.search-zipcode{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border:1px solid #D3E1E9 !important;border-radius:999px !important;background:#fff !important;color:#5A6B75 !important;font-size:12.5px;font-weight:500;cursor:pointer;box-shadow:none;transition:border-color .2s ease, color .2s ease;}
.p-wc-cart-page .button:hover,
.p-wc-cart-page input.search-zipcode:hover{border-color:#9FCEDF !important;color:#0D2B3E !important;}

/* 例示テキスト */
.p-wc-cart-page .p-wc-customer_form td{color:#5A6B75;}
.p-wc-cart-page .p-wc-customer_form td input,
.p-wc-cart-page .p-wc-customer_form td select{color:#1A1A1A;}


/* r79 カート4画面 選択部品と合計行 */
.p-wc-cart-page input[type=radio],
.p-wc-cart-page input[type=checkbox]{-webkit-appearance:auto !important;appearance:auto !important;background:none !important;border:none !important;box-shadow:none !important;accent-color:#00B0E4;}
.p-wc-cart-page input[type=radio]::before,
.p-wc-cart-page input[type=radio]::after,
.p-wc-cart-page input[type=checkbox]::before,
.p-wc-cart-page input[type=checkbox]::after{content:none !important;display:none !important;}

/* 内容確認：合計行を目立たせる */
.p-wc-cart-page .p-wc-confirm_table tr:last-child th,
.p-wc-cart-page .p-wc-confirm_table tr:last-child td{border-top:1px solid #DCE7EE;border-bottom:none;padding-top:16px;padding-bottom:16px;font-size:16px;font-weight:700;color:#0D2B3E;}

/* 内容確認：確認テーブルのラベル列 */
.p-wc-cart-page .p-wc-confirm_table th{width:34%;text-align:left;font-size:13px;font-weight:500;color:#7A8B95;}
.p-wc-cart-page .p-wc-confirm_table td{color:#1A1A1A;}


/* ―― r80 製品ページ：デモ機セクション／ご購入について／クロージング1ボタン ―― */
.farmo-main .fm-trial{display:grid;grid-template-columns:5fr 6fr;gap:38px;align-items:center;margin-top:34px;padding:28px;background:#F5FBFE;border:1px solid #DCEDF5;border-radius:20px;}
.farmo-main .fm-trial__ph{display:block;line-height:0;}
.farmo-main .fm-trial__ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;}
.farmo-main .fm-trial__body{min-width:0;}
.farmo-main p.fm-trial__ttl{margin:0 0 16px;font-size:20px;font-weight:600;line-height:1.6;color:#0D2B3E;}
.farmo-main ul.fm-trial__list{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.farmo-main ul.fm-trial__list li{position:relative;margin:0;padding-left:28px;font-size:14.5px;line-height:1.85;color:#3A6578;}
.farmo-main ul.fm-trial__list li::before{content:"";position:absolute;left:2px;top:.55em;width:14px;height:8px;border-left:2.6px solid #00B0E4;border-bottom:2.6px solid #00B0E4;transform:rotate(-45deg);}
.farmo-main p.fm-trial__txt{margin:0 0 22px;font-size:13.5px;line-height:1.9;color:#5A6B75;}
.farmo-main p.fm-trial__btn{margin:0;}

.farmo-main .fm-buyways{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px;}
.farmo-main .fm-buyway{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:30px 28px 26px;background:#fff;border:1px solid #E3EEF3;border-radius:18px;}
.farmo-main .fm-buyway__ic{display:block;line-height:0;}
.farmo-main .fm-buyway__ttl{margin:0;font-size:19px;font-weight:600;line-height:1.6;color:#0D2B3E;}
.farmo-main .fm-buyway .fm-buyway__txt{margin:0;font-size:14px;line-height:1.9;color:#3A6578;}
.farmo-main p.fm-buyway__btn{margin:auto 0 0;padding-top:12px;}
.farmo-main .fm-buyway > p:not([class]):empty,.farmo-main .fm-buyways > p:not([class]):empty{display:none;}
.farmo-main .fm-buyway > p:not([class]),.farmo-main .fm-buyways > p:not([class]){margin:0;}

.farmo-main .fm-buy p.fm-buy__cta{margin:0 auto;text-align:center;}
.farmo-main .fm-buy .fm-buy__cta .farmo-btn{min-width:300px;height:62px;font-size:17px;}

@media (max-width:820px){
  .farmo-main .fm-trial{grid-template-columns:1fr;gap:22px;padding:20px;}
  .farmo-main .fm-buyways{grid-template-columns:1fr;}
  .farmo-main .fm-buy .fm-buy__cta .farmo-btn{min-width:0;width:100%;}
}


/* r81 製品ページ：自動挿入される空のpをレイアウトから外す */
.farmo-main .fm-trial > p:not([class]):empty,
.farmo-main .fm-trial__body > p:not([class]):empty,
.farmo-main .fm-buyways > p:not([class]):empty,
.farmo-main .fm-buyway > p:not([class]):empty{display:none !important;}
.farmo-main .fm-trial > p:not([class]),
.farmo-main .fm-trial__body > p:not([class]),
.farmo-main .fm-buyways > p:not([class]),
.farmo-main .fm-buyway > p:not([class]){margin:0;}


/* r82 ボタン内テキストの中央揃えと、水田ページへ戻るボタンの余白 */
.farmo-main .farmo-btn{justify-content:center;align-items:center;text-align:center;}
.farmo-main .fm-buy .fm-buy__cta .farmo-btn{justify-content:center;}
.farmo-main .fm-backsec{margin-top:72px;}
@media (max-width:820px){ .farmo-main .fm-backsec{margin-top:48px;} }


/* r83 デモページ：3ステップは3カラム */
.farmo-main .fm-buyways:has(> .fm-buyway:nth-child(3)){grid-template-columns:repeat(3,1fr);}
@media (max-width:820px){ .farmo-main .fm-buyways:has(> .fm-buyway:nth-child(3)){grid-template-columns:1fr;} }


/* r84 お問い合わせフォーム（Contact Form 7） */
.farmo-main .fm-cf{display:grid;gap:24px;max-width:720px;}
.farmo-main .fm-cf__row{display:grid;gap:7px;}
.farmo-main .fm-cf__lb{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:#0D2B3E;letter-spacing:.01em;}
.farmo-main .fm-cf__req{font-size:11px;font-weight:700;color:#fff;background:var(--sky);border-radius:4px;padding:2px 8px;letter-spacing:.06em;}
.farmo-main .fm-cf__help{font-size:12.5px;line-height:1.75;color:var(--text-sub);}
.farmo-main .fm-cf .wpcf7-form-control-wrap{display:block;}
.farmo-main .fm-cf input[type="text"],
.farmo-main .fm-cf input[type="email"],
.farmo-main .fm-cf input[type="tel"],
.farmo-main .fm-cf select,
.farmo-main .fm-cf textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;line-height:1.7;color:#0D2B3E;background:#fff;border:1px solid #CFDDE5;border-radius:8px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;}
.farmo-main .fm-cf textarea{min-height:180px;resize:vertical;}
.farmo-main .fm-cf select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%237C9EB0' d='M1 2h10L6 7z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:12px 8px;}
.farmo-main .fm-cf input:focus,.farmo-main .fm-cf select:focus,.farmo-main .fm-cf textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(0,176,228,.18);}
.farmo-main .fm-cf input[type="file"]{width:100%;font-size:13px;color:var(--text-sub);padding:8px 0;}
.farmo-main .fm-cf__agree{background:#F2F8FB;border-radius:10px;padding:16px 18px;font-size:14px;color:#0D2B3E;}
.farmo-main .fm-cf__agree .wpcf7-list-item{margin:0;}
.farmo-main .fm-cf__agree label{display:flex;align-items:center;gap:10px;cursor:pointer;}
.farmo-main .fm-cf__agree input[type="checkbox"]{width:19px;height:19px;flex:none;accent-color:#00B0E4;margin:0;}
.farmo-main .fm-cf__agree a{color:var(--sky-dark);text-underline-offset:3px;}
.farmo-main .fm-cf__send{margin-top:4px;}
.farmo-main .fm-cf__send input[type="submit"]{appearance:none;-webkit-appearance:none;font:inherit;font-weight:700;font-size:15px;color:#fff;background:var(--sky);border:1.5px solid var(--sky);border-radius:999px;padding:15px 44px;cursor:pointer;transition:.15s;}
.farmo-main .fm-cf__send input[type="submit"]:hover{background:var(--sky-dark);border-color:var(--sky-dark);}
.farmo-main .fm-cf__send input[type="submit"]:disabled{opacity:.55;cursor:default;}
.farmo-main .wpcf7-not-valid-tip{font-size:12.5px;color:#C0392B;margin-top:5px;}
.farmo-main .wpcf7-form .wpcf7-not-valid{border-color:#E08B84;background:#FFF7F6;}
.farmo-main .wpcf7-response-output{margin:22px 0 0;padding:14px 16px;border:1px solid #CFDDE5;border-radius:8px;background:#F7FBFD;color:#0D2B3E;font-size:14px;line-height:1.8;}
.farmo-main .wpcf7-form.invalid .wpcf7-response-output,.farmo-main .wpcf7-form.unaccepted .wpcf7-response-output{border-color:#E5B4AE;background:#FFF6F5;}
.farmo-main .wpcf7-form.sent .wpcf7-response-output{border-color:#9AD9BF;background:#EFF9F5;}
.farmo-main .wpcf7-spinner{vertical-align:middle;}
.farmo-main .fm-cf p:empty,.farmo-main .fm-cf__row p:empty{display:none !important;}
@media (max-width:820px){
  .farmo-main .fm-cf{gap:20px;}
  .farmo-main .fm-cf__send input[type="submit"]{width:100%;padding:15px 20px;}
}


/* r85 親テーマのCF7スタイルを打ち消す */
.farmo-main .wpcf7{border:0 !important;background:transparent !important;padding:0 !important;margin:0;}
.farmo-main .fm-cf select{max-width:100% !important;}
.farmo-main .fm-cf__row p,.farmo-main .fm-cf__agree p,.farmo-main .fm-cf__send p{margin:0;display:grid;gap:7px;}
.farmo-main .fm-cf__agree p,.farmo-main .fm-cf__send p{display:block;}
.farmo-main .fm-cf input[type="file"]{border:1px dashed #CFDDE5;border-radius:8px;padding:12px 14px;background:#fff;}


/* r86 送信ボタンの幅 */
.farmo-main .fm-cf__send input[type="submit"]{width:auto !important;min-width:260px;}
@media (max-width:820px){ .farmo-main .fm-cf__send input[type="submit"]{width:100% !important;min-width:0;} }


/* r87 電話窓口カード */
.farmo-main .fm-tels{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.farmo-main .fm-tel{border:1px solid #E2ECF1;border-radius:12px;padding:24px 26px 22px;background:#fff;}
.farmo-main .fm-tel__kind{margin:0 0 8px;font-size:12.5px;font-weight:700;color:var(--sky-dark);letter-spacing:.02em;line-height:1.6;}
.farmo-main .fm-tel__name{margin:0;font-size:15px;font-weight:700;color:#0D2B3E;}
.farmo-main .fm-tel__num{margin:6px 0 0;font-size:clamp(23px,2.5vw,29px);font-weight:700;letter-spacing:.02em;line-height:1.25;}
.farmo-main .fm-tel__num a{color:#0D2B3E;text-decoration:none;}
.farmo-main .fm-tel__num a:hover{color:var(--sky-dark);}
.farmo-main .fm-tel__free{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--sky);border-radius:4px;padding:3px 8px;margin-right:9px;letter-spacing:.06em;vertical-align:middle;}
.farmo-main .fm-tel__hours{margin:10px 0 0;font-size:13.5px;font-weight:700;color:#0D2B3E;}
.farmo-main .fm-tel__meta{margin:6px 0 0;font-size:12.5px;line-height:1.95;color:var(--text-sub);}
@media (max-width:820px){ .farmo-main .fm-tels{grid-template-columns:1fr;gap:16px;} .farmo-main .fm-tel{padding:20px 20px 18px;} }


/* r88 電話窓口カードの住所行 */
.farmo-main .fm-tel__meta + .fm-tel__meta{margin-top:0;}


/* r89 オンラインストア */
.farmo-main .fm-stmerits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.farmo-main .fm-stmerit{border:1px solid #DCEBF3;border-radius:12px;padding:20px 22px;background:#F5FAFD;}
.farmo-main .fm-stmerit__t{margin:0;font-size:16px;font-weight:700;color:var(--sky-dark);}
.farmo-main .fm-stmerit__d{margin:6px 0 0;font-size:13px;line-height:1.85;color:var(--text-sub);}

.farmo-main .fm-stcards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.farmo-main .fm-stcard{display:flex;flex-direction:column;min-width:0;border:1px solid #E7EFF3;border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .18s,transform .18s;}
.farmo-main .fm-stcard:hover{box-shadow:0 12px 26px -16px rgba(13,43,62,.45);transform:translateY(-2px);}
.farmo-main .fm-stcard__ph{display:block;aspect-ratio:4/3;background:#F1F6FA;overflow:hidden;}
.farmo-main .fm-stcard__ph img{width:100% !important;height:100% !important;max-width:100%;object-fit:cover;display:block;margin:0;}
.farmo-main .fm-stcard__body{display:flex;flex-direction:column;gap:6px;padding:16px 16px 15px;flex:1;}
.farmo-main .fm-stcard__name{font-size:15px;font-weight:700;color:#0D2B3E;line-height:1.55;}
.farmo-main .fm-stcard__txt{font-size:12.5px;line-height:1.85;color:var(--text-sub);flex:1;}
.farmo-main .fm-stcard__price{margin-top:8px;font-size:18px;font-weight:700;color:var(--sky-dark);display:flex;align-items:baseline;gap:6px;}
.farmo-main .fm-stcard__tax{font-size:11px;font-weight:500;color:var(--text-sub);}
.farmo-main .fm-stgroup .fm-solp__lead{margin-bottom:28px;}
@media (max-width:1040px){ .farmo-main .fm-stcards{grid-template-columns:repeat(3,1fr);gap:18px;} }
@media (max-width:820px){ .farmo-main .fm-stcards{grid-template-columns:repeat(2,1fr);gap:14px;} .farmo-main .fm-stmerits{grid-template-columns:1fr;gap:12px;} .farmo-main .fm-stcard__body{padding:13px 13px 14px;} .farmo-main .fm-stcard__name{font-size:14px;} }


/* r90 タイプ比較表（ハウスファーモ） */
.farmo-main .fm-typetbl{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.farmo-main .fm-typetbl table{width:100%;min-width:640px;border-collapse:collapse;background:#fff;font-size:14px;}
.farmo-main .fm-typetbl th,.farmo-main .fm-typetbl td{padding:14px 14px;border-bottom:1px solid #E7EFF3;text-align:left;vertical-align:middle;white-space:normal;}
.farmo-main .fm-typetbl thead th{background:#F2F8FB;font-size:12.5px;font-weight:700;color:var(--sky-dark);letter-spacing:.04em;border-bottom:1px solid #D8E7EF;}
.farmo-main .fm-typetbl tbody tr:hover{background:#F8FCFE;}
.farmo-main .fm-typetbl .fm-tt__type{font-weight:700;color:#0D2B3E;font-size:15px;white-space:nowrap;}
.farmo-main .fm-typetbl .fm-tt__crop{color:#0D2B3E;white-space:nowrap;}
.farmo-main .fm-typetbl .fm-tt__meas{color:var(--text-sub);font-size:13px;line-height:1.7;}
.farmo-main .fm-typetbl .fm-tt__price{font-weight:700;color:var(--sky-dark);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;}
.farmo-main .fm-typetbl .fm-tt__go{text-align:right;white-space:nowrap;}
.farmo-main .fm-typetbl .fm-tt__go a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--sky-dark);text-decoration:none;border:1.5px solid var(--sky);border-radius:999px;padding:6px 14px;transition:.15s;}
.farmo-main .fm-typetbl .fm-tt__go a:hover{background:var(--sky);color:#fff;}
.farmo-main .fm-typenote{margin:16px 0 0;font-size:12.5px;color:var(--text-sub);}
.farmo-main .fm-typebtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
@media (max-width:820px){
  .farmo-main .fm-typetbl table{font-size:13px;}
  .farmo-main .fm-typetbl th,.farmo-main .fm-typetbl td{padding:11px 10px;}
  .farmo-main .fm-typebtns .farmo-btn{width:100%;text-align:center;justify-content:center;}
}


/* r91 通信エリア：数字と地図 */
.farmo-main .fm-netnums{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#DCEBF3;border:1px solid #DCEBF3;border-radius:12px;overflow:hidden;margin:8px 0 0;}
.farmo-main .fm-netnum{background:#fff;padding:26px 22px;text-align:center;}
.farmo-main .fm-netnum__n{display:block;font-size:clamp(30px,4vw,42px);font-weight:700;line-height:1.1;color:var(--sky-dark);letter-spacing:.01em;font-variant-numeric:tabular-nums;}
.farmo-main .fm-netnum__n small{font-size:.45em;font-weight:700;margin-left:3px;}
.farmo-main .fm-netnum__t{display:block;margin-top:8px;font-size:13px;font-weight:700;color:#0D2B3E;}
.farmo-main .fm-netnum__d{display:block;margin-top:3px;font-size:12px;line-height:1.75;color:var(--text-sub);}
.farmo-main .fm-netmap{margin:8px 0 0;border-radius:14px;overflow:hidden;border:1px solid #E2ECF1;}
.farmo-main .fm-netmap img{width:100%;display:block;}
.farmo-main .fm-netcap{margin:10px 0 0;font-size:12.5px;color:var(--text-sub);}
@media (max-width:820px){ .farmo-main .fm-netnums{grid-template-columns:1fr;} .farmo-main .fm-netnum{padding:20px 18px;} }


/* r92 比較表（専用と共有） */
.farmo-main .fm-typetbl--cmp table{min-width:520px;}
.farmo-main .fm-typetbl--cmp td{font-weight:400 !important;}
.farmo-main .fm-typetbl--cmp td:nth-child(1){font-weight:700 !important;width:9em;}
.farmo-main .fm-typetbl--cmp td:nth-child(2){color:#0D2B3E !important;font-weight:500 !important;}
.farmo-main .fm-typetbl--cmp td:nth-child(3){color:var(--text-sub) !important;}
.farmo-main .fm-typetbl--cmp thead th:nth-child(2){color:var(--sky-dark);}
.farmo-main .fm-typetbl--cmp thead th:nth-child(3){color:var(--text-sub);}



/* ==========================================================================
   r99 FARMO デザイントークン ＋ /network/（通信エリアを確認する）
   骨格・タイポ・カード・ボタンは /solution/ /product/ を基準とし、
   共通部品（.fm-solp / .fm-solp__sec / .fm-solp__h / .fm-pdhero /
   .fm-why2 / .fm-solp__deep / .farmo-btn）をそのまま使う。
   ここにはページ固有の部品だけを置く。
   （旧 r93〜r98 の /network/ 用スタイルは本ブロックに統合し削除）
   ========================================================================== */

:root{
  /* 文字 */
  --fm-ink:#0D2B3E;         /* 見出し・本文 */
  --fm-sub:#3A6578;         /* 補助テキスト */
  --fm-mute:#6C8FA0;        /* 注記 */
  /* ブランド */
  --fm-sky:#00B0E4;         /* 公式スカイ（面・ボタン） */
  --fm-sky-dark:#008BBF;    /* ホバー・リンク */
  --fm-sky-text:#0090BE;    /* 文字のアクセント */
  --fm-sky-line:#35C1EE;    /* アイコンの線 */
  --fm-green:#76B82A;       /* 肯定・自然 */
  --fm-orange:#F5A94E;      /* 注意・追加 */
  /* 罫線 */
  --fm-line:#E7EFF3;        /* カード */
  --fm-line-soft:#EAF2F7;   /* 淡色ボックス */
  --fm-line-chip:#DCEEF7;   /* チップ */
  /* 面 */
  --fm-soft:#F5FAFD;        /* 淡色ボックス */
  --fm-place:#F2F9FD;       /* 画像のプレースホルダ */
  --fm-tint:#E6F5FC;        /* アイコン円・タグ */
  --fm-band:#EAF6FC;        /* 全幅の帯 */
  /* 形 */
  --fm-r-card:16px;
  --fm-r-box:18px;
  --fm-r-sm:12px;
  --fm-r-pill:999px;
  --fm-shadow:0 6px 16px rgba(13,43,62,.05);
  --fm-shadow-lg:0 8px 22px rgba(13,43,62,.05);
  /* 幅 */
  --fm-article:1040px;
}

/* 本文を自由レイアウトで出すページ（farmo_hide_hero） */
.farmo-main .farmo-freebody > p:empty{display:none !important;}
.farmo-main .farmo-freebody .fm-solp{margin-top:40px;}
.farmo-main .farmo-freebody .fm-solp__sec > p:empty{display:none !important;}

/* --- ファーストビューのマップカード（.fm-pdhero の右カラム） --- */
.farmo-main .fm-nmap{position:relative;display:block;border-radius:22px;overflow:hidden;background:var(--fm-place);border:1px solid var(--fm-line);text-decoration:none;transition:transform .2s,box-shadow .2s;}
.farmo-main .fm-nmap:hover{transform:translateY(-2px);box-shadow:0 16px 32px -20px rgba(13,43,62,.5);}
.farmo-main .fm-nmap img{display:block;width:100%;height:auto;}
.farmo-main .fm-nmap__badge{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:9px 17px;border-radius:var(--fm-r-pill);background:#fff;color:var(--fm-ink);font-weight:600;font-size:12.5px;box-shadow:0 6px 16px -6px rgba(13,43,62,.45);}
.farmo-main .fm-nmap__badge::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--fm-sky);box-shadow:0 0 0 4px rgba(0,176,228,.22);}

/* --- 肯定の注記（緑のチェック付き） --- */
.farmo-main .fm-nok{display:flex;align-items:flex-start;gap:9px;margin:14px 0 0;font-size:13.5px;line-height:1.85;color:var(--fm-sub);}
.farmo-main .fm-nok::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:#76B82A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 12.6 9.6 18.2 20 6.4'/%3E%3C/svg%3E") center/11px no-repeat;}

/* --- 分岐カード（アイキャッチ付き・3列） --- */
.farmo-main .fm-nsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.farmo-main .fm-nsteps > *{min-width:0;max-width:100%;}
.farmo-main .fm-nsteps > p:empty{display:none !important;}
.farmo-main .fm-nstep{display:flex;flex-direction:column;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-box);box-shadow:var(--fm-shadow-lg);overflow:hidden;padding:0 0 24px;transition:transform .2s,box-shadow .2s;}
.farmo-main .fm-nstep > p:empty{display:none !important;}
.farmo-main .fm-nstep:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(13,43,62,.09);}
.farmo-main .fm-nstep__pic{display:block;background:linear-gradient(180deg,#F1F9FE 0%,#FAFDFF 100%);border-bottom:1px solid #EDF5F9;}
.farmo-main .fm-nstep__pic svg{display:block;width:100%;height:auto;}
.farmo-main .fm-nstep__t{font-size:17px;font-weight:600;color:var(--fm-ink);line-height:1.55;margin:22px 26px 10px;}
.farmo-main .fm-nstep__d{font-size:14px;line-height:1.95;color:var(--fm-sub);margin:0 26px 20px;}
.farmo-main .fm-nstep__a{margin:auto 26px 0;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--fm-sky-dark);text-decoration:none;}
.farmo-main .fm-nstep__a::after{content:"→";transition:transform .15s;}
.farmo-main .fm-nstep:hover .fm-nstep__a::after{transform:translateX(3px);}

/* --- 図版（囲まずページと一体に置く） --- */
.farmo-main .fm-nfig{margin:0 0 6px;}
.farmo-main .fm-nfig img{display:block;width:100%;max-width:660px;height:auto;margin:0 auto;}
.farmo-main .fm-nfigt{margin:0 0 10px;font-size:19px;font-weight:600;color:var(--fm-ink);text-align:center;line-height:1.55;letter-spacing:.01em;}
.farmo-main .fm-nfigl{margin:0 auto 36px;max-width:40em;font-size:15px;line-height:2;color:var(--fm-sub);text-align:center;}

/* --- 比較表 --- */
.farmo-main .fm-ncmpwrap{overflow-x:auto;border-radius:var(--fm-r-card);border:1px solid var(--fm-line);background:#fff;box-shadow:var(--fm-shadow);-webkit-overflow-scrolling:touch;}
.farmo-main .fm-ncmp{width:100%;border-collapse:collapse;min-width:660px;margin:0;}
.farmo-main .fm-ncmp th,.farmo-main .fm-ncmp td{padding:15px 22px;text-align:left;font-size:14.5px;line-height:1.85;border-bottom:1px solid #EDF5F9;vertical-align:middle;font-weight:400;color:var(--fm-sub);}
.farmo-main .fm-ncmp thead th{background:var(--fm-place);color:var(--fm-ink);font-weight:600;font-size:14px;border-bottom:1px solid var(--fm-line);}
.farmo-main .fm-ncmp thead th:nth-child(3){background:var(--fm-tint);color:var(--fm-sky-text);}
.farmo-main .fm-ncmp tbody td:nth-child(3){background:#F8FCFE;}
.farmo-main .fm-ncmp tbody th{background:#FBFDFE;color:#5D8598;font-weight:600;width:23%;}
.farmo-main .fm-ncmp tbody tr:last-child th,.farmo-main .fm-ncmp tbody tr:last-child td{border-bottom:0;}
.farmo-main .fm-ncmp .is-good{color:var(--fm-ink);font-weight:600;}
.farmo-main .fm-ncmp .is-free{color:#5A9E13;font-weight:600;}
.farmo-main .fm-ncmp .fm-ncmp__price{display:inline-block;margin-left:10px;font-weight:400;color:var(--fm-sub);}
.farmo-main .fm-nnote{margin:14px 0 0;font-size:13px;line-height:1.9;color:var(--fm-mute);}

/* --- 注意点リスト --- */
.farmo-main .fm-ncau{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.farmo-main .fm-ncau li{position:relative;padding:0 0 0 24px;font-size:14.5px;line-height:1.95;color:var(--fm-sub);}
.farmo-main .fm-ncau li::before{content:"";position:absolute;left:2px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--fm-sky);box-shadow:0 0 0 4px rgba(0,176,228,.16);}

/* --- クロージング（.fm-solp__deep の中） --- */
.farmo-main .fm-nclose{text-align:center;}
.farmo-main .fm-nclose > p:empty{display:none !important;}
.farmo-main .fm-nclose__h{font-size:clamp(23px,2.6vw,31px);font-weight:600;color:var(--fm-ink);line-height:1.5;margin:0 0 12px;letter-spacing:.01em;}
.farmo-main .fm-nclose__h em{font-style:normal;color:var(--fm-sky-text);}
.farmo-main .fm-nclose__p{font-size:15px;line-height:1.95;color:var(--fm-sub);margin:0 0 26px;}
.farmo-main .fm-nclose .farmo-btn{font-size:17px;padding:16px 42px;}

/* --- レスポンシブ（基準ページと同じ 820px / 640px） --- */
@media (max-width:820px){
  .farmo-main .fm-nsteps{grid-template-columns:1fr;gap:16px;}
  .farmo-main .fm-nfigt{font-size:18px;}
  .farmo-main .fm-nclose .farmo-btn{width:100%;}
}
@media (max-width:640px){
  .farmo-main .fm-nstep__t{margin:20px 22px 10px;}
  .farmo-main .fm-nstep__d{margin:0 22px 18px;}
  .farmo-main .fm-nstep__a{margin:auto 22px 0;}
  .farmo-main .fm-nmap__badge{left:11px;bottom:11px;padding:8px 14px;font-size:12px;}
  .farmo-main .fm-ncau li{font-size:14px;}
}

/* 注記の改行（親テーマの br{display:none} を打ち消す） */
.farmo-main .fm-nnote br{display:block !important;}



/* ==========================================================================
   r100 /network/antenna/（エリア外で利用する）
   骨格・タイポ・カードは基準どおり。共通部品（.fm-solp / .fm-solp__sec /
   .fm-solp__h / .fm-pdhero / .fm-pmerits / .fm-solp__deep / .farmo-btn /
   .fm-ncau）を使い、ここにはページ固有の部品だけを置く。
   ========================================================================== */

/* --- 準備中タグ（見出しの後ろに置く小さいラベル） --- */
.farmo-main .fm-soon{display:inline-block;margin-left:8px;padding:1px 9px;border:1px dashed #C9DEEA;border-radius:var(--fm-r-pill);background:#F7FAFC;color:#6F93A4;font-size:11px;font-weight:600;line-height:1.7;vertical-align:2px;white-space:nowrap;}

/* --- ファーストビューの写真 --- */
.farmo-main .fm-antph{position:relative;border-radius:22px;overflow:hidden;background:var(--fm-place);border:1px solid var(--fm-line);}
.farmo-main .fm-antph img{display:block;width:100%;height:auto;}
.farmo-main .fm-antph__b{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:11px 18px;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 8px 20px -8px rgba(13,43,62,.45);}
.farmo-main .fm-antph__b b{font-size:23px;font-weight:600;color:var(--fm-sky-text);line-height:1;letter-spacing:-.01em;}
.farmo-main .fm-antph__b span{font-size:12px;font-weight:600;line-height:1.5;color:var(--fm-ink);}

/* --- 言い切りの一文（淡色ボックスの中） --- */
.farmo-main .fm-quote{font-size:clamp(17px,1.9vw,22px);font-weight:600;line-height:1.75;letter-spacing:.01em;color:var(--fm-ink);margin:0 0 20px;}
.farmo-main .fm-quote em{font-style:normal;color:var(--fm-sky-text);}

/* --- チェックリスト --- */
.farmo-main .fm-checks{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.farmo-main .fm-checks li{position:relative;padding-left:31px;font-size:14.5px;line-height:1.9;color:var(--fm-sub);}
.farmo-main .fm-checks li::before{content:"";position:absolute;left:0;top:6px;width:20px;height:20px;border-radius:50%;background:#76B82A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 12.6 9.6 18.2 20 6.4'/%3E%3C/svg%3E") center/12px no-repeat;}

/* --- アンテナのラインナップ --- */
.farmo-main .fm-antl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.farmo-main .fm-antl > *{min-width:0;max-width:100%;}
.farmo-main .fm-antl > p:empty{display:none !important;}
.farmo-main .fm-ant{display:flex;flex-direction:column;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-box);box-shadow:var(--fm-shadow-lg);overflow:hidden;}
.farmo-main .fm-ant > p:empty{display:none !important;}
.farmo-main .fm-ant__ph{position:relative;display:grid;place-items:center;min-height:212px;padding:20px;background:var(--fm-place);border-bottom:1px solid var(--fm-line);}
.farmo-main .fm-ant__ph img{display:block;width:auto;max-width:100%;max-height:172px;object-fit:contain;}
.farmo-main .fm-ant__tag{position:absolute;left:16px;top:16px;padding:4px 12px;border-radius:var(--fm-r-pill);background:var(--fm-sky);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;}
.farmo-main .fm-ant__b{display:flex;flex-direction:column;flex:1;padding:24px 24px 24px;}
.farmo-main .fm-ant__b > p:empty{display:none !important;}
.farmo-main .fm-ant__t{font-size:18px;font-weight:600;color:var(--fm-ink);line-height:1.5;margin:0 0 6px;}
.farmo-main .fm-ant__u{font-size:13.5px;line-height:1.9;color:var(--fm-sub);margin:0 0 16px;}
.farmo-main .fm-ant__p{font-size:25px;font-weight:600;color:var(--fm-ink);line-height:1.3;margin:0 0 16px;letter-spacing:-.01em;}
.farmo-main .fm-ant__p small{font-size:12px;font-weight:400;color:var(--fm-sub);margin-left:5px;letter-spacing:0;}
.farmo-main .fm-ant__f{list-style:none;margin:0 0 22px;padding:0;}
.farmo-main .fm-ant__f li{padding:8px 0;border-top:1px solid var(--fm-line);font-size:13px;line-height:1.8;color:var(--fm-sub);}
.farmo-main .fm-ant__f li b{color:var(--fm-ink);font-weight:600;}
.farmo-main .fm-ant .farmo-btn{margin-top:auto;text-align:center;}

/* --- 利用開始までの流れ --- */
.farmo-main .fm-flow5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:fl;}
.farmo-main .fm-flow5 > *{min-width:0;max-width:100%;}
.farmo-main .fm-flow5 > p:empty{display:none !important;}
.farmo-main .fm-flow5__i{position:relative;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-card);box-shadow:var(--fm-shadow);padding:22px 20px 20px;}
.farmo-main .fm-flow5__i > p:empty{display:none !important;}
.farmo-main .fm-flow5__i::before{counter-increment:fl;content:"0" counter(fl);display:block;margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.12em;color:#8FB6C7;}
.farmo-main .fm-flow5__i:not(:last-child)::after{content:"";position:absolute;right:-11px;top:50%;width:8px;height:8px;border-top:2px solid #BBD7E4;border-right:2px solid #BBD7E4;transform:translateY(-50%) rotate(45deg);}
.farmo-main .fm-flow5__t{font-size:15px;font-weight:600;color:var(--fm-ink);line-height:1.55;margin:0 0 7px;}
.farmo-main .fm-flow5__d{font-size:13px;line-height:1.85;color:var(--fm-sub);margin:0;}

/* --- 2カラムのパネル --- */
.farmo-main .fm-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.farmo-main .fm-two > *{min-width:0;max-width:100%;}
.farmo-main .fm-two > p:empty{display:none !important;}
.farmo-main .fm-panel{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-box);box-shadow:var(--fm-shadow);padding:28px 28px 26px;}
.farmo-main .fm-panel > p:empty{display:none !important;}
.farmo-main .fm-panel__t{font-size:17px;font-weight:600;color:var(--fm-ink);margin:0 0 14px;line-height:1.55;}

/* --- 仕様の行 --- */
.farmo-main .fm-spec{display:block;margin:0;}
.farmo-main .fm-spec__r{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:13px 0;border-top:1px solid var(--fm-line);}
.farmo-main .fm-spec__r:last-child{border-bottom:1px solid var(--fm-line);}
.farmo-main .fm-spec__k{font-size:14px;font-weight:600;color:var(--fm-ink);line-height:1.85;}
.farmo-main .fm-spec__v{font-size:14px;line-height:1.85;color:var(--fm-sub);}

/* --- レスポンシブ（820px / 640px） --- */
@media (max-width:820px){
  .farmo-main .fm-antl{grid-template-columns:1fr;gap:18px;max-width:560px;margin-inline:auto;}
  .farmo-main .fm-flow5{grid-template-columns:1fr 1fr;}
  .farmo-main .fm-flow5__i:not(:last-child)::after{display:none;}
  .farmo-main .fm-two{grid-template-columns:1fr;}
  .farmo-main .fm-panel{padding:24px 22px 22px;}
}
@media (max-width:640px){
  .farmo-main .fm-flow5{grid-template-columns:1fr;}
  .farmo-main .fm-spec__r{grid-template-columns:1fr;gap:2px;}
  .farmo-main .fm-antph__b{left:12px;bottom:12px;padding:9px 14px;}
  .farmo-main .fm-checks li{font-size:14px;}
}

/* 日本語見出しを文節で折り返す */
.farmo-main .fm-pdhero__name,.farmo-main .fm-pdhero__lead,.farmo-main .fm-ant__u,.farmo-main .fm-quote{line-break:strict;word-break:auto-phrase;}



/* ==========================================================================
   r101 /network/area-development/（地域の通信環境を整備する）
   骨格・タイポ・カードは基準どおり。共通部品（.fm-solp / .fm-solp__sec /
   .fm-solp__h / .fm-pdhero / .fm-pmerits / .fm-flow5 / .fm-panel /
   .fm-checks / .fm-ncau / .fm-solp__deep / .farmo-btn）を使い、
   ここにはページ固有の部品だけを置く。
   ========================================================================== */

/* --- ファーストビューのビジュアル（画像＋要点パネル） --- */
.farmo-main .fm-areav{position:relative;border-radius:22px;overflow:hidden;background:var(--fm-place);border:1px solid var(--fm-line);}
.farmo-main .fm-areav img{display:block;width:100%;height:auto;}
.farmo-main .fm-areav__p{position:absolute;left:14px;right:14px;bottom:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:14px 6px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px -12px rgba(13,43,62,.5);backdrop-filter:blur(8px);}
.farmo-main .fm-areav__i{padding:0 14px;border-right:1px solid var(--fm-line);}
.farmo-main .fm-areav__i:last-child{border-right:0;}
.farmo-main .fm-areav__i span{display:block;font-size:11px;font-weight:600;color:var(--fm-mute);line-height:1.6;}
.farmo-main .fm-areav__i b{display:block;font-size:13.5px;font-weight:600;color:var(--fm-ink);line-height:1.55;}

/* --- 実績バー --- */
.farmo-main .fm-stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--fm-soft);border:1px solid var(--fm-line-soft);border-radius:var(--fm-r-box);padding:24px 10px;}
.farmo-main .fm-stats3 > *{min-width:0;max-width:100%;}
.farmo-main .fm-stats3 > p:empty{display:none !important;}
.farmo-main .fm-stat3{padding:2px 26px;border-right:1px solid var(--fm-line);text-align:center;}
.farmo-main .fm-stat3:last-child{border-right:0;}
.farmo-main .fm-stat3 > p:empty{display:none !important;}
.farmo-main .fm-stat3__v{font-size:29px;font-weight:600;color:var(--fm-sky-text);line-height:1.2;margin:0 0 6px;letter-spacing:-.01em;}
.farmo-main .fm-stat3__v small{font-size:14px;font-weight:600;margin-left:3px;letter-spacing:0;}
.farmo-main .fm-stat3__t{font-size:13.5px;line-height:1.8;color:var(--fm-sub);margin:0;}

/* --- 対象別の4カード --- */
.farmo-main .fm-needs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch;}
.farmo-main .fm-needs > *{min-width:0;max-width:100%;}
.farmo-main .fm-needs > p:empty{display:none !important;}
.farmo-main .fm-need{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-box);box-shadow:var(--fm-shadow);padding:26px 24px 24px;}
.farmo-main .fm-need > p:empty{display:none !important;}
.farmo-main .fm-need__l{display:inline-block;margin:0 0 14px;padding:4px 12px;border-radius:var(--fm-r-pill);background:var(--fm-tint);color:var(--fm-sky-text);font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1.7;}
.farmo-main .fm-need__t{font-size:16px;font-weight:600;color:var(--fm-ink);line-height:1.6;margin:0 0 9px;}
.farmo-main .fm-need__d{font-size:13.5px;line-height:1.9;color:var(--fm-sub);margin:0;}

/* --- 6ステップ（.fm-flow5 の6列版） --- */
.farmo-main .fm-flow5--6{grid-template-columns:repeat(6,1fr);gap:12px;}
.farmo-main .fm-flow5--6 .fm-flow5__i{padding:20px 16px 18px;}
.farmo-main .fm-flow5--6 .fm-flow5__t{font-size:14px;}
.farmo-main .fm-flow5--6 .fm-flow5__d{font-size:12.5px;}

/* --- メッセージ（左に緑の線） --- */
.farmo-main .fm-msg{margin:26px 0 0;padding:20px 26px;border-left:3px solid var(--fm-green);border-radius:0 var(--fm-r-sm) var(--fm-r-sm) 0;background:#F5FAEE;color:#4A6B35;font-size:15px;font-weight:600;line-height:1.95;}

/* --- 3カラム --- */
.farmo-main .fm-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.farmo-main .fm-cols3 > *{min-width:0;max-width:100%;}
.farmo-main .fm-cols3 > p:empty{display:none !important;}

/* --- 役割カード --- */
.farmo-main .fm-role__t{font-size:17px;font-weight:600;color:var(--fm-ink);margin:0 0 16px;padding:0 0 13px;border-bottom:2px solid var(--fm-tint);line-height:1.55;}
.farmo-main .fm-rlist{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.farmo-main .fm-rlist li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.9;color:var(--fm-sub);}
.farmo-main .fm-rlist li::before{content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--fm-sky-line);}

/* --- 費用カード --- */
.farmo-main .fm-cost__ph{display:inline-block;margin:0 0 12px;padding:3px 11px;border-radius:var(--fm-r-pill);background:var(--fm-place);color:var(--fm-sky-text);font-size:11.5px;font-weight:600;letter-spacing:.04em;line-height:1.7;}
.farmo-main .fm-cost__t{font-size:17px;font-weight:600;color:var(--fm-ink);margin:0 0 12px;line-height:1.55;}
.farmo-main .fm-costl{list-style:none;margin:0;padding:0;}
.farmo-main .fm-costl li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;border-top:1px solid var(--fm-line);font-size:13.5px;line-height:1.8;color:var(--fm-sub);}
.farmo-main .fm-costl li b{flex:none;text-align:right;font-weight:600;color:var(--fm-ink);}

/* --- ファーモスタジオ --- */
.farmo-main .fm-studio{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center;}
.farmo-main .fm-studio > *{min-width:0;max-width:100%;}
.farmo-main .fm-studio > p:empty{display:none !important;}
.farmo-main .fm-studio__sh{display:block;border-radius:var(--fm-r-box);overflow:hidden;border:1px solid var(--fm-line);background:#fff;box-shadow:0 20px 44px -30px rgba(13,43,62,.5);}
.farmo-main .fm-studio__sh img{display:block;width:100%;height:auto;}
.farmo-main .fm-studio__sh + .fm-studio__sh{margin-top:14px;}
.farmo-main .fm-price{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:24px 0 0;padding:13px 20px;border:1px solid var(--fm-line);border-radius:var(--fm-r-card);background:var(--fm-soft);}
.farmo-main .fm-price b{font-size:22px;font-weight:600;color:var(--fm-ink);line-height:1.3;letter-spacing:-.01em;}
.farmo-main .fm-price span{font-size:12.5px;color:var(--fm-sub);line-height:1.7;}

/* --- 事例 --- */
.farmo-main .fm-case{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-box);box-shadow:var(--fm-shadow-lg);overflow:hidden;align-items:stretch;}
.farmo-main .fm-case > *{min-width:0;max-width:100%;}
.farmo-main .fm-case > p:empty{display:none !important;}
.farmo-main .fm-case__ph{display:block;background:var(--fm-place);min-height:100%;}
.farmo-main .fm-case__ph img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;}
.farmo-main .fm-case__b{padding:36px 38px 34px;}
.farmo-main .fm-case__b > p:empty{display:none !important;}
.farmo-main .fm-case__l{display:inline-block;margin:0 0 14px;padding:4px 12px;border-radius:var(--fm-r-pill);background:var(--fm-tint);color:var(--fm-sky-text);font-size:12px;font-weight:600;line-height:1.7;}
.farmo-main .fm-case__t{font-size:clamp(19px,2.1vw,24px);font-weight:600;color:var(--fm-ink);line-height:1.55;margin:0 0 14px;letter-spacing:.01em;}
.farmo-main .fm-case__d{font-size:14.5px;line-height:1.95;color:var(--fm-sub);margin:0 0 20px;}
.farmo-main .fm-case__pts{display:grid;gap:9px;margin:0 0 22px;}
.farmo-main .fm-case__pt{padding:11px 16px;border-left:3px solid var(--fm-sky);border-radius:0 8px 8px 0;background:var(--fm-place);font-size:13.5px;line-height:1.85;color:var(--fm-sub);}

/* --- レスポンシブ（820px / 640px） --- */
@media (max-width:820px){
  .farmo-main .fm-needs{grid-template-columns:1fr 1fr;}
  .farmo-main .fm-flow5--6{grid-template-columns:1fr 1fr;}
  .farmo-main .fm-cols3{grid-template-columns:1fr;}
  .farmo-main .fm-studio{grid-template-columns:1fr;gap:30px;}
  .farmo-main .fm-case{grid-template-columns:1fr;}
  .farmo-main .fm-case__ph img{min-height:240px;}
  .farmo-main .fm-case__b{padding:28px 24px 26px;}
  .farmo-main .fm-areav__p{position:static;margin:0;border-radius:0;box-shadow:none;background:#fff;border-top:1px solid var(--fm-line);}
}
@media (max-width:640px){
  .farmo-main .fm-needs{grid-template-columns:1fr;}
  .farmo-main .fm-flow5--6{grid-template-columns:1fr;}
  .farmo-main .fm-stats3{grid-template-columns:1fr;gap:18px;padding:22px 18px;}
  .farmo-main .fm-stat3{border-right:0;padding:0;}
  .farmo-main .fm-areav__p{grid-template-columns:1fr;gap:10px;padding:14px 16px;}
  .farmo-main .fm-areav__i{border-right:0;padding:0;}
  .farmo-main .fm-msg{padding:16px 18px;font-size:14.5px;}
  .farmo-main .fm-costl li{flex-direction:column;gap:2px;}
  .farmo-main .fm-costl li b{text-align:left;}
}

.farmo-main .fm-need__t,.farmo-main .fm-role__t,.farmo-main .fm-cost__t,.farmo-main .fm-case__t,.farmo-main .fm-flow5__t,.farmo-main .fm-panel__t,.farmo-main .fm-nclose__h{line-break:strict;word-break:auto-phrase;}
.farmo-main .fm-solp__h .fm-soon{vertical-align:.35em;}

/* 電話カードが1枚のときは横に伸ばさない */
.farmo-main .fm-tels:has(> .fm-tel:only-child){grid-template-columns:minmax(0,540px);}


/* ==========================================================================
   r102 /network/support/（設置・サポート）
   骨格・タイポ・カードは基準どおり。共通部品（.fm-solp / .fm-solp__sec /
   .fm-solp__h / .fm-pdhero / .fm-pmerits / .fm-flow5 / .fm-two / .fm-panel /
   .fm-spec / .fm-nfig / .fm-ncmp / .fm-ncau / .fm-tels / .fm-solp__deep）
   を使い、ここにはページ固有の部品だけを置く。
   ========================================================================== */

/* --- お困りの内容から探す（ページ内リンク） --- */
.farmo-main .fm-jump{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.farmo-main .fm-jump > *{min-width:0;max-width:100%;}
.farmo-main .fm-jump > p:empty{display:none !important;}
.farmo-main a.fm-jump__i{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-card);box-shadow:var(--fm-shadow);text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease;}
.farmo-main a.fm-jump__i:hover{border-color:var(--fm-sky-line);transform:translateY(-2px);}
.farmo-main .fm-jump__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--fm-tint);}
.farmo-main .fm-jump__ic svg{width:24px;height:24px;display:block;}
.farmo-main .fm-jump__t{font-size:15px;font-weight:600;color:var(--fm-ink);line-height:1.55;}
.farmo-main .fm-jump__t small{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--fm-mute);letter-spacing:0;}

/* --- 確認項目のリスト --- */
.farmo-main .fm-cklist{list-style:none;margin:0;padding:0;display:grid;gap:0;}
.farmo-main .fm-cklist li{position:relative;padding:11px 0 11px 30px;border-top:1px solid var(--fm-line);font-size:13.5px;line-height:1.85;color:var(--fm-sub);}
.farmo-main .fm-cklist li:first-child{border-top:0;}
.farmo-main .fm-cklist li::before{content:"";position:absolute;left:2px;top:15px;width:15px;height:15px;border:1.6px solid var(--fm-sky-line);border-radius:4px;background:#fff;}

/* --- ご用意いただくもの --- */
.farmo-main .fm-prep{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.farmo-main .fm-prep > *{min-width:0;max-width:100%;}
.farmo-main .fm-prep > p:empty{display:none !important;}
.farmo-main .fm-prep__i{padding:15px 18px;background:var(--fm-soft);border:1px solid var(--fm-line-soft);border-radius:var(--fm-r-sm);font-size:13.5px;line-height:1.8;color:var(--fm-sub);}
.farmo-main .fm-prep__i b{display:block;font-size:14.5px;font-weight:600;color:var(--fm-ink);line-height:1.6;}

/* --- 大きい目安の数字 --- */
.farmo-main .fm-bignum{display:flex;align-items:baseline;gap:8px;margin:0 0 8px;}
.farmo-main .fm-bignum b{font-size:44px;font-weight:600;color:var(--fm-sky-text);line-height:1.1;letter-spacing:-.02em;}
.farmo-main .fm-bignum span{font-size:15px;font-weight:600;color:var(--fm-ink);}
.farmo-main .fm-bigsub{margin:0;font-size:13.5px;line-height:1.9;color:var(--fm-sub);}

/* --- レスポンシブ（820px / 640px） --- */
@media (max-width:820px){
  .farmo-main .fm-jump{grid-template-columns:1fr 1fr;}
  .farmo-main .fm-prep{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .farmo-main .fm-jump{grid-template-columns:1fr;}
  .farmo-main .fm-prep{grid-template-columns:1fr;}
  .farmo-main .fm-bignum b{font-size:38px;}
}

.farmo-main .fm-panel .fm-prep{grid-template-columns:1fr;gap:8px;}
.farmo-main .fm-prep__i b,.farmo-main .fm-jump__t{line-break:strict;word-break:auto-phrase;}
.farmo-main .fm-nfig img[style]{max-width:var(--fm-nfigw,880px) !important;}


/* ======================================================================
   r103 通信エリア4ページのファーストビュー（画面幅いっぱいの背景）
   .farmo-freebody の直下に .fm-nfv を置き、中身は .fm-nfv__in で
   .fm-solp と同じ 1040px に揃える。
   ====================================================================== */

.farmo-main .fm-nfv{position:relative;isolation:isolate;overflow:hidden;padding:64px 0 76px;margin:0;}
.farmo-main .fm-nfv::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(1180px 620px at 84% 6%, rgba(0,176,228,.17), rgba(0,176,228,0) 58%),radial-gradient(820px 460px at 0% 86%, rgba(53,193,238,.11), rgba(53,193,238,0) 62%),linear-gradient(180deg,#F1F9FD 0%,#ECF7FC 26%,#F6FCFE 72%,#FFFFFF 100%);}
.farmo-main .fm-nfv::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-radial-gradient(circle at 84% 16%, rgba(0,144,190,.11) 0 1.3px, rgba(0,0,0,0) 1.3px 94px);-webkit-mask-image:radial-gradient(circle at 84% 16%, #000 6%, rgba(0,0,0,0) 56%);mask-image:radial-gradient(circle at 84% 16%, #000 6%, rgba(0,0,0,0) 56%);}
.farmo-main .fm-nfv__in{position:relative;z-index:1;width:min(1040px, calc(100vw - 56px));margin-inline:auto;}
.farmo-main .fm-nfv .fm-pdhero{margin:0;}
.farmo-main .fm-nfv + .fm-solp{margin-top:78px;}
.farmo-main .fm-nfv .fm-antph,.farmo-main .fm-nfv .fm-areav,.farmo-main .fm-nfv .fm-nmap{box-shadow:0 26px 54px -34px rgba(13,43,62,.55);}
@media (max-width:820px){
  .farmo-main .fm-nfv{padding:44px 0 52px;}
  .farmo-main .fm-nfv + .fm-solp{margin-top:56px;}
  .farmo-main .fm-nfv::after{-webkit-mask-image:radial-gradient(circle at 82% 12%, #000 4%, rgba(0,0,0,0) 62%);mask-image:radial-gradient(circle at 82% 12%, #000 4%, rgba(0,0,0,0) 62%);}
}
@media (max-width:640px){
  .farmo-main .fm-nfv{padding:34px 0 42px;}
  .farmo-main .fm-nfv__in{width:calc(100vw - 36px);}
  .farmo-main .fm-nfv + .fm-solp{margin-top:46px;}
}

.farmo-main .fm-step__name{line-break:strict;word-break:auto-phrase;}

/* ==========================================================================
   r104 使う製品（製品写真つきのリンクカード）
   分野ページの .fm-step__use のチップを置き換える。製品ページへの導線を
   イメージしやすくするための小型カード。下部の .fm-prod（ラインナップ）
   より軽い見た目にして、階層を保つ。
   ========================================================================== */

.farmo-main .fm-usebox{margin:16px 0 0;}
.farmo-main .fm-usebox .fm-step__uselab{display:block;margin:0 0 9px;}
.farmo-main .fm-uses{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:10px;}
.farmo-main .fm-uses > *{min-width:0;max-width:100%;}
.farmo-main .fm-uses > p:empty{display:none !important;}
.farmo-main a.fm-ucard{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;padding:9px 12px 9px 9px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-sm);text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
.farmo-main a.fm-ucard:hover{border-color:var(--fm-sky-line);transform:translateY(-2px);box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-ucard__ph{display:block;width:62px;height:62px;border-radius:10px;overflow:hidden;background:var(--fm-place);box-shadow:inset 0 0 0 1px rgba(13,43,62,.07);}
.farmo-main .fm-ucard__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.farmo-main .fm-ucard__ph--fit{background:#fff;}
.farmo-main .fm-ucard__ph--fit img{object-fit:contain;padding:5px;box-sizing:border-box;}
.farmo-main .fm-ucard__bd{display:block;min-width:0;}
.farmo-main .fm-ucard__n{display:block;font-size:14px;font-weight:600;color:var(--fm-ink);line-height:1.5;line-break:strict;word-break:auto-phrase;}
.farmo-main .fm-ucard__go{display:block;margin-top:3px;font-size:12px;color:var(--fm-sky-text);line-height:1.5;}
.farmo-main .fm-ucard__go::after{content:"\203A";margin-left:4px;font-weight:600;}
.farmo-main .fm-usesoon{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px;}

@media (max-width:640px){
  .farmo-main .fm-uses{grid-template-columns:1fr;}
}

/* ==========================================================================
   r105 /solution/livestock/（畜産）
   共通部品（.fm-solp / .fm-cols3 / .fm-panel / .fm-solp__steps / .fm-why2 /
   .fm-solp__prods / .fm-solp__deep）を使い、ここにはページ固有の部品だけ。
   ========================================================================== */

/* --- パネルの丸アイコンと数値 --- */
.farmo-main .fm-panelic{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:var(--fm-tint);margin:0 0 14px;}
.farmo-main .fm-panelic svg{width:40px;height:40px;display:block;}
.farmo-main .fm-panelval{display:block;margin:2px 0 6px;font-size:20px;font-weight:600;color:var(--fm-sky-text);line-height:1.4;letter-spacing:.01em;}
.farmo-main .fm-panelval small{font-size:14px;font-weight:500;color:var(--fm-mute);margin-left:2px;}
.farmo-main .fm-paneltxt{margin:0;font-size:13.5px;line-height:1.9;color:var(--fm-sub);line-break:strict;word-break:auto-phrase;}

/* --- アプリ画面を3枚ならべる --- */
.farmo-main .fm-appshots{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;margin:0 0 26px;}
.farmo-main .fm-appshots > *{min-width:0;max-width:100%;}
.farmo-main .fm-appshots > p:empty{display:none !important;}
.farmo-main .fm-appshots figure{margin:0;text-align:center;}
.farmo-main .fm-appshots img{display:block;width:100%;max-width:224px;height:auto;margin:0 auto;}
.farmo-main .fm-appshots figcaption{margin-top:12px;font-size:13.5px;line-height:1.8;color:var(--fm-sub);line-break:strict;word-break:auto-phrase;}
.farmo-main .fm-appshots figcaption b{display:block;font-size:15px;font-weight:600;color:var(--fm-ink);margin-bottom:2px;}

@media (max-width:640px){
  .farmo-main .fm-appshots{grid-template-columns:1fr;gap:28px;}
}

/* ==========================================================================
   r106 /solution/（製品・サービスの入口）
   .fm-nfv のファーストビューを、中央寄せ＋その下に横長の図版という形にする
   バリエーション。図版は 1040px いっぱいで見せる。
   ========================================================================== */

.farmo-main .fm-nfv--intro .fm-pdhero{display:block;text-align:center;}
.farmo-main .fm-nfv--intro .fm-pdhero > div:first-child{max-width:760px;margin-inline:auto;}
.farmo-main .fm-nfv--intro .fm-pdhero__btns{justify-content:center;}
.farmo-main .fm-nfv--intro .fm-pdhero__lead{margin-bottom:24px;}
/* --- 下端をゆるい弧にして白へつなぐ（図版なし・高さ控えめ） --- */
.farmo-main .fm-nfv--intro{padding:56px 0 112px;}
.farmo-main .fm-nfv--intro::before{background:
  radial-gradient(1180px 620px at 84% 6%, rgba(0,176,228,.16), rgba(0,176,228,0) 58%),
  radial-gradient(820px 460px at 0% 86%, rgba(53,193,238,.10), rgba(53,193,238,0) 62%),
  linear-gradient(180deg,#F1F9FD 0%,#ECF7FC 45%,#E9F5FB 100%);}
.farmo-main .fm-nfv__arc{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:72px;display:block;z-index:0;pointer-events:none;}
.farmo-main .fm-nfv--intro + .fm-solp{margin-top:44px;}

/* --- 準備中のひとこと --- */
.farmo-main .fm-prepnote{margin:18px 0 0;font-size:13px;line-height:1.9;color:var(--fm-mute);}

@media (max-width:820px){
  .farmo-main .fm-nfv--intro{padding:44px 0 96px;}
  .farmo-main .fm-nfv__arc{height:48px;}
}
@media (max-width:640px){
  .farmo-main .fm-nfv--intro{padding:36px 0 84px;}
  .farmo-main .fm-nfv__arc{height:36px;}
  .farmo-main .fm-nfv--intro + .fm-solp{margin-top:32px;}
}

/* ==========================================================================
   r107 中央寄せの見出し（/solution/ のソリューション各セクション）
   ○リングを付けず、製品案内ページの見出しのように中央に置く。
   ========================================================================== */

.farmo-main .fm-solp__h--c{display:block;text-align:center;font-size:clamp(24px,2.5vw,32px);font-weight:600;margin:0 0 16px;text-wrap:balance;}
.farmo-main .fm-solp__h--c::before{display:none;content:none;}
.farmo-main .fm-solp__lead--c{text-align:center;max-width:760px;margin-left:auto;margin-right:auto;}
.farmo-main .fm-solp__sec--c{margin-bottom:96px;}

/* --- 対象者別のカード（.fm-jump の流用・3列） --- */
.farmo-main .fm-jump--who .fm-jump__ic svg{width:26px;height:26px;}

/* ==========================================================================
   r108 /solution/lineup/（製品ラインナップ・価格）
   分野ごとに製品を横並びの行で見せる。写真・名前と型番・できること・
   価格・導線を1行に。準備中の製品は破線で区別する。
   ========================================================================== */

.farmo-main .fm-lgroup{margin:0 0 52px;}
.farmo-main .fm-lgroup:last-child{margin-bottom:0;}
.farmo-main .fm-lgroup__t{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:19px;font-weight:600;color:var(--fm-ink);line-height:1.5;}
.farmo-main .fm-lgroup__t small{font-size:13px;font-weight:400;color:var(--fm-mute);}
.farmo-main .fm-lrows{display:grid;gap:12px;}
.farmo-main .fm-lrows > p:empty{display:none !important;}
.farmo-main .fm-lrow{display:grid;grid-template-columns:132px minmax(0,1fr) minmax(0,1.5fr) auto;gap:22px;align-items:center;padding:16px 22px 16px 16px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-card);box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-lrow > *{min-width:0;max-width:100%;}
.farmo-main .fm-lrow > p:empty{display:none !important;}
.farmo-main .fm-lrow__ph{display:block;width:132px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--fm-place);}
.farmo-main .fm-lrow__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.farmo-main .fm-lrow__n{display:block;font-size:16.5px;font-weight:600;color:var(--fm-ink);line-height:1.5;line-break:strict;word-break:auto-phrase;}
.farmo-main .fm-lrow__m{display:block;margin-top:4px;font-size:12.5px;color:var(--fm-mute);line-height:1.6;}
.farmo-main .fm-lrow__d{margin:0;font-size:13.5px;line-height:1.85;color:var(--fm-sub);line-break:strict;word-break:auto-phrase;}
.farmo-main .fm-lrow__r{display:grid;justify-items:end;gap:10px;text-align:right;}
.farmo-main .fm-lrow__p{font-size:21px;font-weight:600;color:var(--fm-ink);line-height:1.2;white-space:nowrap;letter-spacing:-.01em;}
.farmo-main .fm-lrow__p small{font-size:12px;font-weight:500;color:var(--fm-mute);margin-left:4px;letter-spacing:0;}
.farmo-main .fm-lrow__p em{font-style:normal;font-size:13px;font-weight:500;color:var(--fm-mute);margin-right:5px;}
.farmo-main .fm-lrow__btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.farmo-main .fm-lrow__btns .farmo-btn{padding:8px 15px;font-size:13px;}
.farmo-main .fm-lrow--soon{background:var(--fm-soft);border-style:dashed;box-shadow:none;}
.farmo-main .fm-lrow--soon .fm-lrow__ph{opacity:.55;}
.farmo-main .fm-lrow__soon{display:inline-block;font-size:12.5px;font-weight:600;color:#6F93A4;background:#fff;border:1px dashed #C9DEE8;border-radius:999px;padding:5px 12px;}
.farmo-main .fm-lnote{margin:14px 0 0;font-size:12.5px;line-height:1.8;color:var(--fm-mute);}

@media (max-width:820px){
  .farmo-main .fm-lrow{grid-template-columns:104px minmax(0,1fr);grid-template-areas:"ph nm" "ph ds" "r r";gap:10px 16px;padding:14px 16px;}
  .farmo-main .fm-lrow__ph{grid-area:ph;width:104px;align-self:start;}
  .farmo-main .fm-lrow__nm{grid-area:nm;}
  .farmo-main .fm-lrow__d{grid-area:ds;}
  .farmo-main .fm-lrow__r{grid-area:r;grid-template-columns:1fr auto;justify-items:start;align-items:center;text-align:left;margin-top:4px;padding-top:12px;border-top:1px solid var(--fm-line-soft);}
  .farmo-main .fm-lrow__btns{justify-content:flex-end;}
}
@media (max-width:640px){
  .farmo-main .fm-lrow{grid-template-columns:84px minmax(0,1fr);}
  .farmo-main .fm-lrow__ph{width:84px;}
  .farmo-main .fm-lrow__p{font-size:19px;}
  .farmo-main .fm-lrow__r{grid-template-columns:1fr;}
  .farmo-main .fm-lrow__btns{justify-content:flex-start;}
}

/* r109 lineup sub line */
.farmo-main .fm-lrow__sub{display:block;margin:6px 0 0;font-size:12px;line-height:1.7;color:var(--fm-mute);}

/* r110 product pages: single voice card */
.farmo-main .fm-pvoices--one{grid-template-columns:1fr;max-width:760px;}

/* r111 product pages: wide images inside app scenes */
.farmo-main .fm-scene > *{min-width:0;}
.farmo-main .fm-scenes .fm-scene .fm-scene__ph{flex:0 0 42%;max-width:42%;}
.farmo-main .fm-scenes .fm-scene .fm-scene__ph img{max-width:100%;max-height:330px;width:auto;height:auto;object-fit:contain;}
@media (max-width:767px){.farmo-main .fm-scenes .fm-scene .fm-scene__ph{flex:0 0 auto;max-width:100%;}}
.farmo-main .fm-scenes .fm-scene > p:not([class]):not(:empty){display:contents;}

/* r112 purchase page: SKU pulldown (3 SKUs or more) */
.farmo-main .fm-shop__skusel{margin:0 0 14px;}
.farmo-main .fm-shop__skusellab{display:block;font-size:13px;font-weight:600;color:var(--fm-ink);margin:0 0 8px;}
.farmo-main .fm-shop__skuselwrap{position:relative;display:block;}
.farmo-main .fm-shop__skuselwrap::after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;border-right:2px solid var(--fm-sky-text);border-bottom:2px solid var(--fm-sky-text);transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.farmo-main select.fm-shop__skuselect{display:block;width:100%;max-width:100%;appearance:none;-webkit-appearance:none;font-size:15px;font-weight:600;color:var(--fm-ink);background:#fff;border:1.5px solid var(--fm-sky-line);border-radius:12px;padding:13px 44px 13px 16px;line-height:1.4;cursor:pointer;box-shadow:0 2px 8px rgba(13,43,62,.05);}
.farmo-main select.fm-shop__skuselect:focus{outline:none;border-color:var(--fm-sky);box-shadow:0 0 0 3px rgba(0,176,228,.18);}
.farmo-main .fm-shop__sku--sel .fm-shop__skuname{margin-top:0;}

/* r113 cloud service page: login cards */
.farmo-main .fm-cloudcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:8px;}
.farmo-main .fm-cloudcards > p:empty{display:none !important;}
.farmo-main .fm-cloudcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-card);overflow:hidden;box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-cloudcard__ph{background:var(--fm-place);padding:22px 22px 0;display:flex;justify-content:center;align-items:flex-end;height:168px;overflow:hidden;}
.farmo-main .fm-cloudcard__ph img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:bottom;}
.farmo-main .fm-cloudcard__bd{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px;}
.farmo-main .fm-cloudcard__n{font-size:17px;font-weight:600;color:var(--fm-ink);margin:0 0 8px;line-height:1.5;}
.farmo-main .fm-cloudcard__prods{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;}
.farmo-main .fm-cloudcard__prods .fm-chip{font-size:11.5px;}
.farmo-main .fm-cloudcard__d{font-size:13.5px;line-height:1.9;color:var(--fm-sub);margin:0 0 16px;}
.farmo-main .fm-cloudcard__btn{margin:auto 0 0;}
.farmo-main .fm-cloudcard__btn .farmo-btn{width:100%;justify-content:center;}
.farmo-main .fm-cloudcard__ext{width:14px;height:14px;margin-left:6px;vertical-align:-2px;}
.farmo-main .fm-cloudnote{margin:22px auto 0;max-width:760px;text-align:center;font-size:13px;line-height:1.9;color:var(--fm-mute);}
.farmo-main .fm-solp__sec--studio .fm-solp__btns{align-items:center;gap:12px;}
@media (max-width:820px){.farmo-main .fm-cloudcards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.farmo-main .fm-cloudcards{grid-template-columns:1fr;}.farmo-main .fm-cloudcard__ph{height:150px;}}

/* r114 API page */
.farmo-main .fm-spectbl--c{max-width:820px;margin-left:auto;margin-right:auto;}
.farmo-main .fm-apicases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.farmo-main .fm-apicases > p:empty{display:none !important;}
.farmo-main .fm-apicase{background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-card);overflow:hidden;box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-apicase__ph{background:var(--fm-place);height:220px;display:flex;align-items:center;justify-content:center;padding:20px;}
.farmo-main .fm-apicase__ph img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;}
.farmo-main .fm-apicase__bd{padding:18px 22px 22px;}
.farmo-main .fm-apicase__t{font-size:17px;font-weight:600;color:var(--fm-ink);margin:0 0 8px;line-height:1.5;}
.farmo-main .fm-apicase__d{font-size:13.5px;line-height:1.9;color:var(--fm-sub);margin:0;}
.farmo-main .fm-apisteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:none;}
.farmo-main .fm-apisteps > p:empty{display:none !important;}
.farmo-main .fm-apistep{position:relative;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-card);padding:26px 22px 24px;box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-apistep__no{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--fm-sky);color:#fff;font-weight:700;font-size:16px;margin:0 0 12px;}
.farmo-main .fm-apistep__t{font-size:16.5px;font-weight:600;color:var(--fm-ink);margin:0 0 8px;line-height:1.5;}
.farmo-main .fm-apistep__d{font-size:13.5px;line-height:1.9;color:var(--fm-sub);margin:0;}
@media (max-width:820px){.farmo-main .fm-apisteps{grid-template-columns:1fr;}}
@media (max-width:640px){.farmo-main .fm-apicases{grid-template-columns:1fr;}.farmo-main .fm-apicase__ph{height:180px;}}

/* r115 API: spec table outside shop */
.farmo-main .fm-solp table.fm-spectbl{width:100%;border-collapse:collapse;margin:0 auto;font-size:15px;line-height:1.8;}
.farmo-main .fm-solp table.fm-spectbl th,.farmo-main .fm-solp table.fm-spectbl td{padding:14px 8px;border:0;border-bottom:1px solid var(--fm-line);text-align:left;vertical-align:top;background:transparent;}
.farmo-main .fm-solp table.fm-spectbl tr:first-child th,.farmo-main .fm-solp table.fm-spectbl tr:first-child td{border-top:1px solid var(--fm-line);}
.farmo-main .fm-solp table.fm-spectbl th{width:30%;font-weight:600;color:var(--fm-sub);white-space:nowrap;}
.farmo-main .fm-solp table.fm-spectbl td{color:var(--fm-ink);}
.farmo-main .fm-solp table.fm-spectbl td a{color:var(--fm-sky-text);text-decoration:underline;text-underline-offset:3px;}
@media (max-width:640px){.farmo-main .fm-solp table.fm-spectbl{font-size:14px;} .farmo-main .fm-solp table.fm-spectbl th{width:32%;white-space:normal;padding-right:12px;}}

/* r116 フォーム: チェックボックス一覧・短い入力・同意欄の注記（API申込で使用） */
.farmo-main .fm-cf__checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;}
.farmo-main .fm-cf__checks > p,.farmo-main .fm-cf__checks .wpcf7-form-control-wrap,.farmo-main .fm-cf__checks .wpcf7-checkbox{display:contents;}
.farmo-main .fm-cf__checks .wpcf7-list-item-label{font-size:inherit;line-height:inherit;color:inherit;}
.farmo-main .fm-cf__checks .wpcf7-list-item{margin:0;display:block;min-width:0;}
.farmo-main .fm-cf__checks label{display:flex;align-items:center;gap:10px;margin:0;padding:11px 14px;border:1px solid #CFDDE5;border-radius:8px;background:#fff;font-size:14.5px;font-weight:400;line-height:1.5;color:var(--fm-ink);cursor:pointer;transition:border-color .15s,background .15s;}
.farmo-main .fm-cf__checks label:hover{border-color:var(--fm-sky-line);}
.farmo-main .fm-cf__checks label:has(input:checked){border-color:var(--fm-sky);background:var(--fm-tint);}
.farmo-main .fm-cf__checks input[type="checkbox"]{width:18px;height:18px;flex:none;accent-color:#00B0E4;margin:0;}
.farmo-main .fm-cf__checks .wpcf7-not-valid-tip{grid-column:1 / -1;margin:0;}
.farmo-main .fm-cf input.fm-cf__short{max-width:220px;}
.farmo-main .fm-cf__agree > .fm-cf__help{display:block;margin:0 0 12px;}
.farmo-main .fm-cf__agree a{color:var(--fm-sky-text);text-underline-offset:3px;}
.farmo-main .fm-cf__agree .wpcf7-not-valid-tip{display:block;margin-top:6px;}
@media (max-width:640px){.farmo-main .fm-cf__checks{grid-template-columns:1fr;} .farmo-main .fm-cf input.fm-cf__short{max-width:100%;}}
.farmo-main .fm-solp__note--c{text-align:center;}
.farmo-main .fm-cf__agree .wpcf7-list-item-label{font-size:14px;line-height:1.6;}
.farmo-main .fm-solp__note--form{max-width:720px;}

/* r117 よくあるご質問: 検索・テーマカード・製品別小見出し */
.farmo-main [hidden]{display:none !important;}
.farmo-main .fm-faqsearch{position:relative;max-width:640px;margin:0 auto 30px;}
.farmo-main .fm-faqsearch > svg{position:absolute;left:19px;top:15px;width:20px;height:20px;pointer-events:none;}
.farmo-main .fm-faqsearch input[type="search"]{width:100%;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.5;padding:13px 20px 13px 50px;border:1.5px solid #CFDDE5;border-radius:999px;background:#fff;color:var(--fm-ink);appearance:none;-webkit-appearance:none;}
.farmo-main .fm-faqsearch input[type="search"]:focus{outline:none;border-color:var(--fm-sky);box-shadow:0 0 0 3px rgba(0,176,228,.18);}
.farmo-main .fm-faqsearch input::placeholder{color:#9FB6C2;}
.farmo-main .fm-faqsearch__hit{margin:10px 0 0;min-height:1.6em;font-size:13px;color:var(--fm-sky-text);text-align:center;}
.farmo-main .fm-faqnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;text-align:left;}
.farmo-main .fm-faqnav > p:empty{display:none;}
.farmo-main .fm-faqnav__c{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:20px 18px 18px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-card);box-shadow:0 6px 16px rgba(13,43,62,.05);text-decoration:none;color:var(--fm-ink);transition:border-color .15s,transform .15s;}
.farmo-main .fm-faqnav__c:hover{border-color:var(--fm-sky-line);transform:translateY(-2px);text-decoration:none;}
.farmo-main .fm-faqnav__ic{width:52px;height:52px;border-radius:50%;background:var(--fm-tint);display:flex;align-items:center;justify-content:center;}
.farmo-main .fm-faqnav__ic svg{width:30px;height:30px;display:block;}
.farmo-main .fm-faqnav__t{display:block;word-break:auto-phrase;margin:2px 0 0;font-size:15.5px;font-weight:600;line-height:1.5;color:var(--fm-ink);}
.farmo-main .fm-faqnav__t a{color:inherit;text-decoration:none;}
.farmo-main .fm-faqnav__t a::after{content:"";position:absolute;inset:0;border-radius:inherit;}
.farmo-main .fm-faqnav__d{display:block;margin:0;font-size:12.5px;line-height:1.7;color:var(--fm-mute);}
.farmo-main .fm-faq-none{margin:22px auto 0;max-width:640px;padding:22px 24px;text-align:center;font-size:14px;line-height:1.9;color:var(--fm-sub);background:var(--fm-soft);border:1px solid var(--fm-line-soft);border-radius:var(--fm-r-sm);}
.farmo-main .fm-faq-none a{color:var(--fm-sky-text);text-decoration:underline;text-underline-offset:3px;}
.farmo-main .fm-faqsec{scroll-margin-top:110px;}
.farmo-main .fm-faqsub{position:relative;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:38px 0 8px;padding-left:16px;font-size:17px;font-weight:600;line-height:1.5;color:var(--fm-ink);}
.farmo-main .fm-faqsub::before{content:"";position:absolute;left:0;top:.18em;width:6px;height:1.15em;border-radius:3px;background:var(--fm-sky);}
.farmo-main .fm-faqsub__ln{margin-left:auto;font-size:13px;font-weight:500;color:var(--fm-sky-text);text-decoration:none;}
.farmo-main .fm-faqsub__ln::after{content:" ›";}
.farmo-main .fm-faqsub__ln:hover{text-decoration:underline;text-underline-offset:3px;}
.farmo-main .fm-pfaq__a > span{display:block;min-width:0;}
.farmo-main .fm-pfaq__a a{color:var(--fm-sky-text);text-decoration:underline;text-underline-offset:3px;}
.farmo-main .fm-pfaq__ln{display:block;margin-top:6px;}
.farmo-main .fm-pfaq__ln a{text-decoration:none;font-weight:600;}
.farmo-main .fm-pfaq__ln a::after{content:" ›";}
.farmo-main .fm-pfaq__ln a:hover{text-decoration:underline;}
.farmo-main .fm-pfaq details.is-hit summary{background:#FBFDFF;}
.farmo-main .fm-faqtop{margin:16px 0 0;text-align:right;font-size:13px;}
.farmo-main .fm-faqtop a{color:var(--fm-mute);text-decoration:none;}
.farmo-main .fm-faqtop a::before{content:"▲ ";font-size:10px;}
.farmo-main .fm-faqtop a:hover{color:var(--fm-sky-text);}
.farmo-main .fm-faqpage .fm-tels{margin-top:8px;}
@media (max-width:820px){.farmo-main .fm-faqnav{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.farmo-main .fm-faqnav{gap:10px;} .farmo-main .fm-faqnav__c{padding:16px 14px 14px;gap:6px;} .farmo-main .fm-faqnav__ic{width:44px;height:44px;} .farmo-main .fm-faqnav__ic svg{width:26px;height:26px;} .farmo-main .fm-faqnav__t{font-size:14px;} .farmo-main .fm-faqnav__d{font-size:12px;} .farmo-main .fm-faqsub__ln{margin-left:20px;}}
.farmo-main .fm-faqpage .fm-tels + p.fm-solp__btns{margin-top:28px;}

/* r118 販売店を探す: 都道府県チップ・検索・結果カード・メーカー営業所 */
.farmo-main .fm-dl__pick{margin:0 0 26px;}
.farmo-main .fm-dl__prefs{display:grid;gap:10px;}
.farmo-main .fm-dl__row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;}
.farmo-main .fm-dl__rl{flex:0 0 100px;font-size:12.5px;font-weight:600;color:var(--fm-mute);}
.farmo-main .fm-dl__chip{appearance:none;-webkit-appearance:none;border:1px solid #CFDDE5;background:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;line-height:1.4;color:var(--fm-ink);cursor:pointer;transition:border-color .15s,background .15s;}
.farmo-main .fm-dl__chip:hover{border-color:var(--fm-sky-line);}
.farmo-main .fm-dl__chip.is-on{background:var(--fm-sky);border-color:var(--fm-sky);color:#fff;font-weight:600;}
.farmo-main .fm-dl__search{position:relative;max-width:520px;margin:20px 0 0;}
.farmo-main .fm-dl__search > svg{position:absolute;left:17px;top:13px;width:18px;height:18px;pointer-events:none;}
.farmo-main .fm-dl__search input[type="search"]{width:100%;box-sizing:border-box;font:inherit;font-size:15px;line-height:1.5;padding:11px 18px 11px 44px;border:1.5px solid #CFDDE5;border-radius:999px;background:#fff;color:var(--fm-ink);appearance:none;-webkit-appearance:none;}
.farmo-main .fm-dl__search input[type="search"]:focus{outline:none;border-color:var(--fm-sky);box-shadow:0 0 0 3px rgba(0,176,228,.18);}
.farmo-main .fm-dl__search input::placeholder{color:#9FB6C2;}
.farmo-main .fm-dl__result{margin-top:28px;}
.farmo-main .fm-dl__hint{margin:0;padding:26px 20px;text-align:center;background:var(--fm-soft);border:1px solid var(--fm-line-soft);border-radius:var(--fm-r-sm);font-size:14px;color:var(--fm-sub);}
.farmo-main .fm-dl__sum{margin:0 0 18px;font-size:15px;color:var(--fm-sub);}
.farmo-main .fm-dl__sum b{color:var(--fm-ink);font-size:20px;font-weight:600;margin-right:6px;}
.farmo-main .fm-dl__grp{margin:0 0 34px;}
.farmo-main .fm-dl__gh{position:relative;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:0 0 12px;padding-left:16px;font-size:17px;font-weight:600;line-height:1.5;color:var(--fm-ink);}
.farmo-main .fm-dl__gh::before{content:"";position:absolute;left:0;top:.18em;width:6px;height:1.15em;border-radius:3px;background:var(--fm-sky);}
.farmo-main .fm-dl__cnt{font-size:12.5px;font-weight:500;color:var(--fm-mute);}
.farmo-main .fm-dl__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.farmo-main .fm-dl__card{min-width:0;padding:16px 18px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-sm);}
.farmo-main .fm-dl__n{margin:0 0 6px;font-size:15.5px;font-weight:600;line-height:1.5;color:var(--fm-ink);}
.farmo-main .fm-dl__a{margin:0;font-size:13.5px;line-height:1.7;color:var(--fm-sub);}
.farmo-main .fm-dl__t{margin:4px 0 0;font-size:14px;line-height:1.6;color:var(--fm-ink);}
.farmo-main .fm-dl__t a{color:var(--fm-sky-text);text-decoration:none;font-weight:600;}
.farmo-main .fm-dl__tags{display:flex;flex-wrap:wrap;gap:4px;margin:9px 0 0;}
.farmo-main .fm-dl__tag{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--fm-tint);color:var(--fm-sky-text);font-size:11.5px;font-weight:600;line-height:1.6;}
.farmo-main .fm-dl__none{margin:0;padding:16px 18px;background:var(--fm-soft);border-radius:var(--fm-r-sm);font-size:14px;line-height:1.8;color:var(--fm-sub);}
.farmo-main .fm-dl__mk details{margin:0 0 10px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-sm);overflow:hidden;}
.farmo-main .fm-dl__mk summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 18px;font-size:15px;font-weight:600;color:var(--fm-ink);cursor:pointer;}
.farmo-main .fm-dl__mk summary::-webkit-details-marker{display:none;}
.farmo-main .fm-dl__mk summary::after{content:"＋";margin-left:auto;color:#7C9EB0;font-weight:400;}
.farmo-main .fm-dl__mk details[open] summary::after{content:"−";}
.farmo-main .fm-dl__mk summary .fm-dl__cnt{margin-left:4px;}
.farmo-main table.fm-dl__tbl,.farmo-main .fm-article table.fm-dl__tbl{width:100%;min-width:0;border-collapse:collapse;margin:0;font-size:13.5px;}
.farmo-main table.fm-dl__tbl td{padding:10px 18px;border:0;border-top:1px solid var(--fm-line);vertical-align:top;line-height:1.6;background:transparent;color:var(--fm-sub);text-align:left;font-weight:400;}
.farmo-main table.fm-dl__tbl td:first-child{width:34%;font-weight:600;color:var(--fm-ink);}
.farmo-main table.fm-dl__tbl td:last-child{white-space:nowrap;}
.farmo-main table.fm-dl__tbl td a{color:var(--fm-sky-text);text-decoration:none;font-weight:600;}
.farmo-main .fm-dl__note{margin:14px 0 0;font-size:12.5px;line-height:1.8;color:var(--fm-mute);}
@media (max-width:820px){.farmo-main .fm-dl__cards{grid-template-columns:1fr;}}
@media (max-width:640px){
  .farmo-main .fm-dl__rl{flex:0 0 100%;}
  .farmo-main .fm-dl__chip{padding:6px 11px;font-size:13px;}
  .farmo-main table.fm-dl__tbl,.farmo-main table.fm-dl__tbl tbody{display:block;width:100%;max-width:100%;}
  .farmo-main table.fm-dl__tbl tr{display:block;padding:10px 16px;border-top:1px solid var(--fm-line);max-width:100%;box-sizing:border-box;}
  .farmo-main table.fm-dl__tbl td{white-space:normal;word-break:normal;overflow-wrap:anywhere;line-break:strict;max-width:100%;box-sizing:border-box;}
  .farmo-main table.fm-dl__tbl td{display:block;padding:0;border:0;width:auto;}
  .farmo-main table.fm-dl__tbl td:first-child{width:auto;}
  .farmo-main table.fm-dl__tbl td:last-child{white-space:normal;margin-top:2px;}
}

/* r119 販売店を探す: 農協の案内・メーカーの分野チップ・電話番号の非掲載 */
.farmo-main .fm-dlpage section[id]{scroll-margin-top:110px;}
.farmo-main .fm-dl__ja{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 18px;padding:13px 18px;background:var(--fm-tint);border-radius:var(--fm-r-sm);font-size:14px;line-height:1.8;color:var(--fm-ink);}
.farmo-main .fm-dl__ja a{color:var(--fm-sky-text);text-decoration:none;font-weight:600;}
.farmo-main .fm-dl__ja a::after{content:" ›";}
.farmo-main .fm-dl__ja a:hover{text-decoration:underline;text-underline-offset:3px;}
.farmo-main .fm-dl__sub{margin:28px 0 10px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--fm-mute);}
.farmo-main .fm-dl__mk summary{flex-wrap:wrap;gap:8px 14px;}
.farmo-main .fm-dl__mn{display:flex;align-items:baseline;gap:8px;min-width:0;}
.farmo-main .fm-dl__mk summary .fm-dl__tags{margin:0;}
.farmo-main .fm-dl__mk summary .fm-dl__cnt{margin-left:0;}
.farmo-main table.fm-dl__tbl td:first-child{width:40%;}
.farmo-main table.fm-dl__tbl td:last-child{white-space:normal;}
.farmo-main .fm-dl__note{margin:14px 0 0;}
@media (max-width:640px){
  .farmo-main .fm-dl__mk summary{padding:13px 16px;}
  .farmo-main .fm-dl__mk summary .fm-dl__tag{font-size:11px;padding:2px 8px;}
}

/* r120 販売店を探す: メーカー名は取扱店と同じ太さ・支店名は細字 */
.farmo-main .fm-dl__mn{font-size:15.5px;font-weight:600;line-height:1.5;color:var(--fm-ink);}
.farmo-main table.fm-dl__tbl td:first-child{font-weight:400;}

/* ===== r121 販売店を探す: 見出しアイコン・住所トグル ===== */
.farmo-main .fm-dlpage .fm-dl__gh{align-items:center;gap:12px;margin:40px 0 22px;padding-left:0;font-size:19px;}
.farmo-main .fm-dlpage .fm-dl__gh::before{content:none;}
.farmo-main .fm-dl__ghic{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--fm-tint);}
.farmo-main .fm-dl__ghic svg{width:27px;height:27px;display:block;}
.farmo-main .fm-dl__sum{margin:0 0 6px;}
.farmo-main .fm-dl__hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.farmo-main .fm-dl__hd .fm-dl__n{margin:0;padding-top:3px;}
.farmo-main .fm-dl__mapbtn{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;margin:-2px -4px 0 0;padding:0;background:#fff;border:1px solid var(--fm-line);border-radius:50%;color:var(--fm-sub);cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.farmo-main .fm-dl__mapbtn svg{width:19px;height:19px;display:block;}
.farmo-main .fm-dl__mapbtn:hover{background:var(--fm-soft);border-color:var(--fm-sky-line);color:var(--fm-sky-text);}
.farmo-main .fm-dl__mapbtn.is-on{background:var(--fm-tint);border-color:var(--fm-sky-line);color:var(--fm-sky-text);}
.farmo-main .fm-dl__mapbtn:focus-visible{outline:2px solid var(--fm-sky);outline-offset:2px;}
.farmo-main .fm-dl__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.farmo-main .fm-dl__addr{margin-top:10px;padding-top:10px;border-top:1px dashed var(--fm-line);}
.farmo-main .fm-dl__maplink{margin-left:10px;color:var(--fm-sky-text);font-weight:600;text-decoration:none;white-space:nowrap;}
.farmo-main .fm-dl__maplink::after{content:" ›";}
.farmo-main .fm-dl__maplink:hover{text-decoration:underline;text-underline-offset:3px;}
.farmo-main table.fm-dl__tbl .fm-dl__maplink{font-size:13px;}
@media (max-width:640px){
.farmo-main .fm-dlpage .fm-dl__gh{margin:32px 0 18px;gap:10px;font-size:17.5px;}
.farmo-main .fm-dl__ghic{width:38px;height:38px;}
.farmo-main .fm-dl__ghic svg{width:23px;height:23px;}
}
.farmo-main .fm-dl__cards{align-items:start;}
.farmo-main table.fm-dl__tbl td{font-weight:400 !important;}
.farmo-main table.fm-dl__tbl td .fm-dl__maplink{font-weight:600 !important;}
/* 電話カードの下のボタンが詰まるのを防ぐ（ページ共通） */
.farmo-main .fm-tels + p.fm-solp__btns,
.farmo-main .fm-tels + .fm-solp__btns{margin-top:28px;}
/* ===== r122 販売店を探す: 購入ルート4枚・複数店舗の取扱店 ===== */
@media (min-width:821px){
.farmo-main .fm-dl__routes{grid-template-columns:repeat(2,1fr);}
}
.farmo-main .fm-dl__ja a + a{margin-left:0;}
.farmo-main .fm-dl__mk + .fm-dl__note + .fm-dl__mk{margin-top:18px;}

/* ===== r123 サポート: 資料・説明書のPDF一覧 ===== */
.farmo-main .fm-docgh{position:relative;margin:34px 0 14px;padding-left:16px;font-size:17px;font-weight:600;line-height:1.5;color:var(--fm-ink);}
.farmo-main .fm-docgh:first-child{margin-top:0;}
.farmo-main .fm-docgh::before{content:"";position:absolute;left:0;top:.18em;width:6px;height:1.15em;border-radius:3px;background:var(--fm-sky);}
.farmo-main .fm-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;align-items:start;}
.farmo-main .fm-docs > *{min-width:0;max-width:100%;}
.farmo-main .fm-docs > p:empty{display:none !important;}
.farmo-main a.fm-doc{display:flex;align-items:center;gap:13px;min-width:0;padding:14px 16px;background:#fff;border:1px solid var(--fm-line);border-radius:var(--fm-r-sm);text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s;}
.farmo-main a.fm-doc:hover{border-color:var(--fm-sky-line);background:var(--fm-soft);box-shadow:var(--fm-shadow);}
.farmo-main .fm-doc__ic{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;}
.farmo-main .fm-doc__ic svg{width:32px;height:32px;display:block;}
.farmo-main .fm-doc__b{display:flex;flex-direction:column;gap:3px;min-width:0;}
.farmo-main .fm-doc__t{font-size:14.5px;font-weight:600;line-height:1.5;color:var(--fm-ink);overflow-wrap:anywhere;}
.farmo-main .fm-doc__m{font-size:12.5px;line-height:1.4;color:var(--fm-mute);}
.farmo-main .fm-docpage .fm-dl__note{margin-top:22px;}
@media (max-width:640px){
.farmo-main .fm-docs{grid-template-columns:1fr;}
.farmo-main .fm-docgh{margin:28px 0 12px;font-size:16px;}
}

/* ===== r124 サポート: お知らせ一覧・導入の流れ ===== */
.farmo-main .fm-plist{display:grid;gap:0;border-top:1px solid var(--fm-line);}
.farmo-main a.fm-plist__i{display:flex;align-items:baseline;gap:8px 20px;flex-wrap:wrap;padding:16px 6px;border-bottom:1px solid var(--fm-line);text-decoration:none;transition:background .15s;}
.farmo-main a.fm-plist__i:hover{background:var(--fm-soft);}
.farmo-main .fm-plist__d{flex:none;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--fm-mute);font-variant-numeric:tabular-nums;}
.farmo-main .fm-plist__t{flex:1 1 320px;min-width:0;font-size:15px;line-height:1.75;color:var(--fm-ink);}
.farmo-main a.fm-plist__i:hover .fm-plist__t{color:var(--fm-sky-text);text-decoration:underline;text-underline-offset:3px;}
.farmo-main .fm-newspage .fm-faqnav{margin-bottom:34px;}
.farmo-main .fm-flowpage .fm-flow__checks,
.farmo-main .fm-guapage .fm-gua__cols{align-items:stretch;}
.farmo-main .fm-troublepage .fm-flow5 + .fm-dl__note{margin-top:22px;}
@media (max-width:820px){
.farmo-main .fm-flow5{grid-template-columns:repeat(2,1fr);gap:14px 24px;}
.farmo-main .fm-flow5__i:not(:last-child)::after{display:none;}
}
@media (max-width:640px){
.farmo-main .fm-flow5{grid-template-columns:1fr;}
.farmo-main .fm-plist__d{font-size:12.5px;}
}
@media (min-width:821px){
.farmo-main .fm-sup .fm-faqnav{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:821px){
.farmo-main .fm-flowpage .fm-flow__checks{grid-template-columns:repeat(2,1fr);}
}
.farmo-main .fm-flow5 + .fm-solp__btns{margin-top:30px;}

/* ===== r125 HOME: お立場別の詳しいご案内・ファーモについて ===== */
.farmo-main .fm-tdetail{padding-top:64px;}
.farmo-main .fm-tdet{display:grid;gap:22px;}
.farmo-main .fm-tdet__i{scroll-margin-top:104px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:4px 24px;align-items:start;background:#fff;border:1px solid var(--fm-line);border-radius:18px;padding:34px 38px 32px;box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-tdet__ic{grid-column:1;grid-row:1 / span 4;display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:var(--fm-tint);}
.farmo-main .fm-tdet__ic svg{width:40px;height:40px;display:block;}
.farmo-main .fm-tdet__t{grid-column:2;margin:4px 0 10px;font-size:21px;font-weight:600;line-height:1.5;color:var(--fm-ink);}
.farmo-main .fm-tdet__d{grid-column:2;margin:0;font-size:15px;line-height:2.0;color:var(--fm-sub);}
.farmo-main .fm-tdet__list{grid-column:2;display:grid;gap:7px;margin:16px 0 0;padding:0;list-style:none;}
.farmo-main .fm-tdet__list li{position:relative;margin:0;padding-left:28px;font-size:14.5px;line-height:1.85;color:var(--fm-ink);}
.farmo-main .fm-tdet__list li::before{content:"";position:absolute;left:0;top:.42em;width:16px;height:16px;border-radius:50%;background:var(--fm-tint);}
.farmo-main .fm-tdet__list li::after{content:"";position:absolute;left:5px;top:.78em;width:6px;height:3px;border-left:2px solid var(--fm-sky);border-bottom:2px solid var(--fm-sky);transform:rotate(-45deg);}
.farmo-main .fm-tdet__btns{grid-column:2;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;}
.farmo-main .fm-abouthome__steps{margin-top:40px;}
.farmo-main .fm-abouthome__steps .fm-apistep{background:#fff;}
.farmo-main .fm-abouthome__loop{margin:18px 0 0;text-align:center;font-size:14px;color:var(--fm-mute);}
.farmo-main .fm-abouthome__nums{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:48px 0 0;}
.farmo-main .fm-abouthome__num{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 18px;background:#fff;border:1px solid var(--fm-line);border-radius:16px;}
.farmo-main .fm-abouthome__num b{font-size:36px;font-weight:600;line-height:1.1;color:var(--fm-sky-text);font-variant-numeric:tabular-nums;letter-spacing:.01em;}
.farmo-main .fm-abouthome__num b span{margin-left:3px;font-size:16px;font-weight:600;color:var(--fm-sub);}
.farmo-main .fm-abouthome__nl{font-size:13.5px;line-height:1.7;color:var(--fm-sub);text-align:center;}
.farmo-main .fm-abouthome__note{margin:16px 0 0;text-align:center;font-size:13px;color:var(--fm-mute);}
.farmo-main .fm-abouthome__note a{color:var(--fm-sky-text);}
.farmo-main .fm-abouthome .fm-sub b{font-weight:600;color:var(--fm-ink);}
@media (max-width:820px){
.farmo-main .fm-tdet__i{grid-template-columns:1fr;gap:0;padding:28px 24px 26px;}
.farmo-main .fm-tdet__ic{grid-column:1;grid-row:auto;width:58px;height:58px;margin-bottom:14px;}
.farmo-main .fm-tdet__ic svg{width:34px;height:34px;}
.farmo-main .fm-tdet__t,.farmo-main .fm-tdet__d,.farmo-main .fm-tdet__list,.farmo-main .fm-tdet__btns{grid-column:1;}
.farmo-main .fm-tdet__t{font-size:19px;}
.farmo-main .fm-abouthome__nums{grid-template-columns:1fr;gap:12px;}
.farmo-main .fm-abouthome__num{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:14px;padding:20px 22px;}
.farmo-main .fm-abouthome__num b{font-size:30px;}
.farmo-main .fm-abouthome__nl{text-align:left;}
}

.farmo-main .fm-abouthome{scroll-margin-top:104px;}
.farmo-main .fm-tdetail{padding-top:0;border-bottom:0;}
.farmo-main .fm-tdetail + .fm-abouthome{padding-top:78px;}
.farmo-main .fm-tdetail .fm-center + .fm-tdet{margin-top:42px;}

/* ===== r126 HOME 再構成: FV・対象者別・地域DX・アライアンス・声 ===== */
.farmo-main .fm-hfv{position:relative;padding:64px 0 40px;background:linear-gradient(180deg,#F3FAFD 0%,#FAFDFE 62%,#fff 100%);overflow:hidden;}
.farmo-main .fm-hfv::before{content:"";position:absolute;left:-180px;top:-140px;width:520px;height:520px;border-radius:50%;background:#E6F5FC;opacity:.55;pointer-events:none;}
.farmo-main .fm-hfv__in{position:relative;display:grid;grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr);gap:40px;align-items:center;}
.farmo-main .fm-hfv__text{min-width:0;}
.farmo-main .fm-hfv__h1{margin:0 0 22px;font-size:clamp(34px,4.6vw,54px);font-weight:600;line-height:1.28;letter-spacing:.01em;color:var(--fm-ink);text-wrap:balance;}
.farmo-main .fm-hfv__lead{margin:0;max-width:30em;font-size:15.5px;line-height:2.05;color:var(--fm-sub);}
.farmo-main .fm-hfv__more{margin:16px 0 0;}
.farmo-main .fm-hfv__media{min-width:0;}
.farmo-main .fm-hfv__media img{display:block;width:100%;height:auto;}
.farmo-main .fm-hfv__steps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0 0;padding:0;list-style:none;}
.farmo-main .fm-hfv__steps li{position:relative;margin:0;padding:9px 20px;background:#fff;border:1px solid var(--fm-line);border-radius:999px;font-size:14px;font-weight:600;color:var(--fm-ink);box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-hfv__steps li:not(:last-child)::after{content:"";position:absolute;right:-8px;top:50%;width:6px;height:6px;border-top:2px solid #BBD7E4;border-right:2px solid #BBD7E4;transform:translateY(-50%) rotate(45deg);}

.farmo-main .fm-guide{position:relative;z-index:2;margin-top:-26px;padding:0 0 8px;}
.farmo-main .fm-guide__box{background:#fff;border:1px solid var(--fm-line);border-radius:20px;box-shadow:0 10px 30px rgba(13,43,62,.07);padding:30px 32px 32px;}
.farmo-main .fm-guide__q{margin:0 0 20px;text-align:center;font-size:16px;font-weight:600;color:var(--fm-ink);}
.farmo-main .fm-guide__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.farmo-main .fm-guide__grid > *{min-width:0;}
.farmo-main a.fm-guide__c{display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:6px 16px;padding:20px 20px;border-radius:16px;background:var(--fm-soft);border:1px solid var(--fm-line-soft);text-decoration:none;color:inherit;transition:border-color .18s,box-shadow .18s,background .18s;}
.farmo-main a.fm-guide__c:hover{background:#fff;border-color:var(--fm-sky-line);box-shadow:0 8px 22px rgba(13,43,62,.06);}
.farmo-main .fm-guide__ic{grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--fm-line);}
.farmo-main .fm-guide__ic svg{width:30px;height:30px;display:block;}
.farmo-main .fm-guide__b{grid-column:2;display:flex;flex-direction:column;gap:5px;min-width:0;}
.farmo-main .fm-guide__t{font-size:16px;font-weight:600;line-height:1.5;color:var(--fm-ink);}
.farmo-main .fm-guide__d{font-size:13px;line-height:1.75;color:var(--fm-sub);}
.farmo-main .fm-guide__a{grid-column:3;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;color:var(--fm-sky-text);}

.farmo-main .fm-region__in{display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);gap:44px;align-items:start;}
.farmo-main .fm-region__lead .fm-h2{margin-top:0;}
.farmo-main .fm-region__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.farmo-main .fm-region__grid > *{min-width:0;}
.farmo-main .fm-region__c{display:flex;flex-direction:column;gap:8px;padding:26px 26px 24px;background:#fff;border:1px solid var(--fm-line);border-radius:16px;box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-region__tag{align-self:flex-start;padding:4px 12px;border-radius:999px;background:var(--fm-tint);font-size:12px;font-weight:600;color:var(--fm-sky-text);}
.farmo-main .fm-region__t{margin:2px 0 0;font-size:17px;font-weight:600;line-height:1.55;color:var(--fm-ink);}
.farmo-main .fm-region__d{margin:0;font-size:13.5px;line-height:1.9;color:var(--fm-sub);}
.farmo-main .fm-region__c .fm-navlink{margin-top:auto;padding-top:10px;}

.farmo-main .fm-allygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;}
.farmo-main .fm-allygrid > *{min-width:0;}
.farmo-main .fm-allyc{display:flex;flex-direction:column;gap:9px;padding:28px 26px 26px;background:#fff;border:1px solid var(--fm-line);border-radius:16px;}
.farmo-main .fm-allyc__tag{align-self:flex-start;padding:4px 12px;border-radius:999px;background:#EDF7E4;font-size:12px;font-weight:600;color:#5A8F1E;}
.farmo-main .fm-allyc__t{margin:2px 0 0;font-size:17px;font-weight:600;line-height:1.55;color:var(--fm-ink);}
.farmo-main .fm-allyc__d{margin:0;font-size:13.5px;line-height:1.9;color:var(--fm-sub);}
.farmo-main .fm-ally__note{margin:18px 0 0;text-align:center;font-size:13px;color:var(--fm-mute);}
.farmo-main .fm-allytwo{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px;}
.farmo-main .fm-allytwo > *{min-width:0;}
.farmo-main .fm-allytwo__c{display:flex;flex-direction:column;padding:30px 30px 28px;background:#fff;border:1px solid var(--fm-line);border-radius:18px;box-shadow:0 6px 16px rgba(13,43,62,.05);}
.farmo-main .fm-allytwo__t{margin:0 0 10px;font-size:17px;font-weight:600;line-height:1.55;color:var(--fm-ink);}
.farmo-main .fm-allytwo__d{margin:0;font-size:14px;line-height:1.95;color:var(--fm-sub);}
.farmo-main .fm-allytwo__b{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;}

.farmo-main .fm-hvoices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;}
.farmo-main .fm-hvoices > *{min-width:0;}
.farmo-main .fm-hvoice{display:flex;flex-direction:column;padding:28px 26px 24px;background:#fff;border:1px solid var(--fm-line);border-radius:16px;}
.farmo-main .fm-hvoice__ttl{margin:0 0 12px;font-size:16px;font-weight:600;line-height:1.6;color:var(--fm-sky-text);}
.farmo-main .fm-hvoice__txt{margin:0;font-size:13.5px;line-height:1.95;color:var(--fm-sub);}
.farmo-main .fm-hvoice__foot{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:20px;}
.farmo-main .fm-hvoice__ph{flex:none;width:48px;height:48px;border-radius:50%;overflow:hidden;}
.farmo-main .fm-hvoice__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.farmo-main .fm-hvoice__who{display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:600;color:var(--fm-ink);}
.farmo-main .fm-hvoice__who span{font-size:12px;font-weight:400;color:var(--fm-mute);}

@media (max-width:960px){
.farmo-main .fm-guide__grid{grid-template-columns:1fr;}
.farmo-main .fm-region__in{grid-template-columns:1fr;gap:30px;}
.farmo-main .fm-region__lead .fm-h2 br{display:none;}
}
@media (max-width:820px){
.farmo-main .fm-hfv{padding:44px 0 32px;}
.farmo-main .fm-hfv__in{grid-template-columns:1fr;gap:26px;}
.farmo-main .fm-hfv__lead{max-width:none;}
.farmo-main .fm-allygrid,.farmo-main .fm-allytwo,.farmo-main .fm-hvoices{grid-template-columns:1fr;}
.farmo-main .fm-region__grid{grid-template-columns:1fr;}
.farmo-main .fm-guide{margin-top:-18px;}
.farmo-main .fm-guide__box{padding:24px 20px 24px;}
}
@media (max-width:640px){
.farmo-main .fm-hfv__steps li{padding:8px 15px;font-size:13px;}
.farmo-main .fm-hfv__steps{gap:8px;}
.farmo-main .fm-allytwo__c{padding:24px 22px 22px;}
}

/* r126b FVの見出しの折れ方 */
.farmo-main .fm-hfv__in{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);}
.farmo-main .fm-hfv__h1{font-size:clamp(32px,4.1vw,46px);word-break:keep-all;overflow-wrap:normal;line-break:strict;}
.farmo-main .fm-hfv__media img{border-radius:14px;}
@media (max-width:820px){.farmo-main .fm-hfv__in{grid-template-columns:1fr;}}

/* r126c 分野カードを4枚横並びに・案内カードのアイコン位置 */
@media (min-width:961px){
.farmo-main .fm-sollist .fm-solgrid{grid-template-columns:repeat(4,1fr);gap:18px;}
.farmo-main .fm-sollist .fm-solcard__ttl{font-size:18px;}
}
@media (min-width:641px) and (max-width:960px){
.farmo-main .fm-sollist .fm-solgrid{grid-template-columns:repeat(2,1fr);}
}
.farmo-main .fm-guide__ic{align-self:start;margin-top:1px;}

/* r126d スタジオ画面は白地なので枠をつけて画面と分かるようにする */
.farmo-main .fm-studio__media img{border:1px solid var(--fm-line);border-radius:14px;box-shadow:0 8px 22px rgba(13,43,62,.05);background:#fff;}

/* r127 案内カードはお知らせの下へ移動したので重ねをやめる／声は最下部 */
.farmo-main .fm-guide{margin-top:0;padding:56px 0 8px;}
.farmo-main .fm-guide + .fm-sollist{padding-top:56px;}
.farmo-main .fm-hvoicesec{border-bottom:0;}
@media (max-width:820px){.farmo-main .fm-guide{margin-top:0;padding:40px 0 4px;}}

/* r128 並び替え後の余白調整 */
.farmo-main .fm-guide + .fm-bnrow{padding-top:26px;padding-bottom:8px;}
.farmo-main .fm-bnrow + .fm-region{padding-top:78px;}

/* r129 分野紹介を案内カードの下へ */
.farmo-main .fm-sollist + .fm-bnrow{padding-top:8px;padding-bottom:8px;}

/* r130 ピックアップの見出しラベル */
.farmo-main .fm-bnrow__head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0 0 18px;}
.farmo-main .fm-bnrow__pill{display:inline-flex;align-items:center;gap:8px;padding:7px 16px 7px 12px;border-radius:999px;background:var(--fm-tint);color:var(--fm-sky-text);font-size:13.5px;font-weight:600;letter-spacing:.02em;}
.farmo-main .fm-bnrow__pill svg{width:20px;height:20px;display:block;flex:none;}
.farmo-main .fm-bnrow__t{margin:0;font-size:14px;line-height:1.85;color:var(--fm-sub);}
@media (max-width:640px){
.farmo-main .fm-bnrow__head{gap:8px;margin-bottom:14px;}
.farmo-main .fm-bnrow__t{font-size:13.5px;}
}

/* r131 章タイトル */
.farmo-main .fm-chapter{padding:84px 0 0;}
.farmo-main .fm-chapter .fm-h2{margin-bottom:.35em;}
.farmo-main .fm-chapter .fm-sub{font-size:15px;line-height:2.0;}
.farmo-main .fm-chapter + .fm-abouthome{padding-top:44px;}
.farmo-main .fm-chapter + .fm-abouthome .fm-h2{font-size:clamp(24px,2.6vw,34px);}
@media (max-width:820px){.farmo-main .fm-chapter{padding-top:56px;}.farmo-main .fm-chapter + .fm-abouthome{padding-top:32px;}}

/* r132 対象者ラベル／スタジオ節のレイアウト修正 */
.farmo-main .fm-audlb{display:flex;margin:0 0 16px;}
.farmo-main .fm-center .fm-audlb{justify-content:center;}
.farmo-main .fm-audlb__p{display:inline-flex;align-items:center;gap:8px;padding:7px 18px 7px 13px;border-radius:999px;background:var(--fm-tint);color:var(--fm-sky-text);font-size:13.5px;font-weight:600;letter-spacing:.02em;line-height:1.5;}
.farmo-main .fm-audlb__ic{display:flex;flex:none;width:20px;height:20px;}
.farmo-main .fm-audlb__ic svg{width:20px;height:20px;display:block;}
.farmo-main .fm-region__lead .fm-audlb{justify-content:flex-start;}
/* HOMEの .fm-studio は分野ページ用の同名部品とぶつかるので打ち消す */
.farmo-main.farmo-home > .fm-studio{display:block;}
.farmo-main.farmo-home .fm-studio__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;}
@media (max-width:820px){
.farmo-main.farmo-home .fm-studio__inner{grid-template-columns:1fr;gap:28px;}
.farmo-main .fm-audlb__p{font-size:12.5px;padding:6px 14px 6px 11px;}
}

.farmo-main.farmo-home > .fm-studio > .farmo-wrap{max-width:var(--wrap);margin-left:auto;margin-right:auto;}

/* r133 Pick UP は生産者セクションの続き。区切り線はピックアップの下へ */
.farmo-main .fm-sollist{border-bottom:0;padding-bottom:56px;}
.farmo-main .fm-guide + .fm-sollist + .fm-bnrow{padding-top:8px;padding-bottom:80px;border-bottom:1px solid var(--gray-2);}
.farmo-main .fm-bnrow__head{display:block;margin:0 0 26px;}
.farmo-main .fm-bnrow__lb{margin:0 0 10px;font-size:20px;font-weight:600;letter-spacing:.14em;line-height:1.4;color:var(--fm-sky-text);}
.farmo-main .fm-bnrow__t{margin:0;font-size:15px;line-height:1.9;color:var(--fm-sub);}
@media (max-width:640px){
.farmo-main .fm-bnrow__lb{font-size:18px;}
.farmo-main .fm-bnrow__t{font-size:14px;}
.farmo-main .fm-guide + .fm-sollist + .fm-bnrow{padding-bottom:56px;}
}

/* r134 地域DXカードにアイキャッチ写真 */
.farmo-main .fm-region__c{padding:0;overflow:hidden;}
.farmo-main .fm-region__ph{position:relative;display:block;aspect-ratio:16/9;background:var(--fm-soft);}
.farmo-main .fm-region__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.farmo-main .fm-region__ph .fm-region__tag{position:absolute;left:12px;bottom:12px;align-self:auto;padding:5px 13px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--fm-sky-text);font-size:12px;font-weight:600;box-shadow:0 2px 8px rgba(13,43,62,.14);}
.farmo-main .fm-region__bd{display:flex;flex-direction:column;gap:8px;flex:1;padding:20px 22px 20px;}
.farmo-main .fm-region__bd .fm-region__t{margin:0;}
.farmo-main .fm-region__bd .fm-navlink{margin-top:auto;padding-top:10px;}
@media (max-width:640px){
.farmo-main .fm-region__ph{aspect-ratio:16/8;}
.farmo-main .fm-region__bd{padding:18px 18px 18px;}
}

.farmo-main .fm-region__in{align-items:center;}
@media (max-width:960px){.farmo-main .fm-region__in{align-items:start;}}

/* ===== r135 ファーモが取り組むスマート農業（章＋3つの取り組み） ===== */
.farmo-main .fm-approach{padding:88px 0 0;scroll-margin-top:104px;}
.farmo-main .fm-approach .fm-h2{margin-bottom:.4em;}
.farmo-main .fm-approach__idx{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:38px 0 0;padding:0;list-style:none;counter-reset:none;}
.farmo-main .fm-approach__idx > li{min-width:0;margin:0;}
.farmo-main .fm-approach__idx a{display:flex;align-items:center;gap:14px;height:100%;padding:18px 20px;background:#fff;border:1px solid var(--fm-line);border-radius:14px;text-decoration:none;color:inherit;transition:border-color .18s,box-shadow .18s;}
.farmo-main .fm-approach__idx a:hover{border-color:var(--fm-sky-line);box-shadow:0 8px 22px rgba(13,43,62,.06);}
.farmo-main .fm-approach__no{flex:none;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--fm-tint);color:var(--fm-sky-text);font-size:14px;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;}
.farmo-main .fm-approach__kind{font-size:14.5px;font-weight:600;line-height:1.55;color:var(--fm-ink);}

.farmo-main .fm-appr{padding:72px 0;border-bottom:0;}
.farmo-main .fm-appr:last-of-type{padding-bottom:88px;}
.farmo-main .fm-appr__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center;}
.farmo-main .fm-appr:nth-of-type(even) .fm-appr__media{order:-1;}
.farmo-main .fm-appr__ey{display:flex;align-items:center;gap:12px;margin:0 0 14px;}
.farmo-main .fm-appr__eyno{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--fm-sky);color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;}
.farmo-main .fm-appr__eykind{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--fm-sky-text);}
.farmo-main .fm-appr__h{margin:0 0 16px;font-size:clamp(23px,2.5vw,32px);font-weight:600;line-height:1.5;color:var(--fm-ink);text-wrap:balance;}
.farmo-main .fm-appr__lead{margin:0;font-size:15px;line-height:2.0;color:var(--fm-sub);}
.farmo-main .fm-appr__pts{display:grid;gap:8px;margin:20px 0 0;padding:0;list-style:none;}
.farmo-main .fm-appr__pts li{position:relative;margin:0;padding-left:28px;font-size:14.5px;line-height:1.85;color:var(--fm-ink);}
.farmo-main .fm-appr__pts li::before{content:"";position:absolute;left:0;top:.42em;width:16px;height:16px;border-radius:50%;background:var(--fm-tint);}
.farmo-main .fm-appr__pts li::after{content:"";position:absolute;left:5px;top:.78em;width:6px;height:3px;border-left:2px solid var(--fm-sky);border-bottom:2px solid var(--fm-sky);transform:rotate(-45deg);}
.farmo-main .fm-appr__media img{width:100%;height:auto;display:block;border-radius:16px;}
.farmo-main .fm-appr:nth-of-type(3) .fm-appr__media img{border:1px solid var(--fm-line);box-shadow:0 8px 22px rgba(13,43,62,.05);background:#fff;}
.farmo-main .fm-appr + .fm-ally{border-top:1px solid var(--gray-2);}
@media (max-width:960px){
.farmo-main .fm-approach__idx{grid-template-columns:1fr;gap:10px;}
}
@media (max-width:820px){
.farmo-main .fm-approach{padding-top:60px;}
.farmo-main .fm-appr{padding:48px 0;}
.farmo-main .fm-appr__in{grid-template-columns:1fr;gap:28px;}
.farmo-main .fm-appr:nth-of-type(even) .fm-appr__media{order:0;}
}

.farmo-main .fm-appr:nth-of-type(even) .fm-appr__media{order:0;}
.farmo-main .fm-appr--rev .fm-appr__media{order:-1;}
@media (max-width:820px){.farmo-main .fm-appr--rev .fm-appr__media{order:0;}}
.farmo-main .fm-appr:nth-of-type(3) .fm-appr__media img{border:0;box-shadow:none;}
.farmo-main #approach-03 .fm-appr__media img{border:1px solid var(--fm-line);box-shadow:0 8px 22px rgba(13,43,62,.05);background:#fff;}


/* ============================================================
   r136  HOME 分野カード（分野名ラベル＋キャッチ＋リード文）
   ============================================================ */
.fm-sollist .fm-solcard__body{ padding:18px 22px 18px; }
.fm-sollist .fm-solcard__cat{
	display:inline-flex; align-items:center; align-self:flex-start;
	font-size:15px; font-weight:700; line-height:1; letter-spacing:.02em;
	color:var(--fm-sky-text,#0090BE); background:var(--fm-tint,#E6F5FC);
	border-radius:999px; padding:7px 13px; margin:0 0 11px;
}
.fm-sollist .fm-solcard__ttl{ font-size:19px; font-weight:700; line-height:1.62; letter-spacing:.01em; }
.fm-sollist .fm-solcard__txt{ margin-top:9px; }
@media (max-width:960px){
	.fm-sollist .fm-solcard__cat{ font-size:14px; padding:6px 12px; margin-bottom:10px; }
	.fm-sollist .fm-solcard__ttl{ font-size:18px; }
}
@media (max-width:640px){
	.fm-sollist .fm-solcard__body{ padding:16px 18px 16px; }
}


/* ============================================================
   r137  HOME 見出しまわりの調整
   ・Pick UP ラベルを大きく
   ・地域DX をセンター見出し＋4カードに
   ・「ファーモが取り組むスマート農業」の装飾
   ============================================================ */

/* Pick UP */
.farmo-main .fm-bnrow__lb{ margin:0 0 12px; font-size:30px; font-weight:700; letter-spacing:.12em; line-height:1.3; color:var(--fm-sky-text); }

/* 地域DX：センター見出し＋4カード */
.farmo-main .fm-region__grid{ grid-template-columns:repeat(4,1fr); gap:20px; margin-top:6px; }
.farmo-main .fm-region .fm-center{ margin-bottom:34px; }
.farmo-main .fm-region .fm-center .fm-sub{ margin-left:auto; margin-right:auto; max-width:56em; }
.farmo-main .fm-region__bd{ padding:18px 20px 18px; }
.farmo-main .fm-region__bd .fm-region__t{ font-size:16.5px; line-height:1.6; }
.farmo-main .fm-region__bd .fm-region__d{ font-size:13px; line-height:1.85; }
.farmo-main .fm-region .fm-actions{ margin-top:34px; }

/* 取り組みの章タイトル */
.farmo-main .fm-approach .fm-h2.fm-apprttl{ font-size:clamp(26px,2.7vw,38px); font-weight:700; letter-spacing:.02em; line-height:1.45; }
.fm-apprttl__hl{ display:inline-block; padding:0 .1em; color:var(--fm-sky-text); font-weight:800; background-image:linear-gradient(transparent 58%, rgba(53,193,238,.26) 58%); }

@media (max-width:960px){
	.farmo-main .fm-bnrow__lb{ font-size:26px; }
	.farmo-main .fm-region__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
	.farmo-main .fm-bnrow__lb{ font-size:23px; letter-spacing:.1em; }
	.farmo-main .fm-region__grid{ grid-template-columns:1fr; }
	.farmo-main .fm-region .fm-center{ margin-bottom:26px; }
	.farmo-main .fm-region .fm-actions{ margin-top:26px; }
}

/* r137b 地域DXカードの写真を必ず同じ高さに */
.farmo-main .fm-region__ph{ overflow:hidden; flex:0 0 auto; }
.farmo-main .fm-region__ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }


/* ============================================================
   r138  HOME アライアンス：CASEラベル＋カードのアイキャッチ
   ============================================================ */
.farmo-main .fm-allylb{
	margin:38px 0 16px; text-align:center;
	font-size:18px; font-weight:700; letter-spacing:.18em; line-height:1.4;
	color:var(--fm-sky-text);
}
.farmo-main .fm-allygrid{ margin-top:0; gap:20px; }
.farmo-main .fm-allyc{ gap:0; padding:0; overflow:hidden; }
.farmo-main .fm-allyc__ph{
	position:relative; display:block; aspect-ratio:16/9;
	overflow:hidden; flex:0 0 auto; background:var(--fm-soft);
}
.farmo-main .fm-allyc__ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.farmo-main .fm-allyc__ph .fm-allyc__tag{
	position:absolute; left:12px; bottom:12px; align-self:auto;
	padding:5px 13px; border-radius:999px;
	background:rgba(255,255,255,.94); color:#5A8F1E;
	font-size:12px; font-weight:600; box-shadow:0 2px 8px rgba(13,43,62,.14);
}
.farmo-main .fm-allyc__bd{ display:flex; flex-direction:column; gap:8px; flex:1; padding:18px 20px 20px; }
.farmo-main .fm-allyc__bd .fm-allyc__t{ margin:0; font-size:16.5px; line-height:1.6; }
.farmo-main .fm-allyc__bd .fm-allyc__d{ font-size:13px; line-height:1.85; }

@media (max-width:960px){
	.farmo-main .fm-allylb{ margin:30px 0 14px; font-size:17px; }
	.farmo-main .fm-allygrid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
	.farmo-main .fm-allylb{ margin:26px 0 12px; font-size:16px; }
	.farmo-main .fm-allygrid{ grid-template-columns:1fr; }
	.farmo-main .fm-allyc__ph{ aspect-ratio:16/8; }
	.farmo-main .fm-allyc__bd{ padding:16px 18px 18px; }
}


/* ============================================================
   r139  HOME 分野カード：分野名をカード上部の見出し帯にする
   ============================================================ */
.farmo-home .fm-sollist .fm-solcard{ position:relative; }

/* 分野名の帯（カード最上部・全幅） */
.farmo-home .fm-sollist .fm-solcard__cat{
	display:flex; align-items:center; justify-content:center;
	align-self:auto; margin:0; padding:12px 14px 11px;
	background:var(--fm-sky,#00B0E4);
	border-radius:0; border-bottom:2px solid rgba(255,255,255,.28);
	transition:background .2s ease;
}
.farmo-home .fm-sollist .fm-solcard__catt{
	display:inline-block;
	font-size:17px; font-weight:700; line-height:1.3; letter-spacing:.1em;
	color:#fff; text-indent:.1em;
}
.farmo-home .fm-sollist .fm-solcard:hover .fm-solcard__cat{ background:#0098C9; }

/* 帯の下は写真から始まるので上の角丸は帯側で処理される */
.farmo-home .fm-sollist .fm-solcard__media{ border-radius:0; }
.farmo-home .fm-sollist .fm-solcard__body{ padding:18px 22px 18px; }
.farmo-home .fm-sollist .fm-solcard__ttl{ margin-top:0; }

/* 専用アプリのラベルを外したぶんの調整 */
.farmo-home .fm-sollist .fm-solcard__appname{ font-size:14.5px; font-weight:600; }

@media (max-width:960px){
	.farmo-home .fm-sollist .fm-solcard__cat{ padding:11px 12px 10px; }
	.farmo-home .fm-sollist .fm-solcard__catt{ font-size:16px; }
}
@media (max-width:640px){
	.farmo-home .fm-sollist .fm-solcard__catt{ font-size:15.5px; }
}


/* ============================================================
   r140  HOME ファーストビュー（全幅写真＋左テキスト）
   ============================================================ */
.farmo-main .fm-hfv{
	position:relative; isolation:isolate; overflow:hidden;
	display:flex; align-items:center;
	min-height:clamp(560px, calc(100svh - 104px), 720px);
	padding:0; background:#EAF8FC;
}
/* 旧・装飾の丸を白グラデーションに置き換え */
.farmo-main .fm-hfv::before{
	content:""; position:absolute; z-index:1;
	inset:0; left:0; top:0; right:0; bottom:0;
	width:auto; height:auto; border-radius:0; opacity:1; pointer-events:none;
	background:linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 26%, rgba(255,255,255,.78) 43%, rgba(255,255,255,.20) 63%, rgba(255,255,255,0) 78%);
}
.farmo-main .fm-hfv__media{ position:absolute; z-index:0; inset:0; min-width:0; }
.farmo-main .fm-hfv__media img{ width:100%; height:100%; object-fit:cover; object-position:58% center; }

.farmo-main .fm-hfv__in{ position:relative; z-index:2; display:block; width:100%; gap:0; }
.farmo-main .fm-hfv__text{ width:min(600px,56%); padding:70px 0 92px; }

.farmo-main .fm-hfv__ey{
	display:flex; align-items:center; gap:10px; margin:0 0 16px;
	color:var(--fm-sky-text); font-size:13px; font-weight:700; letter-spacing:.14em; line-height:1.6;
}
.farmo-main .fm-hfv__ey::before{ content:""; flex:0 0 auto; width:32px; height:2px; background:var(--fm-sky); }

.farmo-main .fm-hfv__h1{
	margin:0; font-size:clamp(40px,4.9vw,70px); font-weight:700;
	line-height:1.22; letter-spacing:.06em; color:var(--fm-ink);
}
.farmo-main .fm-hfv__h1 span{ color:var(--fm-sky-text); }
.farmo-main .fm-hfv__lead{ margin:24px 0 0; max-width:34em; font-size:15.5px; line-height:2.05; color:var(--fm-sub); }
.farmo-main .fm-hfv .fm-actions{ margin-top:28px; }
.farmo-main .fm-hfv__more{ margin:14px 0 0; }
.farmo-main .fm-hfv__steps{ justify-content:flex-start; margin:26px 0 0; }
.farmo-main .fm-hfv__steps li{
	background:rgba(255,255,255,.82); border:1px solid rgba(129,199,219,.5);
	box-shadow:0 5px 18px rgba(24,82,103,.07); backdrop-filter:blur(6px);
}

/* ファーモくんの吹き出しカード */
.farmo-main .fm-hfv__note{
	position:absolute; z-index:2; right:30px; bottom:62px;
	display:flex; align-items:center; gap:12px; max-width:272px;
	padding:12px 15px; border-radius:18px;
	background:rgba(255,255,255,.84); border:1px solid rgba(255,255,255,.9);
	box-shadow:0 14px 34px rgba(20,73,92,.12); backdrop-filter:blur(10px);
}
.farmo-main .fm-hfv__notemk{
	flex:0 0 auto; display:grid; place-items:center; width:36px; height:36px;
	border-radius:50%; background:var(--fm-green); color:#fff;
}
.farmo-main .fm-hfv__notebd strong{ display:block; font-size:11.5px; font-weight:700; line-height:1.55; color:var(--fm-ink); }
.farmo-main .fm-hfv__notebd small{ display:block; margin-top:2px; font-size:9.5px; line-height:1.6; color:var(--fm-mute); }

/* FV直下の案内カード */
.farmo-main .fm-hfv + .fm-guide{ margin-top:-30px; }

@media (max-width:1100px){
	.farmo-main .fm-hfv__text{ width:min(560px,62%); }
	.farmo-main .fm-hfv__note{ right:20px; bottom:58px; max-width:250px; }
}
@media (max-width:820px){
	.farmo-main .fm-hfv{ display:block; min-height:0; background:#F2FBFE; }
	.farmo-main .fm-hfv::before{ background:linear-gradient(180deg, rgba(255,255,255,.97) 0 46%, rgba(255,255,255,.72) 58%, rgba(255,255,255,.04) 74%); }
	.farmo-main .fm-hfv__media img{ object-position:72% center; }
	.farmo-main .fm-hfv__text{ width:100%; padding:46px 0 290px; }
	.farmo-main .fm-hfv__h1{ font-size:clamp(36px,9.6vw,52px); }
	.farmo-main .fm-hfv__lead{ font-size:14.5px; line-height:1.95; }
	.farmo-main .fm-hfv__note{ right:14px; bottom:52px; max-width:232px; }
	.farmo-main .fm-hfv + .fm-guide{ margin-top:-22px; }
}
@media (max-width:520px){
	.farmo-main .fm-hfv__text{ padding:40px 0 248px; }
	.farmo-main .fm-hfv__ey{ font-size:11.5px; }
	.farmo-main .fm-hfv__lead br{ display:none; }
	.farmo-main .fm-hfv__note{ right:12px; bottom:44px; max-width:214px; padding:10px 12px; gap:10px; }
	.farmo-main .fm-hfv__notemk{ width:32px; height:32px; }
}

/* r140b スマホでステップのピルを1行に収める */
@media (max-width:520px){
	.farmo-main .fm-hfv__steps{ gap:6px; margin-top:22px; }
	.farmo-main .fm-hfv__steps li{ padding:6px 10px; font-size:10.5px; }
}

/* ============================================================
   r141  案内カードをファーストビューに重ねる
   ============================================================ */
.farmo-main .fm-hfv__text{ padding-bottom:120px; }
.farmo-main .fm-hfv__note{ bottom:122px; }
.farmo-main .fm-hfv + .fm-guide{ margin-top:-82px; }

@media (max-width:1100px){
	.farmo-main .fm-hfv__note{ bottom:118px; }
}
@media (max-width:820px){
	.farmo-main .fm-hfv__text{ padding-bottom:300px; }
	.farmo-main .fm-hfv__note{ bottom:96px; }
	.farmo-main .fm-hfv + .fm-guide{ margin-top:-58px; }
}
@media (max-width:520px){
	.farmo-main .fm-hfv__text{ padding-bottom:256px; }
	.farmo-main .fm-hfv__note{ bottom:84px; }
	.farmo-main .fm-hfv + .fm-guide{ margin-top:-46px; }
}

/* r141b 上下の余白を殺して、白い箱そのものを写真に重ねる */
.farmo-main .fm-hfv + .fm-guide{ padding-top:0; margin-top:-70px; }
@media (max-width:820px){ .farmo-main .fm-hfv + .fm-guide{ padding-top:0; margin-top:-52px; } }
@media (max-width:520px){ .farmo-main .fm-hfv + .fm-guide{ padding-top:0; margin-top:-44px; } }

/* ============================================================
   r142  帯とお知らせを、案内カードと同じ「浮いたパネル」に揃える
   ============================================================ */
.farmo-home .fm-actbar{ background:transparent; padding:18px 0 0; margin:0; }
.farmo-home .fm-actbar__inner{
	display:flex; align-items:center; justify-content:space-between; gap:14px 28px; flex-wrap:wrap;
	padding:16px 24px; background:var(--fm-soft,#F5FAFD);
	border:1px solid var(--fm-line,#E7EFF3); border-bottom:0; border-radius:18px 18px 0 0;
}
.farmo-home .fm-actbar__links{ gap:26px; }
.farmo-home .fm-actbar__links a{ font-size:14.5px; }

.farmo-home .fm-tick{ background:transparent; border-bottom:0; margin:0; padding:0 0 6px; }
.farmo-home .fm-tick__inner{
	display:flex; align-items:center; gap:18px;
	padding:13px 24px; background:var(--fm-soft,#F5FAFD);
	border:1px solid var(--fm-line,#E7EFF3); border-top:1px solid #DEECF3; border-radius:0 0 18px 18px;
}
.farmo-home .fm-tick__label{
	padding:4px 11px; border-radius:999px; background:#fff;
	border:1px solid var(--fm-sky-line,#35C1EE);
	font-size:11px; letter-spacing:.1em; font-weight:700; color:var(--fm-sky-text,#0090BE);
}
.farmo-home .fm-tick__item a{ font-size:13.5px; }

@media (max-width:820px){
	.farmo-home .fm-actbar{ padding-top:14px; }
	.farmo-home .fm-actbar__inner{ padding:14px 18px; gap:12px 20px; }
	.farmo-home .fm-tick__inner{ padding:12px 18px; gap:12px; }
}
@media (max-width:640px){
	.farmo-home .fm-actbar__inner{ flex-direction:column; align-items:stretch; gap:12px; }
	.farmo-home .fm-actbar__links{ flex-direction:column; align-items:flex-start; gap:10px; }
	.farmo-home .fm-actbar__btn{ width:100%; justify-content:center; }
	.farmo-home .fm-tick__inner{ gap:10px; }
	.farmo-home .fm-tick__item time{ display:none; }
}

/* ============================================================
   r143  不具合修正
   ・02「電波の届かない農地に、通信を。」の画像左寄せが効いていなかった
     （.fm-appr:nth-of-type(even) の詳細度 0,4,0 に負けていた）
   ・日本語見出しの折り返しを語句単位に
   ============================================================ */
.farmo-main .fm-appr.fm-appr--rev .fm-appr__media{ order:-1; }
@media (max-width:820px){
	.farmo-main .fm-appr.fm-appr--rev .fm-appr__media{ order:0; }
}

.farmo-home .fm-h2,
.farmo-main .fm-hfv__h1,
.farmo-main .fm-hfv__lead,
.farmo-main .fm-guide__t,
.farmo-main .fm-guide__q,
.farmo-main .fm-solcard__ttl,
.farmo-main .fm-solcard__txt,
.farmo-main .fm-region__t,
.farmo-main .fm-allyc__t,
.farmo-main .fm-appr__ttl,
.farmo-main .fm-sub{
	word-break:auto-phrase;
	line-break:strict;
}

/* r143b ファーモくんカードの文字が小さすぎたので可読サイズに */
.farmo-main .fm-hfv__note{ max-width:290px; padding:13px 16px; }
.farmo-main .fm-hfv__notebd strong{ font-size:12.5px; }
.farmo-main .fm-hfv__notebd small{ font-size:11px; margin-top:3px; }
@media (max-width:520px){
	.farmo-main .fm-hfv__note{ max-width:224px; }
	.farmo-main .fm-hfv__notebd strong{ font-size:11.5px; }
	.farmo-main .fm-hfv__notebd small{ font-size:10.5px; }
}

/* ============================================================
   r144  施設園芸ページ パターンB（/solution/greenhouse-b/）
   既存のトークン・ボタン・fm-navlink・fm-typetbl を流用し、
   パターンB固有のレイアウトだけ .fm-ghb__* で定義する。
   ============================================================ */

.farmo-main .fm-ghb br{ display:revert; }
.farmo-main .fm-ghb img{ display:block; max-width:100%; height:auto; }

/* ---- 共通の小物 ---- */
.farmo-main .fm-ghb__ey{
	display:inline-flex; align-items:center; gap:10px; margin:0 0 14px;
	padding:5px 15px; border-radius:999px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE);
	font-size:12.5px; font-weight:700; letter-spacing:.08em; line-height:1.8;
}
.farmo-main .fm-ghb__ey span{ font-weight:500; letter-spacing:.02em; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__mark{
	display:inline; color:var(--fm-sky-text,#0090BE);
	background-image:linear-gradient(transparent 74%, rgba(118,184,42,.28) 74%);
	-webkit-box-decoration-break:clone; box-decoration-break:clone;
}
.farmo-main .fm-ghb__fine{ margin:14px 0 0; font-size:12px; line-height:1.85; color:var(--fm-mute,#6C8FA0); }
.farmo-main .fm-ghb__center{ margin:22px 0 0; text-align:center; font-size:14px; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__tlink{ color:var(--fm-sky-text,#0090BE); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.farmo-main .fm-ghb__tttl{ margin:0 0 8px; font-size:17px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__ttxt{ margin:0; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__three{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:26px; }

/* ---- ファーストビュー ---- */
.farmo-main .fm-ghb__fv{
	position:relative; isolation:isolate; overflow:hidden;
	min-height:580px; margin:0 0 20px; padding:58px 48px 64px;
	border-radius:26px; background:#E9F4FA;
}
.farmo-main .fm-ghb__fvmedia{ position:absolute; z-index:0; inset:0 0 0 33%; }
.farmo-main .fm-ghb__fvph{ width:100%; height:100%; object-fit:cover; object-position:center 44%; }
.farmo-main .fm-ghb__fv::after{
	content:""; position:absolute; z-index:1; inset:0; pointer-events:none;
	background:linear-gradient(90deg,#E9F4FA 0%,#E9F4FA 29%,rgba(233,244,250,.93) 40%,rgba(233,244,250,.45) 54%,rgba(233,244,250,0) 70%);
}
.farmo-main .fm-ghb__fvbody{ position:relative; z-index:3; width:min(540px,55%); }
.farmo-main .fm-ghb__h1{
	margin:0 0 20px; font-size:clamp(34px,3.9vw,54px); font-weight:700;
	line-height:1.42; letter-spacing:.03em; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__h1 span{ color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghb__lead{ margin:0 0 26px; font-size:15.5px; line-height:2.05; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__fvbtn{ margin:0; }
.farmo-main .fm-ghb__fvphone{ position:absolute; z-index:4; left:31%; bottom:34px; width:140px; }
.farmo-main .fm-ghb__fvphone img{ width:100%; border-radius:12px; filter:drop-shadow(0 12px 20px rgba(13,43,62,.18)); }
.farmo-main .fm-ghb__fvphone span{
	display:block; width:max-content; max-width:180px; margin:9px 0 0;
	padding:6px 13px; border-radius:999px; background:#fff;
	font-size:12px; font-weight:700; color:var(--fm-sky-text,#0090BE);
	box-shadow:0 4px 14px rgba(13,43,62,.10);
}
.farmo-main .fm-ghb__fvlabel{
	position:absolute; z-index:4; right:24px; top:24px; margin:0;
	padding:7px 16px; border-radius:999px; background:rgba(255,255,255,.92);
	font-size:12.5px; font-weight:700; color:#2C5E3C;
	box-shadow:0 4px 14px rgba(13,43,62,.10);
}

/* ---- お約束の帯 ---- */
.farmo-main .fm-ghb__promise{
	display:flex; align-items:center; flex-wrap:wrap; gap:12px 28px;
	margin:0 0 52px; padding:20px 26px;
	border-radius:18px; background:var(--fm-soft,#F5FAFD); border:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghb__promiselead{ margin:0; margin-right:auto; font-size:14.5px; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__promiselead strong{ display:block; font-size:16px; font-weight:600; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__promiselist{ display:flex; flex-wrap:wrap; gap:8px 22px; margin:0; padding:0; list-style:none; }
.farmo-main .fm-ghb__promiselist li{
	display:flex; align-items:center; gap:7px;
	font-size:13px; font-weight:600; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__promiselist li::before{
	content:""; flex:0 0 auto; width:16px; height:16px; border-radius:50%;
	background:var(--fm-green,#76B82A);
	-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 100 16A8 8 0 008 0zm-1 11.4L3.6 8l1.1-1.1L7 9.2l4.3-4.3 1.1 1.1z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 100 16A8 8 0 008 0zm-1 11.4L3.6 8l1.1-1.1L7 9.2l4.3-4.3 1.1 1.1z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---- こんなとき、ありませんか ---- */
.farmo-main .fm-ghb__worrygrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:30px; }
.farmo-main .fm-ghb__worryph{ display:block; aspect-ratio:1/1; overflow:hidden; border-radius:18px; background:var(--fm-soft,#F5FAFD); }
.farmo-main .fm-ghb__worryph img{ width:100%; height:100%; object-fit:cover; }
.farmo-main .fm-ghb__worrytime{ display:inline-block; margin:16px 0 10px; font-size:12.5px; font-weight:700; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghb__worryttl{
	position:relative; margin:0 0 14px; padding:18px 20px;
	border-radius:18px; background:var(--fm-tint,#E6F5FC);
	font-size:16.5px; font-weight:600; line-height:1.75; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__worryttl::before{
	content:""; position:absolute; top:-11px; left:30px;
	border-left:11px solid transparent; border-right:11px solid transparent;
	border-bottom:12px solid var(--fm-tint,#E6F5FC);
}
.farmo-main .fm-ghb__worrytxt{ margin:0; padding:0 4px; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__bridge{
	margin:40px 0 0; text-align:center; font-size:19px; line-height:1.8; color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-ghb__bridge strong{ font-weight:700; color:var(--fm-sky-text,#0090BE); }

/* ---- 様子がわかると ---- */
.farmo-main .fm-ghb__change{
	padding:44px 40px 40px; border-radius:24px;
	background:linear-gradient(135deg,#E9F5FB,#F2FAEF);
}
.farmo-main .fm-ghb__changegrid{ display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:44px; align-items:center; margin-top:30px; }
.farmo-main .fm-ghb__stage{ padding:34px 24px 20px; border-radius:140px 140px 22px 22px; background:#fff; text-align:center; }
.farmo-main .fm-ghb__stage img{ width:190px; margin:0 auto 16px; border-radius:12px; }
.farmo-main .fm-ghb__stage p{ margin:0; font-size:13px; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__stage small{ font-size:11.5px; color:var(--fm-mute,#6C8FA0); }
.farmo-main .fm-ghb__step{
	display:grid; grid-template-columns:74px minmax(0,1fr); gap:2px 18px;
	padding:20px 0; border-bottom:1px solid rgba(13,43,62,.10);
}
.farmo-main .fm-ghb__step:first-child{ padding-top:0; }
.farmo-main .fm-ghb__stepno{
	grid-row:1; display:flex; align-items:center; justify-content:center;
	width:46px; height:46px; margin:0 auto; border-radius:14px;
	background:#fff; color:var(--fm-sky-text,#0090BE);
	font-size:19px; font-weight:700; letter-spacing:.02em;
}
.farmo-main .fm-ghb__stepword{ grid-row:2; margin-top:7px; text-align:center; font-size:12.5px; font-weight:700; color:#2F7A4E; }
.farmo-main .fm-ghb__stepttl{ grid-column:2; grid-row:1; margin:0 0 6px; align-self:center; font-size:18px; font-weight:600; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__steptxt{ grid-column:2; grid-row:2; margin:0; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__result{ margin-top:24px; padding:22px 24px; border-radius:18px; background:#fff; }
.farmo-main .fm-ghb__resultword{
	display:inline-block; margin:0 0 10px; padding:3px 14px; border-radius:999px;
	background:#EDF6E2; color:#2F7A4E; font-size:12.5px; font-weight:700;
}
.farmo-main .fm-ghb__result strong{ display:block; font-size:18px; font-weight:600; line-height:1.7; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__result p{ margin:10px 0 0; font-size:12.5px; color:var(--fm-mute,#6C8FA0); }

/* ---- 農家さんの声 ---- */
.farmo-main .fm-ghb__storyhead{ display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.farmo-main .fm-ghb__storyhead > div{ min-width:0; }
.farmo-main .fm-ghb__storyhead .fm-solp__lead{ margin-bottom:0; }
.farmo-main .fm-ghb__guide{ display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.farmo-main .fm-ghb__guide p{
	position:relative; margin:0; padding:15px 19px; border-radius:20px;
	background:#fff; border:1px solid var(--fm-line,#E7EFF3);
	font-size:13.5px; font-weight:700; line-height:1.8; color:var(--fm-sky-text,#0090BE);
}
.farmo-main .fm-ghb__guide p::after{
	content:""; position:absolute; right:-7px; top:50%; width:12px; height:12px;
	background:#fff; border-top:1px solid var(--fm-line,#E7EFF3); border-right:1px solid var(--fm-line,#E7EFF3);
	transform:translateY(-50%) rotate(45deg);
}
.farmo-main .fm-ghb__guide img{ width:88px; height:88px; object-fit:contain; }
.farmo-main .fm-ghb__voices{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.farmo-main .fm-ghb__voice{
	display:flex; flex-direction:column; overflow:hidden;
	background:#fff; border:1px solid var(--fm-line,#E7EFF3); border-radius:20px;
	box-shadow:0 8px 22px rgba(13,43,62,.05);
}
.farmo-main a.fm-ghb__voiceph{ position:relative; display:block; overflow:hidden; text-decoration:none; }
.farmo-main .fm-ghb__voiceph img{ width:100%; height:270px; object-fit:cover; object-position:center 28%; transition:transform .3s ease; }
.farmo-main .fm-ghb__voiceph:hover img{ transform:scale(1.03); }
.farmo-main .fm-ghb__voiceph span{
	position:absolute; left:18px; bottom:16px; padding:5px 16px; border-radius:999px;
	background:rgba(255,255,255,.95); color:#2F7A4E; font-size:12.5px; font-weight:700;
}
.farmo-main .fm-ghb__voicebd{ display:flex; flex-direction:column; flex:1; padding:22px 24px 24px; }
.farmo-main .fm-ghb__voicewho{ margin:0 0 12px; font-size:12.5px; color:var(--fm-mute,#6C8FA0); }
.farmo-main .fm-ghb__voicewho span{ display:inline-block; margin-left:8px; padding:1px 8px; border-radius:5px; background:#EDF6E2; color:#2F7A4E; font-size:11.5px; }
.farmo-main .fm-ghb__voicewho strong{ display:block; margin-top:4px; font-size:16px; font-weight:600; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__voicettl{ margin:0 0 10px; font-size:19px; font-weight:600; line-height:1.65; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghb__voicetxt{ margin:0 0 16px; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__voicebd .fm-navlink{ margin-top:auto; padding-top:14px; border-top:1px solid var(--fm-line,#E7EFF3); }
.farmo-main .fm-ghb__hint{
	display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:26px; align-items:center;
	margin-top:26px; padding:24px 28px;
	border-left:5px solid var(--fm-green,#76B82A); border-radius:0 18px 18px 0; background:#F5FAEE;
}
.farmo-main .fm-ghb__hinttag{ display:block; margin-bottom:8px; font-size:12.5px; font-weight:700; color:#2F7A4E; }
.farmo-main .fm-ghb__hintttl{ margin:0; font-size:18px; font-weight:600; line-height:1.65; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__hint p{ margin:0 0 10px; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__videos{
	display:flex; align-items:center; flex-wrap:wrap; gap:12px 26px;
	margin-top:26px; padding-top:22px; border-top:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghb__videos > span{ font-size:14px; font-weight:600; color:var(--fm-ink,#0D2B3E); }

/* ---- アプリでできること ---- */
.farmo-main .fm-ghb__appsec{ padding:44px 40px 40px; border-radius:24px; background:var(--fm-soft,#F5FAFD); }
.farmo-main .fm-ghb__appfig{ margin:28px 0 0; }
.farmo-main .fm-ghb__appfig img{ width:100%; border-radius:16px; }
.farmo-main .fm-ghb__tcard{ padding:22px 22px 24px; border-radius:18px; background:#fff; border-top:4px solid var(--fm-sky,#00B0E4); }
.farmo-main .fm-ghb__tcard--b{ border-top-color:var(--fm-green,#76B82A); }
.farmo-main .fm-ghb__tcard--c{ border-top-color:var(--fm-orange,#F5A94E); }

/* ---- 続けやすさ ---- */
.farmo-main .fm-ghb__rcard{ padding:24px 24px 26px; border-radius:18px; background:var(--fm-soft,#F5FAFD); }
.farmo-main .fm-ghb__three > .fm-ghb__rcard:nth-child(2){ background:#F7FBEF; }
.farmo-main .fm-ghb__three > .fm-ghb__rcard:nth-child(3){ background:#FDF6EC; }
.farmo-main .fm-ghb__rno{
	display:inline-flex; align-items:center; justify-content:center;
	width:38px; height:38px; margin-bottom:14px; border-radius:12px;
	background:#fff; color:var(--fm-sky-text,#0090BE); font-size:16px; font-weight:700;
}

/* ---- はじめ方3ステップ ---- */
.farmo-main .fm-ghb__setup{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:30px; }
.farmo-main .fm-ghb__setup article{ position:relative; padding:26px 22px 24px; border-radius:20px; background:var(--fm-soft,#F5FAFD); text-align:center; }
.farmo-main .fm-ghb__setup article:nth-child(2){ background:#F7FBEF; }
.farmo-main .fm-ghb__setup article:nth-child(3){ background:#FDF6EC; }
.farmo-main .fm-ghb__setup article:not(:last-child)::after{
	content:""; position:absolute; right:-20px; top:50%; width:12px; height:12px;
	border-top:2px solid var(--fm-sky-line,#35C1EE); border-right:2px solid var(--fm-sky-line,#35C1EE);
	transform:translateY(-50%) rotate(45deg);
}
.farmo-main .fm-ghb__setno{
	position:absolute; left:16px; top:16px;
	display:flex; align-items:center; justify-content:center;
	width:34px; height:34px; border-radius:11px; background:#fff;
	color:var(--fm-sky-text,#0090BE); font-size:15px; font-weight:700;
}
.farmo-main .fm-ghb__setart{ display:block; width:160px; max-width:72%; margin:6px auto 16px; }
.farmo-main .fm-ghb__setart svg{ display:block; width:100%; height:auto; }
.farmo-main .fm-ghb__setup .fm-ghb__fine{ margin-top:8px; }

/* ---- 選び方 ---- */
.farmo-main .fm-ghb__crops{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:30px 0 0; }
.farmo-main .fm-ghb__crop{
	overflow:hidden; background:#fff; border:1px solid var(--fm-line,#E7EFF3);
	border-radius:20px; box-shadow:0 8px 22px rgba(13,43,62,.05);
}
.farmo-main .fm-ghb__cropph{ width:100%; height:210px; object-fit:cover; }
.farmo-main .fm-ghb__crop > div{ padding:22px 24px 24px; }
.farmo-main .fm-ghb__croptag{
	display:inline-block; margin-bottom:10px; padding:4px 13px; border-radius:999px;
	background:#EDF6E2; color:#2F7A4E; font-size:12.5px; font-weight:700;
}
.farmo-main .fm-ghb__cropttl{ margin:0 0 10px; font-size:19px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__crop .fm-navlink{ margin-top:14px; }

.farmo-main .fm-ghb__measure{ margin-top:52px; padding-top:44px; border-top:1px solid var(--fm-line,#E7EFF3); }
.farmo-main .fm-ghb__measuregrid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:40px; align-items:center; margin-top:26px; }
.farmo-main .fm-ghb__diagram{ margin:0; }
.farmo-main .fm-ghb__diagram img{ width:100%; border-radius:16px; }
.farmo-main .fm-ghb__tags{ display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 0; padding:0; list-style:none; }
.farmo-main .fm-ghb__tags li{ padding:6px 15px; border-radius:999px; background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE); font-size:12.5px; font-weight:600; }
.farmo-main .fm-ghb__measuregrid .fm-navlink{ margin-top:14px; }

.farmo-main .fm-ghb__compare{ margin-top:44px; padding:34px 34px 30px; border-radius:24px; background:var(--fm-soft,#F5FAFD); }
.farmo-main .fm-ghb__compare .fm-solp__lead{ margin-bottom:20px; }
.farmo-main .fm-ghb__compare .fm-navlink{ margin-top:14px; }

/* ---- 無料お試し ---- */
.farmo-main .fm-ghb__trial{
	display:flex; align-items:center; justify-content:space-between; gap:32px;
	margin:0 0 56px; padding:44px 44px 40px; border-radius:26px;
	background:linear-gradient(118deg,#E4F3FB,#F1F9E6); border:1px solid #CFE8F2;
}
.farmo-main .fm-ghb__trialbd{ min-width:0; }
.farmo-main .fm-ghb__trialbd .fm-solp__lead{ margin-bottom:22px; }
.farmo-main .fm-ghb__trialbtns{ display:flex; flex-wrap:wrap; gap:12px; margin:0; }
.farmo-main .fm-ghb__companion{ flex:0 0 132px; margin:0; text-align:center; align-self:flex-end; }
.farmo-main .fm-ghb__companion img{ width:132px; border-radius:50%; background:#fff; }
.farmo-main .fm-ghb__companion figcaption{ margin-top:10px; font-size:12px; font-weight:700; line-height:1.7; color:var(--fm-sky-text,#0090BE); }

/* ---- あわせて使うと ---- */
.farmo-main .fm-ghb__together{ padding:44px 40px 40px; border-radius:24px; background:var(--fm-tint,#E6F5FC); }
.farmo-main .fm-ghb__rel{
	display:flex; flex-direction:column; overflow:hidden;
	background:#fff; border-radius:18px; box-shadow:0 8px 20px rgba(13,43,62,.06);
}
.farmo-main .fm-ghb__relph{ width:100%; height:190px; object-fit:cover; }
.farmo-main .fm-ghb__relph--contain{ object-fit:contain; padding:12px; background:#fff; }
.farmo-main .fm-ghb__rel > div{ display:flex; flex-direction:column; flex:1; padding:20px 22px 22px; }
.farmo-main .fm-ghb__reltag{ display:block; margin-bottom:10px; font-size:12.5px; font-weight:700; color:#2F7A4E; }
.farmo-main .fm-ghb__rel .fm-navlink{ margin-top:auto; padding-top:14px; }

/* ---- ファーモクラウド ---- */
.farmo-main .fm-ghb__cloudname{ margin:0 0 12px; font-size:21px; font-weight:700; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghb__cloudsteps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:26px 0 0; }
.farmo-main .fm-ghb__cloudsteps article{ padding:24px 22px 26px; border-radius:20px; background:var(--fm-soft,#F5FAFD); text-align:center; }
.farmo-main .fm-ghb__cloudno{ display:block; margin:4px 0 6px; font-size:12.5px; font-weight:700; letter-spacing:.12em; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghb__cloudbtns{ display:flex; align-items:center; flex-wrap:wrap; gap:14px 24px; margin:28px 0 0; }

/* ---- FAQ ---- */
.farmo-main .fm-ghb__faq details{
	margin-bottom:12px; overflow:hidden;
	background:#fff; border:1px solid var(--fm-line,#E7EFF3); border-radius:14px;
}
.farmo-main .fm-ghb__faq summary{
	display:flex; align-items:center; gap:12px; padding:18px 20px;
	font-size:15.5px; font-weight:600; color:var(--fm-ink,#0D2B3E); cursor:pointer; list-style:none;
}
.farmo-main .fm-ghb__faq summary::-webkit-details-marker{ display:none; }
.farmo-main .fm-ghb__faq summary::before{
	content:"Q"; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
	width:26px; height:26px; border-radius:8px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE); font-size:13px; font-weight:700;
}
.farmo-main .fm-ghb__faq summary::after{ content:"＋"; margin-left:auto; color:var(--fm-sky-text,#0090BE); font-weight:700; }
.farmo-main .fm-ghb__faq details[open] summary{ background:var(--fm-soft,#F5FAFD); }
.farmo-main .fm-ghb__faq details[open] summary::after{ content:"−"; }
.farmo-main .fm-ghb__faq details > div{ padding:20px 20px 22px 58px; }
.farmo-main .fm-ghb__faq details p{ margin:0 0 10px; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__faq details p:last-child{ margin-bottom:0; }
.farmo-main .fm-ghb__faq details strong{ color:var(--fm-ink,#0D2B3E); font-weight:600; }

/* ============ タブレット ============ */
@media (max-width:900px){
	.farmo-main .fm-ghb__fv{ min-height:0; padding:38px 28px 300px; }
	.farmo-main .fm-ghb__fvmedia{ inset:auto 0 0 0; height:300px; }
	.farmo-main .fm-ghb__fv::after{ background:linear-gradient(180deg,#E9F4FA 0%,#E9F4FA 58%,rgba(233,244,250,.7) 70%,rgba(233,244,250,0) 84%); }
	.farmo-main .fm-ghb__fvbody{ width:100%; }
	.farmo-main .fm-ghb__fvphone{ left:24px; bottom:24px; width:112px; }
	.farmo-main .fm-ghb__fvlabel{ display:none; }
	.farmo-main .fm-ghb__change,
	.farmo-main .fm-ghb__appsec,
	.farmo-main .fm-ghb__together{ padding:32px 24px 30px; }
	.farmo-main .fm-ghb__compare{ padding:26px 20px 24px; }
	.farmo-main .fm-ghb__trial{ padding:32px 26px 30px; }
	.farmo-main .fm-ghb__changegrid,
	.farmo-main .fm-ghb__measuregrid{ grid-template-columns:1fr; gap:28px; }
	.farmo-main .fm-ghb__stage{ max-width:320px; margin-inline:auto; }
	.farmo-main .fm-ghb__storyhead{ flex-direction:column; align-items:flex-start; gap:18px; }
	.farmo-main .fm-ghb__guide{ align-self:flex-end; }
	.farmo-main .fm-ghb__hint{ grid-template-columns:1fr; gap:14px; }
}

/* ============ スマホ ============ */
@media (max-width:640px){
	.farmo-main .fm-ghb__fv{ padding:30px 20px 250px; border-radius:20px; }
	.farmo-main .fm-ghb__fvmedia{ height:250px; }
	.farmo-main .fm-ghb__h1{ font-size:clamp(28px,8.4vw,38px); line-height:1.5; }
	.farmo-main .fm-ghb__h1 br{ display:revert; }
	.farmo-main .fm-ghb__lead{ font-size:14.5px; }
	.farmo-main .fm-ghb__lead br{ display:none; }
	.farmo-main .fm-ghb__fvphone{ left:18px; bottom:18px; width:96px; }
	.farmo-main .fm-ghb__fvphone span{ font-size:11px; padding:5px 10px; }
	.farmo-main .fm-ghb__promise{ flex-direction:column; align-items:flex-start; gap:14px; padding:18px 20px; margin-bottom:40px; }
	.farmo-main .fm-ghb__promiselist{ gap:8px 18px; }
	.farmo-main .fm-ghb__worrygrid{ grid-template-columns:1fr; gap:32px; }
	.farmo-main .fm-ghb__worryph{ max-width:320px; margin-inline:auto; }
	.farmo-main .fm-ghb__bridge{ font-size:17px; text-align:left; }
	.farmo-main .fm-ghb__bridge strong{ display:block; }
	.farmo-main .fm-ghb__change,
	.farmo-main .fm-ghb__appsec,
	.farmo-main .fm-ghb__together{ padding:26px 18px 26px; border-radius:18px; }
	.farmo-main .fm-ghb__three,
	.farmo-main .fm-ghb__voices,
	.farmo-main .fm-ghb__crops,
	.farmo-main .fm-ghb__setup,
	.farmo-main .fm-ghb__cloudsteps{ grid-template-columns:1fr; }
	.farmo-main .fm-ghb__setup{ gap:34px; }
	.farmo-main .fm-ghb__setup article:not(:last-child)::after{ right:auto; left:50%; top:auto; bottom:-24px; transform:translateX(-50%) rotate(135deg); }
	.farmo-main .fm-ghb__step{ grid-template-columns:60px minmax(0,1fr); gap:2px 14px; }
	.farmo-main .fm-ghb__stepno{ width:40px; height:40px; font-size:17px; }
	.farmo-main .fm-ghb__voiceph img{ height:230px; }
	.farmo-main .fm-ghb__cropph{ height:190px; }
	.farmo-main .fm-ghb__relph{ height:180px; }
	.farmo-main .fm-ghb__trial{ flex-direction:column; align-items:stretch; padding:26px 20px 24px; border-radius:20px; }
	.farmo-main .fm-ghb__companion{ align-self:center; flex-basis:auto; }
	.farmo-main .fm-ghb__trialbtns .farmo-btn{ width:100%; justify-content:center; }
	.farmo-main .fm-ghb__guide img{ width:70px; height:70px; }
	.farmo-main .fm-ghb__faq details > div{ padding:18px 18px 20px 20px; }
	.farmo-main .fm-ghb__measure{ margin-top:40px; padding-top:34px; }
	.farmo-main .fm-ghb__compare{ margin-top:34px; }
	.farmo-main .fm-ghb h2.fm-solp__h br{ display:none; }
}

@media (prefers-reduced-motion: reduce){
	.farmo-main .fm-ghb__voiceph img{ transition:none; }
}

/* r144b パターンB 微調整 */
.farmo-main .fm-ghb__fv{ min-height:650px; }
.farmo-main .fm-ghb__fvbody{ width:min(505px,52%); }
.farmo-main .fm-ghb__fvphone{ left:auto; right:31%; bottom:32px; width:132px; }
.farmo-main .fm-ghb__fvphone span{ white-space:nowrap; max-width:none; font-size:11.5px; }
.farmo-main .fm-ghb__guide img,
.farmo-main .fm-ghb__companion img{ border-radius:50%; background:#fff; }
@media (max-width:900px){
	.farmo-main .fm-ghb__fv{ min-height:0; }
	.farmo-main .fm-ghb__fvbody{ width:100%; }
	.farmo-main .fm-ghb__fvphone{ left:24px; right:auto; bottom:24px; width:112px; }
}
@media (max-width:640px){
	.farmo-main .fm-ghb__fvphone{ left:18px; right:auto; bottom:18px; width:96px; }
}

/* r144c 気象センサーの製品写真は黒地なので、他のカードと同じ写真扱いに */
.farmo-main .fm-ghb__relph--contain{ object-fit:cover; padding:0; }

/* ============================================================
   r145  施設園芸ページ パターンC（/solution/greenhouse-c/）
   作物起点のナビゲーション。既存のトークン・ボタン・
   fm-navlink・fm-typetbl を流用し、C固有だけ .fm-ghc__*。
   ============================================================ */

.farmo-main .fm-ghc br{ display:revert; }
.farmo-main .fm-ghc img{ display:block; max-width:100%; height:auto; }
.farmo-main .fm-ghc__sec{ margin-bottom:88px; }
.farmo-main .fm-ghc__cttl{ margin:0 0 8px; font-size:17px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghc__ctxt{ margin:0; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghc__note{ margin:16px 0 0; font-size:12.5px; line-height:1.9; color:var(--fm-mute,#6C8FA0); }
.farmo-main .fm-ghc__note a{ color:var(--fm-sky-text,#0090BE); text-decoration:underline; text-underline-offset:3px; }
.farmo-main .fm-ghc__center{ margin:24px 0 0; text-align:center; }
.farmo-main .fm-ghc__tlink{ color:var(--fm-sky-text,#0090BE); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.farmo-main .fm-ghc__three{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:26px; }

/* 章番号のラベル */
.farmo-main .fm-ghc__ey{
	display:inline-flex; align-items:center; gap:9px; margin:0 0 14px;
	font-size:12.5px; font-weight:700; letter-spacing:.12em; line-height:1.8;
	color:var(--fm-sky-text,#0090BE);
}
.farmo-main .fm-ghc__ey::before{ content:""; width:26px; height:2px; background:var(--fm-sky,#00B0E4); }
.farmo-main .fm-ghc__ey--light{ color:var(--fm-sky-text,#0090BE); }

/* ---- ファーストビュー ---- */
.farmo-main .fm-ghc__fv{
	position:relative; isolation:isolate; overflow:hidden;
	min-height:620px; margin:0 0 76px; padding:60px 50px 64px;
	border-radius:26px; background:#EAF5FA;
}
.farmo-main .fm-ghc__fvmedia{ position:absolute; z-index:0; inset:0 0 0 40%; }
.farmo-main .fm-ghc__fvph{ width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.farmo-main .fm-ghc__fv::after{
	content:""; position:absolute; z-index:1; inset:0; pointer-events:none;
	background:linear-gradient(90deg,#EAF5FA 0%,#EAF5FA 34%,rgba(234,245,250,.94) 45%,rgba(234,245,250,.45) 58%,rgba(234,245,250,0) 73%);
}
.farmo-main .fm-ghc__fvbody{ position:relative; z-index:3; width:min(520px,54%); }
.farmo-main .fm-ghc__pill{
	display:inline-block; margin:0 0 18px; padding:6px 16px; border-radius:999px;
	background:var(--fm-sky,#00B0E4); color:#fff;
	font-size:13px; font-weight:700; letter-spacing:.06em;
}
.farmo-main .fm-ghc__h1{
	margin:0 0 20px; font-size:clamp(32px,3.8vw,52px); font-weight:700;
	line-height:1.44; letter-spacing:.03em; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghc__lead{ margin:0 0 26px; font-size:15.5px; line-height:2.05; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghc__fvbtns{ display:flex; flex-wrap:wrap; gap:12px; margin:0 0 24px; }
.farmo-main .fm-ghc__fvfacts{ display:flex; flex-wrap:wrap; gap:8px 10px; margin:0; padding:0; list-style:none; }
.farmo-main .fm-ghc__fvfacts li{
	display:flex; align-items:center; gap:6px;
	padding:6px 14px 6px 11px; border-radius:999px;
	background:rgba(255,255,255,.85); border:1px solid #CDE7F2;
	font-size:12.5px; font-weight:600; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghc__fvfacts li::before{
	content:""; width:14px; height:14px; flex:0 0 auto; border-radius:50%;
	background:var(--fm-green,#76B82A);
	-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 100 16A8 8 0 008 0zm-1 11.4L3.6 8l1.1-1.1L7 9.2l4.3-4.3 1.1 1.1z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 100 16A8 8 0 008 0zm-1 11.4L3.6 8l1.1-1.1L7 9.2l4.3-4.3 1.1 1.1z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.farmo-main .fm-ghc__fvphone{ position:absolute; z-index:4; right:34%; bottom:38px; width:136px; }
.farmo-main .fm-ghc__fvphone img{ width:100%; border-radius:13px; filter:drop-shadow(0 14px 24px rgba(13,43,62,.2)); }

/* ---- 1. えらぶ（作物タブ） ---- */
.farmo-main .fm-ghc__picker{ margin-top:30px; }
.farmo-main .fm-ghc__tabs{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 26px; }
.farmo-main .fm-ghc__tab{
	appearance:none; cursor:pointer;
	padding:11px 22px; border-radius:999px;
	background:#fff; border:1px solid var(--fm-line,#E7EFF3); color:var(--fm-sub,#3A6578);
	font-family:inherit; font-size:14.5px; font-weight:600; line-height:1.6;
	transition:border-color .18s, color .18s, background .18s;
}
.farmo-main .fm-ghc__tab:hover{ border-color:var(--fm-sky-line,#35C1EE); color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghc__tab.is-on{ background:var(--fm-sky,#00B0E4); border-color:var(--fm-sky,#00B0E4); color:#fff; }
.farmo-main .fm-ghc__tab:focus-visible{ outline:2px solid var(--fm-sky,#00B0E4); outline-offset:3px; }
.farmo-main .fm-ghc__panels{ display:grid; gap:22px; }
.farmo-main .fm-ghc__panel[hidden]{ display:none; }
.farmo-main .fm-ghc__panel{
	display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:32px; align-items:center;
	padding:30px 32px; border-radius:22px; background:var(--fm-soft,#F5FAFD);
}
.farmo-main .fm-ghc__panelmedia{ min-width:0; }
.farmo-main .fm-ghc__panelph{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px; }
.farmo-main .fm-ghc__where{ margin:0 0 10px; font-size:20px; font-weight:700; line-height:1.6; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghc__why{ margin:0 0 20px; font-size:14px; line-height:1.95; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghc__types{ margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.farmo-main .fm-ghc__types li{
	display:grid; grid-template-columns:104px minmax(0,1fr) auto; align-items:center; gap:6px 14px;
	padding:13px 18px; border-radius:14px; background:#fff; border:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghc__tname{ font-size:15px; font-weight:700; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghc__tmeas{ font-size:12.5px; line-height:1.75; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghc__tprice{ font-size:15px; font-weight:700; color:var(--fm-sky-text,#0090BE); font-variant-numeric:tabular-nums; white-space:nowrap; }
.farmo-main .fm-ghc__q{
	margin:18px 0 0; padding:16px 18px 16px 20px;
	border-left:4px solid var(--fm-green,#76B82A); border-radius:0 12px 12px 0; background:#F6FAEF;
}
.farmo-main .fm-ghc__q p{ margin:0 0 8px; font-size:14px; line-height:1.9; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghc__q cite{ font-style:normal; font-size:12.5px; color:var(--fm-mute,#6C8FA0); }

/* ---- 2. 変わる ---- */
.farmo-main .fm-ghc__scenes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:30px; }
.farmo-main .fm-ghc__sceneph{ display:block; aspect-ratio:1/1; overflow:hidden; border-radius:18px; background:var(--fm-soft,#F5FAFD); }
.farmo-main .fm-ghc__sceneph img{ width:100%; height:100%; object-fit:cover; }
.farmo-main .fm-ghc__scenetime{
	display:inline-block; margin:16px 0 12px; padding:4px 13px; border-radius:999px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE);
	font-size:12.5px; font-weight:700;
}
.farmo-main .fm-ghc__scenebefore{
	position:relative; margin:0 0 14px; padding:0 0 0 20px;
	font-size:13.5px; line-height:1.9; color:var(--fm-mute,#6C8FA0);
}
.farmo-main .fm-ghc__scenebefore::before{
	content:""; position:absolute; left:0; top:.85em; width:11px; height:1px; background:var(--fm-mute,#6C8FA0);
}
.farmo-main .fm-ghc__sceneafter{
	position:relative; margin:0; padding:16px 18px; border-radius:14px;
	background:var(--fm-soft,#F5FAFD);
	font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-ghc__sceneafter::before{
	content:""; position:absolute; top:-11px; left:24px;
	border-left:10px solid transparent; border-right:10px solid transparent;
	border-bottom:12px solid var(--fm-soft,#F5FAFD);
}
.farmo-main .fm-ghc__sceneafter strong{ display:block; margin-bottom:5px; font-size:15px; font-weight:600; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghc__bridge{
	margin:40px 0 0; padding:22px 24px; border-radius:18px; text-align:center;
	background:var(--fm-tint,#E6F5FC); font-size:17px; line-height:1.85; color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-ghc__bridge strong{ font-weight:700; color:var(--fm-sky-text,#0090BE); }

/* ---- 3. 見える ---- */
.farmo-main .fm-ghc__appfig{ margin:28px 0 0; }
.farmo-main .fm-ghc__appfig img{ width:100%; border-radius:18px; }
.farmo-main .fm-ghc__acard{ padding:22px 22px 24px; border-radius:18px; background:var(--fm-soft,#F5FAFD); border-top:4px solid var(--fm-sky,#00B0E4); }
.farmo-main .fm-ghc__three > .fm-ghc__acard:nth-child(2){ border-top-color:var(--fm-green,#76B82A); }
.farmo-main .fm-ghc__three > .fm-ghc__acard:nth-child(3){ border-top-color:var(--fm-orange,#F5A94E); }

/* ---- 4. 確かめる ---- */
.farmo-main .fm-ghc__checks{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:30px; }
.farmo-main .fm-ghc__checks article{
	position:relative; display:flex; flex-direction:column;
	padding:26px 24px 24px; border-radius:20px; background:var(--fm-soft,#F5FAFD); text-align:center;
}
.farmo-main .fm-ghc__checks article:nth-child(2){ background:#F7FBEF; }
.farmo-main .fm-ghc__checks article:nth-child(3){ background:#FDF6EC; }
.farmo-main .fm-ghc__checkno{
	position:absolute; left:16px; top:16px;
	display:flex; align-items:center; justify-content:center;
	width:32px; height:32px; border-radius:10px; background:#fff;
	color:var(--fm-sky-text,#0090BE); font-size:14px; font-weight:700;
}
.farmo-main .fm-ghc__checkart{ display:block; width:150px; max-width:70%; margin:4px auto 16px; }
.farmo-main .fm-ghc__checkart svg{ display:block; width:100%; height:auto; }
.farmo-main .fm-ghc__checks .fm-navlink{ margin-top:auto; padding-top:14px; justify-content:center; }
.farmo-main .fm-ghc__diagrow{
	display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:36px; align-items:center;
	margin-top:36px; padding-top:36px; border-top:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghc__diag{ margin:0; }
.farmo-main .fm-ghc__diag img{ width:100%; border-radius:16px; }
.farmo-main .fm-ghc__tags{ display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 0; padding:0; list-style:none; }
.farmo-main .fm-ghc__tags li{ padding:6px 15px; border-radius:999px; background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE); font-size:12.5px; font-weight:600; }

/* ---- 5. 続けられる ---- */
.farmo-main .fm-ghc__kcard{ padding:26px 24px 28px; border-radius:18px; background:#fff; border:1px solid var(--fm-line,#E7EFF3); box-shadow:0 8px 20px rgba(13,43,62,.05); }
.farmo-main .fm-ghc__kno{ margin:0 0 14px; font-size:13px; font-weight:700; letter-spacing:.12em; color:var(--fm-sky-line,#35C1EE); }
.farmo-main .fm-ghc__count{
	margin:28px 0 0; padding:22px 24px; border-radius:18px; text-align:center;
	background:var(--fm-soft,#F5FAFD); font-size:15px; color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-ghc__count strong{ font-size:26px; font-weight:700; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghc__count span{ display:block; margin-top:6px; font-size:12px; color:var(--fm-mute,#6C8FA0); }

/* ---- 6. 試す ---- */
.farmo-main .fm-ghc__try{
	display:flex; align-items:center; justify-content:space-between; gap:34px;
	margin:0 0 88px; padding:46px 46px 42px; border-radius:26px;
	background:linear-gradient(118deg,#E2F2FA,#F1F9E6); border:1px solid #CBE6F1;
}
.farmo-main .fm-ghc__trybd{ min-width:0; }
.farmo-main .fm-ghc__trybd .fm-solp__lead{ margin-bottom:24px; }
.farmo-main .fm-ghc__trybtns{ display:flex; flex-wrap:wrap; gap:12px; margin:0 0 4px; }
.farmo-main .fm-ghc__kun{ flex:0 0 150px; margin:0; text-align:center; }
.farmo-main .fm-ghc__kun img{ width:150px; border-radius:50%; background:#fff; }
.farmo-main .fm-ghc__kun figcaption{ margin-top:12px; font-size:12.5px; font-weight:700; line-height:1.7; color:var(--fm-sky-text,#0090BE); }

/* ---- 声 ---- */
.farmo-main .fm-ghc__vgrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:28px; }
.farmo-main a.fm-ghc__v{
	position:relative; display:flex; flex-direction:column; overflow:hidden;
	background:#fff; border:1px solid var(--fm-line,#E7EFF3); border-radius:18px;
	text-decoration:none; color:inherit; transition:border-color .18s, box-shadow .18s, transform .18s;
}
.farmo-main a.fm-ghc__v:hover{ border-color:var(--fm-sky-line,#35C1EE); box-shadow:0 10px 24px rgba(13,43,62,.08); transform:translateY(-2px); }
.farmo-main .fm-ghc__vph{ width:100%; height:190px; object-fit:cover; object-position:center 26%; }
.farmo-main .fm-ghc__vcrop{
	position:absolute; left:14px; top:158px; padding:4px 14px; border-radius:999px;
	background:rgba(255,255,255,.95); color:#2F7A4E; font-size:12px; font-weight:700;
}
.farmo-main .fm-ghc__vbd{ display:flex; flex-direction:column; flex:1; padding:22px 20px 20px; }
.farmo-main .fm-ghc__vttl{ display:block; margin-bottom:12px; font-size:15px; font-weight:600; line-height:1.7; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghc__vwho{ display:block; margin-top:auto; font-size:12px; color:var(--fm-mute,#6C8FA0); }

/* ---- 広げる ---- */
.farmo-main .fm-ghc__rel{ display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid var(--fm-line,#E7EFF3); border-radius:18px; }
.farmo-main .fm-ghc__relph{ width:100%; height:180px; object-fit:cover; }
.farmo-main .fm-ghc__rel > div{ display:flex; flex-direction:column; flex:1; padding:20px 22px 22px; }
.farmo-main .fm-ghc__reltag{ display:block; margin-bottom:10px; font-size:12.5px; font-weight:700; color:#2F7A4E; }
.farmo-main .fm-ghc__rel .fm-navlink{ margin-top:auto; padding-top:14px; }

/* ---- FAQ ---- */
.farmo-main .fm-ghc__faq details{ margin-bottom:12px; overflow:hidden; background:#fff; border:1px solid var(--fm-line,#E7EFF3); border-radius:14px; }
.farmo-main .fm-ghc__faq summary{
	display:flex; align-items:center; gap:12px; padding:18px 20px; list-style:none; cursor:pointer;
	font-size:15.5px; font-weight:600; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghc__faq summary::-webkit-details-marker{ display:none; }
.farmo-main .fm-ghc__faq summary::before{
	content:"Q"; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
	width:26px; height:26px; border-radius:8px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE); font-size:13px; font-weight:700;
}
.farmo-main .fm-ghc__faq summary::after{ content:"＋"; margin-left:auto; color:var(--fm-sky-text,#0090BE); font-weight:700; }
.farmo-main .fm-ghc__faq details[open] summary{ background:var(--fm-soft,#F5FAFD); }
.farmo-main .fm-ghc__faq details[open] summary::after{ content:"−"; }
.farmo-main .fm-ghc__faq details > div{ padding:20px 20px 22px 58px; }
.farmo-main .fm-ghc__faq details p{ margin:0 0 10px; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghc__faq details p:last-child{ margin-bottom:0; }
.farmo-main .fm-ghc__faq details strong{ color:var(--fm-ink,#0D2B3E); font-weight:600; }

/* ============ タブレット ============ */
@media (max-width:900px){
	.farmo-main .fm-ghc__sec{ margin-bottom:64px; }
	.farmo-main .fm-ghc__fv{ min-height:0; margin-bottom:56px; padding:38px 28px 300px; }
	.farmo-main .fm-ghc__fvmedia{ inset:auto 0 0 0; height:300px; }
	.farmo-main .fm-ghc__fv::after{ background:linear-gradient(180deg,#EAF5FA 0%,#EAF5FA 60%,rgba(234,245,250,.7) 72%,rgba(234,245,250,0) 86%); }
	.farmo-main .fm-ghc__fvbody{ width:100%; }
	.farmo-main .fm-ghc__fvphone{ right:26px; bottom:26px; width:114px; }
	.farmo-main .fm-ghc__panel{ grid-template-columns:1fr; gap:24px; padding:24px 22px; }
	.farmo-main .fm-ghc__diagrow{ grid-template-columns:1fr; gap:26px; }
	.farmo-main .fm-ghc__vgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.farmo-main .fm-ghc__try{ margin-bottom:64px; padding:34px 28px 32px; }
}

/* ============ スマホ ============ */
@media (max-width:640px){
	.farmo-main .fm-ghc__sec{ margin-bottom:52px; }
	.farmo-main .fm-ghc__fv{ padding:30px 20px 250px; border-radius:20px; }
	.farmo-main .fm-ghc__fvmedia{ height:250px; }
	.farmo-main .fm-ghc__h1{ font-size:clamp(27px,8vw,36px); line-height:1.5; }
	.farmo-main .fm-ghc__lead{ font-size:14.5px; }
	.farmo-main .fm-ghc__fvbtns .farmo-btn{ width:100%; justify-content:center; }
	.farmo-main .fm-ghc__fvphone{ right:16px; bottom:16px; width:92px; }
	.farmo-main .fm-ghc__tabs{ gap:8px; }
	.farmo-main .fm-ghc__tab{ padding:9px 16px; font-size:13px; }
	.farmo-main .fm-ghc__types li{ grid-template-columns:1fr auto; }
	.farmo-main .fm-ghc__tmeas{ grid-column:1 / -1; }
	.farmo-main .fm-ghc__where{ font-size:18px; }
	.farmo-main .fm-ghc__three,
	.farmo-main .fm-ghc__scenes,
	.farmo-main .fm-ghc__checks{ grid-template-columns:1fr; }
	.farmo-main .fm-ghc__scenes{ gap:34px; }
	.farmo-main .fm-ghc__sceneph{ max-width:320px; margin-inline:auto; }
	.farmo-main .fm-ghc__bridge{ font-size:15.5px; padding:18px 20px; }
	.farmo-main .fm-ghc__vgrid{ grid-template-columns:1fr; }
	.farmo-main .fm-ghc__vph{ height:220px; }
	.farmo-main .fm-ghc__vcrop{ top:188px; }
	.farmo-main .fm-ghc__try{ flex-direction:column; align-items:stretch; padding:28px 20px 26px; border-radius:20px; }
	.farmo-main .fm-ghc__trybtns .farmo-btn{ width:100%; justify-content:center; }
	.farmo-main .fm-ghc__kun{ flex-basis:auto; align-self:center; }
	.farmo-main .fm-ghc__kun img{ width:118px; margin-inline:auto; }
	.farmo-main .fm-ghc__faq details > div{ padding:18px 18px 20px 20px; }
	.farmo-main .fm-ghc h2.fm-solp__h br{ display:none; }
}

@media (prefers-reduced-motion: reduce){
	.farmo-main a.fm-ghc__v{ transition:none; }
}

/* r145b パターンC 微調整
   .fm-ghc img{height:auto} に負けていた固定高さを効かせる／場面カードの高さを揃える */
.farmo-main .fm-ghc img.fm-ghc__vph{ height:190px; }
.farmo-main .fm-ghc img.fm-ghc__relph{ height:180px; }
.farmo-main .fm-ghc__vcrop{ top:auto; bottom:calc(100% - 176px); }
.farmo-main .fm-ghc__scene{ display:flex; flex-direction:column; }
.farmo-main .fm-ghc__sceneafter{ flex:1; }
@media (max-width:640px){
	.farmo-main .fm-ghc img.fm-ghc__vph{ height:220px; }
	.farmo-main .fm-ghc__vcrop{ bottom:calc(100% - 206px); }
	.farmo-main .fm-ghc__sceneafter{ flex:0 1 auto; }
}

/* r145c スマホでタイプ名と価格を同じ行に置く */
@media (max-width:640px){
	.farmo-main .fm-ghc__tname{ grid-column:1; grid-row:1; }
	.farmo-main .fm-ghc__tprice{ grid-column:2; grid-row:1; }
	.farmo-main .fm-ghc__tmeas{ grid-column:1 / -1; grid-row:2; }
}

/* ============================================================
   r146  施設園芸ページ（B案）の強化
   ・測れる項目のタイル（空気／植物／土壌で色分け）
   ・YES/NO のタイプ診断
   ・全タイプ比較表をトグルに
   ・無料お試しのイラスト
   ============================================================ */

/* ---- 測れる項目 ---- */
.farmo-main .fm-ghb__mttl{ margin:0 0 12px; font-size:23px; font-weight:700; line-height:1.55; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__mttl span{ color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghb__mlead{ margin:0 0 22px; font-size:14.5px; line-height:1.95; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__mtiles{
	display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
	margin:0 0 18px; padding:0; list-style:none;
}
.farmo-main .fm-ghb__mtile{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
	min-height:104px; padding:14px 6px; border-radius:16px;
	background:var(--fm-tint,#E6F5FC); border:1px solid #D3EAF5; color:var(--fm-sky-text,#0090BE);
}
.farmo-main .fm-ghb__mtile svg{ width:34px; height:34px; }
.farmo-main .fm-ghb__mtile span{ font-size:13px; font-weight:700; line-height:1.5; text-align:center; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__mtile--plant{ background:#F1F8E3; border-color:#DFEDC7; color:#5E9420; }
.farmo-main .fm-ghb__mtile--soil{ background:#FBF3E2; border-color:#F0E4C6; color:#A0762A; }

/* ---- タイプ診断 ---- */
.farmo-main .fm-ghb__finder{ margin:30px 0 0; }
.farmo-main .fm-ghb__fguide{ display:flex; align-items:center; gap:18px; }
.farmo-main .fm-ghb__fguide img{ width:82px; height:82px; flex:0 0 auto; border-radius:50%; background:#fff; object-fit:contain; }
.farmo-main .fm-ghb__fguide > div{ min-width:0; }
.farmo-main .fm-ghb__fttl{ margin:0; font-size:23px; font-weight:700; line-height:1.55; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__flead{ margin:18px 0 12px; font-size:14px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__ftrail{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; padding:0; list-style:none; }
.farmo-main .fm-ghb__ftrail:empty{ display:none; }
.farmo-main .fm-ghb__ftrail li{ padding:6px 13px; border-radius:999px; background:#fff; border:1px solid var(--fm-line,#E7EFF3); font-size:12px; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__fpanel{
	padding:32px 28px; border-radius:22px; text-align:center;
	background:#fff; border:2px solid #B7E2F1;
}
.farmo-main .fm-ghb__fstep{ margin:0 0 10px; font-size:12.5px; font-weight:700; letter-spacing:.12em; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghb__fpanel h4{ margin:0 0 12px; font-size:24px; font-weight:700; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-ghb__fpanel h4:focus{ outline:none; }
.farmo-main .fm-ghb__fpanel p{ margin:0; font-size:14px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-ghb__fchoices{ display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:560px; margin:24px auto 0; }
.farmo-main .fm-ghb__fchoices button{
	padding:18px 14px; border:0; border-radius:16px; cursor:pointer;
	font:inherit; font-weight:700; line-height:1.5;
	background:#E5F3CE; color:#3F7128; box-shadow:0 4px 0 #B6D492;
	transition:transform .15s ease;
}
.farmo-main .fm-ghb__fchoices button + button{ background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE); box-shadow:0 4px 0 #A7D8EB; }
.farmo-main .fm-ghb__fchoices button:hover{ transform:translateY(-2px); }
.farmo-main .fm-ghb__fchoices button:active{ transform:translateY(2px); box-shadow:0 1px 0 #B6D492; }
.farmo-main .fm-ghb__fchoices button + button:active{ box-shadow:0 1px 0 #A7D8EB; }
.farmo-main .fm-ghb__fchoices b{ display:block; font-size:23px; letter-spacing:.04em; }
.farmo-main .fm-ghb__fchoices i{ font-style:normal; margin-left:10px; }
.farmo-main .fm-ghb__fpanel .farmo-btn{ margin-top:20px; }
.farmo-main .fm-ghb__ftype{ font-size:42px; font-weight:800; letter-spacing:.02em; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-ghb__fprice{ margin-top:14px !important; font-size:25px; font-weight:700; color:var(--fm-sky-text,#0090BE); font-variant-numeric:tabular-nums; }
.farmo-main .fm-ghb__fprice small{ margin-left:6px; font-size:12.5px; font-weight:500; color:var(--fm-mute,#6C8FA0); }
.farmo-main .fm-ghb__fcontrols{ display:flex; justify-content:space-between; gap:14px; margin-top:16px; }
.farmo-main .fm-ghb__fcontrols button{
	padding:4px 2px; border:0; background:none; cursor:pointer;
	font:inherit; font-size:13.5px; color:var(--fm-sky-text,#0090BE);
	text-decoration:underline; text-underline-offset:4px;
}
.farmo-main .fm-ghb__fcontrols button:disabled{ opacity:.35; cursor:default; text-decoration:none; }
.farmo-main .fm-ghb__finder button:focus-visible{ outline:2px solid var(--fm-sky,#00B0E4); outline-offset:4px; }

/* ---- 全タイプ比較（トグル） ---- */
.farmo-main .fm-ghb__alltypes{ margin-top:26px; }
.farmo-main .fm-ghb__alltypes > summary{
	display:flex; align-items:center; gap:12px; padding:16px 22px; list-style:none; cursor:pointer;
	border-radius:14px; background:var(--fm-sky-text,#0090BE); color:#fff;
	font-size:15px; font-weight:700;
}
.farmo-main .fm-ghb__alltypes > summary::-webkit-details-marker{ display:none; }
.farmo-main .fm-ghb__alltypes > summary::after{ content:"＋"; margin-left:auto; font-size:17px; }
.farmo-main .fm-ghb__alltypes[open] > summary{ margin-bottom:16px; }
.farmo-main .fm-ghb__alltypes[open] > summary::after{ content:"−"; }
.farmo-main .fm-ghb__alltypes > summary:hover{ background:#007CA6; }

/* ---- 無料お試し ---- */
.farmo-main .fm-ghb__trialscene{ position:relative; flex:0 0 340px; min-width:0; margin:0; }
.farmo-main .fm-ghb__trialbubble{
	position:relative; z-index:1; width:max-content; max-width:100%;
	margin:0 auto 14px; padding:11px 22px; border-radius:22px;
	background:#fff; border:2px solid #7CCBE2; color:var(--fm-sky-text,#0090BE);
	font-size:14px; font-weight:700; line-height:1.6; text-align:center;
	transform:rotate(-3deg);
}
.farmo-main .fm-ghb__trialbubble::after{
	content:""; position:absolute; bottom:-10px; left:28%; width:16px; height:16px;
	background:#fff; border-right:2px solid #7CCBE2; border-bottom:2px solid #7CCBE2;
	transform:rotate(45deg);
}
.farmo-main .fm-ghb__trialbubble strong{ display:block; font-size:22px; }
.farmo-main .fm-ghb__trialfarmer{ width:100%; border-radius:26px; }
.farmo-main .fm-ghb__trialcap{
	margin:12px 0 0; text-align:right; letter-spacing:.06em;
	font-size:13.5px; font-weight:700; color:var(--fm-sky-text,#0090BE);
}
.farmo-main .fm-ghb__trialcap span{ display:block; margin-top:2px; font-size:11px; }

/* ============ タブレット ============ */
@media (max-width:900px){
	.farmo-main .fm-ghb__mtiles{ grid-template-columns:repeat(3,minmax(0,1fr)); }
	.farmo-main .fm-ghb__fpanel{ padding:26px 20px; }
	.farmo-main .fm-ghb__fpanel h4{ font-size:21px; }
	.farmo-main .fm-ghb__trialscene{ flex-basis:300px; }
}

/* ============ スマホ ============ */
@media (max-width:640px){
	.farmo-main .fm-ghb__mtiles{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
	.farmo-main .fm-ghb__mtile{ min-height:96px; }
	.farmo-main .fm-ghb__mttl{ font-size:20px; }
	.farmo-main .fm-ghb__fguide{ gap:12px; }
	.farmo-main .fm-ghb__fguide img{ width:60px; height:60px; }
	.farmo-main .fm-ghb__fttl{ font-size:19px; }
	.farmo-main .fm-ghb__fpanel{ padding:22px 16px; border-radius:18px; }
	.farmo-main .fm-ghb__fpanel h4{ font-size:19px; }
	.farmo-main .fm-ghb__fchoices{ gap:12px; }
	.farmo-main .fm-ghb__fchoices button{ padding:15px 8px; }
	.farmo-main .fm-ghb__fchoices b{ font-size:20px; }
	.farmo-main .fm-ghb__ftype{ font-size:34px; }
	.farmo-main .fm-ghb__fprice{ font-size:22px; }
	.farmo-main .fm-ghb__fcontrols button{ font-size:12.5px; }
	.farmo-main .fm-ghb__alltypes > summary{ padding:14px 18px; font-size:14px; }
	.farmo-main .fm-ghb__trialscene{ width:min(100%,340px); margin:6px auto 0; flex-basis:auto; }
	.farmo-main .fm-ghb__trialbubble strong{ font-size:20px; }
	.farmo-main .fm-ghb__trialcap{ text-align:center; }
}

@media (prefers-reduced-motion: reduce){
	.farmo-main .fm-ghb__fchoices button{ transition:none; }
}

/* r146b お試しセクションの左右バランス */
.farmo-main .fm-ghb__trialbd{ flex:1 1 auto; min-width:0; }
.farmo-main .fm-ghb__trialscene{ flex:0 1 310px; }
@media (max-width:900px){ .farmo-main .fm-ghb__trialscene{ flex-basis:270px; } }

/* r146c 見出しの中のマーカー span が flex アイテムになって
   別カラムに割れていたので、この2ページの見出しはブロック組みにする */
.farmo-main .fm-ghb .fm-solp__h,
.farmo-main .fm-ghc .fm-solp__h{ display:block; }
.farmo-main .fm-ghb .fm-solp__h::before,
.farmo-main .fm-ghc .fm-solp__h::before{
	display:inline-block; vertical-align:middle;
	margin-right:14px; position:relative; top:-.08em;
}
@media (max-width:820px){
	.farmo-main .fm-ghb .fm-solp__h::before,
	.farmo-main .fm-ghc .fm-solp__h::before{ margin-right:10px; }
}

/* r146d ボタンを並べた行は、WordPressの自動整形が入れる <br> を無効化 */
.farmo-main .fm-ghb__trialbtns br,
.farmo-main .fm-ghb__cloudbtns br,
.farmo-main .fm-ghb__fvbtn br,
.farmo-main .fm-ghc__fvbtns br,
.farmo-main .fm-ghc__trybtns br,
.farmo-main .fm-ghc__fvfacts br,
.farmo-main .fm-ghb .fm-actions br,
.farmo-main .fm-ghc .fm-actions br{ display:none; }


/* ============================================================
   r147  フッターを明るく・軽く／正式ロゴ（SVG）に差し替え
   ・濃紺ベタ塗りをやめ、ページ下部にやわらかく着地させる
   ・ロゴはヘッダー／フッター共通のインライン SVG（#00A0E9）
   ============================================================ */

/* ---- ロゴ ---- */
.farmo-logo-sprite{ position:absolute; width:0; height:0; overflow:hidden; }
.farmo-header .farmo-logo{ display:inline-flex; align-items:center; line-height:0; }
.farmo-header .farmo-logo__svg{ display:block; width:auto; height:30px; color:#00A0E9; }

/* ---- フッター全体 ---- */
.farmo-footer{
	position:relative;
	background:#F4FAFD;
	color:var(--fm-sub,#3A6578);
	border-top:1px solid #E1EDF4;
}
.farmo-footer::before{
	content:""; position:absolute; left:0; right:0; top:-1px; height:3px;
	background:linear-gradient(90deg,#35C1EE 0%,#00B0E4 48%,#76B82A 100%);
}
.farmo-footer__inner{ padding:56px 28px 26px; }

/* ---- ブランド ---- */
.farmo-footer__brand{ margin-bottom:34px; }
.farmo-footer__logo{ display:inline-block; line-height:0; text-decoration:none; }
.farmo-footer__logomark{ display:block; width:auto; height:34px; color:#00A0E9; }
.farmo-footer__tagline{
	margin:15px 0 0; font-size:15px; font-weight:700; line-height:1.7;
	color:var(--fm-sky-text,#0090BE);
}
.farmo-footer__sns{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.farmo-footer__sns a{
	display:inline-flex; align-items:center; gap:7px;
	padding:8px 15px 8px 13px; border-radius:999px;
	background:#fff; border:1px solid #DCEAF2;
	color:var(--fm-sub,#3A6578); text-decoration:none;
	font-size:12.5px; font-weight:700; line-height:1;
	transition:color .18s ease, border-color .18s ease;
}
.farmo-footer__sns a:hover{ color:var(--fm-sky-text,#0090BE); border-color:#9FD8EC; }
.farmo-footer__sns svg{ width:17px; height:17px; flex:0 0 auto; }

/* ---- リンク列 ---- */
.farmo-footer__cols{ margin:0 0 32px; gap:28px 24px; }
.farmo-footer__cols h4{
	margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.06em;
	color:var(--fm-ink,#0D2B3E);
}
.farmo-footer__cols h4.farmo-footer__h4--gap{ margin-top:26px; }
.farmo-footer__cols a{
	display:block; padding:5px 0; font-size:13.5px; line-height:1.7;
	color:var(--fm-sub,#3A6578); text-decoration:none;
}
.farmo-footer__cols a:hover{
	color:var(--fm-sky-text,#0090BE);
	text-decoration:underline; text-underline-offset:3px;
}

/* ---- 法務行 ---- */
.farmo-footer__legal{
	border-top:1px solid #E1EDF4; padding-top:18px;
	gap:10px 18px; font-size:12.5px; color:var(--fm-mute,#6C8FA0);
}
.farmo-footer__legal a{ color:var(--fm-mute,#6C8FA0); text-decoration:none; }
.farmo-footer__legal a:hover{
	color:var(--fm-sky-text,#0090BE);
	text-decoration:underline; text-underline-offset:3px;
}
.farmo-footer__copy{ margin-left:auto; color:var(--fm-mute,#6C8FA0); font-variant-numeric:tabular-nums; }

@media (max-width:820px){
	.farmo-footer__inner{ padding:42px 20px 22px; }
	.farmo-footer__logomark{ height:30px; }
	.farmo-footer__tagline{ font-size:14px; }
	.farmo-footer__copy{ margin-left:0; }
}
@media (max-width:640px){
	.farmo-header .farmo-logo__svg{ height:26px; }
	.farmo-footer__sns a{ padding:7px 13px 7px 11px; font-size:12px; }
	.farmo-footer__sns svg{ width:15px; height:15px; }
}


/* ============================================================
   r148  お知らせ（news）一覧・記事ページを新デザインのトーンに合わせる
   ・親テーマ（TCD）の2カラム／サムネイル主体のレイアウトを上書き
   ============================================================ */
body.post-type-archive-news .l-main,
body.single-news .l-main{ background:#fff; }

/* ---- ページ見出し帯 ---- */
body.post-type-archive-news .p-page-header,
body.single-news .p-page-header{
	margin:0; padding:44px 0 40px;
	background:var(--fm-soft,#F5FAFD);
	border-bottom:1px solid var(--fm-line,#E7EFF3);
}
body.post-type-archive-news .p-page-header__inner,
body.single-news .p-page-header__inner{ max-width:1100px; padding:0 24px; }
body.post-type-archive-news .p-page-header__title,
body.single-news .p-page-header__title{
	margin:0; font-size:29px; font-weight:700; line-height:1.5;
	color:var(--fm-ink,#0D2B3E);
}

/* ---- パンくず ---- */
body.post-type-archive-news .p-breadcrumb,
body.single-news .p-breadcrumb{ background:transparent; border:0; }
body.post-type-archive-news .c-breadcrumb__inner,
body.single-news .c-breadcrumb__inner{ max-width:1100px; padding:16px 24px 0; font-size:12px; }
body.post-type-archive-news .c-breadcrumb__item,
body.post-type-archive-news .c-breadcrumb__item a,
body.single-news .c-breadcrumb__item,
body.single-news .c-breadcrumb__item a{ color:var(--fm-mute,#6C8FA0); }

/* ---- 1カラム化 ---- */
body.post-type-archive-news .l-2columns,
body.single-news .l-2columns{ display:block; max-width:900px; margin:0 auto; padding:0 24px; }
body.post-type-archive-news .l-secondary,
body.single-news .l-secondary{ display:none; }
body.post-type-archive-news .l-primary,
body.single-news .l-primary{ float:none; width:auto; max-width:none; margin:0; }

/* ---- 一覧 ---- */
body.post-type-archive-news .p-archive-news{ margin:32px 0 0; border-top:1px solid var(--fm-line,#E7EFF3); }
body.post-type-archive-news .p-archive-news__item{ margin:0; border-bottom:1px solid var(--fm-line,#E7EFF3); }
body.post-type-archive-news .p-archive-news__item > a{
	display:block; padding:19px 10px; text-decoration:none; border-radius:10px;
	transition:background .18s ease;
}
body.post-type-archive-news .p-archive-news__item > a:hover{ background:var(--fm-soft,#F5FAFD); }
body.post-type-archive-news .p-archive-news__item-thumbnail{ display:none; }
body.post-type-archive-news .p-archive-news__item-info{
	display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 22px;
}
body.post-type-archive-news .p-archive-news__item-meta{ margin:0; flex:0 0 auto; }
body.post-type-archive-news .p-archive-news__item-date{
	font-size:13px; font-weight:700; letter-spacing:.04em;
	color:var(--fm-sky-text,#0090BE); font-variant-numeric:tabular-nums;
}
body.post-type-archive-news .p-archive-news__item-title{
	flex:1 1 340px; margin:0; font-size:15.5px; font-weight:500; line-height:1.85;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
body.post-type-archive-news .p-archive-news__item > a:hover .p-archive-news__item-title{ color:var(--fm-sky-text,#0090BE); }

/* ---- ページャー ---- */
body.post-type-archive-news .p-pager{
	display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:34px 0 64px; padding:0; list-style:none;
}
body.post-type-archive-news .p-pager__item{ margin:0; }
body.post-type-archive-news .p-pager .page-numbers{
	display:inline-flex; align-items:center; justify-content:center;
	min-width:38px; height:38px; padding:0 12px; border-radius:10px;
	border:1px solid var(--fm-line,#E7EFF3); background:#fff;
	color:var(--fm-sub,#3A6578); font-size:13.5px; font-weight:700; text-decoration:none;
}
body.post-type-archive-news .p-pager .page-numbers:hover{ border-color:#9FD8EC; color:var(--fm-sky-text,#0090BE); }
body.post-type-archive-news .p-pager .page-numbers.current{
	background:var(--fm-sky-text,#0090BE); border-color:var(--fm-sky-text,#0090BE); color:#fff;
}

/* ---- 記事ページ ---- */
body.single-news .p-entry__inner{ padding:0; }
body.single-news .p-entry__thumbnail img{ display:none; }
body.single-news .p-entry__meta-top{ margin:32px 0 0; padding:0; list-style:none; }
body.single-news .p-entry__meta-top--date time{
	font-size:13px; font-weight:700; letter-spacing:.04em;
	color:var(--fm-sky-text,#0090BE); font-variant-numeric:tabular-nums;
}
body.single-news .p-entry__title{
	margin:10px 0 22px; font-size:27px; font-weight:700; line-height:1.6;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
body.single-news .p-entry__inner > .p-entry__share:first-of-type{ display:none; }
body.single-news .p-entry__body{
	font-size:15.5px; line-height:2.05; color:var(--fm-sub,#3A6578);
	padding-top:22px; border-top:1px solid var(--fm-line,#E7EFF3);
}
body.single-news .p-entry__body a{ color:var(--fm-sky-text,#0090BE); }
body.single-news .p-entry__nav{ margin-top:40px; }
body.single-news .p-entry__recent-news{ margin-top:56px; margin-bottom:64px; }
body.single-news .p-entry__recent-news .p-headline{
	font-size:19px; font-weight:700; color:var(--fm-ink,#0D2B3E);
}

@media (max-width:820px){
	body.post-type-archive-news .p-page-header,
	body.single-news .p-page-header{ padding:32px 0 28px; }
	body.post-type-archive-news .p-page-header__title,
	body.single-news .p-page-header__title{ font-size:23px; }
	body.post-type-archive-news .l-2columns,
	body.single-news .l-2columns{ padding:0 18px; }
	body.post-type-archive-news .p-archive-news__item > a{ padding:16px 6px; }
	body.post-type-archive-news .p-archive-news__item-title{ font-size:15px; }
	body.single-news .p-entry__title{ font-size:21px; }
}

/* r148b  親テーマの高さ・余白指定を打ち消す */
body.post-type-archive-news .p-archive-news__item{ border:0; border-bottom:1px solid var(--fm-line,#E7EFF3); }
body.post-type-archive-news .p-archive-news__item > a{ min-height:0; height:auto; }
body.post-type-archive-news .p-archive-news__item-info{ padding:0; }
body.post-type-archive-news .p-archive-news__item-thumbnail,
body.post-type-archive-news .p-archive-news__item-thumbnail__inner{ display:none; width:0; height:0; padding:0; margin:0; }

/* r148c  見出し・パンくず・本文の左端をそろえる */
body.post-type-archive-news .p-page-header__inner,
body.single-news .p-page-header__inner,
body.post-type-archive-news .c-breadcrumb__inner,
body.single-news .c-breadcrumb__inner{ max-width:900px; }

/* r148d  記事ページ：アイキャッチ前提の枠・絶対配置を解除 */
body.single-news .p-entry__inner{ border:0; }
body.single-news .p-entry__thumbnail{ position:static; margin:0; height:auto; }
body.single-news .p-entry__meta-top{ position:static; margin:34px 0 0; padding:0; background:transparent; }
body.single-news .c-share{ display:none; }

/* r148e  記事下「最近のお知らせ」と前後ナビ */
body.single-news .p-entry__recent-news .p-headline{
	display:flex; align-items:baseline; justify-content:space-between; gap:14px;
	margin:0 0 6px; padding:0 2px 14px; background:none; border:0;
	border-bottom:2px solid var(--fm-sky-line,#35C1EE);
	font-size:18px; font-weight:700; color:var(--fm-ink,#0D2B3E);
}
body.single-news .p-entry__recent-news .p-headline__link{
	position:static; padding:0; background:none; border:0;
	font-size:13px; font-weight:700; color:var(--fm-sky-text,#0090BE); text-decoration:none;
}
body.single-news .p-entry__recent-news .p-headline__link:hover{ text-decoration:underline; text-underline-offset:3px; }
body.single-news .p-entry__recent-news .p-archive-news{ border:0; margin:0; }
body.single-news .p-entry__recent-news .p-archive-news__item{
	margin:0; border:0; border-bottom:1px solid var(--fm-line,#E7EFF3);
}
body.single-news .p-entry__recent-news .p-archive-news__item > a{
	display:block; min-height:0; height:auto; padding:16px 8px; border:0;
	text-decoration:none; border-radius:10px; transition:background .18s ease;
}
body.single-news .p-entry__recent-news .p-archive-news__item > a:hover{ background:var(--fm-soft,#F5FAFD); }
body.single-news .p-entry__recent-news .p-archive-news__item-thumbnail{ display:none; }
body.single-news .p-entry__recent-news .p-archive-news__item-info{
	display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 20px; padding:0;
}
body.single-news .p-entry__recent-news .p-archive-news__item-meta{ margin:0; flex:0 0 auto; }
body.single-news .p-entry__recent-news .p-archive-news__item-date{
	font-size:12.5px; font-weight:700; letter-spacing:.04em;
	color:var(--fm-sky-text,#0090BE); font-variant-numeric:tabular-nums;
}
body.single-news .p-entry__recent-news .p-archive-news__item-title{
	flex:1 1 320px; margin:0; font-size:14.5px; font-weight:500; line-height:1.8;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
body.single-news .c-entry-nav{
	display:flex; gap:14px; margin:44px 0 0; padding:0; list-style:none;
	border:0;
}
body.single-news .c-entry-nav__item{
	flex:1 1 0; margin:0; border:0; background:none;
}
body.single-news .c-entry-nav__item a{
	display:block; padding:16px 18px; border:1px solid var(--fm-line,#E7EFF3); border-radius:14px;
	background:#fff; color:var(--fm-sub,#3A6578); font-size:13.5px; line-height:1.75;
	text-decoration:none; word-break:auto-phrase;
}
body.single-news .c-entry-nav__item a:hover{ border-color:#9FD8EC; color:var(--fm-sky-text,#0090BE); }
body.single-news .c-entry-nav__item a::before{
	display:block; margin-bottom:6px; font-size:11.5px; font-weight:700; letter-spacing:.08em;
	color:var(--fm-mute,#6C8FA0);
}
body.single-news .c-entry-nav__item--prev a::before{ content:"← 前のお知らせ"; }
body.single-news .c-entry-nav__item--next{ text-align:right; }
body.single-news .c-entry-nav__item--next a::before{ content:"次のお知らせ →"; }
@media (max-width:640px){
	body.single-news .c-entry-nav{ flex-direction:column; }
	body.single-news .c-entry-nav__item--next{ text-align:left; }
}

/* r148f  前後ナビのラベルは親テーマの絶対配置を解除して通常の行にする */
body.single-news .c-entry-nav__item a::before{
	position:static; inset:auto; width:auto; height:auto; white-space:nowrap; overflow:visible;
}

/* ============================================================
   r149  地域DX 立場別ページ（/regional-dx/配下）
   既存の .fm-pmerits / .fm-guide__grid を流用し、差分だけ足す
   ============================================================ */
.farmo-main .fm-rdt .fm-pmerit{ align-content:start; }
.farmo-main .fm-rdt__c{
	margin:0 0 8px !important;
	font-size:13.5px; font-weight:700; line-height:1.8;
	color:var(--fm-sky-text,#0090BE); word-break:auto-phrase;
}
.farmo-main .fm-rdt .fm-pmerit p{ word-break:auto-phrase; }
.farmo-main .fm-rdt__go{ margin-top:12px !important; }
.farmo-main .fm-rdt__go .fm-navlink{ display:inline-flex; align-items:center; gap:7px; }

.farmo-main .fm-rdlinks{ margin-top:4px; }
@media (max-width:820px){
	.farmo-main .fm-rdlinks{ grid-template-columns:1fr; }
}

/* r149b  取り組みカード：スマホで本文の幅を確保する */
@media (max-width:640px){
	.farmo-main .fm-rdt .fm-pmerit{ grid-template-columns:44px 1fr; gap:14px; padding:20px 18px; }
	.farmo-main .fm-rdt .fm-pmerit__ic{ width:44px; height:44px; }
}


/* ============================================================
   r150  規約・法務・API仕様まわりの旧デザインページをトーンに寄せる
   対象: 特定商取引法(4615)／プライバシーポリシー(3)／アプリ利用規約(14640)
         返品・キャンセル(7116)／API仕様書(13090)／製品ID追加(13588)
   親テーマ（TCD）のテンプレートをCSSだけで新デザインに合わせる
   ============================================================ */
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .l-main{ background:#fff; }

/* ---- ページ見出し帯 ---- */
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-page-header{
	margin:0; padding:44px 0 40px;
	background:var(--fm-soft,#F5FAFD);
	border-bottom:1px solid var(--fm-line,#E7EFF3);
}
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-page-header__inner{ max-width:900px; padding:0 24px; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-page-header__title{
	margin:0; font-size:29px; font-weight:700; line-height:1.5;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}

/* ---- パンくず ---- */
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-breadcrumb{ background:transparent; border:0; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .c-breadcrumb__inner{ max-width:900px; padding:16px 24px 0; font-size:12px; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .c-breadcrumb__item,
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .c-breadcrumb__item a{ color:var(--fm-mute,#6C8FA0); }

/* ---- 本文の器 ---- */
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry{ max-width:900px; margin:0 auto; padding:0 24px 72px; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__inner{ border:0; padding:0; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body{
	margin-top:30px;
	font-size:15.5px; line-height:2.05; color:var(--fm-sub,#3A6578);
	word-break:auto-phrase;
}
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body > *:first-child{ margin-top:0; }

/* ---- 見出し ---- */
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h2{
	margin:46px 0 16px; padding:2px 0 2px 14px;
	border-left:4px solid var(--fm-sky-line,#35C1EE);
	font-size:20px; font-weight:700; line-height:1.6;
	color:var(--fm-ink,#0D2B3E);
}
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h3{
	margin:34px 0 12px; font-size:16.5px; font-weight:700; line-height:1.7;
	color:var(--fm-ink,#0D2B3E);
}
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h4{ margin:26px 0 10px; font-size:15px; font-weight:700; color:var(--fm-ink,#0D2B3E); }

/* ---- 本文要素 ---- */
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body p{ margin:0 0 1.4em; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body ul,
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body ol{ margin:0 0 1.6em; padding-left:1.6em; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body li{ margin:0 0 .5em; line-height:1.95; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body strong{ color:var(--fm-ink,#0D2B3E); font-weight:700; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body a{
	color:var(--fm-sky-text,#0090BE);
	text-decoration:underline; text-underline-offset:3px;
}
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body pre{
	background:var(--fm-soft,#F5FAFD); border:1px solid var(--fm-line,#E7EFF3);
	border-radius:12px; padding:14px 16px; overflow-x:auto;
	font-size:13px; line-height:1.85; color:var(--fm-ink,#0D2B3E);
}

/* ---- 表 ---- */
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body table{
	width:100%; border-collapse:collapse; margin:0 0 1.8em;
	font-size:14.5px; background:#fff;
}
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body th,
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body td{
	border:1px solid var(--fm-line,#E7EFF3); padding:12px 14px;
	line-height:1.85; vertical-align:top; text-align:left;
	color:var(--fm-sub,#3A6578); font-weight:400;
}
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body th{
	background:var(--fm-tint,#E6F5FC); color:var(--fm-ink,#0D2B3E); font-weight:700;
}
body.page-id-4615 .p-entry__body td:first-child{
	width:210px; background:var(--fm-soft,#F5FAFD);
	color:var(--fm-ink,#0D2B3E); font-weight:700;
}

/* ---- 製品ID追加フォーム（13588） ---- */
body.page-id-13588 .p-entry__body input[type=text],
body.page-id-13588 .p-entry__body input[type=email],
body.page-id-13588 .p-entry__body input[type=tel],
body.page-id-13588 .p-entry__body textarea{
	width:100%; max-width:100%; padding:11px 13px;
	border:1px solid #D6E4EC; border-radius:10px; background:#fff;
	font:inherit; font-size:15px; color:var(--fm-ink,#0D2B3E);
}
body.page-id-13588 .p-entry__body input:focus,
body.page-id-13588 .p-entry__body textarea:focus{
	outline:2px solid var(--fm-sky,#00B0E4); outline-offset:1px; border-color:transparent;
}
body.page-id-13588 .p-entry__body input[type=submit]{
	width:auto; padding:14px 34px; border:0; border-radius:999px; cursor:pointer;
	background:var(--fm-sky,#00B0E4); color:#fff; font-weight:700; font-size:15px;
}
body.page-id-13588 .p-entry__body input[type=submit]:hover{ background:var(--fm-sky-dark,#008BBF); }

/* ============ スマホ ============ */
@media (max-width:820px){
	body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-page-header{ padding:32px 0 28px; }
	body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-page-header__title{ font-size:23px; }
	body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry{ padding:0 18px 56px; }
	body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .c-breadcrumb__inner{ padding:14px 18px 0; }
	body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h2{ font-size:18px; margin-top:38px; }
	body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h3{ font-size:15.5px; }
}
@media (max-width:640px){
	body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body table{ display:block; overflow-x:auto; }
	body.page-id-4615 .p-entry__body td:first-child{ width:auto; min-width:118px; }
}

/* r150b  本文側の中央寄せ見出し・インライン文字サイズを打ち消す */
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h2.has-text-align-center,
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h3.has-text-align-center{ border-left:0; padding-left:0; text-align:center; }
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h2 .sme-font-size,
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body h3 .sme-font-size,
body:is(.page-id-4615,.page-id-3,.page-id-14640,.page-id-7116,.page-id-13090,.page-id-13588) .p-entry__body p .sme-font-size{ font-size:inherit !important; }

/* ============================================================
   r151  HOME仕上げ
   ・Pick UP を縦型カードに（写真を大きく見せる）
   ・ページ末尾に締めのご案内 .fm-close を追加
   ============================================================ */

/* ---- Pick UP ---- */
.farmo-main .fm-bnrow{ padding:54px 0 58px; }
.farmo-main .fm-bnrow__head{ margin-bottom:26px; }
.farmo-main .fm-bnrow__grid{ gap:22px; }
.farmo-main .fm-bnr{
	position:relative; flex-direction:column; align-items:stretch;
	background:#fff; border:1px solid var(--fm-line,#E7EFF3); border-radius:16px;
}
.farmo-main .fm-bnr:hover{ box-shadow:0 10px 26px rgba(13,43,62,.08); }
.farmo-main .fm-bnr__media{
	flex:none; width:100%; aspect-ratio:16/10; border-radius:0;
}
.farmo-main .fm-bnr__body{
	flex:1; display:flex; flex-direction:column; gap:7px;
	padding:17px 20px 44px; justify-content:flex-start;
}
.farmo-main .fm-bnr__label{
	align-self:flex-start; display:inline-block;
	padding:4px 11px; border-radius:999px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE);
	font-size:11.5px; font-weight:700; line-height:1.5; letter-spacing:.02em;
}
.farmo-main .fm-bnr__ttl{
	display:block; font-size:17px; font-weight:700; line-height:1.65;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-bnr__name{
	display:block; margin-top:auto; padding-top:6px;
	font-size:12.5px; font-weight:700; color:var(--fm-mute,#6C8FA0);
}
.farmo-main .fm-bnr__arw{
	position:absolute; right:18px; bottom:15px; line-height:0;
	color:var(--fm-sky-text,#0090BE);
}

/* ---- 締めのご案内 ---- */
.farmo-main .fm-close{ padding:72px 0 78px; background:#fff; }
.farmo-main .fm-close__t{
	margin:0; text-align:center; font-size:clamp(23px,2.4vw,31px); font-weight:700;
	line-height:1.55; color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-close__t span{ color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-close__d{
	margin:14px 0 30px; text-align:center; font-size:15px; line-height:1.95;
	color:var(--fm-sub,#3A6578); word-break:auto-phrase;
}
.farmo-main .fm-close__cards{
	display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
	max-width:960px; margin:0 auto;
}
.farmo-main a.fm-close__c{
	display:grid; grid-template-columns:52px minmax(0,1fr) 24px;
	align-items:center; gap:6px 16px;
	padding:20px; border-radius:16px;
	background:var(--fm-soft,#F5FAFD); border:1px solid var(--fm-line-soft,#EAF2F7);
	text-decoration:none; color:inherit;
	transition:border-color .18s, box-shadow .18s, background .18s;
}
.farmo-main a.fm-close__c:hover{
	background:#fff; border-color:var(--fm-sky-line,#35C1EE);
	box-shadow:0 8px 22px rgba(13,43,62,.06);
}
.farmo-main .fm-close__ic{ grid-row:1 / span 2; display:flex; align-items:center; justify-content:center; }
.farmo-main .fm-close__ic svg{ width:44px; height:44px; display:block; }
.farmo-main .fm-close__b{ min-width:0; }
.farmo-main .fm-close__n{
	display:block; font-size:15px; font-weight:700; line-height:1.6;
	color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-close__x{
	display:block; margin-top:3px; font-size:12.5px; line-height:1.7;
	color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-close__a{ line-height:0; color:var(--fm-sky-text,#0090BE); }

@media (max-width:820px){
	.farmo-main .fm-bnrow{ padding:40px 0 44px; }
	.farmo-main .fm-close{ padding:52px 0 56px; }
	.farmo-main .fm-close__cards{ grid-template-columns:1fr; gap:12px; }
	.farmo-main .fm-close__d{ margin-bottom:24px; font-size:14px; }
}

/* r151b  締めのカードは アイコン上・本文は全幅 に */
.farmo-main a.fm-close__c{ display:block; position:relative; padding:20px 46px 20px 20px; }
.farmo-main .fm-close__ic{ display:block; margin:0 0 12px; }
.farmo-main .fm-close__ic svg{ width:42px; height:42px; }
.farmo-main .fm-close__n{ font-size:15.5px; word-break:auto-phrase; }
.farmo-main .fm-close__x{ margin-top:5px; word-break:auto-phrase; }
.farmo-main .fm-close__a{ position:absolute; right:18px; bottom:18px; }
@media (max-width:820px){
	.farmo-main a.fm-close__c{ padding:18px 44px 18px 18px; }
	.farmo-main .fm-close__ic{ margin-bottom:9px; }
}

/* r151c  HOMEのセクション余白を 88 / 72 / 48 / 24 の4段階に整える */
.farmo-main .fm-sec.fm-sollist{ padding-bottom:48px; }
.farmo-main .fm-sollist + .fm-bnrow{ padding-top:24px; padding-bottom:88px; border-bottom:0; }
.farmo-main .fm-sec.fm-region{ padding-top:88px; padding-bottom:88px; }
.farmo-main .fm-close{ padding:76px 0 84px; }
@media (max-width:820px){
	.farmo-main .fm-sec.fm-sollist{ padding-bottom:36px; }
	.farmo-main .fm-sollist + .fm-bnrow{ padding-top:18px; padding-bottom:56px; }
	.farmo-main .fm-sec.fm-region{ padding-top:56px; padding-bottom:56px; }
	.farmo-main .fm-close{ padding:52px 0 58px; }
}

/* ============================================================
   r152  施設園芸ページのファーストビューを全幅の写真ヒーローに
   ・いちごハウスの写真を画面いっぱいに敷き、左に白を重ねて文字を載せる
   ・アプリ画面のスマホを大きく見せる
   ============================================================ */
.farmo-main .fm-ghb__fv--wide{
	position:relative; isolation:isolate; overflow:hidden;
	display:flex; align-items:center;
	width:100vw; max-width:100vw;
	margin:0 calc(50% - 50vw);
	padding:0; border-radius:0; min-height:0;
	background:#E9F4FA;
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvmedia{ position:absolute; inset:0; z-index:0; }
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvph{
	display:block; width:100%; height:100%;
	object-fit:cover; object-position:68% 50%;
}
.farmo-main .fm-ghb__fv--wide::after{
	content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
	background:linear-gradient(100deg,
		#FFFFFF 0%,
		rgba(255,255,255,.97) 23%,
		rgba(255,255,255,.86) 37%,
		rgba(255,255,255,.44) 52%,
		rgba(255,255,255,0) 67%);
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvin{
	position:relative; z-index:3;
	width:min(1160px, 100% - 56px); margin:0 auto;
	display:flex; align-items:center; gap:clamp(18px,3vw,46px);
	padding:clamp(54px,6vw,84px) 0 clamp(58px,6.4vw,88px);
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvbody{
	position:static; width:auto; flex:1 1 auto; max-width:560px;
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__h1{
	font-size:clamp(31px,3.5vw,48px); line-height:1.42;
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__lead{ margin-bottom:28px; }
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone{
	position:static; z-index:3; flex:0 0 auto; margin:0;
	width:clamp(186px,15.5vw,248px); text-align:center;
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone img{
	width:100%; height:auto; border-radius:18px;
	filter:drop-shadow(0 16px 32px rgba(13,43,62,.22));
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone span{
	position:static; display:inline-block; margin:16px 0 0;
	padding:7px 16px; border-radius:999px; white-space:nowrap;
	background:#fff; border:1px solid #CFE6F1; box-shadow:0 6px 16px rgba(13,43,62,.10);
	font-size:12.5px; font-weight:700; line-height:1.5; color:var(--fm-sky-text,#0090BE);
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvlabel{
	position:absolute; z-index:4; margin:0;
	right:clamp(18px,4vw,60px); bottom:clamp(18px,3vw,34px);
	padding:9px 18px; border-radius:999px;
	background:rgba(255,255,255,.93); border:1px solid #CFE6F1;
	box-shadow:0 6px 18px rgba(13,43,62,.10);
	font-size:13px; font-weight:700; line-height:1.5;
	color:var(--fm-sky-text,#0090BE);
}
@media (max-width:1100px){
	.farmo-main .fm-ghb__fv--wide::after{
		background:linear-gradient(100deg,
			#FFFFFF 0%, rgba(255,255,255,.97) 30%, rgba(255,255,255,.84) 46%,
			rgba(255,255,255,.40) 62%, rgba(255,255,255,0) 78%);
	}
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone{ width:clamp(168px,17vw,206px); }
}
@media (max-width:900px){
	.farmo-main .fm-ghb__fv--wide{ display:block; background:#fff; }
	.farmo-main .fm-ghb__fv--wide::after{ display:none; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvmedia{
		position:relative; inset:auto; height:min(48vw,212px);
	}
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvph{ object-position:70% 48%; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvmedia::after{
		content:""; position:absolute; left:0; right:0; bottom:-1px; height:42%;
		background:linear-gradient(180deg, rgba(255,255,255,0), #FFFFFF 92%);
	}
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvin{
		flex-direction:column; align-items:stretch; gap:26px;
		width:min(100%, 100% - 40px);
		padding:6px 0 38px;
	}
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvbody{ max-width:none; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__h1{ font-size:clamp(27px,7.4vw,36px); }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone{ width:min(208px,52vw); align-self:center; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvlabel{
		position:static; display:block; width:max-content; max-width:100%;
		margin:0 auto 30px; background:#fff;
	}
}
@media (max-width:520px){
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvmedia{ height:min(52vw,190px); }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvin{ width:min(100%, 100% - 34px); }
}

/* r152b  旧FVの位置指定（top/width）を打ち消す */
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvlabel{
	top:auto; left:auto; width:auto; height:auto; max-width:min(320px,42vw);
	text-align:center; writing-mode:horizontal-tb;
}
@media (max-width:900px){
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvlabel{ right:auto; bottom:auto; max-width:100%; }
}

/* r152c  スマホのファーストビューを詰める */
@media (max-width:900px){
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvmedia{ height:min(52vw,228px); }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvin{ gap:22px; padding:10px 0 32px; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__lead{ margin-bottom:22px; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone{ width:min(192px,48vw); }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone span{ margin-top:13px; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvlabel{
		width:max-content; max-width:calc(100% - 34px); margin:0 auto 26px;
		font-size:12.5px; padding:8px 16px;
	}
}
@media (max-width:520px){
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvmedia{ height:min(56vw,205px); }
}

/* ============================================================
   r153  見出しを2種類に分ける
   ・メッセージ（お客様への呼びかけ・キャッチコピー）= ○なし・言葉中心
     → .fm-solp__h--msg（中央寄せにするときは --c と併用）
   ・タイトル（説明コンテンツの始まり）= ○つき（従来どおりの .fm-solp__h）
   ============================================================ */
.farmo-main .fm-solp__h--msg{
	display:block;
	margin:0 0 20px;
	font-size:clamp(24px,2.7vw,35px);
	font-weight:600;
	line-height:1.52;
	letter-spacing:.012em;
	color:var(--fm-ink,#0D2B3E);
	text-wrap:balance; word-break:auto-phrase;
}
.farmo-main .fm-solp__h--msg::before{ content:none; display:none; }
.farmo-main .fm-solp__h--msg span{ color:var(--fm-sky-text,#0090BE); }
@media (max-width:640px){
	.farmo-main .fm-solp__h--msg{ margin-bottom:16px; line-height:1.55; }
}

/* ============================================================
   r154  施設園芸ページ：ファーストビュー直下の「もうひとつの安心。」
   ・ファーストビューとの間に余白を取る
   ・3つの項目をイラスト付きのカードで見せる
   ============================================================ */
.farmo-main .fm-ghb__promise{
	display:block; margin:82px 0 68px; padding:0;
	background:none; border:0; border-radius:0; text-align:center;
}
.farmo-main .fm-ghb__promiselead{
	margin:0 0 30px; font-size:14.5px; line-height:1.9; color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-ghb__promiselead strong{
	display:block; margin-top:8px;
	font-size:clamp(23px,2.5vw,31px); font-weight:600; line-height:1.5;
	color:var(--fm-ink,#0D2B3E); letter-spacing:.012em;
}
.farmo-main .fm-ghb__promiselist{
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
	margin:0; padding:0; list-style:none;
}
.farmo-main .fm-ghb__promiselist li{
	display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:14px;
	min-width:0; padding:30px 20px 26px; border-radius:18px;
	background:var(--fm-soft,#F5FAFD); border:1px solid var(--fm-line-soft,#EAF2F7);
	font-size:15px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E);
	text-align:center; word-break:auto-phrase;
}
.farmo-main .fm-ghb__promiselist li::before{ content:none; display:none; }
.farmo-main .fm-ghb__promiseic{ display:block; flex:0 0 auto; width:88px; height:88px; }
.farmo-main .fm-ghb__promiseic svg{ display:block; width:100%; height:100%; }

@media (max-width:900px){
	.farmo-main .fm-ghb__promise{ margin:56px 0 52px; }
	.farmo-main .fm-ghb__promiselist{ grid-template-columns:1fr; gap:12px; }
	.farmo-main .fm-ghb__promiselist li{
		flex-direction:row; align-items:center; gap:16px;
		padding:16px 20px; text-align:left; font-size:14.5px;
	}
	.farmo-main .fm-ghb__promiseic{ width:58px; height:58px; }
}
@media (max-width:520px){
	.farmo-main .fm-ghb__promise{ margin:44px 0 44px; }
	.farmo-main .fm-ghb__promiselead{ margin-bottom:22px; }
}

/* ============================================================
   r155  背景色を付けるセクションは画面幅で敷く（サイト共通）
   .fm-fullbg を付けると ::before が画面いっぱいに背景を敷き、
   中身は .fm-solp（1040px）のまま。色は --fm-fullbg で差し替える
   ============================================================ */
.farmo-main .fm-fullbg{ position:relative; border-radius:0; background:none; }
.farmo-main .fm-fullbg::before{
	content:""; position:absolute; z-index:0; pointer-events:none;
	top:0; bottom:0; left:50%; width:100vw; transform:translateX(-50%);
	background:var(--fm-fullbg, var(--fm-band,#EAF6FC));
}
.farmo-main .fm-fullbg > *{ position:relative; z-index:1; }

/* ---- 「様子がわかると、次にすることが見えてくる。」 ---- */
.farmo-main .fm-ghb__change{
	--fm-fullbg:linear-gradient(135deg,#E9F5FB,#F2FAEF);
	padding:64px 0 68px; margin-bottom:64px;
}
.farmo-main .fm-ghb__change .fm-solp__h{ margin-bottom:0; }

/* 01・02・03 は3枚のカード */
.farmo-main .fm-ghb__steps{
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
	margin:38px 0 0;
}
.farmo-main .fm-ghb__step{
	display:block; min-width:0;
	padding:26px 24px 26px; border:0; border-bottom:0;
	border-radius:18px; background:#fff;
	box-shadow:0 6px 16px rgba(13,43,62,.05);
}
.farmo-main .fm-ghb__step:first-child{ padding-top:26px; }
.farmo-main .fm-ghb__stephead{
	display:flex; align-items:center; gap:11px; margin:0 0 14px;
}
.farmo-main .fm-ghb__stepno{
	grid-row:auto; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
	width:40px; height:40px; margin:0; border-radius:13px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE);
	font-size:16px; font-weight:700; letter-spacing:.02em;
}
.farmo-main .fm-ghb__stepword{
	grid-row:auto; margin:0; text-align:left;
	font-size:13.5px; font-weight:700; color:#2F7A4E;
}
.farmo-main .fm-ghb__stepttl{
	grid-column:auto; grid-row:auto; margin:0 0 8px;
	font-size:17px; font-weight:600; line-height:1.6;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-ghb__steptxt{
	grid-column:auto; grid-row:auto; margin:0;
	font-size:13.5px; line-height:1.95; color:var(--fm-sub,#3A6578);
	word-break:auto-phrase;
}

/* スマホ画面と「変わる」をひとつのカードに */
.farmo-main .fm-ghb__outcome{
	display:grid; grid-template-columns:minmax(0,260px) minmax(0,1fr);
	gap:34px; align-items:center;
	margin:18px 0 0; padding:30px 34px;
	border-radius:22px; background:#fff;
	box-shadow:0 6px 16px rgba(13,43,62,.05);
}
.farmo-main .fm-ghb__outcome .fm-ghb__stage{
	padding:0; border-radius:0; background:none; text-align:center;
}
.farmo-main .fm-ghb__outcome .fm-ghb__stage img{
	width:min(178px,100%); margin:0 auto 14px; border-radius:14px;
	filter:drop-shadow(0 10px 22px rgba(13,43,62,.14));
}
.farmo-main .fm-ghb__stagecap{
	margin:0; font-size:12.5px; line-height:1.75; color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-ghb__stagecap small{ font-size:11.5px; color:var(--fm-mute,#6C8FA0); }
.farmo-main .fm-ghb__outcome .fm-ghb__result{
	margin:0; padding:0; border-radius:0; background:none; border:0;
}
.farmo-main .fm-ghb__resultword{
	display:inline-block; margin:0 0 14px; padding:5px 14px; border-radius:999px;
	background:#E8F4D8; color:#2F7A4E; font-size:12.5px; font-weight:700; line-height:1.5;
}
.farmo-main .fm-ghb__result strong{
	display:block; margin:0 0 12px;
	font-size:clamp(19px,1.9vw,24px); font-weight:600; line-height:1.6;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-ghb__result p{
	margin:0; font-size:14px; line-height:1.95; color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-ghb__result > p:empty,
.farmo-main .fm-ghb__step > p:empty{ display:none; }

@media (max-width:900px){
	.farmo-main .fm-ghb__change{ padding:48px 0 52px; margin-bottom:48px; }
	.farmo-main .fm-ghb__steps{ grid-template-columns:1fr; gap:12px; margin-top:28px; }
	.farmo-main .fm-ghb__step{ padding:20px 20px 22px; }
	.farmo-main .fm-ghb__stepttl{ font-size:16px; }
	.farmo-main .fm-ghb__outcome{
		grid-template-columns:1fr; gap:22px; padding:24px 22px; text-align:center;
	}
	.farmo-main .fm-ghb__outcome .fm-ghb__stage img{ width:min(160px,44%); }
	.farmo-main .fm-ghb__result strong{ font-size:19px; }
}

/* r155b  スマホと「変わる」のカードのバランスを整える */
.farmo-main .fm-ghb__outcome{
	grid-template-columns:minmax(0,232px) minmax(0,1fr);
	gap:32px; padding:26px 32px; margin-top:20px;
}
.farmo-main .fm-ghb__outcome .fm-ghb__stage{
	padding:22px 18px 18px; border-radius:18px; background:var(--fm-soft,#F5FAFD);
}
.farmo-main .fm-ghb__outcome .fm-ghb__stage img{ width:min(150px,100%); margin-bottom:13px; }
.farmo-main .fm-ghb__result strong{ max-width:30ch; font-size:clamp(20px,2.1vw,26px); }
.farmo-main .fm-ghb__result p{ max-width:34ch; }
@media (max-width:900px){
	.farmo-main .fm-ghb__outcome{ grid-template-columns:1fr; padding:22px 20px; }
	.farmo-main .fm-ghb__outcome .fm-ghb__stage{ padding:18px 16px 16px; }
	.farmo-main .fm-ghb__outcome .fm-ghb__stage img{ width:min(140px,42%); }
	.farmo-main .fm-ghb__result strong,
	.farmo-main .fm-ghb__result p{ max-width:none; }
}

/* r155c  日本語では ch 幅が効かないので px で行長を決める */
.farmo-main .fm-ghb__result strong{ max-width:600px; }
.farmo-main .fm-ghb__result p{ max-width:520px; }
.farmo-main .fm-ghb__outcome{ grid-template-columns:minmax(0,246px) minmax(0,1fr); }
.farmo-main .fm-ghb__stagecap{ font-size:12px; line-height:1.7; }
@media (max-width:900px){
	.farmo-main .fm-ghb__outcome{ grid-template-columns:1fr; }
	.farmo-main .fm-ghb__result strong,
	.farmo-main .fm-ghb__result p{ max-width:none; }
}

/* r155d  背景を持つ他のセクションも画面幅に（施設園芸ページ） */
.farmo-main .fm-ghb__appsec.fm-fullbg,
.farmo-main .fm-ghb__together.fm-fullbg,
.farmo-main .fm-ghb__trial.fm-fullbg{
	padding-left:0; padding-right:0; border-radius:0; background:none;
}
.farmo-main .fm-ghb__appsec.fm-fullbg{ --fm-fullbg:var(--fm-soft,#F5FAFD); padding-top:64px; padding-bottom:64px; margin-bottom:64px; }
.farmo-main .fm-ghb__together.fm-fullbg{ --fm-fullbg:var(--fm-tint,#E6F5FC); padding-top:64px; padding-bottom:64px; margin-bottom:64px; }
.farmo-main .fm-ghb__trial.fm-fullbg{ --fm-fullbg:linear-gradient(118deg,#E4F3FB,#F1F9E6); padding-top:64px; padding-bottom:64px; margin-bottom:64px; }
.farmo-main .fm-ghb__stagecap{ word-break:auto-phrase; }
.farmo-main .fm-ghb__stagecap small{ font-size:11px; }
@media (max-width:900px){
	.farmo-main .fm-ghb__appsec.fm-fullbg,
	.farmo-main .fm-ghb__together.fm-fullbg,
	.farmo-main .fm-ghb__trial.fm-fullbg{
		padding-top:46px; padding-bottom:46px; margin-bottom:46px;
	}
}

/* ============================================================
   r156  「農家さんの毎日に、こんな変化が。」を整える
   ・ファーモくんを吹き出しの外に出す
   ・声のカードのトーンを他のセクションに合わせる
   ・現場のヒントと動画リンクをカードとして作り直す
   ============================================================ */

/* ---- ファーモくんは吹き出しの外 ---- */
.farmo-main .fm-ghb__guide{ align-items:center; gap:12px; }
.farmo-main .fm-ghb__guide > p:not(.fm-ghb__guidesay){
	margin:0; padding:0; border:0; background:none; border-radius:0;
	font-size:inherit; font-weight:inherit; line-height:0; color:inherit;
}
.farmo-main .fm-ghb__guide > p:not(.fm-ghb__guidesay)::after{ content:none; display:none; }
.farmo-main .fm-ghb__guideic{ display:block; line-height:0; }
.farmo-main .fm-ghb__guide img{ width:104px; height:104px; object-fit:contain; display:block; }

/* ---- 声のカード ---- */
.farmo-main .fm-ghb__voices{ gap:20px; margin-top:34px; }
.farmo-main .fm-ghb__voice{
	border-radius:18px; box-shadow:0 6px 16px rgba(13,43,62,.05);
}
.farmo-main .fm-ghb__voiceph img{ height:224px; }
.farmo-main .fm-ghb__voiceph span{
	left:14px; bottom:13px; padding:4px 13px; font-size:12px;
	background:rgba(255,255,255,.94); border:1px solid rgba(47,122,78,.16);
}
.farmo-main .fm-ghb__voicebd{ padding:20px 22px 22px; }
.farmo-main .fm-ghb__voicewho{ margin:0 0 10px; }
.farmo-main .fm-ghb__voicettl{ font-size:16.5px; line-height:1.65; word-break:auto-phrase; }
.farmo-main .fm-ghb__voicetxt{ font-size:13.5px; line-height:1.9; word-break:auto-phrase; }
.farmo-main .fm-ghb__voice > p:empty,
.farmo-main .fm-ghb__voicebd > p:empty{ display:none; }

/* ---- 注記 ---- */
.farmo-main .fm-ghb__fine--c{ margin-top:16px; text-align:center; font-size:11.5px; }

/* ---- 現場のヒント ---- */
.farmo-main .fm-ghb__hint{
	display:grid; grid-template-columns:minmax(0,214px) minmax(0,1fr);
	gap:28px; align-items:start;
	margin:32px 0 0; padding:26px 30px;
	border:0; border-left:0; border-radius:20px;
	background:#F3F8EC;
}
.farmo-main .fm-ghb__hintside{ min-width:0; }
.farmo-main .fm-ghb__hinttag{
	display:inline-block; margin:0 0 10px; padding:5px 14px; border-radius:999px;
	background:#fff; color:#2F7A4E; font-size:12px; font-weight:700; line-height:1.5;
	border:1px solid rgba(47,122,78,.18);
}
.farmo-main .fm-ghb__hintwho{
	margin:0; font-size:14px; font-weight:700; line-height:1.7;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-ghb__hintbd{ min-width:0; }
.farmo-main .fm-ghb__hintttl{
	margin:0 0 10px; font-size:18px; font-weight:600; line-height:1.65;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-ghb__hinttxt{
	margin:0 0 14px; font-size:14px; line-height:1.95; color:var(--fm-sub,#3A6578);
	word-break:auto-phrase; max-width:620px;
}
.farmo-main .fm-ghb__hintgo{ margin:0; }
.farmo-main .fm-ghb__hint .fm-ghb__fine{ margin-top:12px; }
.farmo-main .fm-ghb__hint > p:empty,
.farmo-main .fm-ghb__hintbd > p:empty,
.farmo-main .fm-ghb__hintside > p:empty{ display:none; }

/* ---- 動画 ---- */
.farmo-main .fm-ghb__videos{
	display:flex; align-items:center; flex-wrap:wrap; gap:12px 26px;
	margin:26px 0 0; padding:18px 24px;
	border-radius:16px; background:var(--fm-soft,#F5FAFD); border:1px solid var(--fm-line-soft,#EAF2F7);
}
.farmo-main .fm-ghb__videolab{
	display:flex; align-items:center; gap:11px; margin:0; margin-right:auto;
	font-size:14.5px; font-weight:700; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__videoic{ display:block; width:34px; height:34px; flex:0 0 auto; }
.farmo-main .fm-ghb__videoic svg{ width:100%; height:100%; display:block; }
.farmo-main .fm-ghb__videolinks{ display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.farmo-main a.fm-ghb__videolink{
	display:inline-flex; align-items:center; gap:7px;
	padding:8px 16px; border-radius:999px;
	background:#fff; border:1px solid #DCEAF2;
	color:var(--fm-sky-text,#0090BE); text-decoration:none;
	font-size:13px; font-weight:700; line-height:1.5;
	transition:border-color .18s ease;
}
.farmo-main a.fm-ghb__videolink::after{ content:"↗"; font-size:11px; }
.farmo-main a.fm-ghb__videolink:hover{ border-color:#9FD8EC; }
.farmo-main .fm-ghb__videos br{ display:none; }

@media (max-width:900px){
	.farmo-main .fm-ghb__storyhead{ flex-direction:column; align-items:flex-start; gap:18px; }
	.farmo-main .fm-ghb__guide{ align-self:flex-end; }
	.farmo-main .fm-ghb__voices{ grid-template-columns:1fr; gap:14px; }
	.farmo-main .fm-ghb__voiceph img{ height:200px; }
	.farmo-main .fm-ghb__hint{ grid-template-columns:1fr; gap:16px; padding:22px 20px; }
	.farmo-main .fm-ghb__videos{ padding:16px 18px; }
	.farmo-main .fm-ghb__videolab{ margin-right:0; width:100%; }
}

/* r156b  ファーモくんの白い丸を外して、そのまま立たせる */
.farmo-main .fm-ghb__guide img{ background:none; border-radius:0; }

/* r156c  ファーモくんは背景を抜いた画像に。診断側の白丸も外す */
.farmo-main .fm-ghb__fguide img{ background:none; border-radius:0; width:96px; height:96px; }

/* ============================================================
   r157  アプリでできること：スマホ画面＋チップ付きの3カード
   ============================================================ */
.farmo-main .fm-ghb__three{
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px;
}
.farmo-main .fm-ghb__tcard{
	display:flex; flex-direction:column; align-items:center; min-width:0;
	padding:26px 24px 26px; border-radius:20px;
	background:#fff; border:1px solid var(--fm-line,#E7EFF3);
	box-shadow:0 6px 16px rgba(13,43,62,.05);
	border-top:1px solid var(--fm-line,#E7EFF3);
	text-align:center;
}
.farmo-main .fm-ghb__tph{
	display:block; width:min(190px,74%); margin:0 0 20px; line-height:0;
}
.farmo-main .fm-ghb__tph img{
	width:100%; height:auto; display:block;
	filter:drop-shadow(0 12px 24px rgba(13,43,62,.16));
}
.farmo-main .fm-ghb__tchip{
	display:inline-block; margin:0 0 12px; padding:5px 15px; border-radius:999px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE);
	font-size:12.5px; font-weight:700; line-height:1.5; letter-spacing:.02em;
}
.farmo-main .fm-ghb__tttl{
	margin:0 0 10px; font-size:17px; font-weight:600; line-height:1.6;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-ghb__ttxt{
	margin:0; font-size:13.5px; line-height:1.95; color:var(--fm-sub,#3A6578);
	text-align:left; word-break:auto-phrase;
}
.farmo-main .fm-ghb__tcard > p:empty{ display:none; }

@media (max-width:900px){
	.farmo-main .fm-ghb__three{ grid-template-columns:1fr; gap:14px; margin-top:28px; }
	.farmo-main .fm-ghb__tcard{
		display:grid; grid-template-columns:minmax(0,118px) minmax(0,1fr);
		gap:6px 20px; align-items:center; text-align:left; padding:20px 20px;
	}
	.farmo-main .fm-ghb__tph{ grid-row:1 / span 3; width:100%; margin:0; }
	.farmo-main .fm-ghb__tchip{ margin-bottom:8px; justify-self:start; }
	.farmo-main .fm-ghb__tttl{ margin-bottom:7px; font-size:16px; }
	.farmo-main .fm-ghb__ttxt{ font-size:13px; }
}

/* ===== r157b  アプリでできること：スマホ（640px以下）は縦積みに戻す ===== */
@media (max-width:640px){
	.farmo-main .fm-ghb__three{ gap:16px; }
	.farmo-main .fm-ghb__tcard{
		display:flex; flex-direction:column; align-items:center;
		text-align:center; padding:26px 22px 24px;
	}
	.farmo-main .fm-ghb__tph{ grid-row:auto; width:min(168px,56%); margin:0 0 18px; }
	.farmo-main .fm-ghb__tchip{ margin:0 0 10px; justify-self:auto; }
	.farmo-main .fm-ghb__tttl{ margin:0 0 9px; font-size:17px; }
	.farmo-main .fm-ghb__ttxt{ font-size:13.5px; line-height:1.9; }
}

/* ===== r158  ハウスファーモ：データの共有 ===== */
.farmo-main .fm-ghb__shlead{
	max-width:760px; margin:0; font-size:15.5px; line-height:2.05;
	color:var(--fm-sub,#3A6578); word-break:auto-phrase;
}
.farmo-main .fm-ghb__share{ gap:0; margin-top:44px; }
.farmo-main .fm-ghb__shcard{
	min-width:0; padding:2px 32px;
	border-left:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghb__shcard:first-child{ border-left:0; padding-left:0; }
.farmo-main .fm-ghb__shcard:last-child{ padding-right:0; }
.farmo-main .fm-ghb__shic{
	display:flex; align-items:center; justify-content:center;
	width:96px; height:96px; margin:0 0 20px;
	border-radius:24px; background:var(--fm-soft,#F5FAFD);
}
.farmo-main .fm-ghb__shic svg{ width:68px; height:68px; display:block; }
.farmo-main .fm-ghb__share .fm-ghb__tttl{ margin:0 0 9px; font-size:17px; text-align:left; }
.farmo-main .fm-ghb__share .fm-ghb__ttxt{ text-align:left; }

@media (max-width:900px){
	.farmo-main .fm-ghb__share{ gap:0; margin-top:32px; }
	.farmo-main .fm-ghb__shcard{
		display:grid; grid-template-columns:76px minmax(0,1fr); gap:6px 18px;
		align-items:start; padding:22px 0 20px;
		border-left:0; border-top:1px solid var(--fm-line,#E7EFF3);
	}
	.farmo-main .fm-ghb__shcard:first-child{ border-top:0; padding-top:2px; }
	.farmo-main .fm-ghb__shcard:last-child{ padding-bottom:2px; }
	.farmo-main .fm-ghb__shic{
		grid-row:1 / span 2; width:76px; height:76px; margin:0; border-radius:20px;
	}
	.farmo-main .fm-ghb__shic svg{ width:54px; height:54px; }
	.farmo-main .fm-ghb__shlead{ font-size:15px; line-height:2; }
}
@media (max-width:520px){
	.farmo-main .fm-ghb__shcard{ grid-template-columns:62px minmax(0,1fr); gap:6px 14px; }
	.farmo-main .fm-ghb__shic{ width:62px; height:62px; border-radius:16px; }
	.farmo-main .fm-ghb__shic svg{ width:44px; height:44px; }
}

/* ===== r158b  データの共有：スマホの配置を明示 ===== */
@media (max-width:900px){
	.farmo-main .fm-ghb__shcard{ grid-template-rows:auto 1fr; }
	.farmo-main .fm-ghb__shcard .fm-ghb__shic{ grid-column:1; grid-row:1 / span 2; }
	.farmo-main .fm-ghb__shcard .fm-ghb__tttl{ grid-column:2; grid-row:1; }
	.farmo-main .fm-ghb__shcard .fm-ghb__ttxt{ grid-column:2; grid-row:2; }
}

/* ===== r159  データの共有：イラストを大きくセンター配置に ===== */
.farmo-main .fm-ghb__share{ gap:0; margin-top:46px; }
.farmo-main .fm-ghb__shcard{
	display:block; padding:2px 26px; text-align:center;
	border-left:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghb__shcard:first-child{ border-left:0; padding-left:0; }
.farmo-main .fm-ghb__shcard:last-child{ padding-right:0; }
.farmo-main .fm-ghb__shic{
	display:block; width:100%; max-width:252px; height:auto;
	margin:0 auto 22px; border-radius:0; background:none;
}
.farmo-main .fm-ghb__shic svg{ width:100%; height:auto; display:block; }
.farmo-main .fm-ghb__share .fm-ghb__tttl{
	margin:0 0 10px; font-size:17.5px; text-align:center;
}
.farmo-main .fm-ghb__share .fm-ghb__ttxt{
	text-align:left; max-width:310px; margin:0 auto;
}

@media (max-width:900px){
	.farmo-main .fm-ghb__share{ gap:0; margin-top:34px; }
	.farmo-main .fm-ghb__shcard{
		display:block; grid-template-columns:none; padding:30px 0 26px;
		border-left:0; border-top:1px solid var(--fm-line,#E7EFF3); text-align:center;
	}
	.farmo-main .fm-ghb__shcard:first-child{ border-top:0; padding-top:4px; }
	.farmo-main .fm-ghb__shcard:last-child{ padding-bottom:4px; }
	.farmo-main .fm-ghb__shcard .fm-ghb__shic{
		grid-column:auto; grid-row:auto;
		width:100%; max-width:280px; height:auto; margin:0 auto 20px;
		border-radius:0; background:none;
	}
	.farmo-main .fm-ghb__shcard .fm-ghb__tttl,
	.farmo-main .fm-ghb__shcard .fm-ghb__ttxt{ grid-column:auto; grid-row:auto; }
}
@media (max-width:520px){
	.farmo-main .fm-ghb__shcard .fm-ghb__shic{
		width:100%; max-width:250px; height:auto; border-radius:0;
	}
}

/* ===== r160  続けやすさカードにアイキャッチ ===== */
.farmo-main .fm-ghb__rhead{
	display:flex; align-items:center; justify-content:space-between;
	gap:12px; margin:0 0 16px;
}
.farmo-main .fm-ghb__rhead .fm-ghb__rno{ margin-bottom:0; }
.farmo-main .fm-ghb__ric{ display:block; flex:0 0 auto; width:64px; height:64px; }
.farmo-main .fm-ghb__ric svg{ width:100%; height:100%; display:block; }
@media (max-width:900px){
	.farmo-main .fm-ghb__rhead{ margin-bottom:14px; }
	.farmo-main .fm-ghb__ric{ width:56px; height:56px; }
}

/* ===== r161  選び方カード：写真の比率と余白を揃える ===== */
/* .farmo-main .fm-ghb img{height:auto} に負けていたので詳細度を上げる */
.farmo-main .fm-ghb img.fm-ghb__cropph{
	display:block; width:100%; height:auto;
	aspect-ratio:3 / 2; object-fit:cover; object-position:center;
	background:var(--fm-soft,#F5FAFD);
}
.farmo-main .fm-ghb__crop{ display:flex; flex-direction:column; }
.farmo-main .fm-ghb__crop > div{ display:flex; flex-direction:column; flex:1 1 auto; }
.farmo-main .fm-ghb__crop p:empty{ display:none; }
.farmo-main .fm-ghb__crop .fm-ghb__ttxt{ flex:1 1 auto; }
.farmo-main .fm-ghb__crop .fm-navlink{ margin-top:16px; }
.farmo-main .fm-ghb__crop > div > p:last-child{ margin-bottom:0; }
@media (max-width:640px){
	.farmo-main .fm-ghb img.fm-ghb__cropph{ aspect-ratio:16 / 10; }
}

/* ===== r161b  選び方カード：タグが横に伸びるのを戻す ===== */
.farmo-main .fm-ghb__crop > div > .fm-ghb__croptag{ align-self:flex-start; }

/* ===== r162  タイプ診断：シンプルに整理 ===== */
.farmo-main .fm-ghb__finder{
	margin:32px 0 0; padding:28px 30px 30px; border-radius:22px;
	background:#fff; border:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghb__fguide{
	display:flex; align-items:center; gap:14px;
	margin:0 0 20px; padding:0 0 18px;
	border-bottom:1px solid var(--fm-line-soft,#EAF2F7);
}
.farmo-main .fm-ghb__fguide img{
	width:54px; height:54px; flex:0 0 auto;
	border-radius:50%; background:var(--fm-soft,#F5FAFD); object-fit:contain;
}
.farmo-main .fm-ghb__fttl{
	margin:0; font-size:17px; font-weight:700; line-height:1.6;
	letter-spacing:.01em; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__ftrail{ margin:0 0 16px; }

/* パネルは枠なし。カードの中の一段として見せる */
.farmo-main .fm-ghb__fpanel{
	padding:26px 22px 28px; border:0; border-radius:18px;
	background:var(--fm-soft,#F5FAFD);
}
.farmo-main .fm-ghb__fstep{
	display:inline-block; margin:0 0 12px; padding:4px 13px; border-radius:999px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE);
	font-size:12px; font-weight:700; letter-spacing:.04em;
}
.farmo-main .fm-ghb__fpanel h4{
	margin:0 0 10px; font-size:20px; font-weight:600; line-height:1.6;
	word-break:auto-phrase;
}
.farmo-main .fm-ghb__fpanel p{ font-size:13.5px; }

/* はい / いいえ は同じ重みに */
.farmo-main .fm-ghb__fchoices{ gap:14px; max-width:420px; margin-top:20px; }
.farmo-main .fm-ghb__fchoices button,
.farmo-main .fm-ghb__fchoices button + button{
	padding:15px 12px; border:1.5px solid var(--fm-sky-line,#35C1EE); border-radius:12px;
	background:#fff; color:var(--fm-sky-text,#0090BE);
	font-size:16px; font-weight:700; box-shadow:none;
	transition:background-color .15s ease, color .15s ease, transform .15s ease;
}
.farmo-main .fm-ghb__fchoices button:hover,
.farmo-main .fm-ghb__fchoices button + button:hover{
	transform:none; background:var(--fm-tint,#E6F5FC);
}
.farmo-main .fm-ghb__fchoices button:active,
.farmo-main .fm-ghb__fchoices button + button:active{
	transform:translateY(1px); box-shadow:none;
}
.farmo-main .fm-ghb__ftype{ font-size:34px; }
.farmo-main .fm-ghb__fprice{ font-size:22px; }
.farmo-main .fm-ghb__fcontrols{ margin-top:16px; }

@media (max-width:640px){
	.farmo-main .fm-ghb__finder{ padding:22px 18px 24px; border-radius:18px; }
	.farmo-main .fm-ghb__fpanel{ padding:22px 16px 24px; }
	.farmo-main .fm-ghb__fpanel h4{ font-size:18px; }
	.farmo-main .fm-ghb__fguide img{ width:46px; height:46px; }
	.farmo-main .fm-ghb__fttl{ font-size:15.5px; }
}

/* ===== r163  はじめ方3ステップ：アイキャッチを写真に ===== */
.farmo-main .fm-ghb__setup article{ padding:0 0 24px; }
.farmo-main .fm-ghb__setart{
	display:block; width:100%; max-width:none; margin:0 0 18px; line-height:0;
}
.farmo-main .fm-ghb .fm-ghb__setart img{
	display:block; width:100%; height:auto;
	aspect-ratio:3 / 2; object-fit:cover;
	border-radius:20px 20px 0 0;
}
.farmo-main .fm-ghb__setno{
	left:14px; top:14px; box-shadow:0 2px 10px rgba(13,43,62,.22);
}
.farmo-main .fm-ghb__setup article > p{ padding-left:22px; padding-right:22px; }
@media (max-width:640px){
	.farmo-main .fm-ghb .fm-ghb__setart img{ border-radius:18px 18px 0 0; }
	.farmo-main .fm-ghb__setup article > p{ padding-left:18px; padding-right:18px; }
}

/* ===== r164  タイプ比較表：測定項目のマトリクス ===== */
.farmo-main .fm-sronly{
	position:absolute; width:1px; height:1px; margin:-1px; padding:0;
	overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
.farmo-main .fm-typetbl--matrix table{ min-width:880px; font-size:13.5px; }
.farmo-main .fm-typetbl--matrix th,
.farmo-main .fm-typetbl--matrix td{ padding:12px 8px; }
.farmo-main .fm-typetbl--matrix thead th{
	font-size:11.5px; line-height:1.35; text-align:center; letter-spacing:0;
	vertical-align:bottom;
}
.farmo-main .fm-typetbl--matrix thead th:first-child,
.farmo-main .fm-typetbl--matrix thead th:nth-child(2){ text-align:left; padding-left:16px; }
.farmo-main .fm-typetbl--matrix .fm-tt__m{ width:46px; }

.farmo-main .fm-typetbl--matrix th.fm-tt__type{
	width:186px; padding-left:16px; text-align:left; font-weight:400;
	background:#FBFDFE;
}
.farmo-main .fm-typetbl--matrix th.fm-tt__type b{
	display:block; font-size:17px; font-weight:700; line-height:1.3;
	color:var(--fm-sky-text,#0090BE);
}
.farmo-main .fm-typetbl--matrix th.fm-tt__type span{
	display:block; margin-top:3px; font-size:12px; font-weight:400; line-height:1.6;
	color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-typetbl--matrix .fm-tt__crop{
	width:118px; padding-left:16px; font-size:12.5px; line-height:1.6;
	color:var(--fm-sub,#3A6578); white-space:normal;
}
.farmo-main .fm-typetbl--matrix .fm-tt__y,
.farmo-main .fm-typetbl--matrix .fm-tt__n{ text-align:center; }
.farmo-main .fm-typetbl--matrix .fm-tt__y span[aria-hidden]{
	font-size:13px; color:var(--fm-sky,#00B0E4);
}
.farmo-main .fm-typetbl--matrix .fm-tt__n span[aria-hidden]{
	font-size:13px; color:#C7D8E1;
}
.farmo-main .fm-typetbl--matrix td.fm-tt__price{
	width:104px; text-align:right; white-space:nowrap;
	font-variant-numeric:tabular-nums;
}
.farmo-main .fm-typetbl--matrix thead th.fm-tt__price{ text-align:right; }
.farmo-main .fm-typetbl--matrix .fm-tt__go{ width:84px; text-align:right; padding-right:16px; white-space:nowrap; }
.farmo-main .fm-typetbl--matrix .fm-tt__go a{ font-size:12.5px; }
.farmo-main .fm-typetbl--matrix caption{
	caption-side:top; padding:0 0 12px; text-align:left;
	font-size:12.5px; color:var(--fm-mute,#6C8FA0);
}
@media (max-width:900px){
	.farmo-main .fm-typetbl--matrix th.fm-tt__type{ width:160px; }
	.farmo-main .fm-typetbl--matrix .fm-tt__crop{ width:104px; }
}

/* ===== r164b  項目見出しは指定位置だけで改行 ===== */
.farmo-main .fm-typetbl--matrix thead th.fm-tt__m{ white-space:nowrap; width:auto; padding-left:6px; padding-right:6px; }
.farmo-main .fm-typetbl--matrix .fm-tt__y,
.farmo-main .fm-typetbl--matrix .fm-tt__n{ padding-left:6px; padding-right:6px; }

/* ===== r165  もうひとつの安心：r154のカード型をやめ、元の帯に戻す（イラストは小さく残す） ===== */
.farmo-main .fm-ghb__promise{
	display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:12px 28px;
	margin:0 0 52px; padding:20px 26px; text-align:left;
	border-radius:18px; background:var(--fm-soft,#F5FAFD);
	border:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghb__promiselead{
	margin:0; margin-right:auto; font-size:14.5px; line-height:1.7;
	color:var(--fm-sub,#3A6578);
}
.farmo-main .fm-ghb__promiselead strong{
	display:block; margin-top:2px;
	font-size:16px; font-weight:600; line-height:1.6; letter-spacing:0;
	color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__promiselist{
	display:flex; flex-wrap:wrap; gap:10px 22px;
	margin:0; padding:0; list-style:none;
}
.farmo-main .fm-ghb__promiselist li{
	display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:9px;
	padding:0; border:0; border-radius:0; background:none;
	font-size:13px; font-weight:600; line-height:1.6; text-align:left;
	color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__promiseic{ display:block; flex:0 0 auto; width:34px; height:34px; }

@media (max-width:900px){
	.farmo-main .fm-ghb__promise{
		flex-direction:column; align-items:flex-start; gap:14px;
		padding:18px 20px; margin:0 0 40px;
	}
	.farmo-main .fm-ghb__promiselist{ gap:10px 18px; }
	.farmo-main .fm-ghb__promiselist li{ padding:0; font-size:13px; }
	.farmo-main .fm-ghb__promiseic{ width:30px; height:30px; }
}
@media (max-width:520px){
	.farmo-main .fm-ghb__promise{ margin:0 0 36px; }
	.farmo-main .fm-ghb__promiselead{ margin-bottom:0; }
}

/* ===== r166  もうひとつの安心：FVに少し重なる白いカードに ===== */
.farmo-main .fm-ghb__promise{
	position:relative; z-index:3;
	display:flex; flex-direction:row; align-items:stretch; flex-wrap:nowrap; gap:0;
	margin:-48px 0 104px; padding:20px 14px 20px 30px;
	border-radius:20px; background:#fff; border:0;
	box-shadow:0 18px 44px rgba(13,43,62,.13);
	text-align:left;
}
.farmo-main .fm-ghb__promiselead{
	flex:0 0 auto; display:flex; flex-direction:column; justify-content:center;
	margin:0; padding:2px 32px 2px 0;
	font-size:12.5px; line-height:1.7; color:var(--fm-mute,#6C8FA0);
}
.farmo-main .fm-ghb__promiselead strong{
	display:block; margin-top:2px;
	font-size:18px; font-weight:700; line-height:1.5; letter-spacing:.01em;
	color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__promiselist{
	flex:1 1 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
	gap:0; margin:0; padding:0; list-style:none;
}
.farmo-main .fm-ghb__promiselist li{
	display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:13px;
	min-width:0; padding:4px 16px; border-left:1px solid var(--fm-line-soft,#EAF2F7);
	border-radius:0; background:none;
	font-size:14px; font-weight:600; line-height:1.55; text-align:left;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-ghb__promiseic{ display:block; flex:0 0 auto; width:42px; height:42px; }
.farmo-main .fm-ghb__promiseic svg{ display:block; width:100%; height:100%; }

@media (max-width:1100px){
	.farmo-main .fm-ghb__promise{ padding:20px 12px 20px 24px; }
	.farmo-main .fm-ghb__promiselead{ padding-right:24px; }
	.farmo-main .fm-ghb__promiselist li{ padding:4px 12px; gap:10px; font-size:13px; }
	.farmo-main .fm-ghb__promiseic{ width:38px; height:38px; }
}
@media (max-width:900px){
	.farmo-main .fm-ghb__promise{
		flex-direction:column; align-items:stretch; gap:16px;
		margin:-34px 0 76px; padding:22px 22px 18px;
		border-radius:18px; box-shadow:0 14px 34px rgba(13,43,62,.13);
	}
	.farmo-main .fm-ghb__promiselead{ padding:0; }
	.farmo-main .fm-ghb__promiselist{ grid-template-columns:1fr; gap:0; }
	.farmo-main .fm-ghb__promiselist li{
		padding:11px 0; border-left:0; border-top:1px solid var(--fm-line-soft,#EAF2F7);
		font-size:14px;
	}
	.farmo-main .fm-ghb__promiseic{ width:36px; height:36px; }
}
@media (max-width:520px){
	.farmo-main .fm-ghb__promise{ margin:-26px 0 60px; }
}

/* ===== r167  施設園芸：全幅ファーストビューをヘッダー直下に付ける ===== */
.farmo-main .farmo-freebody .fm-solp.fm-ghb{ margin-top:0; }

/* ===== r168  「変わる」カード：本文を上ぞろえ、余白にハウスの写真を溶け込ませる ===== */
.farmo-main .fm-ghb__outcome{
	position:relative; overflow:hidden;
	align-items:start; padding:34px 34px 40px;
}
.farmo-main .fm-ghb__outcome::after{
	content:""; position:absolute; z-index:0; pointer-events:none;
	right:0; bottom:0; width:74%; height:88%;
	background:url("/web/wp-content/uploads/2026/09/ghb_fv_ichigo.jpg") 8% 58% / cover no-repeat;
	opacity:.34;
	-webkit-mask-image:linear-gradient(to right, transparent 0%, #000 46%), linear-gradient(to bottom, transparent 26%, #000 70%);
	-webkit-mask-composite:source-in;
	mask-image:linear-gradient(to right, transparent 0%, #000 46%), linear-gradient(to bottom, transparent 26%, #000 70%);
	mask-composite:intersect;
}
.farmo-main .fm-ghb__outcome > *{ position:relative; z-index:1; }
.farmo-main .fm-ghb__outcome .fm-ghb__result{ padding-top:4px; }

@media (max-width:900px){
	.farmo-main .fm-ghb__outcome{ align-items:stretch; padding:24px 22px 26px; }
	.farmo-main .fm-ghb__outcome::after{
		width:100%; height:34%;
		-webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 62%);
		-webkit-mask-composite:source-over;
		mask-image:linear-gradient(to bottom, transparent 0%, #000 62%);
		mask-composite:add;
		opacity:.22;
	}
}

/* ===== r169  FV：製品が写った写真に差し替え、スマホの位置と白のかすみを調整 ===== */
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvph{
	object-position:56% 52%;
	transform:scale(1.1); transform-origin:48% 62%;
}
/* 左からの白は、製品より手前で抜けきるように */
.farmo-main .fm-ghb__fv--wide::after{
	background:linear-gradient(100deg,
		#FFFFFF 0%,
		rgba(255,255,255,.97) 21%,
		rgba(255,255,255,.90) 33%,
		rgba(255,255,255,.62) 41%,
		rgba(255,255,255,.16) 50%,
		rgba(255,255,255,0) 58%);
}
/* 写真全体にごく薄い白をかけて、スマホを前に出す */
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvmedia::before{
	content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
	background:rgba(255,255,255,.13);
}
/* 製品にかぶらない位置へ。スマホの背後にやわらかい白の光 */
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone{
	position:relative; left:auto; right:auto; top:auto; bottom:auto;
	margin-left:56px;
}
.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone::before{
	content:""; position:absolute; z-index:-1;
	left:50%; top:46%; transform:translate(-50%,-50%);
	width:190%; height:132%; border-radius:50%;
	background:radial-gradient(closest-side, rgba(255,255,255,.62), rgba(255,255,255,.28) 58%, rgba(255,255,255,0) 78%);
	filter:blur(6px);
}

@media (max-width:1100px){
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone{ margin-left:32px; }
	.farmo-main .fm-ghb__fv--wide::after{
		background:linear-gradient(100deg,
			#FFFFFF 0%,
			rgba(255,255,255,.97) 26%,
			rgba(255,255,255,.88) 38%,
			rgba(255,255,255,.52) 47%,
			rgba(255,255,255,.12) 56%,
			rgba(255,255,255,0) 66%);
	}
}
@media (max-width:900px){
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvph{
		object-position:52% 54%; transform:none;
	}
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone{ margin-left:0; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvphone::before{ display:none; }
	.farmo-main .fm-ghb__fv--wide .fm-ghb__fvmedia::before{ background:rgba(255,255,255,.08); }
}

/* ===== r170  無料お試し：背景色をやめて、イラストを大きく ===== */
.farmo-main .fm-ghb__trial.fm-fullbg{
	--fm-fullbg:transparent;
	border:0; background:none;
}
.farmo-main .fm-ghb__trial.fm-fullbg::before{ content:none; }
.farmo-main .fm-ghb__trialscene{ flex:0 1 430px; }
.farmo-main .fm-ghb__trialbubble{ font-size:15px; }
.farmo-main .fm-ghb__trialbubble strong{ font-size:25px; }
.farmo-main .fm-ghb__trialcap{ font-size:14px; }

@media (max-width:1100px){
	.farmo-main .fm-ghb__trialscene{ flex:0 1 360px; }
	.farmo-main .fm-ghb__trialbubble strong{ font-size:22px; }
}
@media (max-width:900px){
	.farmo-main .fm-ghb__trialscene{ width:min(100%,420px); margin:14px auto 0; flex-basis:auto; }
	.farmo-main .fm-ghb__trialbubble strong{ font-size:21px; }
}

/* ===== r170b  無料お試し：イラストの幅を確実に確保、余白を詰める ===== */
.farmo-main .fm-ghb__trial.fm-fullbg{ padding-top:24px; padding-bottom:16px; margin-bottom:84px; }
.farmo-main .fm-ghb__trialscene{ flex:0 0 430px; }
.farmo-main .fm-ghb__trialbd{ min-width:0; }
@media (max-width:1100px){
	.farmo-main .fm-ghb__trialscene{ flex:0 0 340px; }
}
@media (max-width:900px){
	.farmo-main .fm-ghb__trial.fm-fullbg{ padding-top:12px; padding-bottom:8px; margin-bottom:58px; }
	.farmo-main .fm-ghb__trialscene{ flex:0 0 auto; width:min(100%,420px); margin:14px auto 0; }
}

/* ===== r171  あわせて使うと：写真の高さを揃える ===== */
/* .farmo-main .fm-ghb img{height:auto} に負けていたので詳細度を上げる */
.farmo-main .fm-ghb img.fm-ghb__relph{
	display:block; width:100%; height:auto;
	aspect-ratio:3 / 2; object-fit:cover; object-position:center;
	background:var(--fm-soft,#F5FAFD);
}
@media (max-width:640px){
	.farmo-main .fm-ghb img.fm-ghb__relph{ aspect-ratio:16 / 10; }
}

/* ===== r172  ページ末のCTA ===== */
.farmo-main .fm-ghb__cta{
	margin-top:8px; padding:64px 32px 66px;
	border-radius:26px; background:var(--fm-soft,#F5FAFD);
	border:1px solid var(--fm-line,#E7EFF3);
	text-align:center;
}
.farmo-main .fm-ghb__cta .fm-ghb__ey--sec{ margin-left:auto; margin-right:auto; }
.farmo-main .fm-ghb__cta .fm-solp__h--msg{ text-align:center; }
.farmo-main .fm-ghb__ctatxt{
	max-width:640px; margin:0 auto; font-size:14.5px; line-height:1.95;
	color:var(--fm-sub,#3A6578); word-break:auto-phrase;
}
.farmo-main .fm-ghb__ctabtns{
	display:flex; flex-wrap:wrap; justify-content:center; gap:14px;
	margin:30px 0 0;
}
.farmo-main .fm-ghb__ctabtns .farmo-btn{ min-width:250px; justify-content:center; }
@media (max-width:640px){
	.farmo-main .fm-ghb__cta{ padding:42px 20px 44px; border-radius:20px; }
	.farmo-main .fm-ghb__ctabtns{ flex-direction:column; gap:12px; margin-top:24px; }
	.farmo-main .fm-ghb__ctabtns .farmo-btn{ width:100%; min-width:0; }
}

/* ===== r173  あわせて使うと：全幅の帯をやめ、コンテンツ幅でコンパクトに ===== */
.farmo-main .fm-ghb__together{
	margin:0 0 40px; padding:0;
	border-radius:0; background:none;
}
.farmo-main .fm-ghb__togttl{
	display:flex; align-items:center; gap:12px;
	margin:0 0 20px; font-size:17px; font-weight:700; line-height:1.6;
	letter-spacing:.01em; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__togttl::before{
	content:""; flex:0 0 auto; width:.9em; height:.9em;
	border:1.5px solid var(--fm-sky,#00B0E4); border-radius:50%;
}
.farmo-main .fm-ghb__together .fm-ghb__three{ margin-top:0; gap:18px; }
.farmo-main .fm-ghb__together .fm-ghb__rel{
	box-shadow:none; border:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-ghb__together .fm-ghb__rel > div{ padding:16px 18px 18px; }
.farmo-main .fm-ghb__together .fm-ghb__tttl{ font-size:16px; }
.farmo-main .fm-ghb__together .fm-ghb__ttxt{ font-size:13px; }
.farmo-main .fm-ghb__together .fm-ghb__fine{ margin-top:14px; }
.farmo-main .fm-ghb img.fm-ghb__relph{ aspect-ratio:16 / 10; }

@media (max-width:900px){
	.farmo-main .fm-ghb__together{ margin-bottom:34px; padding:0; }
	.farmo-main .fm-ghb__together .fm-ghb__three{ gap:14px; }
}
@media (max-width:640px){
	.farmo-main .fm-ghb__together{ padding:0; border-radius:0; }
	.farmo-main .fm-ghb__togttl{ font-size:15.5px; margin-bottom:16px; }
}

/* ===== r173b  CTA：ボタン3つ、フッター前の余白 ===== */
.farmo-main .fm-ghb__cta{ margin-top:8px; margin-bottom:96px; }
.farmo-main .fm-ghb__ctabtns .farmo-btn{ min-width:0; padding-left:26px; padding-right:26px; }
@media (max-width:900px){
	.farmo-main .fm-ghb__cta{ margin-bottom:72px; }
}
@media (max-width:640px){
	.farmo-main .fm-ghb__cta{ margin-bottom:56px; }
}

/* ===== r173c  CTA：最終セクションの下余白（:last-child の margin:8px に勝たせる） ===== */
.farmo-main .fm-solp__sec.fm-ghb__cta:last-child{ margin:8px 0 96px; }
@media (max-width:900px){ .farmo-main .fm-solp__sec.fm-ghb__cta:last-child{ margin:8px 0 72px; } }
@media (max-width:640px){ .farmo-main .fm-solp__sec.fm-ghb__cta:last-child{ margin:8px 0 56px; } }

/* ===== r174  あわせて使うと：コンテンツ幅の薄水色ブロックに ===== */
.farmo-main .fm-ghb__together{
	margin:0 0 44px; padding:40px 36px 38px;
	border-radius:24px; background:var(--fm-band,#EAF6FC);
}
.farmo-main .fm-ghb__togttl{
	display:block; text-align:center;
	margin:0 0 26px; font-size:22px; font-weight:700; line-height:1.6;
	letter-spacing:.012em; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-ghb__togttl::before{ content:none; }
.farmo-main .fm-ghb__together .fm-ghb__rel{
	border:0; box-shadow:0 6px 16px rgba(13,43,62,.06);
}

@media (max-width:900px){
	.farmo-main .fm-ghb__together{ margin-bottom:36px; padding:30px 22px 28px; border-radius:20px; }
	.farmo-main .fm-ghb__togttl{ font-size:20px; margin-bottom:20px; }
}
@media (max-width:640px){
	.farmo-main .fm-ghb__together{ padding:26px 18px 24px; border-radius:18px; }
	.farmo-main .fm-ghb__togttl{ font-size:18px; margin-bottom:18px; }
}

/* ===== r175  ロゴを正式データ（PNG）に差し替え／フッターの区切り方 ===== */
.farmo-header .farmo-logo__svg,
.farmo-footer__logomark{
	display:block; width:auto; max-width:none; object-fit:contain;
}
.farmo-header .farmo-logo__svg{ height:28px; }
@media (max-width:820px){ .farmo-header .farmo-logo__svg{ height:24px; } }
.farmo-footer__logomark{ height:32px; }
@media (max-width:820px){ .farmo-footer__logomark{ height:28px; } }

/* 線で区切らず、面の色でコンテンツと分ける */
.farmo-footer{
	border-top:0;
	background:#E8EFF4;
	color:var(--fm-sub,#3A6578);
}

/* ===== r175b  フッター上部の3pxグラデーション線も外す ===== */
.farmo-footer::before{ display:none; content:none; }

/* ============================================================
   r176  デモ機のお試しページ（/demo/ 配下）
   ============================================================ */
.farmo-main .fm-dm{ --dm-gap:96px; }
.farmo-main .fm-dm__sec{ margin:0 0 var(--dm-gap); }
.farmo-main .fm-dm__sec:last-child{ margin-bottom:8px; }

/* --- 見出し類 --- */
.farmo-main .fm-dm__ey{
	display:inline-block; margin:0 0 14px; padding:5px 15px; border-radius:999px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE);
	font-size:12.5px; font-weight:700; line-height:1.6; letter-spacing:.02em;
}
.farmo-main .fm-dm__h1{
	margin:0 0 22px; font-size:clamp(30px,3.6vw,46px); font-weight:700;
	line-height:1.5; letter-spacing:.012em; color:var(--fm-ink,#0D2B3E);
	word-break:auto-phrase;
}
.farmo-main .fm-dm__h2{
	margin:0 0 20px; font-size:clamp(24px,2.7vw,35px); font-weight:600;
	line-height:1.52; letter-spacing:.012em; color:var(--fm-ink,#0D2B3E);
	word-break:auto-phrase;
}
.farmo-main .fm-dm__mark{
	background:linear-gradient(transparent 62%, #D9EFA8 62%, #D9EFA8 94%, transparent 94%);
	color:var(--fm-sky-text,#0090BE);
}
.farmo-main .fm-dm__h1 .fm-dm__mark{ color:inherit; }
.farmo-main .fm-dm__lead{
	margin:0; font-size:15.5px; line-height:2.05; color:var(--fm-sub,#3A6578);
	word-break:auto-phrase;
}
.farmo-main .fm-dm__fine{ margin:14px 0 0; font-size:12.5px; line-height:1.9; color:var(--fm-mute,#6C8FA0); }
.farmo-main .fm-dm__fine--c{ text-align:center; }

/* --- ファーストビュー --- */
.farmo-main .fm-dm__hero{
	display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(20px,3vw,48px);
	margin:0 0 30px; padding:clamp(34px,4vw,56px) clamp(26px,3.4vw,54px);
	border-radius:28px; background:linear-gradient(112deg,#E9F6FC 0%,#F1F9E7 100%);
}
.farmo-main .fm-dm__herolead{
	margin:0 0 14px; font-size:19px; font-weight:600; line-height:1.9;
	color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-dm__herotxt{ margin:0 0 26px; font-size:14.5px; line-height:2; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__herobtn{ margin:0; }
.farmo-main .fm-dm__heroart{ position:relative; padding-top:42px; }
.farmo-main .fm-dm .fm-dm__heroart img{
	display:block; width:100%; height:auto; border-radius:22px;
	mix-blend-mode:multiply;
}
.farmo-main .fm-dm__bubble{
	position:absolute; z-index:1; top:0; left:4%;
	margin:0; padding:11px 22px; border-radius:22px;
	background:#fff; border:2px solid #7CCBE2;
	color:var(--fm-sky-text,#0090BE); font-size:14px; line-height:1.6; text-align:center;
	box-shadow:0 6px 18px rgba(13,43,62,.10);
}
.farmo-main .fm-dm__bubble strong{ display:block; font-size:19px; font-weight:700; }

/* --- 基本条件の帯 --- */
.farmo-main .fm-dm__facts{
	display:flex; flex-wrap:wrap; align-items:center; gap:0;
	margin:0 0 var(--dm-gap); padding:18px 26px; list-style:none;
	border-radius:18px; background:var(--fm-soft,#F5FAFD); border:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-dm__facts > li{
	flex:0 0 auto; padding:2px 30px; text-align:center;
	border-right:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-dm__facts > li:first-child{ padding-left:4px; }
.farmo-main .fm-dm__facts span{ display:block; font-size:12.5px; font-weight:700; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__facts strong{
	display:block; font-size:34px; font-weight:700; line-height:1.4;
	color:var(--fm-sky-text,#0090BE); font-variant-numeric:tabular-nums;
}
.farmo-main .fm-dm__facts strong small{ font-size:15px; margin-left:4px; }
.farmo-main .fm-dm__facts-note{
	flex:1 1 auto; border-right:0; text-align:left; padding-left:30px;
}
.farmo-main .fm-dm__facts-note b{ display:block; font-size:15px; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__facts-note small{ display:block; margin-top:4px; font-size:12px; color:var(--fm-mute,#6C8FA0); }

/* --- 体験の3つ --- */
.farmo-main .fm-dm__exp{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(24px,3.4vw,54px); margin-top:34px; }
.farmo-main .fm-dm__expph{ margin:0; border-radius:24px; overflow:hidden; background:var(--fm-soft,#F5FAFD); }
.farmo-main .fm-dm .fm-dm__expph img{ display:block; width:100%; height:100%; object-fit:cover; }
.farmo-main .fm-dm__explist article{
	display:flex; gap:20px; padding:22px 0; border-bottom:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-dm__explist article:first-child{ padding-top:4px; }
.farmo-main .fm-dm__no{
	flex:0 0 auto; display:grid; place-items:center; width:48px; height:48px; border-radius:16px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE);
	font-size:18px; font-weight:700; font-variant-numeric:tabular-nums;
}
.farmo-main .fm-dm__no--g{ background:#EDF6E2; color:#2F7A4E; }
.farmo-main .fm-dm__no--y{ background:#FDF0D8; color:#A0762A; }
.farmo-main .fm-dm__tag{ margin:0 0 6px; font-size:12.5px; font-weight:700; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-dm__expttl{ margin:0 0 8px; font-size:19px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__exptxt{ margin:0; font-size:13.5px; line-height:1.95; color:var(--fm-sub,#3A6578); }

/* --- 使って実感する一週間 --- */
.farmo-main .fm-dm__try{
	display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(26px,3.4vw,48px); align-items:center;
	padding:clamp(30px,3.4vw,50px); border-radius:28px; background:#F2F9E8;
}
.farmo-main .fm-dm__try .fm-dm__h2{ margin-bottom:14px; }
.farmo-main .fm-dm__checks{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.farmo-main .fm-dm__checks li{ display:flex; align-items:flex-start; gap:14px; }
.farmo-main .fm-dm__check{
	flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; border-radius:50%;
	background:#fff; color:#29976E; font-size:15px; font-weight:700;
}
.farmo-main .fm-dm__checks b{ display:block; font-size:16px; font-weight:700; line-height:1.7; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__checks small{ display:block; margin-top:4px; font-size:13px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__trybtn{ margin:26px 0 0; }

/* --- 3ステップ --- */
.farmo-main .fm-dm__steps{
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;
	margin:30px 0 0; padding:0; list-style:none;
}
.farmo-main .fm-dm__steps li{
	display:flex; flex-direction:column; padding:26px 24px 22px; border-radius:20px;
	background:var(--fm-soft,#F5FAFD);
}
.farmo-main .fm-dm__steps li:nth-child(2){ background:#F7FBEF; }
.farmo-main .fm-dm__steps li:nth-child(3){ background:#FDF6EC; }
.farmo-main .fm-dm__stepno{ margin-bottom:14px; font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-dm__stepttl{ margin:0 0 10px; font-size:18px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__steptxt{ margin:0 0 16px; flex:1 1 auto; font-size:13.5px; line-height:1.95; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__stepfoot{ padding-top:14px; border-top:1px solid rgba(13,43,62,.10); font-size:12px; font-weight:700; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__after{ margin:30px 0 0; text-align:center; font-size:16px; font-weight:600; color:var(--fm-ink,#0D2B3E); }

/* ===== r176b  申し込みまわり（条件・規約・ファーモくん・フォーム） ===== */
.farmo-main .fm-dm__apply{
	padding:clamp(34px,4vw,58px) clamp(24px,3.2vw,52px);
	border-radius:28px; background:linear-gradient(135deg,#E9F6FC,#F1F9E7);
}
.farmo-main .fm-dm__applyintro{ text-align:center; }
.farmo-main .fm-dm__applyintro .fm-dm__lead{ max-width:640px; margin:0 auto; }
.farmo-main .fm-dm__cond{
	margin-top:32px; padding:30px 34px; border-radius:22px; background:#fff;
}
.farmo-main .fm-dm__condttl{ margin:0 0 16px; font-size:18px; font-weight:700; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__cond dl{ margin:0; }
.farmo-main .fm-dm__cond dl > div{
	display:grid; grid-template-columns:150px minmax(0,1fr); gap:0 18px;
	padding:14px 0; border-bottom:1px solid var(--fm-line-soft,#EAF2F7);
}
.farmo-main .fm-dm__cond dt{ font-size:14px; font-weight:700; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-dm__cond dd{ margin:0; font-size:14px; line-height:1.95; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__cond dd strong{ color:var(--fm-ink,#0D2B3E); font-weight:700; }
.farmo-main .fm-dm__hl{ color:var(--fm-sky-text,#0090BE) !important; }
.farmo-main .fm-dm__important{
	margin:20px 0 0; padding:15px 18px; border-radius:12px; background:#FDF6EC;
	font-size:13px; line-height:1.9; color:#7A6237;
}

/* 規約 */
.farmo-main .fm-dm__terms{ margin-top:22px; border-top:1px solid var(--fm-line,#E7EFF3); }
.farmo-main .fm-dm__terms > summary{
	list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:18px;
	padding:18px 0; font-size:14.5px; font-weight:700; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-dm__terms > summary::-webkit-details-marker{ display:none; }
.farmo-main .fm-dm__terms > summary::after{
	content:"＋"; flex:0 0 auto; color:var(--fm-sky-text,#0090BE); font-size:18px; font-weight:400;
}
.farmo-main .fm-dm__terms[open] > summary::after{ content:"－"; }
.farmo-main .fm-dm__termsbd{ padding:4px 0 20px; font-size:13px; line-height:2; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__termsbd h4{ margin:22px 0 6px; font-size:14.5px; font-weight:700; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__termsbd ol{ margin:0; padding-left:1.4em; }
.farmo-main .fm-dm__termsbd li{ margin-bottom:6px; }
.farmo-main .fm-dm__termsbd strong{ color:var(--fm-ink,#0D2B3E); }

/* ファーモくんの誘い */
.farmo-main .fm-dm__choice{
	display:flex; align-items:center; gap:30px; margin-top:42px; scroll-margin-top:110px;
}
.farmo-main .fm-dm__mascot{ flex:0 0 auto; width:170px; margin:0; text-align:center; }
.farmo-main .fm-dm .fm-dm__mascot img{ display:block; width:100%; height:auto; }
.farmo-main .fm-dm__mascot figcaption{ margin-top:6px; font-size:12.5px; font-weight:700; color:var(--fm-sky-text,#0090BE); }
.farmo-main .fm-dm__mascot--s{ width:108px; }
.farmo-main .fm-dm__speech{
	position:relative; flex:1 1 auto; min-width:0;
	padding:30px 34px; border-radius:24px; background:#fff; border:1px solid #B4DFE9;
}
.farmo-main .fm-dm__speech::before{
	content:""; position:absolute; left:-11px; top:64px; width:20px; height:20px;
	background:#fff; border-left:1px solid #B4DFE9; border-bottom:1px solid #B4DFE9;
	transform:rotate(45deg);
}
.farmo-main .fm-dm__speechttl{ margin:0 0 12px; font-size:24px; font-weight:600; line-height:1.65; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__speechtxt{ margin:0 0 22px; font-size:14px; line-height:1.95; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__speechact{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin:0; }

/* フォームの見出し */
.farmo-main .fm-dm__formwrap{ margin-top:40px; scroll-margin-top:110px; }
.farmo-main .fm-dm__formhead{ display:flex; align-items:center; gap:22px; margin:0 0 22px; }
.farmo-main .fm-dm__formttl{ margin:0 0 8px; font-size:23px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__formtxt{ margin:0; font-size:14px; line-height:1.95; color:var(--fm-sub,#3A6578); }

/* --- FAQ（既存の .fm-pfaq を使用） --- */
.farmo-main .fm-dm__faq{ max-width:900px; margin-left:auto; margin-right:auto; }
.farmo-main .fm-dm__faq .fm-pfaq{ margin-top:26px; }

/* ===== r176c  申し込みフォーム本体（CF7） ===== */
.farmo-main .fm-dform{ padding:0; }
.farmo-main .fm-dform .wpcf7-not-valid-tip{ margin-top:6px; font-size:12.5px; color:#B3392C; }
.farmo-main .fm-dform .wpcf7-spinner{ margin-left:10px; }

/* 質問（ウィザード） */
.farmo-main .fm-dform__steps{
	padding:30px 34px; border-radius:22px; background:#fff; border:2px solid #A9DCE7;
}
.farmo-main .fm-dq__count{
	margin:0 0 14px; font-size:12.5px; font-weight:700; letter-spacing:.04em;
	color:var(--fm-sky-text,#0090BE);
}
.farmo-main .fm-dq__q{ margin:0 0 8px; font-size:22px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); word-break:auto-phrase; }
.farmo-main .fm-dq__q--sub{ font-size:17px; margin-top:4px; }
.farmo-main .fm-dq__help{ margin:0 0 18px; font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dq__link{ margin:0 0 16px; font-size:13.5px; font-weight:700; }

/* CF7 のラジオをカード状に */
.farmo-main .fm-dq .wpcf7-radio{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.farmo-main .fm-dq .wpcf7-list-item{ margin:0; }
.farmo-main .fm-dq .wpcf7-list-item label{
	display:flex; align-items:center; gap:12px; width:100%; min-height:60px;
	padding:14px 18px; border:2px solid #DAE8EC; border-radius:14px; cursor:pointer;
	font-size:15px; font-weight:700; line-height:1.6; color:var(--fm-ink,#0D2B3E);
	transition:background-color .15s ease, border-color .15s ease;
}
.farmo-main .fm-dq .wpcf7-list-item label:hover{ background:#F2FAFE; }
.farmo-main .fm-dq .wpcf7-list-item input{ flex:0 0 auto; width:20px; height:20px; margin:0; accent-color:var(--fm-sky,#00B0E4); }
.farmo-main .fm-dq .wpcf7-list-item label:has(input:checked){ background:#EDF7E1; border-color:#76B82A; }
.farmo-main .fm-dq__detail,
.farmo-main .fm-dq__follow{ display:block; margin-top:18px; font-size:14px; font-weight:700; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dq__follow{ padding-top:20px; border-top:1px solid var(--fm-line-soft,#EAF2F7); }
.farmo-main .fm-dq__detail input[type="text"]{
	display:block; width:100%; margin-top:8px; padding:12px 14px;
	border:1px solid #A8C4CE; border-radius:9px; background:#FBFDFE;
	font-size:16px; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-dq__error{ margin:14px 0 0; min-height:1.6em; font-size:13.5px; color:#B3392C; }
.farmo-main .fm-dq__nav{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:8px; }
.farmo-main .fm-dq__back{
	padding:10px 18px; border:1px solid #95BBC6; border-radius:999px; background:#fff;
	color:var(--fm-sky-text,#0090BE); font:inherit; font-size:13px; font-weight:700; cursor:pointer;
}
.farmo-main .fm-dq__back:disabled{ opacity:.4; cursor:default; }
.farmo-main .fm-dq__next{ border:0; }

/* 入力欄 */
.farmo-main .fm-dform__fields{ margin-top:30px; padding:32px 36px; border-radius:22px; background:#fff; }
.farmo-main .fm-dform--simple .fm-dform__fields{ margin-top:0; }
.farmo-main .fm-dform__step{
	display:inline-block; margin:0 0 12px; padding:5px 13px; border-radius:999px;
	background:var(--fm-tint,#E6F5FC); color:var(--fm-sky-text,#0090BE); font-size:12.5px; font-weight:700;
}
.farmo-main .fm-dform__ttl{ margin:0 0 24px; font-size:21px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dform__grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.farmo-main .fm-dform__grid > label{ display:block; min-width:0; font-size:14px; font-weight:700; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dform__full{ grid-column:1 / -1; }
.farmo-main .fm-dform__req,
.farmo-main .fm-dform__opt{ display:inline-block; margin-left:6px; font-size:11.5px; font-weight:400; }
.farmo-main .fm-dform__req{ padding:1px 7px; border-radius:5px; background:#FFF4D2; color:#946016; }
.farmo-main .fm-dform__opt{ color:var(--fm-mute,#6C8FA0); }
.farmo-main .fm-dform__grid input[type="text"],
.farmo-main .fm-dform__grid input[type="email"],
.farmo-main .fm-dform__grid input[type="tel"],
.farmo-main .fm-dform__grid select,
.farmo-main .fm-dform__grid textarea{
	display:block; width:100%; min-width:0; margin-top:8px; padding:12px 14px;
	border:1px solid #A8C4CE; border-radius:9px; background:#FBFDFE;
	font:inherit; font-size:16px; font-weight:400; color:var(--fm-ink,#0D2B3E);
}
.farmo-main .fm-dform__grid textarea{ resize:vertical; min-height:110px; }
.farmo-main .fm-dform__grid .wpcf7-form-control-wrap{ display:block; }
.farmo-main .fm-dform__review{ margin-top:22px; }
.farmo-main .fm-dform__consent{
	display:flex; align-items:flex-start; gap:12px; margin-top:24px; padding-top:22px;
	border-top:1px solid var(--fm-line-soft,#EAF2F7);
	font-size:13.5px; line-height:1.9; color:var(--fm-sub,#3A6578); cursor:pointer;
}
.farmo-main .fm-dform__consent .wpcf7-acceptance,
.farmo-main .fm-dform__consent .wpcf7-list-item{ margin:0; }
.farmo-main .fm-dform__consent input[type="checkbox"]{ width:20px; height:20px; margin:3px 0 0; accent-color:var(--fm-sky,#00B0E4); }
.farmo-main .fm-dform__submit{ margin-top:26px; text-align:center; }
.farmo-main .fm-dform__submit input[type="submit"]{ border:0; min-width:260px; cursor:pointer; }
.farmo-main .fm-dform .wpcf7-response-output{
	margin:22px 0 0; padding:14px 18px; border-radius:12px;
	border:1px solid var(--fm-line,#E7EFF3); background:var(--fm-soft,#F5FAFD);
	font-size:14px; line-height:1.9;
}
.farmo-main .fm-dform form.sent .wpcf7-response-output{ border-color:#BFE0A5; background:#F4FBEA; color:#2F7A4E; }

/* 送信完了のファーモくん */
.farmo-main .fm-dm__thanks{ margin-top:28px; padding:30px 34px; border-radius:24px; background:#fff; text-align:center; }
.farmo-main .fm-dm__thanks .fm-dm__mascot{ width:180px; margin:0 auto 10px; }
.farmo-main .fm-dm__thanksttl{ margin:0 0 10px; font-size:24px; font-weight:600; line-height:1.6; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__thankstxt{ margin:0; font-size:14.5px; line-height:1.95; color:var(--fm-sub,#3A6578); }

/* ===== r176d  デモ機ページ：レスポンシブ ===== */
@media (max-width:1000px){
	.farmo-main .fm-dm{ --dm-gap:72px; }
	.farmo-main .fm-dm__hero{ grid-template-columns:1fr; }
	.farmo-main .fm-dm__heroart{ width:min(100%,420px); margin:6px auto 0; }
	.farmo-main .fm-dm__exp{ grid-template-columns:1fr; }
	.farmo-main .fm-dm .fm-dm__expph img{ max-height:420px; }
	.farmo-main .fm-dm__try{ grid-template-columns:1fr; }
	.farmo-main .fm-dm__steps{ grid-template-columns:1fr; }
	.farmo-main .fm-dm__cond dl > div{ grid-template-columns:1fr; gap:4px; }
	.farmo-main .fm-dform__steps,
	.farmo-main .fm-dform__fields{ padding:26px 22px; }
}
@media (max-width:820px){
	.farmo-main .fm-dm__choice{ flex-direction:column; gap:18px; }
	.farmo-main .fm-dm__speech{ width:100%; }
	.farmo-main .fm-dm__speech::before{ left:calc(50% - 10px); top:-11px; transform:rotate(135deg); }
	.farmo-main .fm-dm__speechact{ align-items:stretch; }
	.farmo-main .fm-dm__speechact .farmo-btn{ justify-content:center; }
}
@media (max-width:640px){
	.farmo-main .fm-dm{ --dm-gap:56px; }
	.farmo-main .fm-dm__hero{ padding:28px 20px 24px; border-radius:20px; }
	.farmo-main .fm-dm__herobtn .farmo-btn{ display:flex; width:100%; justify-content:center; }
	.farmo-main .fm-dm__bubble{ left:0; font-size:13px; padding:9px 16px; }
	.farmo-main .fm-dm__bubble strong{ font-size:16px; }
	.farmo-main .fm-dm__facts{ flex-wrap:wrap; padding:16px 18px; }
	.farmo-main .fm-dm__facts > li{ flex:1 1 0; padding:2px 10px; }
	.farmo-main .fm-dm__facts > li:nth-child(2){ border-right:0; }
	.farmo-main .fm-dm__facts strong{ font-size:28px; }
	.farmo-main .fm-dm__facts-note{ flex:1 0 100%; margin-top:14px; padding:14px 0 0 0; border-top:1px solid var(--fm-line,#E7EFF3); text-align:center; }
	.farmo-main .fm-dm__try{ padding:26px 20px; border-radius:20px; }
	.farmo-main .fm-dm__trybtn .farmo-btn{ display:flex; width:100%; justify-content:center; }
	.farmo-main .fm-dm__apply{ padding:28px 16px; border-radius:20px; }
	.farmo-main .fm-dm__cond{ padding:22px 18px; }
	.farmo-main .fm-dm__mascot{ width:140px; }
	.farmo-main .fm-dm__speech{ padding:22px 18px; }
	.farmo-main .fm-dm__speechttl{ font-size:20px; }
	.farmo-main .fm-dm__formhead{ gap:14px; }
	.farmo-main .fm-dm__mascot--s{ width:76px; }
	.farmo-main .fm-dm__formttl{ font-size:19px; }
	.farmo-main .fm-dform__steps,
	.farmo-main .fm-dform__fields{ padding:22px 16px; border-radius:18px; }
	.farmo-main .fm-dq__q{ font-size:19px; }
	.farmo-main .fm-dq .wpcf7-radio{ grid-template-columns:1fr; gap:10px; }
	.farmo-main .fm-dq .wpcf7-list-item label{ min-height:52px; padding:12px 14px; font-size:14.5px; }
	.farmo-main .fm-dform__grid{ grid-template-columns:1fr; gap:18px; }
	.farmo-main .fm-dform__submit input[type="submit"]{ width:100%; min-width:0; }
	.farmo-main .fm-dm__no{ width:40px; height:40px; border-radius:13px; font-size:16px; }
	.farmo-main .fm-dm__expttl{ font-size:17px; }
}

/* ===== r176e  デモ機ページのコンテナ ===== */
.farmo-main .farmo-freebody > .fm-dm{
	width:min(1120px, 100% - 48px); margin:40px auto 0;
}
@media (max-width:820px){
	.farmo-main .farmo-freebody > .fm-dm{ width:min(100%, 100% - 34px); margin-top:26px; }
}

/* ===== r176f  CF7 の応答表示（.wpcf7 はフォームの外側にある） ===== */
.farmo-main .fm-dm .wpcf7 .wpcf7-response-output{
	margin:22px 0 0; padding:14px 18px; border-radius:12px;
	border:1px solid var(--fm-line,#E7EFF3); background:var(--fm-soft,#F5FAFD);
	font-size:14px; line-height:1.9;
}
.farmo-main .fm-dm .wpcf7 form.sent .wpcf7-response-output{ border-color:#BFE0A5; background:#F4FBEA; color:#2F7A4E; }
.farmo-main .fm-dm .wpcf7 form.invalid .wpcf7-response-output,
.farmo-main .fm-dm .wpcf7 form.failed .wpcf7-response-output{ border-color:#E8BDB6; background:#FDF3F1; color:#A93025; }
.farmo-main .fm-dm .wpcf7-not-valid-tip{ display:block; margin-top:6px; font-size:12.5px; font-weight:400; color:#B3392C; }
.farmo-main .fm-dm .wpcf7-form-control.wpcf7-not-valid{ border-color:#D08A80; }

/* ===== r177  /demo/ フロントページ ===== */
.farmo-main .fm-dm--front .fm-dm__facts{ margin-top:28px; }

/* おすすめ（ハウスファーモ） */
.farmo-main .fm-dm__pick{
	display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(22px,3vw,46px);
	padding:clamp(32px,3.6vw,52px) clamp(26px,3.2vw,50px);
	border-radius:28px; background:linear-gradient(112deg,#E9F6FC 0%,#F1F9E7 100%);
}
.farmo-main .fm-dm__pickttl{
	margin:0 0 16px; font-size:clamp(25px,2.8vw,36px); font-weight:700; line-height:1.5;
	letter-spacing:.012em; color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-dm__picklead{ margin:0 0 20px; font-size:15px; line-height:2; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__picklist{ margin:0 0 26px; padding:0; list-style:none; display:grid; gap:10px; }
.farmo-main .fm-dm__picklist li{
	position:relative; padding-left:28px; font-size:14px; line-height:1.85; color:var(--fm-ink,#0D2B3E); font-weight:600;
}
.farmo-main .fm-dm__picklist li::before{
	content:""; position:absolute; left:0; top:.45em; width:17px; height:17px; border-radius:50%;
	background:var(--fm-green,#76B82A);
	-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 100 16A8 8 0 008 0zm-1 11.4L3.6 8l1.1-1.1L7 9.2l4.3-4.3 1.1 1.1z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 100 16A8 8 0 008 0zm-1 11.4L3.6 8l1.1-1.1L7 9.2l4.3-4.3 1.1 1.1z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
}
.farmo-main .fm-dm__pickbtn{ margin:0; }
.farmo-main .fm-dm__pickart{ position:relative; padding-top:42px; }
.farmo-main .fm-dm .fm-dm__pickart img{ display:block; width:100%; height:auto; border-radius:22px; mix-blend-mode:multiply; }

/* そのほかの製品 */
.farmo-main .fm-dm__others{
	display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;
	margin:30px 0 0; padding:0; list-style:none;
}
.farmo-main .fm-dm__others li{
	padding:22px 20px; border-radius:18px; background:#fff; border:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-dm__otherttl{ margin:0 0 8px; font-size:16px; font-weight:700; color:var(--fm-ink,#0D2B3E); }
.farmo-main .fm-dm__othertxt{ margin:0; font-size:13px; line-height:1.9; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__othersbtn{ margin:26px 0 0; text-align:center; }

/* 締めのCTA */
.farmo-main .fm-dm__cta{
	display:flex; align-items:center; gap:clamp(20px,3vw,44px);
	padding:clamp(30px,3.4vw,48px) clamp(26px,3.2vw,50px);
	border-radius:28px; background:var(--fm-soft,#F5FAFD); border:1px solid var(--fm-line,#E7EFF3);
}
.farmo-main .fm-dm__cta .fm-dm__mascot{ width:160px; }
.farmo-main .fm-dm__ctabd{ flex:1 1 auto; min-width:0; }
.farmo-main .fm-dm__ctattl{
	margin:0 0 12px; font-size:clamp(22px,2.4vw,30px); font-weight:700; line-height:1.55;
	color:var(--fm-ink,#0D2B3E); word-break:auto-phrase;
}
.farmo-main .fm-dm__ctatxt{ margin:0 0 24px; font-size:14.5px; line-height:1.95; color:var(--fm-sub,#3A6578); }
.farmo-main .fm-dm__ctabtns{ display:flex; flex-wrap:wrap; gap:14px; margin:0; }

@media (max-width:1000px){
	.farmo-main .fm-dm__pick{ grid-template-columns:1fr; }
	.farmo-main .fm-dm__pickart{ width:min(100%,420px); margin:4px auto 0; }
	.farmo-main .fm-dm__others{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px){
	.farmo-main .fm-dm__cta{ flex-direction:column; text-align:center; }
	.farmo-main .fm-dm__ctabtns{ justify-content:center; }
}
@media (max-width:640px){
	.farmo-main .fm-dm__pick{ padding:26px 20px; border-radius:20px; }
	.farmo-main .fm-dm__pickbtn .farmo-btn{ display:flex; width:100%; justify-content:center; }
	.farmo-main .fm-dm__others{ grid-template-columns:1fr; gap:12px; }
	.farmo-main .fm-dm__othersbtn .farmo-btn{ display:flex; width:100%; justify-content:center; }
	.farmo-main .fm-dm__cta{ padding:26px 20px; border-radius:20px; }
	.farmo-main .fm-dm__cta .fm-dm__mascot{ width:130px; }
	.farmo-main .fm-dm__ctabtns{ flex-direction:column; }
	.farmo-main .fm-dm__ctabtns .farmo-btn{ display:flex; width:100%; justify-content:center; }
}

/* CF7 のエラー表示：親テーマの赤ベタを解除 */
.farmo-main .fm-dm .wpcf7-not-valid-tip{
	background:none !important; padding:0 !important; border:0 !important;
}

/* ===== r177b  基本条件の帯：スマホで注記を折り返す ===== */
@media (max-width:820px){
	.farmo-main .fm-dm__facts > li.fm-dm__facts-note{
		flex:1 0 100%; order:3; margin-top:14px; padding:14px 0 0;
		border-right:0; border-top:1px solid var(--fm-line,#E7EFF3); text-align:center;
	}
	.farmo-main .fm-dm__facts > li:not(.fm-dm__facts-note){ flex:1 1 0; padding:2px 12px; }
	.farmo-main .fm-dm__facts > li:not(.fm-dm__facts-note):last-of-type{ border-right:0; }
	.farmo-main .fm-dm__facts strong{ font-size:30px; }
}
