@charset "UTF-8";
/* 商品特徴専用。前段のイラスト・共通ヘッダー・共通フッターは既存のまま。 */
.fp-redesign {
    --fp-green: #006d4b;
    --fp-ink: #153a32;
    --fp-text: #293b40;
    --fp-muted: #455d63;
    --fp-border: #d0e2d8;
    background: #fff;
    color: var(--fp-text);
    font-family: "Hiragino Sans", "Meiryo", "Noto Sans CJK JP", "Yu Gothic", sans-serif;
    font-feature-settings: normal;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0;
    overflow-wrap: break-word;
    text-align: left;
}
.fp-redesign *, .fp-redesign *::before, .fp-redesign *::after, .fp-lightbox * { box-sizing: border-box; }
.fp-redesign :is(h2,h3,h4,p,ul,dl,figure) { margin: 0; }
.fp-redesign :is(h2,h3,h4) { font-weight: 700; color: var(--fp-ink); }
.fp-redesign strong { font-weight: 700; }
.fp-redesign :is(p,li,dd) { line-break: strict; text-wrap: pretty; }
.fp-redesign :is(a,button):focus-visible, .fp-lightbox button:focus-visible { outline: 3px solid #00769b; outline-offset: 4px; }
.fp-redesign .fp-inner { width: min(1080px, calc(100% - 40px)); min-width: 0; margin: 0 auto; }
.fp-redesign .fp-keep { white-space: nowrap; }
.fp-redesign .fp-title-line { display: inline; }
.fp-redesign .fp-section { padding: 58px 0; margin: 0; border: 0; scroll-margin-top: var(--fp-header-offset, 150px); }
.fp-redesign .fp-section-tint { background: #f0f7f2; }
.fp-redesign .fp-section-soft { background: #f4f7f9; }
.fp-redesign #kyotu.fp-section { padding: 58px 0; }
.fp-redesign #merit.fp-section { border: 0; background: #f0f7f2; }
/* ページ内メニュー：主要諸元と同じく、読む場所を先に把握できます。 */
.fp-redesign .fp-overview { padding: 34px 0; background: #fff; }
.fp-redesign .fp-overview-title { font-size: 16px; font-weight: 700; color: var(--fp-ink); margin-bottom: 12px; text-align: center; }
.fp-redesign nav.fp-overview-links { position: static; border: 0; z-index: auto; background: transparent; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.fp-redesign .fp-overview-links a { display: flex; align-items: center; gap: 12px; min-height: 58px; color: var(--fp-ink); padding: 12px 16px; background: #f1f7f4; border: 1px solid var(--fp-border); border-radius: 8px; font-size: 16px; font-weight: 700; line-height: 1.5; text-decoration: none; }
.fp-redesign .fp-overview-links a:hover { border-color: var(--fp-green); background: #e7f3eb; }
.fp-redesign .fp-overview-number { display: block; flex-shrink: 0; font-size: 21px; line-height: 1.5; color: var(--fp-green); font-family: Arial,sans-serif; }
.fp-redesign .fp-overview-text { display: block; min-width: 0; line-height: 1.5; }
/* 大きな番号と左揃えの見出し。説明に固定改行を入れません。 */
.fp-redesign .fp-section-heading { display: grid; grid-template-columns: 76px minmax(0,1fr); column-gap: 20px; row-gap: 10px; align-items: start; text-align: left; margin-bottom: 30px; }
.fp-redesign .fp-section-number { grid-column: 1; grid-row: 1 / 3; display: flex; flex-direction: column; color: var(--fp-green); text-align: left; line-height: 1; padding-top: 3px; }
.fp-redesign .fp-section-number span { font: 700 56px/1 Arial,sans-serif; letter-spacing: -.04em; }
.fp-redesign .fp-section-number small { font: 700 10px/1.5 Arial,sans-serif; letter-spacing: .09em; margin-top: 7px; }
.fp-redesign .fp-section-heading h2 { grid-column: 2; font-size: 34px; line-height: 1.45; letter-spacing: .01em; }
.fp-redesign .fp-section-lead { grid-column: 2; max-width: 900px; color: var(--fp-muted); font-size: 18px; line-height: 1.85; text-align: left; }
.fp-redesign .fp-grid { display: grid; gap: 24px; }
.fp-redesign .fp-grid-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.fp-redesign .fp-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.fp-redesign .fp-grid > * { min-width: 0; }
/* 01：強みを大きな言葉・数字・大きな図版で伝える。 */
.fp-redesign .fp-strength-list { display: grid; gap: 24px; }
.fp-redesign .fp-strength-card { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 36px; align-items: center; padding: 30px; border: 1px solid var(--fp-border); border-left: 5px solid #55bb32; border-radius: 14px; background: #fff; box-shadow: 0 5px 20px rgb(32 75 53 / 5%); }
.fp-redesign .fp-strength-copy { min-width: 0; }
.fp-redesign .fp-strength-copy h3 { font-size: 29px; line-height: 1.45; letter-spacing: 0; margin-bottom: 18px; }
.fp-redesign .fp-card-label { display: table; padding: 4px 10px; margin-bottom: 12px; border-radius: 5px; background: #e7f4eb; color: var(--fp-green); font-size: 14px; font-weight: 700; line-height: 1.6; }
.fp-redesign .fp-weight { display: flex; gap: 6px; align-items: baseline; color: var(--fp-green); line-height: 1.1; }
.fp-redesign .fp-weight strong { font: 700 70px/1.1 Arial,sans-serif; letter-spacing: -.04em; }
.fp-redesign .fp-weight > span { font-size: 31px; font-weight: 700; }
.fp-redesign .fp-weight-note { font-size: 14px; color: var(--fp-muted); margin-top: 3px; margin-bottom: 18px; }
.fp-redesign .fp-key-points { list-style: none; padding: 0; }
.fp-redesign .fp-key-points li { padding-left: 20px; position: relative; margin-top: 8px; }
.fp-redesign .fp-key-points li::before { content: "✓"; position: absolute; left: 0; color: var(--fp-green); font-weight: 700; }
.fp-redesign .fp-strength-message { color: var(--fp-green); border-left: 3px solid #9bccb1; padding-left: 16px; margin-bottom: 18px; font-size: 18px; line-height: 1.6; }
.fp-redesign .fp-strength-message strong { font-size: 27px; }
.fp-redesign .fp-strength-media { min-width: 0; }
.fp-redesign .fp-strength-media .fp-zoom { height: 310px; }
/* 共通カード */
.fp-redesign .fp-card { display: flex; flex-direction: column; min-width: 0; padding: 26px; border: 1px solid var(--fp-border); border-radius: 12px; background: #fff; }
.fp-redesign .fp-card :is(h3,h4) { font-size: 23px; line-height: 1.45; margin-bottom: 14px; }
.fp-redesign .fp-card-copy { margin-bottom: 20px; text-align: left; }
.fp-redesign .fp-card-copy > p + p { margin-top: 12px; }
.fp-redesign .fp-note { color: var(--fp-muted); font-size: 14px; line-height: 1.7; font-weight: 400; text-align: left; }
/* 図版は縮小で読めなくならないよう、説明と分けて広く表示。 */
.fp-redesign .fp-figure { min-width: 0; text-align: left; }
.fp-redesign .fp-figure figcaption { margin-top: 8px; color: var(--fp-muted); font-size: 13px; line-height: 1.6; text-align: left; }
.fp-redesign .fp-zoom { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 260px; padding: 12px 10px 34px; border: 1px solid #dce7e1; border-radius: 9px; background: #fff; font: inherit; cursor: zoom-in; }
.fp-redesign .fp-zoom img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.fp-redesign .fp-zoom-label { position: absolute; right: 8px; bottom: 6px; color: #3b5c53; background: #edf5f0; padding: 1px 8px; border-radius: 4px; font-size: 12px; font-weight: 700; }
.fp-redesign .fp-zoom:hover { border-color: var(--fp-green); }
.fp-redesign :is(.fp-media-pair,.fp-app-images,.fp-graph-images) { display: grid; gap: 12px; }
.fp-redesign .fp-media-pair, .fp-redesign .fp-graph-images { grid-template-columns: repeat(2,minmax(0,1fr)); }
.fp-redesign .fp-app-images { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.fp-redesign .fp-card > .fp-figure, .fp-redesign .fp-card > :is(.fp-app-images,.fp-graph-images) { margin-top: auto; }
/* 02：操作する場所の違いを見比べる。 */
.fp-redesign .fp-local { --fp-type: #155a98; --fp-type-light: #edf5fc; }
.fp-redesign .fp-remote { --fp-type: #b74908; --fp-type-light: #fff4e9; }
.fp-redesign .fp-type-card { display: flex; flex-direction: column; padding: 28px; background: var(--fp-type-light); border: 1px solid color-mix(in srgb,var(--fp-type) 25%,white); border-top: 5px solid var(--fp-type); border-radius: 12px; }
.fp-redesign .fp-type-tag { margin-bottom: 10px; color: var(--fp-type); font-size: 14px; font-weight: 700; line-height: 1.5; }
.fp-redesign .fp-type-card h3 { color: var(--fp-type); font-size: 31px; line-height: 1.4; }
.fp-redesign .fp-type-catch { margin: 14px 0 20px; font-size: 22px; font-weight: 700; line-height: 1.6; letter-spacing: 0; }
.fp-redesign .fp-check-list { list-style: none; padding: 0; margin-bottom: 22px; }
.fp-redesign .fp-check-list li { position: relative; padding-left: 22px; margin: 9px 0; }
.fp-redesign .fp-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--fp-type); font-weight: 700; }
.fp-redesign .fp-button { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 13px 16px; margin-top: auto; color: #fff; background: var(--fp-type); border-radius: 7px; font-size: 16px; font-weight: 700; text-decoration: none; line-height: 1.6; }
.fp-redesign .fp-button:hover { text-decoration: none; filter: brightness(.92); }
/* 03：機側の画面は横長の説明＋図版にして読みやすく。 */
.fp-redesign :is(#kisoku,#enkaku).fp-type-detail { padding: 0; margin: 0; background: transparent; scroll-margin-top: var(--fp-header-offset,150px); counter-reset: fp-function; }
.fp-redesign #enkaku.fp-type-detail { margin-top: 54px; }
.fp-redesign .fp-subheading { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 30px; align-items: center; padding: 26px 28px; margin-bottom: 24px; border-left: 5px solid var(--fp-type); border-radius: 0 12px 12px 0; background: var(--fp-type-light); }
.fp-redesign .fp-subheading-title { min-width: 0; }
.fp-redesign .fp-subheading-title .fp-type-tag { margin-bottom: 8px; font-size: 15px; }
.fp-redesign .fp-subheading h3 { color: var(--fp-type); font-size: 32px; line-height: 1.45; }
.fp-redesign .fp-subheading-copy { min-width: 0; padding-left: 28px; border-left: 1px solid color-mix(in srgb,var(--fp-type) 25%,white); text-align: left; }
.fp-redesign .fp-detail-catch { margin-bottom: 12px; color: var(--fp-type); font-size: 25px; font-weight: 700; line-height: 1.55; }
.fp-redesign .fp-subheading-copy > p:not(.fp-detail-catch) + p { margin-top: 6px; }
.fp-redesign .fp-detail-points { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; padding: 0; color: var(--fp-type); font-size: 16px; font-weight: 700; }
.fp-redesign .fp-detail-points li::before { content: "✓"; margin-right: 7px; }
.fp-redesign .fp-type-detail .fp-card { counter-increment: fp-function; border-top: 4px solid var(--fp-type); box-shadow: 0 4px 16px rgb(30 60 80 / 5%); }
.fp-redesign .fp-type-detail .fp-card h4 { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid color-mix(in srgb,var(--fp-type) 18%,white); color: var(--fp-type); font-size: 25px; line-height: 1.5; }
.fp-redesign .fp-type-detail .fp-card h4::before { content: counter(fp-function,decimal-leading-zero); display: flex; align-items: center; justify-content: center; flex: 0 0 34px; height: 34px; margin-top: 2px; border-radius: 50%; background: var(--fp-type); color: #fff; font: 700 16px/1 Arial,sans-serif; }
.fp-redesign .fp-function-title { min-width: 0; }
.fp-redesign .fp-function-highlight { margin-bottom: 12px; color: var(--fp-type); font-size: 20px; font-weight: 700; line-height: 1.65; }
.fp-redesign .fp-type-detail .fp-card-copy strong { color: var(--fp-type); }
.fp-redesign .fp-local-grid { display: grid; gap: 20px; }
.fp-redesign .fp-local-grid .fp-card { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); column-gap: 32px; align-items: center; }
.fp-redesign .fp-function-copy { min-width: 0; }
.fp-redesign .fp-local-grid .fp-card > :is(.fp-figure,.fp-app-images) { grid-column: 2; align-self: center; margin-top: 0; }
.fp-redesign .fp-local-grid .fp-card-copy { margin-bottom: 0; }
.fp-redesign .fp-app-images .fp-zoom { height: 290px; padding: 6px 5px 34px; }
.fp-redesign .fp-network { padding: 24px; margin-bottom: 24px; background: #fff; border: 1px solid var(--fp-border); border-radius: 12px; }
.fp-redesign .fp-network .fp-figure { max-width: 920px; margin: 0 auto 16px; }
.fp-redesign .fp-network .fp-zoom { height: auto; min-height: 160px; }
.fp-redesign .fp-network img { width: 100%; max-height: none; }
.fp-redesign .fp-plan-list { display: grid; gap: 10px; }
.fp-redesign .fp-plan-list > div { display: grid; grid-template-columns: 6em minmax(0,1fr); gap: 12px; align-items: start; padding: 10px 12px; background: var(--fp-type-light); border-radius: 6px; }
.fp-redesign .fp-plan-list dt { color: var(--fp-type); font-size: 16px; font-weight: 700; }
.fp-redesign .fp-plan-list dd { margin: 0; font-size: 16px; }
.fp-redesign .fp-graph-images .fp-zoom { height: 190px; padding: 6px 5px 34px; }
/* 04：電源とセンサー */
.fp-redesign .fp-power-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 30px; align-items: center; padding: 28px; margin-bottom: 24px; background: #f1f8f3; border: 1px solid var(--fp-border); border-radius: 12px; }
.fp-redesign .fp-power-copy h3 { font-size: 26px; line-height: 1.5; margin-bottom: 16px; }
.fp-redesign .fp-power-panel .fp-zoom { height: 220px; }
.fp-redesign .fp-sensor-grid .fp-card { display: flex; padding: 24px; }
.fp-redesign .fp-sensor-grid .fp-card-label { display: flex; align-items: center; width: 100%; min-height: 42px; padding: 9px 12px; margin-bottom: 20px; font-size: 15px; line-height: 1.6; }
.fp-redesign .fp-sensor-body { display: grid; grid-template-columns: minmax(0,1fr) 145px; gap: 20px; align-items: start; }
.fp-redesign .fp-sensor-copy { min-width: 0; }
.fp-redesign .fp-sensor-copy h3 { font-size: 24px; margin-bottom: 14px; }
.fp-redesign .fp-sensor-copy .fp-card-copy { margin-bottom: 0; font-size: 17px; }
.fp-redesign .fp-sensor-body .fp-zoom { height: 190px; }
/* 05：実証の数字を主役に。注記は同じ面に常時表示。 */
.fp-redesign .fp-result-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 32px; align-items: center; padding: 34px; margin-bottom: 24px; border-radius: 14px; background: linear-gradient(120deg,#005d43,#008159); color: #fff; }
.fp-redesign .fp-result-label { font-size: 23px; font-weight: 700; }
.fp-redesign .fp-big-number { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px; color: #fff; line-height: 1.2; margin-top: 10px; }
.fp-redesign .fp-big-number strong { font: 700 100px/1.1 Arial,sans-serif; letter-spacing: -.05em; }
.fp-redesign .fp-number-prefix { font-size: 20px; font-weight: 700; }
.fp-redesign .fp-number-unit { font-size: 35px; font-weight: 700; }
.fp-redesign .fp-number-suffix { font-size: 25px; font-weight: 700; }
.fp-redesign .fp-result-copy .fp-note { margin-top: 12px; color: #e5f3ec; }
.fp-redesign .fp-merit-grid .fp-card-copy { margin-bottom: 0; font-size: 16px; }
.fp-redesign .fp-before-after > p + p { margin-top: 8px; }
.fp-redesign .fp-before-label { color: #5d6c72; font-size: 14px; font-weight: 700; }
.fp-redesign .fp-before-after .fp-after-label { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--fp-border); color: var(--fp-green); font-size: 14px; font-weight: 700; }
.fp-redesign .fp-evidence { margin-top: 18px; padding: 14px; background: #edf7f0; border-radius: 7px; font-size: 15px; }
.fp-redesign .fp-evidence > p + p { margin-top: 8px; }
.fp-redesign .fp-evidence strong { color: var(--fp-green); font-size: 17px; }
/* 3枚の「今までは」「シリーズなら」「実績」を共通の行にそろえる。
   行の高さは文章量から決まり、文字拡大や改行にも追従します。 */
@supports (grid-template-rows: subgrid) {
    @media screen and (min-width: 961px) {
        .fp-redesign .fp-merit-grid { grid-template-rows: repeat(7,auto); row-gap: 0; }
        .fp-redesign .fp-merit-grid > .fp-card { display: grid; grid-template-rows: subgrid; grid-row: span 7; }
        .fp-redesign .fp-merit-grid > .fp-card > .fp-card-label { align-self: start; }
        .fp-redesign .fp-merit-grid > .fp-card > h3 { align-self: start; }
        .fp-redesign .fp-merit-grid .fp-card-copy { display: grid; grid-template-rows: subgrid; grid-row: 3 / span 5; }
        .fp-redesign .fp-merit-grid .fp-before-after { display: grid; grid-template-rows: subgrid; grid-row: 1 / span 4; }
        .fp-redesign .fp-merit-grid .fp-evidence { display: flex; flex-direction: column; grid-row: 5; }
        .fp-redesign .fp-merit-grid .fp-evidence > .fp-note { margin-top: auto; padding-top: 8px; }
    }
}
/* 06：共通お問い合わせへ続く */
.fp-redesign .fp-section-last { padding-bottom: 30px; }
.fp-redesign nav.fp-next-grid { position: static; border: 0; z-index: auto; background: transparent; }
.fp-redesign .fp-next-card { display: flex; flex-direction: column; padding: 25px; color: var(--fp-text); background: #fff; border: 1px solid var(--fp-border); border-radius: 12px; text-decoration: none; transition: border-color .2s,box-shadow .2s; }
.fp-redesign .fp-next-category { color: var(--fp-green); font-size: 12px; font-weight: 700; letter-spacing: .06em; margin-bottom: 10px; }
.fp-redesign .fp-next-card h3 { font-size: 24px; line-height: 1.5; margin-bottom: 12px; }
.fp-redesign .fp-next-card p { font-size: 17px; color: var(--fp-text); margin-bottom: 20px; text-align: left; }
.fp-redesign .fp-next-action { display: flex; justify-content: space-between; gap: 12px; padding-top: 14px; margin-top: auto; color: var(--fp-green); border-top: 1px solid var(--fp-border); font-size: 15px; font-weight: 700; }
.fp-redesign .fp-next-card:hover { text-decoration: none; border-color: #68a58c; box-shadow: 0 5px 18px rgb(30 72 57 / 8%); }
/* 04〜06は緑、03はタイプの色で、カード上辺の線幅を共通にする。 */
.fp-redesign :is(.fp-power-panel,.fp-sensor-card),
.fp-redesign .fp-merit-grid > .fp-card,
.fp-redesign .fp-next-card { border-top: 4px solid var(--fp-green); }
.fp-redesign .fp-next-card:hover { border-top-color: var(--fp-green); }
/* 最下部のご相談案内：緑の枠線を外し、背景色で区切る。 */
.fp-redesign .fp-footer-bridge {
    margin-top: 32px;
    padding: 30px 34px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(115deg, #eaf5ed, #f3f9f6);
    color: var(--fp-text);
    font-size: 17px;
    text-align: left;
}
.fp-redesign .fp-consult-label { margin-bottom: 9px; color: var(--fp-green); font-size: 14px; font-weight: 700; letter-spacing: .06em; }
.fp-redesign .fp-footer-bridge h3 { margin-bottom: 14px; font-size: 28px; line-height: 1.5; }
.fp-redesign .fp-footer-bridge > p:last-child { margin-top: 6px; }
/* 拡大表示：閉じるボタンの行を確保し、残りの高さに画像を収める。 */
.fp-lightbox { box-sizing: border-box; inset: 0; margin: auto; width: min(1100px,calc(100% - 32px)); max-width: calc(100% - 32px); height: min(820px,calc(100vh - 32px)); height: min(820px,calc(100dvh - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding: 20px; overflow: hidden; border: 0; border-radius: 12px; background: #fff; color: #253e4a; }
.fp-lightbox[open] { display: grid; grid-template-rows: auto minmax(0,1fr); gap: 16px; }
.fp-lightbox::backdrop { background: rgb(18 35 41 / 75%); }
.fp-lightbox-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-width: 0; }
.fp-lightbox-toolbar p { min-width: 0; margin: 0; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.fp-lightbox-close { flex-shrink: 0; min-width: 86px; min-height: 44px; padding: 10px 14px; font: inherit; font-size: 14px; white-space: nowrap; cursor: pointer; border: 1px solid #b9cdc3; border-radius: 6px; background: #f2f8f5; }
.fp-lightbox-image { display: block; min-width: 0; min-height: 0; margin: 0; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; }
@media screen and (max-width: 960px) {
    .fp-redesign .fp-strength-card { gap: 24px; padding: 25px; }
    .fp-redesign .fp-strength-copy h3 { font-size: 26px; }
    .fp-redesign .fp-strength-media .fp-zoom { height: 270px; }
    .fp-redesign .fp-type-grid { grid-template-columns: 1fr; }
    .fp-redesign .fp-power-panel { grid-template-columns: 1fr; }
    .fp-redesign .fp-sensor-body { grid-template-columns: 1fr; gap: 18px; }
    .fp-redesign .fp-sensor-body .fp-zoom { height: 210px; }
    .fp-redesign .fp-merit-grid, .fp-redesign .fp-next-grid { grid-template-columns: 1fr; }
}
@media screen and (max-width: 760px) {
    .fp-redesign .fp-strength-card { grid-template-columns: 1fr; gap: 22px; }
    .fp-redesign .fp-local-grid .fp-card { display: flex; }
    .fp-redesign .fp-local-grid .fp-card-copy { margin-bottom: 20px; }
    .fp-redesign .fp-local-grid .fp-card > :is(.fp-figure,.fp-app-images) { align-self: stretch; }
    .fp-redesign .fp-subheading { grid-template-columns: 1fr; gap: 16px; }
    .fp-redesign .fp-subheading-copy { padding-left: 0; padding-top: 16px; border-left: 0; border-top: 1px solid color-mix(in srgb,var(--fp-type) 25%,white); }
    .fp-redesign .fp-grid-two { grid-template-columns: 1fr; }
    .fp-redesign .fp-result-hero { grid-template-columns: 1fr; gap: 22px; }
}
@media screen and (max-width: 640px) {
    .fp-redesign { font-size: 16px; line-height: 1.8; letter-spacing: 0; }
    .fp-redesign .fp-inner { width: calc(100% - 32px); }
    .fp-redesign .fp-overview { padding: 24px 0; }
    .fp-redesign nav.fp-overview-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .fp-redesign .fp-overview-links a { gap: 7px; min-height: 54px; padding: 11px 9px; font-size: 13px; line-height: 1.5; }
    .fp-redesign .fp-overview-number { font-size: 17px; }
    .fp-redesign .fp-section, .fp-redesign #kyotu.fp-section { padding: 40px 0; }
    .fp-redesign .fp-section-last { padding-bottom: 24px; }
    .fp-redesign .fp-section-heading { display: block; margin-bottom: 24px; }
    .fp-redesign .fp-section-number { flex-direction: row; align-items: baseline; gap: 9px; padding-top: 0; margin-bottom: 12px; }
    .fp-redesign .fp-section-number span { font-size: 42px; }
    .fp-redesign .fp-section-number small { margin-top: 0; font-size: 11px; }
    .fp-redesign .fp-section-heading h2 { font-size: 27px; line-height: 1.5; letter-spacing: 0; }
    .fp-redesign .fp-title-line { display: block; }
    .fp-redesign .fp-section-lead { margin-top: 14px; font-size: 16px; line-height: 1.8; text-align: left; }
    .fp-redesign .fp-strength-card { padding: 20px; border-left-width: 4px; }
    .fp-redesign .fp-strength-copy h3 { font-size: 25px; line-height: 1.5; }
    .fp-redesign .fp-strength-message { font-size: 16px; padding-left: 12px; }
    .fp-redesign .fp-strength-message strong { font-size: 25px; }
    .fp-redesign .fp-weight strong { font-size: 64px; }
    .fp-redesign .fp-strength-media .fp-zoom { height: 240px; }
    .fp-redesign .fp-strength-media.fp-media-pair .fp-zoom { height: 195px; padding: 8px 5px 34px; }
    .fp-redesign .fp-card, .fp-redesign .fp-type-card { padding: 20px; }
    .fp-redesign .fp-card :is(h3,h4) { font-size: 22px; }
    .fp-redesign .fp-card-label { font-size: 13px; }
    .fp-redesign .fp-type-card h3 { font-size: 29px; }
    .fp-redesign .fp-type-catch { font-size: 21px; line-height: 1.6; }
    .fp-redesign .fp-button { font-size: 15px; padding: 12px; }
    .fp-redesign .fp-grid { gap: 18px; }
    .fp-redesign .fp-subheading { padding: 18px; }
    .fp-redesign .fp-subheading h3 { font-size: 27px; }
    .fp-redesign .fp-subheading-title .fp-type-tag { font-size: 14px; }
    .fp-redesign .fp-detail-catch { font-size: 22px; }
    .fp-redesign .fp-detail-points { display: grid; gap: 6px; font-size: 15px; }
    .fp-redesign .fp-type-detail .fp-card h4 { gap: 10px; padding-bottom: 14px; font-size: 22px; }
    .fp-redesign .fp-type-detail .fp-card h4::before { flex-basis: 30px; height: 30px; font-size: 14px; }
    .fp-redesign .fp-function-highlight { font-size: 18px; }
    .fp-redesign .fp-plan-list > div { grid-template-columns: 1fr; gap: 4px; }
    .fp-redesign #enkaku.fp-type-detail { margin-top: 40px; }
    .fp-redesign .fp-network { padding: 16px; }
    .fp-redesign .fp-network .fp-zoom { min-height: 110px; }
    .fp-redesign .fp-app-images { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fp-redesign .fp-app-images .fp-figure:last-child { grid-column: 1 / -1; width: calc((100% - 8px) / 2); justify-self: center; }
    .fp-redesign .fp-app-images .fp-zoom { height: 250px; padding: 6px 4px 33px; }
    .fp-redesign .fp-app-images .fp-zoom-label { padding: 1px 3px; font-size: 11px; }
    .fp-redesign .fp-app-images figcaption { font-size: 12px; }
    .fp-redesign .fp-graph-images { grid-template-columns: 1fr; }
    .fp-redesign .fp-graph-images .fp-zoom { height: 220px; }
    .fp-redesign .fp-power-panel { padding: 20px; gap: 20px; }
    .fp-redesign .fp-power-copy h3 { font-size: 23px; }
    .fp-redesign .fp-power-panel .fp-zoom { height: 170px; }
    .fp-redesign .fp-sensor-grid .fp-card-label { font-size: 14px; }
    .fp-redesign .fp-sensor-copy h3 { font-size: 22px; }
    .fp-redesign .fp-sensor-copy .fp-card-copy { font-size: 16px; }
    .fp-redesign .fp-result-hero { padding: 23px; }
    .fp-redesign .fp-result-label { font-size: 21px; }
    .fp-redesign .fp-big-number strong { font-size: 79px; }
    .fp-redesign .fp-number-prefix { font-size: 18px; }
    .fp-redesign .fp-number-unit { font-size: 30px; }
    .fp-redesign .fp-number-suffix { font-size: 23px; }
    .fp-redesign .fp-next-card { padding: 22px; }
    .fp-redesign .fp-next-card h3 { font-size: 23px; }
    .fp-redesign .fp-next-card p { font-size: 16px; }
    .fp-redesign .fp-footer-bridge { padding: 23px 20px; margin-top: 24px; font-size: 16px; }
    .fp-redesign .fp-footer-bridge h3 { font-size: 23px; }
    .fp-lightbox { padding: 14px; }
    .fp-lightbox-toolbar { align-items: flex-start; gap: 12px; }
    .fp-lightbox-toolbar p { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .fp-redesign .fp-next-card { transition: none; } }
@media print {
    .fp-redesign .fp-overview, .fp-redesign .fp-zoom-label { display: none; }
    .fp-redesign .fp-strength-card, .fp-redesign .fp-card { break-inside: avoid; }
    .fp-lightbox, .fp-lightbox[open] { display: none; }
}



/* 商品特徴：既存feature.cssの末尾へ追記するスマホ専用設定。
   PC・タブレットの表示は変更しません。 */
@media screen and (max-width: 640px) {
    /* 意味単位の改行禁止・固定改行を解除し、幅に沿って自然に折り返す。 */
    .fp-redesign .fp-keep,
    .fp-redesign .fp-title-line {
        display: inline;
        white-space: normal;
    }
    .fp-redesign :is(h2,h3,h4,p,li,dt,dd),
    .fp-redesign :is(.fp-section-lead,.fp-card-copy,.fp-function-title,.fp-subheading-copy) {
        text-align: left;
        white-space: normal;
        word-break: normal;
        overflow-wrap: break-word;
        line-break: strict;
        text-wrap: wrap;
        letter-spacing: 0;
    }
    .fp-redesign :is(.fp-section-heading,.fp-strength-copy,.fp-card-copy,
        .fp-type-catch,.fp-detail-catch,.fp-subheading-copy,.fp-function-copy,
        .fp-power-copy,.fp-sensor-copy,.fp-next-card,.fp-footer-bridge) br {
        display: none;
    }
    /* カード内の幅を確保。文字サイズは維持する。 */
    .fp-redesign .fp-inner { width: calc(100% - 28px); }
    .fp-redesign :is(.fp-card,.fp-type-card,.fp-strength-card,
        .fp-power-panel,.fp-sensor-grid .fp-card,.fp-next-card) { padding: 16px; }
    .fp-redesign .fp-subheading { padding: 16px; gap: 12px; }
    .fp-redesign .fp-subheading-copy { padding-top: 12px; }
    .fp-redesign .fp-section,
    .fp-redesign #kyotu.fp-section { padding: 30px 0; }
    .fp-redesign .fp-section-heading { margin-bottom: 18px; }
    .fp-redesign .fp-card-copy { margin-bottom: 0; }
    .fp-redesign .fp-local-grid .fp-card-copy { margin-bottom: 0; }
    .fp-redesign .fp-type-detail .fp-card h4 { margin-bottom: 12px; padding-bottom: 12px; }
    .fp-redesign .fp-detail-points { gap: 6px; }
    /* 小さくて読めない説明画像はスマホでは非表示。
       電源（ソーラーパネル・バッテリー）とセンサー2種だけ残す。 */
    .fp-redesign .fp-figure,
    .fp-redesign .fp-strength-media,
    .fp-redesign .fp-app-images,
    .fp-redesign .fp-graph-images { display: none; }
    .fp-redesign .fp-power-panel .fp-figure,
    .fp-redesign .fp-sensor-body .fp-figure { display: block; }
    .fp-redesign .fp-local-grid .fp-card { display: block; }
    .fp-redesign .fp-strength-card,
    .fp-redesign .fp-result-hero { grid-template-columns: minmax(0,1fr); }
    .fp-redesign .fp-power-panel,
    .fp-redesign .fp-sensor-body { grid-template-columns: minmax(0,1fr); gap: 14px; }
    .fp-redesign .fp-power-panel .fp-media-pair { gap: 10px; }
    .fp-redesign .fp-power-panel .fp-zoom { height: 150px; padding: 8px 6px 28px; }
    .fp-redesign .fp-sensor-body .fp-figure { width: min(100%,240px); margin-inline: auto; }
    .fp-redesign .fp-sensor-body .fp-zoom { height: 180px; }
}

/* スマホ見出し：意味単位の区切りを保ち、説明文は自然折り返しのまま。 */
@media screen and (max-width: 640px) {
    .fp-redesign :is(h2,h3,h4) .fp-keep,
    .fp-redesign :is(.fp-detail-catch,.fp-type-catch,.fp-function-highlight) .fp-keep {
        display: inline-block;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        vertical-align: baseline;
    }
    .fp-redesign :is(h2,h3,h4) .fp-title-line {
        display: block;
        max-width: 100%;
    }
    .fp-redesign :is(h2,h3,h4,.fp-detail-catch,.fp-type-catch,.fp-function-highlight) br {
        display: inline;
    }
}

/* マルチホップの強調文だけ、スマホでは2段にする。 */
@media screen and (max-width: 640px) {
    .fp-redesign .fp-strength-card:nth-child(2) .fp-strength-message > strong {
        display: block;
        max-width: 100%;
        overflow-wrap: break-word;
    }
}

/* 04 センサー：付属区分と機能説明を分け、自然な折り返しにする。 */
.fp-redesign .fp-sensor-copy .fp-card-copy {
    color: #253e4a;
    line-height: 1.8;
    text-align: left;
    overflow-wrap: break-word;
}
.fp-redesign .fp-sensor-copy .fp-card-copy .fp-keep {
    white-space: normal;
}
.fp-redesign .fp-sensor-copy .fp-sensor-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 1.6;
}
.fp-redesign .fp-sensor-status strong {
    padding: 3px 8px;
    border-radius: 4px;
    background: #edf4ef;
    color: #28533b;
    font-weight: 600;
}
.fp-redesign .fp-sensor-copy .fp-card-copy > p + p {
    margin-top: 10px;
}

/* スタンドアロンの強調文：スマホでは意味の区切りで2段にする。 */
@media screen and (max-width: 640px) {
    .fp-redesign .fp-strength-card:nth-child(3) .fp-strength-message > strong {
        display: block;
        max-width: 100%;
        text-wrap: balance;
        word-break: normal;
        overflow-wrap: break-word;
    }
}

/* ===== 商品特徴 HERO：2000 x 800px の写真を使用 ===== */
.feature-hero {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    color: #fff;
    background: #294d42 url('/agri/img/mainvisual_feature.jpg') center center / cover no-repeat;
    font-family: "Hiragino Sans", "Meiryo", sans-serif;
}
/* 最後の数値でスモークの濃さを調整 */
.feature-hero-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(9,35,30,.78) 0%, rgba(9,35,30,.56) 32%, rgba(9,35,30,.16) 57%, rgba(9,35,30,.12) 100%),
                linear-gradient(0deg, rgba(9,35,30,.45), transparent 35%);
}
/* HEROの高さ・文字エリア幅・余白は page.css で管理 */
.feature-hero-kicker {
    margin: 0 0 15px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.7;
}
.feature-hero #feature-hero-title {
    margin: 0 0 24px;
    padding: 0;
    border: 0;
    color: #fff;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em;
}
.feature-hero-lead {
    margin: 0;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 21px;
    line-height: 1.9;
    letter-spacing: .04em;
}
.agri-breadcrumb + .main { border-top: 0; }
@media screen and (max-width: 767px) {
    /* スマホ用写真：PCの横長写真とは別に管理 */
    .feature-hero {
        background-image: url('/agri/img/mainvisual_feature_sp.jpg');
        background-position: center center;
    }
    .feature-hero-shade {
        background: linear-gradient(90deg, rgba(9,35,30,.78) 0%, rgba(9,35,30,.64) 48%, rgba(9,35,30,.28) 75%, rgba(9,35,30,.10) 100%),
                    linear-gradient(0deg, rgba(9,35,30,.28), transparent 40%);
    }
    /* パンくずから最初の本文までの余白を抑える */
    #pankuzu.feature-breadcrumb + .main > article:first-child {
        margin-top: 0;
        padding-top: 24px;
    }
    .feature-hero #feature-hero-title { font-size: 32px; }
    .feature-hero-lead { font-size: 18px; }
}
