@charset "UTF-8";
/* concept/access に倣い、SPは.wrapに横方向のフルード余白を付与
   （60/750*100vw ≈ 30px）。フルブリード要素はmargin: 0 calc(-60 / 750 * 100vw)で相殺する */
@media screen and (max-width: 768px) {
  .wrap {
    padding: 0 calc(60 / 750 * 100vw);
  }
}

/* === アンカーナビ（Shopping / Nature & Park / Life Information） === */
.anchorNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .anchorNav {
    gap: 18px;
  }
}

@media screen and (max-width: 768px) {
  .anchorNav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}

.anchorNav__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #4c98aa;
  color: #4c98aa;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  -webkit-transition: background-color .3s ease, color .3s ease, border-color .3s ease;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

@media print, screen and (min-width: 768px) {
  .anchorNav__link {
    height: 64px;
    width: 325px;
  }
  .anchorNav__link:hover {
    background-color: #3f7f8e;
    border-color: #3f7f8e;
    color: #ffffff;
  }
}

@media screen and (max-width: 768px) {
  .anchorNav__link {
    height: 52px;
    width: 100%;
  }
}

.anchorNav__link.is-active {
  background-color: #3f7f8e;
  border-color: #3f7f8e;
  -webkit-box-shadow: 0 5px 20px rgba(75, 75, 75, 0.2);
          box-shadow: 0 5px 20px rgba(75, 75, 75, 0.2);
  color: #ffffff;
}

.anchorNav__txt {
  font-family: "Cinzel", serif;
  letter-spacing: .12em;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .anchorNav__txt {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .anchorNav__txt {
    font-size: 16px;
  }
}

/* === セクション見出しバナー（Shopping / Nature） === */
.locationVisual {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .locationVisual {
    height: 162px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .locationVisual {
    height: 120px;
    margin-top: 28px;
  }
}

.locationVisual__bg {
  inset: 0;
  position: absolute;
  z-index: 1;
}

.locationVisual__bg:after {
  background-color: rgba(0, 0, 0, 0.6);
  content: '';
  inset: 0;
  position: absolute;
  z-index: 1;
}

.locationVisual__picture, .locationVisual__image {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.locationVisual__en {
  color: #ffffff;
  font-family: "Cinzel", serif;
  letter-spacing: .08em;
  line-height: 1;
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .locationVisual__en {
    font-size: 46px;
    margin-top: -16px;
  }
}

@media screen and (max-width: 768px) {
  .locationVisual__en {
    font-size: 34px;
    margin-top: -10px;
  }
}

.locationVisual__sub {
  color: #ffffff;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.6;
  position: relative;
  text-align: center;
  white-space: nowrap;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .locationVisual__sub {
    font-size: 18px;
    margin-top: 12px;
  }
}

@media screen and (max-width: 768px) {
  .locationVisual__sub {
    font-size: 14px;
    margin-top: 8px;
  }
}

.locationVisual__cap {
  bottom: 6px;
  color: #ffffff;
  font-size: 10px;
  letter-spacing: .04em;
  position: absolute;
  right: 10px;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  z-index: 2;
}

/* === 共通見出し === */
.locationHeading {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .locationHeading {
    font-size: 26px;
    letter-spacing: .08em;
  }
}

@media screen and (max-width: 768px) {
  .locationHeading {
    font-size: 20px;
    letter-spacing: .04em;
  }
}

@media print, screen and (min-width: 768px) {
  .locationHeading--sm {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .locationHeading--sm {
    font-size: 19px;
  }
}

.locationHeading--bold {
  font-weight: 700;
}

.location-note {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .04em;
  line-height: 1.85;
}

@media print, screen and (min-width: 768px) {
  .location-note {
    font-size: 12px;
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .location-note {
    font-size: 10px;
    margin-top: 32px;
  }
}

/* === SHOPPING セクション === */
@media print, screen and (min-width: 768px) {
  .location-shopping {
    padding-top: 72px;
  }
}

@media screen and (max-width: 768px) {
  .location-shopping {
    padding-top: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .shoppingSect__group {
    margin-top: 96px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingSect__group {
    margin-top: 56px;
  }
}

@media print, screen and (min-width: 768px) {
  .shoppingSect > .shoppingSect__group:first-child {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingSect > .shoppingSect__group:first-child {
    margin-top: 24px;
  }
}

/* === 注目施設フィーチャー（画像＋テキスト2カラム） === */
@media print, screen and (min-width: 768px) {
  .locationFeature {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 48px;
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature--spVisualTop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .locationFeature--spVisualTop .locationFeature__visual {
    margin-top: 0;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .locationFeature--spVisualTop .locationFeature__cont {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationFeature--twoLineSp .locationFeature__name {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature--twoLineSp .locationFeature__ttl {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
  }
  .locationFeature--twoLineSp .locationFeature__name {
    font-size: 16px;
  }
  .locationFeature--twoLineSp .locationFeature__access {
    margin-left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .locationFeature--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media print, screen and (min-width: 768px) {
  .locationFeature__cont {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.locationFeature__visual {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media print, screen and (min-width: 768px) {
  .locationFeature__visual {
    width: 482px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature__visual {
    margin-top: 20px;
  }
}

.locationFeature__visual .photo {
  position: relative;
}

.locationFeature__visual .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

.locationFeature__visual .capIn {
  bottom: 5px;
  position: absolute;
  right: 5px;
  z-index: 2;
}

.locationFeature__sub {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, 1fr);
}

@media print, screen and (min-width: 768px) {
  .locationFeature__sub {
    margin-top: 24px;
    width: 450px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature__sub {
    margin-top: 16px;
  }
}

.locationFeature__sub .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

.locationFeature__ttl {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #464646;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: .08em;
}

@media print, screen and (min-width: 768px) {
  .locationFeature__ttl {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature__ttl {
    font-size: 14px;
  }
}

.locationFeature__ttl .num {
  color: #cc5277;
  font-family: "Cinzel", serif;
  font-size: 2.5em;
  line-height: 1;
  margin: 0 .08em;
}

.locationFeature__access {
  margin-left: 14px;
}

.locationFeature__walk {
  color: #464646;
}

.locationFeature__dist {
  color: #464646;
  font-size: .75em;
}

.locationFeature__lead {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.8;
}

@media print, screen and (min-width: 768px) {
  .locationFeature__lead {
    font-size: 20px;
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature__lead {
    font-size: 16px;
    margin-top: 12px;
  }
}

.locationFeature__txt {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .08em;
  line-height: 1.9;
}

@media print, screen and (min-width: 768px) {
  .locationFeature__txt {
    font-size: 16px;
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature__txt {
    font-size: 14px;
    margin-top: 12px;
  }
}

.locationFeature__note {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.8;
}

@media print, screen and (min-width: 768px) {
  .locationFeature__note {
    font-size: 12px;
    margin-top: 4px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature__note {
    font-size: 10px;
    margin-top: 4px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature--rideaway {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .locationFeature--rideaway .locationFeature__cont {
    margin-top: 0;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .locationFeature--rideaway .locationFeature__visual {
    margin-top: 12px;
  }
}

.locationFeature--lgTtl .locationFeature__ttl {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .locationFeature .nameLg {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .locationFeature .nameLg {
    font-size: 18px;
  }
}

/* === NATURE & PARK セクション === */
@media print, screen and (min-width: 768px) {
  .location-nature {
    padding-top: 96px;
  }
}

@media screen and (max-width: 768px) {
  .location-nature {
    padding-top: 56px;
  }
}

.natureSect__lead {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.9;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .natureSect__lead {
    font-size: 26px;
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__lead {
    font-size: 20px;
    margin-top: 36px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationAllMap__map {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .locationAllMap__map {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .locationAllMap__map .touchFigure {
    margin: 0 calc(-60 / 750 * 100vw);
    width: 100vw;
  }
}

@media screen and (max-width: 768px) {
  .locationAllMap__map .touchFigure--swipe {
    height: 40vh;
  }
}

@media print, screen and (min-width: 768px) {
  .locationAllMap__map .touchFigure__image {
    display: block;
    width: 100%;
  }
}

.locationAllMap__map .touchFigure__capOut {
  display: none;
}

.locationAllMap__mapCap {
  color: #464646;
  font-size: 10px;
  line-height: 1.6;
  text-align: right;
}

@media print, screen and (min-width: 768px) {
  .locationAllMap__mapCap {
    margin-top: 19px;
  }
}

@media screen and (max-width: 768px) {
  .locationAllMap__mapCap {
    margin-top: calc(20 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .natureSect__river {
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__river {
    margin-top: 28px;
  }
}

.natureSect__river .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .natureSect__riverTtl {
    margin-top: 22px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__riverTtl {
    font-size: 17px;
    margin-top: 14px;
  }
}

.natureSect__note {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .05em;
  line-height: 1.9;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .natureSect__note {
    font-size: 16px;
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__note {
    font-size: 14px;
    margin-top: 14px;
  }
}

@media print, screen and (min-width: 768px) {
  .natureSect__group {
    margin-top: 72px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__group {
    margin-top: 48px;
  }
}

/* === 登戸土地区画整理事業（コンセプトページのrenewalAreaに準拠） === */
.locationRenewal {
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .locationRenewal {
    margin-top: 72px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal {
    margin-top: 48px;
  }
}

.locationRenewal__bgLayer {
  background-color: #f4f7f6;
  height: 100%;
  left: 0;
  margin-left: calc(50% - 50vw);
  position: absolute;
  top: 0;
  width: 100vw;
}

.locationRenewal__inner {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__inner {
    padding: 100px 0;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__inner {
    padding: calc(100 / 750 * 100vw) 0;
  }
}

.locationRenewal__heading {
  color: #464646;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.6;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__heading {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__heading {
    font-size: calc(40 / 750 * 100vw);
    letter-spacing: .04em;
  }
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__rows {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__rows {
    margin-top: calc(80 / 750 * 100vw);
  }
}

.locationRenewal__row {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__row {
    -webkit-column-gap: 46px;
       -moz-column-gap: 46px;
            column-gap: 46px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__row + .locationRenewal__row {
    margin-top: 57px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__row + .locationRenewal__row {
    margin-top: calc(150 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__rowImg {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 338px;
            flex: 0 0 338px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__rowImg {
    width: 100%;
  }
}

.locationRenewal__rowImg .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__rowTxt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__rowTxt {
    margin-top: calc(40 / 750 * 100vw);
    width: 100%;
  }
}

.locationRenewal__divider {
  background-color: #e2e5e4;
  display: block;
  height: 1px;
  position: relative;
}

.locationRenewal__divider:before {
  background-color: #4c98aa;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 42px;
}

.locationRenewal__rowTtl {
  color: #464646;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.3;
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__rowTtl {
    font-size: 24px;
    margin-top: 34px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__rowTtl {
    font-size: calc(40 / 750 * 100vw);
    margin-top: calc(40 / 750 * 100vw);
  }
}

.locationRenewal__rowBody {
  color: #464646;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.8;
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__rowBody {
    font-size: 16px;
    margin-top: 22px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__rowBody {
    font-size: calc(30 / 750 * 100vw);
    margin-top: calc(28 / 750 * 100vw);
  }
}

.locationRenewal__note {
  color: #464646;
  font-size: 10px;
  line-height: 1.6;
}

@media print, screen and (min-width: 768px) {
  .locationRenewal__note {
    margin-top: 27px;
  }
}

@media screen and (max-width: 768px) {
  .locationRenewal__note {
    margin-top: calc(48 / 750 * 100vw);
  }
}

/* === 生田緑地の見どころスポット（コンセプトページのconvenience__spotsに準拠） === */
.natureSect__spots {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

@media print, screen and (min-width: 768px) {
  .natureSect__spots {
    gap: 48px 24px;
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__spots {
    gap: calc(56 / 750 * 100vw) calc(24 / 750 * 100vw);
    margin-top: calc(60 / 750 * 100vw);
  }
}

.natureSect__spotImg {
  aspect-ratio: 483 / 323;
  overflow: hidden;
  position: relative;
}

.natureSect__spotImg .photo--spot,
.natureSect__spotImg .photo--spot .photo__image {
  display: block;
  height: 100%;
  width: 100%;
}

.natureSect__spotImg .photo--spot .photo__image {
  -o-object-fit: cover;
     object-fit: cover;
}

.natureSect__spotImg .capIn {
  bottom: 5px;
  position: absolute;
  right: 5px;
  z-index: 2;
}

.natureSect__place {
  color: #464646;
  font-weight: 500;
}

@media print, screen and (min-width: 768px) {
  .natureSect__place {
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__place {
    margin-top: calc(20 / 750 * 100vw);
  }
}

.natureSect__place .name {
  display: block;
  line-height: 1.3;
}

@media print, screen and (min-width: 768px) {
  .natureSect__place .name {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__place .name {
    font-size: calc(36 / 750 * 100vw);
  }
}

.natureSect__place .walk {
  display: block;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .natureSect__place .walk {
    margin-top: 10px;
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__place .walk {
    margin-top: calc(16 / 750 * 100vw);
    font-size: calc(28 / 750 * 100vw);
  }
}

.natureSect__place .num {
  color: #cc5277;
  font-family: "Cinzel", serif;
  font-weight: 400;
  margin: 0 .04em;
  vertical-align: baseline;
}

@media print, screen and (min-width: 768px) {
  .natureSect__place .num {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__place .num {
    font-size: calc(64 / 750 * 100vw);
  }
}

.natureSect__place .dist {
  margin-left: .2em;
}

@media print, screen and (min-width: 768px) {
  .natureSect__place .dist {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__place .dist {
    font-size: calc(24 / 750 * 100vw);
  }
}

.natureSect__spots .natureSect__place .dist {
  display: block;
  margin-left: 0;
}

@media print, screen and (min-width: 768px) {
  .natureSect__spots .natureSect__place .dist {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__spots .natureSect__place .dist {
    margin-top: 4px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__spots .natureSect__place .name {
    font-size: 12px;
  }
  .natureSect__spots .natureSect__place .dist {
    font-size: 10px;
  }
}

/* === 商店会（コンセプトのconvenience__lead/streetsを反映） === */
.locationStreets__leadTtl {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 700;
  letter-spacing: .06em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .locationStreets__leadTtl {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .locationStreets__leadTtl {
    font-size: 19px;
  }
}

.locationStreets__leadBody {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .05em;
  line-height: 1.8;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .locationStreets__leadBody {
    max-width: 904px;
    margin: 26px auto 0;
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .locationStreets__leadBody {
    margin-top: 20px;
    font-size: 14px;
    text-align: left;
  }
}

.locationStreets__inlineNote {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
}

.locationStreets__body {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  display: grid;
}

@media print, screen and (min-width: 768px) {
  .locationStreets__body {
    -webkit-column-gap: 48px;
       -moz-column-gap: 48px;
            column-gap: 48px;
    grid-template-columns: 311fr 669fr;
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .locationStreets__body {
    margin-top: 28px;
    row-gap: 28px;
    grid-template-columns: 1fr;
  }
}

.locationStreets__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}

@media screen and (max-width: 768px) {
  .locationStreets__col {
    gap: 24px;
  }
}

.locationStreets__cardImg .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

.locationStreets__map .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

.locationStreets__mapCap {
  color: #464646;
  font-size: 10px;
  line-height: 1;
  margin-top: 8px;
  text-align: right;
}

/* === 施設カードグリッド（共通・全セクションで使い回し） === */
.placeCardList {
  display: grid;
  list-style: none;
}

.placeCardList > li {
  min-width: 0;
}

@media print, screen and (min-width: 768px) {
  .placeCardList {
    gap: 32px 24px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .placeCardList {
    gap: 24px 16px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 28px;
  }
}

@media print, screen and (min-width: 768px) {
  .placeCardList--wide {
    gap: 40px 48px;
    grid-template-columns: repeat(2, 1fr);
  }
  .placeCardList--wide .placeCard {
    text-align: center;
  }
  .placeCardList--wide .placeCard__visual {
    margin-bottom: 22px;
  }
  .placeCardList--wide .placeCard__name {
    display: inline;
  }
  .placeCardList--wide .placeCard__access {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin-left: 12px;
    margin-top: 0;
    vertical-align: baseline;
  }
}

@media screen and (max-width: 768px) {
  .placeCardList--wide {
    grid-template-columns: 1fr;
  }
}

@media print, screen and (min-width: 768px) {
  .placeCardList--bleed {
    gap: 0;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .placeCardList--bleed {
    gap: 0;
    grid-template-columns: repeat(2, 1fr);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
  }
}

@media print, screen and (min-width: 768px) {
  .placeCardList--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .placeCardList--col3 {
    gap: 52px;
    grid-template-columns: 1fr;
  }
}

@media print, screen and (min-width: 768px) {
  .placeCardList--col2 {
    -webkit-column-gap: 61px;
       -moz-column-gap: 61px;
            column-gap: 61px;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .placeCardList--col2 {
    gap: 32px;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 768px) {
  .shoppingSect .placeCardList--col3 {
    gap: 24px 16px;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .shoppingSect .placeCardList--col3 .placeCard__name {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingSect .placeCardList--col3 .placeCard__access {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingSect .placeCardList--col3 .placeCard__hours {
    font-size: 10px;
    min-height: 0;
    padding: 6px;
  }
}

@media print, screen and (min-width: 768px) {
  .nowrap-pc {
    white-space: nowrap;
  }
}

@media screen and (max-width: 768px) {
  .tightSp {
    letter-spacing: -.2em;
  }
}

@media screen and (max-width: 768px) {
  .placeCard__access.tightAccessSp {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    letter-spacing: -.05em;
  }
}

.placeCard__visual {
  position: relative;
}

.placeCard__visual .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

.placeCard__name {
  color: #464646;
  display: block;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: .06em;
  line-height: 1.5;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .placeCard__name {
    font-size: 16px;
    margin-top: 14px;
  }
}

@media screen and (max-width: 768px) {
  .placeCard__name {
    font-size: 14px;
    margin-top: 10px;
  }
}

.placeCard__access {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #464646;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .04em;
  line-height: 1.3;
}

@media print, screen and (min-width: 768px) {
  .placeCard__access {
    font-size: 16px;
    margin-top: 6px;
  }
}

@media screen and (max-width: 768px) {
  .placeCard__access {
    font-size: 14px;
    margin-top: 4px;
  }
}

.placeCard__walk {
  color: #464646;
}

.placeCard__dist {
  color: #464646;
  font-size: .75em;
}

.placeCard .num {
  color: #cc5277;
  font-family: "Cinzel", serif;
  font-size: 2.5em;
  line-height: 1;
  margin: 0 .08em;
}

.placeCard__note {
  color: #464646;
  font-size: 14px;
  letter-spacing: .04em;
  line-height: 1.9;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .placeCard__note {
    margin-top: 4px;
  }
}

@media screen and (max-width: 768px) {
  .placeCard__note {
    font-size: 12px;
  }
}

.placeCard__inlineNote {
  display: inline-block;
  font-size: .85em;
  margin-top: 4px;
}

.placeCard__hours {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(76, 152, 170, 0.08);
  color: #464646;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .04em;
  line-height: 1.5;
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .placeCard__hours {
    font-size: 14px;
    margin-top: 16px;
    min-height: 40px;
    padding: 6px 10px;
  }
}

@media screen and (max-width: 768px) {
  .placeCard__hours {
    font-size: 12px;
    margin-top: 12px;
    padding: 8px;
  }
}

.placeCard__genre {
  color: #464646;
  letter-spacing: .04em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .placeCard__genre {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 4px;
  }
}

@media screen and (max-width: 768px) {
  .placeCard__genre {
    font-size: 11px;
    line-height: 1.6;
    margin-top: 4px;
  }
}

.location-shopping .placeCard__visual .photo {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.location-shopping .placeCard__visual .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.location-shopping .placeCardList .placeCard__note {
  text-align: left;
}

/* === 駅アクセス band（淡いアクセント背景） === */
.shoppingAccess {
  background-color: rgba(76, 152, 170, 0.08);
}

@media print, screen and (min-width: 768px) {
  .shoppingAccess {
    margin: 96px auto 0;
    max-width: 1216px;
    padding: 56px 0 64px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingAccess {
    margin-top: 56px;
    padding: 40px 0 48px;
  }
}

.shoppingAccess__ttl {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .shoppingAccess__ttl {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingAccess__ttl {
    font-size: 19px;
    line-height: 1.6;
  }
}

@media print, screen and (min-width: 768px) {
  .shoppingAccess .placeCard__visual {
    margin-bottom: 44px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingAccess .placeCard__visual {
    margin-bottom: 40px;
  }
}

.shoppingAccess .placeCard__visual .photo {
  aspect-ratio: 3 / 2;
}

.shoppingAccess .placeCard__visual .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.shoppingAccess .placeCard__name {
  background-color: rgba(0, 0, 0, 0.72);
  bottom: 0;
  color: #ffffff;
  left: 0;
  line-height: 1.4;
  margin-top: 0;
  position: absolute;
  right: 0;
  white-space: nowrap;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .shoppingAccess .placeCard__name {
    font-size: 17px;
    padding: 12px 8px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingAccess .placeCard__name {
    font-size: 14px;
    padding: 10px 8px;
  }
}

.shoppingAccess .placeCard__note {
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .shoppingAccess .placeCard__note {
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingAccess .placeCard__note {
    margin-top: 12px;
  }
}

@media print, screen and (min-width: 768px) {
  .shoppingAccess__body {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingAccess__body {
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 28px;
    row-gap: 24px;
  }
}

.shoppingAccess__badge {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1;
  background-color: #3f7f8e;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .shoppingAccess__badge {
    width: 218px;
  }
}

@media screen and (max-width: 768px) {
  .shoppingAccess__badge {
    -ms-flex-item-align: center;
        align-self: center;
    width: 100%;
  }
}

.shoppingAccess__badge img {
  height: auto;
  width: 66%;
}

.shoppingAccess__badgeSup {
  color: #ffffff;
  font-size: 11px;
  letter-spacing: .04em;
  position: absolute;
  right: 12%;
  top: 45%;
}

/* === LIFE SUPPORT / LIFE STAGE === */
@media print, screen and (min-width: 768px) {
  .location-lifesupport {
    margin-top: 96px;
    padding: 64px 0 0;
  }
}

@media screen and (max-width: 768px) {
  .location-lifesupport {
    margin-top: 56px;
    padding: 48px 0 0;
  }
}

@media print, screen and (min-width: 768px) {
  .location-lifesupport .anchorNav + .lifeInfoHead {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .location-lifesupport .anchorNav + .lifeInfoHead {
    margin-top: 28px;
  }
}

.lifeInfoHead {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #3f7f8e;
  -webkit-box-shadow: 0 6px 20px rgba(75, 75, 75, 0.2);
          box-shadow: 0 6px 20px rgba(75, 75, 75, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoHead {
    height: 162px;
  }
}

@media screen and (max-width: 768px) {
  .lifeInfoHead {
    height: 124px;
  }
}

.lifeInfoHead__en {
  color: #ffffff;
  font-family: "Cinzel", serif;
  letter-spacing: .12em;
  line-height: 1.32;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoHead__en {
    font-size: 42px;
  }
}

@media screen and (max-width: 768px) {
  .lifeInfoHead__en {
    font-size: 28px;
  }
}

/* === LIFE INFORMATION（施設アコーディオン） === */
@media print, screen and (min-width: 768px) {
  .location-lifeinfo {
    margin-top: 96px;
    padding-bottom: 120px;
  }
}

@media screen and (max-width: 768px) {
  .location-lifeinfo {
    margin-top: 56px;
    padding-bottom: 72px;
  }
}

.location-lifeinfo .placeCard__visual .photo {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.location-lifeinfo .placeCard__visual .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media print, screen and (min-width: 768px) {
  .facilityBand + .facilityBand {
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .facilityBand + .facilityBand {
    margin-top: 40px;
  }
}

.facilityBand.is-open .arrowSVG {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.facilityBand__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: 0 5px 20px rgba(75, 75, 75, 0.2);
          box-shadow: 0 5px 20px rgba(75, 75, 75, 0.2);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .facilityBand__head {
    gap: 24px;
    height: 162px;
    padding: 0 36px;
  }
}

@media screen and (max-width: 768px) {
  .facilityBand__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 210px;
    padding: 30px 20px;
    text-align: center;
  }
}

.facilityBand__bg {
  inset: 0;
  position: absolute;
  z-index: 1;
}

.facilityBand__bg:after {
  background-color: rgba(0, 0, 0, 0.65);
  content: '';
  inset: 0;
  position: absolute;
  z-index: 1;
}

.facilityBand__bg .photo,
.facilityBand__bg .photo__pic {
  height: 100%;
}

.facilityBand__bg .photo__image {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.facilityBand__en {
  color: #ffffff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Cinzel", serif;
  letter-spacing: .08em;
  line-height: 1.2;
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .facilityBand__en {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .facilityBand__en {
    font-size: 26px;
  }
}

.facilityBand__lead {
  color: #ffffff;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .08em;
  position: relative;
  text-align: center;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .facilityBand__lead {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 20px;
    line-height: 1.6;
  }
}

@media screen and (max-width: 768px) {
  .facilityBand__lead {
    font-size: 13px;
    line-height: 1.9;
    margin-top: 14px;
  }
}

.facilityBand .stateIcon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .facilityBand .stateIcon {
    bottom: 14px;
    position: absolute;
    right: 14px;
  }
}

.facilityBand .stateIcon__circle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .facilityBand .stateIcon__circle {
    height: 50px;
    width: 50px;
  }
}

@media screen and (max-width: 768px) {
  .facilityBand .stateIcon__circle {
    height: 36px;
    width: 36px;
  }
}

.facilityBand .arrowSVG {
  display: block;
  height: 8px;
  -webkit-transition: -webkit-transform .3s ease;
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease;
  width: 10px;
}

.facilityBand__body {
  height: 0;
  overflow: hidden;
  -webkit-transition: height .45s ease;
  transition: height .45s ease;
}

@media print, screen and (min-width: 768px) {
  .facilityBand__inner {
    padding-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .facilityBand__inner {
    padding-top: 28px;
  }
}

@media print, screen and (min-width: 768px) {
  .facilityBand__list {
    gap: 40px 45px;
  }
}

.facilityBand--hospital .placeCardList .placeCard__note {
  color: #464646;
  font-size: 11px;
  letter-spacing: .02em;
  line-height: 1.7;
  margin-top: 4px;
  text-align: center;
}

.facilityBand__inner--sports .locationFeature {
  margin-top: 0;
}

@media print, screen and (min-width: 768px) {
  .facilityBand__inner--sports .locationFeature + .locationFeature {
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .facilityBand__inner--sports .locationFeature + .locationFeature {
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .facilityBand__inner--sports .locationFeature__access {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-left: 0;
    margin-top: 8px;
  }
}

/* === LIFE INFORMATION マップ＋施設タブ === */
.lifeInfoMap__map {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoMap__map {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .lifeInfoMap__map {
    margin-top: 24px;
  }
}

.lifeInfoMap__map .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoGroup {
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .lifeInfoGroup {
    margin-top: 32px;
  }
}

.lifeInfoGroup__tabs {
  display: grid;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoGroup__tabs {
    gap: 17px 45px;
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .lifeInfoGroup__tabs {
    gap: 8px;
    grid-template-columns: repeat(2, 1fr);
  }
}

.lifeInfoGroup__tab {
  background-color: rgba(76, 152, 170, 0.08);
  border: 0;
  color: #464646;
  cursor: pointer;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .04em;
  -webkit-transition: background-color .3s ease, color .3s ease;
  transition: background-color .3s ease, color .3s ease;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoGroup__tab {
    font-size: 16px;
    height: 58px;
  }
  .lifeInfoGroup__tab:hover {
    background-color: #4c98aa;
    color: #ffffff;
  }
}

@media screen and (max-width: 768px) {
  .lifeInfoGroup__tab {
    font-size: 12px;
    min-height: 44px;
    padding: 6px;
  }
}

.lifeInfoGroup__tab.is-active {
  background-color: #4c98aa;
  color: #ffffff;
}

.lifeInfoGroup__pane {
  display: none;
}

.lifeInfoGroup__pane.is-active {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoGroup__pane {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .lifeInfoGroup__pane {
    margin-top: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .placeList {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 46px;
       -moz-column-gap: 46px;
            column-gap: 46px;
  }
}

.placeInfo {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  border-bottom: 1px solid rgba(76, 152, 170, 0.3);
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media print, screen and (min-width: 768px) {
  .placeInfo {
    padding: 14px 0;
  }
}

@media screen and (max-width: 768px) {
  .placeInfo {
    padding: 12px 0;
  }
}

.placeInfo__term {
  color: #464646;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.5;
}

@media print, screen and (min-width: 768px) {
  .placeInfo__term {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .placeInfo__term {
    font-size: 14px;
  }
}

.placeInfo__desc {
  color: #464646;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .02em;
  margin-left: 14px;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .placeInfo__desc {
    font-size: 15px;
  }
}

@media screen and (max-width: 768px) {
  .placeInfo__desc {
    font-size: 12px;
  }
}

.placeInfo__desc .num {
  color: #cc5277;
  font-family: "Cinzel", serif;
  font-size: 2.5em;
  line-height: 1;
  margin: 0 .08em;
}

.placeInfo__desc .num--1digit {
  display: inline-block;
  min-width: .6em;
  text-align: center;
}

.placeInfo__desc .num--2digit {
  display: inline-block;
  min-width: 1.17em;
  text-align: center;
}
