/* 長い正式名称を意味のまとまりで折り返す。 */
.header{height:76px}
.header .cta{line-height:1.4}
.hero-action .cta-label .phrase{display:block}
.cta .cta-label{flex:1;min-width:0;white-space:normal}
.faq summary{justify-content:space-between}
.faq summary>span{font-size:0}
.faq summary>span::before{display:none}
.faq summary>span::after{content:'＋';font-size:16px}
.faq details[open] summary>span::after{content:'−'}
.footer{padding-bottom:115px}
.floating-cta{position:fixed;right:24px;bottom:max(20px,env(safe-area-inset-bottom));width:330px;z-index:50}
.floating-cta[hidden]{display:none}
.floating-cta .cta{width:100%;padding:15px 22px;border:1px solid #ffffff90;box-shadow:0 8px 30px #07584940,0 0 0 4px #ffffffb8;font-size:19px;line-height:1.5}
.floating-action{display:block;font-size:14px}
.floating-cta .cta::before{background:linear-gradient(110deg,transparent 30%,#ffffff88 50%,transparent 70%);animation:cta-shine 4.8s ease-in-out infinite;z-index:0}
.floating-cta .cta-label,.floating-cta .cta>span{position:relative;z-index:1}
@keyframes cta-shine{0%,45%{transform:translateX(-130%)}75%,100%{transform:translateX(130%)}}
@media(max-width:700px){
 .header{height:66px}.header .cta{font-size:10px;min-width:132px}
 .hero-action .cta{font-size:clamp(12px,3.4vw,15px);line-height:1.6}
 .closing .cta{font-size:16px;line-height:1.5}
 #booking-title{font-size:clamp(19px,5.2vw,23px);text-wrap:balance}
 .floating-cta{left:16px;right:16px;width:auto;bottom:max(14px,env(safe-area-inset-bottom))}
 .floating-cta .cta{font-size:17px;padding:10px 18px}
 .floating-action{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.floating-cta .cta::before{animation:none;display:none}}

#faq-rest[hidden],.faq-more[hidden]{display:none}
.faq>details:nth-of-type(5){border-bottom:1px solid var(--line)}
#faq-rest>details:first-child{border-top:0}
.faq-more{display:flex;align-items:center;justify-content:center;gap:20px;margin:18px auto 8px;padding:12px 28px;min-height:48px;border:1px solid #b9d6c9;border-radius:6px;background:#fff;color:var(--green);cursor:pointer;font-size:14px}
.faq-more:hover{background:var(--mint)}
.faq-more span{font-size:20px;line-height:1}
