@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Shippori+Mincho:wght@400;500;600;700&display=swap";:root{--primary: #c5a059;--primary-light: #fef9f1;--primary-dark: #9a7b41;--secondary: #faf7f2;--accent: #e66a7a;--text-main: #333333;--text-muted: #666666;--white: #ffffff;--bg-light: #fafafa;--font-sans: "Noto Sans JP", sans-serif;--font-serif: "Shippori Mincho", serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 20px;--radius-full: 9999px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-main);background-color:var(--white);line-height:1.8;overflow-x:hidden}h1,h2,h3,h4,h5,.serif{font-family:var(--font-serif);line-height:1.4}a{text-decoration:none;color:inherit;transition:all .3s}a:hover{opacity:.8}ul{list-style:none}img{max-width:100%;display:block}.container{max-width:1140px;margin:0 auto;padding:0 1.5rem}.section-padding{padding:var(--spacing-lg) 0}.text-center{text-align:center}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.btn{display:inline-block;padding:1rem 2.5rem;border-radius:var(--radius-full);font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;text-align:center}.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-accent{background-color:var(--accent);color:var(--white);box-shadow:0 4px 15px #e66a7a4d}.bg-light{background-color:var(--bg-light)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.card{background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .3s}.section-title{margin-bottom:var(--spacing-lg)}.section-title h2{font-size:2.2rem;margin-bottom:1rem;position:relative;display:inline-block}.section-title h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50px;height:2px;background:var(--primary)}.grid{display:grid;gap:var(--spacing-md)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.section-padding{padding:3rem 0}.section-title h2{font-size:1.8rem}}#matching-banner{padding:4rem 0}.bg-gradient{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%)}.matching-content{background:#ffffff26;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:3rem 2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:800px;margin:0 auto}.matching-content h2{font-size:2rem;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.matching-content p{text-shadow:1px 1px 2px rgba(0,0,0,.2)}.matching-content .btn{font-weight:700;transition:transform .3s ease,background .3s ease,color .3s ease}.matching-content .btn:hover{transform:translateY(-3px);background:var(--text-color)!important;color:#fff!important;border-color:var(--text-color)!important}@media(max-width:768px){.matching-content{padding:2rem 1rem}.matching-content h2{font-size:1.5rem}}.matching-flow{display:flex;justify-content:center;align-items:center;gap:1rem;margin:2rem 0;flex-wrap:nowrap}.flow-step{flex:1;display:flex;flex-direction:column;align-items:center}.step-label{color:var(--white);font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.2rem;margin-bottom:.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.h-font{font-family:serif}.step-box{background:#ffffffe6;padding:1.5rem 1rem;border-radius:var(--radius-md);width:100%;min-height:140px;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 4px 6px #0000001a}.step-box h3{color:var(--primary);font-size:1rem;margin-bottom:.5rem;font-weight:700}.step-box p{color:var(--text-color);font-size:.85rem;line-height:1.4;margin:0;text-shadow:none}.flow-arrow{color:var(--white);font-size:1.5rem;opacity:.8}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-color)}.required{background:var(--accent);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;margin-left:.5rem;vertical-align:middle}.form-group input[type=text],.form-group select,.form-group textarea,.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number]{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:var(--radius-md);font-size:1rem}.radio-group{display:flex;gap:1.5rem;align-items:center}.radio-group label{font-weight:400;margin-bottom:0;cursor:pointer;display:flex;align-items:center;gap:.3rem}input[type=checkbox]{width:auto;margin-right:.5rem;transform:scale(1.2)}.box-center{display:flex;justify-content:center}@media(max-width:768px){.matching-flow{flex-direction:column;gap:1.5rem}.flow-arrow{transform:rotate(90deg)}.step-box{min-height:auto;padding:1.5rem}}.header{position:sticky;top:0;z-index:1000;background-color:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:var(--shadow-sm);transition:all .3s ease}.worry-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem}.worry-card{background:#fff;border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);text-align:center;position:relative}.worry-card:before{content:"💬";font-size:2rem;display:block;margin-bottom:.5rem}.worry-solution{background:#d4af371a;border:1px solid var(--primary);border-radius:var(--radius-md);padding:2rem;text-align:center}@media(max-width:768px){.worry-cards{grid-template-columns:1fr}}.comparison-table-wrapper{overflow-x:auto;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:2rem}.comparison-table{width:100%;border-collapse:collapse;min-width:600px}.comparison-table th,.comparison-table td{padding:1.5rem;text-align:center;border-bottom:1px solid #eee}.comparison-table th{background-color:var(--light-pink);color:var(--text);font-weight:700}.comparison-table tr:last-child td{border-bottom:none}.td-hapit{background-color:#d4af370d;font-weight:700}.th-hapit{background-color:var(--primary)!important;color:#fff!important;font-size:1.2rem}.mark-best{color:var(--accent);font-size:1.5rem;font-weight:700}.mark-good{color:var(--success);font-size:1.2rem}.mark-fair{color:var(--text-muted)}.faq-accordion details{background:#fff;border-radius:var(--radius-md);margin-bottom:1rem;box-shadow:var(--shadow-sm);overflow:hidden}.faq-accordion summary{padding:1.2rem 1.5rem;font-weight:700;color:var(--primary);cursor:pointer;list-style:none;position:relative}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary:after{content:"＋";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);color:var(--primary);transition:transform .3s ease}.faq-accordion details[open] summary:after{content:"－"}.faq-accordion .faq-answer{padding:0 1.5rem 1.5rem;color:var(--text);line-height:1.6}.header-inner{display:flex;justify-content:space-between;align-items:center}.nav-list{display:flex;gap:1.5rem;list-style:none;padding:0;margin:0}.nav-list a{text-decoration:none;color:var(--text-main);font-weight:500;transition:color .3s ease}.nav-list a:hover{color:var(--primary)}.header-btn{padding:.6rem 1.5rem;font-size:.95rem}@media(max-width:992px){.nav{display:none!important}}@media(max-width:768px){.header-inner{padding:.5rem 0;gap:.5rem}.logo h1{font-size:1.5rem!important}.logo div{font-size:.6rem!important}.header-btn{font-size:.8rem!important;padding:.6rem 1rem!important;white-space:nowrap!important;min-width:fit-content!important}}@media(max-width:480px){.logo h1{font-size:1.3rem!important}.header-btn{font-size:.7rem!important;padding:.5rem .8rem!important}}body{padding-bottom:70px}.sticky-cta-bar{position:fixed;bottom:0;left:0;width:100%;height:70px;z-index:1000;display:flex;box-shadow:0 -4px 15px #00000026;background:#fff}.sticky-cta-bar a{flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.8rem;text-decoration:none;font-weight:700;transition:background-color .3s,opacity .3s}.sticky-cta-bar a:hover{opacity:.9}.sticky-cta-line{background:#06c755;color:#fff;border-right:1px solid rgba(255,255,255,.1)}.sticky-cta-matching{background:var(--accent);color:#fff}.sticky-cta-reserve{background:var(--primary);color:#fff}.sticky-cta-icon{font-size:1.4rem;margin-bottom:.1rem}.sticky-cta-text-wrap{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.sticky-cta-main-text{font-size:1rem;line-height:1.2}.sticky-cta-sub-text{font-size:.75rem;font-weight:400;margin-top:.2rem}@media(max-width:480px){.sticky-cta-bar a{gap:.4rem}.sticky-cta-icon{font-size:1.1rem}.sticky-cta-main-text{font-size:.8rem}.sticky-cta-sub-text{font-size:.6rem}}.seo-hero-title{font-size:clamp(1.8rem,4vw,3rem);line-height:1.5;margin-bottom:1rem}.hero-tagline{font-size:1.25rem;font-weight:700}@media(max-width:768px){.logo .logo-title{font-size:1.5rem!important}}@media(max-width:480px){.logo .logo-title{font-size:1.3rem!important}}[hidden]{display:none!important}.skip-link{position:fixed;left:1rem;top:-6rem;z-index:3000;background:#fff;padding:.75rem 1rem;color:#333}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid #725322;outline-offset:4px}.text-link{text-decoration:underline;text-underline-offset:.25em;color:#76521e}.eyebrow{color:#76521e;font-size:.9rem;font-weight:700;letter-spacing:.06em;margin-bottom:.75rem}.consultation-hero{padding-top:130px;padding-bottom:60px}.consultation-hero h1{font-size:clamp(1.7rem,3.1vw,2.7rem);line-height:1.65;letter-spacing:.02em;margin-bottom:1.5rem}.consultation-hero .hero-lead{font-size:1rem;line-height:2;margin-bottom:1.5rem}.consultation-hero .hero-image img{width:100%;height:auto;object-fit:contain;border-radius:12px}.consultation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin:1.5rem 0 .75rem}.text-center .consultation-actions{justify-content:center}.consultation-note,.ibj-member-source{font-size:.875rem;line-height:1.8;color:#606060;margin:.75rem 0}.consultation-sticky .sticky-cta-reserve{background:#aa3a50;color:#fff;flex:1.2}.consultation-sticky .sticky-cta-line{background:#fff;color:#176236;border-left:1px solid #ddd}.consultation-sticky .sticky-cta-main-text{font-size:1rem}.consultation-sticky .sticky-cta-sub-text{font-size:.8rem}.consultation-sticky{height:auto;min-height:74px;padding-bottom:env(safe-area-inset-bottom)}.consultation-sticky a{padding:.85rem .5rem}body{padding-bottom:calc(85px + env(safe-area-inset-bottom))}.consultation-page{padding-top:90px}.form-container{max-width:760px}.consultation-panel{background:var(--primary-light);padding:2rem;border-radius:12px;border:1px solid #e6d7ba}.consultation-panel h2{margin-bottom:1rem}.local-support{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.local-support p{margin-bottom:1rem}.support-cards h3{color:#76521e;margin-bottom:1rem}.support-cards .card{text-align:left}.staff-section .card{max-width:100%}.staff-section .card>div>div{min-width:0!important}.consultation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;counter-reset:step;list-style:none;padding:0}.consultation-steps li{background:#fff;padding:1.5rem}.consultation-steps li:before{counter-increment:step;content:"0" counter(step);display:block;color:#76521e;font-size:1.5rem;margin-bottom:.75rem}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem}.article-card{padding:1.75rem;border:1px solid #e6d7ba;border-radius:8px;display:flex;flex-direction:column;gap:1rem}.article-card h3{font-size:1.2rem;line-height:1.7}.article-card:hover{background:var(--primary-light)}.article-body{max-width:780px;margin:0 auto;padding:3rem 1.5rem}.article-body h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.6;margin:1rem 0}.article-body section,.article-body aside{margin-top:3rem}.article-body h2{font-size:1.45rem;line-height:1.6;margin-bottom:1rem}.article-body p{margin-bottom:1.25rem}.article-body nav{font-size:.875rem;margin-bottom:2rem}.article-intro{font-size:1.1rem;line-height:2}.plain-list{list-style:disc;padding-left:1.5rem;margin:1rem 0}.plain-list li{margin-bottom:.65rem}.consultation-form-card fieldset{border:0;padding:0;margin-bottom:2rem;min-width:0}.consultation-form-card legend{font-size:1.2rem;font-weight:700;margin-bottom:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group input:not([type=radio]):not([type=checkbox]),.form-group select,.form-group textarea{width:100%;font-size:1rem;padding:.8rem;border:1px solid #aaa;border-radius:6px;box-sizing:border-box}.contact-options{display:flex;gap:2rem;margin:1rem 0}.contact-options input,.consent input{width:20px;height:20px;accent-color:#aa3a50}.contact-options label,.consent{display:flex;align-items:center;gap:.6rem;min-height:44px}.consent{align-items:flex-start;margin:1.5rem 0}.form-error{color:#a0152b;background:#fff3f3;padding:1rem;margin:1rem 0}.inquiry-reference{font-size:1.4rem;font-weight:700;letter-spacing:.1em;padding:1rem;background:var(--primary-light)}#inquiry-success p{margin:1rem 0}#inquiry-success .text-link{display:inline-block;margin-top:1.5rem}.reservation-intro{padding:2rem 0;background:#fff}.reservation-intro h2{font-size:1.5rem}.reservation-page main .section-padding{padding-top:2rem}.reservation-page .page-header h1{font-size:clamp(1.7rem,4vw,2.5rem)!important}.btn-accent{background:#aa3a50}@media(max-width:768px){.consultation-hero{padding-top:100px}.consultation-hero .hero-content{gap:1.5rem}.consultation-hero .hero-image,.desktop-break{display:none}.consultation-hero h1{font-size:1.8rem}.consultation-actions{align-items:stretch;flex-direction:column}.consultation-actions .text-link{text-align:center}.staff-section .card{padding:1.5rem!important}.staff-section .card>div{flex-direction:column}.local-support,.consultation-steps,.article-grid{grid-template-columns:1fr;gap:1.25rem}.consultation-form-card,.reservation-form-card{padding:1.25rem!important}.consultation-sticky .sticky-cta-main-text{font-size:.875rem}.consultation-sticky .sticky-cta-sub-text{font-size:.75rem}.reservation-page #submitBtn{width:100%;padding:1rem!important;font-size:1rem!important}.reservation-page .header-btn,.header-btn{font-size:.8rem;padding:.75rem 1rem}.consultation-panel{padding:1.25rem}.form-row{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.reservation-header{padding:4rem 0}.reservation-header h1{font-size:2.5rem}.reservation-card{padding:3rem;box-shadow:var(--shadow-md)}.reservation-datetime{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.reservation-page .form-group input[type=date]{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:var(--radius-md);font-size:1rem}.reservation-page .form-group :is(input:not([type=radio]),select,textarea){min-height:48px;min-width:0;max-width:100%;font-family:inherit}.reservation-page label:has(input[type=radio]){display:inline-flex;align-items:center;gap:.4rem;min-height:44px}.reservation-privacy{margin:3rem 0 2rem;padding:2rem;background:#f9f9f9;border-radius:8px;text-align:center}.reservation-privacy label{min-height:44px}.reservation-privacy input{flex-shrink:0}.reservation-page #submitBtn{font-size:1.2rem;padding:1.2rem 4rem;max-width:100%;white-space:normal}@media(max-width:600px){.reservation-page .container{padding-left:1rem;padding-right:1rem}.reservation-page .header-inner{gap:.75rem}.reservation-page .header-cta{min-width:0}.reservation-page .header-btn{white-space:normal!important;min-width:0!important;min-height:44px;display:flex;align-items:center;justify-content:center}.reservation-header{padding:2rem 0}.reservation-header h1{font-size:clamp(1.5rem,6vw,2rem)}.reservation-page .section-padding{padding:2rem 0}.reservation-card{padding:1.25rem 1rem}.reservation-datetime{grid-template-columns:minmax(0,1fr);gap:.75rem}.reservation-privacy{margin-top:2rem;padding:1rem;text-align:left}.reservation-page #submitBtn{width:100%;min-height:56px;font-size:1rem;padding:1rem .75rem}}
