/*
Theme Name: 萩原商事 2026
Template: twentytwelve
Description: 萩原商事 新デザイン（清潔感・安心感・料金の見やすさ・SEO/AI検索対応）
Version: 2026.11
*/
:root{--ink:#1A1A1A;--sub:#3D3D3D;--mute:#5C5C5C;--sun:#F2B705;--sunbg:#FFF6D6;--cream:#FBF8EE;--line:#ECEAE3;--gold:#8A6D00}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.hagi-new{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.75;font-size:16px}
body.hagi-new a{color:var(--ink)}
body.hagi-new .site{max-width:none;margin:0;padding:0;box-shadow:none}
.hp-wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.hp-narrow{width:min(960px,calc(100% - 48px))}
.screen-reader-text{position:absolute!important;left:-9999px}
.screen-reader-text:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:999}

/* header */
.hp-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hp-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;flex-wrap:wrap}
.hp-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.hp-brand img{width:52px;height:52px;border-radius:50%;object-fit:contain}
.hp-brand small{display:block;font-size:12px;color:var(--mute);line-height:1.2}
.hp-brand strong{display:block;font-size:20px;font-weight:900;letter-spacing:.04em;line-height:1.3}
.hp-nav{display:flex;gap:22px;font-size:14px;font-weight:500}
.hp-nav a{text-decoration:none}
.hp-nav a:hover{color:var(--gold)}
.hp-tels{display:flex;gap:8px;flex-wrap:wrap}
.hp-pill{text-decoration:none;padding:8px 16px;border-radius:999px;font-weight:700;font-size:14px;display:flex;flex-direction:column;align-items:center;line-height:1.3;justify-content:center}
.hp-pill small{font-size:10px}
.hp-pill.dark{background:var(--ink);color:#fff!important}
.hp-pill.sun{background:var(--sun)}
.hp-marquee{background:var(--ink);color:#fff;overflow:hidden;padding:9px 0;font-size:14px;font-weight:700}
.hp-mq{display:flex;width:max-content;animation:hpmq 30s linear infinite}
.hp-mq span{padding:0 28px}
.hp-mq b{color:var(--sun)}

/* buttons & motion */
.btn{display:inline-block;text-decoration:none;font-weight:900;padding:15px 26px;border-radius:12px;font-size:16px;text-align:center}
.btn.sun{background:var(--sun);color:var(--ink)!important}
.btn.dark{background:var(--ink);color:#fff!important}
.btn.line{background:#fff;border:1.5px solid var(--ink)}
.btn.text{padding:15px 6px;text-decoration:underline}
@keyframes hpmq{to{transform:translateX(-50%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(242,183,5,.55)}70%{box-shadow:0 0 0 14px rgba(242,183,5,0)}}
@keyframes sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.fu{animation:fadeUp .8s ease both}.fu2{animation:fadeUp .8s .15s ease both}.fu3{animation:fadeUp .8s .3s ease both}
.pulse{animation:pulse 2s infinite}
.sway{animation:sway 4s ease-in-out infinite;transform-origin:bottom center}
.card{transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
@media (prefers-reduced-motion:reduce){.hp-mq,.fu,.fu2,.fu3,.pulse,.sway{animation:none}}

/* hero */
.hp-hero{background:var(--cream)}
.hp-hero-in{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:80px 0;flex-wrap:wrap}
.hp-hero-text{flex:1 1 520px}
.hp-badges{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.hp-badges span{background:#fff;border:1px solid #E2DCC6;padding:4px 14px;border-radius:999px;font-size:13px;font-weight:700}
.hp-badges .b-dark{background:var(--ink);color:var(--sun);border-color:var(--ink)}
.hp-badges .b-sun{background:var(--sun);border-color:var(--sun)}
.hp-hero h1{margin:0;font-size:clamp(32px,5vw,52px);font-weight:900;line-height:1.3;letter-spacing:.02em;color:var(--ink)}
.hp-lead{color:var(--sub);font-size:17px;max-width:640px;margin:20px 0}
.hp-cta{display:flex;gap:12px;flex-wrap:wrap;margin:0}
.hp-heronum{font-size:14px;color:var(--sub);margin:16px 0 0}
.hp-heronum small{font-size:12px}
.hp-hero-side{flex:0 1 280px;display:flex;flex-direction:column;align-items:center;gap:16px}
.hp-hero-side img{width:220px;height:220px;border-radius:50%;background:#fff;object-fit:contain}
.hp-since{margin:0;background:var(--ink);color:#fff;border-radius:16px;padding:14px 24px;text-align:center;font-size:22px;font-weight:900;line-height:1.4}
.hp-since small{display:block;font-size:12px;color:var(--sun)}

/* banners */
.hp-banners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:40px}
.bn{text-decoration:none;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:6px}
.bn .hp-ico{width:32px;height:32px}
.bn small{font-size:12px;font-weight:700}
.bn b{font-size:19px;font-weight:900}
.bn span{font-size:13px}
.bn.sun{background:var(--sun)}
.bn.dark{background:var(--ink);color:#fff!important}
.bn.dark .hp-ico,.bn.dark small{color:var(--sun)}
.bn.outline{background:#fff;border:2px solid var(--sun)}
.bn.outline .hp-ico,.bn.outline small,.bn.soft .hp-ico,.bn.soft small{color:var(--gold)}
.bn.soft{background:var(--cream);border:1px solid #E2DCC6}

/* sections */
.hp-sec{padding:80px 0}
.hp-sec h2,.hp-pricehead h1{margin:4px 0 32px;font-size:32px;font-weight:900;line-height:1.4}
.hp-eyebrow{margin:0;font-size:13px;font-weight:700;color:var(--gold);letter-spacing:.15em}
.hp-band{background:var(--cream)}
.hp-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:center}
.hp-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hp-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hp-tile{width:52px;height:52px;border-radius:14px;background:var(--sunbg);display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.hp-tile .hp-ico{width:28px;height:28px}
.hp-svc{text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:24px 20px;display:flex;flex-direction:column;gap:6px;background:#fff}
.hp-svc b{font-size:17px}
.hp-svc small{font-size:13px;color:var(--mute)}
.hp-price{font-size:20px;font-weight:900;margin-top:6px}
.hp-svc .hp-inc{color:var(--sub)}
.hp-moving{background:var(--ink);color:#fff;border-radius:20px;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.hp-moving small{display:block;color:var(--sun);font-weight:700;font-size:13px}
.hp-moving b{font-size:22px}
.hp-why{background:#fff;border-radius:16px;padding:24px}
.hp-why .big{margin:0;font-size:28px;font-weight:900;color:var(--gold)}
.hp-why b,.hp-step b{display:block}
.hp-why small,.hp-step small{font-size:13px;color:var(--mute)}
.hp-step{border-top:3px solid var(--sun);padding-top:16px}
.hp-area{background:#fff;border-radius:16px;padding:24px}
.hp-area p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.hp-area small{color:var(--mute)}
.hp-news{list-style:none;margin:0;padding:0}
.hp-news li{border-bottom:1px solid var(--line)}
.hp-news a{display:flex;gap:16px;padding:14px 0;text-decoration:none}
.hp-news time{color:var(--mute);font-size:14px;white-space:nowrap}
.hp-faq{display:flex;flex-direction:column;gap:12px}
.hp-faq details{border:1px solid var(--line);border-radius:12px;padding:16px 20px}
.hp-faq summary{font-weight:700;cursor:pointer}
.hp-faq p{margin:8px 0 0;color:var(--sub)}
.hp-kaitori{background:var(--sun)}
.hp-eyebrow.ink{color:var(--ink)}
.hp-checks{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px}
.hp-checks p{margin:0;display:flex;gap:10px;align-items:center;font-weight:700}
.hp-checks .hp-ico{width:22px;height:22px;flex:none}
.hp-recruit{border:2px solid var(--ink);border-radius:24px;padding:40px;display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:center}
.hp-recruit>div{flex:1 1 420px}
.hp-recruit h2{margin-bottom:12px}

/* price page */
.hp-pricehead{padding:64px 0 48px}
.hp-pricehead h1{margin-bottom:12px}
.hp-pgroup{padding-top:48px}
.hp-pgroup h2{margin:0 0 8px;font-size:22px;font-weight:900;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.hp-pgroup h2 span{background:var(--sun);border-radius:8px;padding:2px 10px;font-size:15px}
.hp-prow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.hp-prow b{display:block;font-size:17px}
.hp-prow small{display:block;font-size:13px;color:var(--mute)}
.hp-prow .r{text-align:right}
.hp-prow .ex{font-size:26px;font-weight:900}
.hp-prow .r small{font-size:14px;color:var(--sub)}
.hp-fee{border:1px solid var(--line);border-radius:16px;padding:20px}
.hp-fee small{display:block;color:var(--mute);font-size:14px}
.hp-fee b{font-size:26px;font-weight:900}
.hp-note{font-size:13px;color:var(--mute)}
.hp-surcharge{background:var(--ink);color:#fff;border-radius:20px;padding:32px;margin-top:48px}
.hp-surcharge h2{color:var(--sun);font-size:22px;margin:0 0 20px}
.hp-surcharge small{color:#CFCFCF;font-size:14px;display:block}
.hp-surcharge b{font-size:32px;font-weight:900}
.hp-surcharge .hp-note{color:#CFCFCF}
.hp-example{background:#2A2A2A;border-radius:12px;padding:20px;font-size:14px;margin-top:16px}
.hp-example p{margin:4px 0 0}
.hp-example .total{font-size:22px;font-weight:900;color:var(--sun)}
.hp-center{text-align:center;padding:40px 0}

/* inner pages (parent templates) */
body.hagi-new .site-content{float:none;width:min(960px,calc(100% - 48px));margin:48px auto 80px}
body.hagi-new .widget-area{display:none}
body.hagi-new .entry-content,body.hagi-new .entry-summary{font-size:16px;line-height:1.9}
body.hagi-new .entry-header .entry-title{font-size:28px;font-weight:900;line-height:1.4}
body.hagi-new .entry-content img{max-width:100%;height:auto}
body.hagi-new .entry-content table{width:100%;border-collapse:collapse}
body.hagi-new .entry-content td,body.hagi-new .entry-content th{border-bottom:1px solid var(--line);padding:8px}

/* footer */
.hp-footer{background:var(--ink);color:#CFCFCF;padding:56px 0 100px}
.hp-foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hp-foot p{margin:0;font-size:13px}
.hp-foot-name{font-size:20px!important;font-weight:900;color:#fff}
.hp-foot-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}
.hp-footer a{color:#CFCFCF!important}
.hp-copy{text-align:center;font-size:12px;margin:32px 0 0}
.hp-sticky{position:fixed;bottom:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border-top:1px solid var(--line)}
.hp-sticky a{text-align:center;padding:12px 4px;font-weight:900;text-decoration:none;line-height:1.3;display:flex;flex-direction:column;justify-content:center}
.hp-sticky small{font-size:10px;font-weight:500;color:var(--sun)}
.hp-sticky .sun{background:var(--sun)}
.hp-sticky .dark{background:var(--ink);color:#fff!important}
.hp-ico{display:block}

/* responsive */
@media (max-width:960px){.hp-nav{display:none}.hp-banners,.hp-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
	.hp-grid3,.hp-grid2{grid-template-columns:minmax(0,1fr)}
	.hp-head{justify-content:center}
	.hp-tels{justify-content:center}
	.hp-hero-in{padding:48px 0}
	.hp-hero-side img{width:160px;height:160px}
	.hp-sec{padding:56px 0}
	.hp-sec h2{font-size:26px}
	.hp-recruit{padding:28px}
	.hp-wrap,.hp-narrow{width:calc(100% - 32px)}
}
@media (max-width:480px){.hp-banners,.hp-grid4{grid-template-columns:minmax(0,1fr)}.hp-tels .hp-pill{font-size:13px;padding:6px 12px}}
@media (min-width:961px){.hp-sticky{display:none}.hp-footer{padding-bottom:40px}}
