@charset "UTF-8";
/* font
---------------------------------------- */
/* color
---------------------------------------- */
/* 副都心エリア概念図
---------------------------------------- */
.location-area {
  color: #364055;
}
@media only screen and (min-width: 768px) {
  .location-area {
    padding-top: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .location-area {
    padding: calc(160 / 750 * 100vw) 0;
  }
}

.areaSect__cont {
  align-items: center;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .areaSect__cont {
    gap: 80px;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .areaSect__cont {
    flex-direction: column;
    gap: calc(120 / 750 * 100vw);
  }
}
@media only screen and (min-width: 768px) {
  .areaSect__photo {
    flex-shrink: 0;
    width: 500px;
  }
}
.areaSect__photo {
  /* SP時は.wrapの左右パディングを打ち消して全幅で表示 */
}
@media only screen and (max-width: 767px) {
  .areaSect__photo {
    margin: 0 calc(-30 / 750 * 100vw);
    width: 100vw;
  }
}
.areaSect__photo .photo__image {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .areaSect__txt {
    flex-shrink: 0;
    width: 380px;
  }
}
@media only screen and (max-width: 767px) {
  .areaSect__txt {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .areaSect__txt .txt + .cap {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .areaSect__txt .txt + .cap {
    margin-top: calc(80 / 750 * 100vw);
  }
}
.areaSect {
  /* 全幅のコラージュ */
}
@media only screen and (max-width: 767px) {
  .areaSect__bottom {
    margin-top: calc(160 / 750 * 100vw);
  }
}
@media only screen and (max-width: 767px) {
  .areaSect__bottom .cap.sp {
    margin-top: calc(40 / 750 * 100vw);
  }
}

.areaCollage {
  background-color: #fdfefe;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .areaCollage {
    aspect-ratio: 1440/915;
  }
}
@media only screen and (max-width: 767px) {
  .areaCollage {
    aspect-ratio: 375/326;
  }
}
.areaCollage {
  /* 右上に薄く敷く写真 */
}
.areaCollage__bg {
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (min-width: 768px) {
  .areaCollage__bg {
    width: calc(592 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .areaCollage__bg {
    width: calc(240 / 375 * 100%);
  }
}
.areaCollage__bg.photo .photo__image {
  opacity: 0.2;
}
@media only screen and (max-width: 767px) {
  .areaCollage__bg.photo .cap--inRight {
    bottom: auto;
    top: 0;
  }
}
.areaCollage__deco {
  aspect-ratio: 1;
  background-color: rgba(157, 185, 212, 0.5);
  display: block;
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .areaCollage__deco {
    left: calc(708 / 1440 * 100%);
    top: calc(100 / 915 * 100%);
    width: calc(120 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .areaCollage__deco {
    left: calc(75 / 375 * 100%);
    top: calc(56 / 326 * 100%);
    width: calc(50 / 375 * 100%);
  }
}
.areaCollage {
  /* コラージュの写真3枚。位置・サイズはステージ原寸に対する%指定 */
}
.areaCollage__photo {
  overflow: hidden;
  position: absolute;
}
.areaCollage__photo .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.areaCollage__photo {
  /* 左上 */
}
.areaCollage__photo--01 {
  left: 0;
}
@media only screen and (min-width: 768px) {
  .areaCollage__photo--01 {
    height: calc(335 / 915 * 100%);
    top: calc(240 / 915 * 100%);
    width: calc(532 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .areaCollage__photo--01 {
    height: calc(105 / 326 * 100%);
    top: calc(115 / 326 * 100%);
    width: calc(166 / 375 * 100%);
  }
}
.areaCollage__photo {
  /* 左下 */
}
.areaCollage__photo--02 {
  left: 0;
}
@media only screen and (min-width: 768px) {
  .areaCollage__photo--02 {
    height: calc(333 / 915 * 100%);
    top: calc(582 / 915 * 100%);
    width: calc(532 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .areaCollage__photo--02 {
    height: calc(104 / 326 * 100%);
    top: calc(222 / 326 * 100%);
    width: calc(166 / 375 * 100%);
  }
}
.areaCollage__photo {
  /* 右（縦長） */
}
@media only screen and (min-width: 768px) {
  .areaCollage__photo--03 {
    height: calc(675 / 915 * 100%);
    left: calc(538 / 1440 * 100%);
    top: calc(240 / 915 * 100%);
    width: calc(662 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .areaCollage__photo--03 {
    height: calc(211 / 326 * 100%);
    left: calc(168 / 375 * 100%);
    top: calc(115 / 326 * 100%);
    width: calc(207 / 375 * 100%);
  }
}

/* ライフインフォメーション
---------------------------------------- */
.location-lifeinfo {
  background: linear-gradient(270deg, #FFF 0%, #EBF0F3 100%);
  color: #364055;
}
@media only screen and (min-width: 768px) {
  .location-lifeinfo {
    padding: 120px 0;
  }
}
@media only screen and (max-width: 767px) {
  .location-lifeinfo {
    padding: calc(160 / 750 * 100vw) 0;
  }
}

.lifeInfoMap {
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .lifeInfoMap {
    margin-top: 80px;
    width: calc(960 / 960 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .lifeInfoMap {
    margin-top: calc(80 / 750 * 100vw);
    width: calc(612 / 750 * 100vw);
  }
}
.lifeInfoMap .photo__image {
  width: 100%;
}

.lifeInfoList {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .lifeInfoList {
    align-items: flex-start;
    gap: 20px 40px;
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .lifeInfoList {
    margin-top: calc(80 / 750 * 100vw);
  }
}

@media only screen and (min-width: 768px) {
  .lifeInfoBlock {
    width: calc((100% - 40px) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .lifeInfoBlock {
    width: 100%;
  }
  .lifeInfoBlock + .lifeInfoBlock {
    margin-top: calc(40 / 750 * 100vw);
  }
}
.lifeInfoBlock__ttl {
  border-bottom: 1px solid #ab8b5a;
  color: #ab8b5a;
  letter-spacing: 0.05em;
  line-height: 2.2;
}
@media only screen and (min-width: 768px) {
  .lifeInfoBlock__ttl {
    font-size: 16px;
    padding: 20px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .lifeInfoBlock__ttl {
    font-size: calc(16 / 375 * 100vw);
    padding: calc(40 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
}
.lifeInfoBlock__item {
  align-items: center;
  border-bottom: 1px solid rgba(34, 34, 34, 0.15);
  display: flex;
  justify-content: space-between;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .lifeInfoBlock__item {
    font-size: 14px;
    padding: 20px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .lifeInfoBlock__item {
    font-size: calc(14 / 375 * 100vw);
    padding: calc(40 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
}
.lifeInfoBlock__item .info {
  flex-shrink: 0;
  padding-left: 1em;
  white-space: nowrap;
}

/* ショッピング＆グルメ
---------------------------------------- */
.location-shopping {
  color: #364055;
}
@media only screen and (min-width: 768px) {
  .location-shopping {
    padding-top: 160px;
  }
}
@media only screen and (max-width: 767px) {
  .location-shopping {
    padding-top: calc(160 / 750 * 100vw);
  }
}

/* 4枚組の写真 */
.shopPhotoList {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .shopPhotoList {
    gap: 16px;
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .shopPhotoList {
    gap: calc(32 / 750 * 100vw);
    justify-content: center;
    margin-top: calc(120 / 750 * 100vw);
  }
}
@media only screen and (min-width: 768px) {
  .shopPhotoList__item {
    width: calc((100% - 16px) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .shopPhotoList__item {
    width: calc(510 / 750 * 100vw);
  }
}
.shopPhotoList__item .photo__image {
  width: 100%;
}

/* 施設リスト */
.shopList {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .shopList {
    gap: 0 44px;
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .shopList {
    margin-top: calc(120 / 750 * 100vw);
  }
}
.shopList__item {
  border-bottom: 1px solid #cccccc;
}
@media only screen and (min-width: 768px) {
  .shopList__item {
    padding: 24px 0;
    width: calc((100% - 88px) / 3);
    /* 1行目のみ上にも罫線 */
  }
  .shopList__item:nth-child(-n+3) {
    border-top: 1px solid #cccccc;
  }
}
@media only screen and (max-width: 767px) {
  .shopList__item {
    padding: calc(48 / 750 * 100vw) 0;
    width: 100%;
  }
  .shopList__item:first-child {
    border-top: 1px solid #cccccc;
  }
}
.shopList__ttl {
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 768px) {
  .shopList__ttl {
    font-size: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .shopList__ttl {
    font-size: calc(15 / 375 * 100vw);
  }
}
.shopList__ttl .mark {
  color: #ab8b5a;
}
.shopList__ttl .dist {
  /* 距離・徒歩分数は改行して一段小さく */
  display: block;
}
@media only screen and (min-width: 768px) {
  .shopList__ttl .dist {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .shopList__ttl .dist {
    font-size: calc(12 / 375 * 100vw);
  }
}
@media only screen and (min-width: 768px) {
  .shopList__cont {
    margin-top: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .shopList__cont {
    margin-top: calc(48 / 750 * 100vw);
  }
}
.shopList__txt, .shopList__hours {
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .shopList__txt, .shopList__hours {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .shopList__txt, .shopList__hours {
    font-size: calc(12 / 375 * 100vw);
  }
}
.shopList__hours {
  border-top: 1px dashed #cccccc;
}
@media only screen and (min-width: 768px) {
  .shopList__hours {
    margin-top: 16px;
    padding-top: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .shopList__hours {
    margin-top: calc(32 / 750 * 100vw);
    padding-top: calc(32 / 750 * 100vw);
  }
}

/* 食の街（飲食店リスト）
---------------------------------------- */
.location-gourmet {
  color: #364055;
}
@media only screen and (min-width: 768px) {
  .location-gourmet {
    padding-top: 160px;
  }
}
@media only screen and (max-width: 767px) {
  .location-gourmet {
    padding-top: calc(160 / 750 * 100vw);
  }
}
.location-gourmet {
  /* このセクションのみ見出し下を80pxに */
}
@media only screen and (max-width: 767px) {
  .location-gourmet .headingUnit + * {
    margin-top: calc(160 / 750 * 100vw);
  }
}

.gourmetList__item {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .gourmetList__item {
    align-items: center;
    gap: 24px;
    margin: 0 auto;
    width: calc(920 / 960 * 100%);
    /* 奇数番目はテキスト左・写真右 */
  }
  .gourmetList__item:nth-child(odd) {
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 767px) {
  .gourmetList__item {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) {
  .gourmetList__item + .gourmetList__item {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .gourmetList__item + .gourmetList__item {
    margin-top: calc(128 / 750 * 100vw);
  }
}
@media only screen and (min-width: 768px) {
  .gourmetList__photo {
    flex-shrink: 0;
    width: calc(448 / 920 * 100%);
  }
}
.gourmetList__photo .photo__image {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .gourmetList__txt {
    flex-shrink: 0;
    width: calc(448 / 920 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .gourmetList__txt {
    margin-top: calc(48 / 750 * 100vw);
  }
}
.gourmetList__cont {
  border-top: 1px dashed #cccccc;
}
@media only screen and (min-width: 768px) {
  .gourmetList__cont {
    margin-top: 24px;
    padding-top: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .gourmetList__cont {
    margin-top: calc(48 / 750 * 100vw);
    padding-top: calc(32 / 750 * 100vw);
  }
}
.gourmetList__walk {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .gourmetList__walk {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .gourmetList__walk {
    font-size: calc(16 / 375 * 100vw);
  }
}
.gourmetList__detail {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .gourmetList__detail {
    font-size: 14px;
    margin-top: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .gourmetList__detail {
    font-size: calc(12 / 375 * 100vw);
    margin-top: calc(32 / 750 * 100vw);
  }
}

/* みどりのコラージュ
---------------------------------------- */
.location-green {
  overflow: hidden;
}

.greenCollage {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .greenCollage {
    aspect-ratio: 1440/1050;
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage {
    aspect-ratio: 375/326;
    margin-top: calc(80 / 750 * 100vw);
  }
}
@media only screen and (min-width: 768px) {
  .greenCollage + .cap {
    padding: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage + .cap {
    padding: 5.3333333333vw 4vw 0;
  }
}
.greenCollage {
  /* 左上に薄く敷く写真 */
}
.greenCollage__bg {
  left: 0;
  position: absolute;
  top: 0;
}
@media only screen and (min-width: 768px) {
  .greenCollage__bg {
    width: calc(592 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage__bg {
    width: calc(240 / 375 * 100%);
  }
}
.greenCollage__bg.photo .photo__image {
  opacity: 0.2;
}
.greenCollage__bg.photo .cap--inLeft {
  bottom: auto;
  top: 5px;
}
.greenCollage__deco {
  aspect-ratio: 1;
  background-color: rgba(157, 185, 212, 0.5);
  display: block;
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .greenCollage__deco {
    left: calc(612 / 1440 * 100%);
    top: calc(100 / 1050 * 100%);
    width: calc(120 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage__deco {
    left: calc(250 / 375 * 100%);
    top: calc(55 / 326 * 100%);
    width: calc(50 / 375 * 100%);
  }
}
.greenCollage {
  /* コラージュの写真5枚。位置・サイズはステージ原寸に対する%指定 */
}
.greenCollage__photo {
  overflow: hidden;
  position: absolute;
}
.greenCollage__photo .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.greenCollage__photo {
  /* 左上（大） */
}
@media only screen and (min-width: 768px) {
  .greenCollage__photo--01 {
    height: calc(522 / 1050 * 100%);
    left: calc(0 / 1440 * 100%);
    top: calc(240 / 1050 * 100%);
    width: calc(875 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage__photo--01 {
    height: calc(136 / 326 * 100%);
    left: calc(0 / 375 * 100%);
    top: calc(115 / 326 * 100%);
    width: calc(228 / 375 * 100%);
  }
}
.greenCollage__photo {
  /* 右上 */
}
@media only screen and (min-width: 768px) {
  .greenCollage__photo--02 {
    height: calc(311 / 1050 * 100%);
    left: calc(881 / 1440 * 100%);
    top: calc(240 / 1050 * 100%);
    width: calc(559 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage__photo--02 {
    height: calc(81 / 326 * 100%);
    left: calc(229 / 375 * 100%);
    top: calc(115 / 326 * 100%);
    width: calc(146 / 375 * 100%);
  }
}
.greenCollage__photo {
  /* 右下（縦長） */
}
@media only screen and (min-width: 768px) {
  .greenCollage__photo--03 {
    height: calc(493 / 1050 * 100%);
    left: calc(881 / 1440 * 100%);
    top: calc(557 / 1050 * 100%);
    width: calc(559 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage__photo--03 {
    height: calc(129 / 326 * 100%);
    left: calc(229 / 375 * 100%);
    top: calc(197 / 326 * 100%);
    width: calc(146 / 375 * 100%);
  }
}
.greenCollage__photo {
  /* 左下 */
}
@media only screen and (min-width: 768px) {
  .greenCollage__photo--04 {
    height: calc(281 / 1050 * 100%);
    left: calc(0 / 1440 * 100%);
    top: calc(769 / 1050 * 100%);
    width: calc(434 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage__photo--04 {
    height: calc(73 / 326 * 100%);
    left: calc(0 / 375 * 100%);
    top: calc(253 / 326 * 100%);
    width: calc(113 / 375 * 100%);
  }
}
.greenCollage__photo {
  /* 中央下 */
}
@media only screen and (min-width: 768px) {
  .greenCollage__photo--05 {
    height: calc(281 / 1050 * 100%);
    left: calc(441 / 1440 * 100%);
    top: calc(769 / 1050 * 100%);
    width: calc(434 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .greenCollage__photo--05 {
    height: calc(73 / 326 * 100%);
    left: calc(115 / 375 * 100%);
    top: calc(253 / 326 * 100%);
    width: calc(113 / 375 * 100%);
  }
}

/* 水と緑（公園リスト＋周辺図）
---------------------------------------- */
.location-greenery {
  color: #364055;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .location-greenery {
    padding: 160px 0;
  }
}
@media only screen and (max-width: 767px) {
  .location-greenery {
    padding: calc(160 / 750 * 100vw) 0;
  }
}
.location-greenery:before {
  /* 共通背景（不透明度30%） */
  background: no-repeat center center/cover;
  content: "";
  inset: 0;
  opacity: 0.3;
  position: absolute;
  z-index: -1;
}
@media only screen and (min-width: 768px) {
  .location-greenery:before {
    background-image: url("../img/pc/bg-common-01@1.5x.png?v=1789107904");
  }
}
@media only screen and (max-width: 767px) {
  .location-greenery:before {
    background-image: url("../img/sp/bg-common-01.png?v=1789108015");
  }
}
.location-greenery {
  /* このセクションのみ見出し下を80pxに */
}
@media only screen and (max-width: 767px) {
  .location-greenery .headingUnit + * {
    margin-top: calc(160 / 750 * 100vw);
  }
}

.greenerySect {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .greenerySect {
    align-items: center;
    gap: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .greenerySect {
    flex-direction: column;
    gap: calc(80 / 750 * 100vw);
  }
}

/* 公園リスト */
@media only screen and (min-width: 768px) {
  .parkList {
    flex-shrink: 0;
    width: calc(448 / 960 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .parkList {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .parkList__item + .parkList__item {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .parkList__item + .parkList__item {
    margin-top: calc(80 / 750 * 100vw);
  }
}
@media only screen and (min-width: 768px) {
  .parkList__cont {
    margin-top: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .parkList__cont {
    margin-top: calc(48 / 750 * 100vw);
  }
}
.parkList__txt {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .parkList__txt {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .parkList__txt {
    font-size: calc(12 / 375 * 100vw);
  }
}
.parkList__walk {
  border-top: 1px dashed #cccccc;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .parkList__walk {
    font-size: 16px;
    margin-top: 16px;
    padding-top: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .parkList__walk {
    font-size: calc(16 / 375 * 100vw);
    margin-top: calc(32 / 750 * 100vw);
    padding-top: calc(32 / 750 * 100vw);
  }
}

/* 周辺図のパネル */
.greeneryMap {
  background-image: linear-gradient(180deg, #dce2e6 0%, #f7f7f7 100%);
}
@media only screen and (min-width: 768px) {
  .greeneryMap {
    flex-shrink: 0;
    padding: 24px;
    width: calc(472 / 960 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .greeneryMap {
    padding: calc(48 / 750 * 100vw);
    width: 100%;
  }
}
.greeneryMap__ttl {
  align-items: center;
  background-color: #acaeba;
  color: #ffffff;
  display: flex;
  justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .greeneryMap__ttl {
    font-size: 15px;
    min-height: 46px;
    padding: 8px;
  }
}
@media only screen and (max-width: 767px) {
  .greeneryMap__ttl {
    font-size: calc(15 / 375 * 100vw);
    min-height: calc(148 / 750 * 100vw);
    padding: calc(16 / 750 * 100vw);
  }
}
@media only screen and (min-width: 768px) {
  .greeneryMap__photo {
    margin-top: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .greeneryMap__photo {
    margin-top: calc(48 / 750 * 100vw);
  }
}
.greeneryMap__photo .photo__image {
  width: 100%;
}
.greeneryMap__txt {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .greeneryMap__txt {
    font-size: 14px;
    margin-top: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .greeneryMap__txt {
    font-size: calc(12 / 375 * 100vw);
    margin-top: calc(48 / 750 * 100vw);
  }
}

/* 周辺スポットのコラージュ（全幅）
   PC 1440×810 / SP 375×211 とも同比率のため、ブレークポイント共通のグリッド
---------------------------------------- */
.spotCollage {
  aspect-ratio: 1440/810;
  display: grid;
  gap: 2px;
  grid-template-columns: 368fr 368fr 704fr;
  grid-template-rows: 280fr 163fr 367fr;
}
.spotCollage + .cap {
  padding: 10px;
  text-align: right;
}
.spotCollage__item {
  overflow: hidden;
}
.spotCollage__item img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.spotCollage__item {
  /* 左上 */
}
.spotCollage__item--01 {
  grid-column: 1;
  grid-row: 1;
}
.spotCollage__item {
  /* 中央上 */
}
.spotCollage__item--02 {
  grid-column: 2;
  grid-row: 1;
}
.spotCollage__item {
  /* 右上（縦長） */
}
.spotCollage__item--03 {
  grid-column: 3;
  grid-row: 1/span 2;
}
.spotCollage__item {
  /* 左下（大） */
}
.spotCollage__item--04 {
  grid-column: 1/span 2;
  grid-row: 2/span 2;
}
.spotCollage__item {
  /* 右下 */
}
.spotCollage__item--05 {
  grid-column: 3;
  grid-row: 3;
}

/* 周辺エリアの広域マップ
---------------------------------------- */
.location-neighborhood {
  color: #364055;
}
@media only screen and (min-width: 768px) {
  .location-neighborhood {
    padding: 160px 0;
  }
}
@media only screen and (max-width: 767px) {
  .location-neighborhood {
    padding: calc(160 / 750 * 100vw) 0;
  }
}

@media only screen and (min-width: 768px) {
  .neighborhoodMap {
    margin: 80px auto 0;
    width: calc(750 / 960 * 100%);
  }
}
.neighborhoodMap {
  /* SP時は.wrapの左右パディングを打ち消して全幅で表示 */
}
@media only screen and (max-width: 767px) {
  .neighborhoodMap {
    margin: calc(160 / 750 * 100vw) calc(-30 / 750 * 100vw) 0;
  }
}
.neighborhoodMap .photo__image {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .neighborhoodMap .cap--inRight {
    left: 5px;
    right: auto;
  }
}/*# sourceMappingURL=location.css.map */