:root{--color-primary:#8e4256;--color-primary-dark:#6b2d3e;--color-primary-light:#fcf3f5;--color-accent:#7a8d9a;--color-text:#2d3748;--color-text-light:#64748b;--color-title:#0f172a;--color-bg:#fff;--color-bg-alt:#f8fafc;--color-border:#e2e8f0;--color-white:#fff;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:6rem;--container-max-width:1200px;--header-height:80px;--header-height-mobile:70px;--border-radius-sm:6px;--border-radius-md:12px;--border-radius-lg:24px;--border-radius-xl:32px;--border-radius-full:9999px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{color:var(--color-text,#333);background-color:var(--color-bg,#fff);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--color-title,#111);font-weight:700;line-height:1.3}a{color:inherit;text-decoration:none;transition:color .3s,opacity .3s}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit;background:0 0;border:none}button{cursor:pointer}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0;width:100%}address{font-style:normal}.container{width:100%;max-width:var(--container-max-width);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);margin-left:auto;margin-right:auto}.text-center{text-align:center}section{padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-4xl)}@media (width<=768px){section{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}}.header{width:100%;height:var(--header-height);-webkit-backdrop-filter:blur(10px);z-index:1000;transition:background-color var(--transition-normal), height var(--transition-normal);background-color:#ffffffd9;border-bottom:1px solid #e2e8f0cc;position:fixed;top:0;left:0}.header.scrolled{height:70px;box-shadow:var(--shadow-md);background-color:#fffffff2}.header-container{height:100%;max-width:var(--container-max-width);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);justify-content:space-between;align-items:center;margin-left:auto;margin-right:auto;display:flex}.logo a{align-items:center;gap:12px;text-decoration:none;display:flex}.logo img{width:auto;height:44px;transition:height var(--transition-normal)}.logo-text{color:var(--color-title);letter-spacing:.05em;white-space:nowrap;transition:font-size var(--transition-normal);font-family:Noto Sans JP,sans-serif;font-size:1.25rem;font-weight:700}.header.scrolled .logo img{height:36px}.header.scrolled .logo-text{font-size:1.15rem}@media (width<=768px){.logo-text{font-size:1.1rem}}@media (width<=480px){.logo a{gap:8px}.logo img{height:34px}.logo-text{font-size:.95rem}}.nav-menu{align-items:center;display:flex}.nav-list{align-items:center;gap:var(--spacing-xl);display:flex}.nav-link{font-size:var(--font-size-base);color:var(--color-text);padding:var(--spacing-xs) 0;font-weight:600;position:relative}.nav-link:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width var(--transition-normal);position:absolute;bottom:0;left:0}.nav-link:hover{color:var(--color-primary)}.nav-link:hover:after{width:100%}.nav-btn{background-color:var(--color-primary);color:var(--color-white);border-radius:var(--border-radius-full);font-weight:700;font-size:var(--font-size-sm);transition:background-color var(--transition-normal), transform var(--transition-fast);box-shadow:var(--shadow-sm);padding:10px 24px;display:inline-block}.nav-btn:hover{background-color:var(--color-primary-dark);color:var(--color-white);box-shadow:var(--shadow-md);transform:translateY(-2px)}.nav-toggle{z-index:1010;flex-direction:column;justify-content:space-between;width:30px;height:21px;display:none}.nav-toggle-bar{background-color:var(--color-title);border-radius:var(--border-radius-sm);width:100%;height:3px;transition:transform var(--transition-normal), opacity var(--transition-normal)}@media (width<=992px){.nav-toggle{display:flex}.nav-menu{background-color:var(--color-white);width:280px;height:100vh;box-shadow:var(--shadow-xl);padding:100px var(--spacing-xl) var(--spacing-xl);transition:right var(--transition-slow);z-index:1005;flex-direction:column;align-items:flex-start;position:fixed;top:0;right:-100%}.nav-menu.active{right:0}.nav-list{align-items:flex-start;gap:var(--spacing-lg);flex-direction:column;width:100%}.nav-item{width:100%}.nav-link{width:100%;font-size:var(--font-size-lg);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);display:block}.nav-btn{text-align:center;margin-top:var(--spacing-md);width:100%;display:block}.nav-toggle.active .nav-toggle-bar:first-child{transform:translateY(9px)rotate(45deg)}.nav-toggle.active .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle.active .nav-toggle-bar:nth-child(3){transform:translateY(-9px)rotate(-45deg)}}.hero{height:100vh;min-height:600px;color:var(--color-white);padding-top:var(--header-height);background-position:50%;background-repeat:no-repeat;background-size:cover;align-items:center;display:flex;position:relative}.hero-container{width:100%;max-width:var(--container-max-width);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);z-index:10;margin-left:auto;margin-right:auto}.hero-content{max-width:650px}.hero-subtitle{font-family:Outfit,sans-serif;font-size:var(--font-size-sm);letter-spacing:.15em;color:var(--color-primary-light);margin-bottom:var(--spacing-md);text-transform:uppercase;font-weight:800;display:inline-block}.hero-title{font-size:var(--font-size-5xl);color:var(--color-white);margin-bottom:var(--spacing-lg);text-shadow:0 4px 12px #0000004d;font-weight:800;line-height:1.2}.hero-description{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);color:#ffffffe6;text-shadow:0 2px 4px #0003;line-height:1.8}.hero-actions{gap:var(--spacing-md);display:flex}.btn-primary{color:var(--color-white);border-radius:var(--border-radius-full);transition:background-color var(--transition-normal), transform var(--transition-fast);background-color:#722d3e;padding:16px 36px;font-weight:700;display:inline-block;box-shadow:0 4px 14px #722d3e40}.btn-primary:hover{background-color:#511d29;transform:translateY(-3px);box-shadow:0 6px 20px #511d2966}.btn-secondary{color:var(--color-white);border-radius:var(--border-radius-full);-webkit-backdrop-filter:blur(5px);transition:background-color var(--transition-normal), transform var(--transition-fast), border-color var(--transition-normal);background-color:#0f172aa6;border:1px solid #fff6;padding:16px 36px;font-weight:700;display:inline-block}.btn-secondary:hover{background-color:#0f172ad9;border-color:#ffffffe6;transform:translateY(-3px)}@media (width<=768px){.hero-title{font-size:var(--font-size-3xl)}.hero-description{font-size:var(--font-size-base)}.hero-actions{gap:var(--spacing-sm);flex-direction:column}.btn-primary,.btn-secondary{text-align:center;width:100%}}.intro{background-color:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.section-title-alt{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg);color:var(--color-title);display:inline-block;position:relative}.lead{font-size:var(--font-size-lg);color:var(--color-text-light);max-width:900px;margin-left:auto;margin-right:auto;line-height:1.8}@media (width<=768px){.section-title-alt{font-size:var(--font-size-2xl)}.lead{font-size:var(--font-size-base)}}.section-header{text-align:center;margin-bottom:var(--spacing-3xl)}.section-subtitle{font-family:Outfit,sans-serif;font-size:var(--font-size-sm);letter-spacing:.15em;color:var(--color-primary);text-transform:uppercase;margin-bottom:var(--spacing-sm);font-weight:800;display:block}.section-title{font-size:var(--font-size-4xl);color:var(--color-title);font-weight:700}.section-divider{background-color:var(--color-primary);width:60px;height:4px;margin:var(--spacing-md) auto 0;border-radius:var(--border-radius-full)}@media (width<=768px){.section-header{margin-bottom:var(--spacing-xl)}.section-title{font-size:var(--font-size-2xl)}}.business-grid{gap:var(--spacing-2xl);grid-template-columns:repeat(3,1fr);display:grid}.business-card{background-color:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:transform var(--transition-normal), box-shadow var(--transition-normal);flex-direction:column;display:flex;overflow:hidden}.business-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-5px)}.card-img-wrapper{width:100%;height:240px;position:relative;overflow:hidden}.card-img-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.business-card:hover .card-img-wrapper img{transform:scale(1.05)}.card-content{padding:var(--spacing-xl);flex-direction:column;flex-grow:1;display:flex}.card-header-row{align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.card-num{font-family:Outfit,sans-serif;font-size:var(--font-size-3xl);color:#8c2b0126;font-weight:800;line-height:1}.card-title{font-size:var(--font-size-xl);color:var(--color-title);font-weight:700;line-height:1.3}.card-text{font-size:var(--font-size-base);color:var(--color-text-light);line-height:1.7}@media (width<=992px){.business-grid{gap:var(--spacing-lg);grid-template-columns:1fr}}.company{background-color:var(--color-bg-alt);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.company-wrapper{background-color:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);overflow:hidden}.company-table{width:100%}.company-table th,.company-table td{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);text-align:left}.company-table tr:last-child th,.company-table tr:last-child td{border-bottom:none}.company-table th{width:25%;color:var(--color-title);border-right:1px solid var(--color-border);vertical-align:top;background-color:#8c2b0105;font-weight:700}.company-table td{color:var(--color-text);line-height:1.8}@media (width<=768px){.company-table th,.company-table td{border-right:none;display:block;width:100%!important}.company-table th{padding-bottom:var(--spacing-xs);background-color:#8c2b010d}.company-table td{padding-top:var(--spacing-xs)}}.access-container{gap:var(--spacing-2xl);background-color:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);display:flex;overflow:hidden}.access-map{width:50%}.access-map iframe{border:none;height:100%;min-height:450px;display:block}.access-info{width:50%;padding:var(--spacing-2xl);flex-direction:column;justify-content:center;display:flex}.access-info-title{font-size:var(--font-size-2xl);color:var(--color-title);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-xs);font-weight:700;position:relative}.access-info-title:after{content:"";background-color:var(--color-primary);width:40px;height:3px;position:absolute;bottom:0;left:0}.access-info-list{margin-bottom:var(--spacing-xl)}.access-info-list li{margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.access-info-list li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.info-label{font-size:var(--font-size-xs);color:var(--color-primary);text-transform:uppercase;margin-bottom:2px;font-weight:700;display:block}.info-val{font-size:var(--font-size-base);color:var(--color-text);line-height:1.6}.access-note{font-size:var(--font-size-sm);color:#c53030;padding:var(--spacing-md);border-radius:var(--border-radius-md);background-color:#fff5f5;border:1px solid #fed7d7;line-height:1.6}.access-note i{margin-right:var(--spacing-xs)}@media (width<=992px){.access-container{flex-direction:column}.access-map,.access-info{width:100%}.access-map iframe{min-height:350px}.access-info{padding:var(--spacing-xl)}}.contact-cta{background-color:var(--color-title);color:var(--color-white);text-align:center;background-image:linear-gradient(135deg,#1a2632,#2c3a47);position:relative;overflow:hidden}.cta-title{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md);color:var(--color-white);font-weight:800;line-height:1.4}.cta-text{font-size:var(--font-size-lg);color:#fffc;margin-bottom:var(--spacing-2xl);max-width:700px;margin-left:auto;margin-right:auto}.btn-cta{background-color:var(--color-white);color:var(--color-primary);border-radius:var(--border-radius-full);font-weight:700;font-size:var(--font-size-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-normal), color var(--transition-normal);padding:18px 48px;display:inline-block;box-shadow:0 4px 20px #0003}.btn-cta:hover{background-color:var(--color-primary);color:var(--color-white);transform:translateY(-3px);box-shadow:0 6px 30px #e5006d66}.btn-cta i{margin-right:var(--spacing-sm)}@media (width<=768px){.cta-title{font-size:var(--font-size-xl)}.cta-text{font-size:var(--font-size-base)}.btn-cta{font-size:var(--font-size-base);width:100%;padding:14px 28px}}.footer{padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-2xl);border-top:1px solid var(--color-border);background-image:url(/assets/modest_under-lxZ3jcEo.png);background-position:bottom;background-repeat:no-repeat;background-size:cover}.footer-container{justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl);display:flex}.footer-profile{max-width:550px;padding:var(--spacing-xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);background-color:#fffffff2;border:1px solid #ffffff80;flex:1}.footer-logo-wrapper{margin-bottom:var(--spacing-md);align-items:center;gap:12px;display:flex}.footer-logo-img{width:auto;height:38px}.footer-logo-text{color:var(--color-title);letter-spacing:.05em;white-space:nowrap;font-family:Noto Sans JP,sans-serif;font-size:1.25rem;font-weight:800}@media (width<=480px){.footer-logo-wrapper{gap:8px}.footer-logo-img{height:30px}.footer-logo-text{font-size:1.1rem}}.footer-address{line-height:1.8;font-size:var(--font-size-sm);color:var(--color-text)}.footer-nav{gap:var(--spacing-3xl);box-shadow:none;background-color:#0000;border:none;border-radius:0;padding:0;display:flex}.footer-nav-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.footer-link{color:var(--color-title);font-weight:700;font-size:var(--font-size-sm);transition:color var(--transition-fast);text-underline-offset:3px;text-decoration:underline}.footer-link:hover{color:var(--color-primary);text-decoration:underline}.footer-bottom{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);font-size:var(--font-size-xs);color:var(--color-text-light);background-color:#0000;border-top:1px solid #00000014}@media (width<=768px){.footer-container{align-items:stretch;gap:var(--spacing-xl);flex-direction:column}.footer-nav{width:100%;padding-top:var(--spacing-md);border-top:1px solid #00000014}.footer-profile{width:100%;max-width:100%;padding:var(--spacing-lg)}}.animate-fade-in{opacity:0;animation:1s ease-out forwards fadeIn}.animate-fade-in-up{opacity:0;animation:1s ease-out .2s forwards fadeInUp;transform:translateY(30px)}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.scroll-reveal{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translateY(40px)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.page-sub{background-color:var(--color-white)}.sub-main{padding-top:var(--header-height)}.sub-header{padding:var(--spacing-2xl) 0;color:var(--color-white);text-align:center;background-position:50%;background-size:cover;position:relative}.sub-header-eng{font-family:Outfit,sans-serif;font-size:var(--font-size-sm);letter-spacing:.2em;color:var(--color-primary-light);text-transform:uppercase;margin-bottom:var(--spacing-xs);font-weight:800;display:block}.sub-header-title{font-size:var(--font-size-3xl);color:var(--color-white);margin-bottom:var(--spacing-sm);font-weight:700}.breadcrumb{font-size:var(--font-size-sm);color:#ffffffb3}.breadcrumb a{color:#ffffffe6;font-weight:600}.breadcrumb a:hover{color:var(--color-white);text-decoration:underline}.breadcrumb i{margin:0 var(--spacing-xs);font-size:10px}.contact-section{background-color:var(--color-bg-alt)}.form-wrapper{background-color:var(--color-white);max-width:750px;padding:var(--spacing-3xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);margin:0 auto}@media (width<=768px){.form-wrapper{padding:var(--spacing-lg)}}.form-intro{font-size:var(--font-size-base);color:var(--color-text-light);margin-bottom:var(--spacing-2xl);text-align:center;line-height:1.8}.contact-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-title);font-weight:700}.badge-required{background-color:var(--color-accent);color:var(--color-white);margin-left:var(--spacing-xs);border-radius:3px;padding:2px 6px;font-size:11px;font-weight:700}.form-control{width:100%;font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:12px 16px}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #8c2b0126}.form-textarea{resize:vertical;min-height:180px}.form-group-checkbox{margin:var(--spacing-md) 0}.checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-sm);color:var(--color-text);align-items:center;display:inline-flex;position:relative}.checkbox-container input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{background-color:var(--color-white);border:1px solid var(--color-border);width:20px;height:20px;margin-right:var(--spacing-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast);border-radius:4px;display:inline-block;position:relative}.checkbox-container:hover input~.checkmark{border-color:var(--color-primary)}.checkbox-container input:checked~.checkmark{background-color:var(--color-primary);border-color:var(--color-primary)}.checkmark:after{content:"";display:none;position:absolute}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{border:solid var(--color-white);border-width:0 2px 2px 0;width:5px;height:10px;top:2px;left:6px;transform:rotate(45deg)}.checkbox-text a{color:var(--color-primary);font-weight:600;text-decoration:underline}.btn-submit{justify-content:center;align-items:center;gap:var(--spacing-sm);background-color:var(--color-primary);color:var(--color-white);border-radius:var(--border-radius-full);font-weight:700;font-size:var(--font-size-lg);transition:background-color var(--transition-normal), transform var(--transition-fast), box-shadow var(--transition-fast);padding:16px 60px;display:inline-flex;box-shadow:0 4px 14px #8c2b014d}.btn-submit:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #8c2b0180}.btn-submit:disabled{background-color:var(--color-text-light);cursor:not-allowed;box-shadow:none}.spinner{border:3px solid #ffffff4d;border-top-color:var(--color-white);border-radius:50%;width:20px;height:20px;animation:1s ease-in-out infinite spin;display:none}.spinner.active{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.form-status-message{padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-xl);font-size:var(--font-size-base);font-weight:600;line-height:1.6;display:none}.form-status-message.success{color:#15803d;background-color:#f0fdf4;border:1px solid #bbf7d0;display:block}.form-status-message.error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;display:block}.privacy-section{background-color:var(--color-white)}.privacy-content{max-width:800px;color:var(--color-text);margin:0 auto;line-height:1.8}.privacy-intro{font-size:var(--font-size-lg);color:var(--color-text-light);margin-bottom:var(--spacing-2xl)}.privacy-h2{font-size:var(--font-size-2xl);color:var(--color-title);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-primary-light)}.privacy-list{padding-left:var(--spacing-xl);margin-bottom:var(--spacing-lg);list-style:outside}.privacy-list li{margin-bottom:var(--spacing-xs)}.privacy-contact-box{background-color:var(--color-bg-alt);border:1px solid var(--color-border);padding:var(--spacing-xl);border-radius:var(--border-radius-md);margin-top:var(--spacing-lg)}
