@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500&display=swap");
:root{--ink:#28231f;--muted:#aaa29a;--blue:#edf4fb;--ivory:#fdfcf9;--header-height:86px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:var(--ivory);font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-weight:400;letter-spacing:.05em}a{color:inherit;text-decoration:none}ul{list-style:none}button{color:inherit;font:inherit}.header{position:sticky;top:0;z-index:30;height:var(--header-height);padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fdfdfc;border-bottom:1px solid rgba(0,0,0,.07)}.site-logo,.global-nav{font-family:"Helvetica Neue",Arial,sans-serif}.site-logo{font-size:19px;font-weight:500;letter-spacing:.3em;white-space:nowrap}.global-nav ul{display:flex;align-items:center;gap:clamp(30px,4vw,60px)}.global-nav a{position:relative;padding:32px 0;color:#737373;font-size:15px;letter-spacing:.1em;transition:color .3s ease}.global-nav a::after{content:"";position:absolute;right:0;bottom:24px;left:0;height:1px;background:#787878;transform:scaleX(0);transition:transform .3s ease}.global-nav a:hover,.global-nav a.is-current{color:var(--ink)}.global-nav a:hover::after,.global-nav a.is-current::after{transform:scaleX(1)}.menu-toggle{display:none}.section-label{color:var(--muted);font-family:"Helvetica Neue",Arial,sans-serif;font-size:11px;letter-spacing:.38em}.section-heading{text-align:center}.section-heading h2{margin-top:21px;font-size:29px;font-weight:400;letter-spacing:.1em}
.area-hero{position:relative;min-height:530px;overflow:hidden;display:grid;place-items:center;padding:82px 20px 72px;background:var(--blue);text-align:center}.area-hero__content{position:relative;z-index:2}.area-hero h1{margin-top:30px;font-size:clamp(39px,4vw,54px);font-weight:400;letter-spacing:.12em}.diamond{display:block;margin:28px auto 24px;color:rgba(91,125,155,.55);font-size:16px}.area-hero__copy{color:#66727d;font-size:17px;line-height:2.05}.area-hero__map{position:absolute;z-index:0;top:8px;right:-15px;width:min(49vw,620px);height:auto;fill:none;stroke:rgba(116,149,177,.17);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.area-hero__circle{position:absolute;bottom:-155px;left:-95px;width:340px;height:340px;border:1px solid rgba(116,149,177,.11);border-radius:50%}.hero-step{opacity:0;transform:translateY(16px);animation:heroIn .7s ease-out forwards}.hero-step--1{animation-delay:.08s}.hero-step--2{animation-delay:.18s}.hero-step--3{animation-delay:.28s}.hero-step--4{animation-delay:.38s}.area-select{padding:98px 5% 92px;background:#fff}.area-filters{width:min(1060px,100%);margin:48px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.area-filter{min-height:48px;padding:10px 25px;border:1px solid #d9d9d5;border-radius:999px;background:#fff;color:#6f6a66;font-size:14px;letter-spacing:.06em;cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease}.area-filter:hover{transform:translateY(-1px);background:#f7fafc;border-color:#bccbd8}.area-filter.is-active{background:#e5eff8;border-color:#aebfce;color:#455c70}
.destinations{padding:108px 5% 125px;background:#fbfaf7}.destination-count{min-height:1.8em;margin:22px auto 0;color:#77716b;text-align:center;font-size:12px;letter-spacing:.08em}.destination-grid{width:min(1120px,100%);margin:42px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;transition:opacity .18s ease}.destination-grid.is-changing{opacity:0}.destination-card{overflow:hidden;display:flex;flex-direction:column;background:#fffefa;border:1px solid #e6e1d9;border-radius:17px;box-shadow:0 4px 15px rgba(57,46,35,.04);transition:transform .35s ease-out,box-shadow .35s ease-out}.destination-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(57,46,35,.07)}.destination-card__image{overflow:hidden;aspect-ratio:4/3;background:#f2f1ed}.destination-card__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease-out}.destination-card:hover img{transform:scale(1.025)}.destination-card__body{flex:1;padding:26px 26px 28px;display:flex;flex-direction:column}.destination-card__prefecture{color:#9d958d;font-size:11px;letter-spacing:.16em}.destination-card h3{margin-top:9px;font-size:19px;font-weight:400;line-height:1.55}.destination-card__description{margin-top:16px;color:#6f6862;font-size:13px;line-height:1.9}.destination-card__more{margin-top:auto;padding-top:25px;color:#69625d;font-size:13px;letter-spacing:.08em}.destination-card__more span{display:inline-block;margin-left:5px;transition:transform .35s ease-out}.destination-card:hover .destination-card__more{color:#6688a5}.destination-card:hover .destination-card__more span{transform:translateX(5px)}
.find-kimochi{padding:100px 5%;background:#f8f4ec;text-align:center}.find-kimochi__inner{width:min(860px,100%);margin:auto}.find-kimochi h2{margin-top:24px;font-size:clamp(24px,2.6vw,33px);font-weight:400;line-height:1.8;letter-spacing:.08em}.find-kimochi__actions{margin-top:45px;display:flex;justify-content:center;gap:16px}.find-kimochi__actions a{min-width:235px;padding:17px 24px;background:rgba(255,255,255,.73);border:1px solid #ded7cb;border-radius:12px;color:#57504a;font-size:14px;transition:background .35s ease,transform .35s ease,box-shadow .35s ease}.find-kimochi__actions a:hover{background:#fff;transform:translateY(-2px);box-shadow:0 7px 18px rgba(65,55,45,.05)}.find-kimochi__actions span{display:inline-block;margin-left:8px;transition:transform .35s ease-out}.find-kimochi__actions a:hover span{transform:translateX(5px)}.footer{padding:56px 5% 42px;text-align:center;background:#faf9f6}.footer__logo{font-family:Arial,sans-serif;font-size:18px;font-weight:500;letter-spacing:.3em}.footer__tagline{margin-top:22px;color:#a8a8aa;font-size:14px;letter-spacing:.18em}.footer__copyright{margin-top:38px;padding-top:28px;color:#c2c2c4;border-top:1px solid #e1dfda;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.08em}.reveal-ready [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .72s ease-out,transform .72s ease-out;transition-delay:var(--delay,0s)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}@keyframes heroIn{to{opacity:1;transform:translateY(0)}}
@media(max-width:959px){:root{--header-height:70px}.header{height:var(--header-height);padding:0 20px}.site-logo{font-size:15px}.menu-toggle{width:34px;height:28px;display:flex;flex-direction:column;justify-content:center;gap:7px;background:transparent;border:0;cursor:pointer;z-index:32}.menu-toggle span{display:block;width:100%;height:1px;background:#4d4946;transition:.3s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.global-nav{position:fixed;inset:70px 0 auto;height:calc(100vh - 70px);padding-top:55px;background:rgba(253,253,252,.99);transform:translateX(100%);transition:transform .35s ease}.global-nav.is-open{transform:translateX(0)}.global-nav ul{flex-direction:column;gap:6px}.global-nav a{display:block;padding:17px 10px;font-size:16px}.global-nav a::after{bottom:11px}.area-hero{min-height:460px;padding:72px 20px 60px}.area-hero__map{top:35px;right:-110px;width:620px}.area-select{padding:80px 28px 78px}.destinations{padding:90px 28px 100px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.find-kimochi{padding:82px 28px}}
@media(max-width:640px){.area-hero{min-height:420px}.area-hero h1{font-size:36px}.area-hero__copy{font-size:15px}.area-hero__map{right:-210px;opacity:.85}.section-heading h2{font-size:24px}.area-select,.destinations,.find-kimochi{padding-right:20px;padding-left:20px}.area-filters{gap:9px}.area-filter{min-height:44px;padding:9px 17px;font-size:13px}.destination-grid{grid-template-columns:1fr;max-width:430px}.find-kimochi h2 br{display:none}.find-kimochi__actions{flex-direction:column;align-items:center}.find-kimochi__actions a{width:min(100%,330px)}.footer{padding-right:20px;padding-left:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-step,.reveal-ready [data-reveal]{opacity:1;transform:none}}

/* SELECT AREA と DESTINATIONS の境界余白 */
.area-select{padding-bottom:60px}
.destinations{padding-top:70px}
@media(max-width:959px){.area-select{padding-bottom:50px}.destinations{padding-top:58px}}

/* 重要な文字が読み始める位置までに表示し終わる、短く控えめなフェード */
.hero-step{animation-duration:.48s}
.hero-step--1{animation-delay:0s}
.hero-step--2{animation-delay:.05s}
.hero-step--3{animation-delay:.1s}
.hero-step--4{animation-delay:.15s}
.reveal-ready [data-reveal]{transition-duration:.48s}

#destinations-title{scroll-margin-top:calc(var(--header-height) + 20px)}

@media(max-width:640px){
  .area-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .area-filter{min-width:0;width:100%}
  .area-filter:last-child{grid-column:1 / -1}
  .reveal-ready [data-reveal]{transition-duration:.4s;transition-delay:0s}
}
