:root{--primary-color: #2c3e50;--accent-color: #8b7355;--bg-color: #ffffff;--light-bg: #f8f6f3;--header-height: 70px;--text-secondary: #666}html{scroll-behavior:smooth}html,body{margin:0;width:100%;height:100%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;line-height:1.7;color:var(--primary-color);overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section{padding:80px 0}.section-title{text-align:center;margin-bottom:60px;font-size:2.5rem;font-weight:300;letter-spacing:.1em;color:var(--primary-color)}.bg-light{background-color:var(--light-bg)}.btn{display:inline-block;background:var(--accent-color);color:#fff;padding:15px 40px;border-radius:30px;margin-top:20px;transition:all .3s;font-weight:500;letter-spacing:.05em;border:2px solid var(--accent-color)}.btn:hover{background:transparent;color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #8b73554d}.btn-large{padding:18px 50px;font-size:1.1rem}.btn-outline{background:transparent;color:var(--accent-color);border:2px solid var(--accent-color);margin-left:15px}.btn-outline:hover{background:var(--accent-color);color:#fff}.header{background:#fffffff2;height:var(--header-height);display:flex;align-items:center;position:fixed;top:0;width:100%;z-index:1000;box-shadow:0 2px 10px #0000000d;backdrop-filter:blur(10px)}.header-container{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{display:flex;flex-direction:column;line-height:1.2}.logo-subtitle{font-size:.85rem;font-weight:400;letter-spacing:.15em;color:var(--accent-color);margin-bottom:2px}.logo-title{font-size:1.8rem;font-weight:300;letter-spacing:.2em;color:var(--primary-color)}.header-right{display:flex;align-items:center;gap:30px}.nav{display:flex}.nav-list{display:flex;gap:30px}.nav-list a{font-size:.95rem;letter-spacing:.05em;transition:color .3s;position:relative}.nav-list a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--accent-color);transition:width .3s}.nav-list a:hover{color:var(--accent-color)}.nav-list a:hover:after{width:100%}.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:5px;z-index:1001;position:relative}.menu-btn .bar{display:block;width:25px;height:2px;margin:5px auto;background-color:var(--primary-color);transition:all .3s ease;border-radius:2px}@media(min-width:769px){.nav{display:flex}.menu-btn{display:none}}.hero{height:100vh;background:linear-gradient(#2c3e5066,#2c3e504d),var(--hero-image) no-repeat center/cover;background-attachment:fixed;display:flex;align-items:center;text-align:center;color:#fff;margin-top:var(--header-height);position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#8b735533,#2c3e504d)}.hero .container{position:relative;z-index:1}.hero h1{font-size:3.5rem;margin-bottom:20px;font-weight:300;letter-spacing:.1em;line-height:1.4;text-shadow:2px 2px 10px rgba(0,0,0,.3)}.hero p{font-size:1.3rem;margin-bottom:30px;letter-spacing:.1em;text-shadow:1px 1px 5px rgba(0,0,0,.3)}.about-content{max-width:800px;margin:0 auto}.about-text{font-size:1.15rem;line-height:2.2;margin-bottom:2.5rem;text-align:center;color:var(--primary-color);letter-spacing:.08em}.about-text-last{margin-bottom:0;font-style:italic;color:var(--text-secondary)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:40px}.card{background:#fff;padding:40px 30px;border-radius:12px;box-shadow:0 4px 20px #00000014;text-align:center;transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.card-icon{font-size:3rem;margin-bottom:20px}.card h3{font-size:1.3rem;margin-bottom:15px;color:var(--primary-color);font-weight:400;letter-spacing:.05em}.card p{color:var(--text-secondary);line-height:1.8;font-size:.95rem}.plans-container{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:80px}.plan-category{text-align:center}.plan-category-title{font-size:2rem;font-weight:300;color:var(--primary-color);margin-bottom:20px;letter-spacing:.05em}.plan-category-desc{font-size:1.1rem;color:var(--text-secondary);line-height:2;margin-bottom:40px}.plan-card{background:#fff;padding:40px 30px;border-radius:12px;box-shadow:0 4px 20px #00000014;position:relative;transition:transform .3s,box-shadow .3s;max-width:500px;margin:0 auto}.plan-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.plan-card-featured{border:2px solid var(--accent-color);max-width:600px}.plan-card-subscription{max-width:700px}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent-color);color:#fff;padding:8px 20px;border-radius:20px;font-size:.85rem;font-weight:500;letter-spacing:.05em}.plan-name{font-size:1.5rem;color:var(--primary-color);font-weight:400;margin-bottom:20px;letter-spacing:.05em}.plan-price{margin-bottom:15px}.price-amount{font-size:2.5rem;font-weight:300;color:var(--accent-color);letter-spacing:.05em}.price-note{font-size:1rem;color:var(--text-secondary);margin-left:5px}.plan-note{font-size:.9rem;color:var(--text-secondary);margin-top:10px}.plan-discount{position:absolute;top:15px;right:15px;background:#ff6b6b;color:#fff;padding:5px 12px;border-radius:15px;font-size:.8rem;font-weight:600}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:25px;margin-top:30px}.plan-grid .plan-card{max-width:none}.subscription-plans{display:flex;justify-content:center;align-items:center;gap:30px;margin:30px 0}.subscription-item{flex:1;text-align:center}.subscription-divider{width:1px;height:60px;background:#e0e0e0}.subscription-item .plan-name{font-size:1.3rem;margin-bottom:15px}.subscription-item .price-amount{font-size:2rem}.plan-recommendation{font-size:.95rem;color:var(--text-secondary);margin-top:25px;padding-top:25px;border-top:1px solid #f0f0f0;line-height:1.8}.cancellation-policy{max-width:800px;margin:60px auto 0;padding:30px;background:#fff9f0;border-left:4px solid var(--accent-color);border-radius:8px}.policy-title{font-size:1.3rem;color:var(--primary-color);margin-bottom:20px;font-weight:400;letter-spacing:.05em}.policy-list{list-style:none;padding:0;margin:0}.policy-list li{padding:12px 0 12px 25px;position:relative;color:var(--text-secondary);line-height:1.8;font-size:.95rem}.policy-list li:before{content:"⚠";position:absolute;left:0;color:var(--accent-color);font-size:1rem}.notice-box{max-width:800px;margin:60px auto 0;padding:30px;background:#fff9f0;border-left:4px solid var(--accent-color);border-radius:8px}.notice-box h3{font-size:1.3rem;color:var(--primary-color);margin-bottom:15px;font-weight:400}.notice-box p{color:var(--text-secondary);line-height:2;margin-bottom:15px;font-size:.95rem}.notice-box p:last-child{margin-bottom:0}.items-to-bring{max-width:600px;margin:60px auto 0;padding:40px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014}.items-title{font-size:1.5rem;color:var(--primary-color);margin-bottom:30px;text-align:center;font-weight:400;letter-spacing:.05em}.items-list{list-style:none;padding:0}.items-list li{display:flex;align-items:center;padding:20px 0;border-bottom:1px solid #f0f0f0;font-size:1.1rem;color:var(--primary-color)}.items-list li:last-child{border-bottom:none}.item-number{display:inline-block;width:50px;height:50px;line-height:50px;text-align:center;background:var(--accent-color);color:#fff;border-radius:50%;margin-right:20px;font-weight:500;flex-shrink:0}.profile-content{max-width:900px;margin:0 auto}.profile-header{text-align:center;margin-bottom:50px;padding-bottom:30px;border-bottom:2px solid var(--light-bg)}.profile-image-wrapper{margin-bottom:30px;display:flex;justify-content:center}.profile-image{max-width:400px;width:100%;height:auto;border-radius:12px;box-shadow:0 4px 20px #0000001a;object-fit:cover}.profile-name{font-size:2.5rem;color:var(--primary-color);margin-bottom:10px;font-weight:300;letter-spacing:.1em}.profile-role{font-size:1.1rem;color:var(--text-secondary);letter-spacing:.05em}.profile-body{display:grid;gap:50px}.profile-story{line-height:2.2;color:var(--primary-color)}.profile-story p{margin-bottom:25px;font-size:1rem;letter-spacing:.05em}.profile-philosophy{font-size:1.2rem;font-style:italic;color:var(--accent-color);text-align:center;padding:30px;background:var(--light-bg);border-radius:8px;margin:40px 0}.profile-credentials{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 20px #00000014}.credentials-title{font-size:1.5rem;color:var(--primary-color);margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid var(--accent-color);font-weight:400;letter-spacing:.05em}.credentials-list{list-style:none;padding:0;margin-bottom:40px}.credentials-list li{padding:15px 0;border-bottom:1px solid #f0f0f0;line-height:1.8;color:var(--primary-color)}.credentials-list li:last-child{border-bottom:none}.year{display:inline-block;min-width:80px;font-weight:600;color:var(--accent-color);margin-right:10px}.note{display:block;margin-top:8px;font-size:.9rem;color:var(--text-secondary);font-style:italic}.ambassador-text{color:var(--text-secondary);margin-bottom:15px;line-height:1.8}.ambassador-list,.media-list{list-style:none;padding:0;margin-bottom:40px}.ambassador-list li,.media-list li{padding:10px 0 10px 25px;position:relative;color:var(--primary-color);line-height:1.8}.ambassador-list li:before,.media-list li:before{content:"▸";position:absolute;left:0;color:var(--accent-color)}.access-content{max-width:900px;margin:0 auto}.access-info{margin-bottom:40px}.access-intro{font-size:1.1rem;line-height:2.2;color:var(--primary-color);text-align:center;margin-bottom:40px;letter-spacing:.05em}.parking-info{background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 20px #00000014;max-width:600px;margin:0 auto}.parking-info h3{font-size:1.3rem;color:var(--primary-color);margin-bottom:15px;font-weight:400;letter-spacing:.05em}.parking-info p{color:var(--text-secondary);line-height:2;font-size:.95rem;margin-bottom:20px}.parking-image-wrapper{margin-top:20px;display:flex;justify-content:center}.parking-image{max-width:100%;width:100%;height:auto;border-radius:12px;box-shadow:0 4px 20px #0000001a;object-fit:cover}.access-map{margin-top:40px}.map-placeholder{background:var(--light-bg);padding:80px 40px;border-radius:12px;text-align:center;box-shadow:0 4px 20px #00000014}.map-placeholder p{font-size:1.2rem;color:var(--primary-color);margin-bottom:10px}.map-note{font-size:.9rem;color:var(--text-secondary);margin-top:15px}.contact-content{max-width:900px;margin:0 auto;text-align:center}.contact-intro{font-size:1.1rem;color:var(--text-secondary);margin-bottom:50px;line-height:2}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-bottom:50px}.contact-item{background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 15px #00000014}.contact-item h3{font-size:1.2rem;margin-bottom:15px;color:var(--primary-color);font-weight:400}.contact-item p{color:var(--text-secondary);line-height:1.8;margin-bottom:10px}.contact-hours{font-size:.9rem;color:#999;margin-top:10px}.contact-email{font-size:.9rem;color:var(--primary-color);margin-top:15px;margin-bottom:15px;font-weight:500;word-break:break-all}.contact-cta-item{margin-top:20px}.btn-email{padding:12px 30px;font-size:1rem}.contact-cta{margin-top:40px}.contact-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-top:40px}.contact-action-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 20px #00000014;text-align:center;transition:transform .3s,box-shadow .3s}.contact-action-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.contact-action-card h3{font-size:1.5rem;color:var(--primary-color);margin-bottom:20px;font-weight:400;letter-spacing:.05em}.contact-note{color:var(--text-secondary);line-height:1.8;margin-bottom:15px;font-size:1rem}.footer{background:var(--primary-color);color:#fff;text-align:center;padding:30px 0;font-size:.9rem;letter-spacing:.1em}.footer-content{display:flex;flex-direction:column;align-items:center;gap:20px}.social-links{display:flex;gap:20px;justify-content:center;align-items:center}.social-link{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;background:#ffffff1a;border-radius:50%;color:#fff;font-size:1.3rem;transition:all .3s ease;border:2px solid rgba(255,255,255,.2)}.social-link:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:transparent;transform:translateY(-3px);box-shadow:0 4px 15px #e1306c66}.btn-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border:2px solid transparent;color:#fff}.btn-instagram:hover{background:transparent;border-color:#dc2743;color:#dc2743;transform:translateY(-2px);box-shadow:0 4px 12px #dc27434d}.btn-instagram i{margin-right:8px}.btn-instagram svg{width:1em;height:1em;margin-right:8px;flex-shrink:0}.social-link svg{width:1.3em;height:1.3em}.inline-icon{display:inline-block;vertical-align:-.125em}@media(max-width:768px){.menu-btn{display:block}.nav{position:fixed;top:0;right:-100%;width:70%;height:100vh;background:var(--bg-color);box-shadow:-2px 0 10px #0000001a;display:flex;flex-direction:column;justify-content:center;transition:.3s;z-index:1000}.nav.active{right:0}.nav-list{flex-direction:column;align-items:center;gap:30px}.hero{background-attachment:scroll;height:80vh}.hero h1{font-size:2rem}.hero p{font-size:1rem}.section-title{font-size:2rem}.section{padding:60px 0}.about-text{font-size:1rem;line-height:1.8;margin-bottom:1.5rem}.grid,.plan-grid{grid-template-columns:1fr;gap:20px}.plan-card{max-width:100%}.subscription-plans{flex-direction:column;gap:20px}.subscription-divider{width:60px;height:1px}.plans-container{gap:60px}.contact-info{grid-template-columns:1fr}.btn-outline{margin-left:0;margin-top:15px;display:block}.profile-name{font-size:2rem}.profile-body{gap:30px}.profile-credentials{padding:25px}.credentials-list li{font-size:.9rem}.year{min-width:70px;font-size:.9rem}.access-intro{font-size:1rem}.notice-box{padding:20px;margin-top:40px}.items-to-bring{padding:30px 20px;margin-top:40px}.items-list li{font-size:1rem;padding:15px 0}.item-number{width:40px;height:40px;line-height:40px;font-size:.9rem;margin-right:15px}.logo-subtitle{font-size:.75rem}.logo-title{font-size:1.5rem}.profile-image,.parking-image{max-width:100%}.contact-actions{grid-template-columns:1fr;gap:20px}.contact-action-card{padding:30px 20px}.footer-content{gap:15px}.social-link{width:40px;height:40px;font-size:1.1rem}}
