.cms-page,.cms-home{max-width:1200px;margin:auto;padding:120px 24px 64px;font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.9;color:#222}.cms-home{padding-top:64px}.cms-page h1,.cms-home h2{font-size:clamp(28px,5vw,48px);font-weight:900;margin:0 0 40px}.cms-page h2{font-size:26px;margin:48px 0 24px}.cms-page h3,.cms-home h3{font-size:20px;font-weight:700}.cms-page p,.cms-home p{margin:12px 0}.cms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.cms-card{border:2px solid #222;border-radius:16px;padding:20px;background:#fff;overflow:hidden}.cms-card img{width:100%;height:220px;object-fit:cover;border-radius:8px}.cms-card a{color:inherit}.cms-button{display:inline-block;background:#ffe100;color:#111;border:2px solid #111;border-radius:30px;padding:10px 22px;font:inherit;cursor:pointer;margin:8px 8px 8px 0;text-decoration:none}.cms-button:disabled{opacity:.5}.cms-filters{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0}.cms-filters select{font:inherit;border:1px solid;padding:8px;background:#fff}.cms-badge{background:#ffe100;padding:2px 8px;border-radius:8px;font-size:13px}.cms-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cms-gallery img,.cms-rich img{max-width:100%;height:auto}.cms-page>img{max-width:300px;height:auto}.cms-rich{overflow-wrap:anywhere}.cms-rich ul{list-style:disc;padding-left:24px}.cms-rich ol{list-style:decimal;padding-left:24px}.cms-rich table{display:block;overflow:auto;max-width:100%}.cms-rich td,.cms-rich th{border:1px solid #aaa;padding:8px}.cms-video{width:100%;aspect-ratio:16/9;border:0}.cms-table-scroll{overflow-x:auto;border:1px solid #ccc}.cms-week{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));min-width:1190px}.cms-week h3{position:sticky;top:0;text-align:center;background:#ffe100;padding:12px}.cms-day{position:relative;height:2880px;background:repeating-linear-gradient(#fff 0 119px,#ddd 119px 120px);border-right:1px solid #ddd}.cms-slot{position:absolute;padding:6px;border:1px solid #777;box-sizing:border-box;overflow:auto;font-size:12px;line-height:1.4;color:#111;text-decoration:none}.cms-breadcrumb{margin-top:48px!important;font-size:14px}.cms-page form{max-width:720px}.cms-page form label{display:block;font-weight:bold;margin:20px 0}.cms-page form input,.cms-page form select,.cms-page form textarea{display:block;width:100%;font:inherit;font-weight:normal;padding:10px;border:1px solid #777;border-radius:5px;background:white;box-sizing:border-box}.cms-page form textarea{min-height:160px}.cms-page dd{white-space:pre-wrap;margin:0 0 16px;overflow-wrap:anywhere}.cms-page dt{font-weight:bold}.cms-page [hidden],.cms-home [hidden]{display:none!important}:is(.cms-page,.cms-home) :focus-visible{outline:3px solid #1565c0;outline-offset:3px}@media(max-width:800px){.cms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-gallery{grid-template-columns:1fr}}@media(max-width:540px){.cms-grid{grid-template-columns:1fr}.cms-page,.cms-home{padding-left:16px;padding-right:16px}.cms-card img{height:auto;max-height:400px}}

.cms-seo-intro{padding:28px 20px;text-align:center;background:#fff;color:#222}
.cms-seo-intro h1{margin:0;font-size:clamp(18px,3.5vw,28px);line-height:1.5}
.cms-seo-intro p{margin:10px 0 0;font-size:14px;line-height:1.8}

#booking{scroll-margin-top:110px}
.cms-booking-open{overflow:hidden}
.cms-booking-modal{position:fixed;inset:0;margin:auto;width:min(760px,calc(100% - 24px));max-width:none;height:min(850px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;border:2px solid #222;border-radius:18px;background:#fff;color:#222;overflow:hidden;box-sizing:border-box}
.cms-booking-modal[open]{display:flex;flex-direction:column}
.cms-booking-modal::backdrop{background:rgba(0,0,0,.65)}
.cms-booking-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#ffe100;flex-shrink:0;font-family:'Noto Sans JP',sans-serif}
.cms-booking-modal-header h2{font-size:20px;font-weight:700;line-height:1.5;margin:0}
.cms-booking-close{flex-shrink:0;border:2px solid #222;border-radius:24px;background:#fff;color:#222;padding:8px 12px;font:inherit;cursor:pointer;min-height:44px}
.cms-booking-modal-content.cms-page{padding:20px 24px 32px;margin:0;max-width:none;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1}
.cms-booking-modal :focus-visible{outline:3px solid #1565c0;outline-offset:3px}
@media(max-width:540px){.cms-booking-modal-header{padding:12px}.cms-booking-modal-header h2{font-size:16px}.cms-booking-modal-content.cms-page{padding:12px 16px 24px}}
.fees{max-width:1040px;margin:auto}.fees-lead{max-width:720px;font-size:18px}.fees-nav{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.fees-nav a{background:#fff;border:1px solid #222;border-radius:24px;padding:7px 16px;color:#222;text-decoration:none}.fees section{scroll-margin-top:110px}.fees section>h2{border-bottom:3px solid #222;padding-bottom:12px;margin-top:56px}.fees-grid{display:grid;gap:20px}.fees-two{grid-template-columns:repeat(2,minmax(0,1fr))}.fees-three{grid-template-columns:repeat(3,minmax(0,1fr))}.fees-card{background:#fff;border:2px solid #222;border-radius:16px;padding:24px;min-width:0}.fees-card h3{margin:0 0 12px;font-size:20px}.fees-price{font-size:clamp(32px,4vw,44px);font-weight:900;line-height:1.3;font-variant-numeric:tabular-nums}.fees-price span{display:block;font-size:15px;font-weight:500;margin-top:8px}.fees-detail{color:#444}.fees-subplan{background:#fff;border:2px solid #222;border-radius:16px;padding:24px;margin-top:20px}.fees-subplan h3{margin:0 0 12px}.fees-subplan dl{margin:0}.fees-subplan dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid #ddd}.fees-subplan dd{font-size:22px;font-weight:700;margin:0}.fees-note{border-left:6px solid #302579;background:#fff8cf;padding:20px 24px;margin-top:20px}.fees-note p{margin-bottom:0}.fees-rental{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.fees-contact{text-align:center;margin-top:64px;padding:28px 20px;background:#fff;border:2px solid #222;border-radius:16px}.fees-contact h2{margin-top:0!important;border:0!important}.fees-phone{font-size:clamp(25px,5vw,40px);font-weight:900;color:#222;white-space:nowrap}@media(max-width:680px){.fees-two,.fees-three{grid-template-columns:1fr}.fees-card{padding:22px}.fees-lead{font-size:16px}.fees section>h2{font-size:24px}.fees-contact{padding:24px 14px}}

.cms-video-preview{position:relative;display:block;padding:0;margin:24px 0;background:#111;color:#fff;border-radius:16px;overflow:hidden;cursor:pointer;font:inherit}.cms-video-preview img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.cms-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:76px;height:54px;padding-left:4px;box-sizing:border-box;border-radius:14px;background:#e21b1b;color:#fff;font-size:28px;box-shadow:0 2px 12px #0005}.cms-video-caption{position:absolute;bottom:0;left:0;right:0;padding:28px 16px 12px;background:linear-gradient(transparent,#000c);color:#fff;text-align:left;font-weight:700}.cms-video-preview:hover .cms-video-play{background:#b91515}
