@charset "UTF-8";
/* 共通パーツ（調整）
---------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .m-arrowDown-circle {
    width: 6.9333333333vw;
  }
  .m-arrowDown-circle::after {
    width: 2.1333333333vw;
  }
}
/* p-pageLink
---------------------------------------------------------------------------- */
.p-pageLink-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 0 4rem;
  padding-block: 4rem;
  padding-inline: 22.85rem;
  background-color: #F8F8F8;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1019607843);
}

.p-pageLink {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #1A1A1A;
  padding-bottom: 1rem;
}

@media screen and (max-width: 767px) {
  .p-pageLink-wrap {
    grid-template-columns: 1fr;
    gap: 5.0666666667vw;
    padding-block: 7.7333333333vw 5.3333333333vw;
    padding-inline: 5.3333333333vw;
    box-shadow: 0 0 2.6666666667vw rgba(0, 0, 0, 0.1019607843);
  }
  .p-pageLink {
    font-size: 4.2666666667vw;
    padding-bottom: 2.1333333333vw;
  }
}
/* p-locality-sec01
---------------------------------------------------------------------------- */
.p-locality-sec01 {
  padding-top: 7.8rem;
}

.p-locality-sec01-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-bottom: 5.5rem;
}
.p-locality-sec01-txt em {
  font-weight: 700;
  color: #F57B2A;
}

.p-locality-sec01-container {
  padding-block: 5rem;
  padding-inline: 5rem;
  background-color: #FCEDCB;
  margin-block: 5rem 10rem;
}

.p-locality-sec01-block01 {
  display: flex;
  justify-content: space-between;
  gap: 0 6rem;
  position: relative;
}

.p-locality-sec01-block01:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 16rem;
  height: 4rem;
  background-color: var(--col-main-dark);
  clip-path: polygon(50% 4rem, 0% 0%, 16rem 0%);
}

.p-locality-sec01-block01-item01 {
  width: 26rem;
  border-radius: 0.4rem;
  background-color: #fff;
  overflow: hidden;
}

.p-locality-sec01-block01-item01-ttl {
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  background-color: var(--col-main);
  width: 100%;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-locality-sec01-block01-item01-lists {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-block: 2.2rem 3rem;
  padding-inline: 2.5rem;
}

.p-locality-sec01-block01-item01-list {
  display: flex;
  align-items: center;
  gap: 0 1rem;
}

.p-locality-sec01-block01-item01-list-ttl {
  font-size: 1.4rem;
  line-height: 1.3571428571;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--col-main-dark);
  border: 0.3rem solid var(--col-main);
  border-radius: 999px;
  width: 6rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-locality-sec01-block01-item01-list-txt {
  flex: 1;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 500;
}

.p-locality-sec01-block01-item02 {
  flex: 1;
  border-radius: 0.4rem;
  background-color: #fff;
  position: relative;
}

.p-locality-sec01-block01-item02::before,
.p-locality-sec01-block01-item02::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 4.1rem;
  aspect-ratio: 41/42.5;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-locality-sec01-block01-item02::before {
  left: -5rem;
  background-image: url(/assets/images/kome/locality/icn_arrow_left_right.svg);
}

.p-locality-sec01-block01-item02::after {
  right: -5rem;
  background-image: url(/assets/images/kome/locality/icn_arrow_right_left.svg);
}

.p-locality-sec01-block01-item02-ttl {
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  background-color: var(--col-main-dark);
  width: 100%;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.4rem 0.4rem 0 0;
}

.p-locality-sec01-block01-item02-wrapper {
  padding-block: 2rem;
  padding-inline: 3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.p-locality-sec01-block01-item02-lists {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.8rem;
}

.p-locality-sec01-block01-item02-list {
  font-size: 1.8rem;
  line-height: 1.6111111111;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #0A3190;
  padding-left: 1.2rem;
  position: relative;
}
.p-locality-sec01-block01-item02-list._orange {
  color: var(--col-main-dark);
}
.p-locality-sec01-block01-item02-list._orange span {
  color: #1A1A1A;
}

.p-locality-sec01-block01-item02-list::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.7rem;
  aspect-ratio: 1;
  background-color: currentColor;
  border-radius: 50%;
}

.p-locality-sec01-block01-item02-wrap {
  padding-block: 2.2rem;
  padding-inline: 3rem;
  background-color: #F8F8F8;
  position: relative;
}

.p-locality-sec01-block01-item02-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 16rem;
  height: 0.4rem;
  background-color: var(--col-main);
}

.p-locality-sec01-block01-item02-wrap-lists {
  columns: 2;
}

.p-locality-sec01-block01-item02-wrap-list {
  width: max-content;
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.06em;
  font-weight: 700;
  line-height: 1.7;
  break-inside: avoid;
}

.p-locality-sec01-block01-item03 {
  width: 26rem;
  border-radius: 0.4rem;
  background-color: #fff;
  overflow: hidden;
}

.p-locality-sec01-block01-item03-ttl {
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  background-color: var(--col-main);
  width: 100%;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-locality-sec01-block01-item03-lists {
  padding-block: 3rem;
  padding-inline: 4rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-locality-sec01-block01-item03-list {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 500;
  padding-left: 1.6rem;
  position: relative;
}

.p-locality-sec01-block01-item03-list::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  width: 0.6rem;
  aspect-ratio: 1;
  background-color: var(--col-main-dark);
  border-radius: 50%;
}

.p-locality-sec01-block01-item03-list:not(:last-child) {
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #BEBEBE;
}

.p-locality-sec01-block02 {
  padding-block: 5rem 4rem;
  padding-inline: 5rem;
  background-color: #fff;
  border-top: 0.6rem solid var(--col-main-dark);
  border-radius: 0.5rem;
  margin-top: 8.5rem;
  position: relative;
}

.p-locality-sec01-block02:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 16rem;
  height: 4rem;
  background-color: var(--col-main-dark);
  clip-path: polygon(50% 4rem, 0% 0%, 16rem 0%);
}

.p-locality-sec01-block02-ttl {
  position: absolute;
  top: -3rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  background-color: var(--col-main-dark);
  width: 100%;
  max-width: 47rem;
  height: 4.9rem;
  padding-block: 0.5rem;
  border-radius: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-locality-sec01-block02-items {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0 2rem;
}

.p-locality-sec01-block02-item {
  padding-block: 1.8rem;
  padding-inline: 4rem;
  background-color: #F8F8F8;
}

.p-locality-sec01-block02-item-ttl {
  font-size: 1.8rem;
  line-height: 1.6111111111;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--col-main-dark);
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: flex-start;
  column-gap: 1rem;
}

.p-locality-sec01-block02-item-ttl::before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-locality-sec01-block02-item-ttl._01::before {
  width: 1.8rem;
  aspect-ratio: 18/19;
  background-image: url(/assets/images/kome/locality/icn_sec01_block02_01.svg);
}

.p-locality-sec01-block02-item-ttl._02::before {
  width: 2rem;
  aspect-ratio: 20/19;
  background-image: url(/assets/images/kome/locality/icn_sec01_block02_02.svg);
}

.p-locality-sec01-block02-item-ttl._03::before {
  width: 2rem;
  aspect-ratio: 20/17;
  background-image: url(/assets/images/kome/locality/icn_sec01_block02_03.svg);
}

.p-locality-sec01-block02-item-lists {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1.8rem;
}

.p-locality-sec01-block02-item-list {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 500;
  padding-left: 1.6rem;
  position: relative;
}

.p-locality-sec01-block02-item-list::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  width: 0.6rem;
  aspect-ratio: 1;
  background-color: var(--col-main-dark);
  border-radius: 50%;
}

.p-locality-sec01-block02-item-list:not(:last-child) {
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #BEBEBE;
}

.p-locality-sec01-block03 {
  display: flex;
  width: 100%;
  height: 12rem;
  border: 0.3rem solid var(--col-main-dark);
  border-radius: 0.5rem;
  background-color: #fff;
  overflow: hidden;
  margin-top: 6rem;
}

.p-locality-sec01-block03-left {
  width: 33.3rem;
  background-color: var(--col-main-dark);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.p-locality-sec01-block03-left:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 99%;
  transform: translateY(-50%);
  width: 1.3rem;
  height: 3.1rem;
  background-color: var(--col-main-dark);
  clip-path: polygon(1.3rem 50%, 0% 0%, 0% 3.1rem);
}

.p-locality-sec01-block03-ttl {
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  padding-left: 5.5rem;
  position: relative;
}

.p-locality-sec01-block03-ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3.6rem;
  aspect-ratio: 36/40;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(/assets/images/kome/locality/icn_sec01_block03_01.svg);
}

.p-locality-sec01-block03-right {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-locality-sec01-block03-right-txt {
  display: flex;
  align-items: center;
  gap: 0 3rem;
}

.p-locality-sec01-block03-right-txt em {
  font-size: 2.4rem;
  line-height: 1.25;
  letter-spacing: 0.06em;
  font-weight: 700;
  background-image: linear-gradient(to bottom, transparent 60%, #FFE2B2 60%);
  background-repeat: no-repeat;
}

.p-locality-sec01-block03-right-txt span {
  display: block;
  width: 3rem;
  height: 3rem;
  position: relative;
}

.p-locality-sec01-block03-right-txt span::before,
.p-locality-sec01-block03-right-txt span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 0.5rem;
  background-color: var(--col-main-dark);
}

.p-locality-sec01-block03-right-txt span::before {
  transform: translateY(-50%) rotate(45deg);
}

.p-locality-sec01-block03-right-txt span::after {
  transform: translateY(-50%) rotate(-45deg);
}

.p-locality-sec01-block04 {
  width: 100%;
  max-width: 89rem;
  margin-inline: auto;
  margin-top: 4rem;
}

.p-locality-sec01-block04-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.p-locality-sec01-block04-lists {
  display: flex;
  justify-content: space-between;
  gap: 0 1rem;
  margin-top: 1rem;
}

.p-locality-sec01-block04-list {
  height: 5rem;
}

.p-locality-sec01-block04-list._01 {
  width: 14rem;
}
.p-locality-sec01-block04-list._01 img {
  aspect-ratio: 80/20.68;
}

.p-locality-sec01-block04-list._02 {
  width: 14rem;
}
.p-locality-sec01-block04-list._02 img {
  aspect-ratio: 80/21.1;
}

.p-locality-sec01-block04-list._03 {
  width: 14rem;
}
.p-locality-sec01-block04-list._03 img {
  aspect-ratio: 80/13.48;
}

.p-locality-sec01-block04-list._04 {
  width: 16rem;
}
.p-locality-sec01-block04-list._04 img {
  aspect-ratio: 128.9/22.69;
}
.p-locality-sec01-block04-list._04 .p-locality-sec01-block04-link {
  padding-left: 0.6rem;
}

.p-locality-sec01-block04-list._05 {
  width: 12rem;
}
.p-locality-sec01-block04-list._05 img {
  aspect-ratio: 70/38.91;
}
.p-locality-sec01-block04-list._05 .p-locality-sec01-block04-link {
  padding-left: 1.5rem;
}

.p-locality-sec01-block04-list._06 {
  width: 14rem;
}
.p-locality-sec01-block04-list._06 img {
  aspect-ratio: 80/17.51;
}

.p-locality-sec01-block04-link {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 2rem;
  background-color: #fff;
  border: 1px solid #BEBEBE;
  border-radius: 0.4rem;
  position: relative;
}
.p-locality-sec01-block04-link::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 1;
  background-image: url(./../../../images/kome/locality/icn_link.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
}
.p-locality-sec01-block04-link img {
  object-fit: contain;
  object-position: center;
}

@media screen and (max-width: 767px) {
  .p-locality-sec01 {
    padding-top: 12.8vw;
  }
  .p-locality-sec01-txt {
    font-size: 4.2666666667vw;
    margin-bottom: 14.4vw;
  }
  .p-locality-sec01-container {
    padding-block: 8vw;
    padding-inline: 5.3333333333vw;
    margin-block: 8vw 18.6666666667vw;
  }
  .p-locality-sec01-block01 {
    display: grid;
    grid-template-areas: "block01 block03" "block02 block02";
    grid-template-columns: 1fr auto;
    grid-template-rows: repeat(2, auto);
    gap: 16vw 2.6666666667vw;
  }
  .p-locality-sec01-block01:after {
    width: 32vw;
    height: 8vw;
    clip-path: polygon(50% 8vw, 0% 0%, 32vw 0%);
  }
  .p-locality-sec01-block01-item01 {
    grid-area: block01;
    width: 100%;
    border-radius: 1.0666666667vw;
  }
  .p-locality-sec01-block01-item01-ttl {
    font-size: 4.2666666667vw;
    height: 10.6666666667vw;
  }
  .p-locality-sec01-block01-item01-lists {
    gap: 1.8666666667vw;
    padding-block: 4vw;
    padding-inline: 4vw;
  }
  .p-locality-sec01-block01-item01-list {
    flex-direction: column;
    align-items: initial;
    gap: 1.3333333333vw;
  }
  .p-locality-sec01-block01-item01-list-ttl {
    font-size: 2.6666666667vw;
    border-width: 0.5333333333vw;
    width: 12vw;
    height: 5.3333333333vw;
  }
  .p-locality-sec01-block01-item01-list-txt {
    font-size: 3.2vw;
    line-height: 1.3333333333;
  }
  .p-locality-sec01-block01-item02 {
    grid-area: block02;
    width: 100%;
    border-radius: 1.0666666667vw;
  }
  .p-locality-sec01-block01-item02::before,
  .p-locality-sec01-block01-item02::after {
    top: -12.8vw;
    width: 10.4vw;
  }
  .p-locality-sec01-block01-item02::before {
    transform: rotate(90deg);
    left: 13.3333333333vw;
  }
  .p-locality-sec01-block01-item02::after {
    transform: rotate(90deg);
    right: 14.4vw;
    background-image: url(/assets/images/kome/locality/icn_arrow_left_right.svg);
  }
  .p-locality-sec01-block01-item02-ttl {
    font-size: 4.8vw;
    height: 12.5333333333vw;
    border-radius: 1.0666666667vw 1.0666666667vw 0 0;
  }
  .p-locality-sec01-block01-item02-wrapper {
    padding-block: 6.1333333333vw 5.3333333333vw;
    padding-inline: 5.3333333333vw;
    gap: 5.0666666667vw;
  }
  .p-locality-sec01-block01-item02-lists {
    gap: 2.1333333333vw 10.4vw;
  }
  .p-locality-sec01-block01-item02-list {
    font-size: 4.2666666667vw;
    padding-left: 3.2vw;
  }
  .p-locality-sec01-block01-item02-list::before {
    width: 1.8666666667vw;
  }
  .p-locality-sec01-block01-item02-wrap {
    padding-block: 6.4vw 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-locality-sec01-block01-item02-wrap::before {
    width: 32vw;
  }
  .p-locality-sec01-block01-item02-wrap-lists {
    columns: initial;
    display: flex;
    flex-direction: column;
    gap: 1.0666666667vw;
  }
  .p-locality-sec01-block01-item02-wrap-list {
    width: 100%;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
  }
  .p-locality-sec01-block01-item03 {
    grid-area: block03;
    width: 100%;
    border-radius: 1.0666666667vw;
  }
  .p-locality-sec01-block01-item03-ttl {
    font-size: 4.8vw;
    height: 10.6666666667vw;
  }
  .p-locality-sec01-block01-item03-lists {
    padding-block: 4vw;
    padding-inline: 4.8vw;
    gap: 1.0666666667vw;
  }
  .p-locality-sec01-block01-item03-list {
    font-size: 3.2vw;
    line-height: 1.5;
    padding-left: 2.9333333333vw;
  }
  .p-locality-sec01-block01-item03-list::before {
    top: 2.1333333333vw;
    width: 1.6vw;
  }
  .p-locality-sec01-block01-item03-list:not(:last-child) {
    padding-bottom: 1.3333333333vw;
  }
  .p-locality-sec01-block02 {
    padding-block: 14.1333333333vw 5.3333333333vw;
    padding-inline: 5.3333333333vw;
    border-radius: 1.0666666667vw;
    border-width: 1.3333333333vw;
    margin-top: 19.4666666667vw;
  }
  .p-locality-sec01-block02:after {
    width: 32vw;
    height: 8vw;
    clip-path: polygon(50% 8vw, 0% 0%, 32vw 0%);
  }
  .p-locality-sec01-block02-ttl {
    top: -10.1333333333vw;
    font-size: 4.8vw;
    line-height: 1.3333333333;
    max-width: 68vw;
    height: initial;
    padding-block: 2.9333333333vw 3.2vw;
    border-radius: 1.3333333333vw;
  }
  .p-locality-sec01-block02-items {
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
  }
  .p-locality-sec01-block02-item {
    padding-block: 4.8vw 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-locality-sec01-block02-item-ttl {
    font-size: 4.8vw;
    column-gap: 2.6666666667vw;
  }
  .p-locality-sec01-block02-item-ttl._01::before {
    width: 4.8vw;
  }
  .p-locality-sec01-block02-item-ttl._02::before {
    width: 5.3333333333vw;
  }
  .p-locality-sec01-block02-item-ttl._03::before {
    width: 5.3333333333vw;
  }
  .p-locality-sec01-block02-item-lists {
    gap: 1.6vw;
    margin-top: 4vw;
  }
  .p-locality-sec01-block02-item-list {
    font-size: 4.2666666667vw;
    padding-left: 4.2666666667vw;
  }
  .p-locality-sec01-block02-item-list::before {
    top: 2.6666666667vw;
    width: 1.6vw;
  }
  .p-locality-sec01-block02-item-list:not(:last-child) {
    padding-bottom: 1.3333333333vw;
  }
  .p-locality-sec01-block03 {
    flex-direction: column;
    height: initial;
    border-width: 0.5333333333vw;
    border-radius: 1.3333333333vw;
    margin-top: 10.6666666667vw;
  }
  .p-locality-sec01-block03-left {
    width: 100%;
    height: 20.2666666667vw;
  }
  .p-locality-sec01-block03-left:after {
    top: 97%;
    left: 50%;
    transform: translateX(-50%);
    width: 6.6666666667vw;
    height: 2.6666666667vw;
    clip-path: polygon(50% 2.6666666667vw, 0% 0%, 6.6666666667vw 0%);
  }
  .p-locality-sec01-block03-ttl {
    font-size: 6.4vw;
    padding-left: 11.2vw;
  }
  .p-locality-sec01-block03-ttl::before {
    width: 8.5333333333vw;
  }
  .p-locality-sec01-block03-right {
    padding-block: 5.3333333333vw 4.8vw;
  }
  .p-locality-sec01-block03-right-txt {
    flex-direction: column;
    gap: 1.3333333333vw;
  }
  .p-locality-sec01-block03-right-txt em {
    font-size: 5.3333333333vw;
  }
  .p-locality-sec01-block03-right-txt span {
    width: 8vw;
    height: 8vw;
  }
  .p-locality-sec01-block03-right-txt span::before,
  .p-locality-sec01-block03-right-txt span::after {
    height: 1.3333333333vw;
  }
  .p-locality-sec01-block04 {
    max-width: initial;
    margin-top: 5.3333333333vw;
  }
  .p-locality-sec01-block04-txt {
    font-size: 4.2666666667vw;
  }
  .p-locality-sec01-block04-lists {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 2.6666666667vw 1.3333333333vw;
    margin-top: 1.8666666667vw;
  }
  .p-locality-sec01-block04-list {
    height: 9.3333333333vw;
  }
  .p-locality-sec01-block04-list._01 {
    width: 25.3333333333vw;
  }
  .p-locality-sec01-block04-list._01 img {
    width: 14.3786666667vw;
    aspect-ratio: 53.92/13.94;
  }
  .p-locality-sec01-block04-list._02 {
    width: 25.3333333333vw;
  }
  .p-locality-sec01-block04-list._02 img {
    width: 14.704vw;
    aspect-ratio: 55.14/14.55;
  }
  .p-locality-sec01-block04-list._03 {
    width: 25.3333333333vw;
  }
  .p-locality-sec01-block04-list._03 img {
    width: 14.704vw;
    aspect-ratio: 55.14/9.29;
  }
  .p-locality-sec01-block04-list._04 {
    width: 28vw;
  }
  .p-locality-sec01-block04-list._04 img {
    width: 22.1733333333vw;
    aspect-ratio: 83.15/14.63;
  }
  .p-locality-sec01-block04-list._04 .p-locality-sec01-block04-link {
    padding-left: 1.6vw;
  }
  .p-locality-sec01-block04-list._05 {
    width: 22.6666666667vw;
  }
  .p-locality-sec01-block04-list._05 img {
    width: 13.0666666667vw;
    aspect-ratio: 49/27.24;
  }
  .p-locality-sec01-block04-list._05 .p-locality-sec01-block04-link {
    padding-left: 2.4vw;
  }
  .p-locality-sec01-block04-list._06 {
    width: 25.3333333333vw;
  }
  .p-locality-sec01-block04-list._06 img {
    width: 14.9333333333vw;
    aspect-ratio: 56/12.26;
  }
  .p-locality-sec01-block04-link {
    padding-left: 3.6vw;
    border-radius: 1.0666666667vw;
  }
  .p-locality-sec01-block04-link::before {
    width: 2.7573333333vw;
    right: 1.7866666667vw;
  }
}
/* p-locality-sec02
---------------------------------------------------------------------------- */
.p-locality-sec02 {
  padding-top: 7.3rem;
}

.p-locality-sec02-blocks {
  display: flex;
  flex-direction: column;
  gap: 6.8rem;
  margin-top: 5rem;
}

.p-locality-sec02-block01-groups {
  display: flex;
  flex-direction: column;
  gap: 7.2rem;
}

.p-locality-sec02-block01-wrap {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0 6rem;
  margin-top: 4rem;
}

.p-locality-sec02-block01-wrap-img {
  width: 45rem;
  aspect-ratio: 450/300;
}
.p-locality-sec02-block01-wrap-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-locality-sec02-block01-wrap-txt {
  flex: 1;
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
}

.p-locality-sec02-block02-ttl {
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 700;
  padding-block: 1rem;
  padding-inline: 1.5rem;
  background-color: #FCEDCB;
  border-left: 0.5rem solid var(--col-main-dark);
  border-radius: 0.4rem;
}

.p-locality-sec02-block02-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: 3.7rem;
}

.p-locality-sec02-block02-groups {
  display: flex;
  flex-direction: column;
  gap: 4.7rem;
  margin-top: 4.7rem;
}

.p-locality-sec02-block02-group-wrap {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0 6rem;
  margin-top: 3rem;
}

.p-locality-sec02-block02-group-wrap-img {
  width: 45rem;
  aspect-ratio: 450/300;
}
.p-locality-sec02-block02-group-wrap-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-locality-sec02-block02-group-wrap-txt {
  flex: 1;
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
}

.p-locality-sec02-block03-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: 4rem;
}

.p-locality-sec02-block03-lists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 2rem;
  margin-top: 2.7rem;
}

.p-locality-sec02-block03-list {
  flex: 1;
  width: 100%;
  aspect-ratio: 285/190;
}
.p-locality-sec02-block03-list img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-locality-sec02-block03-button {
  width: 25.7rem;
  margin-inline: auto;
  margin-top: 4rem;
}

@media screen and (max-width: 767px) {
  .p-locality-sec02 {
    padding-top: 17.8666666667vw;
  }
  .p-locality-sec02-blocks {
    gap: 12.8vw;
    margin-top: 8vw;
  }
  .p-locality-sec02-block01-groups {
    gap: 12.2666666667vw;
  }
  .p-locality-sec02-block01-wrap {
    flex-direction: column;
    gap: 4.2666666667vw;
    margin-top: 5.3333333333vw;
  }
  .p-locality-sec02-block01-wrap-img {
    width: 100%;
  }
  .p-locality-sec02-block01-wrap-txt {
    font-size: 4.2666666667vw;
  }
  .p-locality-sec02-block02-ttl {
    font-size: 6.4vw;
    padding-block: 2.6666666667vw;
    padding-inline: 4vw;
    border-width: 1.3333333333vw;
    border-radius: 1.0666666667vw;
  }
  .p-locality-sec02-block02-txt {
    font-size: 4.2666666667vw;
    margin-top: 4.5333333333vw;
  }
  .p-locality-sec02-block02-groups {
    gap: 12.5333333333vw;
    margin-top: 7.2vw;
  }
  .p-locality-sec02-block02-group-wrap {
    flex-direction: column;
    gap: 4.8vw;
    margin-top: 5.3333333333vw;
  }
  .p-locality-sec02-block02-group-wrap-img {
    width: 100%;
  }
  .p-locality-sec02-block02-group-wrap-txt {
    font-size: 4.2666666667vw;
  }
  .p-locality-sec02-block03-content {
    display: flex;
    flex-direction: column-reverse;
  }
  .p-locality-sec02-block03-txt {
    font-size: 4.2666666667vw;
    margin-top: 4.5333333333vw;
  }
  .p-locality-sec02-block03-lists {
    grid-template-columns: repeat(2, 1fr);
    gap: 5.3333333333vw;
    margin-top: 5.3333333333vw;
  }
  .p-locality-sec02-block03-button {
    width: 100%;
    margin-top: 6.9333333333vw;
  }
}
/* p-locality-sec03
---------------------------------------------------------------------------- */
.p-locality-sec03 {
  padding-top: 11rem;
}

.p-locality-sec03-container {
  margin-top: 5rem;
}

.p-locality-sec03-blocks {
  display: flex;
  flex-direction: column;
  gap: 7rem;
  margin-top: 5rem;
}

.p-locality-sec03-block01-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: 3rem;
}

.p-locality-sec03-block01-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}

.p-locality-sec03-block01-item {
  display: flex;
  align-items: flex-start;
  gap: 0 2rem;
  padding-block: 3.5rem 4rem;
  padding-inline: 4.8rem;
  background-color: #F8F8F8;
  border-radius: 0.5rem;
  position: relative;
}

.p-locality-sec03-block01-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 24rem;
  height: 0.6rem;
  background-color: var(--col-main);
  border-radius: 99px;
}

.p-locality-sec03-block01-item-wrap {
  flex: 1;
}

.p-locality-sec03-block01-item-wrap-ttl {
  display: grid;
  grid-template-columns: auto auto;
  align-items: flex-start;
  justify-content: flex-start;
  column-gap: 1rem;
  color: var(--col-main-dark);
}

.p-locality-sec03-block01-item-wrap-ttl span {
  font-family: "Roboto";
  font-size: 2.1rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
  width: 4rem;
  height: 4rem;
  background-color: var(--col-main-dark);
  border-radius: 50%;
  display: grid;
  place-content: center;
  place-items: center;
}

.p-locality-sec03-block01-item-wrap-ttl em {
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  font-weight: 700;
  display: grid;
  align-items: center;
  height: 100%;
}

.p-locality-sec03-block01-item-wrap-ttl small {
  font-size: 1.8rem;
  margin-right: 3rem;
}

.p-locality-sec03-block01-item-wrap-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: 2rem;
}

.p-locality-sec03-block01-item-img {
  width: 21rem;
  aspect-ratio: 210/140;
}
.p-locality-sec03-block01-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-locality-sec03-block02-items {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding-block: 5rem;
  padding-inline: 5rem;
  background-color: #F8F8F8;
  border-radius: 1.5rem;
  margin-top: 3rem;
}

.p-locality-sec03-block02-item {
  display: flex;
  gap: 0 4rem;
}

.p-locality-sec03-block02-item-wrap {
  flex: 1;
  padding-top: 0.8rem;
}

.p-locality-sec03-block02-item-wrap-point {
  font-size: 1.4rem;
  line-height: 2.0714285714;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--col-main);
  text-align: center;
  width: 7rem;
  height: 4rem;
  position: relative;
  z-index: 1;
  padding-top: 0.2rem;
}

.p-locality-sec03-block02-item-wrap-point:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(/assets/images/kome/locality/icn_speech_bubble.svg);
}

.p-locality-sec03-block02-item-wrap-point small {
  font-family: "Roboto";
  font-size: 1.5rem;
}

.p-locality-sec03-block02-item-wrap-ttl {
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--col-main-dark);
  margin-top: 1rem;
}

.p-locality-sec03-block02-item-wrap-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: 1.5rem;
}

.p-locality-sec03-block02-item-img {
  width: 33rem;
  aspect-ratio: 330/220;
}
.p-locality-sec03-block02-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-locality-sec03-block03-container {
  margin-top: 3rem;
}

.p-locality-sec03-block03-ttl {
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--col-main-dark);
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: flex-start;
  column-gap: 1rem;
}

.p-locality-sec03-block03-ttl::before {
  content: "";
  width: 0.8rem;
  aspect-ratio: 1;
  background-color: currentColor;
  border-radius: 50%;
}

.p-locality-sec03-block03-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: 1.3rem;
}

.p-locality-sec03-block03-images {
  display: flex;
  justify-content: center;
  gap: 0 2rem;
  margin-top: 2.7rem;
}

.p-locality-sec03-block03-images-img {
  width: 28.5rem;
  aspect-ratio: 285/190;
}
.p-locality-sec03-block03-images-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 767px) {
  .p-locality-sec03 {
    padding-top: 20.2666666667vw;
  }
  .p-locality-sec03-container {
    margin-top: 8vw;
  }
  .p-locality-sec03-blocks {
    gap: 13.6vw;
    margin-top: 5.3333333333vw;
  }
  .p-locality-sec03-block01-txt {
    font-size: 4.2666666667vw;
    margin-top: 4.8vw;
  }
  .p-locality-sec03-block01-items {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    margin-top: 4.5333333333vw;
  }
  .p-locality-sec03-block01-item {
    flex-direction: column;
    gap: initial;
    padding-block: 6.6666666667vw 5.3333333333vw;
    padding-inline: 5.3333333333vw;
    border-radius: 1.3333333333vw;
  }
  .p-locality-sec03-block01-item::before {
    width: 48vw;
    height: 1.6vw;
  }
  .p-locality-sec03-block01-item-wrap-ttl {
    column-gap: 2.6666666667vw;
  }
  .p-locality-sec03-block01-item-wrap-ttl span {
    font-size: 5.3333333333vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
  .p-locality-sec03-block01-item-wrap-ttl em {
    font-size: 5.3333333333vw;
  }
  .p-locality-sec03-block01-item-wrap-ttl small {
    font-size: 5.3333333333vw;
    margin-right: 8vw;
  }
  .p-locality-sec03-block01-item-wrap-txt {
    font-size: 4.2666666667vw;
    margin-top: 3.7333333333vw;
  }
  .p-locality-sec03-block01-item-img {
    width: 100%;
    margin-top: 4.5333333333vw;
  }
  .p-locality-sec03-block02-items {
    gap: 8vw;
    padding-block: 8vw;
    padding-inline: 5.3333333333vw;
    border-radius: 4vw;
    margin-top: 5.3333333333vw;
  }
  .p-locality-sec03-block02-item {
    flex-direction: column;
    gap: 4.5333333333vw;
  }
  .p-locality-sec03-block02-item-wrap {
    padding-top: initial;
  }
  .p-locality-sec03-block02-item-wrap-content {
    display: flex;
    gap: 0 4vw;
  }
  .p-locality-sec03-block02-item-wrap-point {
    font-size: 3.7333333333vw;
    width: 18.6666666667vw;
    height: 10.6666666667vw;
    padding-top: 0.5333333333vw;
  }
  .p-locality-sec03-block02-item-wrap-point small {
    font-size: 4vw;
  }
  .p-locality-sec03-block02-item-wrap-ttl {
    font-size: 4.8vw;
    margin-top: initial;
    padding-top: 0.5333333333vw;
    flex: 1;
  }
  .p-locality-sec03-block02-item-wrap-txt {
    font-size: 4.2666666667vw;
    margin-top: 2.1333333333vw;
  }
  .p-locality-sec03-block02-item-img {
    width: 100%;
  }
  .p-locality-sec03-block03-container {
    margin-top: 5.3333333333vw;
  }
  .p-locality-sec03-block03-ttl {
    font-size: 4.8vw;
    column-gap: 2.6666666667vw;
  }
  .p-locality-sec03-block03-ttl::before {
    width: 2.1333333333vw;
  }
  .p-locality-sec03-block03-content {
    display: flex;
    flex-direction: column-reverse;
  }
  .p-locality-sec03-block03-txt {
    font-size: 4.2666666667vw;
    margin-top: 4.8vw;
  }
  .p-locality-sec03-block03-images {
    gap: 0 5.3333333333vw;
    margin-top: 4vw;
  }
  .p-locality-sec03-block03-images-img {
    flex: 1;
  }
}
/* p-locality-sec04
---------------------------------------------------------------------------- */
.p-locality-sec04 {
  padding-block: 11rem 10rem;
}

.p-locality-sec04-container {
  margin-top: 5rem;
}

.p-locality-sec04-txt {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-top: 3.8rem;
}

.p-locality-sec04-button {
  width: 29rem;
  margin-inline: auto;
  margin-top: 3.7rem;
}

@media screen and (max-width: 767px) {
  .p-locality-sec04 {
    padding-block: 14.6666666667vw 13.3333333333vw;
  }
  .p-locality-sec04-container {
    margin-top: 8vw;
  }
  .p-locality-sec04-txt {
    font-size: 4.2666666667vw;
    margin-top: 4.5333333333vw;
  }
  .p-locality-sec04-button {
    width: 100%;
    margin-top: 7.2vw;
  }
}
