@charset "UTF-8";
/* Blue, yellow and white theme. Keep foreground/background pairs explicit. */
:root { --text-color:#183b50; --color-red:#245d7d; --color-blue:#245d7d; --bg-1:url("../img/texture-1.jpg") repeat-y center / 100% auto; }
body { background:#fff; color:#183b50; }
.header { background:#dcf0fa; color:#183b50; border-bottom:0.4rem solid #f2d359; }
.footer { background:#dcf0fa; color:#183b50; border-top:0.4rem solid #f2d359; }
.copy { background:#bfe0f2; color:#183b50; }
.header__nav-item:last-of-type { width:auto; }
.reservation-label { display:block; padding:0.8em 1.1em; background:#ffe58a; color:#183b50; border:0.15rem solid #245d7d; border-radius:0.6rem; white-space:nowrap; }
.header__sns a,.footer__sns a { display:block; background:#245d7d; border-radius:0.5rem; }
a:hover { opacity:1; }
a:focus-visible,button:focus-visible { outline:3px solid #996c00; outline-offset:4px; }
.header__nav-item a:hover,.footer__nav-item a:hover { text-decoration:underline; text-underline-offset:0.3em; }
.hero__scroll { background:#dcf0fa; color:#183b50; padding:1rem; }
.news,.policy,.gallery,.insta,.access,.menu,.shop { color:#183b50; }
.policy__contents { background:#fff; border-color:#91bdd4; }
.shop { background:#fff; }
.section-title { display:block; font-size:max(24px,4rem); font-weight:800; letter-spacing:0.12em; color:#183b50; }
.section-subtitle { display:block; margin-top:1rem; color:#183b50; font-size:max(14px,1.8rem); }
.menu__txt-wrapper::before { display:none; }
.menu__txt-wrapper { background:#fff9df; border-top:0.5rem solid #f2d359; padding:3rem; }
.menu__txt-wrapper h3 { margin-left:0; }
.common__btn a { display:block; border:0!important; }
.more-label { display:flex; align-items:center; justify-content:space-between; gap:1em; padding:1em 1.5em; background:#245d7d; color:#fff; border-radius:0.6rem; font-weight:700; letter-spacing:0.1em; }
.common__btn a:hover .more-label { background:#183b50; }
.access__list,.access__list::before { background:#245d7d; color:#fff; }
.access__list dd:not(:last-of-type),.access__list dt:not(:last-of-type) { border-color:#91bdd4; }
.lower_sec { background:#fff; color:#183b50; }
.lower_sec .policy__contents { background:transparent; }
.policy__ttl,.CMS-NEWS-TITLE,.shop__list dt,.shop__list dd,.rstdtl-menu-lst__contents,.rstdtl-course-list { border-color:#91bdd4; }
.policy__ttl::before { border-color:#e0b932; }
.menu__btn { background:#e8f5fc; color:#183b50; border-color:#91bdd4; }
.current .menu__btn { background:#ffe58a; color:#183b50; border-color:#b28a15; }
.hero:has(.hero__ttl)::before { background:#dcf0fa; opacity:0.85; }
.hero__ttl { position:relative; color:#183b50; z-index:1; }
.fixed-btn .tel a { background:#245d7d; color:#fff; }
@media(max-width:767px) {
 .header__contents { background:#dcf0fa; color:#183b50; }
 .header__hamburger-sp { background:#245d7d; }
 .menu__txt-wrapper { padding:3rem; }
}

/* Keep original background images; use local panels for legibility. */
.news { color:#fff; }
.gallery .common__ttl,.insta .common__ttl,.access .common__ttl,.menu > .common__ttl {
 width:max-content; max-width:90%; margin-left:auto; margin-right:auto;
 padding:2rem 3rem; background:#dcf0fa; border-bottom:0.4rem solid #f2d359; border-radius:0.6rem;
}
.gallery .section-title,.gallery .section-subtitle,
.insta .section-title,.insta .section-subtitle,
.access .section-title,.access .section-subtitle,
.menu > .common__ttl .section-title,.menu > .common__ttl .section-subtitle { color:#183b50; }
.header__nav-item:last-of-type { width:8.3rem; }
.header__nav-item a,.footer__nav-item a { color:#183b50; }
/* White logo/SNS icons -> navy on pale-blue header/footer */
.header__logo img,.footer__logo img,.header__sns img,.footer__sns img { filter:brightness(0) saturate(100%) invert(19%) sepia(35%) saturate(1100%) hue-rotate(165deg) brightness(90%); }
.header__sns a,.footer__sns a { background:transparent; }
@media(max-width:767px) { .header__nav-item:last-of-type { width:max(70px,8rem); } }
