@font-face{font-family:SiteMincho;src:url('fonts/noto-serif-jp-400.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:SiteMincho;src:url('fonts/noto-serif-jp-700.woff') format('woff');font-weight:600 800;font-style:normal;font-display:swap}
:root{--navy:#203b5c;--ink:#193250;--text:#3c5068;--line:#bac9d6;--blue:#eff5f9;--fee:#e4eef4;font-family:SiteMincho,'Yu Mincho','Hiragino Mincho ProN',serif;color:var(--ink);font-size:16px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:white;line-height:1.7}h1,h2,h3,p{margin:0}h2,h3,p{line-break:strict;overflow-wrap:anywhere}.phrase{display:inline-block;max-width:100%;vertical-align:baseline;overflow-wrap:anywhere}.steps li>div{min-width:0}a{color:inherit;text-underline-offset:.25em}a:focus-visible{outline:3px solid #9d702d;outline-offset:5px}.wrap{width:min(1280px,92%);margin-inline:auto}
.header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;padding:13px 4%;background:#fff}.brand{text-decoration:none;line-height:1.4;flex-shrink:0}.brand>span{font-size:clamp(20px,1.8vw,28px);font-weight:700;display:block}.brand small{display:block;font-size:16px;font-weight:600;margin-top:2px}.header nav{display:flex;align-items:center;gap:28px;font-size:16px;font-weight:700}.header nav a{text-decoration:none;white-space:nowrap}.header nav a:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;padding:12px 30px;color:#fff;background:var(--navy);border:1px solid var(--navy);border-radius:3px;font-size:21px;font-weight:600;line-height:1.5;text-decoration:none;transition:background .15s}.button span{font-family:serif;font-size:1.4em;line-height:1}.button:hover{background:#304e70}.header .header-button{min-height:48px;padding:10px 28px;font-size:16px;text-decoration:none}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#fff}.hero-photo{position:absolute;z-index:-2;inset:0 0 0 43%;background:url('zenpukuji-park.webp') 62% 52%/cover no-repeat}.hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 41%,#fffffff5 47%,#ffffffad 53%,#fff0 65%)}.hero-inner{padding-block:48px 44px}.hero-copy{width:65%}h1{font-size:clamp(48px,6.2vw,88px);line-height:1.15;letter-spacing:-.055em;font-weight:700}h1 span{display:block;white-space:nowrap}h1 span:first-child{font-size:1.13em;font-weight:400;letter-spacing:.01em}.hero-lead{font-size:clamp(23px,2vw,30px);font-weight:700;line-height:1.5;margin-top:24px}.hero-description{font-size:20px;margin-top:14px}.method{font-size:20px;margin-top:3px}.hero-button{min-width:380px;margin-top:17px}
.area{background:var(--navy);color:white;display:flex;align-items:center;justify-content:center;gap:30px;padding:15px 24px;font-size:22px;line-height:1.6;text-align:center}.area:before,.area:after{content:'';width:70px;height:1px;background:#ffffff80;flex-shrink:0}.area p{word-break:keep-all;overflow-wrap:anywhere}
.section{padding-block:32px}h2{font-size:29px;font-weight:700;line-height:1.5;text-align:center;margin-bottom:26px;word-break:keep-all;overflow-wrap:anywhere}h3{font-size:23px;line-height:1.5;font-weight:700;margin-bottom:12px}.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.columns p{font-size:19px;line-height:1.65;color:var(--text)}.concerns article{padding:0 36px;border-right:1px solid var(--line)}.concerns article:first-child{padding-left:0}.concerns article:last-child{border:0;padding-right:0}
.flow-section{background:var(--blue);padding-block:26px 30px}.flow-section h2{margin-bottom:24px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;align-items:flex-start;gap:16px;padding:0 24px;border-right:1px solid var(--line)}.steps li:first-child{padding-left:0}.steps li:last-child{padding-right:0;border:0}.step-number{font-size:38px;line-height:1.15;font-weight:400}.steps h3{font-size:21px;margin-bottom:10px}.steps p{font-size:18px;line-height:1.65}
.fee-section{background:var(--fee);padding-block:24px 28px}.fee-section h2{margin-bottom:20px}.fee-panel{background:#fff;border-radius:4px;padding:0 28px}.fee-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);gap:28px;padding:22px 0;align-items:start}.fee-row+.fee-row{border-top:1px solid var(--line)}.fee-row h3{font-size:24px;margin:6px 0 0}.fee-content{min-width:0}.fee-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 18px;line-height:1.4}.fee-basis{font-size:18px;flex:0 0 6em}.fee-amount{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px;max-width:100%}.fee-amount strong{font-size:36px;font-weight:700;letter-spacing:.01em;font-variant-numeric:lining-nums tabular-nums}.fee-amount>span{font-size:18px}.fee-estimate{font-size:19px;margin-top:10px;line-height:1.6}.fee-detail{font-size:17px;line-height:1.65;margin-top:4px;color:var(--text)}.fee-note{text-align:center;font-size:17px;line-height:1.65;border-top:1px solid var(--line);padding-block:15px}
.profile-section{position:relative;isolation:isolate;overflow:hidden;padding-block:28px;background:#fff}.profile-photo{position:absolute;inset:0 0 0 58%;z-index:-2;background:url('zenpukuji-park.webp') 70% 10%/cover no-repeat}.profile-section:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 52%,#ffffffb3 69%,#ffffff14 100%)}.profile-copy{width:58%}.profile-copy h2{text-align:left;font-size:25px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:10px}.profile-name{font-size:28px;line-height:1.5}.profile-name .profile-role{font-size:21px}.profile-name .profile-person{font-size:inherit}.profile-copy>p:not(.profile-name){font-size:18px;margin-top:4px}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:17px;font-weight:700;margin-top:9px}
.contact-section{background:var(--navy);color:#fff;padding-block:26px;text-align:center}.contact-section h2{font-size:30px;font-weight:400;margin-bottom:20px}.button-white{background:#fff;color:var(--navy);border-color:#fff;font-size:20px;min-height:52px;min-width:360px}.button-white:hover{background:#e7eef5}
.footer{padding-block:22px 14px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-name{font-size:22px;font-weight:700;line-height:1.5}.footer-top p+p{font-size:16px}.footer nav{display:flex;gap:0;font-size:15px}.footer nav a{text-decoration:none;padding-inline:18px;border-right:1px solid var(--line)}.footer nav a:last-child{border:0;padding-right:0}.footer nav a:hover{text-decoration:underline}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.footer-phone{font-size:17px;text-decoration:none}.footer-phone span{display:inline-block;font-size:15px;margin-left:16px}.footer-bottom small{font-size:12px;color:var(--text)}.skip{position:absolute;top:-100px;left:16px;z-index:20;padding:10px 20px;background:#fff}.skip:focus{top:8px}
@media(min-width:1700px){.wrap{width:min(1510px,92%)}.header{padding-inline:max(4%,calc((100vw - 1510px)/2))}.hero-inner{padding-block:54px 48px}h1{font-size:100px}.hero-lead{font-size:34px}.hero-description,.method{font-size:24px}.hero-button{font-size:24px;min-height:64px}.section{padding-block:36px}h2{font-size:34px}h3{font-size:27px}.columns p{font-size:22px}.steps h3{font-size:25px}.steps p{font-size:21px}.fee-row h3{font-size:27px}.fee-amount strong{font-size:40px}.fee-basis,.fee-amount>span,.fee-note,.fee-detail{font-size:19px}.fee-estimate{font-size:21px}.profile-copy h2{font-size:29px}.profile-name{font-size:32px}.profile-copy>p:not(.profile-name){font-size:21px}.contact-section h2{font-size:34px}}
@media(max-width:1100px){.header{gap:16px;flex-wrap:wrap;min-height:74px;padding-block:12px}.header nav{gap:20px}.header .header-button{padding-inline:18px}.hero-inner{padding-block:36px}.hero-copy{width:68%}.hero-lead{font-size:24px}.hero-description,.method{font-size:18px}.hero-button{min-width:320px;font-size:19px}.area{font-size:19px;padding-block:12px;gap:24px}.area:before,.area:after{width:50px}h2{font-size:25px}h3{font-size:21px}.columns p{font-size:17px}.concerns article{padding-inline:24px}.steps li{gap:10px;padding-inline:18px}.steps h3{font-size:18px}.steps p{font-size:17px}.step-number{font-size:32px}.profile-copy{width:65%}.profile-copy h2{font-size:23px}.profile-copy>p:not(.profile-name){font-size:17px}.profile-name .profile-role{font-size:19px}.footer nav{font-size:14px}.footer nav a{padding-inline:12px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{display:block;padding:13px 18px}.brand>span{font-size:20px}.brand small{font-size:14px}.header nav{margin-top:12px;padding-top:10px;border-top:1px solid #dbe3ea;display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;font-size:14px}.header .header-button{font-size:14px;min-height:38px;padding:8px 12px}
.hero{display:flex;flex-direction:column}.hero-inner{order:0;padding-block:25px 23px}.hero-copy{width:100%}.hero-photo{position:relative;order:1;inset:auto;width:100%;height:185px;z-index:0;background-position:65% 55%}.hero:after{display:none}h1{font-size:clamp(32px,8.4vw,61px);line-height:1.17;letter-spacing:-.045em}h1 span:first-child{font-size:1.1em}.hero-lead{font-size:21px;margin-top:18px;line-height:1.5}.hero-description{font-size:16px;line-height:1.65;margin-top:12px}.method{font-size:16px;margin-top:4px}.hero-button{width:100%;max-width:390px;min-width:0;font-size:18px;min-height:52px;margin-top:16px}.area{font-size:16px;line-height:1.7;padding:12px 18px}.area:before,.area:after{display:none}
.section{padding-block:25px}h2{font-size:23px;line-height:1.5;margin-bottom:20px}.columns{grid-template-columns:1fr;gap:18px}.concerns article,.concerns article:first-child,.concerns article:last-child{padding:0 0 18px;border-right:0;border-bottom:1px solid var(--line)}.concerns article:last-child{border:0;padding-bottom:0}h3{font-size:21px;margin-bottom:7px}.columns p{font-size:17px;line-height:1.75}.steps li,.steps li:first-child,.steps li:last-child{padding:0;border:0;gap:14px}.step-number{font-size:32px;min-width:36px}.steps h3{font-size:20px;margin-bottom:6px}.steps p{font-size:17px}.fee-panel{padding:0 18px}.fee-row{grid-template-columns:1fr;gap:10px;padding:18px 0}.fee-row h3{font-size:21px;margin:0}.fee-price{gap:3px 12px}.fee-basis{font-size:17px;flex-basis:auto}.fee-amount strong{font-size:32px}.fee-amount>span{font-size:17px}.fee-estimate{font-size:18px;margin-top:9px}.fee-detail{font-size:17px}.fee-note{font-size:16px;text-align:left;padding-block:14px}
.profile-copy{width:100%}.profile-photo{left:38%;opacity:.2}.profile-section:after{background:linear-gradient(90deg,#fff 0%,#fffffff2 42%,#ffffff70 100%)}.profile-copy h2{font-size:21px}.profile-name{font-size:27px}.profile-name .profile-role{font-size:17px}.profile-copy>p:not(.profile-name){font-size:17px}.text-link{font-size:17px}.contact-section h2{font-size:25px;margin-bottom:18px}.button-white{font-size:18px;min-width:0;width:100%;max-width:390px}.footer{padding-block:20px 14px}.footer-top{flex-direction:column;align-items:flex-start;gap:15px}.footer-name{font-size:20px}.footer-top p+p{font-size:14px}.footer nav{font-size:14px;flex-wrap:wrap;gap:10px}.footer nav a{padding:0 12px 0 0}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:14px}.footer-phone{font-size:17px}.footer-phone span{font-size:14px}.footer-bottom small{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.faq-section{background:var(--blue)}.faq-wrap{max-width:900px}.faq-section details{border-top:1px solid var(--line)}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{position:relative;padding:18px 38px 18px 0;list-style:none;cursor:pointer;font-size:20px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:'+';position:absolute;right:4px;top:18px;font-family:serif;font-size:24px;font-weight:400;line-height:1.3}.faq-section details[open] summary:after{content:'−'}.faq-section details p{font-size:18px;color:var(--text);padding:0 34px 18px 0;line-height:1.8}.faq-section summary:focus-visible{outline:3px solid #9d702d;outline-offset:3px}
.contact-body{max-width:900px;margin:0 auto;padding:28px;background:white;color:var(--ink);text-align:left}.line-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.line-contact h3{margin:0 0 12px;font-size:22px}.line-button{background:white;color:var(--navy);font-size:18px;min-height:48px;padding:10px 24px}.line-button:hover{background:var(--blue)}.line-qr{width:112px;height:112px;display:block}.contact-frame{display:block;width:100%;border:0;height:840px}.form-fallback{font-size:16px;margin-top:18px}
@media(max-width:760px){.faq-section summary{font-size:18px;padding-block:16px}.faq-section details p{font-size:17px;padding-right:0}.contact-body{padding:20px 16px}.line-contact{padding-bottom:20px;margin-bottom:20px}.line-contact h3{font-size:21px}.line-qr-link{display:none}.line-contact>div,.line-button{width:100%}.contact-frame{height:980px}}
