

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700;900&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --gold:#FFD700;--gold-dark:#C9A600;--gold-pale:#FFF9D6;
  --brown:#8B5E3C;--brown-dark:#5C3B1E;--brown-light:#D4A97A;--brown-pale:#F5EDE3;
  --orange:#E8650A;--orange2:#FF8C00;
  --cream:#FDF8F2;--warm:#FFF8EE;
  --text:#2C2C2C;--text-muted:#6B6B6B;
  --white:#fff;--green:#06C755;--navy:#1a2a3a;
}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;background:var(--cream);color:var(--text);line-height:1.7;overflow-x:hidden;}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(253,248,242,0.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(139,94,60,0.15);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:68px;box-shadow:0 2px 20px rgba(0,0,0,0.07);}
.logo-wrap{display:flex;align-items:center;gap:12px;text-decoration:none;}
.logo-img{width:42px;height:42px;border-radius:7px;object-fit:contain;background:transparent;border:1px solid rgba(139,94,60,0.12);}
.logo-text{font-family:'Noto Serif JP',serif;font-size:1.0rem;font-weight:900;color:var(--brown-dark);line-height:1.2;}
.logo-text small{display:block;font-size:0.57rem;color:var(--text-muted);font-weight:400;letter-spacing:0.1em;}
.header-right{display:flex;align-items:center;gap:8px;}
.h-tel{display:flex;align-items:center;gap:6px;background:var(--gold);color:#000;font-weight:900;font-size:0.95rem;padding:9px 18px;border-radius:50px;text-decoration:none;box-shadow:0 3px 10px rgba(255,215,0,0.35);transition:all 0.2s;}
.h-tel:hover{background:var(--gold-dark);transform:translateY(-1px);}
.h-line{display:flex;align-items:center;gap:5px;background:var(--green);color:#fff;font-weight:700;font-size:0.83rem;padding:9px 14px;border-radius:50px;text-decoration:none;transition:all 0.2s;}
.h-line:hover{background:#04a244;transform:translateY(-1px);}
nav{display:none;}
@media(min-width:960px){nav{display:flex;gap:18px;align-items:center;}nav a{color:var(--text-muted);text-decoration:none;font-size:0.8rem;font-weight:600;transition:color 0.2s;}nav a:hover{color:var(--brown);}}

/* FIXED CTA */
.fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:999;display:flex;box-shadow:0 -4px 20px rgba(0,0,0,0.15);}
.fixed-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:13px 6px;font-weight:700;font-size:0.83rem;text-decoration:none;transition:filter 0.2s;font-family:'Noto Sans JP',sans-serif;}
.fixed-cta a:hover{filter:brightness(1.1);}
.fc-tel{background:var(--gold);color:#000;}
.fc-line{background:var(--green);color:#fff;}
.fc-form{background:var(--brown);color:#fff;}

/* FOOTER */
footer{background:#2c1810;padding:50px 5% 90px;color:rgba(255,255,255,0.45);font-size:0.81rem;}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;}
.footer-logo{font-family:'Noto Serif JP',serif;font-size:1.3rem;font-weight:900;color:var(--brown-light);margin-bottom:8px;}
.footer-col h4{color:rgba(255,255,255,0.7);font-size:0.83rem;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:6px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:7px;}
.footer-col ul li a{color:rgba(255,255,255,0.42);text-decoration:none;font-size:0.79rem;transition:color 0.2s;}
.footer-col ul li a:hover{color:var(--gold);}
.footer-bottom{max-width:1100px;margin:28px auto 0;padding-top:15px;border-top:1px solid rgba(255,255,255,0.08);text-align:center;font-size:0.76rem;}
@media(max-width:700px){.footer-inner{grid-template-columns:1fr 1fr;gap:20px;}.h-line{display:none;}}
@media(max-width:500px){.footer-inner{grid-template-columns:1fr;gap:16px;}}

/* SECTION BASE */
.section-en{font-size:0.7rem;font-weight:700;letter-spacing:0.25em;color:var(--brown);text-transform:uppercase;margin-bottom:6px;text-align:center;}
.section-title-bar{display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:6px;}
.section-title-bar::before,.section-title-bar::after{content:'';flex:1;max-width:55px;height:2px;background:linear-gradient(90deg,transparent,var(--brown-light));border-radius:1px;}
.section-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.3rem,3vw,2rem);font-weight:900;color:var(--text);}
.section-sub{font-size:0.87rem;color:var(--text-muted);text-align:center;margin-top:4px;}

/* CONTACT FORM (共通) */
.contact-form-wrap{max-width:680px;margin:0 auto;}
.contact-info-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;}
.cir-card{background:var(--white);border-radius:12px;padding:18px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,0.07);border:1px solid rgba(139,94,60,0.1);}
.cir-icon{font-size:1.8rem;margin-bottom:5px;}
.cir-label{font-size:0.73rem;color:var(--text-muted);margin-bottom:5px;}
.cir-val{font-weight:700;font-size:0.92rem;}
.cir-val a{color:var(--brown);text-decoration:none;}
.cir-note{font-size:0.69rem;color:var(--text-muted);margin-top:3px;line-height:1.5;}
.cf{background:var(--white);border-radius:16px;padding:36px;box-shadow:0 4px 18px rgba(0,0,0,0.08);}
.fg{margin-bottom:18px;}
.fg label{display:block;font-size:0.83rem;font-weight:700;margin-bottom:6px;}
.fg label .req{background:var(--brown);color:#fff;font-size:0.62rem;padding:2px 7px;border-radius:4px;margin-left:5px;}
.fg input,.fg textarea,.fg select{width:100%;padding:11px 13px;border:1.5px solid rgba(139,94,60,0.15);border-radius:9px;font-family:'Noto Sans JP',sans-serif;font-size:0.86rem;background:var(--cream);color:var(--text);transition:border-color 0.2s;outline:none;}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--brown);background:var(--white);}
.fg textarea{height:130px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-submit{width:100%;background:linear-gradient(135deg,var(--brown),var(--brown-dark));color:#fff;border:none;padding:15px;border-radius:50px;font-family:'Noto Sans JP',sans-serif;font-size:0.97rem;font-weight:700;cursor:pointer;transition:all 0.25s;margin-top:6px;}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(92,59,30,0.3);}
@media(max-width:600px){.contact-info-row{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}.cf{padding:22px 18px;}}

/* NEWS/CASE CARDS */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.news-card{background:var(--white);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.07);border:1px solid rgba(139,94,60,0.08);transition:all 0.3s;text-decoration:none;color:var(--text);display:block;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(139,94,60,0.12);}
.news-thumb{width:100%;height:150px;background:linear-gradient(135deg,var(--brown-pale),var(--cream));display:flex;align-items:center;justify-content:center;font-size:2.8rem;overflow:hidden;}
.news-thumb img{width:100%;height:100%;object-fit:cover;}
.news-body{padding:16px 16px 18px;}
.news-cat{display:inline-block;font-size:0.67rem;font-weight:700;padding:3px 10px;border-radius:50px;margin-bottom:7px;}
.cat-news{background:rgba(232,101,10,0.1);color:var(--orange);}
.cat-case{background:rgba(139,94,60,0.1);color:var(--brown);}
.cat-buy{background:rgba(46,125,50,0.1);color:#2E7D32;}
.news-title{font-size:0.87rem;font-weight:700;line-height:1.6;margin-bottom:5px;}
.news-date{font-size:0.71rem;color:var(--text-muted);}
@media(max-width:800px){.news-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.news-grid{grid-template-columns:1fr;}}

/* COMPANY TABLE */
.co-card{background:var(--white);border-radius:18px;padding:36px;box-shadow:0 4px 18px rgba(0,0,0,0.08);display:grid;grid-template-columns:1fr auto;gap:36px;align-items:start;}
.co-name-ja{font-family:'Noto Serif JP',serif;font-size:1.3rem;font-weight:900;color:var(--brown-dark);margin-bottom:4px;}
.co-name-en{font-size:0.76rem;color:var(--text-muted);letter-spacing:0.1em;margin-bottom:18px;}
.co-table{width:100%;border-collapse:collapse;}
.co-table tr{border-bottom:1px solid #f0ebe5;}
.co-table tr:last-child{border-bottom:none;}
.co-table th{text-align:left;padding:9px 12px 9px 0;font-size:0.79rem;color:var(--text-muted);font-weight:600;width:130px;vertical-align:top;white-space:nowrap;}
.co-table td{padding:9px 0;font-size:0.84rem;line-height:1.7;}
.co-table td a{color:var(--brown);text-decoration:none;}
.co-logo-side{display:flex;flex-direction:column;align-items:center;gap:10px;}
.co-logo{width:110px;height:110px;border-radius:0;object-fit:contain;background:transparent;border:none;box-shadow:none;padding:0;margin:0;}
@media(max-width:750px){.co-card{grid-template-columns:1fr;text-align:center;}.co-logo-side{flex-direction:row;justify-content:center;}}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes scaleIn{from{opacity:0;transform:scale(0.7)}to{opacity:1;transform:scale(1)}}

/* 遺品整理専用 */
.hero{min-height:90vh;background:linear-gradient(160deg,var(--warm) 0%,var(--cream) 60%,#F0E6D8 100%);display:flex;align-items:center;padding:90px 5% 60px;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10% 30%,rgba(139,94,60,0.06),transparent 50%),radial-gradient(circle at 90% 70%,rgba(201,145,61,0.06),transparent 50%);pointer-events:none;}
.hero-bg{position:absolute;font-family:'Noto Serif JP',serif;font-size:55vw;font-weight:900;color:rgba(139,94,60,0.032);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;line-height:1;z-index:0;user-select:none;}
.hero-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
.hero-badge{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--brown),var(--brown-dark));color:#fff;font-size:0.76rem;font-weight:700;padding:5px 16px;border-radius:50px;margin-bottom:18px;box-shadow:0 3px 10px rgba(92,59,30,0.28);}
.hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:900;line-height:1.3;margin-bottom:14px;}
.hero-title .accent{color:var(--brown);}
.qual-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;}
.qual-badge{display:flex;align-items:center;gap:5px;background:var(--white);border:1px solid rgba(139,94,60,0.15);border-radius:8px;padding:7px 13px;font-size:0.77rem;font-weight:600;box-shadow:0 2px 7px rgba(0,0,0,0.06);}
.hero-desc{font-size:0.9rem;color:var(--text-muted);line-height:2.1;margin-bottom:22px;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;}
.btn-main{display:flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--brown),var(--brown-dark));color:#fff;font-weight:700;font-size:1rem;padding:13px 24px;border-radius:50px;text-decoration:none;transition:all 0.25s;box-shadow:0 4px 16px rgba(92,59,30,0.3);}
.btn-main:hover{transform:translateY(-3px);box-shadow:0 8px 26px rgba(92,59,30,0.4);}
.btn-sub{display:flex;align-items:center;gap:6px;background:var(--white);color:var(--brown);border:2px solid var(--brown);font-weight:700;font-size:0.92rem;padding:12px 20px;border-radius:50px;text-decoration:none;transition:all 0.25s;}
.btn-sub:hover{background:var(--brown-pale);}
.hero-right{display:flex;flex-direction:column;align-items:center;gap:14px;}
.hero-logo-lg{width:100%;max-width:420px;border-radius:18px;object-fit:cover;box-shadow:0 12px 40px rgba(139,94,60,0.2);border:3px solid var(--brown-light);}
.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:360px;}
.hs-card{background:var(--white);border-radius:12px;padding:14px;text-align:center;box-shadow:0 2px 9px rgba(0,0,0,0.06);border:1px solid rgba(139,94,60,0.1);}
.hs-num{font-family:'Noto Serif JP',serif;font-size:1.4rem;font-weight:900;color:var(--brown);line-height:1;}
.hs-label{font-size:0.68rem;color:var(--text-muted);margin-top:2px;font-weight:600;}
@media(max-width:860px){.hero-inner{grid-template-columns:1fr;text-align:center;}.hero-right{order:-1;}.qual-row,.hero-btns{justify-content:center;}.hero-logo-lg{width:150px;height:150px;}}

/* コンセプト */
.concept-section{padding:70px 5%;background:linear-gradient(135deg,var(--brown-dark),var(--brown));color:#fff;text-align:center;position:relative;overflow:hidden;}
.concept-section::before{content:'心';position:absolute;font-family:'Noto Serif JP',serif;font-size:60vw;font-weight:900;color:rgba(255,255,255,0.03);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;line-height:1;}
.concept-inner{position:relative;z-index:1;max-width:660px;margin:0 auto;}
.concept-inner .section-en{color:var(--brown-light);}
.concept-inner .section-title{color:#fff;}
.concept-body{font-size:0.93rem;line-height:2.4;color:rgba(255,255,255,0.83);margin-top:16px;}

/* 料金 WordPress ACF可変 */
.price-section{padding:70px 5%;background:var(--cream);}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;}
.price-card{background:var(--white);border-radius:14px;padding:24px 18px;border:2px solid rgba(139,94,60,0.08);text-align:center;transition:all 0.3s;box-shadow:0 2px 10px rgba(0,0,0,0.06);}
.price-card:hover{border-color:var(--brown);transform:translateY(-4px);box-shadow:0 7px 22px rgba(139,94,60,0.12);}
.price-card.popular{border-color:var(--brown);background:linear-gradient(160deg,var(--warm),var(--brown-pale));}
.price-badge{display:inline-block;background:var(--brown);color:#fff;font-size:0.62rem;font-weight:700;padding:3px 12px;border-radius:50px;margin-bottom:9px;}
.price-type{font-family:'Noto Serif JP',serif;font-size:1.4rem;font-weight:900;color:var(--brown);margin-bottom:4px;}
/* ACF: ihin_prices */
.price-amount{font-size:1.6rem;font-weight:900;color:var(--text);margin-bottom:3px;}
.price-amount small{font-size:0.76rem;font-weight:400;color:var(--text-muted);}
.price-size{font-size:0.77rem;color:var(--text-muted);}
.price-note-box{background:var(--white);border-radius:10px;padding:16px 20px;border-left:4px solid var(--brown);font-size:0.83rem;color:var(--text-muted);line-height:1.9;box-shadow:0 2px 8px rgba(0,0,0,0.05);}
@media(max-width:700px){.price-grid{grid-template-columns:repeat(2,1fr);}}

/* 買取 */
.kaitori-section{padding:70px 5%;background:linear-gradient(160deg,#E8F5E9,#F1F8E9);}
.kaitori-hero-card{background:linear-gradient(135deg,#2E7D32,#43A047);border-radius:18px;padding:36px;color:#fff;margin-bottom:32px;box-shadow:0 8px 28px rgba(46,125,50,0.3);position:relative;overflow:hidden;}
.kaitori-hero-card::before{content:'¥';position:absolute;right:-20px;top:-30px;font-size:18rem;font-weight:900;color:rgba(255,255,255,0.04);line-height:1;pointer-events:none;}
.khc-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;}
.khc-inner h2{font-family:'Noto Serif JP',serif;font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:900;margin-bottom:10px;line-height:1.4;}
.khc-inner h2 span{color:#FFEE58;}
.khc-inner p{font-size:0.87rem;opacity:0.88;line-height:2;}
.calc-card{background:rgba(255,255,255,0.12);border-radius:14px;padding:20px;border:1px solid rgba(255,255,255,0.2);}
.calc-title{font-weight:700;font-size:0.85rem;text-align:center;margin-bottom:10px;opacity:0.88;}
.cr{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.1);font-size:0.82rem;}
.cr:last-of-type{border-bottom:none;}
.cr .v{font-weight:700;}
.cr-buy{background:rgba(255,255,255,0.06);border-radius:7px;padding:5px 9px;margin:2px 0;display:flex;justify-content:space-between;font-size:0.8rem;}
.cr-buy .bv{color:#FFEE58;font-weight:700;}
.cr-op{text-align:center;font-size:1rem;font-weight:900;padding:3px 0;}
.cr-op.minus{color:#FF7043;}.cr-op.eq{color:#FFEE58;}
.cr-total{background:rgba(255,238,88,0.15);border:1px solid rgba(255,238,88,0.3);border-radius:9px;padding:11px 12px;margin-top:7px;display:flex;justify-content:space-between;align-items:center;}
.cr-total .tl{font-weight:700;font-size:0.9rem;}.cr-total .tv{font-size:1.1rem;font-weight:900;color:#FFEE58;}
.kaitori-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:13px;margin-bottom:20px;}
.ki-card{background:var(--white);border-radius:12px;padding:16px;text-align:center;box-shadow:0 2px 9px rgba(0,0,0,0.07);border:1px solid rgba(76,175,80,0.1);transition:all 0.3s;}
.ki-card:hover{transform:translateY(-4px);border-color:rgba(76,175,80,0.3);box-shadow:0 6px 20px rgba(46,125,50,0.14);}
.ki-icon{font-size:1.9rem;margin-bottom:7px;}.ki-name{font-weight:700;font-size:0.86rem;margin-bottom:2px;}.ki-price{color:#2E7D32;font-weight:900;font-size:0.8rem;}.ki-note{font-size:0.69rem;color:var(--text-muted);margin-top:2px;line-height:1.4;}
.kaitori-note{background:var(--white);border-radius:10px;padding:15px 19px;border-left:4px solid #4CAF50;font-size:0.81rem;color:var(--text-muted);line-height:1.9;}
@media(max-width:700px){.khc-inner{grid-template-columns:1fr;}}

/* 作業事例 WordPress CPT: work_case */
.case-section{padding:70px 5%;background:var(--white);}
.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.case-card{background:var(--cream);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.07);border:1px solid rgba(139,94,60,0.08);transition:all 0.3s;}
.case-card:hover{transform:translateY(-4px);box-shadow:0 7px 24px rgba(139,94,60,0.12);}
/* 作業前/後 写真 2枚 */
.case-photos{display:grid;grid-template-columns:1fr 1fr;height:150px;}
.case-photo-before,.case-photo-after{position:relative;background:linear-gradient(135deg,#F5EDE3,var(--cream));display:flex;align-items:center;justify-content:center;font-size:2.2rem;overflow:hidden;}
.case-photo-before img,.case-photo-after img{width:100%;height:100%;object-fit:cover;}
.photo-label{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.55);color:#fff;font-size:0.62rem;font-weight:700;padding:2px 9px;border-radius:50px;white-space:nowrap;}
.case-body{padding:16px;}
.case-title{font-weight:700;font-size:0.88rem;margin-bottom:10px;line-height:1.5;}
/* ACF: madori, work_days, work_hours, workers, volume */
.case-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;}
.cm-item{background:var(--white);border-radius:7px;padding:6px 9px;border:1px solid rgba(139,94,60,0.08);}
.cm-label{font-size:0.62rem;color:var(--text-muted);font-weight:600;margin-bottom:1px;}
.cm-val{font-size:0.79rem;font-weight:700;}
/* ACF: work_price, buy_price, buy_items(30文字), total_price, detail(300文字) */
.case-price-box{background:linear-gradient(135deg,var(--brown-pale),var(--cream));border-radius:9px;padding:11px;border:1px solid rgba(139,94,60,0.12);margin-bottom:10px;}
.cpb-row{display:flex;justify-content:space-between;font-size:0.8rem;padding:3px 0;border-bottom:1px solid rgba(139,94,60,0.08);}
.cpb-row:last-child{border-bottom:none;font-weight:700;color:var(--brown-dark);font-size:0.85rem;}
.cpb-row .lbl{color:var(--text-muted);}
.case-detail{font-size:0.78rem;color:var(--text-muted);line-height:1.8;background:var(--white);border-radius:7px;padding:10px;border:1px solid rgba(139,94,60,0.07);}

/* 流れ */
.flow-section{padding:70px 5%;background:var(--warm);}
.flow-timeline{max-width:680px;margin:0 auto;}
.fi{display:flex;gap:18px;margin-bottom:32px;position:relative;}
.fi:not(:last-child)::after{content:'';position:absolute;left:19px;top:40px;bottom:-12px;width:2px;background:linear-gradient(180deg,var(--brown-light),transparent);}
.fi-icon{min-width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--brown),var(--brown-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.9rem;font-weight:900;flex-shrink:0;box-shadow:0 3px 10px rgba(92,59,30,0.25);z-index:1;position:relative;}
.fi-content h3{font-size:0.95rem;font-weight:700;margin-bottom:4px;}
.fi-content p{font-size:0.83rem;color:var(--text-muted);line-height:1.85;}

/* 特徴 */
.features-section{padding:70px 5%;background:var(--cream);}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px;}
.feat-card{background:var(--white);border-radius:14px;padding:24px;border:1px solid rgba(139,94,60,0.08);box-shadow:0 2px 10px rgba(0,0,0,0.06);transition:all 0.3s;}
.feat-card:hover{transform:translateY(-4px);box-shadow:0 7px 22px rgba(139,94,60,0.1);border-color:rgba(139,94,60,0.2);}
.feat-icon{font-size:2rem;margin-bottom:10px;}
.feat-card h3{font-family:'Noto Serif JP',serif;font-size:1rem;font-weight:700;margin-bottom:7px;}
.feat-card p{font-size:0.83rem;color:var(--text-muted);line-height:1.9;}

/* 口コミ */
.review-section{padding:70px 5%;background:var(--white);}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.rv-card{background:var(--cream);border-radius:13px;padding:22px;box-shadow:0 2px 9px rgba(0,0,0,0.06);border:1px solid rgba(139,94,60,0.08);position:relative;}
.rv-card::before{content:'"';position:absolute;top:6px;left:12px;font-size:3.8rem;color:rgba(139,94,60,0.08);font-family:'Noto Serif JP',serif;font-weight:900;line-height:1;pointer-events:none;}
.rv-stars{color:#F5A623;font-size:0.9rem;margin-bottom:7px;letter-spacing:2px;}
.rv-text{font-size:0.84rem;line-height:1.95;color:var(--text-muted);margin-bottom:9px;position:relative;z-index:1;}
.rv-author{font-size:0.77rem;font-weight:600;color:var(--text);}
.rv-location{font-size:0.7rem;color:var(--text-muted);}

/* エリア */
.area-section{padding:70px 5%;background:var(--cream);}
.pref-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;}
.pref-card{background:var(--white);border-radius:12px;padding:18px 10px;text-align:center;text-decoration:none;color:var(--text);border:2px solid transparent;transition:all 0.25s;box-shadow:0 2px 8px rgba(0,0,0,0.05);}
.pref-card:hover{background:var(--brown);color:#fff;border-color:var(--brown);transform:translateY(-3px);}
.pref-card .pi{font-size:1.7rem;margin-bottom:5px;display:block;}.pref-card .pn{font-weight:700;font-size:0.88rem;}
.city-tags{display:flex;flex-wrap:wrap;gap:7px;}
.city-tag{background:var(--warm);border:1px solid rgba(139,94,60,0.12);border-radius:50px;padding:5px 13px;font-size:0.78rem;text-decoration:none;color:var(--text-muted);transition:all 0.2s;font-weight:500;}
.city-tag:hover{background:var(--brown-pale);border-color:var(--brown);color:var(--brown);}
@media(max-width:700px){.pref-grid{grid-template-columns:repeat(2,1fr);}}

/* FAQ */
.faq-section{padding:70px 5%;background:var(--warm);}
.faq-list{max-width:780px;margin:0 auto;}
.faq-item{background:var(--white);border-radius:11px;margin-bottom:9px;overflow:hidden;box-shadow:0 2px 7px rgba(0,0,0,0.05);}
.faq-q{display:flex;align-items:center;gap:10px;padding:15px 17px;cursor:pointer;transition:background 0.2s;user-select:none;}
.faq-q:hover{background:var(--brown-pale);}
.faq-q .qi{min-width:28px;height:28px;border-radius:50%;background:var(--brown-pale);border:1px solid rgba(139,94,60,0.2);color:var(--brown);display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:700;flex-shrink:0;}
.faq-q .qt{flex:1;font-size:0.88rem;font-weight:600;}
.faq-q .tog{width:20px;height:20px;border-radius:50%;border:1px solid var(--brown-light);display:flex;align-items:center;justify-content:center;font-size:0.66rem;color:var(--brown);transition:transform 0.3s;flex-shrink:0;}
.faq-item.open .tog{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.3s;font-size:0.85rem;color:var(--text-muted);line-height:1.9;padding:0 17px 0 55px;}
.faq-item.open .faq-a{max-height:240px;padding-bottom:15px;}
