:root{--header-height: 68px;--green-50: #f1f8e9;--green-100: #dcedc8;--green-200: #c8e6c9;--green-300: #a5d6a7;--green-400: #81c784;--green-500: #66bb6a;--green-600: #4caf50;--green-700: #388e3c;--sage: #87a878;--sage-light: #b5c9a8;--cream: #fafdf7;--warm-white: #f7faf4;--text-dark: #3a4a35;--text-mid: #5a6e52;--text-light: #8a9e80;--shadow-soft: 0 4px 24px rgba(100, 150, 90, .1);--shadow-card: 0 2px 16px rgba(100, 150, 90, .08);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 32px;--radius-xl: 48px;--font-serif: "Noto Serif JP", serif;--font-sans: "Noto Sans JP", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--cream);color:var(--text-dark);line-height:1.8;font-weight:300;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400}p{color:var(--text-mid);font-size:.95rem;text-wrap:pretty}li,dd,dt,label,button,a,h1,h2,h3,h4,span{text-wrap:pretty}a{text-decoration:none;color:inherit}img{max-width:100%}.container{max-width:1080px;margin:0 auto;padding:0 24px}.section-title,.section-title--single-line,.hero-title{max-inline-size:100%;overflow-wrap:normal;word-break:normal;text-wrap:pretty;line-break:strict}.desktop-copy{display:inline}.mobile-copy{display:none}.btn{display:inline-block;padding:14px 36px;border-radius:50px;font-family:var(--font-sans);font-size:.9rem;font-weight:400;letter-spacing:.05em;transition:all .3s ease;cursor:pointer;border:none;white-space:nowrap}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.65;pointer-events:none;transform:none;box-shadow:none}.btn-primary{background:linear-gradient(135deg,var(--green-400),var(--green-500));color:#fff;box-shadow:0 4px 20px #66bb6a59}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:linear-gradient(135deg,var(--green-500),var(--green-600));box-shadow:0 6px 28px #66bb6a73;transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--green-700);border:1.5px solid var(--green-300)}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--green-50);transform:translateY(-2px)}.btn-full{width:100%;text-align:center}.section-label{display:inline-block;font-size:.75rem;letter-spacing:.15em;color:var(--sage);text-transform:uppercase;margin-bottom:12px;font-family:var(--font-sans);white-space:nowrap}.section-title{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--text-dark);line-height:1.6;margin-bottom:16px}.section-title em{font-style:normal;color:var(--green-700)}.section-desc{color:var(--text-light);font-size:.95rem;margin-bottom:0}.section-header{text-align:center;margin-bottom:56px}.header{position:sticky;top:0;z-index:100;background:#fafdf7eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--green-100)}.header-inner{width:min(100%,1080px);margin:0 auto;padding:0 clamp(16px,4vw,24px);height:var(--header-height);display:flex;align-items:center;gap:12px;min-width:0}.logo{display:flex;align-items:center;gap:8px;min-width:0}.logo-leaf{font-size:1.3rem}.logo-text{font-family:var(--font-serif);font-size:1.05rem;color:var(--text-dark);letter-spacing:.05em;white-space:nowrap}.logo--inverted .logo-text{color:var(--green-100)}.nav-list{display:flex;list-style:none;gap:32px;align-items:center}.nav-list a{font-size:.88rem;color:var(--text-mid);transition:color .2s;white-space:nowrap}.nav-list a:hover{color:var(--green-700)}.nav-cta{background:var(--green-50);border:1px solid var(--green-300);padding:8px 20px;border-radius:50px;color:var(--green-700)!important;font-size:.85rem!important;transition:all .2s!important}.nav-cta:hover{background:var(--green-200)!important}.nav-group{display:flex;align-items:center;margin-left:auto;margin-right:20px}.header-sns-link{display:flex;align-items:center;justify-content:center;color:var(--text-mid);transition:color .2s,transform .2s}.header-sns-link:hover{color:var(--green-700);transform:translateY(-1px)}.header-sns-icon{width:22px;height:22px}.mobile-sns-link{display:flex!important;align-items:center;gap:8px}.hero{min-height:calc(100vh - var(--header-height));display:flex;align-items:flex-start;position:relative;overflow:hidden;padding:56px 24px 80px clamp(56px,7vw,120px);max-width:1080px;margin:0 auto;gap:20px}.hero-shapes{position:fixed;inset:0;pointer-events:none;z-index:-1}.shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35}.shape-1{width:500px;height:500px;background:radial-gradient(circle,var(--green-200),transparent);top:-100px;right:-100px;animation:float1 8s ease-in-out infinite}.shape-2{width:350px;height:350px;background:radial-gradient(circle,var(--green-100),transparent);bottom:100px;left:-80px;animation:float2 10s ease-in-out infinite}.shape-3{width:250px;height:250px;background:radial-gradient(circle,#dcedc8,transparent);top:50%;left:40%;animation:float3 12s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,20px) scale(1.05)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(15px,-15px)}}@keyframes float3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-10px,10px) scale(.95)}}.hero-content{flex:1;max-width:min(560px,100%);position:relative;min-width:0}.hero-heading-stage{position:relative;margin-bottom:24px;isolation:isolate;max-width:min(100%,32rem)}.hero-tagline{font-size:.85rem;letter-spacing:.2em;color:var(--sage);margin-bottom:20px}.hero-title{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.55;color:var(--text-dark);margin-bottom:0;position:relative;z-index:1}.hero-title-lead{display:inline-block;white-space:nowrap}.hero-title em{display:inline-block;white-space:nowrap;font-style:normal;color:var(--green-700);position:relative}.hero-title em:after{content:"";position:absolute;bottom:2px;left:0;right:0;height:3px;background:var(--green-200);border-radius:2px;z-index:-1}.hero-desc{font-size:1rem;line-height:2;color:var(--text-light);margin-bottom:40px;max-width:32rem}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.hero-illustration{position:absolute;top:50%;left:min(calc(100% - 120px),calc(100vw - 640px));display:flex;align-items:center;justify-content:center;width:600px;transform:translateY(-52%);pointer-events:none;z-index:-1}.hero-svg{width:100%;max-width:600px;animation:gentle-bob 6s ease-in-out infinite;filter:drop-shadow(0 8px 32px rgba(100,160,90,.18))}@keyframes gentle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.reassurance{background:var(--warm-white);padding:80px 0;position:relative}.reassurance:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green-200),transparent)}.reassurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.reassurance-card{background:#fff;border-radius:var(--radius-lg);padding:40px 32px;text-align:left;box-shadow:var(--shadow-card);border:1px solid var(--green-100);transition:transform .3s,box-shadow .3s;min-width:0}.reassurance-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.card-icon{font-size:2.2rem;margin-bottom:16px}.reassurance-card h3{font-size:1.05rem;color:var(--text-dark);margin-bottom:12px}.reassurance-card p{font-size:.88rem;line-height:1.9}.about{padding:100px 0}.about-inner{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:center}.about-image{display:flex;justify-content:center}.about-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,432px);margin:0 auto;padding:16px;box-sizing:border-box}.about-avatar{--about-photo-scale: 1.14;width:100%;max-width:400px;aspect-ratio:1 / 1;height:auto;position:relative;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.85),transparent 45%),linear-gradient(180deg,#f9fcf5 0%,var(--green-50) 55%,#d8e9d1 100%);display:flex;align-items:center;justify-content:center;border:4px solid var(--green-100);box-shadow:0 20px 44px #64965a2e,inset 0 1px #ffffffb8}.about-avatar:after{content:"";position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(255,255,255,.5);pointer-events:none;z-index:1}.about-avatar svg{width:min(85%,340px);height:auto;position:relative;z-index:0}.about-deco{position:absolute;border-radius:50%}.about-deco-1{width:80px;height:80px;background:var(--green-100);bottom:-16px;right:16px;opacity:.7}.about-deco-2{width:50px;height:50px;background:var(--green-200);top:-8px;left:24px;opacity:.5}.about-text p{margin-bottom:16px;font-size:.95rem;line-height:2}.about-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .28em}.about-title-lead{display:inline-block;white-space:nowrap}.about-title-highlight{display:inline-block;white-space:nowrap;font-style:normal;color:var(--green-700);position:relative}.about-title-highlight:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:3px;background:var(--green-200);border-radius:2px;z-index:-1}.about-signature{margin-top:28px;font-family:var(--font-serif);color:var(--sage);font-size:.95rem;letter-spacing:.05em}.about-photo{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(var(--about-photo-scale));transform-origin:50% 12%;display:block;position:relative;z-index:0}.service{padding:100px 0;background:var(--warm-white);position:relative}.service:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green-200),transparent)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-item{background:#fff;border-radius:var(--radius-md);padding:32px 28px;border:1px solid var(--green-100);transition:transform .3s,box-shadow .3s;text-align:left;min-width:0}.service-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.service-icon{font-size:1.8rem;margin-bottom:14px}.service-item h4{font-size:.95rem;color:var(--text-dark);margin-bottom:10px;font-family:var(--font-sans);font-weight:400}.service-item p{font-size:.85rem;line-height:1.9}.flow{padding:100px 0}.flow-steps{display:flex;align-items:flex-start;gap:0;max-width:860px;margin:0 auto}.flow-step{flex:1;text-align:center;padding:0 20px;min-width:0}.step-number{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--green-300),var(--green-400));color:#fff;font-size:1rem;font-family:var(--font-serif);margin-bottom:20px;box-shadow:0 4px 16px #66bb6a4d}.step-content h4{font-size:1rem;color:var(--text-dark);margin-bottom:10px;font-family:var(--font-sans);font-weight:400}.step-content p{font-size:.87rem;line-height:1.9}.flow-connector{flex:0 0 60px;height:2px;background:linear-gradient(90deg,var(--green-200),var(--green-300));margin-top:27px;border-radius:1px}.testimonials{padding:100px 0;background:var(--warm-white);position:relative}.testimonials:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green-200),transparent)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.testimonial-card{background:#fff;border-radius:var(--radius-md);padding:36px 32px;border:1px solid var(--green-100);position:relative;box-shadow:var(--shadow-card);text-align:left;min-width:0}.testimonial-card:before{content:"“";font-family:Georgia,serif;font-size:4rem;color:var(--green-200);position:absolute;top:12px;left:24px;line-height:1}.testimonial-text{font-size:.9rem;line-height:2;color:var(--text-mid);margin-bottom:20px;padding-top:24px}.testimonial-author{font-size:.8rem;color:var(--text-light);letter-spacing:.05em}.contact{padding:100px 0 120px}.contact-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}.contact-text p{font-size:.95rem;line-height:2;margin-bottom:36px}.contact-info{display:flex;flex-direction:column;gap:16px}.contact-info--offset{margin-top:3rem}.info-item{display:flex;gap:20px;align-items:baseline}.info-label{font-size:.78rem;color:var(--text-light);letter-spacing:.08em;min-width:36px}.info-value{font-size:.92rem;color:var(--text-mid)}.info-value--link{color:inherit;text-decoration:none}.info-value--link:hover{text-decoration:underline}.contact-deco{width:300px;margin-top:2rem;opacity:.85}.contact-deco svg{width:100%;height:auto;display:block}.contact-form-wrap{background:#fff;border-radius:var(--radius-lg);padding:48px 40px;box-shadow:var(--shadow-soft);border:1px solid var(--green-100);min-width:0}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.83rem;color:var(--text-mid);letter-spacing:.04em}.form-required{color:var(--sage);font-size:.75rem;margin-left:2px}.form-group input,.form-group select,.form-group textarea{background:var(--green-50);border:1.5px solid var(--green-100);border-radius:var(--radius-sm);padding:12px 16px;font-family:var(--font-sans);font-size:.9rem;color:var(--text-dark);outline:none;transition:border-color .2s,box-shadow .2s;resize:none;appearance:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green-400);box-shadow:0 0 0 3px #81c78426;background:#fff}.footer{background:var(--text-dark);padding:40px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer-copy{font-size:.78rem;color:var(--sage-light);opacity:.6;white-space:nowrap}.footer-nav{display:flex;gap:24px}.footer-nav a{font-size:.78rem;color:var(--sage-light);opacity:.7;transition:opacity .2s;white-space:nowrap}.footer-nav a:hover{opacity:1}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;background:none;border:none;padding:8px;z-index:200}.hamburger-line{width:22px;height:2px;background:var(--text-dark);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.hamburger.open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open .hamburger-line:nth-child(2){opacity:0}.hamburger.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:var(--header-height);left:0;right:0;height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));max-height:calc(100dvh - var(--header-height));background:#fafdf7f7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:20px 16px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-menu.open{display:flex}.mobile-menu-link{flex:0 0 auto;min-height:clamp(52px,8dvh,64px);width:min(100%,420px);margin:0 auto;display:flex;align-items:center;justify-content:center;padding:14px 20px;font-size:1.05rem;color:var(--text-dark);font-family:var(--font-serif);letter-spacing:.06em;line-height:1.4;text-align:center;border-radius:var(--radius-md);background:transparent;transition:color .2s,background-color .2s;text-wrap:balance}.mobile-menu-link:hover{color:var(--green-700);background:transparent}.mobile-menu .nav-cta{margin-top:8px;padding:12px 28px}.blog-section{padding-top:100px;padding-bottom:0}.blog-section-spacer{height:140px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{background:#fff;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--green-100);transition:transform .3s,box-shadow .3s;display:block}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.blog-card-thumb{aspect-ratio:16 / 9;overflow:hidden}.blog-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.blog-card:hover .blog-card-thumb img{transform:scale(1.04)}.blog-card-body{padding:24px 24px 28px}.blog-card-category{font-size:.75rem;color:var(--sage);letter-spacing:.1em;margin-bottom:8px}.blog-card-title{font-family:var(--font-serif);font-size:1rem;color:var(--text-dark);margin-bottom:12px;line-height:1.6}.blog-card-date{font-size:.78rem;color:var(--text-light)}.blog-post{padding:80px 0 140px}.blog-post-header{max-width:720px;margin:0 auto 48px;text-align:center}.blog-post-category{display:inline-block;font-size:.75rem;color:var(--sage);letter-spacing:.1em;margin-bottom:16px}.blog-post-title{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--text-dark);margin-bottom:16px;line-height:1.5}.blog-post-date{font-size:.82rem;color:var(--text-light)}.blog-post-eyecatch{max-width:720px;margin:0 auto 48px;border-radius:var(--radius-md);overflow:hidden}.blog-post-eyecatch img{width:100%;height:auto;display:block}.blog-post-content{max-width:720px;margin:0 auto;font-size:.95rem;line-height:2;color:var(--text-mid)}.blog-post-content h2{font-family:var(--font-serif);font-size:1.4rem;color:var(--text-dark);margin:2em 0 .8em}.blog-post-content h3{font-family:var(--font-serif);font-size:1.2rem;color:var(--text-dark);margin:1.8em 0 .6em}.blog-post-content p{margin-bottom:1.4em}.blog-post-content img{max-width:100%;height:auto;display:block;margin:1.8em auto;border-radius:var(--radius-sm)}.blog-post-content ul,.blog-post-content ol{padding-left:1.5em;margin-bottom:1.4em}.blog-post-content li{margin-bottom:.4em;color:var(--text-mid)}.blog-post-back{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--sage);margin-bottom:40px;transition:color .2s;white-space:nowrap}.blog-post-back:hover{color:var(--green-700)}.blog-empty{text-align:center;padding:80px 20px;color:var(--text-light)}.blog-empty p{font-size:.95rem}.faq-lead{font-size:.93rem;color:var(--text-light);margin-top:12px}.faq-body{max-width:720px;margin:0 auto;padding-bottom:40px}.faq-group{margin-bottom:56px}.faq-group-title{font-size:.8rem;letter-spacing:.15em;color:var(--sage);font-family:var(--font-sans);font-weight:400;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--green-100)}.faq-item{border-bottom:1px solid var(--green-100)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-sans);font-size:.95rem;color:var(--text-dark);line-height:1.6}.faq-question:hover{color:var(--green-700)}.faq-icon{flex-shrink:0;font-size:1.2rem;color:var(--sage);line-height:1;transition:transform .25s ease}.faq-question[aria-expanded=true] .faq-icon{transform:rotate(45deg)}.faq-answer{display:none;padding:0 4px 20px}.faq-question[aria-expanded=true]+.faq-answer{display:block}.faq-answer p{font-size:.93rem;line-height:2;color:var(--text-mid)}.faq-link{color:var(--green-700);text-decoration:underline;text-underline-offset:3px}.faq-cta{text-align:center;margin-top:64px}.faq-cta p{font-size:.93rem;color:var(--text-light);margin-bottom:24px}.fee-body{max-width:760px;margin:0 auto;padding-bottom:100px}.fee-lead{text-align:center;font-size:.95rem;color:var(--text-mid);line-height:2;margin-bottom:56px;white-space:normal}.fee-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px}.fee-card{border-radius:var(--radius-lg);padding:40px 32px;border:1px solid var(--green-100);position:relative}.fee-card--free{background:var(--warm-white)}.fee-card--regular{background:#fff;box-shadow:var(--shadow-soft)}.fee-card-label{display:inline-block;font-size:.72rem;letter-spacing:.12em;color:var(--sage);border:1px solid var(--sage-light);border-radius:50px;padding:3px 12px;margin-bottom:16px}.fee-card-title{font-size:1.1rem;color:var(--text-dark);margin-bottom:20px;font-family:var(--font-serif);font-weight:400}.fee-card-price{display:flex;align-items:baseline;gap:6px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--green-100)}.fee-price-num{font-family:var(--font-serif);font-size:2rem;color:var(--green-700);letter-spacing:-.02em}.fee-price-unit{font-size:.85rem;color:var(--text-light)}.fee-card-notes{padding-left:1.2em;display:flex;flex-direction:column;gap:8px}.fee-card-notes li{font-size:.88rem;color:var(--text-mid);line-height:1.8}.fee-notes{background:var(--green-50);border-radius:var(--radius-md);padding:32px 36px;margin-bottom:56px}.fee-notes h3{font-size:.9rem;color:var(--text-dark);font-family:var(--font-sans);font-weight:400;margin-bottom:14px}.fee-notes ul{padding-left:1.2em;display:flex;flex-direction:column;gap:6px}.fee-notes li{font-size:.88rem;color:var(--text-mid);line-height:1.8}.fee-cta{text-align:center}.fee-cta p{font-size:.95rem;color:var(--text-light);margin-bottom:24px;line-height:1.9}@media(max-width:600px){.fee-cards{grid-template-columns:1fr}}.booking-lead{margin-top:12px;color:var(--text-light);font-size:.97rem;line-height:1.8}.booking-guide{max-width:720px;margin:8px auto 24px;padding:28px 32px;border:1px solid var(--green-100);border-radius:20px;background:linear-gradient(180deg,#f6f8f2f5,#fffffff5);box-shadow:0 10px 30px #3c5a3c14}.booking-guide-title{margin:0 0 14px;font-size:1rem;font-family:var(--font-sans);font-weight:400;color:var(--text-dark)}.booking-steps{margin:0;padding-left:1.4em;color:var(--text-mid)}.booking-steps li{line-height:1.9}.booking-steps li+li{margin-top:8px}.booking-note{text-align:center;font-size:.75rem;color:var(--text-light);margin-bottom:60px}.booking-note-link{color:var(--green-700);text-decoration:underline;text-underline-offset:2px}.booking-btn{margin-top:20px;display:inline-block}.booking-sub{font-size:.85rem;color:var(--text-light);margin-top:12px;margin-bottom:0}.contact-form-label{font-size:.88rem;color:var(--text-light);margin-bottom:12px}.booking-cta-block{text-align:center;padding:40px 0 32px}.booking-open-btn{font-size:1.1rem;padding:16px 40px}.booking-cta-note{margin-top:12px;font-size:.88rem;color:var(--text-light)}@media(max-width:600px){.booking-guide{padding:22px 18px;border-radius:16px}}.page-shell{padding-bottom:0}.page-header{padding:60px 0 40px;text-align:center;border-bottom:1px solid var(--green-100);margin-bottom:64px}.legal-body{max-width:720px;margin:0 auto}.legal-body section{margin-bottom:48px}.legal-body h2{font-size:1rem;color:var(--text-dark);font-family:var(--font-sans);font-weight:400;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--green-100)}.legal-body p{font-size:.93rem;line-height:2;margin-bottom:12px}.legal-body ul{padding-left:1.5em;margin:10px 0}.legal-body ul li{font-size:.93rem;color:var(--text-mid);line-height:1.9;margin-bottom:4px}.legal-link{color:var(--green-700);text-decoration:underline;text-underline-offset:3px}.legal-updated{font-size:.82rem;color:var(--text-light);text-align:right;margin-top:48px;padding-top:24px;border-top:1px solid var(--green-100)}.tokusho-table{width:100%;border-collapse:collapse}.tokusho-table th,.tokusho-table td{padding:18px 20px;text-align:left;font-size:.92rem;border-bottom:1px solid var(--green-100);vertical-align:top;line-height:1.8}.tokusho-table th{width:32%;color:var(--text-light);font-family:var(--font-sans);font-weight:300;white-space:nowrap}.tokusho-table td{color:var(--text-mid)}.tokusho-note{font-size:.82rem;color:var(--text-light)}.form-error-msg{background:#fff8f8;border:1px solid #f5c6c6;border-radius:var(--radius-sm);padding:12px 16px;font-size:.85rem;color:#c05050;margin-top:8px}.thanks-body{max-width:720px;margin:0 auto;padding-bottom:100px}.thanks-card{background:linear-gradient(135deg,#ffffff,var(--green-50));border:1px solid var(--green-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:48px 40px;text-align:center}.thanks-card p+p{margin-top:12px}.thanks-lead{color:var(--text-dark);font-size:1rem;line-height:2}.thanks-note{color:var(--text-light);font-size:.9rem;line-height:1.9}.thanks-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:32px}.about-page-body{padding:3rem 0 4rem;display:flex;flex-direction:column;gap:3rem;max-width:720px;margin:0 auto}.about-profile-card{display:flex;align-items:center;gap:clamp(1.5rem,4vw,2.8rem);background:linear-gradient(135deg,var(--green-50),var(--warm-white));border:1px solid var(--green-100);border-radius:var(--radius-md);padding:clamp(1.5rem,4vw,2.3rem)}.about-profile-image-wrap{flex:0 1 300px;width:min(100%,300px);margin:0;padding:8px}.about-profile-avatar{max-width:none;--about-photo-scale: 1.18}.about-profile-label{font-size:.78rem;color:var(--sage);letter-spacing:.1em;margin-bottom:.25rem}.about-profile-name{font-family:var(--font-serif);font-size:1.5rem;color:var(--text-dark);margin-bottom:.15rem}.about-profile-name-en{font-size:.82rem;color:var(--text-light);letter-spacing:.1em}.about-profile-info{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;flex:1;justify-content:flex-start}.about-profile-name-block{flex:0 0 auto}.about-profile-meta{flex-shrink:0;display:flex;flex-direction:column;gap:.2rem;padding-top:1rem;border-top:1px solid var(--green-100);width:100%}.about-profile-meta-row{display:flex;gap:.75rem;font-size:.82rem;color:var(--text-light)}.about-profile-meta-row dt{flex-shrink:0;width:4.5em}.about-profile-meta-row dd{color:var(--text-mid)}.about-section-title{font-size:1.2rem;color:var(--text-dark);margin-bottom:1.1rem;padding-left:.75rem;border-left:3px solid var(--green-400)}.about-text-block{display:flex;flex-direction:column;gap:.9rem}.about-text-block p,.about-rich{font-size:.93rem;line-height:1.95;color:var(--text-mid)}.about-dl{display:flex;flex-direction:column;gap:0;border:1px solid var(--green-100);border-radius:var(--radius-sm);overflow:hidden}.about-dl-row{display:flex;border-bottom:1px solid var(--green-100)}.about-dl-row:last-child{border-bottom:none}.about-dl-row dt{flex-shrink:0;width:8em;padding:.8rem 1rem;background:var(--green-50);font-size:.85rem;font-weight:400;color:var(--text-mid);display:flex;align-items:center}.about-dl-row dd{padding:.8rem 1rem;font-size:.88rem;color:var(--text-mid);line-height:1.7;display:flex;align-items:center}.about-link{color:var(--green-700);text-decoration:underline;text-underline-offset:2px}.about-cta{text-align:center;padding:.5rem 0}.about-cta p{color:var(--text-mid);margin-bottom:1.25rem;font-size:.95rem;line-height:1.85}@media(max-width:480px){.about-profile-info{flex-direction:column;gap:1rem}.about-profile-card{flex-direction:column;text-align:center}.about-profile-image-wrap{flex:0 0 auto;width:min(100%,260px)}.about-cta p{font-size:.78rem;letter-spacing:-.02em}}.visit-lead{color:var(--text-mid);font-size:1rem;line-height:1.9;margin-top:.75rem}.visit-body{padding:3rem 0 4rem;display:flex;flex-direction:column;gap:3rem}.visit-message-card{background:linear-gradient(135deg,var(--green-50),var(--warm-white));border-left:4px solid var(--green-400);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:2rem 1.75rem}.visit-message-text{font-size:.95rem;line-height:2.1;color:var(--text-mid);margin-bottom:1.25rem}.visit-message-text strong{color:var(--text-dark);font-weight:600}.visit-rich{font-size:.95rem;line-height:2.1;color:var(--text-mid);margin-bottom:1.25rem}.visit-message-sign{font-family:var(--font-serif);color:var(--text-light);font-size:.88rem;text-align:right}.visit-section-title{font-size:1.2rem;color:var(--text-dark);margin-bottom:1.1rem;padding-left:.75rem;border-left:3px solid var(--green-400)}.visit-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.visit-list li{padding-left:1.5rem;position:relative;font-size:.92rem;color:var(--text-mid);line-height:1.75}.visit-list li:before{content:"✓";position:absolute;left:0;color:var(--green-500);font-size:.85rem}.visit-note{font-size:.9rem;color:var(--text-mid);line-height:1.85;padding:1rem 1.25rem;background:var(--warm-white);border-radius:var(--radius-sm);border:1px solid var(--green-100)}.visit-cta{text-align:center;padding:.5rem 0}.visit-cta p{color:var(--text-mid);margin-bottom:1.25rem;font-size:.95rem;line-height:1.85}@media(max-width:480px){.visit-lead,.visit-cta p{font-size:.78rem;letter-spacing:-.02em}}@media(max-width:980px){.hamburger{display:flex}.nav-list,.header-sns-link{display:none}}@media(max-width:1024px){.hero{padding:48px 24px 72px;gap:24px}.hero-illustration{width:min(520px,54vw);left:min(calc(100% - 96px),calc(100vw - 500px))}.reassurance-grid,.service-grid,.testimonials-grid,.blog-grid{gap:20px}.reassurance-card,.service-item,.testimonial-card{padding:32px 24px}}@media(max-width:860px){.desktop-copy{display:none!important}.mobile-copy{display:inline!important}.hero{align-items:center;flex-direction:column;min-height:auto;padding:44px clamp(18px,5vw,24px) 56px;text-align:center;gap:18px}.hero-content{position:relative;z-index:1;width:100%}.hero-heading-stage{position:static;width:100%;max-width:min(100%,24rem);margin-left:auto;margin-right:auto}.hero-title{font-size:clamp(1.72rem,8vw,2.4rem);line-height:1.42}.hero-desc{max-width:26rem;margin-left:auto;margin-right:auto;margin-bottom:32px}.hero-actions{justify-content:center;flex-direction:column;align-items:center;gap:12px}.hero-actions .btn{width:min(100%,22rem)}.hero-illustration{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:min(calc(100vw - 36px),calc(100svh - var(--header-height) - 48px),420px);height:auto;aspect-ratio:1 / 1;opacity:.5}.hero-svg{width:100%;height:100%}.reassurance-grid,.service-grid,.testimonials-grid,.blog-grid{grid-template-columns:1fr;gap:20px}.about-inner{grid-template-columns:1fr;gap:48px;text-align:left}.flow .section-header,.service .section-header{text-align:left}.flow-steps{flex-direction:column;align-items:flex-start;gap:12px}.flow-step{text-align:left}.flow-connector{width:2px;height:40px;margin-top:0;background:linear-gradient(180deg,var(--green-200),var(--green-300))}.contact-wrap{grid-template-columns:1fr;gap:48px}.contact-text{position:relative;overflow:hidden}.contact-deco{position:absolute;top:0;left:50%;transform:translate(-50%);width:min(380px,100%);height:min(380px,100%);margin-top:0;opacity:.45;pointer-events:none;z-index:0}.contact-text>:not(.contact-deco){position:relative;z-index:1}.faq-contact .booking-btn{display:block;width:fit-content;margin-left:auto;margin-right:auto}.contact-deco svg{width:100%;height:100%}.section-title--single-line{font-size:clamp(1.15rem,5vw,1.4rem);line-height:1.6;letter-spacing:-.01em;white-space:normal;text-wrap:pretty;overflow-wrap:normal;word-break:normal}.footer-inner{flex-direction:column;text-align:center}.footer-nav{justify-content:center}}@media(max-width:600px){.container,.header-inner{padding:0 16px}.section-label{font-size:.68rem;letter-spacing:.08em}.section-title{font-size:clamp(1.3rem,6vw,1.65rem);line-height:1.45}.logo-text{font-size:.94rem;letter-spacing:.03em}.btn{padding:12px 20px;font-size:.82rem}.booking-open-btn{font-size:.95rem;padding:14px 24px}.hero-tagline,.faq-lead,.booking-lead,.booking-cta-note,.fee-lead,.visit-lead,.legal-updated,.blog-empty p,.testimonial-author,.info-value{font-size:.82rem}.booking-note{font-size:.75rem}.booking-note .mobile-copy{display:inline-block!important;white-space:normal}.faq-question,.legal-body h2,.about-section-title,.visit-section-title,.fee-card-title,.blog-post-title{font-size:.95rem;line-height:1.5}.faq-question{gap:12px;padding:18px 2px}.form-group label{font-size:.78rem}.info-item{flex-direction:column;gap:4px}.info-label{min-width:auto}.about-dl-row{flex-direction:column}.about-dl-row dt{width:100%;padding-bottom:.35rem}.about-dl-row dd{padding-top:0}.tokusho-table,.tokusho-table tbody,.tokusho-table tr,.tokusho-table th,.tokusho-table td{display:block;width:100%}.tokusho-table tr{padding:16px 0;border-bottom:1px solid var(--green-100)}.tokusho-table th,.tokusho-table td{padding:0;border-bottom:none}.tokusho-table th{margin-bottom:8px}.blog-card-title{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blog-post-title{font-size:1.3rem}.blog-post-back{font-size:.8rem}.contact-form-wrap{padding:28px 20px}.footer-nav{gap:12px}.footer-copy{font-size:.74rem;white-space:normal}.mobile-menu-link{min-height:50px;padding:12px 18px;font-size:1rem;letter-spacing:.05em}}@media(max-width:480px){.hero{padding:36px 16px 48px}.hero-tagline{margin-bottom:16px;letter-spacing:.12em}.hero-title{font-size:clamp(1.56rem,9vw,1.95rem)}.hero-desc{font-size:.92rem;line-height:1.85}.logo-text{font-size:.88rem}.section-title--single-line{font-size:clamp(1.05rem,5.4vw,1.24rem)}.about-title{gap:.16em .22em}.reassurance-card,.service-item,.testimonial-card{padding:28px 20px}.mobile-menu{padding:16px 12px calc(20px + env(safe-area-inset-bottom))}}@media(max-width:360px){.section-title,.section-title--single-line,.hero-title,.reassurance-card h3,.service-item h4,.step-content h4,.testimonial-author{overflow-wrap:normal;word-break:normal;line-break:strict}.fee-lead,.fee-cta p,.booking-lead{font-size:.78rem;letter-spacing:-.02em}.booking-note{font-size:.72rem}}@media(max-width:389px){.section-label{letter-spacing:.06em}.hero-tagline{font-size:.76rem;letter-spacing:.1em}.hero-actions .btn{width:100%}.mobile-menu-link{font-size:.94rem}}@media(max-height:600px){.mobile-menu{padding-top:12px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.mobile-menu-link{font-size:.95rem;min-height:44px;padding:10px 16px}}
