@charset "utf-8";
.main{background-attachment: fixed;}
.location-page h2,.location-page h3,.location-page p{font-weight:500;}
.pattern-bg{background-color:#f8f7f4;background-repeat:repeat;background-size:auto;}

/* Page heading */
.location-heading{padding:70px 20px 62px;background:linear-gradient(90deg,#7c6e61,#53493f);color:#fff;text-align:center;}
.location-symbol{display:grid;grid-template-columns:repeat(2,18px);grid-template-rows:repeat(2,18px);gap:2px;width:max-content;margin:0 auto 18px;transform:rotate(45deg);}
.location-symbol.fade-up{transform:translateY(20px) rotate(45deg);}
.location-symbol.fade-up.is-view{transform:translateY(0) rotate(45deg);}
.location-symbol span{border:1px solid rgba(255,255,255,.75);}
.location-heading-en{color:#d4c68b;font-family:"Copperplate",serif;font-size:2rem;letter-spacing:.16em;line-height:1;}
.location-heading-jp{margin-top:38px;font-size:3.2rem;letter-spacing:.09em;line-height:1.6;}

/* Main visual */
.location-visual{position:relative;display:flex;}
.location-visual .location-visual-main{width: 62.2%;}
.location-visual .location-visual-sub{width: 37.8%;}
.location-visual .location-visual-main img{width: 100%;object-fit: cover;object-position: center;}
.location-visual .location-visual-sub img{width: 100%;object-fit: cover;object-position: center}

/* .location-visual .location-photo{height:clamp(300px,33.33vw,480px);} */
/* .location-visual-main{border-right:1px solid rgba(255,255,255,.45);} */
.location-photo{position:relative;overflow:hidden;background:#ddd8cf;display: block;}
/* .location-photo img{display:block;width:100%;height:100%;object-fit:cover;} */
.location-visual-label{position:absolute;top:50%;left:0%;z-index:2;width:100%;max-width:100%;padding:10px 20px;transform:translate(0%,-50%);background:linear-gradient(to right, rgba(124, 110, 97,0.85),rgba(83, 73, 63,0.85));color:#d4c68b;text-align:center;font-family:"Copperplate",serif;font-size:2.2rem;letter-spacing:.1em;line-height: 1.2;}
.location-visual .cap{bottom:10px;right:12px;}

/* Introduction and two key benefits */
.location-intro{padding:50px 0 62px;text-align:center;background:linear-gradient(to right, rgba(124,110,97,0.2),rgba(83, 73, 63,0.2));}
.location-intro h2{font-size:min(3.2vw,3.2rem);line-height:1.2;}
.location-intro h2 span{color:#231815;font-size:1.7em;line-height:.8;}
.location-intro p,.benefit-copy>p:not(.distance),.amenities-intro p{margin-top:20px;line-height:2.05;letter-spacing:.03em;font-size: 1.7rem;}
.location-benefit{padding:0 0 80px;}
.benefit-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;margin:0 auto;padding: 80px 0 0;}
.caption-bg{color: #fff;position: absolute;bottom: 0;right: 0;font-size: 1.6rem;background: linear-gradient(to right ,rgba(124, 110, 97,0),rgba(124, 110, 97,1) 33% ,rgba(83, 73, 63,1) 100%);padding: 0 10px 0 60px;letter-spacing: 0.06em;font-weight: 500;}
.benefit-copy{padding-top:45px;text-align:center;}
.benefit-copy h2,.amenities-intro h2{font-size:min(2.7vw,2.7rem);letter-spacing:.08em;line-height:1.6;}
.distance{max-width:520px;width:100%;margin:48px auto 0;padding:20px 10px;border-top:1px solid #000;border-bottom:1px solid #000;font-size:min(3vw,3rem);line-height:2.2;letter-spacing: -0.05em;}
.distance strong{font-weight:500;}
.distance small{font-size:1.6rem;}
.distance span{font-size: 2.4em;color:#796a56;line-height: 0;}
.park-visual img{width: 100%;}
.park-photo-caption{position:absolute;right:0;bottom:0;min-width:240px;padding:5px 42px 5px 22px;background:linear-gradient(to right ,rgba(124, 110, 97,0),rgba(124, 110, 97,1) 25% ,rgba(83, 73, 63,1) 100%);color:#fff;text-align:right;font-size:1.6rem;line-height:1.5;text-shadow:0 1px 3px rgba(0,0,0,.45);}
.park-section{padding:0 0 86px;background-color:transparent;}
.park-overview{display:flex;padding: 70px 0 0;justify-content: space-between;width: 110%;}
.park-overview-copy{width: 45.4545%;}
.park-overview-copy h2{font-size:min(2.7vw,2.7rem);letter-spacing:.08em;line-height:1.6;}
.park-overview-copy>p:not(.distance){margin-top:25px;font-size:1.7rem;line-height:2.15;letter-spacing:.03em;}
.park-overview-copy .distance{width:100%;margin:34px 0 0;padding:50px 0 30px;text-align: center;line-height: 1;}
.park-map{width: 54%;}
.park-map img{display:block;width:100%;height:auto;mix-blend-mode:multiply;}
.park-map-property{position:absolute;top:7.5%;left:0;padding:7px 22px 7px 15px;background:#a8181f;color:#fff;font-size:1.25rem;line-height:1.35;white-space:nowrap;}
.park-map-property::after{content:"";position:absolute;top:0;right:-22px;border-top:18px solid transparent;border-bottom:18px solid transparent;border-left:22px solid #a8181f;}
.park-map figcaption{margin-top:-5px;font-size:1.2rem;line-height:1.5;text-align: right;}
.park-feature-living{margin-top:52px;}
.park-feature .location-photo img{object-fit:cover;width: 100%;}
.park-feature h3{margin-top:18px;font-size:2.2rem;letter-spacing:.05em;line-height:1.55;}
.park-feature>p{margin-top:10px;line-height:1.9;font-size: 1.5rem;}
.park-feature-wide{max-width:685px;margin:60px auto 0;}
.park-feature-wide h3{font-size:2.2rem;}
.park-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px;margin-top:64px;}
.park-feature-grid .park-feature h3{font-size:1.9rem;}
.park-playground{margin-top:60px;display: block;}
@media screen and (max-width:1200px){
    .park-overview{width: 100%;}
}
/* Facility cards */
.amenities{padding:86px 0 95px;background:linear-gradient(90deg,rgba(124,110,97,.2),rgba(83,73,63,.2));}
.amenities-intro{text-align:center;margin-bottom:60px;}
.amenity-block+.amenity-block{margin-top:65px;}
.amenity-title{background:#ffffff;padding: 6px 0 8px;letter-spacing: 0.1em;color:#a38a77;text-align:center;font-family:"Copperplate",serif;font-size:2.1rem;line-height: 1;}
.amenity-lead{margin:28px 0 40px;text-align:center;font-size:min(2.5vw,2.5rem);letter-spacing:.1em;}
.amenity-grid{display:grid;gap:25px 20px;max-width:780px;margin:0 auto;}
.amenity-grid-2{grid-template-columns:repeat(2,1fr);}
.amenity-grid-3{grid-template-columns:repeat(3,1fr);max-width: 100%;}
.amenity-grid-3{gap: 25px;}
.amenity-card{text-align:center;}
.amenity-card p{padding-top:11px;font-size:1.7rem;line-height:1.65;}
.amenity-card strong{font-weight:500;}
.amenity-card strong span{color: #796a56;font-size: 1.6em;line-height: 0;}
.amenity-card small{font-size:1.2rem;}

/* Area map */
.area-map{padding:80px 0 70px;background:#fff;}
.area-map p{margin-top:5px;font-size:1.2rem;line-height:1.6;text-align: right;letter-spacing: 0;}

/* Daily life list */
.daily-life{padding:0;background:#fff;}
.daily-life-title{margin-bottom:42px;color:#796a56;text-align:center;font-family:"Copperplate",serif;font-size:2.4rem;letter-spacing:.18em;}
.life-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px;align-items:start;}
.life-group+.life-group{margin-top:32px;}
.life-group h3{margin-bottom:10px;padding:0 0 0;border-bottom:1px solid #736357;font-size:1.7rem;color: #736357;font-weight: 500;}
.life-group li{display:flex;justify-content:space-between;gap:18px;font-size:1.5rem;line-height:2;}
.life-group li span{min-width:0;}
.life-group li strong{flex:0 0 auto;font-weight:500;white-space:nowrap;}
.location-note{margin-top:55px;font-size:1rem;line-height:1.7;}

@media screen and (max-width:768px){
    .location-heading{padding:45px 20px 42px;}
    .location-symbol{grid-template-columns:repeat(2,14px);grid-template-rows:repeat(2,14px);margin-bottom:15px;}
    .location-heading-en{font-size:1.6rem;}
    .location-heading-jp{margin-top:25px;font-size:2rem;letter-spacing:.05em;}
    .location-visual{flex-wrap: wrap;}
    .location-visual .location-photo{width: 100%;}
      .location-visual .location-visual-main .cap{bottom: 50px;}
    .location-visual-label{padding:9px;font-size:1.2rem;bottom: 0;
    top: unset;
    transform: unset;}
    .location-intro{padding:45px 0 52px;}
    .location-intro h2{font-size:2.4rem;line-height:1.65;}
    .location-intro p,.benefit-copy>p:not(.distance),.amenities-intro p{margin-top:18px;font-size:1.4rem;line-height:1.9;}
    .location-benefit{padding-bottom:55px;}
    .benefit-photos{display: flex;flex-direction: column;row-gap: 15px;padding: 40px 0 0;}
    .caption-bg{font-size: 1.2rem;}
    .benefit-copy{padding-top:30px;}
    .benefit-copy h2,.amenities-intro h2{font-size:2.05rem;line-height:1.6;}
    .distance{max-width:440px;margin-top:27px;padding:13px 6px;font-size:1.9rem;height: 104px;align-content: center;}
    .distance small{font-size: 1.4rem;}
    /* .distance strong{font-size:1.6rem;} */
    /* .park-visual{height:50vw;min-height:230px;} */
    .park-photo-caption{min-width:170px;padding:4px 16px 4px 12px;font-size:1.2rem;}
    .park-section{padding-bottom:0;}
    .park-overview{padding-top: 30px;flex-wrap: wrap;}
    .park-overview-copy{width: 100%;}
    .park-overview-copy h2{font-size:2rem;line-height:1.6;text-align:center;}
    .park-overview-copy>p:not(.distance){margin-top:18px;font-size:1.4rem;line-height:1.9;text-align:center;}
    .park-overview-copy .distance{width:100%;max-width:440px;margin:27px auto 0;padding:13px 6px;}
    .park-map{width:100%;}
    .park-map-property{padding:5px 15px 5px 10px;font-size:1rem;}
    .park-map-property::after{right:-16px;border-top-width:14px;border-bottom-width:14px;border-left-width:16px;}
    .park-map figcaption{margin-top:-10px;font-size:.95rem;}
    .park-feature-living{margin-top:38px;}
    .park-feature h3{margin-top:14px;font-size:1.7rem;}
    .park-feature>p{font-size:1.4rem;line-height:1.85;}
    .park-feature-wide{margin-top:48px;}
    .park-feature-wide .location-photo{width: calc(100% + 40px);margin: 0 -20px;}
    .park-feature-wide h3{font-size:1.7rem;}
    .park-feature-grid{grid-template-columns:1fr;gap:40px;margin-top:40px;}
    .park-feature-grid .park-feature h3{font-size:1.7rem;}
    .park-playground{width: calc(100% + 40px);margin: 40px -20px 0;}
    .amenities{padding:40px 0;}
    .amenities-intro{margin-bottom:40px;}
    .amenity-block+.amenity-block{margin-top:42px;}
    .amenity-title{font-size: 1.6rem;}
    .amenity-lead{margin:20px 0;font-size:1.7rem;}
    .amenity-grid{gap:20px 10px;}
    .amenity-grid-3{grid-template-columns:repeat(2,1fr);}
    .amenity-card p{padding-top:8px;font-size:1.4rem;}
    .area-map{padding:45px 0 42px;}
    .daily-life{padding:0}
    .daily-life-title{margin-bottom:30px;font-size:2rem;}
    .life-columns{grid-template-columns:1fr;gap:32px;}
    .life-group+.life-group{margin-top:26px;}
    .life-group h3{font-size:1.6rem;}
    .life-group li{font-size:1.15rem;}
    .location-note{margin-top:38px;}
    .amenity-card img{width: 100%;}
    .area-map p{text-align: left;}
}

@media screen and (max-width:768px){
    .benefit-copy h2,.amenities-intro h2{font-size:2rem;}
    .park-map-property{font-size:.9rem;}
    .life-group li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;font-size:1.2rem;}
     .life-group li span{letter-spacing: -0.05em;}
}
