:root{--lime:#d7f348;--navy:#132b2b;--blue:#16829a;--orange:#ef7d35}.extra-wide{max-width:1180px}.site-head{background:rgba(248,247,240,.96)}.nav{gap:24px}.adventure-hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;padding:0;background:#173e34}.adventure-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.adventure-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,27,.86) 0%,rgba(9,31,27,.55) 40%,rgba(9,31,27,.08) 76%),linear-gradient(0deg,rgba(9,31,27,.3),transparent 45%)}.hero-copy{position:relative;z-index:1;width:100%;max-width:1180px;color:#fff}.overline{display:flex;align-items:center;gap:12px;margin:0 0 18px;font:700 .72rem 'DM Sans',sans-serif;letter-spacing:.22em}.overline span{width:38px;border-top:3px solid var(--lime)}.hero-copy h1{margin:0 0 24px;color:#fff;font:900 clamp(2.7rem,7vw,5.5rem)/1.13 var(--serif);letter-spacing:.02em;text-shadow:0 3px 20px #09231e}.hero-copy h1 em{color:var(--lime);font-style:normal}.hero-copy>p:not(.overline){font-size:1.05rem;line-height:2}.hero-cta{display:flex;justify-content:space-between;width:min(330px,100%);margin-top:34px;padding:17px 22px;background:var(--lime);color:var(--navy);font-weight:900;text-decoration:none}.hero-cta:hover{background:#fff}.hero-stamp{position:absolute;right:5vw;bottom:42px;z-index:2;width:126px;height:126px;display:grid;place-content:center;text-align:center;border:2px solid #fff;border-radius:50%;color:#fff;transform:rotate(-8deg);backdrop-filter:blur(4px)}.hero-stamp b{font-size:1.4rem}.hero-stamp span{font-size:.68rem;line-height:1.5}.search-strip{background:var(--navy);color:#fff}.search-strip .wrap{max-width:1180px;display:flex;align-items:center;gap:10px;padding-top:15px;padding-bottom:15px;overflow-x:auto}.search-label{flex:none;color:var(--lime);font-size:.7rem;font-weight:900}.search-strip a{flex:none;padding:6px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;font-size:.7rem;text-decoration:none}.activity-section{padding:92px 0;background:#f5f1e7}.section-title{text-align:center;margin-bottom:42px}.section-title>p{margin:0;color:var(--orange);font:700 .72rem 'DM Sans',sans-serif;letter-spacing:.22em}.section-title h2{margin:.25em 0;color:var(--navy);font-size:clamp(2rem,4vw,3rem);font-weight:900}.section-title>span{color:#65716c;font-size:.9rem}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.activity-card{border-radius:18px;overflow:hidden}.activity-card button{position:relative;width:100%;min-height:330px;display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:0;color:#fff;text-align:left;font-family:var(--sans);cursor:pointer;overflow:hidden}.activity-card button:before,.activity-card button:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%}.activity-card button:before{width:230px;height:230px;right:-70px;top:-80px}.activity-card button:after{width:150px;height:150px;right:-5px;top:-40px}.activity-card--cycle button{background:#207b67}.activity-card--fish button{background:#287f9a}.activity-card--camp button{background:#cb6a32}.activity-card--river button{background:#156ea0}.activity-card--hike button{background:#516c36}.activity-card--bbq button{background:#9d4a38}.activity-icon{position:relative;z-index:1;font-size:3.1rem;filter:drop-shadow(0 5px 7px rgba(0,0,0,.15))}.activity-card small{margin-top:auto;font:700 .65rem 'DM Sans',sans-serif;letter-spacing:.2em;opacity:.75}.activity-card h3{margin:.12em 0 .35em;color:#fff;font:900 1.55rem var(--serif)}.activity-card p{margin:0;font-size:.78rem;line-height:1.75;opacity:.9}.activity-card b{margin-top:16px;font-size:.7rem}.activity-card i{position:absolute;right:24px;bottom:25px;font-size:.7rem;font-style:normal}.activity-card button{transition:transform .2s,filter .2s}.activity-card button:hover{transform:scale(1.018);filter:brightness(1.06)}.live-section{padding:100px 0;background:var(--lime);border:0}.live-section .wrap{display:grid;grid-template-columns:1.45fr .75fr;align-items:center;gap:80px}.overline.dark{color:var(--navy)}.overline.dark span{border-color:var(--navy)}.live-copy h2{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.35;color:var(--navy)}.live-copy h2 em{position:relative;font-style:normal}.live-copy h2 em:after{content:"";position:absolute;left:-3%;right:-3%;bottom:0;border-bottom:7px solid #fff;transform:rotate(-2deg)}.live-copy>p:not(.overline){font-weight:500}.shift{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:34px;padding-top:22px;border-top:2px solid rgba(19,43,43,.25)}.shift i{grid-column:2;grid-row:1/3;padding:0 22px;font-size:1.8rem;font-style:normal}.shift span{font-size:.68rem}.shift b{font-size:1rem}.price-ticket{padding:34px;background:#fff;box-shadow:12px 12px 0 var(--navy);transform:rotate(1.5deg)}.price-ticket p{margin:0;font-size:.78rem}.price-ticket strong{display:block;color:var(--orange);line-height:1.2}.price-ticket strong span{font:900 4.8rem 'DM Sans',sans-serif}.price-ticket small{color:#777}.price-ticket hr{margin:22px 0;border:0;border-top:1px dashed #aaa}.price-ticket a{display:block;margin-top:18px;padding:12px;background:var(--navy);color:#fff;text-align:center;font-size:.76rem;font-weight:900;text-decoration:none}.house-section{padding:95px 0;background:#eef4f0}.activity-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:32px}.activity-tabs button{padding:9px 15px;border:1px solid #b8c9c1;border-radius:999px;background:#fff;color:var(--navy);font:700 .72rem var(--sans);cursor:pointer}.activity-tabs button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.house-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.house-card{background:#fff;transition:.2s}.house-card[hidden]{display:none}.house-card>a{display:block;color:var(--navy);text-decoration:none}.house-card figure{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#d8e2dc}.house-card figure img{width:100%;height:100%;object-fit:cover;transition:.25s}.house-card:hover img{transform:scale(1.035)}.house-card figure span{position:absolute;left:12px;bottom:12px;padding:5px 10px;background:var(--lime);font-size:.68rem;font-weight:900}.house-card>a>div{padding:22px}.house-card small{color:var(--blue);font-weight:700}.house-card h3{margin:.15em 0;font-family:var(--serif)}.house-price{margin:4px 0;color:var(--orange);font-weight:900}.house-price b{font:900 2.5rem 'DM Sans',sans-serif}.house-card ul{padding-left:1.2em;font-size:.75rem;color:#596760}.house-card em{display:block;margin-top:18px;padding-top:12px;border-top:1px solid #ddd;text-align:right;font-size:.72rem;font-weight:900;font-style:normal}.listing-note{margin-top:18px;color:#718078;text-align:center;font-size:.68rem}.all-houses{margin-top:70px;padding:55px 25px;background:var(--navy);color:#fff;text-align:center}.all-houses p{margin:0;color:var(--lime);font-size:.72rem;font-weight:900}.all-houses h2{margin:.25em 0 .8em;color:#fff;font-size:clamp(1.5rem,3vw,2.4rem)}.footer-brand{font-family:var(--serif);font-size:1.1rem;color:#fff;text-decoration:none}@media(max-width:900px){.activity-grid{grid-template-columns:repeat(2,1fr)}.live-section .wrap{grid-template-columns:1fr;gap:45px}.house-grid{grid-template-columns:repeat(2,1fr)}.nav{display:none}}@media(max-width:620px){.adventure-hero{min-height:620px;align-items:flex-end}.adventure-hero>img{object-position:62% center}.adventure-hero__shade{background:linear-gradient(0deg,rgba(9,31,27,.92),rgba(9,31,27,.1) 85%)}.hero-copy{padding-bottom:42px}.hero-copy h1{font-size:2.7rem}.hero-stamp{width:90px;height:90px;right:18px;top:22px;bottom:auto}.activity-section,.house-section{padding:65px 0}.activity-grid,.house-grid{grid-template-columns:1fr}.activity-card button{min-height:295px}.live-section{padding:68px 0}.live-copy h2{font-size:2.35rem}.shift{grid-template-columns:1fr}.shift i{grid-column:1;grid-row:auto;padding:10px 0;transform:rotate(90deg);justify-self:start}.price-ticket{margin:0 8px}.nav-toggle{display:flex}.hero-copy>p:not(.overline){font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.activity-card button,.house-card img{transition:none}}
.house-card figure img{object-fit:contain;background:#fff}
.search-strip a.official-tour-link{margin-left:auto;border-color:var(--lime);background:var(--lime);color:var(--navy);font-weight:900}
.site-head .nav-cta{margin-left:auto}.page-nav{position:relative;z-index:3;border-bottom:1px solid #d6ddd7;background:#fff;box-shadow:0 8px 24px rgba(19,43,43,.08)}.page-nav .wrap{max-width:1180px;display:flex;align-items:stretch;padding-top:0;padding-bottom:0}.page-nav span{display:flex;align-items:center;padding:17px 22px 17px 0;color:var(--orange);font:700 .62rem 'DM Sans',sans-serif;letter-spacing:.18em}.page-nav a{display:flex;align-items:center;gap:8px;padding:17px 20px;border-left:1px solid #e1e6e2;color:var(--navy);font-size:.72rem;font-weight:900;text-decoration:none;white-space:nowrap}.page-nav a:hover{background:var(--lime)}.page-nav b{color:#9aa69f;font:700 .58rem 'DM Sans',sans-serif}.search-strip{border-top:0}
@media(max-width:900px){.page-nav{overflow-x:auto}.page-nav .wrap{width:max-content;min-width:100%;padding-left:20px}.page-nav span{padding-right:15px}.page-nav a{padding:15px}}

/* 国土地理院マップ */
.overview-map-section{padding:92px 0;background:#fff}.overview-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);gap:22px}.map-canvas{position:relative;z-index:1;background:#dce9df}.overview-map{height:510px;border-radius:22px;overflow:hidden;box-shadow:0 16px 40px rgba(19,43,43,.12)}.map-loading{display:grid;height:100%;place-items:center;margin:0;color:#56665e;font-size:.78rem}.area-guide{display:grid;align-content:center;gap:10px}.area-guide-card{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:13px;width:100%;padding:17px;border:0;border-radius:12px;color:#fff;text-align:left;font-family:var(--sans);cursor:pointer;transition:.18s}.area-guide-card:hover,.area-guide-card.is-active{transform:translateX(-7px);box-shadow:8px 8px 0 var(--lime)}.area-guide-card--east{background:#207b67}.area-guide-card--center{background:#156ea0}.area-guide-card--west{background:#516c36}.area-guide-card>b{font:700 1.7rem 'DM Sans',sans-serif;opacity:.55}.area-guide-card span{display:grid}.area-guide-card small{font:700 .57rem 'DM Sans',sans-serif;letter-spacing:.15em;opacity:.7}.area-guide-card strong{font-family:var(--serif);font-size:1rem}.area-guide-card em{font-size:.65rem;font-style:normal;opacity:.85}.area-guide>p{margin:7px 0 0;color:#748079;font-size:.65rem}.leaflet-container{font-family:var(--sans)}.leaflet-control-attribution{font-size:9px!important}.area-label{background:transparent;border:0}.area-label span{display:block;padding:7px 12px;border:3px solid #fff;border-radius:999px;background:var(--navy);box-shadow:0 3px 12px rgba(0,0,0,.25);color:#fff;font-size:.72rem;font-weight:900;white-space:nowrap}
.play-map-section{padding:95px 0;background:var(--navy)}.section-title--light h2{color:#fff}.section-title--light>span{color:#b9c8c2}.map-panel{overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.28)}.map-area-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#e9eee9}.map-area-tabs button{padding:18px;border:0;border-right:1px solid #ccd8d1;background:transparent;color:var(--navy);font:900 .85rem var(--sans);cursor:pointer}.map-area-tabs button span{margin-right:8px;color:var(--orange);font:700 .7rem 'DM Sans',sans-serif}.map-area-tabs button.is-active{background:var(--lime)}.detail-map-wrap{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr)}.detail-map{height:570px}.map-story{padding:34px 28px}.map-story>p:first-child{margin:0;color:var(--orange);font:700 .65rem 'DM Sans',sans-serif;letter-spacing:.16em}.map-story h3{margin:.2em 0 .5em;font:900 1.6rem var(--serif)}.map-story>p{color:#627069;font-size:.76rem}.map-legend{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid #ddd}.map-legend span{display:flex;align-items:center;gap:6px;font-size:.66rem;font-weight:700}.legend-pin{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#fff;font-size:.57rem;font-style:normal}.legend-pin--play{background:var(--blue)}.legend-pin--house{background:var(--orange)}.map-story ol{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}.map-story li{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center;padding-bottom:9px;border-bottom:1px dashed #ddd}.map-story li i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#e4f0eb;font-style:normal}.map-story li b{display:block;font-size:.75rem}.map-story li small{display:block;color:#748079;font-size:.61rem}.map-source{margin:0;padding:12px 20px;background:#f3f5f1;color:#6d7972;text-align:center;font-size:.6rem}.map-pin{display:grid;width:42px;height:42px;place-items:center;border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 3px 10px rgba(0,0,0,.3);color:#fff;font-size:1.05rem;transform:rotate(-45deg)}.map-pin span{transform:rotate(45deg)}.map-pin--play{background:var(--blue)}.map-pin--house{background:var(--orange)}.map-popup b{display:block;color:var(--navy)}.map-popup span{color:#6c7871;font-size:.7rem}
@media(max-width:900px){.overview-layout{grid-template-columns:1fr}.area-guide{grid-template-columns:repeat(3,1fr)}.area-guide-card{grid-template-columns:1fr}.area-guide-card:hover,.area-guide-card.is-active{transform:translateY(-4px)}.area-guide>p{grid-column:1/-1}.detail-map-wrap{grid-template-columns:1fr}.detail-map{height:480px}}
@media(max-width:620px){.overview-map-section,.play-map-section{padding:65px 0}.overview-map{height:400px}.area-guide{grid-template-columns:1fr}.area-guide-card{grid-template-columns:45px 1fr}.map-area-tabs{grid-template-columns:1fr}.map-area-tabs button{padding:12px}.detail-map{height:410px}.map-story{padding:25px 20px}}
.map-story ol{max-height:330px;padding-right:7px;overflow-y:auto}
.legend-pin--sight,.map-pin--sight{background:#7355a5}.spot-list--sight i{background:#eee8f7;color:#563b83}.map-legend{flex-wrap:wrap}

/* 物件カード：水彩外観 / 3D MAP ギャラリー */
.house-card{overflow:hidden;border-radius:16px;box-shadow:0 10px 30px rgba(19,43,43,.09)}
.house-card>a>div{padding:22px}
.property-gallery{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#f4f0e5;touch-action:pan-y}
.property-gallery__track{position:absolute;inset:0}
.property-gallery__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff;opacity:0;transform:scale(1.025);transition:opacity .38s ease,transform .5s ease}
.property-gallery__image[data-gallery-image="terrain"]{object-fit:contain}
.property-gallery__image.is-active{z-index:1;opacity:1;transform:scale(1)}
.property-gallery__map{position:absolute;inset:0;z-index:0;background:#dce9df;opacity:0;transition:opacity .38s ease}
.property-gallery__map.is-active{z-index:1;opacity:1}
.property-gallery__map .leaflet-tooltip{border:0;border-radius:999px;background:var(--orange);box-shadow:0 3px 10px rgba(0,0,0,.2);color:#fff;font:900 .68rem var(--sans)}
.property-gallery__map .leaflet-tooltip-top:before{border-top-color:var(--orange)}
.house-card:hover .property-gallery__image.is-active{transform:scale(1.025)}
.property-gallery__tabs{position:absolute;z-index:3;left:50%;bottom:10px;display:flex;padding:3px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(19,43,43,.78);box-shadow:0 4px 14px rgba(0,0,0,.18);transform:translateX(-50%);backdrop-filter:blur(8px)}
.property-gallery__tabs button{min-width:84px;padding:7px 9px;border:0;border-radius:999px;background:transparent;color:#fff;font:700 .6rem 'DM Sans',var(--sans);letter-spacing:.02em;cursor:pointer;white-space:nowrap}
.property-gallery__tabs button i{font-style:normal}
.property-gallery__tabs button.is-active{background:var(--lime);color:var(--navy)}
.property-gallery__tabs button:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.property-gallery__image{transition:none}}

/* 8つの遊びを見渡せるコンパクトカード */
.activity-grid{grid-template-columns:repeat(4,1fr);gap:14px}
.activity-card{border-radius:16px}
.activity-card button{min-height:270px;padding:22px}
.activity-card .activity-icon{font-size:2.55rem}
.activity-card h3{font-size:1.3rem}
.activity-card--onsen button{background:#a74f45}
.activity-card--pilgrimage button{background:#655487}
@media(max-width:900px){.activity-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.activity-grid{grid-template-columns:repeat(2,1fr);gap:10px}.activity-card button{min-height:245px;padding:18px}.activity-card h3{font-size:1.12rem}.activity-card p{font-size:.7rem}.activity-card b{font-size:.63rem}.activity-card i{right:18px;bottom:18px}}
