/* Page-local styles extracted from contact-reserve.html. */

/* Source: contact-reserve.html — blanco-detail-render-fallback */
body.detail-page .header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    z-index: 9999 !important;
}
body.detail-page .detail-hero {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}
body.detail-page .detail-hero__content {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    color: #262222 !important;
}
body.detail-page .detail-hero__content > * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    color: #262222 !important;
}
body.detail-page .detail-eyebrow, body.detail-page .detail-kicker {
    color: #EB778D !important;
}
body.detail-page main {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Source: contact-reserve.html — blanco-static-shop-contact-guide */
body.detail-page {
    margin: 0!important;
    background: #fffdfc!important;
    color: #262222!important;
    font-family: 'Noto Sans JP', sans-serif!important;
    overflow-x: hidden!important
}
body.detail-page .header {
    display: flex!important;
    visibility: visible!important;
    opacity: 1!important;
    position: fixed!important;
    inset: 0 0 auto!important;
    height: 80px!important;
    background: #fff!important;
    z-index: 9999!important
}
body.detail-page .header__inner {
    display: flex!important;
    visibility: visible!important;
    width: 100%!important;
    align-items: center!important;
    justify-content: space-between!important;
    padding: 0 42px!important
}
body.detail-page .detail-hero {
    display: grid!important;
    grid-template-columns: 1fr 1fr!important;
    height: calc(100svh - 80px)!important;
    min-height: 520px!important;
    margin-top: 80px!important;
    overflow: hidden!important;
    visibility: visible!important;
    opacity: 1!important
}
body.detail-page .detail-hero__content {
    display: flex!important;
    visibility: visible!important;
    opacity: 1!important;
    flex-direction: column!important;
    justify-content: center!important;
    align-items: flex-start!important;
    height: 100%!important;
    min-height: 0!important;
    box-sizing: border-box!important;
    padding: 42px 8vw!important;
    background: #f6efec!important;
    color: #262222!important
}
body.detail-page .detail-hero__content>* {
    display: block!important;
    visibility: visible!important;
    opacity: 1!important;
    transform: none!important;
    color: #262222!important
}
body.detail-page .detail-hero__content h1 {
    margin: 0!important;
    font: 400 64px/1 Georgia, serif!important
}
.detail-hero__content h1 small {
    display: block!important;
    margin-top: 18px!important;
    font: 400 30px/1.3 'Noto Serif JP', serif!important;
    letter-spacing: .08em!important
}
.detail-hero__content p {
    max-width: 31em!important;
    margin: 32px 0 0!important;
    font-size: 16px!important;
    line-height: 2.1!important
}
.detail-hero__image {
    display: block!important;
    height: 100%!important;
    min-height: 0!important
}
.detail-hero__image img {
    display: block!important;
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important
}
.page-breadcrumb {
    max-width: 1200px;
    margin: 0 auto;
    padding: 28px 40px 0;
    color: #8d777a;
    font-size: 16px;
    letter-spacing: .1em
}
.page-breadcrumb a {
    color: inherit;
    text-decoration: none
}
.page-breadcrumb span {
    margin: 0 9px;
    color: #d6c4c5
}
.page-breadcrumb strong {
    font-weight: 500;
    color: #4c4142
}

@media(max-width:800px) {
body.detail-page .header {
    height: 66px!important
}
body.detail-page .header__inner {
    padding: 0 22px!important
}
body.detail-page .detail-hero {
    display: block!important;
    height: auto!important;
    margin-top: 66px!important;
    min-height: 0!important
}
body.detail-page .detail-hero__content {
    height: auto!important;
    min-height: 390px!important;
    padding: 54px 26px!important
}
body.detail-page .detail-hero__content h1 {
    font-size: 52px!important
}
.detail-hero__content h1 small {
    font-size: 24px!important
}
.detail-hero__image {
    height: 410px!important;
    min-height: 410px!important
}
.page-breadcrumb {
    padding: 24px 22px 0
}
}

/* Source: contact-reserve.html — blanco-footer-enforce */
footer.footer--shared{display:block!important;visibility:visible!important;opacity:1!important;background:#322829!important;color:#fff!important;position:relative!important;z-index:2!important}
footer.footer--shared .footer__inner{display:block!important;visibility:visible!important;opacity:1!important;padding-top:64px!important;padding-bottom:42px!important}
footer.footer--shared .footer__nav{display:flex!important;visibility:visible!important;opacity:1!important;flex-wrap:wrap!important;gap:12px 28px!important;margin:26px 0!important}
footer.footer--shared .footer__nav a{display:inline-block!important;visibility:visible!important;opacity:1!important;color:#fff!important;text-decoration:none!important}
@media(max-width:800px){footer.footer--shared .footer__inner{padding-top:46px!important;padding-bottom:32px!important}footer.footer--shared .footer__nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}}

/* Source: contact-reserve.html — blanco-global-chrome */
.site-header{display:block!important;position:fixed!important;inset:0 0 auto!important;z-index:10000!important;height:72px!important;background:#fff!important;border-bottom:1px solid #eee6e4!important;visibility:visible!important;opacity:1!important}.site-header__inner{height:72px!important;max-width:1600px!important;margin:0 auto!important;padding:0 42px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.site-header__logo{display:block!important;width:154px!important;line-height:0!important}.site-header__logo img{display:block!important;width:100%!important;height:auto!important}.site-header__nav ul,.site-footer__nav ul{margin:0!important;padding:0!important;list-style:none!important;display:flex!important;align-items:center!important;gap:29px!important}.site-header__nav a{display:block!important;color:#3d3435!important;text-decoration:none!important;font:400 16px/1.2 'Noto Serif JP',serif!important;letter-spacing:.12em!important}.site-header__nav a:hover{color:#EB778D!important}.site-header__toggle{display:none!important;border:0!important;background:transparent!important;padding:6px!important}.site-header__toggle span{display:block!important;width:22px!important;height:1px!important;background:#3d3435!important;margin:5px 0!important}.site-footer{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:10!important;background:#332a2b!important;color:#fff!important}.site-footer__inner{max-width:1600px!important;margin:0 auto!important;padding:56px 42px 34px!important}.site-footer__logo{display:block!important;width:180px!important;line-height:0!important}.site-footer__logo img{display:block!important;width:100%!important;height:auto!important;filter:none!important}.site-footer__nav{margin:28px 0!important}.site-footer__nav a{display:inline-block!important;color:#fff!important;text-decoration:none!important;font:400 16px/1.2 'Noto Serif JP',serif!important;letter-spacing:.1em!important}.site-footer__inner>p{margin:0!important;color:#cbbfc0!important;font-size:16px!important;letter-spacing:.08em!important}.site-mobile-nav{display:none!important}@media(max-width:900px){.site-header,.site-header__inner{height:64px!important}.site-header__inner{padding:0 20px!important}.site-header__logo{width:130px!important}.site-header__nav{display:none!important}.site-header__toggle{display:block!important}.site-mobile-nav.is-open{display:block!important;position:fixed!important;inset:64px 0 0!important;z-index:9999!important;background:#fffaf9!important}.site-mobile-nav__inner{padding:42px 28px!important}.site-mobile-nav ul{margin:0!important;padding:0!important;list-style:none!important}.site-mobile-nav li{border-bottom:1px solid #e9dddd!important}.site-mobile-nav a{display:block!important;padding:18px 0!important;color:#322a2b!important;text-decoration:none!important;font:400 17px/1 'Noto Serif JP',serif!important;letter-spacing:.1em!important}.site-footer__inner{padding:46px 24px 30px!important}.site-footer__nav ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 20px!important}.site-footer__logo{width:160px!important}}

/* Source: contact-reserve.html — contact-reservation-layout */
/* Reservation and inquiry page: select the LINE account that matches the service. */
  body.detail-page .contact-reservation-main{display:block!important;min-height:auto!important;background:#fbfaf8!important}
  body.detail-page .contact-reservation{box-sizing:border-box!important;max-width:1180px!important;margin:80px auto 0!important;padding:clamp(70px,8vw,122px) clamp(28px,5.5vw,80px)!important}
  .contact-reservation__heading{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:48px!important;align-items:end!important;margin:0 0 72px!important}
  .contact-reservation__eyebrow{display:block!important;margin:0 0 16px!important;color:#EB778D!important;font:400 16px/1 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:.23em!important}
  .contact-reservation__heading h1,.contact-reservation__line-heading h2,.contact-reservation__phone h2,.contact-reservation__flow-head h2{margin:0!important;color:#302a2a!important;font:400 clamp(31px,3.3vw,51px)/1.35 'Noto Serif JP','Hiragino Mincho ProN',serif!important;letter-spacing:.08em!important}
  .contact-reservation__heading p,.contact-reservation__line-heading p,.contact-reservation__flow-head p{max-width:390px!important;margin:0 0 4px!important;color:#625b5a!important;font:400 16px/2 'Noto Serif JP',serif!important;letter-spacing:.06em!important}
  .contact-reservation__methods{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border-top:1px solid #ded9d6!important}
  .contact-reservation__method{box-sizing:border-box!important;min-height:244px!important;padding:36px 42px 32px!important;border-right:1px solid #ded9d6!important;border-bottom:1px solid #ded9d6!important;background:#fff!important}
  .contact-reservation__method:nth-child(odd){border-left:1px solid #ded9d6!important}
  .contact-reservation__method h3{margin:0 0 17px!important;color:#342d2d!important;font:400 24px/1.4 'Noto Serif JP',serif!important;letter-spacing:.08em!important}
  .contact-reservation__method p{margin:0!important;max-width:360px!important;color:#6b6260!important;font:400 16px/2 'Noto Serif JP',serif!important;letter-spacing:.05em!important}
  .contact-reservation__method a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:13px!important;margin-top:29px!important;padding:14px 20px!important;background:#06C755!important;color:#fff!important;font:400 16px/1.35 'Noto Serif JP',serif!important;letter-spacing:.08em!important;text-decoration:none!important;transition:background-color .2s ease,transform .2s ease!important}
  .contact-reservation__phone a{display:inline-flex!important;align-items:center!important;gap:13px!important;margin-top:29px!important;color:#EB778D!important;font:400 16px/1.35 'Noto Serif JP',serif!important;letter-spacing:.08em!important;text-decoration:none!important}
  .contact-reservation__method a::after,.contact-reservation__phone a::after{content:'→';font:400 20px/1 'Cormorant Garamond','Times New Roman',serif!important}
  .contact-reservation__method a:hover{background:#05b34d!important;color:#fff!important;transform:translateY(-2px)!important}
  .contact-reservation__phone a:hover{color:#c95d76!important}
  .contact-reservation__phone{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:36px!important;margin-top:0!important;padding:42px!important;border:1px solid #ded9d6!important;border-top:0!important;background:#f6efec!important}
  .contact-reservation__phone h2{font-size:26px!important}
  .contact-reservation__phone p{margin:14px 0 0!important;color:#625b5a!important;font:400 16px/2 'Noto Serif JP',serif!important;letter-spacing:.05em!important}
  .contact-reservation__phone a{flex:0 0 auto!important;margin:0!important;white-space:nowrap!important}
  .contact-reservation__flow{margin-top:clamp(100px,12vw,168px)!important}
  .contact-reservation__flow-head{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:48px!important;align-items:end!important;margin:0 0 42px!important}
  .contact-reservation__flow-head h2{font-size:clamp(31px,3.2vw,49px)!important}
  .contact-reservation__steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;border-top:1px solid #ded9d6!important}
  .contact-reservation__step{box-sizing:border-box!important;min-height:188px!important;padding:27px 28px!important;border-right:1px solid #ded9d6!important;border-bottom:1px solid #ded9d6!important}
  .contact-reservation__step:first-child{border-left:1px solid #ded9d6!important}
  .contact-reservation__step span{display:block!important;margin:0 0 28px!important;color:#EB778D!important;font:400 16px/1 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:.22em!important}
  .contact-reservation__step h3{margin:0 0 14px!important;color:#3a3231!important;font:400 18px/1.45 'Noto Serif JP',serif!important;letter-spacing:.07em!important}
  .contact-reservation__step p{margin:0!important;color:#706765!important;font:400 16px/1.9 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
  @media(max-width:800px){
    body.detail-page .contact-reservation{margin-top:66px!important;padding:60px 22px 72px!important}
    .contact-reservation__heading,.contact-reservation__line-heading,.contact-reservation__flow-head{grid-template-columns:1fr!important;gap:22px!important}
    .contact-reservation__heading{margin-bottom:54px!important}
    .contact-reservation__methods{grid-template-columns:1fr!important}
    .contact-reservation__method{min-height:auto!important;padding:31px 27px!important;border-left:1px solid #ded9d6!important}
    .contact-reservation__phone{display:block!important;padding:31px 27px!important}
    .contact-reservation__phone a{margin-top:27px!important;white-space:normal!important}
    .contact-reservation__flow{margin-top:92px!important}
    .contact-reservation__steps{grid-template-columns:1fr!important}
    .contact-reservation__step{min-height:auto!important;padding:25px 22px!important;border-left:1px solid #ded9d6!important}
    .contact-reservation__step span{margin-bottom:18px!important}
  }


/* Contact contacts organized by geographic area: Kagoshima and Sakai. */
.contact-reservation__regions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}
.contact-reservation__region{box-sizing:border-box!important;border:1px solid #ded9d6!important;background:#fff!important}
.contact-reservation__region-head{padding:31px 36px 27px!important;background:#f6efec!important;border-bottom:1px solid #ded9d6!important}
.contact-reservation__region-head>span{display:block!important;margin:0 0 13px!important;color:#eb778d!important;font:400 15px/1 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:.22em!important}
.contact-reservation__region-head h3{margin:0!important;color:#302a2a!important;font:400 34px/1.2 'Noto Serif JP','Hiragino Mincho ProN',serif!important;letter-spacing:.1em!important}
.contact-reservation__region-head p{margin:14px 0 0!important;color:#625b5a!important;font:400 15px/1.9 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
.contact-reservation__services{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.contact-reservation__service{box-sizing:border-box!important;min-height:210px!important;padding:29px 25px 27px!important}
.contact-reservation__service+.contact-reservation__service{border-left:1px solid #ded9d6!important}
.contact-reservation__service h4{margin:0 0 15px!important;color:#433939!important;font:400 16px/1.4 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:.13em!important}
.contact-reservation__service p{min-height:53px!important;margin:0!important;color:#6b6260!important;font:400 14px/1.8 'Noto Serif JP',serif!important;letter-spacing:.03em!important}
.contact-reservation__service a{display:flex!important;align-items:center!important;justify-content:center!important;margin-top:20px!important;padding:13px 12px!important;background:#06c755!important;color:#fff!important;font:400 14px/1.35 'Noto Serif JP',serif!important;letter-spacing:.04em!important;text-align:center!important;text-decoration:none!important;transition:background-color .2s ease,transform .2s ease!important}
.contact-reservation__service a::after{content:'→';margin-left:9px!important;font:400 18px/1 'Cormorant Garamond','Times New Roman',serif!important}
.contact-reservation__service a:hover{background:#05b34d!important;transform:translateY(-2px)!important}
.contact-reservation__phone{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.55fr)!important;align-items:start!important;gap:36px!important;margin-top:0!important;padding:42px!important;border:1px solid #ded9d6!important;border-top:0!important;background:#f6efec!important}
.contact-reservation__phone-heading h2{margin:0!important;color:#302a2a!important;font:400 26px/1.35 'Noto Serif JP','Hiragino Mincho ProN',serif!important;letter-spacing:.08em!important}
.contact-reservation__phone-heading p{margin:14px 0 0!important;color:#625b5a!important;font:400 15px/1.9 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
.contact-reservation__phone-regions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.contact-reservation__phone-region{box-sizing:border-box!important;min-height:164px!important;padding:23px 25px!important;background:#fff!important;border:1px solid #ded9d6!important}
.contact-reservation__phone-region h3{margin:0 0 17px!important;color:#342d2d!important;font:400 23px/1.3 'Noto Serif JP',serif!important;letter-spacing:.08em!important}
.contact-reservation__phone-items{display:grid!important;gap:13px!important}
.contact-reservation__phone-items>div{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important}
.contact-reservation__phone-items span{color:#766b69!important;font:400 12px/1.5 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:.09em!important}
.contact-reservation__phone-items a{display:inline-flex!important;align-items:center!important;color:#d85f7c!important;font:400 18px/1.2 'Noto Serif JP',serif!important;letter-spacing:.06em!important;text-decoration:none!important;white-space:nowrap!important}
.contact-reservation__phone-items a::after{content:'↗';margin-left:7px!important;font:400 17px/1 'Cormorant Garamond','Times New Roman',serif!important}
.contact-reservation__phone-items a:hover{color:#af3f5b!important;text-decoration:underline!important;text-underline-offset:4px!important}
.contact-reservation__shops-link{grid-column:2!important;justify-self:end!important;display:inline-flex!important;align-items:center!important;margin:0!important;color:#eb778d!important;font:400 16px/1.35 'Noto Serif JP',serif!important;letter-spacing:.08em!important;text-decoration:none!important}
.contact-reservation__shops-link::after{content:'→';margin-left:13px!important;font:400 20px/1 'Cormorant Garamond','Times New Roman',serif!important}
.contact-reservation__shops-link:hover{color:#c95d76!important}
@media(max-width:980px){.contact-reservation__regions{grid-template-columns:1fr!important}.contact-reservation__phone{grid-template-columns:1fr!important}.contact-reservation__shops-link{grid-column:1!important;justify-self:start!important}.contact-reservation__phone-regions{max-width:720px!important}}
@media(max-width:620px){.contact-reservation__region-head{padding:27px 25px 23px!important}.contact-reservation__region-head h3{font-size:29px!important}.contact-reservation__services{grid-template-columns:1fr!important}.contact-reservation__service{min-height:auto!important;padding:25px!important}.contact-reservation__service+.contact-reservation__service{border-top:1px solid #ded9d6!important;border-left:0!important}.contact-reservation__service p{min-height:0!important}.contact-reservation__phone{gap:27px!important;padding:31px 27px!important}.contact-reservation__phone-regions{grid-template-columns:1fr!important}.contact-reservation__phone-region{min-height:0!important;padding:23px!important}.contact-reservation__phone-items>div{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}.contact-reservation__phone-items a{font-size:19px!important}}



/* Store-level contact cards: each card contains its own LINE and telephone actions. */
.contact-reservation__store-contact{margin-top:0!important}
.contact-reservation__store-contact{display:block!important}
.contact-reservation__area{margin:0 0 38px!important}
.contact-reservation__area-heading{display:grid!important;grid-template-columns:180px minmax(0,1fr) minmax(250px,.92fr)!important;align-items:end!important;gap:28px!important;padding:0 0 23px!important;border-bottom:1px solid #cfc6c3!important}
.contact-reservation__area-heading>span{display:block!important;color:#eb778d!important;font:400 15px/1 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:.22em!important}
.contact-reservation__area-heading h3{margin:0!important;color:#302a2a!important;font:400 33px/1.2 'Noto Serif JP','Hiragino Mincho ProN',serif!important;letter-spacing:.1em!important}
.contact-reservation__area-heading p{margin:0!important;color:#625b5a!important;font:400 15px/1.9 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
.contact-reservation__store-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;padding-top:22px!important}
.contact-reservation__store-grid--single{grid-template-columns:1fr!important}
.contact-reservation__store-card{box-sizing:border-box!important;display:flex!important;min-height:327px!important;flex-direction:column!important;padding:31px 32px 29px!important;background:#fff!important;border:1px solid #ded9d6!important}
.contact-reservation__store-type{display:block!important;margin:0 0 17px!important;color:#eb778d!important;font:400 14px/1 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:.17em!important}
.contact-reservation__store-card h4{margin:0!important;color:#342d2d!important;font:400 25px/1.38 'Cormorant Garamond','Noto Serif JP',serif!important;letter-spacing:.08em!important}
.contact-reservation__store-card p{margin:18px 0 0!important;color:#665d5b!important;font:400 15px/1.9 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
.contact-reservation__store-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:auto!important;padding-top:25px!important}
.contact-reservation__store-actions--sakai{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.contact-reservation__store-actions--sakai .contact-reservation__phone-action{grid-column:1/-1!important}
.contact-reservation__line-action,.contact-reservation__phone-action{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:47px!important;padding:10px 13px!important;font:400 14px/1.35 'Noto Serif JP',serif!important;letter-spacing:.04em!important;text-align:center!important;text-decoration:none!important;transition:background-color .2s ease,color .2s ease,transform .2s ease!important}
.contact-reservation__line-action{background:#06c755!important;color:#fff!important}
.contact-reservation__line-action:hover{background:#05b34d!important;color:#fff!important;transform:translateY(-2px)!important}
.contact-reservation__phone-action{flex-direction:column!important;gap:2px!important;background:#f8eeeb!important;color:#c85070!important;border:1px solid #e4b8c1!important;font-size:18px!important;letter-spacing:.07em!important}
.contact-reservation__phone-action span{color:#8b7777!important;font:400 11px/1 'Noto Serif JP',serif!important;letter-spacing:.08em!important}
.contact-reservation__phone-action:hover{background:#eb778d!important;color:#fff!important;border-color:#eb778d!important;transform:translateY(-2px)!important}
.contact-reservation__phone-action:hover span{color:#fff!important}
.contact-reservation__shops-link{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;margin:3px 0 0 auto!important;color:#eb778d!important;font:400 16px/1.35 'Noto Serif JP',serif!important;letter-spacing:.08em!important;text-decoration:none!important}
.contact-reservation__shops-link::after{content:'→';margin-left:13px!important;font:400 20px/1 'Cormorant Garamond','Times New Roman',serif!important}
.contact-reservation__shops-link:hover{color:#c95d76!important}
/* Contact page text must never render below 16px. */
.contact-reservation__area-heading>span,.contact-reservation__area-heading p,.contact-reservation__store-type,.contact-reservation__store-card p,.contact-reservation__line-action,.contact-reservation__phone-action span{font-size:16px!important}
@media(max-width:900px){
  .contact-reservation__area-heading{grid-template-columns:125px 1fr!important;gap:16px 24px!important}
  .contact-reservation__area-heading p{grid-column:2!important}
  .contact-reservation__store-actions--sakai{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .contact-reservation__store-actions--sakai .contact-reservation__phone-action{grid-column:1/-1!important}
}
@media(max-width:620px){
  .contact-reservation__area{margin-bottom:32px!important}
  .contact-reservation__area-heading{display:block!important;padding-bottom:19px!important}
  .contact-reservation__area-heading>span{margin-bottom:13px!important}
  .contact-reservation__area-heading h3{font-size:28px!important}
  .contact-reservation__area-heading p{margin-top:11px!important;font-size:14px!important}
  .contact-reservation__store-grid{grid-template-columns:1fr!important;gap:14px!important;padding-top:15px!important}
  .contact-reservation__store-card{min-height:0!important;padding:27px 24px 24px!important}
  .contact-reservation__store-card h4{font-size:23px!important}
  .contact-reservation__store-actions--sakai{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .contact-reservation__store-actions--sakai .contact-reservation__phone-action{grid-column:1/-1!important}
}

/* Final small-screen enforcement: contact-page content is never below 16px. */
.contact-reservation .contact-reservation__area-heading>span,
.contact-reservation .contact-reservation__area-heading p,
.contact-reservation .contact-reservation__store-type,
.contact-reservation .contact-reservation__store-card p,
.contact-reservation .contact-reservation__line-action,
.contact-reservation .contact-reservation__phone-action span{font-size:16px!important}


/* Contact form: three-step input, confirmation, and completion flow. */
.contact-form-section{margin-top:clamp(94px,11vw,152px)!important;padding-top:0!important}
.contact-form-section__heading{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:48px!important;align-items:end!important;margin:0 0 42px!important}
.contact-form-section__heading h2{margin:0!important;color:#302a2a!important;font:400 clamp(31px,3.2vw,49px)/1.35 'Noto Serif JP','Hiragino Mincho ProN',serif!important;letter-spacing:.08em!important}
.contact-form-section__heading p{max-width:390px!important;margin:0 0 4px!important;color:#625b5a!important;font:400 16px/2 'Noto Serif JP',serif!important;letter-spacing:.06em!important}
.contact-form-steps{display:flex!important;align-items:center!important;max-width:820px!important;margin:0 auto 48px!important}
.contact-form-steps__item{display:flex!important;align-items:center!important;gap:11px!important;color:#8b807e!important;font:400 16px/1.3 'Noto Serif JP',serif!important;letter-spacing:.08em!important;white-space:nowrap!important}
.contact-form-steps__item b{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;border:1px solid #cfc6c3!important;border-radius:50%!important;font:400 16px/1 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:0!important}
.contact-form-steps__item.is-current,.contact-form-steps__item.is-complete{color:#c85070!important}
.contact-form-steps__item.is-current b,.contact-form-steps__item.is-complete b{border-color:#eb778d!important;background:#eb778d!important;color:#fff!important}
.contact-form-steps__line{display:block!important;flex:1 1 auto!important;min-width:38px!important;height:1px!important;margin:0 21px!important;background:#dcd4d1!important}
.contact-form,.contact-form-confirm,.contact-form-complete{box-sizing:border-box!important;border:1px solid #ded9d6!important;background:#fff!important}
.contact-form{padding:clamp(28px,4vw,52px)!important}
.contact-form[hidden],.contact-form-confirm[hidden],.contact-form-complete[hidden]{display:none!important}
.contact-form__required-note{margin:0 0 30px!important;color:#665d5b!important;font:400 16px/1.7 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
.contact-form__required-note span,.contact-form__field label span,.contact-form__consent b{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:7px!important;padding:3px 7px!important;background:#eb778d!important;color:#fff!important;font:400 16px/1.2 'Noto Serif JP',serif!important;letter-spacing:.03em!important}
.contact-form__fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:25px 32px!important}
.contact-form__field{min-width:0!important}
.contact-form__field--wide{grid-column:1/-1!important}
.contact-form__field label{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 12px!important;color:#3f3736!important;font:400 16px/1.5 'Noto Serif JP',serif!important;letter-spacing:.08em!important}
.contact-form__field input,.contact-form__field select,.contact-form__field textarea{box-sizing:border-box!important;display:block!important;width:100%!important;border:1px solid #cfc6c3!important;border-radius:0!important;background:#fff!important;color:#322a2b!important;font:400 16px/1.75 'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif!important;letter-spacing:.04em!important;outline:0!important;transition:border-color .2s ease,box-shadow .2s ease!important}
.contact-form__field input,.contact-form__field select{min-height:54px!important;padding:10px 15px!important}
.contact-form__field select{appearance:auto!important}
.contact-form__field textarea{min-height:178px!important;padding:13px 15px!important;resize:vertical!important}
.contact-form__field input::placeholder,.contact-form__field textarea::placeholder{color:#99908e!important;opacity:1!important}
.contact-form__field input:focus,.contact-form__field select:focus,.contact-form__field textarea:focus{border-color:#eb778d!important;box-shadow:0 0 0 3px rgba(235,119,141,.15)!important}
.contact-form__field input[aria-invalid="true"],.contact-form__field select[aria-invalid="true"],.contact-form__field textarea[aria-invalid="true"]{border-color:#c85070!important;background:#fff9fa!important}
.contact-form__error,.contact-form__submit-error{min-height:1.7em!important;margin:7px 0 0!important;color:#bd3153!important;font:400 16px/1.7 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
.contact-form__consent{display:flex!important;align-items:flex-start!important;gap:12px!important;margin:34px 0 0!important;color:#554c4b!important;font:400 16px/1.9 'Noto Serif JP',serif!important;letter-spacing:.04em!important;cursor:pointer!important}
.contact-form__consent input{flex:0 0 auto!important;width:19px!important;height:19px!important;margin:7px 0 0!important;accent-color:#eb778d!important}
.contact-form__consent b{margin:0 0 0 7px!important;vertical-align:1px!important}
.contact-form__consent-error{margin-left:31px!important}
.contact-form__actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;margin-top:37px!important}
.contact-form__actions button{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:57px!important;padding:14px 28px!important;border-radius:0!important;cursor:pointer!important;font:400 16px/1.35 'Noto Serif JP',serif!important;letter-spacing:.08em!important;transition:background-color .2s ease,color .2s ease,transform .2s ease!important}
.contact-form__reset,.contact-form__back{border:1px solid #cfc6c3!important;background:#fff!important;color:#5d5553!important}
.contact-form__reset:hover,.contact-form__back:hover{border-color:#aa9f9b!important;background:#f7f3f1!important}
.contact-form__next{min-width:228px!important;border:1px solid #e36d86!important;background:#eb778d!important;color:#fff!important}
.contact-form__next span{margin-left:16px!important;font:400 21px/1 'Cormorant Garamond','Times New Roman',serif!important}
.contact-form__next:hover:not(:disabled){background:#d95f7a!important;transform:translateY(-2px)!important}
.contact-form__next:disabled{cursor:not-allowed!important;opacity:.65!important}
.contact-form-confirm{padding:clamp(28px,4vw,52px)!important}
.contact-form-confirm__intro{margin:0 0 28px!important;padding:0 0 25px!important;border-bottom:1px solid #ded9d6!important}
.contact-form-confirm__intro h3,.contact-form-complete h3{margin:0!important;color:#302a2a!important;font:400 28px/1.45 'Noto Serif JP','Hiragino Mincho ProN',serif!important;letter-spacing:.08em!important}
.contact-form-confirm__intro p,.contact-form-complete p{margin:13px 0 0!important;color:#625b5a!important;font:400 16px/1.9 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
.contact-form-confirm__list{margin:0!important;border-top:1px solid #ded9d6!important}
.contact-form-confirm__list>div{display:grid!important;grid-template-columns:230px minmax(0,1fr)!important;border:1px solid #ded9d6!important;border-top:0!important}
.contact-form-confirm__list dt,.contact-form-confirm__list dd{box-sizing:border-box!important;margin:0!important;padding:19px 22px!important;font:400 16px/1.8 'Noto Serif JP',serif!important;letter-spacing:.04em!important}
.contact-form-confirm__list dt{background:#f6efec!important;color:#4c4241!important}
.contact-form-confirm__list dd{white-space:pre-wrap!important;overflow-wrap:anywhere!important;color:#322a2b!important}
.contact-form-complete{padding:clamp(42px,7vw,85px)!important;text-align:center!important}
.contact-form-complete .contact-reservation__eyebrow{margin-bottom:20px!important}
.contact-form-complete p{max-width:620px!important;margin-right:auto!important;margin-left:auto!important;text-align:left!important}
.contact-form-complete a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:230px!important;min-height:57px!important;margin:35px auto 0!important;padding:14px 28px!important;background:#eb778d!important;color:#fff!important;font:400 16px/1.35 'Noto Serif JP',serif!important;letter-spacing:.08em!important;text-decoration:none!important;transition:background-color .2s ease,transform .2s ease!important}
.contact-form-complete a span{margin-left:16px!important;font:400 21px/1 'Cormorant Garamond','Times New Roman',serif!important}
.contact-form-complete a:hover{background:#d95f7a!important;transform:translateY(-2px)!important}
@media(max-width:800px){
  .contact-form-section{margin-top:92px!important}
  .contact-form-section__heading{grid-template-columns:1fr!important;gap:22px!important}
  .contact-form-steps{margin-bottom:34px!important}
  .contact-form-steps__item{font-size:16px!important;letter-spacing:.02em!important}
  .contact-form-steps__item b{width:27px!important;height:27px!important;font-size:16px!important}
  .contact-form-steps__line{min-width:10px!important;margin:0 9px!important}
  .contact-form__fields{grid-template-columns:1fr!important;gap:22px!important}
  .contact-form__field--wide{grid-column:auto!important}
  .contact-form__actions{align-items:stretch!important;flex-direction:column-reverse!important}
  .contact-form__actions button{width:100%!important}
  .contact-form__next{min-width:0!important}
  .contact-form-confirm__list>div{grid-template-columns:1fr!important}
  .contact-form-confirm__list dt{padding-bottom:11px!important}
  .contact-form-confirm__list dd{padding-top:11px!important;border-top:1px solid #ede7e5!important}
}
@media(max-width:430px){
  .contact-form-steps__item{gap:5px!important;font-size:16px!important}
  .contact-form-steps__item b{width:24px!important;height:24px!important;font-size:16px!important}
  .contact-form-steps__line{min-width:6px!important;margin:0 5px!important}
  .contact-form__consent{gap:9px!important}
  .contact-form__consent-error{margin-left:0!important}
}


/* Primary form placement and privacy-policy consent link. */
.contact-form-section--primary{margin-top:0!important}
.contact-form-section--primary + .contact-reservation__store-contact{margin-top:clamp(94px,11vw,152px)!important}
.contact-form__consent a{color:#c85070!important;font:inherit!important;font-weight:700!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:4px!important}
.contact-form__consent a:hover{color:#9f3150!important}
@media(max-width:800px){.contact-form-section--primary + .contact-reservation__store-contact{margin-top:92px!important}}


/* Contact title hierarchy and no-wrap responsive treatment. */
.contact-reservation__heading{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)!important;gap:clamp(28px,4vw,48px)!important}
.contact-reservation__heading h1{display:block!important;max-width:max-content!important;margin:0!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;color:#302a2a!important;font:400 clamp(38px,4.6vw,62px)/1.25 'Noto Serif JP','Hiragino Mincho ProN',serif!important;letter-spacing:.035em!important}
.contact-form-section__heading{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)!important;gap:clamp(28px,4vw,48px)!important}
.contact-form-section__heading h2{margin:0!important;color:#302a2a!important;font:400 clamp(25px,2.5vw,36px)/1.35 'Noto Serif JP','Hiragino Mincho ProN',serif!important;letter-spacing:.055em!important}
@media(max-width:800px){.contact-reservation__heading{grid-template-columns:1fr!important;gap:22px!important}.contact-reservation__eyebrow{white-space:nowrap!important;letter-spacing:.15em!important}.contact-reservation__heading h1{font-size:clamp(30px,8vw,44px)!important;line-height:1.3!important;letter-spacing:.01em!important}.contact-form-section__heading{grid-template-columns:1fr!important;gap:18px!important}.contact-form-section__heading h2{font-size:clamp(21px,5.4vw,31px)!important;line-height:1.4!important}}
@media(max-width:300px){.contact-reservation__heading h1{font-size:24px!important;letter-spacing:0!important}.contact-form-section__heading h2{font-size:20px!important}}
