.hero{position:relative;overflow:hidden;padding:72px 0 120px}.section-japanese::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgb(var(--white-rgb) / 0.55),rgb(var(--white-rgb) / 0)),radial-gradient(circle at 15% 25%,rgba(215,232,225,0.85),transparent 24%),radial-gradient(circle at 80% 18%,rgba(236,226,204,0.72),transparent 18%);pointer-events:none;-webkit-mask-image:linear-gradient(180deg,rgb(var(--shade-rgb)) 62%,transparent 100%);mask-image:linear-gradient(180deg,rgb(var(--shade-rgb)) 62%,transparent 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:center;position:relative;z-index:1}.hero-content h1{font-size:clamp(2.2rem,4.5vw,4.4rem);margin-bottom:18px;color:var(--ink)}.hero-desc{max-width:640px;color:var(--muted);font-size:1.05rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 26px}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:148px;padding:14px 22px;border-radius:999px;font-weight:700;transition:0.25s ease}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-deep));color:var(--white);box-shadow:0 14px 30px rgb(var(--primary-deep-rgb) / 0.22)}.btn-secondary{background:rgb(var(--white-rgb) / 0.78);color:var(--text);border:1px solid rgb(var(--primary-rgb) / 0.18)}.btn:hover{transform:translateY(-2px)}.hero-points{display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0;list-style:none}.hero-points li{padding:10px 16px;border-radius:999px;background:rgb(var(--white-rgb) / 0.7);border:1px solid rgb(var(--primary-rgb) / 0.14);color:var(--primary-deep)}.hero-visual{position:relative;min-height:520px}.hero-card{position:absolute;overflow:hidden;border-radius:30px;box-shadow:var(--shadow);border:1px solid rgb(var(--white-rgb) / 0.72)}.hero-card img{width:100%;height:100%;object-fit:cover}.hero-card-main{inset:0 70px 70px 0}.hero-card-sub{width:240px;height:300px;right:0;bottom:0}.floating-note{position:absolute;left:-10px;bottom:20px;display:flex;gap:10px;flex-wrap:wrap;max-width:260px}.floating-note span{background:rgb(var(--paper-rgb) / 0.9);border:1px solid rgb(var(--primary-rgb) / 0.16);border-radius:999px;padding:9px 14px;color:var(--text);box-shadow:0 8px 20px rgb(var(--primary-deep-rgb) / 0.08)}.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:120px;background:radial-gradient(circle at 20% 0,rgb(var(--white-rgb) / 0.9),transparent 40%),linear-gradient(180deg,rgb(var(--white-rgb) / 0.55),transparent)}.text-segment{display:inline-block;white-space:nowrap}.intro-grid,.features-grid,.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.intro-illustration{position:relative;padding:42px;border-radius:var(--radius-lg);min-height:340px}.illustration-circle{position:absolute;width:180px;height:180px;right:30px;top:30px;border-radius:50%;background:radial-gradient(circle,rgba(215,232,225,0.95),rgba(215,232,225,0.2))}.illustration-content{position:relative;z-index:1;max-width:450px}.info-list{display:grid;gap:14px;margin-top:28px}.info-item{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:16px;background:rgb(var(--white-rgb) / 0.64);border:1px solid rgb(var(--primary-rgb) / 0.12)}.info-item strong{color:var(--primary-deep)}.services{background:linear-gradient(180deg,rgb(var(--bg-soft-rgb) / 0.35),rgba(245,241,234,0.9))}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{background:rgb(var(--paper-rgb) / 0.82);border:1px solid rgb(var(--primary-rgb) / 0.12);border-radius:26px;padding:28px 22px;box-shadow:var(--shadow)}.service-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(135deg,rgb(var(--primary-rgb) / 0.16),rgb(var(--accent-rgb) / 0.26));color:var(--primary-deep);font-weight:700}.gallery-grid{display:grid;grid-template-columns:1.1fr 0.9fr 0.9fr;gap:18px;grid-auto-rows:240px}.gallery-item{overflow:hidden;border-radius:24px;box-shadow:var(--shadow)}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.feature-list{display:grid;gap:18px}.feature-box,.contact-card,.mini-card{background:rgb(var(--paper-rgb) / 0.84);border:1px solid rgb(var(--primary-rgb) / 0.12);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.soft-pattern{background:radial-gradient(circle at top right,rgba(215,232,225,0.68),transparent 34%),rgb(var(--paper-rgb) / 0.88)}.contact-list{display:grid;gap:14px;margin-top:24px}.contact-list a{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:16px;background:rgb(var(--white-rgb) / 0.7);border:1px solid rgb(var(--primary-rgb) / 0.1)}.contact-list span,.mini-card p,.section-head p,.intro-text p,.features-text p,.service-card p{color:var(--muted)}.mini-card ul{margin:0;padding-left:20px}@media (max-width:1100px){.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item.wide{grid-column:span 2}}@media (max-width:960px){.hero-grid,.intro-grid,.features-grid,.contact-wrap{grid-template-columns:1fr}.hero{padding-top:40px}.hero-visual{min-height:420px}.hero-card-main{inset:0 50px 40px 0}.hero-card-sub{width:180px;height:220px}}@media (max-width:640px){.section{padding:72px 0}.hero-content h1{font-size:2.2rem}.service-grid,.gallery-grid{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:220px}.gallery-item.tall,.gallery-item.wide{grid-row:span 1;grid-column:span 1}.hero-visual{min-height:340px}.hero-card-main{inset:0 40px 32px 0}.hero-card-sub{width:140px;height:180px}.intro-illustration{padding:28px}.info-item,.contact-list a{flex-direction:column;align-items:flex-start}}.line-float{position:fixed;right:18px;bottom:18px;z-index:999;display:inline-flex;align-items:center;gap:8px;background:var(--line-brand);color:var(--white);padding:11px 18px;border-radius:999px;font-weight:700;font-size:0.95rem;text-decoration:none;box-shadow:0 4px 14px rgb(var(--shade-rgb) / 0.25);transition:transform .15s ease,box-shadow .15s ease}.line-float:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgb(var(--shade-rgb) / 0.3);color:var(--white)}.line-float svg{width:20px;height:20px;fill:currentColor;flex:none}.line-cta{margin:28px 0;padding:20px 22px;border-radius:14px;background:#f0faf4;border:1px solid #bfe8cf;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.line-cta p{margin:0}.btn-line{background:var(--line-brand)!important;color:var(--white)!important;border-color:var(--line-brand)!important}@media print{.line-float{display:none}}@media (max-width:480px){.line-float span{display:none}.line-float{padding:12px}}.service-card h3 a{color:inherit;text-decoration:none;border-bottom:1px solid rgb(var(--primary-rgb) / 0.35)}.service-card h3 a:hover{color:var(--primary-deep);border-bottom-color:var(--primary)}.sx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:18px}.sx-card{display:flex;flex-direction:column;gap:8px;background:rgb(var(--paper-rgb) / 0.9);border:1px solid rgb(var(--primary-rgb) / 0.16);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px 24px 24px;color:var(--text);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.sx-card:hover{transform:translateY(-4px);box-shadow:0 26px 56px rgb(var(--primary-deep-rgb) / 0.2)}.sx-card .sx-ico{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,rgb(var(--primary-soft-rgb) / 0.9),rgb(var(--accent-soft-rgb) / 0.9));color:var(--bg-soft);margin-bottom:4px}.sx-card .sx-ico .ico{width:24px;height:24px}.sx-card h2{font-size:1.14rem;margin:0;color:var(--ink)}.sx-card .sx-say{font-size:.86rem;color:var(--primary-deep);margin:0;font-weight:600}.sx-card p{font-size:.92rem;color:var(--muted);margin:0}.sx-card .sx-go{margin-top:auto;padding-top:10px;font-size:.88rem;font-weight:700;color:var(--primary-deep)}.ico-sprite{position:absolute;width:0;height:0;overflow:hidden}.ico{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-0.2em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.topic-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));column-gap:40px}.topic-list li{border-top:1px solid var(--line)}.topic-list a{display:block;padding:14px 2px 16px;color:inherit;text-decoration:none}.topic-list a:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}.topic-list .t-name{display:block;font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:5px;transition:color .18s ease}.topic-list a:hover .t-name,.topic-list a:focus-visible .t-name{color:var(--primary-deep)}.topic-list .t-say{display:block;font-size:.88rem;line-height:1.75;color:var(--muted)}@media (max-width:640px){.topic-list a{padding:12px 2px 14px}}