:root{--green:#167e70;--ink:#131512;--muted:#545750;--beige:#f7f5ef;--line:#e9e7e1;font-family:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}body{margin:0;background:#fff;font-size:18px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.45;letter-spacing:.01em}h2{font-size:38px;font-weight:800}h3{font-size:23px}img{display:block;max-width:100%}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.section-width{max-width:1180px;margin-inline:auto}.skip-link{position:absolute;top:-80px;left:12px;z-index:5;background:white;padding:12px}.skip-link:focus{top:12px}.site-header{height:104px;background:#fff;border-bottom:1px solid #eee}.header-inner{max-width:1180px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap;line-height:1.3}.brand>svg{width:44px;height:44px;stroke-width:1.9}.brand b{font-size:31px;font-weight:900;letter-spacing:-.03em}.brand small{display:block;margin-top:4px;font-size:11px;letter-spacing:.04em}.site-header nav{display:flex;align-items:center;gap:28px;font-size:17px;font-weight:600;white-space:nowrap}.site-header nav a:hover{color:var(--green)}.list-link{display:flex;gap:9px;align-items:center;border:1px solid #deded9;border-radius:40px;padding:9px 20px;font-weight:500}.list-link svg{width:23px;height:23px;color:#74776f}.mobile-list{display:none}.hero{position:relative;height:570px;overflow:hidden;background:#f6f3ec}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;inset:0}.hero-inner{position:relative;max-width:1140px;height:100%;margin:auto;padding-top:41px}.hero-copy{position:relative;width:max-content;max-width:100%}.eyebrow{display:inline-block;padding:5px 23px;background:#ffe8c7;border-radius:40px;font-size:20px;font-weight:800;line-height:1.6;letter-spacing:.015em}.title-wrap{position:relative;width:max-content;margin-top:16px}.hero h1{font-size:80px;line-height:1.17;letter-spacing:-.055em;font-weight:900;white-space:nowrap}.rays{position:absolute;left:calc(100% - 1px);top:-23px;width:43px;height:55px;stroke:#37ab38;stroke-width:3}.tagline{font-size:36px;line-height:1.5;font-weight:800;letter-spacing:-.025em;margin-top:6px}.hero-description{font-size:25px;line-height:1.62;margin-top:13px;letter-spacing:.025em}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--green);color:#fff;border-radius:70px;padding:18px 29px;font-size:25px;line-height:1.5;font-weight:750;min-height:82px}.primary-button:hover{background:#106b5e}.hero .primary-button{margin-top:24px}.primary-button>svg{width:34px;height:34px;stroke-width:2}.primary-button .button-arrow{width:28px;height:28px;margin-left:3px}.photo-note{position:absolute;top:106px;right:32px;transform:rotate(-9deg);font-size:24px;font-weight:700;letter-spacing:.06em;line-height:1.5;text-shadow:0 1px 6px #fff}.photo-note span{padding-left:22px}.photo-note svg{display:block;width:150px;height:26px;margin-left:74px;stroke-width:1.3}.places{padding-top:29px;padding-bottom:26px;text-align:center}.places h2{font-size:39px;letter-spacing:-.025em}.section-intro{font-size:21px;margin-top:6px}.place-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:26px}.place-card{border:1px solid #eeede8;border-radius:17px;background:white;overflow:hidden;padding:0;text-align:left;cursor:pointer;box-shadow:0 3px 12px #2222220d}.place-card:hover{border-color:#89b6ac}.place-card[aria-pressed=true]{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.place-card>img{width:100%;height:178px;object-fit:cover}.place-body{position:relative;display:block;min-height:157px;padding:19px 17px 21px}.place-title{display:flex;align-items:center;gap:10px;white-space:nowrap;line-height:1.6}.place-title svg{width:36px;height:36px;stroke-width:1.75}.place-title strong{font-size:23px;font-weight:800;letter-spacing:-.045em}.place-description{display:block;padding-left:46px;font-size:16px;line-height:1.8;margin-top:8px;letter-spacing:-.02em}.chevron{position:absolute;right:15px;bottom:33px;width:28px;height:28px;border-radius:50%;background:#f2f2f0;color:#555b53;font-size:29px;line-height:22px;text-align:center}.selection-status{min-height:0;color:var(--green);font-size:17px}.selection-status:not(:empty){padding-top:18px}.lower-section{padding-top:82px;padding-bottom:88px;text-align:center}.section-kicker{font-size:18px;letter-spacing:.06em;color:var(--green);font-weight:700;margin-bottom:12px}.about,.tips{background:var(--beige)}.plain-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin-top:48px}.plain-columns p{font-size:18px;color:var(--muted);text-align:left;margin-top:16px}.feature-icon{width:46px;height:46px;color:var(--green);margin-bottom:18px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:48px 0 0;gap:40px;list-style:none}.steps li>span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--green);color:white;border-radius:50%;font-size:24px;font-weight:700;margin-bottom:20px}.steps p{font-size:17px;color:var(--muted);margin-top:12px}.result-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px;text-align:left}.result-examples article{padding:26px 0;border-top:1px solid #d9dfd6}.result-tag{display:inline-block;background:#e1f0ea;color:#146f60;border-radius:30px;padding:3px 15px;font-size:15px;font-weight:700;margin-bottom:15px}.result-tag.keep{background:#e6eef4;color:#386587}.result-tag.alternative{background:#ffedcb;color:#836322}.result-examples h3{font-size:21px}.result-examples p{font-size:17px;margin-top:16px;color:var(--muted)}.reference-note{font-size:15px;color:var(--muted);margin-top:20px}.list-large{width:48px;height:48px;color:var(--green);margin-bottom:18px}.list-about>p:not(.section-kicker){font-size:19px;line-height:1.9;color:var(--muted);margin-top:24px}.list-about .primary-button{font-size:21px;min-height:66px;margin-top:32px;padding:16px 30px}.site-footer{background:#f5f4ef;border-top:1px solid var(--line);padding:37px 0 30px}.site-footer .brand b{font-size:23px}.site-footer .brand svg{width:33px;height:33px}.site-footer p{margin-top:17px;font-size:14px;color:var(--muted)}.site-footer small{display:block;margin-top:24px;font-size:13px;color:#74776f}
@media(min-width:1600px){.hero{max-width:1536px;margin:auto}.hero-inner{max-width:1280px}.photo-note{right:90px}}
@media(max-width:1239px) and (min-width:761px){.header-inner,.section-width{margin-inline:30px}.header-inner{gap:16px}.brand b{font-size:26px}.brand>svg{width:37px;height:37px}.site-header nav{gap:18px;font-size:14px}.list-link{padding:9px 13px}.hero-inner{margin-inline:50px}.hero h1{font-size:clamp(53px,6.25vw,78px)}.tagline{font-size:clamp(25px,2.8vw,35px)}.hero-description{font-size:22px}.eyebrow{font-size:18px}.primary-button{font-size:22px}.photo-note{font-size:21px;right:0}.place-grid{gap:18px}.place-title{gap:7px}.place-title svg{width:28px;height:28px}.place-title strong{font-size:clamp(16px,1.85vw,22px)}.place-body{padding-inline:12px}.place-description{padding-left:35px;font-size:14px}.chevron{right:8px;width:23px;height:23px;line-height:18px;font-size:25px}.places h2{font-size:34px}.section-intro{font-size:18px}.plain-columns{gap:26px}}
@media(max-width:940px) and (min-width:761px){.site-header{height:86px}.brand small{font-size:9px}.site-header nav{gap:13px;font-size:12px}.brand b{font-size:23px}.brand{gap:9px}.hero{height:490px}.hero-inner{padding-top:35px;margin-inline:36px}.hero-description{font-size:19px}.hero .primary-button{margin-top:23px;padding:15px 22px;font-size:19px;min-height:66px}.photo-note{top:90px;font-size:17px}.photo-note svg{width:120px;margin-left:40px}.place-card>img{height:142px}.place-body{min-height:144px}.place-title svg{width:25px;height:25px}.place-description{padding-left:0;font-size:13px}.chevron{bottom:24px}.plain-columns h3,.steps h3{font-size:20px}}
@media(max-width:760px){body{font-size:16px}.section-width{margin-inline:20px}.site-header{height:76px}.header-inner{margin-inline:20px;gap:12px}.brand{gap:10px}.brand>svg{width:33px;height:33px}.brand b{font-size:23px}.brand small{font-size:9px;margin-top:3px}.site-header nav{display:none}.mobile-list{display:inline-flex;padding:10px;border:1px solid #e2e2dd;border-radius:50%}.mobile-list svg{width:23px;height:23px}.hero{height:auto;padding-bottom:242px;background:#fbfaf6;overflow:hidden}.hero-photo{top:auto;bottom:0;height:260px;object-position:70% center}.hero-inner{padding:27px 22px 20px;max-width:none}.hero-copy{width:100%}.eyebrow{font-size:13px;padding:4px 13px}.title-wrap{margin-top:14px}.hero h1{font-size:clamp(36px,10.5vw,63px);letter-spacing:-.07em}.rays{width:25px;height:34px;top:-15px;left:calc(100% + 1px);stroke-width:3}.tagline{font-size:clamp(17px,4.9vw,29px);letter-spacing:-.04em;margin-top:8px}.hero-description{font-size:16px;line-height:1.8;margin-top:13px;letter-spacing:0}.primary-button{width:100%;font-size:17px;min-height:58px;padding:14px 16px;gap:9px;max-width:420px}.primary-button>svg{width:25px;height:25px}.primary-button .button-arrow{width:23px;height:23px;margin-left:0}.hero .primary-button{margin-top:20px}.photo-note{top:calc(100% + 38px);right:23px;font-size:15px;line-height:1.5;transform:rotate(-8deg)}.photo-note span{padding-left:12px}.photo-note svg{width:94px;height:18px;margin-left:40px}.places{padding-top:30px;padding-bottom:36px}.places h2{font-size:23px;line-height:1.6;letter-spacing:-.04em;text-wrap:balance}.section-intro{font-size:14px;line-height:1.8;margin-top:10px}.place-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin-top:23px}.place-card{border-radius:11px}.place-card>img{height:auto;aspect-ratio:1.5;object-fit:cover}.place-body{padding:13px 10px 16px;min-height:112px}.place-title{gap:5px}.place-title svg{width:24px;height:24px}.place-title strong{font-size:15px;letter-spacing:-.05em}.place-description{padding-left:0;font-size:12px;line-height:1.8;margin-top:8px}.chevron{right:8px;bottom:19px;width:21px;height:21px;font-size:23px;line-height:17px}.selection-status{font-size:14px}.lower-section{padding-top:49px;padding-bottom:52px}h2{font-size:25px;line-height:1.65;letter-spacing:-.025em}h3{font-size:20px}.section-kicker{font-size:14px;margin-bottom:10px}.plain-columns,.steps,.result-examples{grid-template-columns:1fr;gap:30px;margin-top:32px}.plain-columns>div{position:relative;text-align:left;padding-left:57px}.feature-icon{position:absolute;left:0;top:2px;width:35px;height:35px;margin:0}.plain-columns p{font-size:16px;margin-top:10px}.steps{gap:29px;text-align:left}.steps li{position:relative;padding-left:60px;min-height:64px}.steps li>span{position:absolute;left:0;top:2px;width:40px;height:40px;font-size:21px;margin:0}.steps h3{font-size:18px}.steps p{font-size:15px;margin-top:7px}.result-examples{gap:0;margin-top:25px}.result-examples article{padding:25px 0}.result-examples h3{font-size:19px}.result-examples p{font-size:16px;margin-top:10px}.result-tag{font-size:14px;margin-bottom:12px}.reference-note{font-size:13px;text-align:left;margin-top:7px}.list-about>p:not(.section-kicker){font-size:16px;margin-top:20px}.list-about .primary-button{font-size:17px;min-height:58px;margin-top:25px}.site-footer{padding-top:28px}.site-footer .brand b{font-size:21px}.site-footer p{font-size:12px;line-height:1.8}.site-footer small{font-size:12px;margin-top:18px}}
@media(max-width:359px){.header-inner,.section-width{margin-inline:16px}.header-inner{gap:6px}.brand b{font-size:20px}.brand>svg{width:29px;height:29px}.brand{gap:7px}.mobile-list{padding:8px}.hero-inner{padding-inline:16px}.hero h1{font-size:34px}.tagline{font-size:17px}.hero-description{font-size:14px}.primary-button{font-size:15px}.place-title strong{font-size:13px}.place-title svg{width:20px;height:20px}.place-description{font-size:11px}.places h2{font-size:21px}.chevron{right:6px;width:18px;height:18px;font-size:20px;line-height:15px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Proportion adjustments after comparing the 1280px preview with screen 1. */
@media(min-width:1240px){.hero-inner{max-width:1120px}.title-wrap{margin-top:24px}.tagline{font-size:38px}.hero-description{margin-top:16px}.hero .primary-button{width:520px;min-height:90px;font-size:28px;margin-top:25px}}
.places h2>span{display:inline-block}
@media(max-width:1239px) and (min-width:761px){.hero .primary-button{width:42vw}}
@media(max-width:359px){.place-title strong{font-size:12px}.place-title svg{width:19px;height:19px}.place-title{gap:4px}}
@media(max-width:1239px) and (min-width:761px){.hero-photo{object-position:left center}}
@media(max-width:940px) and (min-width:761px){.hero .primary-button{width:360px;max-width:100%;font-size:18px;gap:10px;white-space:nowrap}.place-title{gap:5px}.place-title strong{font-size:14px}.place-description{font-size:12px}}
@media(min-width:1240px){.place-title svg{width:42px;height:42px}.place-title strong{font-size:25px}.place-description{padding-left:52px}}
.place-card { display: block; }

/* Links to the usage guide below the approved top layout. */
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 17px; font-size: 14px; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.how-help-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 25px; color: var(--green); font-size: 16px; text-decoration: underline; text-underline-offset: 4px; }

.search-entry-link { display: flex; justify-content: center; align-items: center; min-height: 44px; margin-top: 23px; font-size: 15px; color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
