/* Figma lower page: PC 1280 px / SP 375 px. Artwork is exported from Figma. */
.lower-access,.lower-banners,.lower-reservation,.lower-footer {color:#371c16;font-family:var(--font-body,"Noto Sans JP","Noto Sans",sans-serif);}
.lower-access *,.lower-banners *,.lower-reservation *,.lower-footer * {box-sizing:border-box;}
.lower-access p,.lower-access h2,.lower-access dl,.lower-access dd,.lower-reservation p,.lower-reservation h2 {margin:0;}
.lower-access a,.lower-reservation a,.lower-footer a {color:inherit;text-decoration:none;}
.lower-access {background:#ffe9ce;overflow:hidden;}
.lower-access-heading {display:flex;flex-direction:column;align-items:center;gap:48px;max-width:1200px;margin:0 auto;}
.lower-access-heading h2 {width:min(923px,100%);font-size:0;line-height:0;}
.lower-access-heading h2 img {display:block;width:100%;height:auto;}
.lower-access-lead {position:relative;font-size:32px;line-height:77px;font-weight:700;text-align:center;}
.lower-access-lead span {position:static;}
.lower-access-lead span::after {position:absolute;content:"";left:253px;top:56.638px;width:155px;height:18.39px;background:url("assets/lower-access-underline.svg") center/100% 100% no-repeat;pointer-events:none;}
.lower-contact {max-width:1200px;margin:120px auto 0;}
.lower-map {position:relative;width:100%;height:640px;overflow:hidden;border:8px solid white;}
.lower-map>img {position:absolute;width:164%;height:182.03%;max-width:none;left:-32.04%;top:-41.09%;}
.lower-contact-row {display:grid;grid-template-columns:minmax(0,552fr) minmax(0,600fr);gap:48px;margin-top:48px;align-items:start;}
.lower-contact address {font-style:normal;font-size:20px;font-weight:700;line-height:48px;}
.lower-map-link {display:flex;align-items:center;justify-content:center;gap:16px;min-height:91px;border-radius:100px;padding:24px 48px 24px 80px;background:#911428;color:white!important;font-size:24px;font-weight:700;line-height:43px;text-align:center;}
.lower-map-link picture {flex:none;margin-left:auto;line-height:0;}
.lower-map-link>picture>img {display:block;width:40px;height:40px;}
.lower-access>.brick-band {margin-top:120px;}
.lower-shop {display:grid;grid-template-columns:minmax(0,520fr) minmax(0,640fr);gap:80px;max-width:1280px;margin:120px auto 0;padding-right:40px;min-height:671px;}
.lower-shop-photo {position:relative;overflow:hidden;height:671px;}
.lower-shop-photo>img {position:absolute;width:100.03%;height:102.25%;max-width:none;left:-.01%;top:0;}
.lower-shop-details>div {display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:24px;position:relative;font-size:20px;line-height:48px;margin-bottom:24px;padding-bottom:24px;}
.lower-shop-details>div::after {position:absolute;content:"";height:1px;bottom:0;left:0;right:0;background:url("assets/lower-separator.svg") left center/100% 1px no-repeat;}
.lower-shop-details>div:last-child {margin-bottom:0;}
.lower-shop-details dt {font-weight:700;color:#911428;}
.lower-shop-details dd {min-width:0;}
.lower-shop-phone a {display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:6px 40px;line-height:43px;background:#f3c327;border-radius:100px;font-size:24px;font-weight:700;white-space:nowrap;}
.lower-shop-phone img {flex:none;width:24px;height:24px;}
.lower-banners {background:#371c16;padding:120px 40px;}
.lower-banners-inner {display:grid;grid-template-columns:repeat(2,minmax(0,560px));justify-content:space-between;gap:40px;max-width:1200px;margin:auto;}
.lower-banner {appearance:none;position:relative;display:block;container-type:inline-size;overflow:hidden;aspect-ratio:7/4;padding:0;border:0;background:#ffe9ce;cursor:pointer;font:inherit;color:inherit;text-align:initial;transition:filter .2s;}
.lower-banner:hover {filter:brightness(1.04);}
.lower-banner picture,.lower-banner-img {display:block;width:100%;height:100%;}
.lower-banner-img {object-fit:cover;}
.lower-recruit-shop,.lower-recruit-interior {position:absolute;display:flex;align-items:center;justify-content:center;}
.lower-recruit-shop {left:-5.0268%;top:16.8813%;width:44.6948%;height:61.8641%;}
.lower-recruit-shop img {width:39.2857cqw;height:26.0714cqw;object-fit:cover;border:1.4286cqw solid white;box-shadow:0 .7143cqw .7143cqw #0004;transform:rotate(15deg);}
.lower-recruit-dish {position:absolute;bottom:-4.0625%;right:56.25%;width:32.1429%;height:44.0625%;object-fit:cover;}
.lower-recruit-interior {left:59.025%;top:43.3469%;width:47.1596%;height:62.1872%;}
.lower-recruit-interior img {width:42.8571cqw;height:28.5268cqw;object-fit:cover;border:1.4286cqw solid white;box-shadow:.5357cqw .5357cqw 1.7857cqw .3571cqw #0003;transform:rotate(-10deg);}
.lower-recruit-letters {position:absolute;left:45.7143%;top:65%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.7143cqw;width:8.5714%;}
.lower-recruit-letters>span {display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#911428;font-size:5.7143cqw;font-weight:700;line-height:1.2;color:#fff;}
.lower-recruit-letters>span:nth-child(odd) {color:#f3c327;}
.lower-recruit-title {position:absolute;top:0;left:14.2857%;width:71.4286%;height:29.9297%;}
.lower-recruit-art,.lower-cta-art {position:relative;width:100%;height:100%;}
.lower-recruit-art [data-container="size"] {container-type:size;}
.lower-recruit-glass {position:absolute;left:57.3214%;top:26.875%;width:13.9286%;height:45.9375%;object-fit:cover;}
.lower-insta-photo {position:absolute;width:25%;height:32.8125%;object-fit:cover;}
.lower-insta-photo--left-top {left:0;top:-.3125%;}
.lower-insta-photo--left-middle {left:0;top:32.5%;}
.lower-insta-photo--left-bottom {left:0;top:65.3125%;height:35%;}
.lower-insta-photo--right-top {right:0;top:0;}
.lower-insta-photo--right-middle {right:0;top:32.8125%;}
.lower-insta-photo--right-bottom {right:0;top:65.625%;height:37.5%;overflow:hidden;}
.lower-insta-photo--right-bottom img {position:absolute;width:113.24%;height:164.3%;max-width:none;left:-11.43%;top:-43.29%;}
.lower-insta-center {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;width:37.1429%;}
.lower-instagram-icon {display:block;width:40px;height:40px;background:url("assets/menu-instagram.png") center/contain no-repeat;}
.lower-insta-center>.lower-instagram-icon {width:11.4286cqw;height:11.4286cqw;margin-bottom:4.2857cqw;}
.lower-insta-label {display:flex;align-items:center;gap:1.4286cqw;font-size:5.7143cqw;font-weight:700;line-height:1;}
.lower-insta-label img {width:5.7143cqw;height:5.7143cqw;}
.lower-insta-copy {margin-top:5.7143cqw;font-family:var(--font-hand,"Hiragino Maru Gothic ProN",sans-serif);font-size:4.2857cqw;line-height:1.6;text-align:center;color:#911428;white-space:nowrap;}
.lower-insta-copy {display:grid;place-items:center;width:100%;height:13.7143cqw;}
.lower-insta-copy img {width:94.98%;height:auto;}
/* Top-page Instagram banner — native artwork and spacing from Figma 16:13142. */
.top-instagram-banner .lower-insta-center{gap:5.7142857cqw;color:#371c16;}
.top-instagram-banner .lower-instagram-icon{position:relative;background:none;margin-bottom:-1.4285714cqw;}
.top-instagram-banner .lower-instagram-icon::before{content:"";position:absolute;inset:2.5%;background:url("assets/menu-instagram-colors.png") center/156% 156% no-repeat;mask:url("assets/menu-instagram-mask.svg") center/100% 100% no-repeat;}
.top-instagram-banner .lower-insta-label{line-height:2.4;}
.top-instagram-banner .lower-insta-label>span:first-child{text-box-trim:trim-both;text-box-edge:cap alphabetic;}
.top-instagram-banner__arrow{position:relative;display:block;flex:none;width:5.7142857cqw;height:5.7142857cqw;}
.top-instagram-banner .top-instagram-banner__arrow img{position:absolute;left:0;top:0;width:auto;height:auto;max-width:none;transform:scale(calc(.1785714286cqw / 1px));transform-origin:left top;}
.top-instagram-banner .lower-insta-copy{margin-top:0;}
.top-instagram-banner .lower-insta-copy img{width:94.7115385%;height:auto;}
.lower-reservation {position:relative;isolation:isolate;overflow:hidden;background:#911428;color:#fff;height:899.896px;display:flex;flex-direction:column;align-items:center;gap:80px;padding:0 40px 160px;}
.lower-cta-brand {width:min(900px,100%);aspect-ratio:900/139.896;flex:none;}
.lower-cta-copy {position:relative;z-index:1;text-align:center;flex:none;}
.lower-cta-copy h2 {font-size:32px;font-weight:700;line-height:77px;letter-spacing:0;color:inherit;}
.lower-cta-copy p {font-size:20px;line-height:48px;font-weight:400;margin-top:24px;}
.lower-sp-break {display:none;}
.lower-reservation-actions {display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:0 24px;width:680px;max-width:100%;position:relative;z-index:1;}
.lower-phone-button,.lower-web-button {display:flex;align-items:center;justify-content:center;gap:16px;height:93px;padding:8px 40px;border:0;border-radius:100px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap;}
.lower-phone-button {background:#f3c327;color:#371c16!important;font-size:32px;line-height:77px;}
.lower-web-button {background:#252c5b;color:#fff;font-size:24px;line-height:43px;}
.lower-phone-button picture,.lower-web-button picture {display:block;flex:none;line-height:0;}
.lower-phone-button picture>img {width:48px;height:48px;display:block;}
.lower-web-button picture>img {width:40px;height:40px;display:block;}
.lower-phone-description {grid-column:1;margin-top:-8px;}
/* Top-page reservation hint: keep its space so appearing does not shift the layout. */
@media (hover:hover) {
  #reservation-phone-note {opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;}
  .lower-reservation-actions:not(.is-note-dismissed):has(.lower-phone-button:hover) #reservation-phone-note,
  .lower-reservation-actions:not(.is-note-dismissed):has(.lower-phone-button:focus-visible) #reservation-phone-note,
  .lower-reservation-actions:not(.is-note-dismissed) #reservation-phone-note:hover {opacity:1;visibility:visible;pointer-events:auto;}
}
@media (prefers-reduced-motion:reduce) {#reservation-phone-note {transition:none;}}
.lower-description-arrow {display:block;width:28px;height:24px;margin:auto;line-height:0;}
.lower-description-arrow img {width:28px;height:24px;}
.lower-phone-description-body {display:flex;align-items:center;gap:16px;background:#fff;border-radius:24px;padding:16px;color:#000;}
.lower-phone-badge {position:relative;flex:none;width:104px;height:104px;display:block;}
.lower-phone-badge picture,.lower-phone-badge img {display:block;width:104px;height:104px;}
.lower-phone-badge>span {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:16px;line-height:1.4;font-weight:700;color:#fff;}
.lower-phone-description-body p {font-size:16px;line-height:1.8;font-weight:400;flex:1;}
.lower-cta-food {position:absolute;z-index:-1;object-fit:cover;pointer-events:none;}
.lower-cta-food--left {width:340px;height:205px;left:calc(50% - 690px);top:192px;}
.lower-cta-food--right {width:480px;height:377px;right:calc(50% - 680px);top:622px;}
.lower-footer {position:relative;display:flex;align-items:flex-start;gap:40px;min-height:180px;padding:64px 40px;background:#fff;}
.lower-footer-nav {display:flex;align-items:flex-start;gap:40px;}
.lower-footer-nav a {font-size:16px;line-height:38px;font-weight:700;white-space:nowrap;}
.lower-footer-current {display:flex;flex-direction:column;align-items:center;gap:4px;}
.lower-footer-current>span {display:block;width:48px;height:8px;background:url("assets/menu-wave-red.svg") 0 0/22px 8px repeat-x;}
.lower-footer-social {display:flex;align-items:center;justify-content:space-between;width:120px;flex:none;margin-left:40px;}
.lower-footer-social>button,.lower-footer-social>a {display:block;appearance:none;border:0;padding:0;width:40px;height:40px;background:transparent;cursor:pointer;}
.lower-footer-social img {display:block;}
.lower-footer small {margin-left:auto;opacity:.5;font-size:16px;line-height:38px;white-space:nowrap;}
.lower-banner:focus-visible,.lower-reservation a:focus-visible,.lower-reservation button:focus-visible,.lower-access a:focus-visible,.lower-footer a:focus-visible,.lower-footer button:focus-visible {outline:3px solid #f3c327;outline-offset:5px;}
@media (min-width:768px) and (max-width:1279px) {
  .lower-access-heading,.lower-contact {margin-right:40px;margin-left:40px;}
  .lower-map {height:auto;aspect-ratio:15/8;}
  .lower-shop {gap:40px;}
  .lower-shop-photo {height:auto;min-height:580px;}
  .lower-shop-details>div {grid-template-columns:110px minmax(0,1fr);gap:16px;font-size:18px;line-height:2.4;}
  .lower-shop-phone a {padding-right:16px;padding-left:16px;font-size:20px;}
  .lower-contact address {font-size:18px;line-height:2.4;}
  .lower-map-link {font-size:20px;padding-left:32px;padding-right:24px;}
  .lower-footer {gap:24px;flex-wrap:wrap;}
  .lower-footer-nav {gap:24px;}
  .lower-footer-social {margin-left:0;}
  .lower-footer small {font-size:12px;}
}
@media (max-width:767px) {
  .lower-access-heading {gap:40px;margin:0 16px;}
  .lower-access-heading h2 {width:100%;}
  .lower-access-lead {width:240px;font-size:24px;line-height:43px;padding-bottom:8px;}
  .lower-access-lead span {position:static;}
  .lower-access-lead span::after {left:0;top:83.632px;width:160px;height:15.75px;}
  .lower-contact {margin:48px 16px 0;}
  .lower-map {height:auto;aspect-ratio:343/480;}
  .lower-map>img {height:243.92%;width:572.07%;left:-235.77%;top:-72.01%;}
  .lower-contact-row {display:flex;flex-direction:column;gap:24px;margin-top:24px;}
  .lower-contact address {font-size:16px;line-height:38px;font-weight:700;}
  .lower-address-floor {display:block;}
  .lower-map-link {width:100%;min-height:65.66px;padding:11.76px 23.52px 11.76px 39.2px;gap:7.84px;font-size:16px;line-height:29px;}
  .lower-map-link>picture>img {width:24px;height:24px;}
  .lower-access>.brick-band {margin-top:48px;}
  .lower-shop {display:flex;flex-direction:column;gap:40px;margin:48px 16px 0;padding:0;min-height:0;}
  .lower-shop-photo {width:100%;height:auto;aspect-ratio:343/443;flex:none;}
  .lower-shop-details {width:100%;}
  .lower-shop-details>div {grid-template-columns:80px minmax(0,1fr);gap:16px;align-items:start;font-size:16px;line-height:38px;margin-bottom:24px;padding-bottom:24px;}
  .lower-shop-details>div.lower-shop-phone {gap:24px;align-items:center;}
  .lower-shop-phone a {display:flex;line-height:43px;padding:6px 8px;font-size:24px;}
  .lower-banners {padding:48px 16px;}
  .lower-banners-inner {display:flex;flex-direction:column;gap:40px;max-width:560px;}
  .lower-banner {width:100%;}
  .lower-reservation {height:760px;display:block;padding:0 16px;}
  .lower-cta-brand {width:100%;}
  .lower-cta-copy {margin-top:40px;}
  .lower-cta-copy h2 {font-size:24px;line-height:43px;}
  .lower-cta-copy p {font-size:16px;line-height:38px;margin-top:24px;}
  .lower-sp-break {display:block;}
  .lower-reservation-actions {width:100%;grid-template-columns:minmax(0,194.4358fr) minmax(0,136.5642fr);gap:0 12px;margin-top:24px;}
  .lower-phone-button,.lower-web-button {height:56.066px;gap:8.066px;padding:4.033px 12px;}
  .lower-phone-button {font-size:20px;line-height:48px;}
  .lower-web-button {font-size:16px;line-height:29px;}
  .lower-phone-button picture>img {width:24px;height:24px;}
  .lower-web-button picture>img {width:20.166px;height:20.166px;}
  .lower-phone-description {grid-column:1/-1;margin-top:-4px;}
  .lower-description-arrow {width:14.116px;height:11.911px;margin-left:26.2391%;}
  .lower-description-arrow img {width:14.116px;height:11.911px;}
  .lower-phone-description-body {gap:8.066px;padding:8.066px;border-radius:12.1px;}
  .lower-phone-badge,.lower-phone-badge picture,.lower-phone-badge img {width:80px;height:80px;}
  .lower-phone-badge>span {font-size:12px;line-height:1.4;}
  .lower-phone-description-body p {font-size:12px;line-height:1.8;}
  .lower-cta-food--left {width:170px;height:102.5px;left:-24px;top:563.425px;}
  .lower-cta-food--right {width:280px;height:219.791px;right:-60px;top:595.88px;}
  .lower-footer {display:flex;flex-direction:column;align-items:center;gap:40px;padding:48px 16px;}
  .lower-footer-nav {flex-direction:column;align-items:center;gap:40px;}
  .lower-footer-nav a {font-size:16px;line-height:38px;}
  .lower-footer-social {margin-left:0;}
  .lower-footer small {font-size:12px;line-height:29px;margin:0;}
}
@media (max-width:359px) {
  .lower-shop-phone a {font-size:19px;}
  .lower-shop-details>div.lower-shop-phone {gap:12px;}
  .lower-cta-copy h2 {font-size:22px;}
  .lower-cta-copy p {font-size:14px;}
}
