@charset "UTF-8";
/* ----------------------------------------------
　PC設定
------------------------------------------------*/
.c-location {
  margin-bottom: var(--m100);
}
.c-location:not(.shopping) {
  position: relative;
  z-index: 1;
}
.c-location:not(.shopping)::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: var(--m30);
}
.c-location:not(.shopping) .s-subPage__title {
  margin-top: -5px;
}
.c-location:nth-of-type(odd) .c-location__textArea {
  padding-left: min(3.906vw, 75px);
  padding-right: min(7.812vw, 75px);
}
.c-location:nth-of-type(odd) .c-location__textArea::before {
  right: var(--m20);
}
.c-location:nth-of-type(odd) .c-location__textArea::after {
  right: 0;
  clip-path: polygon(calc(100% - var(--m80)) 0, 100% var(--m80), 100% 100%, 0 100%, 0 0);
}
.c-location:nth-of-type(odd) .c-location__image {
  margin-left: -4.6875%;
}
.c-location:nth-of-type(even) .c-location__top {
  flex-direction: row-reverse;
}
.c-location:nth-of-type(even) .c-location__textArea {
  padding-right: min(3.906vw, 75px);
  padding-left: min(7.812vw, 75px);
}
.c-location:nth-of-type(even) .c-location__textArea::before {
  left: var(--m20);
}
.c-location:nth-of-type(even) .c-location__textArea::after {
  left: 0;
  clip-path: polygon(var(--m80) 0, 100% 0, 100% 100%, 0 100%, 0 var(--m80));
}
.c-location:nth-of-type(even) .c-location__image {
  margin-right: -4.6875%;
}
.c-location.shopping .s-subPage__title::before {
  background-color: var(--green03);
}
.c-location.shopping .s-subPage__title--smallEn, .c-location.shopping .s-subPage__title--smallJp {
  color: var(--green03);
}
.c-location.shopping .c-location__textArea::after {
  background-color: var(--green03);
}
.c-location.shopping .c-location__main {
  flex-direction: row-reverse;
}
.c-location.shopping .c-location__main--textArea {
  margin-left: -13.333%;
  clip-path: polygon(10.6% 0%, 100% 0, 100% 100%, 0 100%, 0% var(--m80));
  background-color: var(--green03);
}
.c-location.shopping .c-location__main--caption {
  color: var(--green03);
}
.c-location.shopping .c-location__caption--name {
  color: var(--green03);
}
.c-location.shopping .c-location__link::after {
  background-color: var(--green03);
}
.c-location.parks::before {
  background-color: var(--blue03);
}
.c-location.parks .s-subPage__title::before {
  background-color: var(--blue03);
}
.c-location.parks .s-subPage__title--smallEn, .c-location.parks .s-subPage__title--smallJp {
  color: var(--blue03);
}
.c-location.parks .c-location__textArea::after {
  background-color: var(--blue03);
}
.c-location.parks .c-location__main--textArea {
  margin-right: -13.333%;
  clip-path: polygon(89.4% 0, 100% var(--m80), 100% 100%, 0 100%, 0 0);
  background-color: var(--blue03);
}
.c-location.parks .c-location__main--caption {
  color: var(--blue03);
  text-align: right;
}
.c-location.parks .c-location__caption--name {
  color: var(--blue03);
}
.c-location.parks .c-location__link::after {
  background-color: var(--blue03);
}
.c-location.education::before {
  background-color: var(--orange01);
}
.c-location.education .s-subPage__title::before {
  background-color: var(--orange01);
}
.c-location.education .s-subPage__title--smallEn, .c-location.education .s-subPage__title--smallJp {
  color: var(--orange01);
}
.c-location.education .c-location__textArea::after {
  background-color: var(--orange01);
}
.c-location.education .c-location__caption--name {
  color: var(--orange01);
}
.c-location.education .c-location__link::after {
  background-color: var(--orange01);
}
.c-location.education .c-location__subtitle {
  color: var(--orange01);
}
.c-location.education .c-location__subtitle::after {
  background-color: var(--orange01);
}
.c-location.medical::before {
  background-color: var(--brown01);
}
.c-location.medical .s-subPage__title::before {
  background-color: var(--brown01);
}
.c-location.medical .s-subPage__title--smallEn, .c-location.medical .s-subPage__title--smallJp {
  color: var(--brown01);
}
.c-location.medical .c-location__textArea::after {
  background-color: var(--brown01);
}
.c-location.medical .c-location__caption--name {
  color: var(--brown01);
}
.c-location.medical .c-location__link::after {
  background-color: var(--brown01);
}
.c-location.other::before {
  background-color: var(--purple01);
}
.c-location.other .s-subPage__title::before {
  background-color: var(--purple01);
}
.c-location.other .s-subPage__title--smallEn, .c-location.other .s-subPage__title--smallJp {
  color: var(--purple01);
}
.c-location.other .c-location__caption--name {
  color: var(--purple01);
}
.c-location.other .c-location__link::after {
  background-color: var(--purple01);
}
.c-location__top {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--m100);
}
.c-location__textArea {
  width: 50%;
  position: relative;
  z-index: 2;
  padding-top: var(--m70);
  padding-bottom: var(--m70);
}
.c-location__textArea::before, .c-location__textArea::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c-location__textArea::before {
  z-index: -1;
  width: 60vw;
  height: calc(100% - var(--m40));
  border: 2px solid var(--white);
}
.c-location__textArea::after {
  z-index: -2;
  width: 60vw;
  height: 100%;
}
.c-location__catch {
  margin-bottom: var(--fs18_32);
}
.c-location__catch--line {
  font-size: var(--fs18_32);
  color: var(--white);
  font-weight: 500;
  display: block;
}
.c-location__text--line {
  font-size: var(--fs14_20);
  color: var(--white);
  display: block;
}
.c-location__image {
  position: relative;
  z-index: 1;
  width: 54.6875%;
}
.c-location__main {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--m65);
}
.c-location__main--textArea {
  width: 50%;
  position: relative;
  z-index: 2;
  padding: var(--m80) min(5%, 65px) var(--m60) min(5%, 65px);
}
.c-location__main--catch {
  font-size: var(--fs14_20);
  color: var(--white);
  font-weight: 500;
}
.c-location__main--catch .emp {
  font-size: var(--fs18_36);
  color: var(--white);
  font-weight: 500;
}
.c-location__main--title {
  font-size: var(--fs20_40);
  color: var(--white);
  font-weight: 500;
  display: block;
  padding-bottom: var(--m16);
  margin-bottom: var(--m20);
  position: relative;
  z-index: 1;
}
.c-location__main--title::after {
  content: "";
  display: inline-block;
  width: 80%;
  height: 2px;
  background-color: var(--white);
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-location__main--line {
  font-size: var(--fs14_18);
  color: var(--white);
  font-weight: 500;
  display: block;
}
.c-location__main--image {
  width: 63.333%;
  position: relative;
  z-index: 1;
}
.c-location__main--link {
  aspect-ratio: 3/2;
  overflow: hidden;
  display: block;
}
.c-location__main--link img {
  height: 100%;
  object-fit: cover;
}
.c-location__main--caption {
  font-size: var(--fs16_20);
  font-weight: bold;
  margin-top: 1em;
}
.c-location__list {
  display: flex;
  flex-wrap: wrap;
  grid-gap: var(--m55) 5%;
}
.c-location__list.sub_list {
  margin-top: var(--m50);
}
.c-location__box {
  width: 30%;
}
.c-location__link {
  display: block;
  aspect-ratio: 3/2;
  overflow: hidden;
  clip-path: polygon(0 0, calc(100% - var(--m30)) 0%, 100% var(--m30), 100% 100%, var(--m30) 100%, 0% calc(100% - var(--m30)));
  position: relative;
  z-index: 1;
  margin-bottom: 0.5rem;
}
.c-location__link::after {
  content: "";
  display: inline-block;
  width: var(--m30);
  height: var(--m30);
  position: absolute;
  top: 0;
  right: 0;
}
.c-location__link img {
  height: 100%;
  object-fit: cover;
}
.c-location__caption--name {
  font-size: var(--fs16_20);
  font-weight: bold;
  display: block;
}
.c-location__caption--access {
  font-size: var(--fs14_16);
}
.c-location__subtitle {
  width: 100%;
  font-size: var(--fs20_40);
  padding-bottom: var(--m16);
  position: relative;
  z-index: 1;
  text-align: center;
}
.c-location__subtitle::after {
  content: "";
  display: inline-block;
  width: var(--m100);
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* ----------------------------------------------
　PAD以下設定
------------------------------------------------*/
@media all and (min-width: 1666px) {
  .c-location:nth-of-type(odd) .c-location__textArea {
    padding-left: 0;
    margin-left: auto;
  }
  .c-location:nth-of-type(even) .c-location__textArea {
    padding-right: 0;
    margin-right: auto;
  }
  .c-location__textArea {
    max-width: 750px;
  }
}
@media all and (max-width: 768px) {
  .c-location:nth-of-type(odd) .c-location__image {
    margin: -10% 0 0 auto;
  }
  .c-location:nth-of-type(even) .c-location__image {
    margin: -10% auto 0 0;
  }
  .c-location.parks .c-location__main--textArea {
    margin-right: auto;
    margin-left: 0;
  }
  .c-location.parks .c-location__main--caption {
    left: unset;
    right: 0;
  }
  .c-location__top {
    flex-wrap: wrap;
  }
  .c-location__textArea {
    width: 100%;
    max-width: 600px;
  }
  .c-location__textArea::before, .c-location__textArea::after {
    width: 100vw;
  }
  .c-location__image {
    width: 100%;
    max-width: 600px;
  }
  .c-location__main {
    flex-direction: column-reverse !important;
  }
  .c-location__main--image {
    width: 100%;
  }
  .c-location__main--textArea {
    width: 90%;
    max-width: 600px;
    margin-top: -20%;
  }
  .c-location__main--caption {
    position: absolute;
    top: 0;
    padding: 0.15em 1em;
    background-color: var(--white);
    left: 0;
  }
  .c-location__box {
    width: 47.5%;
  }
}
/* ----------------------------------------------
　SP調整
------------------------------------------------*/