
.skip-link{position:fixed;left:16px;top:-100px;z-index:999;background:#fff;color:#17120e;padding:12px 20px;font-family:var(--font-sans,sans-serif)}.skip-link:focus{top:8px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c28b35;outline-offset:5px}
html{scroll-padding-top:100px}body{overflow-wrap:break-word}.global-nav a{white-space:nowrap}.global-nav [aria-current=page]{color:#dfb35a;border-bottom:1px solid #dfb35a}
.subpage main{padding-top:76px}.sub-hero{position:relative;isolation:isolate;min-height:330px;display:flex;align-items:center;background:#15110e;color:#fff;overflow:hidden}.sub-hero-image{position:absolute;inset:0 0 0 auto;width:55%;height:100%;object-fit:cover;z-index:-2}.sub-hero:has(img)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#15110e 20%,rgba(21,17,14,.85) 48%,rgba(21,17,14,.3));z-index:-1}.sub-hero-copy{width:min(1120px,calc(100% - 64px));margin:auto;padding:60px 0}.sub-hero h1{font-size:clamp(30px,4vw,52px);letter-spacing:.1em;font-weight:500;line-height:1.5;margin:12px 0 20px}.sub-hero p:last-child{max-width:620px;line-height:2}.eyebrow{font:600 14px/1.7 var(--font-sans,sans-serif);letter-spacing:.18em;color:#93611c}.sub-hero .eyebrow,.sub-cta .eyebrow{color:#dfb35a}
.breadcrumb{width:min(1120px,calc(100% - 64px));margin:24px auto;font:14px/1.8 var(--font-sans,sans-serif);display:flex;flex-wrap:wrap;gap:12px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.sub-container{width:min(1120px,calc(100% - 64px));margin:auto;padding:20px 0 80px}.sub-container h2{font-size:clamp(24px,3vw,36px);font-weight:500;line-height:1.7;margin:8px 0 22px}.sub-container p{font-size:16px;line-height:2.15}.sub-section{margin:52px 0 80px}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split>img{width:100%;aspect-ratio:5/4;object-fit:cover}.split.reverse>img{order:2}.sub-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:#211a15;color:#fff;min-height:52px;padding:13px 26px;margin:16px 12px 8px 0;font:600 15px/1.7 var(--font-sans,sans-serif);border:1px solid #665034;transition:background .2s}.sub-button:hover{background:#835b27;color:#fff}.sub-button span{font-size:20px}.prose{max-width:830px;margin:56px auto}.sub-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin:40px 0}.sub-cards article{border:1px solid var(--line);background:#fffaf2}.sub-cards article>img{width:100%;aspect-ratio:16/10;object-fit:cover}.sub-cards article>div{padding:30px}.sub-cards h2{font-size:26px}.sub-cards p{margin-top:0}.sub-cta{background:linear-gradient(90deg,rgba(242,248,250,.89),rgba(242,248,250,.80) 50%,rgba(242,248,250,.87)),url('assets/commitment-toyama.jpg') center 55%/cover no-repeat;color:#203b49;text-align:center;padding:72px 24px;border-top:1px solid #dbe7eb}.sub-cta .eyebrow{color:#365d70}.sub-cta>p:not(.eyebrow){color:#334e5c}.sub-cta .sub-button{background:#203b49;border-color:#203b49;color:#fff}.sub-cta .sub-button:hover{background:#365d70;border-color:#365d70}.sub-cta .sub-button:focus-visible{outline-color:#203b49}.sub-cta h2{font-size:34px;font-weight:500;margin:12px}.spec-list{margin:44px 0}.spec-list>div{display:grid;grid-template-columns:210px 1fr;border-top:1px solid var(--line);padding:24px 16px;gap:30px}.spec-list>div:last-child{border-bottom:1px solid var(--line)}.spec-list dt{font-weight:700}.spec-list dd{margin:0;font-family:var(--font-sans,sans-serif);line-height:2}.spec-list a,.prose a,.sub-note a,.contact-options p a{text-decoration:underline;text-underline-offset:4px}.steps{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.steps li{display:flex;gap:24px;border:1px solid var(--line);padding:28px}.steps li>span{font-size:34px;color:#93611c}.steps h3{margin:4px 0 12px;font-size:20px}.steps p{margin:0}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:40px 0}.contact-options section{border:1px solid var(--line);padding:32px;background:#fffaf2;min-width:0}.contact-options h2{font-size:23px}.phone-number{font-size:clamp(26px,3vw,40px);font-family:var(--font-sans,sans-serif);font-weight:600;white-space:nowrap}.sub-note{color:#665b50}.sub-news>a{display:grid;grid-template-columns:130px 110px 1fr 24px;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:28px 0}.sub-news h2{font-size:21px;margin:0}.news-category{font:14px var(--font-sans,sans-serif);color:#835b27}.sitemap-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.sitemap-list a{display:block;padding:22px 8px;border-bottom:1px solid var(--line)}
@media(min-width:1201px){.global-nav{font-size:14px;gap:4px;margin-left:20px}.global-nav a{padding:0 5px}.site-header{padding-inline:24px}.brand{width:190px}.nav-action{min-width:105px;padding-inline:10px!important}.nav-action-gold{min-width:140px}}
@media(max-width:1200px){.menu-toggle{display:block}.global-nav{position:fixed;inset:76px 0 0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:calc(100dvh - 76px);margin:0;padding:24px;background:#120e0b;overflow-y:auto;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px);font-size:16px;gap:8px}.menu-open .global-nav{visibility:visible;opacity:1;pointer-events:auto;transform:none}.global-nav a{flex-shrink:0;min-height:44px;padding:8px 16px}.brand{max-width:220px}}
@media(max-width:700px){.sub-hero{min-height:280px}.sub-hero-copy,.breadcrumb,.sub-container{width:calc(100% - 36px)}.sub-hero-copy{padding:40px 0}.sub-hero-image{width:100%;opacity:.35}.sub-hero h1{font-size:29px;letter-spacing:.03em}.sub-hero-copy p{font-size:15px}.split,.sub-cards,.steps,.contact-options,.sitemap-list{grid-template-columns:1fr}.split{gap:24px}.split.reverse>img{order:0}.sub-section{margin:24px 0 52px}.sub-cards{gap:24px}.sub-cards article>div{padding:24px}.spec-list>div{grid-template-columns:1fr;gap:8px;padding:20px 8px}.sub-container{padding-bottom:44px}.contact-options section{padding:24px}.sub-news>a{grid-template-columns:1fr auto;gap:12px}.sub-news h2{grid-column:1;font-size:18px}.prose{margin:36px 0}.sub-button{max-width:100%;margin-right:0}.sub-cta .sub-button{margin:8px}.phone-number{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js .js-fade{opacity:1!important;transform:none!important}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1200px){body.yamayoshi-subpage .menu-toggle,body.yamayoshi-animal-page .menu-toggle{display:block}body.yamayoshi-subpage .global-nav,body.yamayoshi-animal-page .global-nav{position:fixed;inset:76px 0 0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:calc(100dvh - 76px);margin:0;padding:24px;background:#120e0b;overflow-y:auto;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px);font-size:16px;gap:8px}body.yamayoshi-subpage.menu-open .global-nav,body.yamayoshi-animal-page.menu-open .global-nav{visibility:visible;opacity:1;pointer-events:auto;transform:none}body.yamayoshi-subpage .global-nav a,body.yamayoshi-animal-page .global-nav a{flex-shrink:0;min-height:44px;padding:8px 16px}body.yamayoshi-subpage .site-header,body.yamayoshi-animal-page .site-header{height:76px}}

/* Shared, spacious navigation for every Yamayoshi page. */
#site-header .global-nav {
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, sans-serif;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
#site-header .global-nav a { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; }
@media (min-width: 1201px) {
  #site-header { padding-inline: clamp(24px, 2.5vw, 48px); }
  #site-header .brand { width: clamp(190px, 15vw, 240px); flex: 0 0 auto; }
  #site-header .global-nav { flex: 1; min-width: 0; width: auto; margin-left: 32px; gap: clamp(12px, 1.45vw, 28px); font-size: 14px; }
  #site-header .global-nav a { padding-inline: 8px; min-height: 42px; white-space: nowrap; flex-shrink: 0; }
  #site-header .global-nav .nav-action { padding-inline: 16px !important; }
}
@media (max-width: 1200px) {
  #site-header .global-nav { gap: 12px; padding: 24px; font-size: 16px; }
  #site-header .global-nav a { min-height: 52px; padding: 12px 18px; }
}