:root{--primary: #2E7D32;--primary-hover: #25672A;--primary-light: #5DB84C;--primary-pale: #CDEBC4;--secondary: #17797E;--blob-turquoise: #4CB8BE;--blob-yellow: #F1BF45;--blob-terracotta: #CC6A4A;--blob-terracotta-dark: #B85A3C;--blob-lavender: #7B64A3;--bg: #F7F5F0;--bg-white: #FFFFFF;--bg-curve: #FBFAF7;--surface: #EEF6EC;--surface-gray: #F2F0EC;--text: #3D3A36;--text-heading: #555250;--text-muted: #6B655D;--line-art: #222222;--border: #DDD8CE;--dotted: #9A948A;--english-overlay: rgba(241,191,69,0.75);--placeholder: #E4E0D8;--font-ja: "Zen Kaku Gothic New","Noto Sans JP","Hiragino Sans",sans-serif;--font-heading: "Zen Maru Gothic","M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;--font-en: "Nunito","Quicksand","Helvetica Neue",Arial,sans-serif;--font-hand: "Klee One","Yomogi",cursive;--s-1: 8px;--s-2: 16px;--s-3: 32px;--s-4: 64px;--s-5: 88px;--gutter: 20px;--max: 1200px}@media (min-width: 640px){:root{--gutter: 32px}}@media (min-width: 1024px){:root{--gutter: 64px;--s-5: 140px}}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}body{margin: 0;font-family: var(--font-ja);font-size: 1rem;line-height: 2;letter-spacing: 0.05em;color: var(--text);background: var(--bg);overflow-x: hidden}img{display: block;max-width: 100%;height: auto}a{color: inherit;text-decoration: none}h1,h2,h3,h4,p,ul,ol,dl,figure{margin: 0;padding: 0}ul,ol{list-style: none}button{font: inherit;color: inherit;background: none;border: 0;cursor: pointer}.sr-only{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.pc{display: none}@media (min-width: 1024px){.pc{display: inline}.sp{display: none}}:focus-visible{outline: 3px solid var(--secondary);outline-offset: 3px;border-radius: 4px}.container{width: 100%;max-width: calc(var(--max) + var(--gutter) * 2);margin: 0 auto;padding: 0 var(--gutter)}.section{position: relative;padding: var(--s-5) 0}.shape{position: relative;margin: 0}.shape img{width: 100%;height: 100%;object-fit: cover}.clip-blob{clip-path: url(#clip-blob)}.clip-squircle{clip-path: url(#clip-squircle)}.clip-clover{clip-path: url(#clip-clover)}.clip-house{clip-path: url(#clip-house)}.clip-poly{clip-path: url(#clip-poly)}.clip-arc{clip-path: url(#clip-arc)}.clip-wave{clip-path: url(#clip-wave)}.clip-notch{clip-path: url(#clip-notch)}.clip-dright{clip-path: url(#clip-dright)}.clip-dleft{clip-path: url(#clip-dleft)}.clip-arch{clip-path: url(#clip-arch)}.clip-pill{clip-path: url(#clip-pill)}.label{display: inline-flex;align-items: center;gap: 10px;font-family: var(--font-en);font-weight: 700;font-size: 0.875rem;letter-spacing: 0.16em;color: var(--primary);text-transform: uppercase}.label::before{content: "";width: 10px;height: 10px;background: var(--primary-light);border-radius: 62% 38% 55% 45% / 48% 60% 40% 52%}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 12px;min-height: 56px;padding: 14px 32px;border-radius: 999px;font-weight: 700;letter-spacing: 0.1em;line-height: 1.4;transition: background-color .3s ease,transform .3s ease,color .3s ease}.btn .arrow{display: inline-grid;place-items: center;width: 22px;height: 22px;border-radius: 50%;background: #fff;color: var(--primary);font-size: 12px;transition: transform .3s ease}.btn:hover{transform: translateY(-2px)}.btn:hover .arrow{transform: translateX(3px)}.btn-primary{background: var(--primary);color: #fff}.btn-primary:hover{background: var(--primary-hover)}.btn-line{background: #05833A;color: #fff}.btn-line:hover{background: #046B2F}.btn-outline{border: 2px solid var(--text);color: var(--text)}.btn-outline:hover{background: var(--text);color: #fff}@keyframes floatY{0%,100%{transform: translateY(0)}50%{transform: translateY(-8px)}}.float{animation: floatY 7s ease-in-out infinite}.float.d2{animation-duration: 8s;animation-delay: -2s}.float.d3{animation-duration: 6s;animation-delay: -4s}.fade{opacity: 0;transform: translateY(24px);transition: opacity .9s ease-out,transform .9s ease-out}.fade.is-in{opacity: 1;transform: none}.draft-end{padding: 48px var(--gutter);text-align: center;font-size: 0.875rem;color: var(--text-muted);border-top: 2px dashed var(--border);background: repeating-linear-gradient(-45deg,transparent 0 12px,rgba(0,0,0,.02) 12px 24px)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation: none !important;transition: none !important;scroll-behavior: auto !important}.fade{opacity: 1;transform: none}}.site-header{position: fixed;inset: 0 0 auto 0;z-index: 50;display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: 12px var(--gutter);transition: background-color .4s ease,box-shadow .4s ease}.site-header.is-scrolled{background: rgba(247,245,240,.95);box-shadow: 0 1px 0 var(--border)}.logo{display: flex;align-items: center;gap: 10px}.logo-mark{width: 56px;height: 56px;background: url(../images/logo.webp) no-repeat 50% 22% / 190%;flex: none;background-color: #fff;border-radius: 16px}.logo-text{font-family: var(--font-heading);font-weight: 700;line-height: 1.2;white-space: nowrap}.logo-text .n1{display: block;font-size: 1.375rem;letter-spacing: 0.16em}.logo-text .n2{display: block;font-size: 0.6875rem;letter-spacing: 0.14em;color: var(--text-muted);margin-top: 2px}.gnav{display: none}.header-right{display: flex;align-items: center;gap: 12px}.header-tel{display: none}.header-cta{display: none}.menu-btn{width: 60px;height: 60px;border-radius: 16px;background: #fff;display: grid;place-items: center;align-content: center;gap: 4px;box-shadow: 0 4px 16px rgba(61,58,54,.06)}.menu-btn i{display: block;width: 22px;height: 6px;border-radius: 6px;background: var(--primary-light)}.menu-btn i:nth-child(2){width: 18px}.menu-btn b{display: none;font-family: var(--font-en);font-size: 11px;color: var(--primary);letter-spacing: .04em;line-height: 1;margin-top: 4px}@media (min-width: 1024px){.site-header{padding: 20px var(--gutter)}.gnav{display: flex;gap: clamp(16px,2vw,36px)}.gnav a{font-weight: 700;font-size: 0.9375rem;letter-spacing: 0.08em;transition: color .3s;white-space: nowrap}.gnav a:hover,.gnav a[aria-current="page"]{color: var(--primary)}.header-tel{display: block;text-align: right;line-height: 1.4;white-space: nowrap}.header-tel a{font-family: var(--font-en);font-weight: 800;font-size: 1.125rem;letter-spacing: .06em}.header-tel small{display: block;font-size: 0.75rem;color: var(--text-muted)}.header-cta{display: inline-flex;border-radius: 12px;min-height: 64px;padding: 10px 18px 10px 22px;font-size: 0.875rem;text-align: left;white-space: nowrap;letter-spacing: .06em}.menu-btn{width: 64px;height: 64px}.menu-btn b{display: block}}@media (min-width: 1024px) and (max-width: 1379px){.gnav{display: none}}@media (min-width: 1024px) and (max-width: 1599px){.header-tel{display: none}}@media (min-width: 1380px){.gnav{gap: 24px}.gnav a{font-size: .875rem;letter-spacing: .04em}}.site-menu{position: fixed;inset: 0;z-index: 60;background: var(--bg);padding: 96px var(--gutter) 40px;overflow-y: auto}.site-menu ul{display: grid;gap: 2px}.site-menu nav a{display: block;padding: 10px 0;font-size: 1.25rem;font-weight: 700}.site-menu nav .sub a{font-size: 1rem;font-weight: 500;padding: 6px 0 6px 20px;color: var(--text-muted)}.site-menu .btn{width: 100%;margin-top: 28px}.site-menu .tel{margin-top: 16px;text-align: center;font-size: .875rem;color: var(--text-muted)}.site-menu .tel a{font-family: var(--font-en);font-weight: 800;font-size: 1.25rem;color: var(--text)}.menu-close{position: absolute;top: 12px;right: var(--gutter);width: 60px;height: 60px;font-size: 28px}.sec{position: relative;padding: 120px 0;background: #fff}.sec.tint{background: var(--bg)}@media (min-width: 1024px){.sec{padding: 180px 0}}.narrow{max-width: calc(1080px + var(--gutter) * 2);margin: 0 auto}.sec-head{text-align: center;margin-bottom: 72px}@media (min-width: 1024px){.sec-head{margin-bottom: 104px}}.sec-title{display: inline-flex;align-items: center;gap: 18px;margin-top: 14px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.5rem,2.6vw,2.125rem);line-height: 1.6;letter-spacing: 0.08em}.capsules{display: inline-flex;gap: 6px;transform: rotate(8deg);flex: none}.capsules i{width: 9px;height: 32px;border-radius: 999px;background: var(--primary-light)}.sec-lead{margin: 28px auto 0;max-width: 640px;line-height: 2.2;letter-spacing: .08em}.text-link{display: inline-flex;align-items: center;gap: 8px;margin-top: 28px;color: var(--primary);font-weight: 700;letter-spacing: .08em}.text-link::after{content: "▸";transition: transform .3s}.text-link:hover::after{transform: translateX(4px)}.ic-line{fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round}.site-footer{position: relative;background: var(--primary);color: #fff;padding: 0 0 32px}.site-footer .hill-top{position: absolute;left: 0;bottom: calc(100% - 1px);display: block;width: 100%;height: 72px}.foot-grid{display: grid;gap: 48px;padding-top: 48px}.foot-brand .logo-badge{width: 72px;height: 72px;border-radius: 18px;background: #fff url(../images/logo.webp) no-repeat 50% 22% / 190%}.foot-brand .name{margin-top: 16px;font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem;letter-spacing: .1em}.foot-brand p{margin-top: 10px;font-size: .9375rem;line-height: 2}.foot-nav ul{display: grid;grid-template-columns: 1fr 1fr;gap: 6px 24px}.foot-nav a{white-space: nowrap;font-size: .9375rem;font-weight: 500;letter-spacing: .06em;line-height: 2.2}.foot-nav a:hover,.foot-contact a:hover{text-decoration: underline;text-underline-offset: 4px}.foot-contact{display: grid;gap: 10px;font-size: .9375rem;line-height: 1.8}.foot-contact .tel{font-family: var(--font-en);font-weight: 800;font-size: 1.375rem;letter-spacing: .04em}.foot-contact .btn{white-space: nowrap;justify-self: start;margin-top: 8px;background: #fff;color: var(--primary);min-height: 48px;padding: 10px 24px}.foot-contact .btn:hover{background: var(--surface)}.foot-bottom{margin-top: 64px;padding-top: 24px;border-top: 1px solid rgba(255,255,255,.3);display: flex;flex-wrap: wrap;justify-content: space-between;gap: 12px;font-size: .8125rem}.foot-bottom a{text-decoration: underline;text-underline-offset: 3px}@media (min-width: 1024px){.foot-grid{grid-template-columns: 1.2fr 1fr 1fr;gap: 64px}.site-footer .hill-top{height: 120px}}body{background: #fff}.sh-title{font-family: var(--font-heading);font-weight: 700;font-size: clamp(2.25rem,4.5vw,4.25rem);line-height: 1.3;letter-spacing: .06em}.subhero-b{position: relative;overflow: hidden;background: var(--bg);padding: 120px 0 72px}.subhero-b .curve{position: absolute;inset: 20% -10% -40% 20%;z-index: 0}.subhero-b .container{position: relative;z-index: 1}.subhero-b .sh-en{font-family: var(--font-en);font-weight: 800;font-size: 1.125rem;letter-spacing: .06em;color: var(--primary)}.subhero-b .sh-title{margin-top: 4px;color: var(--text)}.anchors{display: grid;grid-template-columns: 1fr 1fr;gap: 12px 24px;margin-top: 36px}.anchors a{display: inline-flex;align-items: center;gap: 8px;font-weight: 500;transition: color .3s}.anchors a::before{content: "▼";display: inline-grid;place-items: center;width: 18px;height: 18px;border-radius: 50%;background: var(--primary-light);color: #fff;font-size: 8px;flex: none;transition: transform .3s}.anchors a:hover{color: var(--primary)}.anchors a:hover::before{transform: translateY(2px)}.subhero-b .illu{position: absolute;right: var(--gutter);bottom: 16px;width: 96px;height: auto;pointer-events: none}@media (min-width: 1024px){.subhero-b{padding: 200px 0 120px;min-height: 620px}.anchors{display: flex;flex-wrap: wrap;gap: 16px 40px}.subhero-b .illu{right: 7%;top: auto;bottom: 64px;width: 190px}.subhero-b .anchors{max-width: calc(100% - 280px)}}.crumb ol{display: flex;flex-wrap: wrap;align-items: center;gap: 4px 12px;font-size: .875rem}.crumb li{display: inline-flex;align-items: center;gap: 12px}.crumb li + li::before{content: "";width: 4px;height: 4px;border-radius: 50%;background: var(--primary-light)}.crumb a{color: var(--text-muted);text-decoration: underline;text-underline-offset: 4px}.crumb [aria-current]{color: var(--text)}.crumb-below{padding: 20px var(--gutter);max-width: calc(1080px + var(--gutter) * 2);margin: 0 auto;overflow-x: auto;white-space: nowrap}.crumb-below ol{flex-wrap: nowrap}.policy{padding: 96px 0 160px}.policy .wrap{max-width: 760px;margin: 0 auto}.policy .intro{line-height: 2.3;letter-spacing: .06em}.policy article{margin-top: 88px;scroll-margin-top: 120px}.policy h2{display: flex;align-items: center;gap: 16px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.25rem,2vw,1.5rem);letter-spacing: .06em;line-height: 1.6}.policy h2 .no{font-family: var(--font-en);font-weight: 800;color: var(--primary)}.policy h2 .cap{width: 9px;height: 28px;border-radius: 999px;background: var(--primary-light);transform: rotate(8deg);flex: none}.policy p,.policy li{line-height: 2.2;letter-spacing: .04em}.policy article>* + *{margin-top: 20px}.policy ul.dots{display: grid;gap: 4px}.policy ul.dots li{position: relative;padding-left: 24px}.policy ul.dots li::before{content: "";position: absolute;left: 4px;top: 1em;width: 8px;height: 8px;border-radius: 50%;background: #C9C5BD}.policy .note{background: var(--surface);border-radius: 16px;padding: 20px 24px}.policy a.ext{color: var(--primary);text-decoration: underline;text-underline-offset: 4px;word-break: break-all}.contact-box{background: var(--bg);border-radius: 24px;padding: 32px 28px}.contact-box dl{display: grid;grid-template-columns: max-content 1fr;gap: 10px 20px}.contact-box dt{font-weight: 700;color: var(--text-muted);font-size: .9375rem}.contact-box dd{margin: 0}.contact-box a{color: var(--primary);text-decoration: underline;text-underline-offset: 4px;word-break: break-all}.enacted{margin-top: 88px;text-align: right;color: var(--text-muted)}.back{margin-top: 64px;text-align: center}@media (min-width: 768px){.contact-box{padding: 40px 48px}}.page{padding: 96px 0 0}.page-lead{max-width: 760px;margin: 0 auto;text-align: center;line-height: 2.3;letter-spacing: .08em}.page-sec{padding: 120px 0}.page-sec.tint{background: var(--bg)}@media (min-width: 1024px){.page-sec{padding: 160px 0}}.wrap-narrow{max-width: 880px;margin: 0 auto}.h2{display: flex;align-items: center;gap: 18px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.375rem,2.4vw,1.875rem);line-height: 1.6;letter-spacing: .06em}.h2 .capsules{display: inline-flex;gap: 6px;transform: rotate(8deg);flex: none}.h2 .capsules i{width: 9px;height: 30px;border-radius: 999px;background: var(--primary-light)}.h3{display: flex;align-items: center;gap: 14px;font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem;line-height: 1.6;letter-spacing: .06em}.h3::before{content: "";width: 9px;height: 24px;border-radius: 999px;background: var(--primary-light);transform: rotate(8deg);flex: none}.prose p{line-height: 2.3;letter-spacing: .06em}.prose p + p{margin-top: 1.4em}.prose strong{color: var(--primary)}.plan-nav{display: grid;grid-template-columns: 1fr 1fr;gap: 12px;max-width: 880px;margin: 56px auto 0}.plan-nav a{display: grid;justify-items: center;gap: 4px;padding: 20px 12px;border-radius: 20px;background: var(--bg);text-align: center;font-weight: 700;line-height: 1.6;transition: background-color .3s,transform .3s}.plan-nav a small{font-family: var(--font-en);font-weight: 800;font-size: .75rem;letter-spacing: .14em;color: var(--primary)}.plan-nav a:hover{background: var(--surface);transform: translateY(-2px)}@media (min-width: 768px){.plan-nav{grid-template-columns: repeat(4,1fr)}.plan-nav.c3{grid-template-columns: repeat(3,1fr)}}.plan-detail{scroll-margin-top: 100px}.pd-head{display: grid;gap: 40px;align-items: center}.pd-no{font-family: var(--font-en);font-weight: 800;font-size: 4rem;line-height: 1;color: var(--border)}.pd-name{margin-top: 8px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.625rem,3vw,2.25rem);letter-spacing: .06em;line-height: 1.5}.pd-catch{display: inline-block;margin-top: 14px;padding: 4px 16px;border-radius: 999px;background: var(--secondary);color: #fff;font-size: .875rem;font-weight: 700;letter-spacing: .04em;line-height: 1.7}.pd-head .prose{margin-top: 24px}.pd-visual{position: relative;width: 92%;max-width: 560px;aspect-ratio: 1123 / 794;margin: 0 auto}.pd-visual .bg{position: absolute;inset: 8% -6% -6% 8%}.pd-visual .shape{position: absolute;inset: 0}@media (min-width: 1024px){.pd-head{grid-template-columns: 1fr 1fr;gap: 96px}.plan-detail:nth-of-type(even) .pd-visual{order: -1}}.uses{display: grid;gap: 40px;margin-top: 88px}.uses-title{font-family: var(--font-heading);font-weight: 700;font-size: 1.125rem;letter-spacing: .08em;text-align: center}.use{display: grid;gap: 16px;align-content: start}.use .shape{aspect-ratio: 1123 / 794}.use .use-ic{aspect-ratio: 1123 / 794;display: grid;place-items: center;border-radius: 24px 8px 24px 8px;background: var(--surface);color: var(--primary)}.use .use-ic svg{width: 56px;height: 56px}.use h3{font-family: var(--font-heading);font-weight: 700;font-size: 1.0625rem;letter-spacing: .04em;line-height: 1.6}.use p{font-size: .9375rem;line-height: 2.1}@media (min-width: 640px){.uses-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 48px 32px}}@media (min-width: 1024px){.uses-grid.c3{grid-template-columns: repeat(3,1fr)}.uses-grid.c4{grid-template-columns: repeat(4,1fr);gap: 32px}}.uses-grid{display: grid;gap: 40px}.checklist{margin-top: 64px;padding: 36px 28px;border-radius: 24px;background: var(--surface)}.checklist h3{font-family: var(--font-heading);font-weight: 700;font-size: 1.0625rem;letter-spacing: .06em}.checklist ul{display: grid;gap: 10px;margin-top: 16px}.checklist li{position: relative;padding-left: 32px;line-height: 1.9}.checklist li::before{content: "";position: absolute;left: 0;top: .35em;width: 20px;height: 20px;border-radius: 50%;background: var(--primary-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 20px}.tip{margin-top: 32px;padding: 28px;border-radius: 24px;border: 1px dashed var(--border)}.tip h3{font-weight: 700;color: var(--primary)}.tip p{margin-top: 8px;line-height: 2.1}.tip small{display: block;margin-top: 8px;color: var(--text-muted);line-height: 1.9}@media (min-width: 768px){.checklist{padding: 44px 48px}.tip{padding: 32px 40px}}.price-grid{display: grid;gap: 72px}.price-col h3{display: flex;align-items: center;gap: 12px;font-family: var(--font-heading);font-weight: 700;font-size: 1.125rem;letter-spacing: .06em;padding-bottom: 18px;border-bottom: 2px solid var(--primary-light)}.price-col h3 .ic{width: 32px;height: 32px;border-radius: 50%;background: var(--surface);display: grid;place-items: center;color: var(--primary);font-size: .875rem}.price-col table{width: 100%;border-collapse: collapse}.price-col th,.price-col td{padding: 18px 0;border-bottom: 1px dotted var(--border);text-align: left;font-weight: 500}.price-col td{text-align: right;font-family: var(--font-en);font-weight: 800;font-size: 1.375rem;white-space: nowrap}.price-col tr.ext th,.price-col tr.ext td{color: var(--text-muted);font-size: .9375rem}.price-col tr.ext td{font-size: 1.0625rem}.price-notes{margin-top: 56px;display: grid;gap: 8px;text-align: center;color: var(--text-muted);font-size: .9375rem;line-height: 1.9}@media (min-width: 768px){.price-grid{grid-template-columns: 1fr 1fr;gap: 96px}}.cant{display: grid;gap: 20px}.cant li{background: #fff;border-radius: 20px;padding: 28px 24px}.cant h3{display: flex;align-items: center;gap: 10px;font-weight: 700;font-size: 1.0625rem}.cant h3::before{content: "×";display: grid;place-items: center;width: 28px;height: 28px;border-radius: 50%;background: #F3D9CF;color: #8A3519;font-weight: 800}.cant p{margin-top: 10px;font-size: .9375rem;line-height: 2.1}@media (min-width: 900px){.cant{grid-template-columns: repeat(3,1fr)}}.msg-layout{display: grid;gap: 56px}.msg-photos{position: relative;max-width: 420px;margin: 0 auto;width: 100%}.msg-photos .p1{position: relative;aspect-ratio: 1 / 1.08}.msg-photos .p1-bg{position: absolute;top: 6%;left: 10%;width: 100%;aspect-ratio: 1 / 1.08}.msg-photos .p2{position: relative;width: 82%;margin: -12% 0 0 auto}.msg-photos .p2 .shape{aspect-ratio: 1120 / 1040}.msg-photos figcaption{margin-top: 10px;font-size: .8125rem;line-height: 1.7;color: var(--text-muted)}.quote{margin: 2em 0;padding: 24px 28px;border-left: 4px solid var(--primary-light);background: var(--bg);border-radius: 0 16px 16px 0;font-family: var(--font-heading);font-weight: 500;line-height: 2}.signature{margin-top: 48px;text-align: right}.signature small{display: block;color: var(--text-muted);font-size: .875rem}.signature b{font-family: var(--font-heading);font-size: 1.5rem;letter-spacing: .14em}@media (min-width: 1024px){.msg-layout{grid-template-columns: 380px 1fr;gap: 96px;align-items: start}.msg-photos{position: sticky;top: 140px}}.timeline{position: relative;display: grid;gap: 40px;margin-top: 56px;padding-left: 28px}.timeline::before{content: "";position: absolute;left: 6px;top: 8px;bottom: 8px;width: 2px;background: var(--primary-pale)}.timeline li{position: relative}.timeline li::before{content: "";position: absolute;left: -28px;top: 8px;width: 14px;height: 14px;border-radius: 50%;background: #fff;border: 3px solid var(--primary-light)}.tl-year{font-family: var(--font-en);font-weight: 800;font-size: 1.25rem;color: var(--primary);letter-spacing: .04em}.tl-title{margin-top: 4px;font-weight: 700;line-height: 1.8}.tl-text{margin-top: 6px;font-size: .9375rem;line-height: 2.1;color: var(--text)}.facts{display: grid;gap: 16px;margin-top: 48px}.facts li{display: grid;gap: 4px;padding: 20px 24px;border-radius: 16px;background: #fff}.facts dt,.facts .k{font-size: .8125rem;font-weight: 700;color: var(--text-muted);letter-spacing: .08em}.facts .v{font-weight: 700;line-height: 1.8}@media (min-width: 768px){.facts{grid-template-columns: repeat(2,1fr)}}.split{display: grid;gap: 48px;align-items: center}.split .shape{aspect-ratio: 1200 / 900}@media (min-width: 1024px){.split{grid-template-columns: 1fr 1fr;gap: 80px}}.faq-group + .faq-group{margin-top: 96px}.faq-group{scroll-margin-top: 110px}.faq-list{display: grid;gap: 16px;margin-top: 32px}.faq{background: var(--surface);border-radius: 16px}.faq summary{list-style: none;cursor: pointer;display: grid;grid-template-columns: auto 1fr auto;gap: 16px;align-items: center;padding: 22px 24px;font-weight: 700;line-height: 1.7}.faq summary::-webkit-details-marker{display: none}.faq .q,.faq .a{display: grid;place-items: center;width: 36px;height: 36px;border-radius: 50%;font-family: var(--font-en);font-weight: 800}.faq .q{background: var(--primary);color: #fff}.faq .a{background: #fff;color: var(--secondary)}.faq .pm{position: relative;width: 18px;height: 18px}.faq .pm::before,.faq .pm::after{content: "";position: absolute;left: 0;top: 8px;width: 18px;height: 2px;border-radius: 2px;background: var(--text);transition: transform .4s var(--ease-soft,ease)}.faq .pm::after{transform: rotate(90deg)}.faq[open] .pm::after{transform: rotate(0)}.faq .ans{display: grid;grid-template-columns: auto 1fr;gap: 16px;padding: 0 24px 24px}.faq .ans div{padding-top: 4px;line-height: 2.1}.faq .ans div p + p,.faq .ans div ul{margin-top: .6em}.faq .ans a{color: var(--primary);text-decoration: underline;text-underline-offset: 4px}.faq[open] .ans{animation: faqIn .5s var(--ease-soft,ease)}@keyframes faqIn{from{opacity: 0;translate: 0 -6px}to{opacity: 1;translate: 0 0}}@media (min-width: 768px){.faq summary{padding: 24px 32px}.faq .ans{padding: 0 32px 28px}}.biz-detail{scroll-margin-top: 100px}.biz-detail + .biz-detail{margin-top: 140px}.biz-cat{font-family: var(--font-en);font-weight: 800;font-size: .8125rem;letter-spacing: .16em;color: var(--text-muted)}.programs{display: grid;gap: 40px;margin-top: 64px}.program .shape{aspect-ratio: 4 / 3}.program .tag{display: inline-block;margin-top: 20px;padding: 2px 12px;border-radius: 999px;background: var(--surface);color: var(--primary);font-size: .8125rem;font-weight: 700}.program h3{margin-top: 8px;font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem}.program p{margin-top: 10px;line-height: 2.1;font-size: .9375rem}@media (min-width: 768px){.programs{grid-template-columns: 1fr 1fr;gap: 48px}}.info-grid{display: grid;gap: 16px;margin-top: 48px}.info{padding: 28px 24px;border-radius: 20px;background: var(--bg)}.info h3{font-weight: 700;color: var(--primary);letter-spacing: .06em}.info p,.info li{margin-top: 8px;line-height: 2;font-size: .9375rem}.info ul{margin-top: 8px}.info ul li{position: relative;padding-left: 18px;margin-top: 4px}.info ul li::before{content: "";position: absolute;left: 2px;top: .85em;width: 6px;height: 6px;border-radius: 50%;background: var(--primary-light)}@media (min-width: 900px){.info-grid{grid-template-columns: 1fr 1fr}}.steps-inline{display: grid;gap: 12px;margin-top: 16px;counter-reset: s}.steps-inline li{display: flex;gap: 12px;align-items: center;padding: 14px 18px;border-radius: 14px;background: #fff;font-weight: 500}.steps-inline li::before{counter-increment: s;content: counter(s);display: grid;place-items: center;width: 28px;height: 28px;border-radius: 50%;background: var(--primary);color: #fff;font-family: var(--font-en);font-weight: 800;font-size: .875rem;flex: none}@media (min-width: 900px){.steps-inline{grid-template-columns: repeat(4,1fr)}}.btn-row{display: flex;flex-wrap: wrap;gap: 12px;margin-top: 32px}.articles{display: grid;gap: 0;border-top: 1px dotted var(--border)}.article{padding: 48px 0;border-bottom: 1px dotted var(--border);scroll-margin-top: 110px}.article .meta{display: flex;align-items: center;gap: 14px}.article time{font-family: var(--font-en);font-weight: 700;font-size: .875rem;letter-spacing: .06em;color: var(--text-muted)}.news-tag{padding: 1px 12px;border-radius: 999px;font-size: .75rem;font-weight: 700;letter-spacing: .06em;background: var(--secondary);color: #fff}.news-tag.info{background: #fff;color: var(--secondary);border: 1px solid var(--secondary)}.article h2{margin-top: 14px;font-family: var(--font-heading);font-weight: 700;font-size: 1.25rem;line-height: 1.7;letter-spacing: .04em}.article p{margin-top: 14px;line-height: 2.2}.article a{color: var(--primary);text-decoration: underline;text-underline-offset: 4px}.cal-wrap{max-width: 960px;margin: 0 auto;text-align: center}.cal-img{border-radius: 24px;overflow: hidden;background: #fff;box-shadow: 0 12px 32px rgba(61,58,54,.08)}.cal-img img{width: 100%;height: auto}.cal-off{margin-top: 28px;font-weight: 700;letter-spacing: .06em;line-height: 1.9}.cal-off b{color: var(--primary)}.cal-notes{margin-top: 24px;color: var(--text-muted);line-height: 2;font-size: .9375rem}.cta-band{position: relative;background: var(--surface);padding: 0 0 140px;text-align: center}.cta-band .wave-top{display: block;width: 100%;height: 80px;margin-bottom: 72px}.cta-band h2{margin-top: 14px;font-family: var(--font-heading);font-weight: 700;font-size: clamp(1.5rem,3vw,2.125rem);letter-spacing: .08em;line-height: 1.6}.cta-band .lead{margin-top: 16px;line-height: 2.1}.cta-band .row{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 16px 32px;margin-top: 40px}.cta-band .tel{font-family: var(--font-en);font-weight: 800;font-size: 1.75rem;letter-spacing: .04em}.cta-band .tel small{display: block;font-family: var(--font-ja);font-weight: 500;font-size: .8125rem;color: var(--text-muted);letter-spacing: .04em}@media (min-width: 1024px){.cta-band{padding-bottom: 180px}.cta-band .wave-top{height: 120px;margin-bottom: 104px}}.page-end{height: 1px}ul.dots{display: grid;gap: 4px}ul.dots li{position: relative;padding-left: 24px;line-height: 2}ul.dots li::before{content: "";position: absolute;left: 4px;top: .85em;width: 8px;height: 8px;border-radius: 50%;background: #C9C5BD}.btn-center{justify-content: center;margin-top: 56px}main{overflow-x: clip}:root{--ease-soft: cubic-bezier(.22,1,.36,1);--ease-inout: cubic-bezier(.65,0,.35,1)}.loader{position: fixed;inset: 0;z-index: 100;display: grid;place-items: center;background: var(--bg);transition: opacity .9s var(--ease-inout),visibility .9s}.loader::before,.loader::after{content: "";position: absolute;border-radius: 58% 42% 50% 50% / 52% 48% 52% 48%;opacity: 0;animation: loaderBlob 1.6s var(--ease-soft) .2s forwards}.loader::before{width: 40vmin;height: 36vmin;left: -10vmin;top: -8vmin;background: var(--primary-pale)}.loader::after{width: 34vmin;height: 38vmin;right: -10vmin;bottom: -10vmin;background: #FBEBC0;animation-delay: .4s}.loader-inner{position: relative;z-index: 1;display: grid;justify-items: center;transition: transform .9s var(--ease-inout)}.loader-mark{width: 88px;height: 88px;border-radius: 24px;background: #fff url(../images/logo.webp) no-repeat 50% 22% / 190%;scale: .9;animation: loaderMark 1.1s var(--ease-soft) forwards}.loader-name{display: flex;gap: .2em;margin-top: 22px;font-family: var(--font-heading);font-weight: 700;font-size: 1.375rem;letter-spacing: .1em;color: var(--text)}.loader-name span{opacity: .12;translate: 0 8px;animation: loaderChar .8s var(--ease-soft) forwards}.loader-name span:nth-child(1){animation-delay: .55s}.loader-name span:nth-child(2){animation-delay: .65s}.loader-name span:nth-child(3){animation-delay: .75s}.loader-name span:nth-child(4){animation-delay: .85s}.loader-sub{margin-top: 6px;font-family: var(--font-en);font-size: .6875rem;letter-spacing: .36em;margin-right: -.36em;color: var(--text-muted);opacity: 0;animation: loaderChar .8s var(--ease-soft) 1.05s forwards}.loader-bar{position: relative;width: 120px;height: 2px;margin-top: 28px;border-radius: 2px;background: var(--border);overflow: hidden}.loader-bar i{position: absolute;inset: 0;background: var(--primary-light);transform-origin: left;transform: scaleX(0);animation: loaderBar 1.7s var(--ease-inout) .3s forwards}@keyframes loaderMark{to{scale: 1}}@keyframes loaderChar{to{opacity: 1;translate: 0 0}}@keyframes loaderBar{to{transform: scaleX(1)}}@keyframes loaderBlob{to{opacity: .7}}html:not(.js) .loader,html.skip-loader .loader{display: none}.is-loaded .loader{opacity: 0;visibility: hidden}.is-loaded .loader-inner{transform: translateY(-14px)}html.js:not(.is-loaded) body{overflow: hidden}.js [data-intro]{opacity: 0;translate: 0 var(--y,16px);transition: opacity 1.2s var(--ease-soft) var(--d,0s),translate 1.2s var(--ease-soft) var(--d,0s)}.is-loaded [data-intro]{opacity: 1;translate: 0 0}.js .site-header[data-intro]{transition: opacity 1.2s var(--ease-soft) var(--d,0s),translate 1.2s var(--ease-soft) var(--d,0s),background-color .4s ease,box-shadow .4s ease}.js [data-intro="clip"]{translate: none;clip-path: inset(0 0 100% 0);transition: clip-path 1.6s var(--ease-inout) var(--d,0s),opacity .6s ease var(--d,0s)}.is-loaded [data-intro="clip"]{clip-path: inset(0 0 0 0)}.js [data-intro="photo"]{translate: none;scale: .94;transition: opacity 1.4s var(--ease-soft) var(--d,0s),scale 1.8s var(--ease-soft) var(--d,0s)}.js [data-intro="photo"] img{scale: 1.16;transition: scale 2.8s var(--ease-soft) var(--d,0s)}.is-loaded [data-intro="photo"]{scale: 1}.is-loaded [data-intro="photo"] img{scale: 1}.js [data-intro="rise"]{translate: 0 60px;transition: opacity 1.4s var(--ease-soft) var(--d,0s),translate 1.6s var(--ease-soft) var(--d,0s)}.kenburns img{animation: kenburns 18s ease-in-out infinite alternate}.kenburns.k2 img{animation-duration: 22s;animation-direction: alternate-reverse}@keyframes kenburns{from{transform: scale(1)}to{transform: scale(1.04)}}.js [data-reveal]{opacity: 0;translate: 0 28px;transition: opacity 1.1s var(--ease-soft) var(--d,0s),translate 1.1s var(--ease-soft) var(--d,0s)}.js [data-reveal].is-in{opacity: 1;translate: 0 0}.js [data-reveal="wipe"]{translate: none;clip-path: inset(0 100% 0 0);transition: clip-path 1.3s var(--ease-inout) var(--d,0s),opacity .4s ease var(--d,0s)}.js [data-reveal="wipe"].is-in{clip-path: inset(0 -2% 0 0)}.js [data-reveal="photo"]{translate: none;scale: .96;transition: opacity 1.3s var(--ease-soft) var(--d,0s),scale 1.6s var(--ease-soft) var(--d,0s)}.js [data-reveal="photo"] img{scale: 1.12;transition: scale 2.4s var(--ease-soft) var(--d,0s)}.js [data-reveal="photo"].is-in{scale: 1}.js [data-reveal="photo"].is-in img{scale: 1}[data-parallax]{will-change: translate}body{transition: opacity .45s ease}html.is-leaving body{opacity: 0}@media (prefers-reduced-motion: reduce){.loader{display: none}.js [data-intro],.js [data-reveal]{opacity: 1 !important;translate: none !important;scale: none !important;clip-path: none !important}.js [data-intro] img,.js [data-reveal] img{scale: none !important}html.js:not(.is-loaded) body{overflow: auto}}.u-020eb9{--d:2s !important}.u-062d4a{margin-top:24px !important}.u-066c3a{margin-bottom:64px !important}.u-081309{--d:.35s !important}.u-09c44e{--d:1.1s !important}.u-0c9d1a{--d:1.5s !important}.u-20d75f{--d:.5s !important}.u-2495b8{padding-bottom:0 !important}.u-2733dc{margin-top:64px !important}.u-2bd9fd{max-width:720px !important}.u-2c2868{--d:1.7s !important}.u-301933{object-position:35% 30% !important}.u-38ed6c{position:absolute !important}.u-458836{--d:1.15s !important}.u-47c857{margin-top:28px !important}.u-4b015f{margin-top:32px !important}.u-4b87ae{margin:32px 0 12px !important}.u-511cd1{padding-top:0 !important}.u-553a64{margin-top:14px !important}.u-617029{object-position:50% 10% !important}.u-638da5{--d:.9s !important}.u-665629{object-position:50% 20% !important}.u-7cf592{--d:.15s !important;--y:-12px !important}.u-8806b3{object-position:30% 50% !important}.u-9e3c4c{margin-top:6px !important}.u-9ee862{--d:1.35s !important}.u-a255b8{clip-path:url(#clip-pebble) !important}.u-ad3089{--d:.7s !important}.u-b7c28a{margin-top:72px !important}.u-cb63e9{margin-top:56px !important}.u-d45251{--d:.3s !important}.u-f0e719{--d:.45s !important}.u-fcf402{margin-top:40px !important}
