@charset "UTF-8";

/* ==========================================================================
   汎用ユーティリティ（#page-location に限定せず使用可能）
   ========================================================================== */
.main-contents__inner{
  background-image: linear-gradient(90deg, rgba(161, 156, 153, 0.45) 0%, rgba(200, 200, 203, 0.45) 33%, rgba(200, 200, 203, 0.45) 66%, rgba(161, 156, 153, 0.45) 100%);
}

/* ==========================================================================
   #page-location（周辺環境ページ）
   HTMLの<section>出現順に合わせて配置しています。
   同じclassのsectionが複数回使われている場合はCSSは1回だけ記載し、
   「(HTML内でn回使用)」と注記しています。
   ========================================================================== */

/* ---- location-hero ---- */
#page-location .location-hero {
  /*width: 100%;*/
}
#page-location .location-hero .location-hero__inner img {
  display: block;
  width: 100%;
}

/* ---- location-lifestyle ---- */
#page-location .location-lifestyle {
  padding: 80px 20px;
}
#page-location .location-lifestyle .location-lifestyle__inner {
  max-width: 1090px;
  margin: 0 auto;
  text-align: center;
}
#page-location .location-lifestyle .location-lifestyle--heading-1,
#page-location .location-area .location-area--heading-1{
  font-size: 36px;
  font-weight: 400;
  text-align: center;
  margin: 0 auto 15px;
}
#page-location .location-lifestyle .location-lifestyle--text-1,
#page-location .location-area .location-area--text-1{
  font-size: 20px;
  font-family: "ヒラギノ角ゴ ProN W3";
  font-weight: 400;
  text-align: center;
  margin: 0 auto 80px;
}
#page-location .location-lifestyle .location-lifestyle--grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 50px;
  text-align: left;
}
#page-location .location-lifestyle .location-lifestyle--grid__photo {
  display: flex;
}
#page-location .location-lifestyle .location-lifestyle--grid__photo img {
  display: block;
  width: 100%;
  height: 300px;
  object-fit: cover;
}
#page-location .location-lifestyle .location-lifestyle--grid__photo.is-split img {
  width: 50%;
}
#page-location .location-lifestyle .location-lifestyle--grid__body {
  display: flex;
  align-items: center;
  gap: 30px;
  padding-left: 20px;
  padding-top: 27px;
  font-family: "ヒラギノ角ゴ ProN W3";
  position: relative;
}
#page-location .location-lifestyle .location-lifestyle--grid__body .pic_caption{
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
#page-location .location-lifestyle .location-lifestyle--grid__icon {
  width: 58px;
  flex-shrink: 0;
}
#page-location .location-lifestyle .location-lifestyle--grid__heading {
  font-size: 27px;
  font-weight: 400;
  margin-bottom: 5px;
}
#page-location .location-lifestyle .location-lifestyle--grid__text {
  font-size: 18px;
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  #page-location .location-lifestyle {
    padding: 25px 20px 0;
  }
  #page-location .location-lifestyle .location-lifestyle--grid__body {
    gap: 25px;
    padding-left: 0;
    padding-top: 10px;
    align-items: flex-start;
  }
  #page-location .location-lifestyle .location-lifestyle--grid__icon {
    width: 45px;
  }
  #page-location .location-lifestyle .location-lifestyle--grid__heading {
    font-size: 22px;
    margin-bottom: 5px;
    margin-block-start: 0;
  }
  #page-location .location-lifestyle .location-lifestyle--grid__text {
    font-size: 17px;
  }
}

@media screen and (max-width: 768px) {
  #page-location .location-lifestyle .location-lifestyle--heading-1,
  #page-location .location-area .location-area--heading-1{
    font-size: 30px;
    margin: 0 auto 25px;
  }
  #page-location .location-lifestyle .location-lifestyle--text-1,
  #page-location .location-area .location-area--text-1{
    font-size: 17px;
    text-align: left;
    margin: 0 auto 45px;
  }
  #page-location .location-lifestyle .location-lifestyle--grid__photo img {
    height: 250px;
  }
  #page-location .location-lifestyle .location-lifestyle--text-1 {
    text-align: left;
  }
  #page-location .location-lifestyle .location-lifestyle--grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}

/* ---- location-mv ---- */
#page-location .location-mv {
  width: 100%;
  max-width: 1090px;
  margin: 100px auto 0;
  overflow: hidden;
}
#page-location .location-mv .location-mv__inner {
  padding-bottom: 100px;
}
#page-location .location-mv .location-mv__map {
  display: block;
  position: relative;
  margin-bottom: 1.5em;
}
#page-location .location-mv .location-mv__badge {
  position: absolute;
  left: 43.76%;
  top: 40.24%;
  width: 5.35%;
  line-height: 0;
}
#page-location .location-mv .location-mv__badge-line {
  display: block;
  width: 100%;
}
#page-location .location-mv .location-mv__badge-label {
  position: absolute;
  left: 165%;
  top: 4%;
  font-size: 11px;
  font-weight: 400;
  color: #fff;
  white-space: nowrap;
}

@media screen and (max-width: 1024px) {
  #page-location .location-mv .location-mv__badge-label {
    font-size: 10px;
  }
}
@media screen and (max-width: 768px) {
  #page-location .location-mv{
    margin: 25px auto 0;
  }
  #page-location .location-mv .location-mv__inner{
    padding-bottom: 45px;
  }
  #page-location .location-mv .under_mainvisual {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
  }
  
  #page-location .location-mv .under_mainvisual img {
    min-width: 652px;
    max-width: none;
    display: block;
  }

  #page-location .location-mv .location-mv__inner .pic_caption {
    display: none;
  }

}

/* ---- location-section-1（HTML内で2回使用） ---- */
#page-location .location-section-1 {
  margin: 0 auto;
  width: 100%;
  padding: 120px 20px 60px;
}
#page-location .location-section-1 .location-section-1__inner {
  text-align: center;
  max-width: 1200px;
  margin: auto;
}
#page-location .location-section-1 .location-section-1--heading-1 {
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
#page-location .location-section-1 .location-section-1--text-1 {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.02em;
  margin-bottom: 40px;
}
#page-location .location-section-1 .location-section-1--text-1 .large-1 {
  font-size: 140%;
}
#page-location .location-section-1 .location-section-1--text-1 p:not(:last-of-type) {
  margin-bottom: 2em;
}
#page-location .location-section-1 .location-section-1--note-1 {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1024px) {
  #page-location .location-section-1 {
    padding: 40px 20px;
  }
  #page-location .location-section-1 .location-section-1--heading-1 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  #page-location .location-section-1 .location-section-1--text-1 {
    font-size: 12px;
    margin-bottom: 20px;
  }
  #page-location .location-section-1 .location-section-1--note-1 {
    font-size: 10px;
  }
}

/* ---- location-section-2（HTML内で4回使用：ララガーデン紹介 / 商業施設一覧 / あすと長町 / 現地案内図） ---- */
#page-location .location-section-2 {
  max-width: 1200px;
  margin: 0 auto 100px;
}
#page-location .location-section-2 .location-section-2__inner {
  text-align: center;
}
#page-location .location-section-2 .location-section-2--list-1 {
  display: -ms-grid;
  display: grid;
  gap: 10px;
  -ms-grid-rows: auto 10px auto;
  -ms-grid-columns: 65% 10px auto;
      grid-template: "item-1 item-2" auto "item-1 item-3" auto/65% auto;
  margin-bottom: 40px;
}
#page-location .location-section-2 .location-section-2--list-1 .item-1 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: item-1;
}
#page-location .location-section-2 .location-section-2--list-1 .item-2 {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: item-2;
}
#page-location .location-section-2 .location-section-2--list-1 .item-3 {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: item-3;
}

/* ---- location_ct01 / location_ct02（location-section-2内の「ララガーデン」紹介ブロックで使用） ---- */
.location_ct01 {
  margin-top: 15px;
  text-align: left;
  font-size: 1.8em;
}
.location_ct02 {
  margin-top: 15px;
  text-align: left;
  font-size: 1.32em;
}
@media screen and (max-width: 1024px) {
  #page-location .location-section-2 {
    margin-bottom: 50px;
  }
  #page-location .location-section-2 .location-section-2__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  #page-location .location-section-2 .location-section-2--list-1 {
    -ms-grid-rows: auto auto auto;
    -ms-grid-columns: 1fr;
        grid-template: "item-1" auto "item-2" auto "item-3" auto/1fr;
    margin-bottom: 20px;
  }
  .location_ct01 {
    margin-top: 15px;
    text-align: left;
    font-size: 1.49em;
  }
  .location_ct02 {
    margin-top: 15px;
    text-align: left;
    font-size: 1.02em;
    margin-bottom: 15px;
  }
}

/* ---- location_3rdsection（3つめのlocation-section-2「あすと長町」を囲むラッパー） ---- */
.location_3rdsection {
  margin-top: -75px;
}
@media screen and (max-width: 1024px) {
  .location_3rdsection {
    margin-top: -45px;
  }
}

/* ---- location-section-3（現在HTML未使用。地図画像位置指定の .location-section-3--list-1__image-map-1 のみ使用中） ---- */
#page-location .location-section-3 {
  margin-bottom: 60px;
}
#page-location .location-section-3 .location-section-3__inner {
  text-align: center;
}
#page-location .location-section-3 .location-section-3--heading-1 {
  color: #fff;
  font-weight: 400;
  text-align: left;
  padding: 15px 20px;
  margin-bottom: 40px;
}
#page-location .location-section-3 .location-section-3--heading-1.heading-bg-1 {
  background: #6dacc0;
}
#page-location .location-section-3 .location-section-3--heading-1.heading-bg-2 {
  background: #b795bb;
}
#page-location .location-section-3 .location-section-3--heading-1.heading-bg-3 {
  background: #83aa84;
}
#page-location .location-section-3 .location-section-3--heading-1.heading-bg-4 {
  background: #7f7f7f;
}
#page-location .location-section-3 .location-section-3--heading-1 .large {
  display: inline-block;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.18em;
  border-right: 1px solid #fff;
  padding-right: 10px;
  margin-right: 10px;
}
#page-location .location-section-3 .location-section-3--heading-1 .small {
  font-size: 14px;
  letter-spacing: 0.18em;
}
#page-location .location-section-3 .location-section-3--list-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#page-location .location-section-3 .location-section-3--list-1.list-medical .location-section-3--list-1__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 32%;
          flex: 0 1 32%;
  margin-bottom: 40px;
}
#page-location .location-section-3 .location-section-3--list-1 .location-section-3--list-1__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 32%;
          flex: 0 1 32%;
  margin-bottom: 40px;
}
#page-location .location-section-3 .location-section-3--list-1 .location-section-3--list-1__text-1 {
  font-size: 14px;
  letter-spacing: 0.18em;
  text-align: left;
  margin-top: 5px;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 {
  display: -ms-grid;
  display: grid;
  gap: 10px;
  -ms-grid-rows: auto 10px auto 10px auto;
  -ms-grid-columns: 1fr 10px 1fr 10px 1fr;
      grid-template: "item-1 item-2 item-3" auto "item-4 item-4 item-5" auto "item-4 item-4 item-6" auto/1fr 1fr 1fr;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-1 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  grid-area: item-1;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-2 {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: item-2;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-3 {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
  grid-area: item-3;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-4 {
  -ms-grid-row: 3;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: item-4;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-5 {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
  grid-area: item-5;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-6 {
  -ms-grid-row: 5;
  -ms-grid-column: 5;
  grid-area: item-6;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-7 {
  grid-area: item-7;
}
#page-location .location-section-3 .location-section-3--list-1.list-type-2 .location-section-3--list-1__item.item-4 .location-section-3--list-1__text-1, #page-location .location-section-3 .location-section-3--list-1.list-type-2 .location-section-3--list-1__item.item-5 .location-section-3--list-1__text-1, #page-location .location-section-3 .location-section-3--list-1.list-type-2 .location-section-3--list-1__item.item-6 .location-section-3--list-1__text-1 {
  text-align: right;
}
/* 以下のレスポンシブは IE用 -ms-grid-* のフォールバック値を含むため、
   cascadeの結果を変えないよう元のソース順のまま1つの@mediaにまとめています。 */
@media screen and (max-width: 1024px) {
  #page-location .location-section-3 {
    margin-bottom: 30px;
  }
  #page-location .location-section-3 .location-section-3__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  #page-location .location-section-3 .location-section-3--heading-1 {
    margin-bottom: 20px;
  }
  #page-location .location-section-3 .location-section-3--heading-1 .large {
    display: block;
    border-right: none;
    border-bottom: 1px solid #fff;
    padding-right: 0;
    padding-bottom: 10px;
    margin-right: 0;
    margin-bottom: 10px;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-medical .location-section-3--list-1__item:nth-child(3) {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-medical .location-section-3--list-1__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 48%;
            flex: 0 1 48%;
    margin-bottom: 20px;
  }
  #page-location .location-section-3 .location-section-3--list-1 .location-section-3--list-1__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 48%;
            flex: 0 1 48%;
    margin-bottom: 20px;
  }
  #page-location .location-section-3 .location-section-3--list-1 .location-section-3--list-1__text-1 {
    font-size: 12px;
    margin-top: 2px;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 {
    -ms-grid-rows: auto auto auto auto auto;
    -ms-grid-columns: 1fr 1fr;
        grid-template: "item-1 item-2" auto "item-3 item-7" auto "item-4 item-4" auto "item-5 item-5" auto "item-6 item-6" auto/1fr 1fr;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 > .item-1 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 > .item-2 {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 > .item-3 {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  #page-location .location-section-2 .location-section-2--list-1 .item-1 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  #page-location .location-section-2 .location-section-2--list-1 .item-2 {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  #page-location .location-section-2 .location-section-2--list-1 .item-3 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-1 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 > .item-1 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-2 {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 > .item-2 {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-3 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 > .item-3 {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-4 {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-5 {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-6 {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  #page-location .location-section-3 .location-section-3--list-1.list-type-2 .item-7 {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}

/* ==========================================================================
   location-mall（2つの大型ショッピングモール紹介／Figma "location-01" 準拠）
   ========================================================================== */
#page-location #location-commercial,
#page-location #location-park{
  background: #fff;
}
#page-location .location-mall {
  width: 100%;
  background: #577164;
  padding: 45px 0 70px;
}
#page-location .location-mall .location-mall__inner {
  max-width: 1200px;
  width: 90%;
  padding: 0;
  margin: 0 auto;
}
#page-location .location-mall .location-mall--heading-1 {
  color: #fff;
  font-size: 36px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 25px;
}
#page-location .location-mall .location-mall--photos {
  display: flex;
  width: 100%;
}
#page-location .location-mall .location-mall--photos img {
  display: block;
  width: 50%;
  aspect-ratio: 640 / 500;
  object-fit: cover;
}
#page-location .location-mall .location-mall--list {
  display: flex;
  justify-content: space-evenly;
  gap: 60px;
  text-align: left;
  margin: 40px auto 0;
}
#page-location .location-mall .location-mall--list .location-mall--list__item {
  flex: 1 1 0;
  max-width: 520px;
}
#page-location .location-mall .location-mall--list__heading {
  color: #fff;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding: 0 0 10px 16px;
  margin-bottom: 20px;
  border-bottom: 1px solid #fff;
}
#page-location .location-mall .location-mall--list__text {
  color: #fff;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
  padding: 0 1em;
  font-family: "ヒラギノ角ゴ ProN W3";
}
#page-location .location-mall .location-mall--list__tenant-label {
  background: linear-gradient(90deg, rgba(161, 156, 153, 1), rgba(200, 200, 203, 1) 50%, rgba(161, 156, 153, 1));
  color: #231815;
  font-size: 16px;
  font-weight: 500;
  padding: 12px 1em;
  display: block;
  width: 70%;
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
}
#page-location .location-mall .location-mall--list__tenant-text {
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 12px;
  padding: 0 1em;
  font-family: "ヒラギノ角ゴ ProN W3";
}
#page-location .location-mall .location-mall--list__photo-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  #page-location #location-commercial,
  #page-location #location-park{
    background: transparent;
  }
  #page-location .location-mall {
    padding: 40px 20px;
  }
  #page-location .location-mall .location-mall--heading-1 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  #page-location .location-mall .location-mall--photos {
    margin-bottom: 20px;
  }
  #page-location .location-mall .location-mall--photos img:nth-child(1) {
    width: 100%;
  }
  #page-location .location-mall .location-mall--photos img:nth-child(2) {
    display: none;
  }
  #page-location .location-mall .location-mall--list {
    flex-direction: column;
    gap: 30px;
    margin: 0 auto;
  }
  #page-location .location-mall .location-mall--list__photo-sp {
    display: block;
    width: 100%;
    aspect-ratio: 640 / 500;
    object-fit: cover;
    margin-bottom: 20px;
  }
  #page-location .location-mall .location-mall--list .location-mall--list__item {
    max-width: none;
  }
  #page-location .location-mall .location-mall--list__heading {
    font-size: 20px;
    padding-bottom: 10px;
    padding-left: 0;
    margin-bottom: 12px;
  }
  #page-location .location-mall .location-mall--list__text {
    font-size: 13px;
    margin-bottom: 15px;
    padding: 0;
  }
  #page-location .location-mall .location-mall--list__tenant-label {
    font-size: 13px;
    padding: 8px 16px;
  }
  #page-location .location-mall .location-mall--list__tenant-text {
    font-size: 12px;
    padding: 0;
  }
}

/* ---- location-facility（施設共通の大パネル写真ブロック：商業施設／教育施設／公園／医療施設で使用） ---- */
#page-location .location-facility {
  margin: 0 calc(50% - 50vw) 70px;
  width: 100%;
}
#page-location .location-facility .location-facility__inner {
  position: relative;
  margin: 0 auto;
  height: clamp(220px, 34vw, 437px);
  /* overflow: hidden; */
}
#page-location .location-facility .location-facility--photo {
  /* position: absolute; */
  inset: 0;
  height: 100%;
}
#page-location .location-facility .location-facility--photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#page-location .location-facility .location-facility--panel {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  height: 233px;
  width: 45%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 40px 20px 13em;
  background-image: linear-gradient(90deg, rgb(255, 255, 255) 28%, rgba(255, 255, 255, 0.99) 40%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0.89) 58%, rgba(255, 255, 255, 0.8) 66%, rgba(255, 255, 255, 0.68) 74%, rgba(255, 255, 255, 0.54) 81%, rgba(255, 255, 255, 0.37) 88%, rgba(255, 255, 255, 0.18) 95%, rgba(255, 255, 255, 0) 100%);
}
#page-location .location-facility .location-facility--heading-1 {
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #231815;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
}
#page-location .location-facility .location-facility--text-1 {
  display: inline-block;
  font-size: 18px;
  line-height: 1.6;
  color: #231815;
  padding-bottom: 20px;
  font-family: "ヒラギノ角ゴ ProN W3";
}
@media screen and (max-width: 1024px) {
  #page-location .location-facility {
    margin-bottom: 25px;
  }
  #page-location .location-facility .location-facility--panel {
    max-width: 70%;
    padding: 10px 20px 10px 30px;
  }
  #page-location .location-facility .location-facility--heading-1 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 10px;
  }
  #page-location .location-facility .location-facility--text-1 {
    font-size: 16px;
    text-align: center;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  #page-location .location-facility .location-facility__inner {
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: visible;
  }
  #page-location .location-facility .location-facility--photo {
    position: static;
    height: 220px;
  }
  #page-location .location-facility .location-facility--panel {
    position: static;
    z-index: auto;
    height: auto;
    width: 90%;
    max-width: 90%;
    padding: 30px 0 0;
    background-image: none;
  }
}

/* ---- location-facility-list（施設共通の3列リストブロック：商業施設／教育施設／公園／医療施設で使用） ---- */
#page-location .location-facility-list {
  padding-bottom: 80px;
}
#page-location .location-facility-list .location-facility-list__inner {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
#page-location .location-facility-list .location-facility-list--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}
#page-location .location-facility-list .location-facility-list--list__item {
  width: calc((100% - 20px) / 3);
  text-align: left;
}
#page-location .location-facility-list .location-facility-list--list__text {
  font-size: 14px;
  letter-spacing: 0.05em;
  margin-top: 8px;
  font-family: "ヒラギノ角ゴ ProN W3";
}
#page-location .location-facility-list .location-facility-list--sub-list {
  font-size: 14px;
  letter-spacing: 0.05em;
  margin-top: 8px;
}
#page-location .location-facility-list .location-facility-list--sub-list li {
  list-style: none;
  font-family: "ヒラギノ角ゴ ProN W3";
}
#page-location .location-facility-list .location-facility-list--sub-list li::before {
  content: "・";
}
#page-location .location-facility-list .location-facility-list--sub-list li + li {
  margin-top: 8px;
}
@media screen and (max-width: 1024px) {
  #page-location .location-facility-list {
    margin-bottom: 0;
    padding-bottom: 40px;
  }
  #page-location .location-facility-list .location-facility-list--list__item {
    margin-bottom: 20px;
  }
  #page-location .location-facility-list .location-facility-list--list__text {
    font-size: 15px;
  }
  #page-location .location-facility-list .location-facility-list--sub-list {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-location #location-education,
  #page-location #location-medical{
    background: #fff;
  }
  #page-location .location-facility-list .location-facility-list--list {
    gap: 15px 10px;
  }
  #page-location .location-facility-list .location-facility-list--list__item {
    width: 100%;
    margin-bottom: 0;
  }
  #page-location #location-education .location-facility-list .location-facility-list--list__item,
  #page-location #location-park .location-facility-list .location-facility-list--list__item,
  #page-location #location-medical .location-facility-list .location-facility-list--list__item{
    width: calc((100% - 10px) / 2);
  }
  #page-location #location-park .location-facility-list .location-facility-list--list__item:first-child{
    width: 100%;
  }
  #page-location #location-medical .location-facility-list .location-facility-list--list__item:last-child{
    width: 100%;
  }
}

/* ---- location-area（「あすと長町」エリアの商業施設も生活圏） ---- */
#page-location .location-area {
  padding-bottom: 80px;
}
#page-location .location-area .location-area__inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
#page-location .location-area .location-area--gallery {
  display: flex;
  justify-content: center;
  gap: 10px;
  text-align: left;
}
#page-location .location-area .location-area--gallery__main {
  flex: 0 0 800px;
  max-width: 800px;
}
#page-location .location-area .location-area--gallery__main img {
  display: block;
  width: 100%;
  height: 380px;
  object-fit: cover;
}
#page-location .location-area .location-area--gallery__caption {
  font-size: 16px;
  margin-top: 16px;
  font-family: "ヒラギノ角ゴ ProN W3";
}
#page-location .location-area .location-area--gallery__list {
  margin-top: 24px;
  color: #231815;
  font-size: 16px;
  line-height: 2;
  font-family: "ヒラギノ角ゴ ProN W3";
}
#page-location .location-area .location-area--gallery__sub {
  display: flex;
  flex-direction: column;
  gap: 30px;
  flex: 0 0 400px;
  max-width: 400px;
}
#page-location .location-area .location-area--gallery__sub-item img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
}
@media screen and (max-width: 1024px) {
  #page-location .location-area {
    padding-bottom: 30px;
    padding: 0 5%;
  }
  #page-location .location-area .location-area--gallery {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  #page-location .location-area .location-area--gallery__main,
  #page-location .location-area .location-area--gallery__sub {
    flex: none;
    max-width: 100%;
    width: 100%;
  }
  #page-location .location-area .location-area--gallery__main img {
    height: auto;
    aspect-ratio: 700 / 380;
  }
  /* #page-location .location-area .location-area--gallery__sub {
    flex-direction: row;
  } */
  #page-location .location-area .location-area--gallery__sub-item {
    flex: 1 1 50%;
  }
  #page-location .location-area .location-area--gallery__sub-item img {
    height: auto;
    aspect-ratio: 400 / 250;
  }
  #page-location .location-area .location-area--gallery__caption {
    font-size: 12px;
    margin-top: 8px;
  }
  #page-location .location-area .location-area--gallery__list {
    font-size: 13px;
    line-height: 1.8;
  }
}

@media screen and (max-width: 768px) {
  #page-location .location-area {
    padding: 20px 5% 0;
  }
}

/* ==========================================================================
   現在HTMLからは参照されていない（未使用）
   ========================================================================== */
.location_pic03 {
  float: right;
  margin-top: 15px;
  text-align: left;
  font-size: 1.12em;
}
