/*
Theme Name: kusunoki-test
Theme URI: https://kusunoki-ah.com/
Author: Kusunoki Animal Hospital
Description: くすの木動物病院専用テーマ
Version: 1.0.0
Text Domain: kusunoki-test
*/
:root{--deep:#033632;--green:#0f988c;--aqua:#00a99a;--mint:#58c6af;--pink:#ffa8a8;--coral:#f25f5f;--orange:#f1953b;--yellow:#fbb958;--footer:#007066;--brown:#5e4935}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;min-width:1200px}body{color:var(--deep);font-family:"Noto Sans JP",sans-serif;letter-spacing:.05em}a{color:inherit;text-decoration:none}img{display:block}
.site-header{position:relative;height:400px;background:#fff url("../img/new-asset-01-1600x710_933.png") center/cover no-repeat}.site-header:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.6);pointer-events:none}.header-inner{position:relative;z-index:1;width:100%;height:400px;padding:18px 24px 0 48px;display:flex;justify-content:space-between;align-items:flex-start}.header-left{flex:0 0 350px}.header-right{flex:0 0 1040px;display:flex;flex-direction:column;align-items:stretch}.brand{display:block;width:350px;height:70px}.brand .brand-logo{width:350px;height:70px}
.header-tools{position:absolute;top:20px;right:24px;height:60px;display:flex}.header-phone{width:300px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:0 14px 0 4px;border-right:1px solid #a3a3a3}.header-phone-number{display:flex;align-items:center;gap:10px;white-space:nowrap}.header-phone-number img{width:24px;height:31px;flex:none}.header-phone strong,.header-phone small{display:block}.header-phone strong{font-family:Jost,sans-serif;font-size:30px;font-weight:500;line-height:1}.header-phone small{margin:5px 0 0 34px;font-size:11px;letter-spacing:.1em;line-height:1;white-space:nowrap}.header-station{width:225px;display:flex;align-items:center;gap:12px;padding:4px 13px}.header-station>img{width:21px;height:26px}.header-station small,.header-station strong{display:block;font-family:"Zen Maru Gothic",sans-serif;font-weight:700}.header-station small{font-size:13px}.header-station strong{margin-top:2px;font-size:17px;white-space:nowrap}.tool-button{height:60px;display:flex;align-items:center;justify-content:center;gap:13px;overflow:hidden;border-radius:5px;color:#fff;font-family:"Zen Maru Gothic",sans-serif;font-size:18px;font-weight:900;letter-spacing:.15em}.tool-button img{object-fit:contain}.tool-button--shop{width:137px;background:var(--pink)}.tool-button--shop img{width:28px;height:24px;opacity:.51}.tool-button--web{width:216px;margin-left:10px;background:var(--green)}.tool-button--web img{width:26px;height:25px;opacity:.6}
.global-nav{position:absolute;top:113px;right:24px;width:1040px;display:grid;grid-template-columns:55px 120px 275px 210px 145px 112px 100px;align-items:start}.global-nav a,.footer-nav a{text-align:center}.global-nav strong,.global-nav small,.footer-nav strong,.footer-nav small{display:block}.global-nav strong{font-family:"Zen Maru Gothic",sans-serif;font-size:16px;font-weight:700;line-height:1.35;white-space:nowrap}.global-nav small{margin-top:3px;color:var(--aqua);font-family:Jost,sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;opacity:.75;white-space:nowrap}.home-icon{display:inline-block;width:20px;height:20px;margin-top:0;background:none}.global-nav .home-icon{filter:none}
.page-title{position:absolute;top:232px;left:640px;width:320px;text-align:center}.page-title h1{margin:0;font-family:"Zen Maru Gothic",sans-serif;font-size:35px;font-weight:700;line-height:1.35;letter-spacing:.15em}.page-title p{margin:4px 0 0;color:var(--aqua);font-family:Jost,sans-serif;font-size:16px;font-weight:700;letter-spacing:.2em}.page-body{height:686px;background:#ebf6f5}
.fixed-actions{position:fixed;z-index:10;right:0;top:255px;width:61px}.fixed-actions a{display:flex;width:61px;color:#fff;text-align:center;font-family:"Zen Maru Gothic",sans-serif;font-weight:900}.fixed-web{height:187px;border-radius:10px 0 0 10px;background:var(--green);flex-direction:column;align-items:center;padding-top:21px}.fixed-web img{width:26px;height:25px;margin-bottom:10px;opacity:.6}.fixed-web span{font-size:19px;line-height:19px}.fixed-web b{font-size:18px;line-height:22px}.fixed-form{height:153px;margin-top:10px;border-radius:10px 0 0 10px;background:var(--yellow);flex-direction:column;align-items:center;padding-top:18px}.clipboard-icon{display:grid;place-items:center;width:22px;height:27px;margin-bottom:8px;border:2px solid rgba(255,255,255,.6);border-radius:2px;font-size:14px}.fixed-form b{font-size:18px;line-height:22px}.back-top{position:fixed;z-index:10;right:20px;top:865px;width:60px;height:60px;border-radius:50%;background:var(--coral)}.back-top:after{content:"";position:absolute;left:22px;top:24px;width:12px;height:12px;border-left:3px solid #fff;border-top:3px solid #fff;transform:rotate(45deg)}
.access-section{position:relative;height:1344px;padding-top:102px;overflow:hidden;background:#f7e8e2}.access-section:before{content:"";position:absolute;inset:-40px;background:url("../img/new-asset-14-2289_087x1344.jpg") center/cover;filter:blur(22px);opacity:.2}.access-card,.calendar-panel{position:relative}.access-card{width:1200px;height:730px;margin:auto;display:grid;grid-template-columns:600px 600px;overflow:hidden;border-radius:20px;background:#fff}.access-copy{padding:67px 100px 40px}.access-brand{width:350px;height:70px}.access-brand .brand-logo{width:350px;height:70px}.address{margin:28px 0 31px;padding:17px 0;border-block:1px dotted #a3a3a3;font-size:13px}.route{margin:0 0 21px}.route h2{position:relative;margin:0 0 6px;padding-left:17px;color:var(--green);font-family:"Zen Maru Gothic",sans-serif;font-size:13px}.route h2:before{content:"";position:absolute;left:0;top:5px;width:10px;height:10px;border-radius:50%;background:var(--green)}.route p{margin:0;padding-left:17px;font-size:12px;line-height:1.7}.route a{color:var(--green);text-decoration:underline}.contact-line{margin-top:28px;padding:27px 4px 0;border-top:1px dotted #a3a3a3;display:flex;align-items:center;justify-content:flex-end;gap:22px}.contact-line small{font-size:12px}.contact-line>a{display:flex;align-items:center;gap:10px;font-family:Jost,sans-serif;font-size:30px;letter-spacing:.04em}.contact-line>a img{width:24px;height:31px}.access-actions{margin-top:25px;display:flex}.access-actions .tool-button--shop{width:137px}.access-actions .tool-button--web{width:305px}.payment-label{margin:26px 0 13px;text-align:center;font-size:12px}.payment-logos{height:42px;display:flex;align-items:center;justify-content:center}.payment-logos img{width:330px;height:42px;object-fit:contain}
.access-media{display:grid;grid-template-rows:459px 271px}.clinic-photo{width:600px;height:459px;object-fit:cover}.hours{padding:34px 66px 20px;background:#fffbf7;color:var(--brown)}.hours table{width:100%;border-collapse:collapse;font-size:12px}.hours th,.hours td{height:43px;border-bottom:1px solid #d7cdc4;text-align:center}.hours thead th:first-child,.hours tbody th{text-align:left}.hours thead th:first-child{font-size:16px}.hours tbody th{font-size:14px}.hours tbody td{color:var(--orange);font-size:17px}.hours p{margin:11px 0 4px;font-size:10px;line-height:1.5}.hours p span{color:var(--orange)}.hours>small{font-size:9px}.calendar-panel{width:800px;height:350px;margin:43px auto 0;display:grid;place-items:center;border-radius:20px;background:#fff;color:#000;font-size:30px;font-weight:700;letter-spacing:.14em}.map-frame{width:100%;height:510px;overflow:hidden;background:#eee}.map-frame iframe{display:block;width:100%;height:510px;border:0}
.site-footer{position:relative;height:525px;background:var(--footer);color:#fff}.footer-nav{position:absolute;top:61px;left:50%;width:670px;margin:0;display:grid;grid-template-columns:70px repeat(4,150px);transform:translateX(-50%)}.footer-nav strong{font-family:"Zen Maru Gothic",sans-serif;font-size:16px}.footer-nav small{margin-top:3px;font-family:Jost,sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em}.footer-nav .home-icon{filter:brightness(0) invert(1)}.banners{position:absolute;left:50%;display:flex;align-items:center;justify-content:center;transform:translateX(-50%)}.banners a{display:block;overflow:hidden}.banners img{width:100%;height:100%;object-fit:fill}.banners--top{top:167px;width:974px;height:60px;gap:14px}.banners--top a{width:184px;height:60px;border-radius:6px}.banners--bottom{top:250px;width:1110px;height:60px;gap:14px}.banners--bottom a{height:60px;border-radius:6px;background:#fff}.banners--bottom a:nth-child(1){width:135px}.banners--bottom a:nth-child(2){width:185px}.banners--bottom a:nth-child(3){width:135px}.banners--bottom a:nth-child(4){width:135px}.banners--bottom a:nth-child(5){width:124px}.banners--bottom a:nth-child(6){width:150px}.banners--bottom a:nth-child(7){width:183px}.interview{position:absolute;top:373px;left:50%;display:block;width:250px;height:80px;overflow:hidden;border-radius:6px;transform:translateX(-50%)}.interview img{width:250px;height:80px}.copyright{position:absolute;top:485px;width:100%;margin:0;text-align:center;font-size:11px;font-weight:700}

/* Full-width header groups */
.header-tools{position:static;height:60px;display:flex;justify-content:flex-end}
.global-nav{position:static;width:1040px;margin-top:35px;display:grid;grid-template-columns:55px 120px 275px 210px 145px 112px 100px;align-items:start}
.page-title{left:50%;transform:translateX(-50%)}
.nav-item{position:relative;text-align:center}
.dropdown-menu{position:absolute;z-index:20;top:calc(100% + 16px);left:50%;width:260px;padding:0;background:#fff;opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.dropdown-menu:before{content:"";position:absolute;inset:-16px 0 auto;height:16px}
.dropdown-menu a{display:flex;width:260px;height:50px;align-items:center;justify-content:center;padding:0;border:0;background:#fff;color:#033632;font-family:"Zen Maru Gothic",sans-serif;font-size:16px;font-weight:700;line-height:1;letter-spacing:.1em;white-space:nowrap;transition:background-color .2s ease,color .2s ease}
.dropdown-menu a:hover,.dropdown-menu a:focus-visible{background:#09a89a;color:#fff;outline:0}
.has-dropdown:hover>.dropdown-menu,.has-dropdown:focus-within>.dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* Scroll-to-top visibility */
.back-top{top:auto;bottom:20px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease,visibility .35s}
.back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}

/* Footer navigation mirrors the header */
.footer-nav{top:61px;width:1040px;grid-template-columns:55px 120px 275px 210px 145px 112px 100px}
.footer-nav>.nav-item>a,.footer-nav>a{color:#fff}
.footer-nav .dropdown-menu{top:auto;bottom:calc(100% + 16px);background:#fff}
.footer-nav .dropdown-menu:before{inset:auto 0 -16px;height:16px}
.footer-nav .dropdown-menu a{color:var(--deep)}
.footer-nav .dropdown-menu a:hover,.footer-nav .dropdown-menu a:focus-visible{background:#09a89a;color:#fff}

/* WordPress theme integration */
.site-header{background-image:var(--hero-image);background-position:top center;background-size:cover;background-attachment:fixed}
.site-header:after{background:transparent}
.page-content{padding:90px 0}
.content-section{padding:90px 0}
.content-section:nth-of-type(odd){background:#f2f9f8}
.content-section:nth-of-type(even){background:#fff}
.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.section-title{margin:0 0 55px;text-align:center}
.section-title h2{display:flex;align-items:center;justify-content:center;gap:25px;margin:0;color:#033632;font-family:"Zen Maru Gothic",sans-serif;font-size:34px;font-weight:700;letter-spacing:.1em}
.section-title h2:before,.section-title h2:after{content:"";width:75px;height:1px;background:#86aaa5}
.section-title p{margin:8px 0 0;color:#00a99a;font-family:Jost,sans-serif;font-size:13px;font-weight:700;letter-spacing:.2em}
.media-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.media-row.reverse>figure{order:2}.media-row figure{margin:0}.media-row img{width:100%;height:380px;object-fit:cover}.content-section h3{margin:55px 0 30px;padding:15px 22px;border-left:6px solid #f0bd64;background:#087a72;color:#fff;font-size:20px}.content-section h4{position:relative;margin:0 0 22px;padding-left:18px;color:#087a72;font-size:20px}.content-section h4:before{content:"";position:absolute;left:0;top:.35em;width:5px;height:1em;background:#dcae55}.content-section p{font-size:16px;line-height:2}.line-grid,.simple-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 45px;margin:0;padding:0;list-style:none}.line-grid li,.simple-list li{padding:16px 8px;border-bottom:1px solid #b8cecb}.outlined-panel{margin-top:45px;padding:25px 35px;border:1px solid #7eb3ad;text-align:center}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:60px}.vertical-flow{margin:0;padding:0;list-style:none}.vertical-flow li{display:grid;grid-template-columns:54px 1fr;gap:22px;align-items:start;padding:24px 0;border-bottom:1px solid #bfd1ce}.vertical-flow li>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0f988c;color:#fff;font-family:Jost,sans-serif;font-weight:700}.vertical-flow h4,.vertical-flow p{margin-top:0}.front-placeholder{display:grid;min-height:520px;place-items:center;background:#f2f9f8;text-align:center}.front-placeholder p{font-size:20px}
.access-section:before{background-image:url("assets/img/new-asset-14-2289_087x1344.jpg")}
.mobile-only,.menu-toggle,.mobile-nav{display:none}
.content-list{margin:25px 0 0;padding:0;list-style:none}.content-list li{padding:13px 0;border-bottom:1px solid #c4d8d5;font-size:15px;line-height:1.8}
.scroll-header{position:fixed;z-index:35;top:0;left:0;width:100%;height:80px;padding:8px 48px;display:flex;align-items:center;justify-content:space-between;background:#fff;opacity:0;visibility:hidden;transform:translateY(-100%);transition:opacity .3s ease,transform .3s ease,visibility .3s;box-shadow:0 1px 0 rgba(3,54,50,.08)}
.scroll-header.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-header-brand{display:block;width:285px}.scroll-header-brand img{width:100%;height:auto}
.scroll-header-nav{width:920px;display:grid;grid-template-columns:45px 105px 245px 185px 130px 105px 95px;align-items:center}
.scroll-header-nav a{text-align:center}.scroll-header-nav strong,.scroll-header-nav small{display:block;white-space:nowrap}.scroll-header-nav strong{font-family:"Zen Maru Gothic",sans-serif;font-size:14px;font-weight:700}.scroll-header-nav small{margin-top:2px;color:var(--aqua);font-family:Jost,sans-serif;font-size:9px;font-weight:700;letter-spacing:.18em}.scroll-header-nav .home-icon{width:18px;height:18px}.scroll-header-nav .dropdown-menu{top:calc(100% + 23px)}

@media (max-width:767px){
  html,body{min-width:0;width:100%;overflow-x:hidden}
  body{font-size:14px}
  .site-header{height:290px;background-position:center}
  .header-inner{height:290px;padding:10px 15px;display:block}
  .header-left{width:230px}.brand,.brand .brand-logo{width:230px;height:auto}
  .header-right{display:none}
  .page-title{top:155px;left:50%;width:calc(100% - 40px)}
  .page-title h1{font-size:27px}.page-title p{font-size:12px}
  .menu-toggle{position:absolute;z-index:42;top:0;right:0;display:flex;width:62px;height:62px;padding:18px 15px;flex-direction:column;justify-content:space-between;border:0;background:var(--green);cursor:pointer}
  .menu-toggle span{display:block;width:100%;height:1px;background:#fff;transition:transform .3s ease,opacity .3s ease}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(12px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-12px) rotate(-45deg)}
  .scroll-header{display:none}
  .header-left{position:absolute;z-index:42;top:0;left:0;width:calc(100% - 62px);height:62px;padding:9px 15px;background:#fff}
  .header-left .brand,.header-left .brand-logo{width:225px;height:auto}
  .mobile-nav{position:fixed;z-index:40;top:62px;right:0;bottom:0;left:0;display:block;padding:0 0 35px;background:#087a72;opacity:0;visibility:hidden;transform:translateY(-12px);overflow-y:auto;transition:opacity .3s ease,transform .3s ease,visibility .3s}
  .menu-open{overflow:hidden}.menu-open .mobile-nav{opacity:1;visibility:visible;transform:translateY(0)}
  .mobile-nav-inner{width:100%;margin:auto;border-top:1px solid rgba(255,255,255,.18)}
  .mobile-nav .home-link,.mobile-nav .nav-item>a,.mobile-accordion-toggle{display:flex;width:100%;min-height:60px;align-items:center;justify-content:center;padding:10px 48px;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;text-align:center}
  .mobile-nav .home-icon{display:none}.mobile-only{display:inline;font-family:"Zen Maru Gothic",sans-serif;font-weight:700}
  .mobile-nav strong{display:block;font-family:"Zen Maru Gothic",sans-serif;font-size:16px;font-weight:700}.mobile-nav small{display:none}
  .mobile-accordion-toggle{position:relative;cursor:pointer}.mobile-accordion-toggle i{position:absolute;right:24px;width:18px;height:18px}.mobile-accordion-toggle i:before,.mobile-accordion-toggle i:after{content:"";position:absolute;top:8px;left:2px;width:14px;height:1px;background:#fff;transition:transform .25s}.mobile-accordion-toggle i:after{transform:rotate(90deg)}.mobile-nav .is-open .mobile-accordion-toggle i:after{transform:rotate(0)}
  .mobile-nav .dropdown-menu{position:static;width:100%;max-height:0;background:rgba(255,255,255,.08);opacity:1;visibility:visible;transform:none;overflow:hidden;transition:max-height .35s ease}.mobile-nav .dropdown-menu:before{display:none}.mobile-nav .is-open .dropdown-menu{max-height:260px}.mobile-nav .dropdown-menu a{width:100%;height:48px;justify-content:center;padding:0 45px;border-bottom:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;font-size:14px;font-weight:500;text-align:center}.mobile-nav .dropdown-menu a:hover,.mobile-nav .dropdown-menu a:focus-visible{background:rgba(255,255,255,.16);color:#fff}
  .fixed-actions{display:none}
  .container{width:calc(100% - 40px)}
  .content-section{padding:65px 0}.section-title{margin-bottom:38px}.section-title h2{gap:12px;font-size:24px;line-height:1.45}.section-title h2:before,.section-title h2:after{width:35px;flex:none}.section-title p{font-size:10px}.media-row,.two-column{grid-template-columns:1fr;gap:28px}.media-row.reverse>figure{order:0}.media-row img{height:auto;max-height:340px}.content-section h3{margin:38px 0 22px;padding:13px 16px;font-size:17px}.content-section h4{font-size:18px}.content-section p{font-size:14px;line-height:1.9}.line-grid,.simple-list{grid-template-columns:1fr}.outlined-panel{margin-top:30px;padding:20px}.vertical-flow li{grid-template-columns:44px 1fr;gap:14px}.vertical-flow li>span{width:40px;height:40px}
  .access-section{height:auto;padding:60px 20px}.access-card{width:100%;height:auto;display:block;border-radius:14px}.access-copy{padding:42px 25px}.access-brand,.access-brand .brand-logo{width:100%;max-width:350px;height:auto}.contact-line{justify-content:flex-start;gap:10px;flex-wrap:wrap}.contact-line>a{font-size:26px}.access-actions{gap:8px}.access-actions .tool-button--shop,.access-actions .tool-button--web{width:50%;margin:0;font-size:15px}.payment-logos img{max-width:100%;height:auto}.access-media{display:block}.clinic-photo{width:100%;height:auto}.hours{padding:28px 18px}.calendar-panel{width:100%;height:240px;margin-top:30px;font-size:20px}.map-frame,.map-frame iframe{height:390px}
  .site-footer{height:auto;padding:50px 20px 35px}.footer-nav{display:none}.banners,.banners--top,.banners--bottom{position:static;width:100%;height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;transform:none}.banners--top a,.banners--bottom a,.banners--bottom a:nth-child(n){width:100%;height:48px;border-radius:4px}.banners--bottom{margin-top:14px}.interview{position:static;width:250px;height:80px;margin:28px auto 0;transform:none}.copyright{position:static;margin:28px 0 0;font-size:10px}
  .back-top{right:15px;bottom:15px;width:48px;height:48px}.back-top:after{left:17px;top:19px}
}
