@media screen and (min-width: 768px) {
  .areaInfoSect__head + .areaInfoSect__cont {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .areaInfoSect__head + .areaInfoSect__cont {
    margin-top: 64px;
  }
}

@media screen and (min-width: 768px) {
  .areaSect__head + .areaSect__cont {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .areaSect__head + .areaSect__cont {
    margin-top: 64px;
  }
}

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

@media screen and (min-width: 768px) {
  .facilitySect + .facilitySect {
    margin-top: 160px;
  }
}

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

@media screen and (min-width: 768px) {
  .facilitySect__head + .facilitySect__cont {
    margin-top: 80px;
  }
}

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

.facilitySect__headVisual {
  text-align: right;
}

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

@media screen and (min-width: 768px) {
  .facilitySect__headVisual + .facilitySect__ttl {
    margin-top: 80px;
  }
}

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

.facilitySect__headVisual .photo__capOut {
  position: static;
}

.facilitySect__ttl {
  color: #91765d;
  font-family: "Marcellus", "Cormorant Garamond", serif;
  line-height: .7;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .facilitySect__ttl {
    font-size: 37px;
  }
}

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

@media screen and (min-width: 768px) {
  .facilitySect__ttl + .facilitySect__desc {
    margin-top: 80px;
  }
}

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

@media screen and (min-width: 768px) {
  .facilitySect__desc {
    display: grid;
    gap: 80px;
    grid-template-columns: repeat(2, 1fr);
  }
}

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

.facilitySect__desc .headingCombi .heading {
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .facilitySect__desc .headingCombi .heading {
    margin-right: -24px;
  }
}

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

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

@media screen and (min-width: 768px) {
  .facilitySect__cont {
    padding: 80px 0;
  }
}

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

.facilitySect__cont:after {
  width: calc(100vw - var(--scrollbar));
  background-color: #ebe5db;
  content: '';
  inset: 0;
  position: absolute;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .facilitySect__cont:after {
    margin-left: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1120px) {
  .facilitySect__cont:after {
    margin-left: 0;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__cont:after {
    margin-left: -40px;
  }
}

.facilitySect__cont .generalSlider {
  width: calc(100vw - var(--scrollbar));
}

@media screen and (min-width: 768px) {
  .facilitySect__cont .generalSlider {
    margin-left: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1120px) {
  .facilitySect__cont .generalSlider {
    margin-left: 0;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__cont .generalSlider {
    margin-left: -40px;
  }
}

@media screen and (min-width: 768px) {
  .facilitySect__cont .generalSlider .swiper-slide {
    width: calc(500 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__cont .generalSlider .swiper-slide {
    width: 295px;
  }
}

.facilitySect__cont .generalSlider .swiper-slide .photo__capOut {
  position: static;
  text-align: right;
}

.facilitySect__cont .generalSlider .swiper-slide .txt:after {
  content: initial;
}

.lifeinfoDesc {
  width: calc(100vw - var(--scrollbar));
}

@media screen and (min-width: 768px) {
  .lifeinfoDesc {
    margin-left: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1120px) {
  .lifeinfoDesc {
    margin-left: 0;
    width: 100%;
  }
}

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

@media screen and (min-width: 768px) {
  .lifeinfoDesc {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
  }
}

@media screen and (min-width: 768px) {
  .lifeinfoDesc__map {
    grid-row: auto / span 2;
  }
}

@media screen and (max-width: 768px) {
  .lifeinfoDesc__map {
    aspect-ratio: 1 / 1;
  }
}

.lifeinfoDesc__map .lifeinfoDesc__item {
  height: 100%;
  width: 100%;
}

.lifeinfoDesc__select {
  background-color: #436b6c;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.lifeinfoDesc__trigger {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #436b6c;
  border: 0;
  border-bottom: 1px solid  #224142;
  color: #ffffff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .05em;
  line-height: 1.4;
  position: relative;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .lifeinfoDesc__trigger {
    font-size: 14px;
    height: 72px;
  }
}

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

@media screen and (min-width: 768px) {
  .lifeinfoDesc__trigger:hover:after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
}

@media (hover: hover) and (pointer: fine) {
  .lifeinfoDesc__trigger:hover:after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
}

.lifeinfoDesc__trigger:after {
  background-color: #ccc7c2;
  bottom: -1px;
  content: '';
  left: 0;
  position: absolute;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .lifeinfoDesc__trigger:after {
    height: 5px;
  }
}

@media screen and (max-width: 768px) {
  .lifeinfoDesc__trigger:after {
    height: 5px;
  }
}

.lifeinfoDesc__trigger.is-active {
  pointer-events: none;
}

.lifeinfoDesc__trigger.is-active:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.lifeinfoDesc__table {
  background-color: #ffffff;
}

@media screen and (min-width: 768px) {
  .lifeinfoDesc__table {
    aspect-ratio: 576 / 559;
    overflow-y: scroll;
  }
}

.lifeinfoDesc__plot {
  border-bottom: 1px solid #ccc7c2;
}

.lifeinfoDesc__plot .trigger {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: none;
  border: 0;
  color: #44403b;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  letter-spacing: .05em;
  line-height: 1.25;
  text-align: left;
  white-space: nowrap;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .lifeinfoDesc__plot .trigger {
    font-size: 14px;
    gap: 14px;
    padding: 16px 20px;
  }
}

@media screen and (max-width: 768px) {
  .lifeinfoDesc__plot .trigger {
    font-size: 12px;
    gap: 14px;
    padding: 16px 20px;
  }
}

.lifeinfoDesc__plot .num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1 / 1;
  background-color: #877543;
  border: 1px solid #e5dfcf;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Marcellus", "Cormorant Garamond", serif;
  font-weight: 600;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0;
  line-height: .7;
}

@media screen and (min-width: 768px) {
  .lifeinfoDesc__plot .num {
    font-size: 16px;
    width: 29px;
  }
}

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

.lifeinfoDesc__plot .dist {
  margin-left: auto;
}

.lifeinfoDesc__item {
  display: none;
}

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

.placeSect {
  position: relative;
}

@media screen and (min-width: 768px) {
  .placeSect {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .placeSect + .placeSect {
    margin-top: 300px;
  }
}

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

.placeSect__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  .placeSect__head {
    gap: 56px;
    width: 300px;
  }
}

@media screen and (max-width: 768px) {
  .placeSect__head {
    gap: 40px;
    min-width: 236px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .placeSect__head + .placeSect__cont {
    margin-top: 64px;
  }
}

.placeSect__head .heading .caption {
  color: #ffffff;
  display: block;
}

.placeSect__ttl {
  color: #beb098;
  font-family: "Marcellus", "Cormorant Garamond", serif;
  letter-spacing: .04em;
  line-height: .7;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .placeSect__ttl {
    font-size: 34px;
  }
}

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

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

@media screen and (min-width: 768px) {
  .placeSect__visualCard:nth-child(2) {
    position: absolute;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--yamashita {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 84px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

@media screen and (max-width: 768px) {
  .placeSect--yamashita .placeSect__head {
    margin-left: auto;
  }
}

.placeSect--yamashita .placeSect__cont {
  position: relative;
}

@media screen and (min-width: 768px) {
  .placeSect--yamashita .placeSect__cont {
    margin-left: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
    width: calc(860 / 1440 * calc(100vw - var(--scrollbar)));
  }
}

@media screen and (max-width: 768px) {
  .placeSect--yamashita .placeSect__visualCard:nth-child(1) {
    margin-left: -40px;
    width: 334px;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--yamashita .placeSect__visualCard:nth-child(2) {
    bottom: -100px;
    left: calc(100% + (25 / 1440 * calc(100vw - var(--scrollbar))));
    width: calc(555 / 1440 * calc(100vw - var(--scrollbar)));
  }
}

@media screen and (max-width: 768px) {
  .placeSect--yamashita .placeSect__visualCard:nth-child(2) {
    margin-left: auto;
    margin-right: -40px;
    width: 276px;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--minatomirai {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 177px;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--minatomirai .placeSect__head {
    padding: calc(60 / 1440 * calc(100vw - var(--scrollbar))) 0 calc(426 / 1440 * calc(100vw - var(--scrollbar)));
  }
}

@media screen and (min-width: 768px) {
  .placeSect--minatomirai .placeSect__cont {
    margin-right: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
    width: calc(660px + ((calc(100vw - var(--scrollbar)) - 1120px) / 2));
  }
}

@media screen and (max-width: 768px) {
  .placeSect--minatomirai .placeSect__visualCard:nth-child(1) {
    margin: 0 -40px 0 auto;
    width: 336px;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--minatomirai .placeSect__visualCard:nth-child(2) {
    bottom: calc(64 / 1440 * calc(100vw - var(--scrollbar)));
    left: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
    width: calc(594 / 1440 * calc(100vw - var(--scrollbar)));
  }
}

@media screen and (max-width: 768px) {
  .placeSect--minatomirai .placeSect__visualCard:nth-child(2) {
    margin-left: -40px;
    width: 276px;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--chinatown {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 94px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.placeSect--chinatown .placeSect__ttl {
  line-height: 1.8;
}

.placeSect--chinatown .placeSect__cont {
  position: relative;
}

@media screen and (min-width: 768px) {
  .placeSect--chinatown .placeSect__cont {
    width: 690px;
  }
}

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

@media screen and (max-width: 768px) {
  .placeSect--chinatown .placeSect__visualCard:nth-child(1) {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--chinatown .placeSect__visualCard:nth-child(2) {
    left: calc(100% + 25px);
    top: -100px;
    width: 405px;
  }
}

@media screen and (max-width: 768px) {
  .placeSect--chinatown .placeSect__visualCard:nth-child(2) {
    margin-left: auto;
    margin-right: -24px;
    width: 160px;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--motomachi {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 84px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.placeSect--motomachi .placeSect__cont {
  position: relative;
}

@media screen and (min-width: 768px) {
  .placeSect--motomachi .placeSect__cont {
    margin-left: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
    width: calc(860 / 1440 * calc(100vw - var(--scrollbar)));
  }
}

@media screen and (max-width: 768px) {
  .placeSect--motomachi .placeSect__visualCard:nth-child(1) {
    margin-left: -40px;
    width: 334px;
  }
}

@media screen and (min-width: 768px) {
  .placeSect--motomachi .placeSect__visualCard:nth-child(2) {
    bottom: -158px;
    left: calc(100% + (25 / 1440 * calc(100vw - var(--scrollbar))));
    width: calc(555 / 1440 * calc(100vw - var(--scrollbar)));
  }
}

@media screen and (max-width: 768px) {
  .placeSect--motomachi .placeSect__visualCard:nth-child(2) {
    margin-left: auto;
    margin-right: -40px;
    width: 276px;
  }
}

.restaurantCard {
  position: relative;
}

@media screen and (min-width: 768px) {
  .restaurantCard {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard:nth-child(odd) .restaurantCard__head {
    margin-left: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
  }
}

@media screen and (max-width: 768px) {
  .restaurantCard:nth-child(odd) .restaurantCard__head {
    margin-left: -80px;
  }
}

@media screen and (max-width: 768px) {
  .restaurantCard:nth-child(odd) .restaurantCard__name {
    right: -40px;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard:nth-child(even) .restaurantCard__head {
    margin-right: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
  }
}

@media screen and (max-width: 768px) {
  .restaurantCard:nth-child(even) .restaurantCard__head {
    margin-left: auto;
    margin-right: -80px;
  }
}

@media screen and (max-width: 768px) {
  .restaurantCard:nth-child(even) .restaurantCard__name {
    left: -40px;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard:first-child .restaurantCard__head {
    margin-top: -90px;
  }
}

@media screen and (max-width: 768px) {
  .restaurantCard:first-child .restaurantCard__head {
    margin-top: -116px;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard:first-child .restaurantCard__cont {
    padding-top: 156px;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard:nth-child(2n + 3) .restaurantCard__head, .restaurantCard:nth-child(2n + 4) .restaurantCard__head {
    margin: 0;
    width: 620px;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard__head {
    width: calc(620px + ((calc(100vw - var(--scrollbar)) - 1120px) / 2));
  }
}

@media screen and (max-width: 768px) {
  .restaurantCard__head {
    width: 294px;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard__cont {
    padding-top: 80px;
    width: 500px;
  }
}

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

.restaurantCard__name {
  background-color: #000000;
  color: #beb098;
  font-family: "Marcellus", "Cormorant Garamond", "Noto Serif JP", serif;
  letter-spacing: .04em;
  line-height: 1.4;
  position: relative;
}

@media screen and (min-width: 768px) {
  .restaurantCard__name {
    font-size: 20px;
    padding: 16px 0 16px 64px;
  }
}

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

@media screen and (min-width: 768px) {
  .restaurantCard__name + .restaurantCard__desc {
    margin-top: 40px;
  }
}

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

@media screen and (min-width: 768px) {
  .restaurantCard__desc {
    padding-right: 96px;
  }
}

@media screen and (min-width: 768px) {
  .restaurantCard__desc > * {
    padding-left: 64px;
  }
}

.restaurantCard__info {
  border-top: 1px solid #000000;
}

@media screen and (min-width: 768px) {
  .restaurantCard__info {
    margin-top: 40px;
    padding-top: 40px;
  }
}

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

.restaurantCard__info .item {
  letter-spacing: .13em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .restaurantCard__info .item {
    font-size: 12px;
  }
}

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

@media screen and (min-width: 768px) {
  .restaurantCard__info + .restaurantCard__option {
    margin-top: 40px;
  }
}

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

@media screen and (min-width: 768px) {
  .restaurantSect__head .sectVisual__ttl {
    width: calc(318 / 1440 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .restaurantSect__head .sectVisual__ttl {
    width: 265px;
  }
}

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

@media screen and (min-width: 768px) {
  .restaurantSect__cont {
    padding: 270px 0 160px;
  }
}

@media screen and (max-width: 768px) {
  .restaurantSect__cont {
    padding: 236px 0 120px;
  }
}

.restaurantSect__cont:after {
  width: calc(100vw - var(--scrollbar));
  background: url("../../common/imgs/bg-texture-02@1.5x.png") no-repeat center top/cover;
  content: '';
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .restaurantSect__cont:after {
    margin-left: calc((calc(100vw - var(--scrollbar)) - 1120px) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1120px) {
  .restaurantSect__cont:after {
    margin-left: 0;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .restaurantSect__cont:after {
    margin-left: -40px;
  }
}

.restaurantSect__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .restaurantSect__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 160px 92px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 104px;
  }
}

@media screen and (max-width: 768px) {
  .restaurantSect__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 104px;
    padding: 0 40px 72px;
  }
}

.restaurantSect__inner:after {
  background-color: #ffffff;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .usefulSect__head .sectVisual__ttl {
    width: calc(215 / 1440 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .usefulSect__head .sectVisual__ttl {
    width: 179px;
  }
}

@media screen and (min-width: 768px) {
  .usefulSect__head + .usefulSect__cont {
    margin-top: 160px;
  }
}

@media screen and (max-width: 768px) {
  .usefulSect__head + .usefulSect__cont {
    margin-top: 80px;
  }
}

@media screen and (min-width: 768px) {
  .usefulSect__cont .subSect__head + .subSect__cont {
    margin-top: 160px;
  }
}

@media screen and (max-width: 768px) {
  .usefulSect__cont .subSect__head + .subSect__cont {
    margin-top: 80px;
  }
}

@media screen and (min-width: 768px) {
  .location-introduction {
    padding: 120px 0;
  }
}

@media screen and (max-width: 768px) {
  .location-introduction {
    padding: 80px 0;
  }
}

@media screen and (min-width: 768px) {
  .location-area {
    padding: 160px 0 177px;
  }
}

@media screen and (max-width: 768px) {
  .location-area {
    padding: 120px 0 135px;
  }
}

@media screen and (min-width: 768px) {
  .location-place {
    padding: 160px 0 calc(260 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .location-place {
    padding: 120px 0;
  }
}

@media screen and (min-width: 768px) {
  .location-restaurant {
    padding-top: 160px;
  }
}

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

@media screen and (min-width: 768px) {
  .location-useful {
    padding: 80px 0 160px;
  }
}

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

@media screen and (min-width: 768px) {
  .location-areaInfo {
    padding: 80px 0 160px;
  }
}

@media screen and (max-width: 768px) {
  .location-areaInfo {
    padding: 64px 0 120px;
  }
}
