:root{--forest-light:#d9e7b4}.hero{isolation:isolate;text-align:center;min-height:100svh;padding:calc(var(--header) + 30px) 20px 75px;background:linear-gradient(#b8e0d5 0%,#e7efcf 58%,#c3dba3 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-sky,.hero-hills{pointer-events:none;z-index:-1;position:absolute;inset:0}.sun{aspect-ratio:1;background:#ffdf77;border-radius:50%;width:110px;position:absolute;top:14%;right:15%;box-shadow:0 0 0 20px #ffdf7738}.cloud{filter:blur(1px);background:#fff9;border-radius:50%;width:170px;height:48px;position:absolute}.cloud:before,.cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.cloud:before{width:80px;height:80px;bottom:8px;left:28px}.cloud:after{width:100px;height:70px;bottom:0;right:15px}.cloud-a{top:21%;left:7%}.cloud-b{top:32%;right:6%;transform:scale(.7)}.hill{border-radius:50% 50% 0 0;width:130%;height:46%;position:absolute;bottom:-18%}.hill-back{background:#86b37c;left:-15%;transform:rotate(-4deg)}.hill-front{background:#568b62;bottom:-27%;left:7%;transform:rotate(6deg)}.pine{filter:drop-shadow(0 9px #2f644b);border-bottom:195px solid #3c7858;border-left:65px solid #0000;border-right:65px solid #0000;width:0;height:0;position:absolute;bottom:14%}.pine:after{content:"";clip-path:polygon(45% 0,55% 0,55% 100%,45% 100%);z-index:-1;background:#765c3b;width:86px;height:160px;position:absolute;top:65px;left:-43px}.pine-1{bottom:16%;left:-2%;transform:scale(1.25)}.pine-2{bottom:11%;left:15%;transform:scale(.65)}.pine-3{bottom:14%;right:-1%;transform:scale(1.35)}.pine-4{bottom:10%;right:17%;transform:scale(.8)}.pine-5{opacity:.8;bottom:7%;left:39%;transform:scale(.38)}.hero-content{z-index:2;position:relative}.hero-eyebrow{letter-spacing:.22em;color:#315a38;font-size:clamp(10px,1.4vw,15px);font-weight:900}.hero-title{color:#fff;text-shadow:0 5px #315a38,0 10px 20px #315a3866;letter-spacing:.035em;margin:15px 0 8px;font-size:clamp(42px,8vw,112px);font-weight:900;line-height:1.35}.hero-title span{animation:1.2s cubic-bezier(.2,1,.2,1) both titleAppear;display:inline-block;position:relative;overflow:hidden}.hero-title span:after{content:"";background:linear-gradient(110deg,#0000 36%,#fff0 44%,#fff9 50%,#fff0 56%,#0000 64%);animation:1.3s ease-in-out 1.2s both shine;position:absolute;inset:-20%;transform:translate(-150%)skew(-18deg)}.hero-lead{color:#315a38;margin:0 0 10px;font-size:clamp(22px,3vw,39px);font-weight:900}.hero-description{color:#315a38;margin-bottom:26px;font-weight:700}.scroll-cue{letter-spacing:.15em;color:#fff;flex-direction:column;font-size:11px;font-weight:900;line-height:1.4;text-decoration:none;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.scroll-cue span{font-size:22px}@keyframes titleAppear{0%{opacity:0;filter:blur(6px);transform:scale(.83)translateY(24px)}to{opacity:1;filter:blur();transform:none}}@keyframes shine{to{transform:translate(150%)skew(-18deg)}}.section{padding:105px 0;overflow:hidden}.section-heading{text-align:center;margin-bottom:54px}.section-heading h2{color:var(--dark);margin:8px 0;font-size:clamp(30px,4.3vw,55px);font-weight:900;line-height:1.4}.section-heading h2 em{color:#e88a3d;font-style:normal}.section-heading p:last-child{font-weight:700}.intro{background:#f7f1e4}.fun-grid,.cottage-grid,.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.fun-card{text-align:center;position:relative}.photo-circle{aspect-ratio:1;background:#b2d1a2;border:9px solid #fff;border-radius:50%;width:min(100%,280px);margin:0 auto 18px;position:relative;overflow:hidden;box-shadow:0 12px #e8bf4555}.photo-b{background:#efc68e;border-radius:44% 56% 48% 52%}.photo-c{background:#c6c1e1;border-radius:58% 42% 53% 47%}.photo-circle img,.cottage-photo img,.collage-item img{object-fit:cover;width:100%;height:100%}.photo-placeholder:after{content:"🌲 写真準備中";color:#315a38;background:linear-gradient(145deg,#dce8b7,#8fbd9d);place-items:center;font-size:15px;font-weight:900;display:grid;position:absolute;inset:0}.fun-number{background:var(--yellow);border-radius:30px;padding:2px 14px;font-weight:900;display:inline-block}.fun-card h3,.cottage-card h3{color:var(--dark);margin:10px 0;font-size:24px}.fun-card p{max-width:290px;margin:auto}.cottages{background:#e8efda}.cottage-card{background:#fffdf8;border-radius:28px;padding:20px 20px 30px;box-shadow:0 12px #aac4a04d}.cottage-photo{aspect-ratio:1.25;background:#bdd8b1;border-radius:48% 52% 45% 55%;position:relative;overflow:hidden}.cottage-card:nth-child(2) .cottage-photo{border-radius:55% 45% 54% 46%}.cottage-label{color:#b66d32;margin-top:18px;font-size:12px;font-weight:900;display:inline-block}.cottage-card p{margin:0}.photo-section{background:#f7f1e4}.photo-collage{grid-template-rows:repeat(2,180px);grid-template-columns:repeat(12,1fr);align-items:center;gap:20px;display:grid}.collage-item{background:#c9dcb0;border:8px solid #fff;border-radius:50%;height:100%;position:relative;overflow:hidden;box-shadow:0 10px 18px #315a3826}.collage-1{border-radius:46% 54% 50% 50%;grid-area:1/1/3/4}.collage-2{border-radius:50%;grid-area:1/4/auto/7}.collage-3{border-radius:56% 44% 46% 54%;grid-area:1/7/3/10}.collage-4{border-radius:50%;grid-area:1/10/auto/13}.collage-5{border-radius:45% 55% 50% 50%;grid-area:2/4/auto/7}.pricing{background:#f1e1bc}.price-card{text-align:center;background:#fff;border:3px solid #e7c989;border-radius:25px;flex-direction:column;gap:6px;padding:32px 12px;display:flex}.price-card span{color:var(--dark);font-weight:900}.price-card strong{color:#315a38;font-size:clamp(27px,3vw,42px)}.price-card.highlight{background:#426b43;border-color:#426b43;transform:translateY(-8px)}.price-card.highlight span,.price-card.highlight strong,.price-card.highlight small{color:#fff}.pricing-note{text-align:center;margin-top:24px;font-size:12px}.notice{background:#fffaf0}.notice-inner{align-items:center;gap:35px;max-width:920px;display:flex}.notice-icon{font-size:76px}.notice h2{color:var(--dark);font-size:clamp(24px,3vw,36px)}.text-link{color:#b66d32;font-weight:900}.closing{text-align:center;background:#b8d3a4}.closing h2{color:#315a38;margin:12px;font-size:clamp(38px,6vw,70px);line-height:1.4}.closing-links{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:30px;display:flex}@media (width<=760px){.hero{padding-top:calc(var(--header) + 30px)}.hero-title{font-size:clamp(34px,9.5vw,65px)}.hero-description{font-size:13px}.pine-1{left:-20%;transform:scale(.8)}.pine-3{right:-20%;transform:scale(.8)}.pine-2,.pine-4,.pine-5{opacity:.5}.section{padding:70px 0}.fun-grid,.cottage-grid,.price-grid{grid-template-columns:1fr;gap:40px;max-width:450px;margin:auto}.fun-card p{font-size:14px}.cottage-card{padding:20px}.photo-collage{grid-template-rows:repeat(3,125px);grid-template-columns:repeat(6,1fr);gap:10px}.collage-item{border-width:5px}.collage-1{grid-area:1/1/3/4}.collage-2{grid-area:1/4/auto/7}.collage-3{grid-area:2/4/4/7}.collage-4{grid-area:3/1/auto/4}.collage-5{display:none}.price-card.highlight{transform:none}.notice-inner{text-align:center;flex-direction:column;gap:0}.notice-icon{font-size:48px}}.hero{--scene-duration:32s}.hero-sky{overflow:hidden}.sky-sunset,.sky-night{opacity:0;pointer-events:none;position:absolute;inset:0}.sky-sunset{animation:sceneSunset var(--scene-duration) linear both;background:linear-gradient(#e59b83 0%,#f7b878 48%,#f3d5a0 100%)}.sky-night{animation:sceneNight var(--scene-duration) linear both;background:linear-gradient(#14243e 0%,#293d61 60%,#46577a 100%)}@keyframes sceneSunset{0%,25%{opacity:0}38%,45%{opacity:1}56%,to{opacity:0}}@keyframes sceneNight{0%,43%{opacity:0}56%,to{opacity:1}}.hero .sun,.hero .moon{aspect-ratio:1;z-index:2;opacity:0;pointer-events:none;border-radius:50%;position:absolute;top:0;left:0;right:auto}.hero .sun{width:clamp(65px,9vw,110px);animation:sceneSun var(--scene-duration) linear both;background:#ffdf77;box-shadow:0 0 0 18px #ffdf772b,0 0 40px 10px #ffdf7750}@keyframes sceneSun{0%{opacity:0;transform:translate(-15vw,70vh)}6%{opacity:1}15%{transform:translate(15vw,24vh)}25%{transform:translate(43vw,10vh)}35%{transform:translate(70vw,25vh)}45%{opacity:1;transform:translate(100vw,72vh)}49%,to{opacity:0;transform:translate(115vw,80vh)}}.hero .moon{width:clamp(55px,7vw,90px);animation:sceneMoon var(--scene-duration) linear both;background:#f4f1d8;box-shadow:0 0 0 12px #f4f1d810,0 0 35px #f4f1d830}.hero .moon:before,.hero .moon:after{content:"";opacity:.55;background:#d9d9c5;border-radius:50%;position:absolute}.hero .moon:before{width:23%;height:23%;top:25%;left:24%}.hero .moon:after{width:14%;height:14%;bottom:23%;right:22%}@keyframes sceneMoon{0%,46%{opacity:0;transform:translate(-15vw,75vh)}50%{opacity:1;transform:translate(-4vw,62vh)}60%{opacity:1;transform:translate(18vw,25vh)}70%{opacity:1;transform:translate(43vw,10vh)}76%{opacity:1;transform:translate(58vw,13vh)}81%{opacity:0;transform:translate(70vw,20vh)}to{opacity:0;transform:translate(70vw,20vh)}}.hero .stars{z-index:1;opacity:0;animation:sceneStars var(--scene-duration) linear both;position:absolute;inset:0}.hero .stars span{background:#fffbe7;border-radius:50%;width:4px;height:4px;animation:3s ease-in-out infinite alternate starTwinkle;position:absolute;box-shadow:0 0 5px #fff9}.hero .stars span:first-child{top:12%;left:9%}.hero .stars span:nth-child(2){top:19%;left:24%}.hero .stars span:nth-child(3){top:8%;left:41%}
