*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue-light:#f0f4fd;--blue-mid:#e2eaf9;--blue-border:#c8d8f0;--blue-accent:#6a8fc4;--blue-button:#8aaee8;--text:#2d3a50;--text-light:#7890b0;--white:#fff;--font-ja:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-script:"Pinyon Script", cursive;--transition:.4s ease}html{scroll-behavior:smooth;scroll-padding-top:54px}body{background:var(--white);color:var(--text);font-family:var(--font-ja);min-width:320px;font-size:14px;font-weight:300;line-height:1.9}a{color:inherit;transition:opacity var(--transition);text-decoration:none}a:hover{opacity:.72}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}ul,li{list-style:none}:focus-visible{outline:2px solid var(--blue-accent);outline-offset:4px}.site-header{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border-bottom:1px solid var(--blue-border);background:#f0f4fd85;height:54px;position:fixed;inset:0 0 auto}.gnav ul{justify-content:center;align-items:center;height:52px;display:flex}.gnav li a{height:52px;color:var(--blue-accent);font-family:var(--font-script);letter-spacing:.12em;transition:background var(--transition), opacity var(--transition);padding:0 18px;font-size:13px;line-height:52px;display:block}.gnav li a:hover{background:var(--blue-mid);opacity:1}.nav-toggle{display:none}.hero{margin-top:52px;position:relative}.hero-slider{background:#dce8f4;height:85vh;min-height:480px;position:relative;overflow:hidden}.hero-slide{opacity:0;transition:opacity 1s ease-in-out;position:absolute;inset:0}.hero-slide.is-active{z-index:1;opacity:1}.hero-bg{background-position:50%;background-size:cover;width:100%;height:100%}.hero-text{z-index:10;width:100%;color:var(--text-light);text-align:center;pointer-events:none;padding:0 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-title{font-family:var(--font-script);letter-spacing:.05em;text-shadow:0 2px 20px #ffffff8c;margin-bottom:22px;font-size:clamp(58px,8vw,96px);font-weight:400;line-height:1.05}.hero-icons{pointer-events:auto;justify-content:center;gap:32px;display:flex}.hero-icon-btn{color:var(--text-light);font-family:var(--font-script);letter-spacing:.1em;flex-direction:column;align-items:center;gap:8px;font-size:12px;display:flex}.hero-icon-circle{border:1.5px solid var(--text-light);width:52px;height:52px;transition:background var(--transition), transform var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.hero-icon-circle svg{width:22px;height:22px}.hero-icon-btn:hover{opacity:1}.hero-icon-btn:hover .hero-icon-circle{background:#ffffff4d;transform:translateY(-2px)}.carousel-dots{justify-content:center;gap:10px;display:flex}.carousel-dots button{cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;padding:0}.hero-dots{z-index:4;position:absolute;bottom:17px;left:0;right:0}.hero-dots button{background:#ffffff8c}.hero-dots button.is-active{background:var(--white);transform:scale(1.2)}.content-section{background:var(--white);padding:80px 24px}.content-section--pink{background:var(--blue-light)}.section-title{border-bottom:1px dashed var(--blue-accent);max-width:360px;color:var(--blue-accent);font-family:var(--font-script);letter-spacing:.08em;text-align:center;margin:0 auto 64px;padding:0 0 16px;font-size:clamp(32px,4vw,44px);font-weight:400;line-height:1.2}.section-title em{font-style:italic;font-weight:400;display:block}.section-title span{font-family:var(--font-ja);letter-spacing:.08em;margin-top:5px;font-size:17px;font-style:normal;font-weight:400;display:block}.rooms-slider{max-width:900px;margin:0 auto 40px;position:relative}.rooms-viewport{overflow:hidden}.rooms-track{transition:transform .7s cubic-bezier(.22,.61,.36,1);display:flex}.rooms-block{text-align:center;flex:0 0 100%;min-width:0}.rooms-img{width:80%;margin:0 auto}.img-box{aspect-ratio:3/4;border:1px solid var(--blue-border);background-color:#dce8f4;background-position:50%;background-size:cover;border-radius:4px;width:100%}.rooms-text{width:80%;margin:16px auto 0;position:relative}.rooms-name{color:var(--blue-accent)}.rooms-name-title{border-bottom:1px dashed var(--blue-accent);font-family:var(--font-script);font-size:31px;font-style:italic;font-weight:400;display:block}.rooms-desc{min-height:154px;color:var(--blue-accent);padding:32px}.rooms-desc span:last-child br{display:none}.carousel-arrow{z-index:4;border:1px solid var(--blue-border);width:44px;height:44px;color:var(--blue-accent);cursor:pointer;transition:background var(--transition), transform var(--transition);background:#ffffffb8;border-radius:50%;font-family:Georgia,serif;font-size:34px;line-height:36px;position:absolute;top:38%}.carousel-arrow:hover{background:var(--white);transform:scale(1.04)}.carousel-arrow--prev{left:4%}.carousel-arrow--next{right:4%}.room-dots{margin-top:18px}.room-dots button{background:var(--blue-border)}.room-dots button.is-active{background:var(--blue-accent);transform:scale(1.2)}.place-block{border:1px solid var(--blue-border);background:var(--blue-light);border-radius:4px;flex-direction:column;max-width:700px;margin:0 auto;padding:32px 30px;display:flex}.price-table{border-collapse:collapse;color:var(--blue-accent);font-size:16px;font-weight:500}.price-table tr{line-height:3}.price-table td{padding:0 16px}.pt-time{text-align:left;white-space:nowrap;padding-right:24px}.pt-dots{letter-spacing:.2em;text-align:center;padding:0 24px}.pt-yen{text-align:right;white-space:nowrap;padding-left:24px}.price-note{color:var(--blue-accent);text-align:center;margin-top:20px;font-size:12px;font-weight:500;line-height:2}.basic-block,.amenity-block{border:1px solid var(--blue-border);border-radius:4px;max-width:700px;margin:0 auto 50px;padding:32px 40px}.basic-block{background:var(--white)}.amenity-block{background:var(--blue-light)}.basic-title{color:var(--blue-accent);text-align:center;font-weight:500}.basic-list,.amenity-list{color:var(--blue-accent);text-align:center;font-size:13px}.caution-block{flex-direction:column;gap:28px;max-width:700px;margin:0 auto;display:flex}.caution-group{border-bottom:1px solid #c8d8f0b3;padding-bottom:22px}.caution-group:last-child{border-bottom:0;padding-bottom:0}.caution-head{color:var(--blue-accent);letter-spacing:.05em;margin-bottom:8px;font-size:14px;font-weight:500}.caution-text{color:var(--text);font-size:13px;line-height:2}.reserve-block{max-width:640px;margin:0 auto}.reserve-lead{color:var(--text-light);text-align:center;margin-bottom:36px;font-size:13px}.reserve-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:6px;min-width:0;display:flex}.form-group label{color:var(--text-light);letter-spacing:.05em;align-items:center;gap:8px;font-size:12px;display:flex}.req{background:var(--blue-accent);color:var(--white);border-radius:2px;padding:2px 6px;font-size:10px;line-height:1.5}.form-group input,.form-group select,.form-group textarea{appearance:none;border:1px solid var(--blue-border);background:var(--blue-light);width:100%;min-height:48px;color:var(--text);font-family:var(--font-ja);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);border-radius:4px;outline:none;padding:12px 16px;font-size:14px;font-weight:300}.form-group select{background-image:linear-gradient(45deg, transparent 50%, var(--blue-accent) 50%), linear-gradient(135deg, var(--blue-accent) 50%, transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:42px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue-accent);background-color:var(--white);box-shadow:0 0 0 3px #6a8fc421}.form-group input::placeholder,.form-group textarea::placeholder{color:#a8b8cc}.form-group input:disabled,.form-group select:disabled{cursor:not-allowed;opacity:.58}.form-group textarea{resize:vertical;min-height:130px}.field-note{color:var(--text-light);font-size:11px}.time-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.reservation-notice{border-left:3px solid var(--blue-accent);background:var(--blue-light);color:var(--text-light);padding:13px 16px;font-size:12px;line-height:1.8}.form-submit{text-align:center;margin-top:8px}.submit-btn{background:var(--blue-button);min-width:210px;color:var(--white);font-family:var(--font-ja);letter-spacing:.1em;cursor:pointer;transition:background var(--transition), transform var(--transition), opacity var(--transition);border:none;border-radius:30px;padding:14px 60px;font-size:14px;font-weight:300}.submit-btn:hover:not(:disabled){background:var(--blue-accent);transform:translateY(-1px)}.submit-btn:disabled{cursor:wait;opacity:.7}.form-message{min-height:24px;color:var(--text-light);text-align:center;font-size:12px}.form-message.is-error{color:#b34f60}.form-line-fallback{text-align:center;margin-top:-12px}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.success-card{border:1px solid var(--blue-border);background:var(--blue-light);color:var(--text);text-align:center;border-radius:6px;padding:38px 34px}.success-mark{background:var(--blue-accent);width:48px;height:48px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:23px;display:inline-flex}.success-card h3{color:var(--blue-accent);letter-spacing:.05em;margin-bottom:16px;font-size:20px;font-weight:500}.success-card p{margin:12px 0;font-size:13px;line-height:2}.success-card .receipt-number{color:var(--blue-accent);letter-spacing:.04em;font-size:15px}.success-card .receipt-number strong{letter-spacing:.1em;font-size:19px}.success-card .success-note{background:var(--white);color:var(--text-light);border-radius:4px;padding:12px 14px}.line-button{min-width:220px;color:var(--white);letter-spacing:.04em;transition:opacity var(--transition), transform var(--transition);background:#06c755;border-radius:30px;justify-content:center;align-items:center;gap:10px;margin:18px auto 8px;padding:13px 25px;font-weight:500;display:inline-flex}.line-button svg{width:22px;height:22px}.line-button:hover{opacity:.87;transform:translateY(-1px)}.text-button{border:0;border-bottom:1px solid var(--blue-accent);color:var(--blue-accent);cursor:pointer;background:0 0;margin:17px auto 0;padding:4px 8px;font-size:12px;display:block}.contact-section{background:var(--blue-light);text-align:center;padding:80px 24px}.contact-inner{flex-direction:column;align-items:center;gap:18px;display:flex}.contact-icon{border:1px solid var(--blue-border);background:var(--white);width:52px;height:52px;color:var(--blue-accent);transition:background var(--transition), color var(--transition), transform var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.contact-icon svg{width:23px;height:23px}.contact-icon:hover{background:var(--blue-accent);color:var(--white);opacity:1;transform:translateY(-2px)}.contact-copy{color:var(--text-light);letter-spacing:.04em;font-size:12px}.site-footer{border-top:1px solid var(--blue-border);background:var(--blue-light);text-align:center;padding:24px}.footer-copy{color:var(--text-light);letter-spacing:.08em;font-size:11px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (max-width:860px){.gnav li a{padding:0 11px;font-size:12px}}@media (max-width:768px){.site-header{background:#f0f4fde6}.nav-toggle{z-index:200;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:5px;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.nav-toggle span{background:var(--blue-accent);transform-origin:50%;width:100%;height:1.5px;transition:transform .35s,opacity .35s;display:block}.nav-toggle.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.gnav{z-index:100;border-bottom:1px solid var(--blue-border);background:#f0f4fdfa;width:100%;display:none;position:absolute;top:52px;left:0}.gnav.is-open{display:block}.gnav ul{flex-direction:column;height:auto;padding:8px 0}.gnav li{width:100%}.gnav li a{border-bottom:1px solid var(--blue-border);text-align:center;height:48px;padding:0 24px;font-size:15px;line-height:48px}.gnav li:last-child a{border-bottom:none}.hero-slider{height:70vh;min-height:500px}.hero-title{font-size:52px}.hero-icons{gap:20px}.content-section,.contact-section{padding:60px 20px}.section-title{max-width:100%;margin-bottom:38px}.rooms-img,.rooms-text{width:100%}.rooms-desc{min-height:132px;padding:28px 16px;font-size:15px}.carousel-arrow{width:40px;height:40px;top:36%}.carousel-arrow--prev{left:10px}.carousel-arrow--next{right:10px}.amenity-block,.basic-block{padding:26px 24px}.price-table{font-size:15px}.price-table td,.pt-dots{padding:0 8px}}@media (max-width:520px){.hero-title{font-size:44px}.hero-icon-circle{width:48px;height:48px}.section-title{font-size:34px}.section-title span{font-size:15px}.place-block{padding:28px 16px}.price-table{font-size:13px}.price-table td{padding:0 4px}.pt-dots{padding:0 3px}.time-fields{grid-template-columns:1fr}.success-card{padding:32px 20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
