:root{
  --page:#fcfcfc; --beige:#fdfbf9; --beige-2:#fdf5ec; --card:#fdfdfd;
  --ink:#1b1b1b; --text:#3a3734; --muted:#5f5b56; --line:#e9e3da;
  --gold:#b58349; --gold-soft:#efdac5; --gold-line:#e7d8c2; --btn-top:#b0803c; --btn-mid:#9a6b2f; --btn-bot:#865b22;
  --dark-l:#322a12; --dark-r:#44361b; --dark:#1e1e1e;
  --content:1304px;   --font-sans:"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
  --font-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --fs-h1:52px;  --lh-h1:1.28;   --fs-h1c:40px; --lh-h1c:1.3;   --fs-h2:34px;  --lh-h2:1.35;   --fs-h2s:26px; --lh-h2s:1.4;   --fs-h3:22px;  --lh-h3:1.45;   --fs-h3s:18px; --lh-h3s:1.5;   --fs-lead:16px; --lh-lead:27px;
  --fs-body:14px; --fs-small:12.5px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:auto}
body{overflow-x:clip;overflow-y:visible}
body{font-family:var(--font-sans);color:var(--ink);background:var(--page);font-size:var(--fs-body);line-height:1.9;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
ul{list-style:none}
.wrap{max-width:var(--content);margin:0 auto}
.eyebrow{display:block;font-size:15px;line-height:18px;font-weight:700;letter-spacing:.14em;color:var(--gold);text-transform:uppercase}
h1,h2,h3{font-feature-settings:"palt";letter-spacing:.01em}
h1,h2,.serif{font-family:var(--font-serif);font-weight:500;letter-spacing:.02em}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:700}
.h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:500}
.h2s{font-size:var(--fs-h2s);line-height:var(--lh-h2s);font-weight:500}
.lead{color:var(--text);font-size:var(--fs-lead);line-height:var(--lh-lead)}

.logo{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:22px;letter-spacing:.06em;color:var(--ink)}
.logo svg{width:34px;height:34px;color:var(--gold)}

.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;width:max-content;height:56px;padding:0 26px 0 30px;border-radius:5px;font-weight:700;font-size:18px;letter-spacing:.1em;white-space:nowrap;border:0;line-height:1;transition:filter .15s,background .15s}
.btn svg{width:9px;height:15px;flex:none;margin:0}   .btn-primary{color:#fff;background:linear-gradient(180deg,#b48a4c 0%,#9a6b2f 55%,#7e5420 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.btn-primary:hover{filter:brightness(1.06)}
.btn-outline{color:#2c2c2c;background:#fff;border:1px solid #d2c4b0}
.btn-outline svg{color:#b58349}
.btn-outline:hover{background:#fbf8f3}
.btn-ghost{color:#fff;background:transparent;border:1px solid #c9a06a}   .btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:max-content;max-width:100%;gap:16px;align-items:stretch}
.btn-row .btn{width:100%}
.btn-stack{display:grid;grid-template-columns:1fr;width:max-content;max-width:100%;gap:12px}
.btn-stack .btn{width:100%}

header{position:sticky;top:0;z-index:50;height:78px;background:var(--page);padding:0 40px;display:flex;align-items:center;justify-content:space-between}
nav ul{display:flex;gap:40px;align-items:center}
nav a.nav{position:relative;display:inline-block;font-size:16.5px;font-weight:500;letter-spacing:.02em;line-height:78px;white-space:nowrap}
nav a.nav:hover{color:var(--gold)}
nav a.nav.active{color:var(--gold)}
nav ul .li-btn{margin-left:20px}
.btn-nav{height:44px;gap:8px;padding:0 18px;font-size:14px;font-weight:600;letter-spacing:.04em;border-radius:4px}
.btn-nav svg{width:14px;height:14px}

.cta-band{background:#2a2a2a;color:#fff;text-align:center;padding:46px 0 48px}
.cta-band h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:500;letter-spacing:.08em;margin-bottom:26px}
.cta-band .sub{font-size:15px;line-height:26px;color:#d6d2cc;letter-spacing:.04em;margin:-14px 0 26px}
.cta-band .btn-row{margin:0 auto;gap:22px}
.cta-band .btn{height:58px;min-width:300px;padding:0 28px 0 32px}
.cta-band.cta-row{text-align:left;padding:44px 0 46px}
.cta-row .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-row h2{font-size:var(--fs-h2s);line-height:var(--lh-h2s);font-weight:500;letter-spacing:.04em;margin:0;color:#fff;white-space:nowrap}
.cta-row .sub{font-size:14px;line-height:24px;color:#d6d2cc;letter-spacing:.06em;margin:8px 0 0;white-space:nowrap}
.cta-row .btn-row{margin:0;gap:24px}
.cta-row .btn{height:58px;min-width:300px}

footer{height:108px;background:var(--card);padding:10px 0 12px}
footer .top{display:flex;align-items:flex-start;gap:98px;padding-left:30px}
footer .links{display:grid;grid-template-columns:repeat(5,auto);gap:0 58px;font-size:16px;line-height:36px;font-weight:600;letter-spacing:.02em;color:var(--text);padding-top:0}
footer .links li.break{display:none}
footer .copy{text-align:center;font-size:12.5px;letter-spacing:.08em;color:#6c6864;margin-top:10px;line-height:16px}

.note{background:#1b1b1b;color:#fff;font-size:11px;padding:5px 12px;letter-spacing:.06em;text-align:center}

@media (max-width:1360px){
  header{padding:0 24px}
  nav ul{gap:24px}
  nav a.nav{font-size:15px;letter-spacing:0}
  nav ul .li-btn{margin-left:8px}
}
@media (max-width:1180px){          nav ul li:not(:last-child){display:none}
}
@media (max-width:1100px){
  :root{
    --fs-h1:32px;  --lh-h1:1.3;
    --fs-h1c:28px; --lh-h1c:1.32;
    --fs-h2:26px;  --lh-h2:1.38;
    --fs-h2s:22px; --lh-h2s:1.42;
    --fs-h3:18px;  --lh-h3:1.5;
    --fs-h3s:16px; --lh-h3s:1.5;
    --fs-lead:15px; --lh-lead:25px;
  }
  header{height:64px;padding:0 16px}
  .logo{font-size:18px;gap:6px}.logo svg{width:28px;height:28px}
  nav ul{gap:0}
  nav ul li:not(:last-child){display:none}
  .btn{height:50px;font-size:15px;padding:0 20px 0 22px;gap:16px}
  .btn-nav{min-width:0;height:36px;padding:0 12px;font-size:13px}
  .wrap{padding:0 20px;max-width:100%}
  .btn-row{grid-auto-flow:row;width:100%;gap:10px}
  .btn-stack{width:100%}
  .btn-row .btn,.btn-stack .btn{width:100%}
  .h2s{white-space:normal}
  .cta-band{padding:32px 0 34px}
  .cta-band h2{letter-spacing:.02em;margin-bottom:18px;padding:0 20px}
  .cta-band .sub{font-size:13px;line-height:22px;margin:-8px 0 18px;padding:0 20px}
  .cta-band .btn-row{width:calc(100% - 40px)}
  .cta-band .btn{min-width:0}
  .cta-band.cta-row{padding:32px 0 34px}
  .cta-row .wrap{flex-direction:column;align-items:stretch}
  .cta-row h2{letter-spacing:.02em;white-space:normal;padding:0;margin:0}
  .cta-row h2 br{display:none}
  .cta-row .sub{font-size:13px;line-height:22px;white-space:normal;padding:0;margin:8px 0 0}
  .cta-row .sub br{display:none}
  .cta-row .btn-row{width:100%;margin-top:14px;gap:10px;grid-auto-flow:row}
  .cta-row .btn{min-width:0;width:100%}
  footer{height:auto;padding:24px 0}
  footer .top{flex-direction:column;gap:16px;padding-left:0}
  footer .links{grid-template-columns:1fr 1fr;gap:8px 16px;font-size:13px;line-height:24px}
}

@media (min-width:1181px){
  header{display:grid;grid-template-columns:minmax(0,1fr) repeat(8,max-content) minmax(0,1fr);column-gap:clamp(8px,calc(4vw - 40px),40px)}
  header > .logo{justify-self:start}
  header nav,header nav ul{display:contents}
  header nav a.nav{font-size:clamp(13px,1.15vw,16.5px)}
  header nav ul .li-btn{margin-left:0;justify-self:end}
}
header .logo img{width:180px;height:auto;display:block}
@media(max-width:1100px){header .logo img{width:150px}}

/* Shared navigation typography across all pages. */
header nav a.nav{font-size:14px;transform:translateY(4px)}
@media(max-width:1180px){header nav a.nav{font-size:13px}}

/* Shared title rhythm, matched to the homepage hero: 12px / 20px. */
html[data-heading-spacing="home"] main .eyebrow:has(+ :is(h1,h2)){margin-bottom:12px!important}
html[data-heading-spacing="home"] main .eyebrow + :is(h1,h2){margin-top:0!important}
html[data-heading-spacing="home"] main :is(h1,h2):has(+ p:not(.state)){margin-bottom:20px!important}
html[data-heading-spacing="home"] main :is(h1,h2) + p:not(.state){margin-top:0!important}
html[data-heading-spacing="home"] main h1:has(+ .state){margin-bottom:28px!important}
html[data-heading-spacing="home"] main h1 + .state{margin-top:0!important}
html[data-heading-spacing="home"] main .state:has(+ p){margin-bottom:20px!important}
html[data-heading-spacing="home"] main .state + p{margin-top:0!important}

@media(min-width:1181px){header{column-gap:clamp(6px,calc(3vw - 30px),28px)}}
@media(min-width:1181px) and (max-width:1350px){header{padding-left:24px;padding-right:24px}header .logo img{width:150px}header nav a.nav{font-size:13px}}
@media(max-width:1180px){header nav ul li.nav-blog{display:list-item;margin-right:16px}}

/* Site-wide footer: one component for all pages. */
footer.site-footer{height:auto;padding:44px 0 28px;background:#fff;font-family:var(--font-sans)}
footer.site-footer .wrap{width:calc(100% - 136px);max-width:1304px;margin:auto;padding:0}
footer.site-footer .top{display:flex;gap:70px;padding-left:0;align-items:center;justify-content:center}
footer.site-footer .links{display:grid;grid-template-columns:repeat(5,auto);font-size:13px;font-weight:400;line-height:1.9;gap:12px 34px;letter-spacing:.03em}
footer.site-footer .copy{font-size:11px;font-weight:400;margin-top:40px;letter-spacing:.12em;text-align:center}
footer.site-footer .logo img{width:180px;height:auto;display:block}
@media(min-width:1101px) and (max-width:1350px){footer.site-footer .wrap{width:calc(100% - 80px)}footer.site-footer .top{gap:40px}footer.site-footer .links{gap:12px 22px}}
@media(max-width:1100px){footer.site-footer{padding:32px 24px 24px}footer.site-footer .wrap{width:100%;padding:0}footer.site-footer .top{flex-direction:column;gap:24px;align-items:flex-start}footer.site-footer .links{grid-template-columns:1fr 1fr;gap:12px 24px;font-size:12px;line-height:1.8}footer.site-footer .copy{font-size:10px;line-height:1.7;margin-top:30px}footer.site-footer .logo img{width:150px}}


/* Interior hero title to introductory message: consistent breathing room. */
html[data-heading-spacing="home"] main h1:has(+ p){margin-bottom:28px!important}
html[data-heading-spacing="home"] main h1 + p{margin-top:0!important}
html[data-heading-spacing="home"] main h1:has(+ .rule + p){margin-bottom:28px!important}
html[data-heading-spacing="home"] main h1 + .rule + p{margin-top:0!important}
@media(max-width:600px){html[data-heading-spacing="home"] main h1:has(+ p),html[data-heading-spacing="home"] main h1:has(+ .rule + p){margin-bottom:24px!important}}
@media(max-width:600px){html[data-heading-spacing="home"] main h1:has(+ .state){margin-bottom:24px!important}}
/* Shared pill buttons: consistent actions across the site. */
html body .btn{
 border-radius:999px!important;
 cursor:pointer;
 transition:var(--site-action-transition)!important;
 -webkit-tap-highlight-color:transparent;
}
html body .btn.btn-primary{
 background:#9a6b2f!important;color:#fff!important;box-shadow:inset 0 0 0 1px #9a6b2f;
}
html body .btn.btn-outline{
 background:#fff!important;border-color:#a7773b!important;color:#87591f!important;
}
html body .btn.btn-ghost{
 background:transparent!important;border-color:#c9a06a!important;color:#fff!important;
}
html body .btn :is(svg,i):last-child{color:currentColor!important}
@media(hover:hover) and (pointer:fine){
 html body .btn:not(:disabled):not([aria-disabled="true"]):hover{filter:none}
 html body .btn.btn-primary:not(:disabled):not([aria-disabled="true"]):hover{background:#fff!important;color:#87591f!important}
 html body .btn.btn-outline:not(:disabled):not([aria-disabled="true"]):hover{background:#9a6b2f!important;border-color:#9a6b2f!important;color:#fff!important}
 html body .btn.btn-ghost:not(:disabled):not([aria-disabled="true"]):hover{background:#fff!important;border-color:#fff!important;color:#87591f!important}
}
html body .btn:focus-visible{outline:2px solid #a7773b!important;outline-offset:4px!important;box-shadow:0 0 0 2px #fff}
html body .btn:is(:disabled,[aria-disabled="true"]){cursor:not-allowed;opacity:.55}
@media(prefers-reduced-motion:reduce){
 html body .btn{transition:none!important}
}

/* Compact arrow buttons: label and arrow form one centered group. */
html body .btn:not(.btn-nav):has(> svg:last-child, > i:last-child){
 justify-content:center!important;gap:8px!important;
 width:fit-content!important;min-width:0!important;max-width:100%!important;
 padding-left:22px!important;padding-right:22px!important;
 text-align:center;white-space:normal;line-height:1.5;
}
html body .btn:not(.btn-nav):has(> svg:last-child, > i:last-child)>:is(svg,i):last-child{
 position:static!important;margin-left:0!important;margin-right:0!important;flex:0 0 auto!important;
}
html body .btn:not(.btn-nav):has(> svg:last-child, > i:last-child)>span{flex:0 1 auto!important}
@media(max-width:600px){html body .btn:not(.btn-nav):has(> svg:last-child, > i:last-child){padding-left:18px!important;padding-right:18px!important}}
/* Light action buttons, except the header and homepage contact emphasis. */
html body .btn.btn:not(.btn-nav):not(.btn-contact-emphasis){background:#fff!important;color:#87591f!important;border:1px solid #a7773b!important;box-shadow:none!important}
html body .btn.btn:not(.btn-nav):not(.btn-contact-emphasis):not(:disabled):not([aria-disabled="true"]):focus-visible{background:#9a6b2f!important;color:#fff!important;border-color:#9a6b2f!important}
@media(hover:hover) and (pointer:fine){html body .btn.btn:not(.btn-nav):not(.btn-contact-emphasis):not(:disabled):not([aria-disabled="true"]):hover{background:#9a6b2f!important;color:#fff!important;border-color:#9a6b2f!important;filter:none}}
/* Hide the BLOG entry across site footers. */
footer.site-footer .links li:has(>a[href='blog.html']){display:none!important}

/* Page sections are separated by background and spacing, not horizontal rules. */
html body main > section,
html body main > .blog-breadcrumb,
html body main > .window-local-nav,
html body main > .s-form > .s-note,
html body main .window-signage-section,
html body main .digital-menu-support.digital-menu-section{
 border-top-width:0!important;
 border-bottom-width:0!important;
}

/* Heading and process numbers only; preserve every existing size and weight. */
html body main .site-section-number{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important}

/* Shared color motion for pill actions and circular navigation arrows. */
html body :is(.btn,.case-card-arrow,.category-arrow,.rental-category-arrow,.lineup-arrow,.link-arrow,.cases-filter-submit){
 transition:var(--site-action-transition)!important;
}
@media(prefers-reduced-motion:reduce){
 html body :is(.btn,.case-card-arrow,.category-arrow,.rental-category-arrow,.lineup-arrow,.link-arrow,.cases-filter-submit){transition:none!important}
}
/* Temporarily hide the standalone footer for integration into the main website. */
html body footer.site-footer{display:none!important}

/* Compact copyright bar matched to takasyou.jp/news. */
html body footer.site-copyright{
 display:block;box-sizing:border-box;width:100%;height:auto;min-height:0;margin:0;padding:24px 0;
 background:lab(99.42 -0.0000298023 0);border:0;border-top:1px solid lab(91.7353 -0.998765 -4.76968);
}
html body footer.site-copyright p{
 margin:0;padding:0;text-align:center;
 font-family:"Noto Sans JP","Noto Sans JP Fallback","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,ui-sans-serif,system-ui,sans-serif;
 font-size:12px;font-weight:400;line-height:16px;letter-spacing:1.2px;color:lab(65.5349 -2.25151 -14.5072);
}
/* Single source for action-button animation timing. */
:root{--site-action-transition:background-color .38s cubic-bezier(.22,.61,.36,1),border-color .38s cubic-bezier(.22,.61,.36,1),color .38s cubic-bezier(.22,.61,.36,1)}
