/*
Theme Name: かんだ整体院
Theme URI:
Author: かんだ整体院
Description: かんだ整体院オリジナルテーマ。静的HTMLデザインをそのまま維持したWordPressテーマです。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: kanda
*/

html, body { margin:0; padding:0; }
@keyframes om-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
body { font-family:"Noto Sans JP", system-ui, sans-serif; font-size:16px; color:#333; background:#fff; -webkit-font-smoothing:antialiased; }
* { box-sizing:border-box; }
a { color:#2E6B4C; }
a:hover { color:#4BA37A; }
h1,h2,h3,h4,p,ul,li,dl,dt,dd,figure { margin:0; padding:0; }
ul { list-style:none; padding:0; }
img { max-width:100%; display:block; }
[data-sp-burger], [data-sp-bar], [data-sp-spacer] { display:none !important; }
h1,h2,h3,h4,p,ul,li,ol,dl,dt,dd,figure { margin:0; padding:0; }
@media (max-width:1099px) {
  [data-g="footer"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  [data-hdr] nav ul { gap:16px !important; }
  [data-hdr] nav li { flex-shrink:0; }
  [data-hdr-info] { font-size:12px !important; }
  [data-g="contact"] { grid-template-columns:minmax(0,1fr) !important; }
  [data-g="msg"] { grid-template-columns:minmax(0,1fr) !important; gap:24px !important; }
  [data-g="feat"] { grid-template-columns:minmax(0,1fr) !important; }
  [data-g="blog"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:767px) {
  [data-pc] { display:none !important; }
  [data-sp-burger] { display:flex !important; }
  [data-sp-bar] { display:grid !important; }
  [data-sp-spacer] { display:block !important; }
  [data-g="menu"], [data-g="blog"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
  [data-g="voice"], [data-g="biz"], [data-g="footer"] { grid-template-columns:1fr !important; }
  [data-hero] { display:block !important; }
  [data-hero] > div { grid-column:auto !important; grid-row:auto !important; }
  [data-hero] > div:last-child { margin-top:-32px !important; position:relative; z-index:2; }
  [data-scroll] { overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  [data-scroll] table { min-width:560px !important; }
  [data-hdr] { padding:0 16px !important; gap:12px !important; min-height:58px; }
  [data-hdr] img { width:118px !important; }
  [data-hdr-info] { display:none !important; }
  [data-hdr-tel] { display:none !important; }
  [data-hdr-cta] { padding:10px 18px !important; font-size:14px !important; }
  [data-hdr-right] { flex-direction:row !important; align-items:center !important; justify-content:flex-end !important; gap:10px !important; }
  [data-hdr-row] { flex-wrap:nowrap !important; gap:10px !important; }
  [data-tel-btn] { padding:16px 12px !important; gap:4px !important; flex-direction:column !important; }
  [data-tel-btn] span:last-child { font-size:22px !important; }
  [data-map] { aspect-ratio:1/1 !important; }
  [data-cta-pair] { flex-direction:column !important; }
  [data-scroll] { min-width:0 !important; max-width:100% !important; }
  [data-pad] { padding-left:16px !important; padding-right:16px !important; }
  [data-step] { grid-template-columns:minmax(0,1fr) !important; gap:12px !important; }
  [data-step-no] { justify-self:start !important; width:72px !important; height:72px !important; }
  [data-g="two"] { grid-template-columns:minmax(0,1fr) !important; }
  [data-g="footer"] { grid-template-columns:1fr !important; }
  [data-featrow] { grid-template-columns:minmax(0,1fr) !important; gap:14px !important; }
  [data-featno] { justify-self:start !important; }
  [data-g="worry"] { grid-template-columns:minmax(0,1fr) !important; }
  [data-g="worry"] p { white-space:normal !important; }
  [data-g="blog"] { grid-template-columns:minmax(0,1fr) !important; gap:20px !important; }
  [data-g="form"] { grid-template-columns:minmax(0,1fr) !important; }
}

/* WordPress core / theme additions (no visual change to existing design) */
[data-drawer] { display:none; }
[data-drawer].is-open { display:block; }
.alignleft { float:left; margin:0 1.5em 1em 0; }
.alignright { float:right; margin:0 0 1em 1.5em; }
.aligncenter { display:block; margin-left:auto; margin-right:auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.gnav ul { display:flex; align-items:center; justify-content:flex-end; gap:22px; list-style:none; margin:0; padding:0; }
.gnav li { flex-shrink:0; }
.gnav a { font-size:15px; font-weight:400; color:#3C4A41; text-decoration:none; white-space:nowrap; }
.gnav .current-menu-item > a, .gnav .is-current > a { font-weight:700; color:#2E6B4C; }
.drawer-nav ul { display:flex; flex-direction:column; list-style:none; margin:14px 0 0; padding:0; }
.drawer-nav a { display:block; padding:16px 4px; font-size:16px; color:#3C4A41; text-decoration:none; border-bottom:1px solid #F0F3F1; }

/* hover states (元デザインの style-hover を CSS 化) */
.hv-1:hover { background:#25583E !important; }
.hv-2:hover { box-shadow:0 10px 24px rgba(24,48,34,.12) !important; transform:translateY(-2px) !important; }
.hv-3:hover { background:#F3F8F4 !important; }
.hv-cta:hover { background:#25583E !important; }
.hv-tel:hover { background:#F3F8F4 !important; }
