/* 予約サイト：見本（site.css）に無かった部品 */
.page-note{padding:120px 0;text-align:center;color:var(--muted);font-size:13px;}
.block-note{font-size:12.5px;color:var(--muted);margin:0 0 14px;}
.login-buttons{display:flex;gap:10px;flex-wrap:wrap;}
.login-buttons .btn{width:auto;padding:13px 26px;}
.btn.login-line{background:#06C755;}
.form-grid{display:grid;gap:14px;max-width:420px;}
.form-grid label{display:grid;gap:6px;font-size:12px;color:var(--muted);}
.card-box{margin-top:14px;border:1px solid var(--line);padding:16px 18px;}
.card-element{border:1px solid var(--line);padding:12px 14px;background:#fff;border-radius:2px;max-width:420px;}
.card-element:empty{display:none;}
.form-error{color:#A9503A;font-size:12.5px;margin-top:12px;white-space:pre-wrap;}
.form-error:empty{display:none;}
.summary-line span:last-child{text-align:right;}
.space-card .photo.has-img{background-size:cover;background-position:center;}
.gallery-track .photo.has-img,.hero-photo-c .photo.has-img,.peek .photo.has-img{background-size:cover;background-position:center;}
.photo.has-img::before{display:none;}
.status-badge{display:inline-block;font-size:11px;letter-spacing:.06em;border:1px solid var(--line);padding:2px 10px;border-radius:999px;color:var(--muted);}
.status-badge.cancelled{color:#A9503A;border-color:#E8C9BF;}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--text);color:#fff;font-size:13px;
  padding:12px 20px;border-radius:2px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:100;max-width:calc(100% - 32px);}
.toast.show{opacity:1;transform:translate(-50%,0);}
.header-right .who{font-size:12px;color:var(--muted);}
@media (max-width:640px){ .header-right .who{display:none;} }
.footer-links a{margin-right:16px;color:var(--muted-2);}
.footer-links a:hover{color:var(--muted);}
.brand-wordmark{height:22px;width:auto;display:block;}
[hidden]{display:none !important;}

/* ===== トップ（事業者向けLP・PLSTCデザイン 2026-09-27） =====
   書体は MT たづがね角ゴシック Heavy。Webフォントの利用許諾が無いので、閲覧者の端末に入っていればそれを使い、
   無ければ近い Zen Kaku Gothic New（Black）で表示する。 */
body.is-home .site-header, body.is-home .site-footer{display:none;}
.lp2{--lp-font:"Tazugane Gothic StdN","TazuganeGothicStdN-Heavy","Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --lp-pad:6.25vw; font-family:var(--lp-font); font-weight:900; color:#000; background:#fff;}
.lp2 a{color:inherit;}
.lp2-head{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;
  padding:calc(var(--lp-pad) * .9) var(--lp-pad) 0;pointer-events:none;}
.lp2-head a{pointer-events:auto;font-size:15px;letter-spacing:.24em;}
.lp2-start{letter-spacing:.3em;}
.lp2-slide{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 36.5vw;column-gap:5vw;
  padding:15.7vh var(--lp-pad) 6.6vh;scroll-snap-align:start;}
.lp2-text{padding-top:6vh;}
.lp2-title{font-weight:900;font-size:clamp(28px,3.1vw,50px);line-height:1.62;letter-spacing:.24em;margin:0 0 9vh;}
.lp2-qa-title{letter-spacing:.06em;font-size:clamp(34px,4vw,62px);margin-bottom:6vh;}
.lp2-label{font-size:15px;letter-spacing:.24em;margin:0 0 3.6vh;}
.lp2-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 1.6vw;margin:0 0 9vh;}
.lp2-yen{font-size:clamp(34px,3.6vw,58px);letter-spacing:.14em;}
.lp2-price-from{font-size:14px;letter-spacing:.3em;margin-right:2.6vw;}
.lp2-price-note{font-size:14px;letter-spacing:.3em;}
.lp2-body{font-size:clamp(13px,1.05vw,16px);line-height:2.2;letter-spacing:.24em;margin:0 0 4.4vh;}
.lp2-panel{position:relative;align-self:start;width:100%;height:77.4vh;max-height:calc(36.5vw * 1.5);background:#000;overflow:hidden;}
.lp2-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;}
.lp2-panel img.on{opacity:1;}
.lp2-panel img.lp2-mark{inset:auto;left:50%;top:50%;width:16%;height:auto;object-fit:contain;transform:translate(-50%,-50%);opacity:.9;}
.lp2-qa details{margin:0 0 3.4vh;}
.lp2-qa summary{list-style:none;cursor:pointer;font-size:clamp(14px,1.2vw,18px);letter-spacing:.24em;}
.lp2-qa summary::-webkit-details-marker{display:none;}
.lp2-qa summary::before{content:">";display:inline-block;margin-right:.7em;transition:transform .2s ease;}
.lp2-qa details[open] summary::before{transform:rotate(90deg);}
.lp2-qa details p{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:13.5px;line-height:2;letter-spacing:.06em;
  color:#333;margin:1.4vh 0 0 1.7em;max-width:34em;}
.lp2-qa details p a{border-bottom:1px solid #999;}
.lp2-foot{position:absolute;left:var(--lp-pad);right:var(--lp-pad);bottom:2.4vh;display:flex;justify-content:space-between;
  align-items:center;gap:16px;font-size:10.5px;letter-spacing:.24em;margin-left:-1vw;}
.lp2-foot nav{display:flex;gap:4.4vw;flex-wrap:wrap;}
.lp2-loading{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:7vh;transition:opacity .6s ease;}
.lp2-loading.out{opacity:0;pointer-events:none;}
.lp2-loading-t{font-size:clamp(20px,2.6vw,42px);letter-spacing:.42em;margin-right:-.42em;}
.lp2-loading-s{font-size:13px;letter-spacing:.3em;animation:lp2blink 1.2s steps(2) infinite;}
@keyframes lp2blink{50%{opacity:.25;}}
html:has(body.is-home){scroll-snap-type:y proximity;}
@media (max-width:900px){
  .lp2{--lp-pad:20px;}
  .lp2-head{position:sticky;background:#fff;padding:18px var(--lp-pad);pointer-events:auto;}
  .lp2-head a{font-size:13px;}
  .lp2-slide{display:block;min-height:0;padding:48px var(--lp-pad) 56px;}
  .lp2-text{padding-top:0;}
  .lp2-title{letter-spacing:.14em;margin-bottom:36px;}
  .lp2-body,.lp2-qa summary{letter-spacing:.12em;}
  .lp2-panel{height:auto;aspect-ratio:3/4;max-height:none;margin-top:32px;}
  .lp2-foot{position:static;margin:40px 0 0;flex-direction:column;align-items:flex-start;}
  html:has(body.is-home){scroll-snap-type:none;}
}

/* PC：スライドショーは画面右に固定し、各セクションの枠は位置取りだけ（中身は出さない） */
.lp2-panel-fixed{position:fixed;top:15.7vh;right:6.25vw;width:36.5vw;z-index:30;}
@media (min-width:901px){
  .lp2-slide > .lp2-panel{visibility:hidden;}
}
@media (max-width:900px){
  .lp2-panel-fixed{display:none;}
}
body:not(.is-home) .lp2-panel-fixed{display:none;}
@media (min-width:901px){
  /* 見出しはデザインどおり2行（改行位置は <br> だけ） */
  .lp2-title{white-space:nowrap;font-size:min(2.85vw,50px);letter-spacing:.22em;}
}
/* 文字を枠の中央に：字間（letter-spacing）は最後の字の後ろにも付くので、右の余白をその分だけ減らす */
.lp2-who{display:inline-flex;align-items:center;justify-content:center;height:1.9em;box-sizing:border-box;font-family:var(--lp-font);font-weight:900;font-size:11px;letter-spacing:.14em;border:1px solid #000;padding:0 .46em 0 .6em;margin-right:.6em;line-height:1;vertical-align:.15em;}
.lp2-who + .lp2-who{margin-left:-.3em;}
.lp2-qa details p a{border-bottom:1px solid #999;}
