.adsense-wrapper{margin:var(--spacing-md) 0;text-align:center;min-height:100px;display:flex;align-items:center;justify-content:center;position:relative}.adsense-wrapper .adsbygoogle{display:block;width:100%;max-width:100%}.adsense-test-ad{width:100%;max-width:100%;background:#ffffff;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1);font-family:Arial,sans-serif;cursor:pointer;transition:box-shadow .2s ease}.adsense-test-ad:hover{box-shadow:0 2px 6px rgba(0,0,0,.15)}.adsense-test-ad--rectangle{max-width:300px;margin:0 auto}.adsense-test-ad--horizontal{max-width:728px;margin:0 auto}.adsense-test-ad--horizontal .adsense-test-ad-content{flex-direction:row}.adsense-test-ad--vertical{max-width:160px;margin:0 auto}.adsense-test-ad--vertical .adsense-test-ad-content{flex-direction:column}.adsense-test-ad--vertical .adsense-test-ad-image{width:100%;height:200px}.adsense-test-ad-label{display:flex;align-items:center;justify-content:flex-end;padding:4px 8px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;font-size:11px;color:#70757a;gap:6px}.adsense-test-ad-badge{color:#70757a;font-weight:500}.adsense-test-ad-google{color:#4285f4;font-weight:500}.adsense-test-ad-content{display:flex;padding:12px;gap:12px;align-items:flex-start}.adsense-test-ad-image{flex-shrink:0;width:120px;height:90px;background:#f5f5f5;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}.adsense-test-ad-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f0f0,#e0e0e0)}.adsense-test-ad-image-placeholder svg{opacity:.5}.adsense-test-ad-text{flex:1;min-width:0}.adsense-test-ad-title{font-size:16px;font-weight:500;color:#1a73e8;line-height:1.3}.adsense-test-ad-description,.adsense-test-ad-title{margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.adsense-test-ad-description{font-size:14px;color:#3c4043;line-height:1.5}.adsense-test-ad-url{font-size:14px;color:#5f6368;line-height:1.4}.adsense-test-ad-footer{padding:6px 12px;background:#f8f9fa;border-top:1px solid #e0e0e0;font-size:10px;color:#70757a}.adsense-test-ad-info{display:flex;align-items:center;gap:6px}.adsense-test-ad-info-text{color:#70757a}.adsense-test-ad-info-separator{color:#dadce0}.adsense-placeholder{width:100%;min-height:100px;border:2px dashed var(--color-accent);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(201,169,110,.05),rgba(201,169,110,.1));display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);box-sizing:border-box}.adsense-placeholder-content{text-align:center;color:var(--color-text-secondary)}.adsense-placeholder-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.adsense-placeholder-text{font-family:var(--font-secondary)}.adsense-placeholder-text strong{display:block;font-size:1.1rem;color:var(--color-accent);margin-bottom:var(--spacing-sm);font-weight:600}.adsense-placeholder-info{font-size:.85rem;line-height:1.6;color:var(--color-text-secondary)}.adsense-placeholder-info>div{margin:.25rem 0;word-break:break-all}.adsense-placeholder-note{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-light);font-style:italic}.adsense-wrapper.adsense-placeholder-mode{min-height:150px}@media (max-width:768px){.adsense-wrapper{margin:var(--spacing-sm) 0;min-height:80px}.adsense-test-ad-content{flex-direction:column;padding:10px}.adsense-test-ad-image{width:100%;height:150px}.adsense-test-ad-title{font-size:15px}.adsense-test-ad-description,.adsense-test-ad-url{font-size:13px}.adsense-placeholder{min-height:120px;padding:var(--spacing-sm)}.adsense-placeholder-icon{font-size:2rem}.adsense-placeholder-text strong{font-size:1rem}.adsense-placeholder-info{font-size:.75rem}.adsense-placeholder-note{font-size:.7rem}.adsense-wrapper.adsense-placeholder-mode{min-height:120px}}.adsense-wrapper+.adsense-wrapper{margin-top:var(--spacing-lg)}.adsense-wrapper+.section,.section+.adsense-wrapper{margin-top:var(--spacing-xl)}.home{overflow-x:hidden}.hero,.home{min-height:100vh}.hero{position:relative;width:100%;height:auto;margin:0;padding-top:max(100px,env(safe-area-inset-top,0px));padding-bottom:var(--spacing-xxl);box-sizing:border-box;display:flex;align-items:flex-start;justify-content:center;background:var(--color-primary);color:var(--color-text-primary);overflow-x:clip}@supports (min-height:100dvh){.hero{min-height:100dvh}}.hero>.container{margin-top:auto;margin-bottom:auto;width:100%}.hero-background{top:0;left:0;right:0;bottom:0;background-color:var(--color-primary)}.hero-background,.hero-bg-img{position:absolute;width:100%;height:100%}.hero-bg-img{inset:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;z-index:0}.hero-background:after{content:"";background:linear-gradient(180deg,rgba(0,0,0,.15) 0,rgba(0,0,0,.25))}.hero-background:after,.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.hero-overlay{background:rgba(244,241,235,.04)}.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto;padding:var(--spacing-xxl) var(--spacing-md);width:100%;box-sizing:border-box;background:rgba(255,255,255,.15);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);border-radius:8px}.hero-content h1{font-size:4.5rem;margin-bottom:var(--spacing-sm);letter-spacing:-.05em;color:var(--color-text-primary)}.hero-content h1,.hero-title-main{font-weight:300;font-family:League Spartan,sans-serif}.hero-title-main{font-size:3.5rem;margin-bottom:.25em;letter-spacing:.02em;color:#ffffff;line-height:1.2}.hero-title-reading{font-size:1rem;margin-bottom:.5rem;letter-spacing:.2em;color:rgba(255,255,255,.9)}.hero-title-reading,.hero-title-sub{font-weight:400;font-family:var(--font-secondary),var(--font-japanese)}.hero-title-sub{font-size:1.1rem;letter-spacing:.15em;color:#ffffff}.hero-subtitle,.hero-title-sub{margin-bottom:var(--spacing-md)}.hero-subtitle{font-family:var(--font-secondary);font-size:.9rem;color:rgba(255,255,255,.8);letter-spacing:3px;text-transform:uppercase;font-weight:300}.hero-description{font-size:1rem;line-height:1.8;margin-bottom:var(--spacing-lg);color:rgba(255,255,255,.9);max-width:600px;margin-left:auto;margin-right:auto}.hero-price-banner{margin:1.25rem auto .75rem;text-align:center;background:rgba(255,255,255,.95);padding:1.1rem 1.5rem 1rem;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.18);border:2px solid #d4af37;max-width:340px}.hero-price-label{font-size:.78rem;color:var(--color-accent);font-weight:700;margin:0 0 .3rem;letter-spacing:.08em;font-family:var(--font-secondary),var(--font-japanese)}.hero-price-menu{font-size:1.05rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .4rem;letter-spacing:.06em;font-family:var(--font-primary)}.hero-price-wrapper{display:flex;align-items:baseline;justify-content:center;gap:2px;line-height:1}.hero-price-yen{font-size:1.4rem;font-weight:600}.hero-price-amount,.hero-price-yen{color:var(--color-accent);font-family:var(--font-primary)}.hero-price-amount{font-size:3rem;font-weight:700;line-height:1}.hero-price-unit{font-size:1.4rem;font-weight:600;color:var(--color-accent);font-family:var(--font-primary)}.hero-price-note{font-size:.78rem;color:#888;margin:.35rem 0 0;font-family:var(--font-secondary),var(--font-japanese)}.hero-review-badge{display:inline-block;background:rgba(255,255,255,.92);padding:.55rem 1.1rem;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.12);margin:0 auto 1.25rem}.hero-review-stars-row{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.95rem;margin-bottom:2px}.hero-review-stars{color:#D4AF37;font-size:.9rem;letter-spacing:1px}.hero-review-rating{font-size:1.2rem;font-weight:700;color:#D4AF37;font-family:var(--font-primary)}.hero-review-source{font-size:.72rem;color:#666;margin:0;text-align:center;font-family:var(--font-secondary),var(--font-japanese);letter-spacing:.03em}.hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;align-items:center}.hero-cta{font-size:1.1rem;padding:var(--spacing-lg) var(--spacing-xxl);letter-spacing:.5px}.section-label{font-family:var(--font-secondary);font-size:.8rem;color:var(--color-accent);letter-spacing:2px;text-transform:uppercase;font-weight:500;display:block;margin-bottom:var(--spacing-sm)}.about-section{background-color:var(--color-white)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl);align-items:center}.about-text h2{font-size:2.8rem;line-height:1.2}.about-text h2,.about-text p{margin-bottom:var(--spacing-lg)}.about-text p{font-size:1.1rem;line-height:1.8}.about-features{flex-direction:column;margin-top:var(--spacing-xl)}.about-features,.feature-item{display:flex;gap:var(--spacing-md)}.feature-item{align-items:center;font-family:var(--font-secondary);font-weight:500;color:var(--color-text-primary)}.feature-icon{font-size:1.2rem}.about-image{position:relative}.about-image-content{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.about-image-content,.image-placeholder{width:100%;height:400px;border-radius:var(--radius-lg);box-shadow:var(--shadow-medium)}.image-placeholder{background:var(--color-primary);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-family:var(--font-secondary);font-style:italic}.image-placeholder.small{height:200px}.menu-section{background-color:var(--color-background)}.section-header{text-align:center;margin-bottom:var(--spacing-xxl);max-width:720px;margin-left:auto;margin-right:auto}.section-header h2{margin-bottom:var(--spacing-md);font-size:2.2rem;word-break:keep-all;overflow-wrap:break-word}.section-header p{font-size:1.1rem;color:var(--color-text-secondary)}.section-header-description{white-space:nowrap;font-size:1.1rem}@media (max-width:480px){.section-header-description{white-space:nowrap;font-size:.75rem;line-height:1.4}}@media (max-width:320px){.section-header-description{font-size:.7rem}}.menu-categories{display:flex;flex-direction:column;gap:var(--spacing-xxl)}.menu-category{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-light)}.category-content-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl);align-items:center}.category-image-content,.category-text-content{display:flex;flex-direction:column}.category-image-content{position:relative;justify-content:center;align-items:center}.menu-category-image{width:100%;max-width:400px;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);transition:transform .3s ease,box-shadow .3s ease}.menu-category-image:hover{transform:scale(1.02);box-shadow:var(--shadow-large)}.menu-category-placeholder{width:100%;max-width:400px;height:300px;background:var(--color-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-family:var(--font-secondary);font-style:italic;box-shadow:var(--shadow-medium)}.recommend-menu .category-content-wrapper{grid-template-areas:"text image"}.mimitubo-menu .category-content-wrapper{grid-template-areas:"image text"}.ear-este-menu .category-content-wrapper{grid-template-areas:"text image"}.recommend-menu .category-text-content{grid-area:text}.recommend-menu .category-image-content{grid-area:image}.mimitubo-menu .category-text-content{grid-area:text}.mimitubo-menu .category-image-content{grid-area:image}.ear-este-menu .category-text-content{grid-area:text}.ear-este-menu .category-image-content{grid-area:image}.category-title{font-family:var(--font-primary);font-size:2rem;color:var(--color-text-primary);text-align:center;margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-accent);padding-bottom:var(--spacing-sm)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.menu-card{background:var(--color-primary);border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--color-border);transition:all .3s ease}.menu-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);border-color:var(--color-accent)}.menu-card.featured{background:linear-gradient(135deg,var(--color-accent) 0,#d4b276 100%);border-color:var(--color-accent)}.menu-card.featured,.menu-card.featured .menu-content h4,.menu-card.featured .menu-price{color:var(--color-white)}.menu-card.featured .menu-description,.menu-card.featured .menu-duration{color:rgba(255,255,255,.9)}.menu-image{height:120px;overflow:hidden}.menu-content{padding:var(--spacing-lg)}.menu-content h4{font-size:1.2rem;margin-bottom:var(--spacing-xs);color:var(--color-text-primary);line-height:1.4}.menu-duration{font-family:var(--font-secondary);font-size:.9rem;color:var(--color-text-light);margin-bottom:var(--spacing-xs)}.menu-price{font-family:var(--font-primary);font-size:1.8rem;font-weight:500;color:var(--color-accent)}.menu-description,.menu-price{margin-bottom:var(--spacing-sm)}.menu-description{line-height:1.6;color:var(--color-text-secondary);font-size:.9rem}.next-discount{background:rgba(255,255,255,.2);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;margin-top:var(--spacing-sm)}.menu-note,.next-discount{border-radius:var(--radius-sm);text-align:center}.menu-note{color:var(--color-accent);font-weight:500;font-size:.9rem;margin-top:var(--spacing-md);padding:var(--spacing-sm);background:rgba(201,169,110,.1)}.vision-section{background-color:var(--color-white)}.vision-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl);align-items:center}.vision-text h2{margin-bottom:var(--spacing-lg);font-size:2.8rem;line-height:1.2}.vision-text p{margin-bottom:var(--spacing-xl);font-size:1.1rem;line-height:1.8}.vision-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.stat-item{text-align:center}.stat-number{display:block;font-family:var(--font-primary);font-size:2.5rem;font-weight:500;color:var(--color-accent);margin-bottom:var(--spacing-xs)}.stat-label{font-family:var(--font-secondary);font-size:.9rem;color:var(--color-text-light);letter-spacing:1px;text-transform:uppercase}.empathy-section{background-color:var(--color-background)}.empathy-content{max-width:800px;margin:0 auto;text-align:center}.empathy-content h2{font-size:1.8rem;line-height:1.5;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.empathy-content p{font-size:1rem;line-height:1.8;color:var(--color-text-secondary)}.reasons-section{background-color:var(--color-white)}.reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl)}.reason-card{background:var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-light)}.reason-card h3{font-size:1.2rem;line-height:1.5;margin-bottom:var(--spacing-md);color:var(--color-text-primary);border-bottom:2px solid var(--color-accent);padding-bottom:var(--spacing-sm);word-break:keep-all;overflow-wrap:break-word}.reason-card p{font-size:1rem;line-height:1.8;color:var(--color-text-secondary)}.announcement-section{background-color:var(--color-background);padding:var(--spacing-xxl) 0}.announcement-card{max-width:900px;margin:0 auto;background-color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-medium)}.announcement-image{width:100%;height:auto;display:block;-o-object-fit:contain;object-fit:contain}.announcement-placeholder{width:100%;min-height:400px;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-size:.9rem;border-radius:var(--radius-lg)}.announcement-placeholder,.social-section{background-color:var(--color-background)}.fade-in{opacity:0;transform:translateY(30px);animation:fadeInUp .8s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (min-width:769px){.hero{padding-bottom:var(--spacing-sm)}.hero-content{padding:.8rem var(--spacing-md)}.hero-title-main{font-size:2.8rem;margin-bottom:.08em}.hero-title-reading{margin-bottom:.2rem}.hero-subtitle,.hero-title-sub{margin-bottom:.5rem}.hero-description{font-size:.95rem;margin-bottom:.75rem}.hero-price-banner{margin:.4rem auto .3rem;padding:.6rem 1.5rem .5rem}.hero-price-amount{font-size:2.2rem}.hero-price-unit{font-size:1.1rem}.hero-price-note{margin-top:.15rem}.hero-review-badge{margin:0 auto .4rem;padding:.3rem .9rem}.hero-actions{gap:var(--spacing-sm)}}@media (max-width:992px){.about-content,.vision-content{grid-template-columns:1fr;gap:var(--spacing-xl)}.vision-content{direction:rtl}.vision-content>*{direction:ltr}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.category-content-wrapper{grid-template-columns:1fr;gap:var(--spacing-lg)}.ear-este-menu .category-content-wrapper,.mimitubo-menu .category-content-wrapper,.recommend-menu .category-content-wrapper{grid-template-areas:"image" "text"}.menu-category-image{max-width:100%}}@media (max-width:768px){.empathy-content h2{font-size:1.3rem}.empathy-content p{font-size:.95rem}.reasons-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.reason-card h3{font-size:1rem}.announcement-card{border-radius:var(--radius-md)}.hero{padding-top:max(70px,env(safe-area-inset-top,0px));min-height:100vh;height:auto}@supports (min-height:100dvh){.hero{min-height:100dvh;height:auto}}.hero-content h1,.hero-title-main{font-size:2.5rem}.hero-title-reading{font-size:.85rem;letter-spacing:.15em}.hero-title-sub{letter-spacing:.1em}.hero-description,.hero-title-sub{font-size:.95rem}.hero-price-amount{font-size:2.4rem}.hero-price-unit{font-size:1.1rem}.hero-price-banner{padding:.6rem 1rem .5rem;max-width:280px;margin:.4rem auto .3rem}.hero-price-amount{font-size:2rem}.hero-title-reading{margin-bottom:.2rem}.hero-subtitle,.hero-title-sub{margin-bottom:.5rem}.hero-description{margin-bottom:.75rem}.hero-review-badge{margin:0 auto .4rem;padding:.3rem .9rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-cta{font-size:1rem;padding:var(--spacing-sm) var(--spacing-lg)}.about-text h2,.section-header h2,.vision-text h2{font-size:1.8rem}.menu-grid,.vision-stats{grid-template-columns:1fr}.vision-stats{gap:var(--spacing-md);text-align:center}.image-placeholder{height:300px}.category-content-wrapper{gap:var(--spacing-md)}.menu-category-placeholder{height:200px}.category-title{font-size:1.5rem;text-align:center}}@media (max-width:480px){.announcement-section{padding:var(--spacing-lg) 0}.announcement-card{border-radius:var(--radius-md)}.hero{padding-top:max(70px,env(safe-area-inset-top,0px));min-height:100vh;height:100vh}@supports (min-height:100dvh){.hero{min-height:100dvh;height:100dvh}}.hero-content{padding:var(--spacing-md) var(--spacing-sm)}.hero-content h1,.hero-title-main{font-size:2rem}.hero-title-reading{font-size:.8rem;letter-spacing:.1em}.hero-title-sub{font-size:.85rem;letter-spacing:.08em}.about-text h2,.section-header h2,.vision-text h2{font-size:1.1rem}.reason-card h3{font-size:.875rem}.about-content,.vision-content{gap:var(--spacing-lg)}.menu-content{padding:var(--spacing-md)}.stat-number{font-size:2rem}.courses-grid{gap:var(--spacing-lg);padding:0 var(--spacing-sm)}.course-image{height:350px}.course-title{font-size:1.2rem}.course-description{font-size:.9rem}.course-details{flex-direction:column;gap:var(--spacing-sm)}.course-duration,.course-price{flex-direction:row;justify-content:space-between;width:100%}}.section{opacity:0;transform:translateY(30px);transition:all .8s ease}.section.fade-in{opacity:1;transform:translateY(0)}.simplified-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.menu-image-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;box-shadow:var(--shadow-light)}.menu-image-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.menu-image{width:100%;height:522px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .3s ease}.menu-image-card:hover .menu-image{transform:scale(1.05)}.menu-image-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;padding:var(--spacing-lg);transform:translateY(100%);transition:transform .3s ease}.menu-image-card:hover .menu-image-overlay{transform:translateY(0)}.menu-image-overlay h3{margin:0 0 var(--spacing-xs) 0;font-size:1.2rem;font-weight:500}.menu-image-overlay p{margin:0;font-size:.9rem;opacity:.9}.menu-image-placeholder{width:100%;height:400px;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-size:.9rem}.courses-section,.menu-image-placeholder{background-color:var(--color-background)}.category-filter{display:flex;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xxl);flex-wrap:wrap}.filter-button{background:var(--color-white);border:2px solid var(--color-border);color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.filter-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-button.active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xxl)}.course-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-light);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.course-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.scroll-animate{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.scroll-animate.fade-in-up{opacity:1;transform:translateY(0)}.course-title{transition:opacity .6s ease .2s,transform .6s ease .2s}.scroll-animate:not(.fade-in-up) .course-title{opacity:0;transform:translateY(20px)}.scroll-animate.fade-in-up .course-title{opacity:1;transform:translateY(0)}.course-description{transition:opacity .6s ease .4s,transform .6s ease .4s}.scroll-animate:not(.fade-in-up) .course-description{opacity:0;transform:translateY(20px)}.scroll-animate.fade-in-up .course-description{opacity:1;transform:translateY(0)}.course-details{transition:opacity .6s ease .6s,transform .6s ease .6s}.scroll-animate:not(.fade-in-up) .course-details{opacity:0;transform:translateY(20px)}.scroll-animate.fade-in-up .course-details{opacity:1;transform:translateY(0)}.course-image{position:relative;height:300px;overflow:hidden}.course-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.course-card:hover .course-image img{transform:scale(1.05)}.course-content{padding:var(--spacing-lg)}.course-header-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.course-header-info h3{font-size:1.3rem;font-weight:500;color:var(--color-text-primary);margin:0;flex:1}.course-category{background-color:var(--color-accent);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;margin-left:var(--spacing-sm)}.course-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.course-details{display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-sm)}.course-duration,.course-price{display:flex;flex-direction:column;align-items:center}.detail-label{font-size:.8rem;color:var(--color-text-light);margin-bottom:var(--spacing-xs)}.detail-value{font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.no-courses{text-align:center;padding:var(--spacing-xxl);color:var(--color-text-secondary)}.no-courses h3{margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.courses-updating-notice{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);background:rgba(180,170,155,.15);border:1px solid rgba(180,170,155,.3);border-radius:8px;max-width:520px;margin:0 auto}.courses-updating-icon{font-size:2rem;margin-bottom:var(--spacing-md);opacity:.7}.courses-updating-text{font-size:1.1rem;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);letter-spacing:.08em;font-weight:500}.courses-updating-sub{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);letter-spacing:.03em;line-height:1.7}.shop-section{background-color:var(--color-white)}.shop-info-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl);align-items:start}.shop-info-details{display:flex;flex-direction:column;gap:var(--spacing-lg)}.info-card{background:linear-gradient(145deg,#ffffff,#fdf9f4);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 2px 4px rgba(44,44,44,.04),0 8px 24px rgba(44,44,44,.07),0 16px 40px rgba(201,169,110,.05);border-top:2px solid var(--color-accent);display:flex;align-items:flex-start;gap:var(--spacing-md);transition:transform .3s ease,box-shadow .3s ease}.info-card:hover{transform:translateY(-4px);box-shadow:0 4px 8px rgba(44,44,44,.06),0 16px 40px rgba(44,44,44,.1),0 24px 56px rgba(201,169,110,.08)}.info-icon{font-size:2rem;flex-shrink:0;margin-top:var(--spacing-xs)}.info-content h4{font-family:var(--font-primary);font-size:1.3rem;font-weight:500;margin:0 0 var(--spacing-sm);color:var(--color-text-primary)}.info-content p{font-family:var(--font-secondary);color:var(--color-text-secondary);margin:0 0 var(--spacing-xs);line-height:1.6}.map-container{width:100%;height:300px;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px rgba(0,0,0,.1)}.parking-section{background:var(--color-white)}.parking-photo-container{max-width:900px;margin:0 auto}.parking-image-wrapper{position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-medium)}.parking-image{width:100%;height:auto;-o-object-fit:cover;object-fit:cover;display:block}.route-section{background:var(--color-background)}.route-photo-container{max-width:900px;margin:0 auto}.route-image-wrapper{position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-medium)}.route-image{width:100%;height:auto;-o-object-fit:cover;object-fit:cover;display:block}.hours-section{background:var(--color-white)}.hours-content{max-width:800px;margin:0 auto}.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-xxl)}.hours-card{background:linear-gradient(145deg,#ffffff,#fdf9f4);padding:var(--spacing-xl);border-radius:var(--radius-lg);text-align:center;border-top:2px solid var(--color-accent);box-shadow:var(--shadow-light);transition:transform .3s ease,box-shadow .3s ease}.hours-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.hours-card h4{font-family:var(--font-primary);font-size:1.4rem;font-weight:500;margin:0 0 var(--spacing-md);color:var(--color-text-primary)}.hours-time{font-size:1.8rem;font-weight:600;color:var(--color-accent);margin:0 0 var(--spacing-sm)}.hours-note,.hours-time{font-family:var(--font-secondary)}.hours-note{color:var(--color-text-secondary);margin:0;font-size:.9rem}.hours-notes{background:rgba(201,169,110,.1);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid rgba(201,169,110,.2)}.hours-notes h4{font-family:var(--font-primary);font-size:1.2rem;font-weight:500;margin:0 0 var(--spacing-md);color:var(--color-text-primary)}.hours-notes ul{list-style:none;padding:0;margin:0}.hours-notes li{font-family:var(--font-secondary);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);padding-left:var(--spacing-lg);position:relative;line-height:1.6}.hours-notes li:before{content:"💡";position:absolute;left:0;top:0}.reserve-section{background-color:var(--color-background)}.contact-info{max-width:800px;margin:0 auto;text-align:center}.contact-info h4{font-family:var(--font-primary);font-size:1.2rem;font-weight:500;margin:0 0 var(--spacing-md);color:var(--color-text-primary)}.contact-info p{font-family:var(--font-secondary);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-md)}.contact-heading{display:flex;flex-direction:column;gap:.25rem}.contact-heading-line1,.contact-heading-line2{display:block}@media (min-width:769px){.contact-heading{flex-direction:row;gap:0}.contact-heading-line1:after{content:"・";margin:0 .25rem}.contact-heading-line1,.contact-heading-line2{display:inline}}.contact-info .btn-primary{background-color:var(--color-accent);color:var(--color-white);text-decoration:none;font-weight:500;border:none;cursor:pointer;transition:all .3s ease}.contact-info .btn-primary:hover{background-color:#b8956a;color:var(--color-white);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-medium)}.line-booking-text{display:inline-block}.line-booking-line1,.line-booking-line2{display:block}@media (min-width:769px){.line-booking-text{display:inline}.line-booking-line1:after{content:"・"}.line-booking-line1,.line-booking-line2{display:inline}}@media (max-width:768px){.simplified-menu-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.menu-image{height:522px}.menu-image-placeholder{height:350px}.courses-grid{grid-template-columns:1fr;gap:var(--spacing-xl);padding:0 var(--spacing-md)}.course-card{flex-direction:column;border-radius:var(--radius-md);overflow:hidden}.course-image{height:400px;width:100%;order:1}.course-content{order:2;padding:var(--spacing-lg)}.course-header-info{flex-direction:column;align-items:flex-start;margin-bottom:var(--spacing-md)}.course-title{font-size:1.4rem;margin-bottom:var(--spacing-xs)}.course-category{margin-left:0;margin-top:var(--spacing-xs);align-self:flex-start}.course-description{font-size:.95rem;line-height:1.7;margin-bottom:var(--spacing-md)}.course-details{flex-direction:row;justify-content:space-around;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-sm)}.course-duration,.course-price{flex-direction:column;align-items:center;flex:1}.detail-label{font-size:.75rem;margin-bottom:var(--spacing-xs)}.detail-value{font-size:1rem}.hours-grid,.shop-info-content{grid-template-columns:1fr}.parking-photo-container,.route-photo-container{padding:0 var(--spacing-md)}}@media (max-width:480px){.empathy-content h2{font-size:1.1rem}.reason-card{padding:var(--spacing-md)}}@media (max-width:320px){.hero-content h1,.hero-title-main{font-size:2rem!important;line-height:1.1!important}.hero-title-reading{font-size:.75rem!important}.hero-title-sub{font-size:.8rem!important}.hero-subtitle{font-size:.7rem!important;letter-spacing:1px!important}.hero-description{font-size:.8rem!important;line-height:1.5!important}.hero-actions{flex-direction:column;gap:.75rem}.btn-secondary,.hero-cta{padding:.625rem 1rem!important;font-size:.75rem!important;white-space:nowrap;width:100%;min-width:auto}.section-header h2{font-size:1.5rem!important}.section-label{font-size:.65rem!important}.courses-grid{gap:1rem!important;padding:0 .5rem!important}.course-card{border-radius:var(--radius-sm)}.course-image{height:250px!important}.course-content{padding:.75rem!important}.course-title{font-size:1rem!important;line-height:1.3!important}.course-description{font-size:.8rem!important;line-height:1.5!important}.course-details{padding:.625rem!important;gap:.5rem!important}.detail-label{font-size:.65rem!important}.detail-value{font-size:.85rem!important}.category-filter{gap:.375rem!important;flex-wrap:wrap;padding:0 .5rem}.filter-button{padding:.375rem .75rem!important;font-size:.7rem!important;white-space:nowrap}.shop-info-content{grid-template-columns:1fr!important;gap:1rem!important}.info-card{padding:1rem!important}.info-content h4{font-size:1rem!important}.info-content p{font-size:.85rem!important}.hours-grid{grid-template-columns:1fr!important;gap:1rem!important}.hours-card{padding:1rem!important}.hours-time{font-size:1.25rem!important}.contact-info{padding:0 .5rem}.contact-info h4{font-size:1rem!important}.contact-info p{font-size:.85rem!important}.contact-info .btn-primary{padding:.625rem 1rem!important;font-size:.75rem!important;width:100%;white-space:nowrap}.container{padding:0 .5rem!important}.section{padding:2rem .5rem!important}h1,h2,h3,h4{word-break:keep-all;overflow-wrap:break-word}.announcement-card{border-radius:var(--radius-sm)}.about-content{gap:1rem!important}.about-text h2{font-size:1.5rem!important}.about-text p{font-size:.85rem!important}}