:root{--color-bg: #ffffff;--color-bg-light: #f5f5f5;--color-bg-dark: #333333;--color-bg-black: #000000;--color-text: #333333;--color-text-light: #747474;--color-text-white: #ffffff;--color-accent-red: #e95544;--color-border: #ddd;--font-serif: Playfair Display, serif;--font-sans-jp: Noto Sans JP, sans-serif;--font-sans-en: Oswald, sans-serif;--container-width: 90%;--container-max: 1200px;--section-py: clamp(60px, 8vw, 120px);--header-height: 80px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{overflow-y:scroll}html,body{overflow-x:hidden}body{font-family:var(--font-sans-jp);line-height:1;padding-top:var(--header-height)}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:normal}ol,ul{list-style:none}img{border:0;max-width:100%;vertical-align:bottom;display:block}a{color:inherit;text-decoration:none;display:block;transition:all .4s}a:focus{outline:none}table{border-collapse:collapse;border-spacing:0}input,button,select,textarea{appearance:none;background:rgba(0,0,0,0);border:none;border-radius:0;font:inherit;outline:none;font-size:16px;line-height:1.4}textarea{resize:vertical}input[type=checkbox],input[type=radio]{display:none}input[type=submit],input[type=button],label,button,select{cursor:pointer}.on480,.on768,.on1024{display:none}@media(max-width: 480px){.on480{display:block}.off480{display:none}}@media(max-width: 768px){.on768{display:block}.off768{display:none}}@media(max-width: 1024px){.on1024{display:block}.off1024{display:none}}.fadeIn{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .6s}.fadeIn.is-inview{opacity:1;transform:translateY(0);transition-delay:.4s}.fadeIn_one{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .6s}.fadeIn_one.is-inview{opacity:1;transform:translateY(0);transition-delay:.3s}.fadeLeft_one{opacity:0;transform:translateX(-30px);transition:opacity .8s,transform .6s}.fadeLeft_one.is-inview{opacity:1;transform:translateX(0);transition-delay:.3s}.fadeRight_one{opacity:0;transform:translateX(30px);transition:opacity .8s,transform .6s}.fadeRight_one.is-inview{opacity:1;transform:translateX(0);transition-delay:.3s}.blurImg{opacity:0;transition:transform .5s linear;animation-duration:1.5s;animation-fill-mode:both}.blurImg.is-blur{animation-name:imageBlur;opacity:1;transition:.8s}@keyframes imageBlur{from{opacity:0;filter:blur(15px)}to{opacity:1;filter:blur(0)}}[data-text-wrap]{display:inline-block}[data-text-inner]{display:block;width:.001%;overflow-x:hidden;background-color:rgba(0,0,0,0)}@keyframes text{0%{width:.001%}100%{width:100%}}.effect{position:relative;opacity:0}.effect.active{opacity:1;animation:kf_c01a 2s 1.5s forwards}.effect::before{content:"";position:absolute;z-index:1;inset:0 100% 0 0;background:var(--color-accent-red)}.effect.active::before{animation:kf_c01b 2s forwards}@keyframes kf_c01a{100%{color:inherit}}@keyframes kf_c01b{50%{left:0;right:0}100%{left:100%;right:0}}.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:hsla(0,0%,100%,.95);backdrop-filter:blur(8px);transition:background .3s,box-shadow .3s}.site-header.scrolled{box-shadow:0 2px 10px rgba(0,0,0,.08)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:var(--header-height)}.header-logo{flex-shrink:0}.header-logo img{height:clamp(30px,4vw,45px);width:auto}.header-logo .logo-text{font-family:var(--font-serif);font-size:clamp(20px,3vw,28px);font-weight:700;color:var(--color-text);line-height:1}.header-logo .logo-sub{font-size:8px;letter-spacing:1px;color:var(--color-text-light);display:block;font-family:var(--font-sans-jp)}.header-nav{display:none}@media(min-width: 1024px){.header-nav{display:flex;align-items:center;gap:clamp(15px,2vw,25px)}.header-nav a{font-family:var(--font-sans-jp);font-size:clamp(12px,1.1vw,14px);color:var(--color-text);white-space:nowrap;position:relative;padding-block:4px}.header-nav a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-text);transition:width .3s}.header-nav a:hover::after{width:100%}}.header-right{display:flex;align-items:center;gap:12px}.header-actions{display:flex;align-items:center;gap:12px;position:relative;z-index:990}@media(max-width: 1023px){.header-actions{display:none}}.action-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;transition:opacity .3s ease,transform .3s ease;border-radius:50%}.action-icon:hover{opacity:.8;transform:translateY(-2px)}.action-icon.icon-reserve{background:var(--color-primary, #bda88b);color:#fff}.action-icon.icon-reserve svg{width:18px;height:18px}.action-icon img{width:100%;height:100%;object-fit:contain}.action-icon.icon-x img{width:80%;height:80%;object-fit:contain}.hamburger{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:44px;background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.08);border-radius:50%;cursor:pointer;padding:0;z-index:1002;transition:background .3s ease,border-color .3s ease,transform .3s cubic-bezier(0.4, 0, 0.2, 1)}.hamburger:hover{background:#fff;transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.05)}.hamburger span{display:block;width:20px;height:1.5px;background:var(--color-text);position:absolute;transition:transform .4s cubic-bezier(0.4, 0, 0.2, 1),opacity .4s ease,background .3s ease}.hamburger span:nth-child(1){transform:translateY(-5px)}.hamburger span:nth-child(2){transform:translateY(0);opacity:1}.hamburger span:nth-child(3){transform:translateY(5px)}.hamburger.is-active{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.3)}.hamburger.is-active span{background:var(--color-text-white)}.hamburger.is-active span:nth-child(1){transform:translateY(0) rotate(45deg)}.hamburger.is-active span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.is-active span:nth-child(3){transform:translateY(0) rotate(-45deg)}@media(min-width: 1024px){.hamburger{display:none}}.mobile-menu-overlay{position:fixed;inset:0;background:rgba(17,17,17,.95);z-index:1001;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.mobile-menu-overlay.is-open{opacity:1;visibility:visible}.mobile-menu-overlay nav{display:flex;flex-direction:column;align-items:center;gap:36px}.mobile-menu-overlay nav a{position:relative;font-family:var(--font-sans-jp);font-size:clamp(20px,5.5vw,24px);font-weight:300;color:hsla(0,0%,100%,.9);letter-spacing:.15em;padding-bottom:6px;transition:all .4s cubic-bezier(0.4, 0, 0.2, 1)}.mobile-menu-overlay nav a::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:1px;background:hsla(0,0%,100%,.8);transition:width .4s cubic-bezier(0.4, 0, 0.2, 1)}.mobile-menu-overlay nav a:hover{color:#fff;letter-spacing:.25em}.mobile-menu-overlay nav a:hover::after{width:100%}body.menu-open{overflow:hidden;position:fixed;width:100%}body.menu-open .site-header{z-index:1100;background:rgba(0,0,0,0);backdrop-filter:none;box-shadow:none}body.menu-open .header-top-bar{display:none}body.menu-open .header-logo,body.menu-open .header-nav,body.menu-open .header-actions{visibility:hidden}.site-footer{background:var(--color-bg-black);padding-block:clamp(40px,6vw,80px) clamp(20px,3vw,30px);color:var(--color-text-white)}.footer-links{display:grid;grid-template-columns:repeat(2, 1fr);gap:clamp(8px,1.5vw,15px);max-width:900px;margin-inline:auto;padding-inline:5%;margin-block-end:clamp(30px,5vw,50px)}@media(min-width: 768px){.footer-links{grid-template-columns:repeat(4, 1fr)}}.footer-links a{font-family:var(--font-sans-jp);font-size:clamp(12px,1.1vw,14px);color:hsla(0,0%,100%,.8);padding-block:4px;transition:color .3s}.footer-links a:hover{color:#fff}.footer-copyright{text-align:center;font-family:var(--font-sans-jp);font-size:12px;color:hsla(0,0%,100%,.5);padding-block-start:20px;border-top:1px solid hsla(0,0%,100%,.1)}.fixed-bottom-bar{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);width:92%;max-width:580px;z-index:998;background:linear-gradient(175deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0.42) 100%);backdrop-filter:blur(52px) saturate(170%);-webkit-backdrop-filter:blur(52px) saturate(170%);border:1px solid rgba(0,0,0,.06);border-top-color:hsla(0,0%,100%,.35);border-bottom-color:rgba(0,0,0,.08);border-radius:18px;box-shadow:0 4px 20px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.06),inset 0 1px 0 hsla(0,0%,100%,.5);display:flex;height:56px;overflow:visible;transition:transform .7s cubic-bezier(0.22, 1, 0.36, 1),opacity .5s ease}.fixed-bottom-bar.is-hidden{transform:translateX(-50%) translateY(calc(100% + 28px));opacity:0;pointer-events:none}.fixed-bottom-bar a,.fixed-bottom-bar .bar-sns{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--font-sans-jp);font-size:10px;font-weight:500;letter-spacing:.02em;color:rgba(0,0,0,.68);text-decoration:none;position:relative;box-sizing:border-box;cursor:pointer;flex:1;transition:color .2s ease,background .2s ease,transform .2s ease}.fixed-bottom-bar a svg,.fixed-bottom-bar .bar-sns svg{width:20px;height:20px;stroke-width:1.5;opacity:.72;transition:opacity .2s ease,transform .2s ease}.fixed-bottom-bar a:first-child,.fixed-bottom-bar .bar-sns:first-child{border-top-left-radius:18px;border-bottom-left-radius:18px}.fixed-bottom-bar a:last-child,.fixed-bottom-bar .bar-sns:last-child{border-top-right-radius:18px;border-bottom-right-radius:18px}.fixed-bottom-bar a:hover,.fixed-bottom-bar .bar-sns:hover{color:rgba(0,0,0,.9);background:hsla(0,0%,100%,.35)}.fixed-bottom-bar a:hover svg,.fixed-bottom-bar .bar-sns:hover svg{opacity:1;transform:translateY(-1px)}.fixed-bottom-bar a:active,.fixed-bottom-bar .bar-sns:active{transform:scale(0.97);background:rgba(0,0,0,.03)}.fixed-bottom-bar a:not(:last-child)::after,.fixed-bottom-bar .bar-sns:not(:last-child)::after{content:"";position:absolute;right:0;top:24%;height:52%;width:1px;background:linear-gradient(to bottom, rgba(255, 255, 255, 0.55), rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.35))}.fixed-bottom-bar .bar-sns .sns-submenu{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);display:flex;gap:8px;padding:10px 14px;background:linear-gradient(175deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.55) 100%);backdrop-filter:blur(52px) saturate(170%);-webkit-backdrop-filter:blur(52px) saturate(170%);border:1px solid rgba(0,0,0,.06);border-top-color:hsla(0,0%,100%,.35);border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06),inset 0 1px 0 hsla(0,0%,100%,.5);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,transform .3s cubic-bezier(0.22, 1, 0.36, 1);z-index:1000}.fixed-bottom-bar .bar-sns .sns-submenu.is-open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.fixed-bottom-bar .bar-sns .sns-submenu .sns-link{display:block;width:38px;height:38px;padding:0;background:none;border:none;border-radius:10px}.fixed-bottom-bar .bar-sns .sns-submenu .sns-link::after{display:none}.fixed-bottom-bar .bar-sns .sns-submenu .sns-link img{width:100%;height:100%;object-fit:contain;border-radius:10px;transition:transform .2s ease}.fixed-bottom-bar .bar-sns .sns-submenu .sns-link:hover img{transform:scale(1.1)}.fixed-bottom-bar .bar-sns .sns-submenu .sns-link.link-x{display:flex;align-items:center;justify-content:center}.fixed-bottom-bar .bar-sns .sns-submenu .sns-link.link-x img{width:80%;height:80%;object-fit:contain}.fixed-bottom-bar .back-to-top{flex:.55;color:rgba(0,0,0,.36)}.fixed-bottom-bar .back-to-top svg{width:16px;height:16px;stroke-width:2}.fixed-bottom-bar .back-to-top:hover{color:rgba(0,0,0,.65)}.fixed-bottom-bar .back-to-top:hover svg{opacity:1;transform:translateY(-2px)}@media(min-width: 1024px){.fixed-bottom-bar{height:60px;max-width:620px;border-radius:20px}.fixed-bottom-bar a,.fixed-bottom-bar .bar-sns{font-size:11px;gap:3px}.fixed-bottom-bar a svg,.fixed-bottom-bar .bar-sns svg{width:22px;height:22px}.fixed-bottom-bar a:first-child,.fixed-bottom-bar .bar-sns:first-child{border-top-left-radius:20px;border-bottom-left-radius:20px}.fixed-bottom-bar a:last-child,.fixed-bottom-bar .bar-sns:last-child{border-top-right-radius:20px;border-bottom-right-radius:20px}.fixed-bottom-bar .back-to-top svg{width:18px;height:18px}}body{padding-bottom:0}main{margin-top:0}.reserve-section{position:relative;overflow:hidden;padding-block:clamp(60px,10vw,120px);color:#fff}.reserve-bg-wrap{position:absolute;inset:0;z-index:-2;width:100%;height:100%}.reserve-bg-wrap .reserve-bg-img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.05)}.reserve-bg-wrap .reserve-overlay{position:absolute;inset:0;background:rgba(10,10,10,.85);z-index:-1}.reserve-inner{position:relative;z-index:1;max-width:1000px;margin-inline:auto}.reserve-header{text-align:center;margin-block-end:clamp(40px,6vw,60px)}.reserve-title{font-family:var(--font-serif);font-size:clamp(40px,6vw,56px);color:#fff;line-height:1.2;margin-block-end:12px;letter-spacing:.05em;text-shadow:0 2px 4px rgba(0,0,0,.5)}.reserve-subtitle{font-family:var(--font-sans-jp);font-size:clamp(14px,1.5vw,16px);color:hsla(0,0%,100%,.9);letter-spacing:.1em;margin-block-end:24px}.reserve-desc-box{display:inline-block;background:rgba(0,0,0,.4);padding:12px 32px;border-radius:10px;border:1px solid hsla(0,0%,100%,.2);backdrop-filter:blur(4px)}.reserve-desc{font-family:var(--font-sans-jp);font-size:clamp(14px,1.5vw,15px);line-height:1.8;color:#fff;letter-spacing:.05em}.reserve-desc strong{color:var(--color-primary);font-weight:600;padding-inline:4px}@media(min-width: 1024px){.reserve-desc .hidden-md-up{display:none}}.reserve-cards{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width: 1024px){.reserve-cards{grid-template-columns:repeat(2, 1fr);gap:40px}}.reserve-card{background:hsla(0,0%,100%,.65);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.4);color:var(--color-text);border-radius:12px;padding:clamp(30px,5vw,50px) clamp(20px,4vw,40px);text-align:center;box-shadow:0 16px 40px rgba(0,0,0,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .3s ease,box-shadow .3s ease}.reserve-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.2)}.reserve-card-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin-block-end:20px}.reserve-card-icon img{width:100%;height:100%;object-fit:contain}.reserve-icon-web{background:var(--color-text);color:#fff}.reserve-card-title{font-family:var(--font-sans-jp);font-size:20px;font-weight:500;margin-block-end:16px;color:var(--color-text)}.reserve-card-text{font-family:var(--font-sans-jp);font-size:14px;color:var(--color-text-light);line-height:1.8;margin-block-end:24px;flex-grow:1}.btn-line,.btn-web{border-radius:4px;padding:16px 32px;font-size:15px;font-weight:bold;letter-spacing:.05em;text-decoration:none;width:100%;max-width:280px;transition:opacity .3s ease;display:inline-block;text-align:center}.btn-line:hover,.btn-web:hover{opacity:.8;color:#fff}.btn-line{background:#06c755;color:#fff}.btn-web{background:var(--color-text);color:#fff}.reserve-tel-area{margin-block-start:clamp(40px,6vw,60px);text-align:center;border-top:1px solid hsla(0,0%,100%,.2);padding-block-start:clamp(30px,4vw,40px)}.reserve-tel-text{font-size:14px;color:hsla(0,0%,100%,.9);margin-block-end:8px}.reserve-tel-number{font-family:var(--font-en);font-size:clamp(32px,5vw,40px);color:#fff;text-decoration:none;font-weight:600;display:inline-block;transition:opacity .3s ease;margin-block-end:8px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.reserve-tel-number:hover{opacity:.7}.reserve-tel-hours{font-size:13px;color:hsla(0,0%,100%,.8);letter-spacing:.05em}
