/* NXP農機具買取テーマ - メインCSS */
:root{--c-primary-50:#f7fee7;--c-primary-100:#ecfccb;--c-primary-500:#a3e635;--c-primary-700:#65a30d;--c-primary-900:#4d7c0f;--c-cta:#dc2626;--c-cta-hover:#b91c1c;--c-cta-border:#991b1b;--c-line:#06C755;--c-line-hover:#05b34c;--c-line-border:#048b3b;--c-yellow:#facc15;--c-corp:#44403c;--c-corp-card:#292524;--c-text:#333;--c-text-light:#6b7280;--c-bg:#f7f9f9;--c-bg-alt:#f3f4f6;--c-white:#fff;--c-border:#e5e7eb;--font-base:'Noto Sans JP',sans-serif;--max-w:1280px;--max-w-sm:768px;--max-w-md:1024px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-base);color:var(--c-text);background:var(--c-bg);line-height:1.8;font-size:16px;padding-bottom:80px}
img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}
.container{max-width:var(--max-w);margin:0 auto;padding:0 16px}
.container--sm{max-width:var(--max-w-sm);margin:0 auto;padding:0 16px}
.container--md{max-width:var(--max-w-md);margin:0 auto;padding:0 16px}
.section{padding:64px 0}.section--alt{background:var(--c-bg-alt)}.section--white{background:var(--c-white)}.section--primary{background:var(--c-primary-50)}.section--dark{background:var(--c-corp);color:#fff}
.text-center{text-align:center}.font-black{font-weight:900}.font-bold{font-weight:700}
.section-title{font-size:1.75rem;font-weight:900;text-align:center;color:var(--c-primary-900);margin-bottom:40px;line-height:1.4}
@media(min-width:768px){.section-title{font-size:2rem}}

/* Header */
.site-header{background:var(--c-white);box-shadow:0 1px 3px rgba(0,0,0,.08);position:sticky;top:0;z-index:40}
.site-header__inner{max-width:var(--max-w);margin:0 auto;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}
.site-header__logo{font-size:1.25rem;font-weight:900;color:var(--c-primary-900);letter-spacing:-.02em}
@media(min-width:768px){.site-header__logo{font-size:1.5rem}}
.nav-pc{display:none;gap:32px;font-size:.875rem;font-weight:700;color:#4b5563}
.nav-pc a{display:flex;flex-direction:column;align-items:center;transition:color .2s}.nav-pc a:hover{color:var(--c-primary-700)}
.nav-pc__icon{width:20px;height:20px;margin-bottom:4px;color:var(--c-primary-500)}
@media(min-width:1024px){.nav-pc{display:flex}}
.header-phone{display:none;text-align:right}
.header-phone__label{font-size:.75rem;color:var(--c-text-light);font-weight:700}
.header-phone__number{font-size:1.25rem;font-weight:900;color:var(--c-cta)}
@media(min-width:1024px){.header-phone{display:block}}
.mobile-menu-btn{display:block;background:none;border:none;padding:8px;cursor:pointer;color:#4b5563}
@media(min-width:1024px){.mobile-menu-btn{display:none}}
.mobile-menu{display:none;position:absolute;width:100%;background:var(--c-white);border-top:1px solid var(--c-border);box-shadow:0 4px 6px rgba(0,0,0,.1);z-index:39}
.mobile-menu.is-open{display:block}
.mobile-menu a{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--c-border);font-weight:700;color:#4b5563}
.mobile-menu a:hover{color:var(--c-primary-700)}
.mobile-menu__icon{width:20px;height:20px;margin-right:12px;color:var(--c-primary-500)}

/* FV */
.fv{position:relative;background:var(--c-white);overflow:hidden}
.fv__bg{position:absolute;inset:0;background:linear-gradient(135deg,#eff6ff,#fff,var(--c-primary-50));opacity:.9}
.fv__inner{position:relative;max-width:var(--max-w);margin:0 auto;padding:32px 16px;display:flex;flex-direction:column;align-items:center;z-index:1}
@media(min-width:768px){.fv__inner{flex-direction:row;padding:64px 16px}}
.fv__content{width:100%;margin-bottom:48px}@media(min-width:768px){.fv__content{width:50%;margin-bottom:0}}
.fv__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.fv__badge{font-size:.75rem;font-weight:700;color:#fff;padding:4px 12px;border-radius:9999px;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.fv__badge--red{background:var(--c-cta)}.fv__badge--green{background:var(--c-primary-700)}
@media(min-width:768px){.fv__badge{font-size:.875rem}}
.fv__heading{font-size:2.25rem;font-weight:900;line-height:1.2;margin-bottom:16px;color:#111827}
.fv__heading-accent{color:var(--c-primary-700)}.fv__heading-cta{color:var(--c-cta);font-size:1.2em}
@media(min-width:768px){.fv__heading{font-size:3rem}}@media(min-width:1024px){.fv__heading{font-size:3.75rem}}
.fv__lead{font-size:1.125rem;font-weight:700;color:#374151;margin-bottom:32px;line-height:1.8}
.fv__cta{display:flex;flex-direction:column;gap:16px}@media(min-width:640px){.fv__cta{flex-direction:row}}
.fv__image{width:100%;position:relative;display:flex;justify-content:center}
@media(min-width:768px){.fv__image{width:50%;padding-left:40px}}
.fv__image img{width:100%;max-width:400px;height:auto;filter:drop-shadow(0 25px 25px rgba(0,0,0,.15));position:relative;z-index:2;transition:transform .5s}
.fv__image img:hover{transform:scale(1.05)}
.fv__circle-badge{position:absolute;top:-24px;left:-8px;background:var(--c-yellow);color:#000;font-weight:900;width:96px;height:96px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 6px rgba(0,0,0,.15);transform:rotate(-12deg);z-index:20;border:4px solid #fff;font-size:.625rem;line-height:1.2}
.fv__circle-badge strong{font-size:1.5rem;margin-top:2px}
@media(min-width:768px){.fv__circle-badge{width:128px;height:128px;left:-32px;font-size:.75rem}.fv__circle-badge strong{font-size:1.75rem}}
.fv__balloon{position:absolute;bottom:0;right:0;background:var(--c-white);font-weight:700;padding:12px 24px;border-radius:16px;box-shadow:0 10px 25px rgba(0,0,0,.12);border:2px solid var(--c-primary-500);z-index:20;animation:bounce 3s infinite}
.fv__balloon-sub{font-size:.75rem;color:var(--c-text-light);margin-bottom:2px}
.fv__balloon-main{font-size:1rem;line-height:1.4}.fv__balloon-accent{color:var(--c-cta);font-size:1.125rem}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Buttons */
.btn{display:flex;align-items:center;justify-content:center;padding:16px 24px;border-radius:12px;font-weight:900;color:#fff;transition:background .2s;box-shadow:0 4px 6px rgba(0,0,0,.1);border:none;cursor:pointer;text-align:left}
.btn--phone{background:var(--c-cta);border-bottom:4px solid var(--c-cta-border)}.btn--phone:hover{background:var(--c-cta-hover)}
.btn--line{background:var(--c-line);border-bottom:4px solid var(--c-line-border)}.btn--line:hover{background:var(--c-line-hover)}
.btn--outline{background:transparent;color:var(--c-primary-700);border:2px solid var(--c-primary-700);border-radius:9999px;font-weight:700;padding:12px 32px;display:inline-block;text-align:center;transition:all .2s}
.btn--outline:hover{background:var(--c-primary-700);color:#fff}
.btn__icon{width:32px;height:32px;margin-right:12px;flex-shrink:0}
.btn__label{font-size:.75rem;font-weight:700}.btn__number{font-size:1.5rem;letter-spacing:.05em;line-height:1;margin-top:4px}.btn__text{font-size:1.25rem;line-height:1;margin-top:4px}

/* Maker Bar */
.maker-bar{background:var(--c-white);border-bottom:1px solid var(--c-border);padding:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.maker-bar__inner{max-width:var(--max-w);margin:0 auto;padding:0 16px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;font-size:.875rem;font-weight:700;color:#4b5563}
.maker-bar__badge{background:var(--c-primary-100);color:var(--c-primary-900);padding:4px 12px;border-radius:9999px;font-size:.75rem;border:1px solid var(--c-primary-500)}
.maker-bar__sep{color:#d1d5db}@media(max-width:767px){.maker-bar__sep{display:none}}

/* Pain Cards */
.pain-grid{display:grid;gap:24px}@media(min-width:768px){.pain-grid{grid-template-columns:repeat(2,1fr)}}
.pain-card{background:var(--c-bg-alt);padding:24px;border-radius:8px;border-top:4px solid var(--c-primary-500);box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;align-items:flex-start}
.pain-card__icon{width:40px;height:40px;color:#9ca3af;margin-right:16px;flex-shrink:0}
.pain-card__title{font-size:1.125rem;font-weight:700;margin-bottom:8px}.pain-card__text{color:var(--c-text-light);line-height:1.8}

/* Reason Cards */
.reason-grid{display:grid;gap:32px}@media(min-width:768px){.reason-grid{grid-template-columns:repeat(3,1fr)}}
.reason-card{background:var(--c-white);padding:32px;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.07);text-align:center}
.reason-card__icon-wrap{width:80px;height:80px;margin:0 auto 24px;background:var(--c-primary-100);border-radius:50%;display:flex;align-items:center;justify-content:center}
.reason-card__icon{width:40px;height:40px;color:var(--c-primary-700)}
.reason-card__title{font-size:1.25rem;font-weight:700;margin-bottom:16px;color:var(--c-primary-900)}
.reason-card__text{color:var(--c-text-light);text-align:left;line-height:1.8}

/* Steps */
.step-grid{display:grid;gap:32px}@media(min-width:768px){.step-grid{grid-template-columns:repeat(3,1fr)}}
.step-item{text-align:center;position:relative}
.step-item__circle{width:96px;height:96px;margin:0 auto 16px;background:var(--c-primary-50);border:4px solid var(--c-primary-500);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}
.step-item__num{position:absolute;top:-8px;left:-8px;width:32px;height:32px;background:var(--c-cta);color:#fff;font-weight:900;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.15);font-size:.875rem}
.step-item__icon{width:40px;height:40px;color:var(--c-primary-700)}
.step-item__title{font-size:1.125rem;font-weight:700;margin-bottom:8px;color:var(--c-primary-900)}
.step-item__text{font-size:.875rem;color:var(--c-text-light);line-height:1.8}

/* Result Cards */
.result-cards{display:grid;gap:24px}
@media(min-width:768px){.result-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.result-cards{grid-template-columns:repeat(3,1fr)}}
.result-card{background:var(--c-white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s}
.result-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.result-card a{display:block;color:inherit}
.result-card__image{width:100%;height:200px;object-fit:cover}
.result-card__body{padding:20px}
.result-card__area{display:inline-block;background:var(--c-primary-100);color:var(--c-primary-900);font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:4px;margin-bottom:8px}
.result-card__title{font-size:1rem;font-weight:700;margin-bottom:8px;color:#1f2937;line-height:1.4}
.result-card__meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.result-card__model{font-size:.875rem;color:var(--c-text-light)}
.result-card__price{font-weight:900;color:var(--c-cta);font-size:1.125rem}
.result-card__comment{font-size:.8125rem;color:var(--c-text-light);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* BtoB */
.btob-grid{display:grid;gap:24px;text-align:left}@media(min-width:768px){.btob-grid{grid-template-columns:repeat(3,1fr)}}
.btob-card{background:var(--c-corp-card);padding:24px;border-radius:8px;border:1px solid #44403c}
.btob-card__icon{width:32px;height:32px;color:var(--c-yellow);margin-bottom:12px}.btob-card__title{font-weight:700;margin-bottom:8px}.btob-card__text{font-size:.875rem;color:#a8a29e}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:16px}
.faq-item{border:1px solid var(--c-border);border-radius:8px;padding:20px}
.faq-item--local{border-color:var(--c-primary-500);background:var(--c-primary-50)}
.faq-item__local-label{font-size:.75rem;font-weight:700;color:var(--c-primary-700);margin-bottom:8px}
.faq-item__q{font-weight:700;font-size:1.125rem;color:var(--c-primary-900);display:flex;align-items:flex-start}
.faq-item__q-mark{color:var(--c-primary-500);margin-right:8px;flex-shrink:0}
.faq-item__a{margin-top:12px;color:#374151;display:flex;align-items:flex-start;line-height:1.8}
.faq-item__a-mark{color:#9ca3af;font-weight:700;margin-right:8px;flex-shrink:0}

/* Footer */
.site-footer{background:#111827;color:#9ca3af;padding:48px 0}
.site-footer__grid{max-width:var(--max-w);margin:0 auto;padding:0 16px;display:grid;gap:32px}
@media(min-width:768px){.site-footer__grid{grid-template-columns:repeat(3,1fr)}}
.site-footer h4{color:#fff;font-weight:700;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #374151}
.site-footer a{display:block;padding:4px 0;font-size:.875rem;transition:color .2s}.site-footer a:hover{color:#fff}
.site-footer__bottom{max-width:var(--max-w);margin:32px auto 0;padding:32px 16px 0;border-top:1px solid #1f2937;text-align:center;font-size:.875rem;color:#6b7280}

/* Sticky CTA */
.sticky-cta{position:fixed;bottom:0;left:0;width:100%;z-index:50;background:var(--c-white);box-shadow:0 -4px 6px rgba(0,0,0,.1);padding:8px}
.sticky-cta__inner{max-width:var(--max-w-md);margin:0 auto;display:flex;gap:8px}
.sticky-cta__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;color:#fff;font-weight:900;transition:background .2s;box-shadow:0 2px 4px rgba(0,0,0,.1)}
.sticky-cta__btn--phone{background:var(--c-cta)}.sticky-cta__btn--phone:hover{background:var(--c-cta-hover)}
.sticky-cta__btn--web{background:var(--c-line)}.sticky-cta__btn--web:hover{background:var(--c-line-hover)}
.sticky-cta__label{font-size:.75rem;font-weight:700;margin-bottom:2px}
.sticky-cta__main{display:flex;align-items:center;font-size:1.25rem;letter-spacing:.05em}
.sticky-cta__icon{width:20px;height:20px;margin-right:8px}
@media(min-width:768px){.sticky-cta__main{font-size:1.5rem}}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}
.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;font-weight:700;font-size:.875rem;border:1px solid var(--c-border);color:var(--c-text);transition:all .2s}
.pagination a:hover{background:var(--c-primary-100);border-color:var(--c-primary-500)}
.pagination .current{background:var(--c-primary-700);color:#fff;border-color:var(--c-primary-700)}

/* Single Result */
.single-result{max-width:800px;margin:0 auto;padding:40px 16px}
.single-result__image{border-radius:12px;overflow:hidden;margin-bottom:24px}
.single-result__image img{width:100%;height:auto}
.single-result__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.single-result__tag{display:inline-block;background:var(--c-primary-100);color:var(--c-primary-900);font-size:.8125rem;font-weight:700;padding:4px 12px;border-radius:4px}
.single-result__tag:hover{background:var(--c-primary-500);color:#fff}
.single-result__title{font-size:1.5rem;font-weight:900;margin-bottom:24px;color:#1f2937}
.single-result__table{margin-bottom:32px}
.single-result__table th{background:var(--c-bg-alt);padding:12px 16px;font-weight:700;text-align:left;width:30%;border:1px solid var(--c-border)}
.single-result__table td{padding:12px 16px;border:1px solid var(--c-border)}
.single-result__price{font-size:1.5rem;font-weight:900;color:var(--c-cta)}
.single-result__comment{background:var(--c-bg-alt);padding:24px;border-radius:8px;line-height:1.8;margin-bottom:32px}
.single-result__comment-title{font-weight:700;margin-bottom:8px;color:var(--c-primary-900)}

/* Archive Header */
.archive-header{padding:40px 0;background:var(--c-white);border-bottom:1px solid var(--c-border)}
.archive-header__title{font-size:1.75rem;font-weight:900;color:var(--c-primary-900)}
.archive-header__desc{color:var(--c-text-light);margin-top:8px}.archive-header__count{font-size:.875rem;color:var(--c-text-light);margin-top:4px}

/* Breadcrumb */
.breadcrumb{font-size:.8125rem;color:var(--c-text-light);padding:12px 0}
.breadcrumb a{color:var(--c-primary-700)}.breadcrumb a:hover{text-decoration:underline}
.breadcrumb__sep{margin:0 8px}

/* Utility */
@media(max-width:767px){.hidden-sp{display:none}}

/* ============================================================
   タクソノミーインデックス（/area/, /maker/, /type/）
   ============================================================ */
.term-grid{display:grid;gap:16px}
@media(min-width:640px){.term-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.term-grid{grid-template-columns:repeat(3,1fr)}}
.term-card{display:flex;align-items:center;background:var(--c-white);border:1px solid var(--c-border);border-radius:12px;padding:20px;transition:all .2s;text-decoration:none;color:var(--c-text)}
.term-card:hover{border-color:var(--c-primary-500);box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px)}
.term-card__icon-wrap{width:48px;height:48px;background:var(--c-primary-100);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:16px}
.term-card__icon{width:24px;height:24px;color:var(--c-primary-700)}
.term-card__body{flex:1;min-width:0}
.term-card__name{font-size:1rem;font-weight:700;color:#1f2937;margin-bottom:2px}
.term-card__count{font-size:.8125rem;color:var(--c-text-light)}
.term-card__arrow{width:20px;height:20px;color:#d1d5db;flex-shrink:0;margin-left:8px;transition:color .2s}
.term-card:hover .term-card__arrow{color:var(--c-primary-700)}

/* ============================================================
   買取の流れ（/flow/）
   ============================================================ */
.flow-steps{display:flex;flex-direction:column;gap:32px}
.flow-step{background:var(--c-white);border:1px solid var(--c-border);border-radius:12px;overflow:hidden}
.flow-step__header{display:flex;align-items:center;padding:20px 24px;background:var(--c-primary-50);border-bottom:1px solid var(--c-border)}
.flow-step__num{background:var(--c-primary-700);color:#fff;font-weight:900;font-size:.8125rem;padding:4px 12px;border-radius:6px;margin-right:16px;flex-shrink:0;letter-spacing:.05em}
.flow-step__title{font-size:1.25rem;font-weight:900;color:var(--c-primary-900)}
.flow-step__body{padding:24px}
.flow-step__body p{margin-bottom:12px;line-height:1.8;color:#374151}
.flow-step__body p:last-child{margin-bottom:0}

/* ============================================================
   法的ページ（/privacy/）
   ============================================================ */
.legal-content h2{font-size:1.375rem;font-weight:900;color:var(--c-primary-900);margin:40px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--c-primary-500)}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:1.125rem;font-weight:700;color:#1f2937;margin:24px 0 8px}
.legal-content p{margin-bottom:12px;line-height:1.8;color:#374151}
