@charset "UTF-8";
/* WOODBELL — carried over verbatim from the approved design. Do not restyle. */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;padding:0;background:#F5F1E8;color:#2A2E26;overflow-x:hidden;
  font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
  font-feature-settings:"palt" 1;word-break:normal;line-break:strict;
  -webkit-font-smoothing:antialiased}
p{text-wrap:pretty}
a{color:#6F5A2E;text-decoration:none}
a:hover{color:#4F421F}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit;color:inherit}
::selection{background:#B99A5A;color:#16201A}
@keyframes wbZoom{from{transform:scale(1)}to{transform:scale(1.09)}}
@keyframes wbCue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes wbIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
  [data-reveal]{animation:wbIn .9s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% cover 20%}
  [data-reveal][data-reveal-delay]{animation-range:entry 0% cover 26%}
}
@media (prefers-reduced-motion: reduce){[data-reveal]{animation:none}}
[data-motion="off"] [data-reveal]{animation:none}
@media print{[data-reveal]{animation:none}}
/* narrow phones: tighten the header row so logo + TEL + menu fit */
@media (max-width:420px){
  [data-site-header]{gap:10px !important;padding-left:14px !important;padding-right:14px !important}
  [data-site-header] a img{height:26px !important}
  [data-site-header] a[aria-label="電話でお問い合わせ"]{padding:11px 12px !important;font-size:13px !important}
}
/* FV info band: 3 across, stacking to one column on phones */
@media (max-width:900px){
  .wb-fv-panel-grid{grid-template-columns:1fr !important}
  .wb-fv-panel-grid > div{border-left:0 !important;padding:16px 0 !important}
  .wb-fv-panel-grid > div + div{border-top:1px solid rgba(42,46,38,.16)}
  .wb-fv-panel-grid img{width:32px !important;height:32px !important}
}
/* FV: photo sits behind the copy on narrow screens, with a stronger veil */
@media (max-width:900px){
  .wb-fv-photo{width:100% !important}
  .wb-fv-veil{background:linear-gradient(180deg,rgba(245,241,232,.96) 0%,rgba(245,241,232,.92) 46%,rgba(245,241,232,.78) 72%,rgba(245,241,232,.62) 100%) !important}
  .wb-fv-copy{min-height:0 !important}
}
/* Sub-page hero photo: the header is a solid bar above the flow, so the
   photo simply fills its half of the section. */
.wb-sub-photo{position:absolute;inset:0 0 0 auto;width:min(48%,760px)}
.wb-never-empty{background:linear-gradient(140deg,#E7E0D2 0%,#DCD4C2 100%) !important;color:#6F5A2E !important}
.wb-never-empty{background:linear-gradient(140deg,#25311F 0%,#1B2419 100%) !important;color:#B99A5A !important}

/* FV headline: two lines on desktop, three on phones */
/* FV on phones: the copy block owns the lower half, truck reads above it */
/* FV: keep the truck right-of-centre on desktop, in frame on phones */
/* Sticky header: near-opaque dark green once the page has scrolled,
   logo swapped to its white-wordmark variant, nav text lifted to white/ivory. */
header[data-site-header].wb-scrolled{background:rgba(27,36,29,.97) !important;border-bottom-color:rgba(242,237,225,.16) !important}
header[data-site-header].wb-scrolled nav a span:first-child{color:#FFFFFF !important}
header[data-site-header].wb-scrolled nav a span:last-child{color:#EFE8DC !important}
header[data-site-header].wb-scrolled nav a:hover span{color:#D9BE84 !important}
header[data-site-header].wb-scrolled a[href^="#contact"]{color:#16201A !important}
header[data-site-header].wb-scrolled a[aria-label="電話でお問い合わせ"]{color:#FFFFFF !important;border-color:rgba(242,237,225,.42) !important}
header[data-site-header].wb-scrolled button[aria-label="メニューを開く"] span{background:#FFFFFF !important}
@keyframes wbMenuIn{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes wbItemIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* Image frames own their geometry, so swapping or removing a photo in the
   admin can never resize a section, letterbox, or leave a gap behind. */
.wb-frame{background:transparent}
.wb-frame > img{display:block}

/* header nav / mobile split (a JS width state in the source design) */
@media (max-width:1079px){ .wb-desk{display:none !important} }
@media (min-width:1080px){ .wb-mob{display:none !important} }

/* full-screen menu: closed on first paint, as in the source design */
#wb-menu{display:none}
body.wb-menu-open #wb-menu{display:block}
body.wb-menu-open{overflow:hidden}
.wb-when-open{display:none !important}
body.wb-menu-open .wb-when-open{display:contents !important}
body.wb-menu-open .wb-when-closed{display:none !important}

/* hover / focus states (were style-hover / style-focus attributes) */
.wb-h1:hover{color:#6F5A2E !important}
.wb-h2:hover{color:#6F5A2E !important}
.wb-h3:hover{color:#6F5A2E !important}
.wb-h4:hover{color:#6F5A2E !important}
.wb-h5:hover{color:#6F5A2E !important}
.wb-h6:hover{color:#6F5A2E !important}
.wb-h7:hover{background:#2C3A2C !important}
.wb-h8:hover{color:#B99A5A !important}
.wb-h9:hover{color:#B99A5A !important}
.wb-h10:hover{color:#B99A5A !important}
.wb-h11:hover{color:#B99A5A !important}
.wb-h12:hover{color:#B99A5A !important}
.wb-h13:hover{color:#B99A5A !important}
.wb-h14:hover{color:#B99A5A !important}
.wb-h15:hover{color:#B99A5A !important}
.wb-h16:hover{color:#B99A5A !important}
.wb-h17:hover{background:#2C3A2C !important}
.wb-h18:hover{background:#EFE8DC !important;border-color:#1F2A21 !important}
.wb-h19:hover{color:#6F5A2E !important;border-color:#6F5A2E !important}
.wb-h20:hover{color:#6F5A2E !important;border-color:#6F5A2E !important}
.wb-h21:hover{background:#C4A86B !important}
.wb-h22:hover{color:#6F5A2E !important;border-color:#6F5A2E !important}
.wb-h23:hover{color:#B99A5A !important}
.wb-h24:hover{opacity:.6 !important}
.wb-h25:hover{opacity:.6 !important}
.wb-h26:hover{opacity:.6 !important}
.wb-h27:hover{background:#C4A86B !important}
.wb-h28:hover{background:#B99A5A !important;color:#16201A !important}
.wb-h29:hover{background:#C4A86B !important}
.wb-h30:hover{background:#C4A86B !important}
.wb-h31:hover{background:#C4A86B !important}
.wb-h32:hover{color:#6F5A2E !important}
.wb-h33:hover{color:#6F5A2E !important}
.wb-h34:hover{color:#6F5A2E !important;border-color:#6F5A2E !important}
.wb-h35:hover{color:#C4A86B !important}
.wb-h36:hover{background:#C4A86B !important}
.wb-f1:focus{border-color:#B99A5A !important;outline:2px solid rgba(185,154,90,.28) !important;outline-offset:0 !important}
.wb-f2:focus{border-color:#B99A5A !important;outline:2px solid rgba(185,154,90,.28) !important;outline-offset:0 !important}
.wb-f3:focus{border-color:#B99A5A !important;outline:2px solid rgba(185,154,90,.28) !important;outline-offset:0 !important}
.wb-f4:focus{border-color:#B99A5A !important;outline:2px solid rgba(185,154,90,.28) !important;outline-offset:0 !important}
.wb-f5:focus{border-color:#B99A5A !important;outline:2px solid rgba(185,154,90,.28) !important;outline-offset:0 !important}
.wb-f6:focus{border-color:#B99A5A !important;outline:2px solid rgba(185,154,90,.28) !important;outline-offset:0 !important}

/* Editor content (NEWS body / generic pages) — same type scale as the design */
.wb-article{font-size:16px;line-height:1.9;letter-spacing:.035em;color:#3F4438}
.wb-article > *:first-child{margin-top:0}
.wb-article p{margin:0 0 1.6em}
.wb-article h2{margin:2.4em 0 .9em;font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-weight:700;font-size:clamp(20px,2.3vw,27px);line-height:1.6;letter-spacing:.055em;color:#2A2E26}
.wb-article h3{margin:2em 0 .8em;font-size:18px;font-weight:700;letter-spacing:.05em;color:#2A2E26}
.wb-article h4{margin:1.8em 0 .7em;font-size:16px;font-weight:700;letter-spacing:.05em;color:#2A2E26}
.wb-article a{color:#6F5A2E;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.wb-article a:hover{color:#4F421F}
.wb-article ul,.wb-article ol{margin:0 0 1.6em;padding-left:1.4em}
.wb-article li{margin:0 0 .6em}
.wb-article img{height:auto;margin:1.6em 0}
.wb-article figure{margin:1.8em 0}
.wb-article figcaption{margin-top:.7em;font-size:14px;color:#5E6353}
.wb-article blockquote{margin:1.8em 0;padding:4px 0 4px 20px;border-left:3px solid #B99A5A;color:#3F4438}
.wb-article hr{margin:2.4em 0;border:0;border-top:1px solid rgba(42,46,38,.18)}
.wb-article table{width:100%;border-collapse:collapse;margin:1.8em 0}
.wb-article th,.wb-article td{padding:14px 12px;border-bottom:1px solid rgba(42,46,38,.18);text-align:left;font-size:15px}
.wb-article th{font-weight:600;color:#2A2E26}
.wb-news-back:hover{color:#6F5A2E !important;border-color:#6F5A2E !important}
.page-numbers:hover{background:#EFE8DC !important}

/* Cloudflare Turnstile widget + disabled-submit look (widget itself is an
   iframe rendered by Cloudflare's script — only spacing/disabled state are
   ours to style). */
.cf-turnstile { width: 100%; }
[data-wb-submit][disabled] { opacity: .5; cursor: not-allowed; }

/* TOP FV lead — narrow phones: 2 lines (break after "｜"), kept compact */
@media (max-width: 360px) {
  .wb-fv-copy h1 { margin-top: 14px !important; }
  .wb-fv-copy .seo-lead { line-height: 1.5 !important; margin-bottom: 10px !important; }
}
