body.lp-salon{--bg:#f7f1ea;--ink:#3b2a26;--mute:#7a6a64;--c1:#3b2a26;--c2:#c9877a;--line:rgba(59,42,38,.16);--hdr:70px;--serif:"Zen Old Mincho","Hiragino Mincho ProN",serif;--en:"Cormorant Garamond","Zen Old Mincho",serif;--font:"Noto Sans JP",system-ui,sans-serif}
.sl-en{font:italic 600 1.35rem/1.2 var(--en);letter-spacing:.1em;color:var(--c2);margin-bottom:10px}
.sl-h2{font:700 clamp(1.6rem,3.6vw,2.4rem)/1.6 var(--serif);letter-spacing:.08em;color:var(--c1);margin-bottom:34px}
.sl-h2--w{color:#fff}
.sl-note{font-size:.78rem;color:var(--mute);margin-top:18px;text-align:center}
.sl-note--w{color:rgba(255,255,255,.7);text-align:left}
.sl-sec{padding:clamp(64px,9vw,110px) 0}
.btn--rose{background:var(--c2);color:#fff;box-shadow:0 10px 24px rgba(201,135,122,.38)}
.btn--rose:hover{background:#b8736a}
.btn--lg{padding:1.1em 2.2em;font-size:1.02rem}
.btn--line{background:#06c755;color:#fff;box-shadow:0 10px 22px rgba(6,199,85,.3)}
.btn--white{background:#fff;color:var(--c1)}
/* header */
.sl-hdr{position:fixed;top:36px;left:0;right:0;z-index:50;transition:background .35s,box-shadow .35s,top .3s}
.sl-hdr__in{height:var(--hdr);display:flex;align-items:center;gap:30px;color:#fff;transition:color .3s}
.sl-hdr.is-scrolled{top:0;background:rgba(247,241,234,.95);backdrop-filter:blur(10px);box-shadow:0 4px 24px rgba(59,42,38,.08)}
.sl-hdr.is-scrolled .sl-hdr__in{color:var(--c1)}
.sl-logo{text-decoration:none;line-height:1}
.sl-logo b{display:block;font:600 2rem/1 var(--en);letter-spacing:.22em}
.sl-logo small{display:block;font:italic 500 .8rem var(--en);letter-spacing:.3em;margin-top:2px;opacity:.85}
.sl-nav{display:flex;gap:28px;margin-left:auto;font:600 1rem var(--en);letter-spacing:.18em}
.sl-nav a{text-decoration:none;opacity:.9;transition:opacity .2s}.sl-nav a:hover{opacity:.55}
.sl-hdr__btn{padding:.7em 1.6em;font-size:.88rem}
@media(max-width:860px){.sl-nav{display:none}.sl-hdr__btn{margin-left:auto}}
@media(max-width:700px){.sl-hdr{top:56px}.sl-hdr.is-scrolled{top:0}}
/* hero */
.sl-hero{position:relative;min-height:max(100svh,640px);color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.sl-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center 20%;animation:slKen 22s ease-out forwards;transform-origin:70% 40%}
@keyframes slKen{from{transform:scale(1.12)}to{transform:scale(1)}}
.sl-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,24,20,.72),rgba(40,24,20,.25) 55%,rgba(40,24,20,.1)),linear-gradient(0deg,rgba(40,24,20,.55),transparent 40%)}
.sl-hero__in{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:clamp(70px,10vh,120px);padding-top:140px}
.sl-hero .sl-en{color:#f3d2c9;font-size:1.5rem}
.sl-hero h1{font:700 clamp(2.2rem,6vw,4.4rem)/1.45 var(--serif);letter-spacing:.1em;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.sl-hero__lead{margin:22px 0 32px;max-width:30em;color:rgba(255,255,255,.9)}
.sl-ticket{flex:0 0 auto;width:300px;text-decoration:none;color:var(--c1);background:#fffaf4;padding:26px 24px 22px;border-radius:6px;text-align:center;position:relative;box-shadow:0 24px 50px rgba(0,0,0,.35);-webkit-mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;transition:transform .3s}
.sl-ticket:hover{transform:translateY(-6px) rotate(-1deg)}
.sl-ticket__tag{display:inline-block;background:var(--c2);color:#fff;font-size:.74rem;font-weight:700;padding:.3em 1.2em;border-radius:99px;letter-spacing:.1em}
.sl-ticket__ttl{display:block;font:700 1.12rem/1.6 var(--serif);margin:14px 0 8px}
.sl-ticket__was{display:block;font-size:.82rem;color:var(--mute);text-decoration:line-through}
.sl-ticket__now{display:block;font:700 2.7rem/1.1 var(--en);color:#b8574a;letter-spacing:.02em}
.sl-ticket__now small{font:500 .78rem var(--font);color:var(--mute);margin:0 .3em}
.sl-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;font:italic 500 .9rem var(--en);letter-spacing:.3em}
.sl-scroll i{width:1px;height:42px;background:linear-gradient(#fff,transparent);animation:slScroll 2s ease-in-out infinite;transform-origin:top}
@keyframes slScroll{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.sl-petals i{position:absolute;top:-30px;width:12px;height:16px;border-radius:70% 0 70% 0;background:rgba(243,210,201,.7);animation:slFall linear infinite}
.sl-petals i:nth-child(1){left:12%;animation-duration:13s}.sl-petals i:nth-child(2){left:28%;animation-duration:17s;animation-delay:-6s;width:9px;height:12px}
.sl-petals i:nth-child(3){left:46%;animation-duration:15s;animation-delay:-3s}.sl-petals i:nth-child(4){left:63%;animation-duration:19s;animation-delay:-9s;width:8px;height:11px}
.sl-petals i:nth-child(5){left:79%;animation-duration:14s;animation-delay:-5s}.sl-petals i:nth-child(6){left:92%;animation-duration:18s;animation-delay:-11s;width:10px;height:14px}
@keyframes slFall{to{transform:translate(-80px,115vh) rotate(540deg)}}
@media(max-width:860px){.sl-hero__in{flex-direction:column;align-items:flex-start;gap:30px}.sl-ticket{width:100%;max-width:340px}.sl-scroll{display:none}}
/* concept */
.sl-concept__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,90px);align-items:center}
.sl-concept__ph{position:relative}
.sl-concept__ph img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px 8px 8px}
.sl-concept__frame{position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--c2);border-radius:200px 200px 8px 8px;z-index:-1}
.sl-concept p{margin-bottom:14px;color:var(--mute)}
.sl-keys{display:grid;gap:14px;margin-top:26px}
.sl-keys li{display:flex;gap:18px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.sl-keys b{font:italic 600 1.8rem/1 var(--en);color:var(--c2)}
.sl-keys span{font-weight:700;color:var(--c1)}
.sl-keys small{display:block;font-weight:400;font-size:.82rem;color:var(--mute)}
@media(max-width:800px){.sl-concept__in{grid-template-columns:1fr}.sl-concept__ph{max-width:420px;margin:0 20px 20px 0}}
/* worry */
.sl-worry{background:#efe3d8;padding:clamp(56px,8vw,90px) 0}
.sl-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:820px;margin:0 auto}
.sl-chips li{padding:.7em 1.4em;border-radius:99px;background:#fff;border:1px solid var(--line);font-weight:500;font-size:.95rem;box-shadow:0 6px 16px rgba(59,42,38,.05)}
/* menu */
.tabs__list{justify-content:center;margin-bottom:26px;border-bottom:1px solid var(--line)}
.sl-tab{appearance:none;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:.8em 1.4em;font:700 1rem var(--serif);letter-spacing:.1em;color:var(--mute);cursor:pointer;transition:color .2s,border-color .2s}
.sl-tab[aria-selected=true]{color:var(--c1);border-color:var(--c2)}
.sl-price{display:grid;gap:0}
.sl-price>div{display:flex;align-items:baseline;gap:14px;padding:16px 4px;border-bottom:1px dotted rgba(59,42,38,.3)}
.sl-price dt{flex:1;font-weight:500}
.sl-price dt small{margin-left:10px;padding:.15em .8em;border-radius:99px;background:var(--c2);color:#fff;font-size:.7rem;font-weight:700}
.sl-price dd{font:600 1.45rem/1 var(--en);letter-spacing:.04em}
.sl-price .is-rec dd{color:#b8574a}
.sl-price .is-rec{background:linear-gradient(90deg,rgba(201,135,122,.12),transparent)}
/* flow */
.sl-flow{padding:clamp(56px,8vw,100px) 0;background:var(--c1);color:#fff}
.sl-flow .sl-h2{color:#fff}
.sl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sl-steps li{padding:26px 22px;border:1px solid rgba(255,255,255,.22);border-radius:12px;position:relative}
.sl-steps b{font:italic 600 2.4rem/1 var(--en);color:var(--c2)}
.sl-steps h3{font:700 1.08rem/1.6 var(--serif);margin:10px 0 8px;letter-spacing:.06em}
.sl-steps p{font-size:.88rem;color:rgba(255,255,255,.74)}
@media(max-width:900px){.sl-steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.sl-steps{grid-template-columns:1fr}}
/* style */
.sl-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sl-gal figure{position:relative;overflow:hidden;border-radius:10px;aspect-ratio:3/4}
.sl-gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.sl-gal figure:nth-child(2n){margin-top:34px}
.sl-gal figure:hover img{transform:scale(1.07)}
.sl-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(40,24,20,.7));color:#fff;font:italic 600 1.1rem var(--en);letter-spacing:.1em}
@media(max-width:800px){.sl-gal{grid-template-columns:1fr 1fr}.sl-gal figure:nth-child(2n){margin-top:20px}}
/* staff */
.sl-staff{background:#efe3d8;padding:clamp(56px,8vw,100px) 0}
.sl-stf{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sl-stf article{background:#fff;border-radius:14px;padding:32px 26px;text-align:center;box-shadow:0 10px 28px rgba(59,42,38,.06)}
.sl-av{width:84px;height:84px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(135deg,#d9a79c,#c9877a);color:#fff;font:italic 600 2.4rem/84px var(--en)}
.sl-stf h3{font:600 1.5rem/1.3 var(--en);letter-spacing:.12em}
.sl-stf small{display:block;font:500 .78rem var(--font);color:var(--c2);letter-spacing:.04em;margin:2px 0 12px}
.sl-stf p{font-size:.9rem;color:var(--mute);text-align:left}
@media(max-width:800px){.sl-stf{grid-template-columns:1fr}}
/* voice */
.sl-vc{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sl-vc figure{padding:28px 26px;background:#fff;border-radius:14px;border:1px solid var(--line)}
.sl-star{color:#d9a14a;letter-spacing:.2em;margin-bottom:10px}
.sl-vc blockquote{margin:0;font-size:.94rem}
.sl-vc figcaption{margin-top:14px;font-size:.82rem;color:var(--mute)}
@media(max-width:800px){.sl-vc{grid-template-columns:1fr}}
.sl-voice .sl-note{text-align:left}
/* coupon */
.sl-coupon{background:linear-gradient(120deg,#c9877a,#a95f55);color:#fff;padding:clamp(48px,7vw,80px) 0}
.sl-coupon__in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.sl-coupon h2{font:700 clamp(1.5rem,3.4vw,2.2rem)/1.6 var(--serif);letter-spacing:.06em;margin-bottom:10px}
.sl-coupon h2 b{font:600 1.5em/1 var(--en);margin-left:.3em;color:#ffe9b8}
.sl-coupon__btns{display:flex;gap:14px;flex-wrap:wrap}
/* access */
.sl-acc__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center}
.sl-tbl{border-collapse:collapse;width:100%;font-size:.93rem}
.sl-tbl th,.sl-tbl td{padding:14px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.sl-tbl th{width:6.5em;color:var(--c2);font-weight:700;white-space:nowrap}
.sl-map{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#e6ddd0;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:44px 44px}
.sl-map i{position:absolute;display:block}
.sl-map__r1{left:-5%;right:-5%;top:52%;height:16px;background:#fff;transform:rotate(-8deg)}
.sl-map__r2{top:-5%;bottom:-5%;left:38%;width:16px;background:#fff;transform:rotate(6deg)}
.sl-map__r3{left:55%;right:-5%;top:24%;height:10px;background:#fff;transform:rotate(10deg)}
.sl-map__st{left:14%;top:64%;font:700 .72rem/1 var(--font);background:#3b2a26;color:#fff;padding:.4em .8em;border-radius:4px}
.sl-map__pin{left:52%;top:36%;width:34px;height:34px;border-radius:50% 50% 50% 0;background:var(--c2);transform:rotate(-45deg);box-shadow:0 0 0 8px rgba(201,135,122,.25);animation:slPin 2.4s ease-in-out infinite}
.sl-map__pin span{position:absolute;left:44px;top:6px;transform:rotate(45deg) translate(2px,-4px);transform-origin:0 0;font:700 .85rem/1 var(--en);letter-spacing:.14em;color:var(--c1);background:#fff;padding:.4em .8em;border-radius:4px;white-space:nowrap}
@keyframes slPin{50%{box-shadow:0 0 0 18px rgba(201,135,122,0)}}
@media(max-width:800px){.sl-acc__in{grid-template-columns:1fr}.sl-map{aspect-ratio:4/3}}
/* form */
.sl-form{background:linear-gradient(160deg,#4b3631,#3b2a26);color:#fff;padding:clamp(64px,9vw,110px) 0}
.sl-form__in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:start}
.sl-form p{color:rgba(255,255,255,.85);margin-bottom:16px}
.sl-form__box{background:#fffaf4;color:var(--ink);border-radius:16px;padding:32px 28px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.sl-form input[type=submit]{border:0;font-family:inherit;font-size:1.02rem}
@media(max-width:900px){.sl-form__in{grid-template-columns:1fr}.sl-form__box{padding:24px 18px}}
.sl-foot{background:#2a1d1a;color:rgba(255,255,255,.7);text-align:center;padding:36px 0 96px;font-size:.84rem;line-height:2}
.sl-foot b{font:600 1.6rem var(--en);letter-spacing:.2em;color:#fff}
.sl-sticky{background:rgba(247,241,234,.97)}
