:root{--ink:#244334;--muted:#5e7164;--green:#244d3d;--line:#dedfd3;--paper:#fcfaf5;--gold:#9d7944;--serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.95;letter-spacing:.035em}a{color:inherit;text-underline-offset:6px}a:focus-visible{outline:3px solid #b78c45;outline-offset:6px}::selection{background:#dce6c8}h1,h2,h3,p,figure{margin:0}img{display:block;max-width:100%;height:auto}.wrap{max-width:1140px;margin:auto;padding-inline:44px}.skip{position:absolute;left:16px;top:-100px;z-index:20;background:#fff;padding:10px 20px}.skip:focus{top:12px}
.header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}.brand-mark{width:35px;height:40px;border:1px solid var(--green);border-radius:70% 0 70% 0;transform:rotate(-14deg);position:relative}.brand-mark:after{content:"";position:absolute;left:15px;bottom:6px;width:1px;height:27px;background:var(--green);transform:rotate(32deg)}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.18em;line-height:1.6}.brand strong{display:block;font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:.12em;line-height:1.6}.nav{display:flex;gap:26px;font-size:12px}.nav a{text-decoration:none;white-space:nowrap;padding-block:10px}.nav a:hover{color:var(--gold)}
.hero{overflow:hidden;background:linear-gradient(180deg,#fcfaf5 0%,#f7f3e8 100%);border-top:1px solid #edeadf}.hero-inner{max-width:1410px;position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:center;padding-block:62px 70px}.hero-text{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;color:#6b806a;margin-bottom:18px}.hero .eyebrow{color:var(--gold);font-size:10px}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.55vw,48px);line-height:1.7;letter-spacing:.055em;margin-bottom:23px;white-space:nowrap}.hero-intro{font-size:13px;line-height:2.25;color:var(--muted);letter-spacing:.02em}.hero-link{display:inline-flex;gap:35px;align-items:center;margin-top:30px;padding:13px 21px;border:1px solid var(--green);border-radius:3px;background:var(--green);color:#fff;text-decoration:none;font-size:12px;transition:background .2s,transform .2s}.hero-link:hover{background:#365f4b;transform:translateY(-2px)}.hero-link span{border:1px solid #ffffff65;border-radius:50%;height:25px;width:25px;display:grid;place-items:center;line-height:1}.hero-visual{position:relative;min-width:0}.hero-visual:before{content:"";position:absolute;inset:-16px 18px 16px -16px;border:1px solid #cdd4bf;border-radius:72px 8px 72px 8px}.hero-visual img{position:relative;aspect-ratio:3/2;width:100%;border-radius:65px 6px 65px 6px;box-shadow:0 18px 45px #47583412}.hero-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:20px;color:var(--muted);font-size:10px;letter-spacing:.13em}.hero-bottom span:last-child{letter-spacing:.04em}
.section{padding-block:86px;border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:250px 1fr;gap:48px;margin-bottom:38px}.section-heading h2{font-family:var(--serif);font-size:29px;line-height:1.6;font-weight:500;letter-spacing:.055em}.section-heading p:not(.eyebrow){font-size:14px;line-height:2.15;color:var(--muted);padding-top:32px;max-width:640px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:40px}.value{border-top:1px solid #bfcdb8;padding-top:24px}.value-number{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1;color:var(--gold)}.value h3{font-family:var(--serif);font-size:21px;font-weight:500;margin:18px 0 12px}.value p{font-size:13px;color:var(--muted);line-height:2.05}.text-link{display:inline-flex;gap:20px;align-items:center;text-decoration:none;border-bottom:1px solid #9cae9d;padding:4px 0;font-size:12px;transition:color .2s,border-color .2s}.text-link:hover{color:var(--gold);border-color:var(--gold)}.origin-link{margin-top:30px}
.activities{display:grid;grid-template-columns:1fr 1fr;gap:24px}.activity{display:flex;flex-direction:column;min-width:0;padding:32px;border:1px solid #dde2d4;border-radius:10px;background:#fffef9}.activity:nth-child(2){background:#f4f6ed}.activity:nth-child(3){background:#f4f6ed}.activity-label{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:25px;line-height:1.4;margin-bottom:22px}.activity-label i{font-size:12px;color:var(--gold);font-weight:400;align-self:flex-start;margin:9px 2px 0 2px}.activity-icon{width:59px;height:59px;padding:4px;margin-right:8px;background:#e9eedf;border-radius:50%;color:#56714d}.activity:nth-child(2) .activity-icon,.activity:nth-child(3) .activity-icon{background:#e5eadb}.activity-icon svg{display:block;width:100%;height:100%}.activity h3{font-size:18px;font-weight:600;line-height:1.7;margin-bottom:12px;letter-spacing:.03em}.activity p{font-size:13px;color:var(--muted);line-height:2.05}.activity-links{list-style:none;margin:0;padding:24px 0 0;margin-top:auto}.activity-links li{border-top:1px solid var(--line)}.activity-links a{display:flex;justify-content:space-between;gap:13px;padding:12px 0;text-decoration:none;font-size:12px;line-height:1.8;align-items:center}.activity-links li:last-child a{padding-bottom:0}.activity-links a:hover{color:var(--gold)}.arrow{font-style:normal;font-size:17px;flex-shrink:0}
.community{background:#edf1e7}.community .section{border-bottom:0}.places{display:grid;grid-template-columns:1fr 1fr;gap:28px}.place{background:#fffdf7;border:1px solid #d7dfce;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding-bottom:30px}.place-image{aspect-ratio:3/2;object-fit:cover;width:100%;border-bottom:1px solid #e4e5d9}.place-label{font-size:10px;color:#6c7b60;letter-spacing:.1em;margin:27px 30px 13px}.place h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.6;margin:0 30px 15px}.place p{font-size:13px;color:var(--muted);line-height:2.05;margin:0 30px}.place .text-link{margin:22px 30px 0}.community-note{font-size:11px;color:var(--muted);margin-top:20px}
.overview{display:grid;grid-template-columns:250px 1fr;gap:48px}.overview h2{font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.6}.overview dl{margin:0}.info-row{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:17px 0;border-top:1px solid var(--line);font-size:13px}.info-row dt{color:var(--muted);font-size:12px}.info-row dd{margin:0}.official-banner{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 26px;background:var(--green);border:1px solid var(--green);border-radius:4px;color:#fff;text-decoration:none;transition:background .2s}.official-banner:hover{background:#365f4b}.official-banner strong{font-size:14px;display:block;font-weight:600}.official-banner small{font-size:11px;color:#d3e0d0}.public-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px;font-size:12px}.footer{padding-block:32px 38px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-name{font-family:var(--serif);font-size:17px}.footer small{font-size:10px;color:var(--muted)}.top-link{font-size:11px;text-decoration:none;white-space:nowrap}
@media(min-width:1550px){.hero-inner{padding-inline:64px}}
@media(max-width:1100px){.hero-inner{gap:25px}.hero h1{font-size:3.4vw}.hero-intro{font-size:12px}.hero-intro br{display:none}.hero-visual:before{inset:-11px 12px 11px -11px}.hero-link{margin-top:25px}.section-heading,.overview{grid-template-columns:220px 1fr;gap:32px}}
@media(max-width:900px){.wrap{padding-inline:32px}.nav{gap:18px}.hero-inner{grid-template-columns:1fr;padding-block:45px 38px;gap:42px}.hero-text{max-width:610px}.hero h1{font-size:42px;white-space:normal}.hero-intro{max-width:520px;font-size:13px}.hero-intro br{display:initial}.hero-visual{max-width:690px;width:100%;justify-self:center}.hero-visual img{border-radius:45px 5px 45px 5px}.hero-visual:before{border-radius:48px 5px 48px 5px}.hero-link{margin-top:25px}.section-heading,.overview{grid-template-columns:200px 1fr;gap:28px}.values{gap:25px}.activity{padding:26px}.activity h3{font-size:16px}.place-label,.place h3,.place p,.place .text-link{margin-inline:24px}}
@media(max-width:640px){html{scroll-padding-top:20px}.wrap{padding-inline:24px}.header{padding-top:20px;padding-bottom:14px;min-height:0;flex-direction:column;align-items:flex-start;gap:15px}.brand strong{font-size:24px}.brand-mark{width:30px;height:34px}.brand-mark:after{height:22px;left:12px}.nav{width:100%;gap:0;justify-content:space-between;font-size:11px;border-top:1px solid var(--line);padding-top:4px}.nav a{padding-block:8px}.hero-inner{padding-top:37px;padding-bottom:28px;gap:34px}.hero h1{font-size:31px;letter-spacing:.035em;line-height:1.7;margin-bottom:18px}.hero .eyebrow{font-size:9px;letter-spacing:.17em;margin-bottom:14px}.hero-intro{font-size:12px;line-height:2.15}.hero-intro br{display:none}.hero-link{margin-top:23px;padding:10px 17px;font-size:11px;gap:25px}.hero-link span{width:22px;height:22px}.hero-visual:before{inset:-8px 8px 8px -8px;border-radius:33px 4px 33px 4px}.hero-visual img{border-radius:30px 4px 30px 4px;box-shadow:0 10px 25px #4758340d}.hero-bottom{font-size:9px;display:block;padding-block:15px}.hero-bottom span{display:block}.hero-bottom span+span{margin-top:2px}.section{padding-block:52px}.section-heading,.overview{display:block}.section-heading{margin-bottom:28px}.section-heading h2,.overview h2{font-size:25px}.section-heading p:not(.eyebrow){padding-top:17px;font-size:13px}.eyebrow{font-size:9px;margin-bottom:11px}.values{grid-template-columns:1fr;gap:24px;margin-top:26px}.value{padding-top:19px;display:grid;grid-template-columns:31px 1fr;gap:0 10px}.value-number{grid-row:1/3;padding-top:4px;font-size:20px}.value h3{font-size:20px;margin:0 0 9px}.value p{grid-column:2;font-size:12px}.origin-link{margin-top:26px}.activities{grid-template-columns:1fr;gap:17px}.activity{padding:25px}.activity:nth-child(3){background:#fffef9}.activity:nth-child(4){background:#f4f6ed}.activity-label{font-size:25px;margin-bottom:18px}.activity-icon{width:52px;height:52px}.activity h3{font-size:16px}.activity p{font-size:12px}.activity-links{padding-top:18px}.activity-links a{font-size:11px;min-height:42px}.places{grid-template-columns:1fr;gap:23px}.place{padding-bottom:25px}.place-label{margin-top:23px;margin-bottom:12px;font-size:9px}.place h3{font-size:23px}.place p{font-size:12px}.community-note{font-size:10px}.overview dl{margin-top:26px}.info-row{grid-template-columns:87px 1fr;gap:17px;font-size:12px}.info-row dt{font-size:11px}.official-banner{padding:19px;gap:14px}.official-banner strong{font-size:12px}.official-banner small{font-size:10px}.public-links{gap:18px;font-size:11px}.footer{align-items:flex-start;padding-block:25px 29px;gap:16px}.footer-name{font-size:15px}.footer small{display:block;font-size:9px;margin-top:5px}.top-link{font-size:10px;margin-top:5px}}
@media(max-width:360px){.nav{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.nav a{display:flex;align-items:center;min-height:32px;padding-block:2px}.hero h1{font-size:24px}.activity{padding:20px}.activity h3{font-size:14px}.place h3{font-size:20px}.place-label,.place h3,.place p,.place .text-link{margin-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:#fff}.header{min-height:70px}.nav,.hero-link,.top-link{display:none}.hero{background:#fff}.hero-inner{padding-block:25px;grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:26px}.hero-intro{font-size:11px}.hero-intro br{display:none}.hero-visual:before{display:none}.section{padding-block:35px}.activity,.place,.value{break-inside:avoid}.community{background:none}.activities{gap:16px}.activity{padding:20px}a{text-decoration:none}.official-banner{background:#fff;color:var(--ink)}.official-banner small{color:var(--muted)}}
@media(max-width:640px){.hero-inner{gap:0}.hero-text{display:contents}.hero .eyebrow{grid-row:1}.hero h1{grid-row:2;margin-bottom:26px}.hero-visual{grid-row:3;margin-bottom:24px}.hero-intro{grid-row:4;font-size:13px}.hero-link{grid-row:5;justify-self:start}.value p,.activity p,.place p{font-size:13px}.activity-links a{font-size:12px}}
.place h3{text-wrap:balance}@media(max-width:640px){.place h3{font-size:21px}}@media(max-width:360px){.place h3{font-size:20px}}
