@media screen and (max-width: 768px) {
  .approachSect__head > .photo {
    margin-left: -32px;
    margin-right: -32px;
    width: 390px;
  }
}

@media screen and (max-width: 768px) {
  .approachSect__head > .photo .photo__capOut {
    padding-right: 5px;
  }
}

@media print, screen and (min-width: 768px) {
  .approachSect__cont .usableList__inner {
    gap: 48px;
  }
}

@media screen and (max-width: 768px) {
  .approachSect__cont .usableList__inner {
    display: block;
  }
}

@media print, screen and (min-width: 768px) {
  .approachSect__cont .usableList__item {
    width: calc(50% - 24px);
  }
}

@media screen and (max-width: 768px) {
  .approachSect__cont .usableList__item:not(:first-child) {
    margin-top: 80px;
  }
}

.approachSect__cont .usableList__item .descriptionCard__cont .heading .caption {
  display: block;
}

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

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

.areaInfoSect__ttl {
  color: #c9bc9c;
  font-family: "EB Garamond", serif;
  letter-spacing: .05em;
  line-height: 1;
  text-align: center;
}

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

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

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

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

@media screen and (max-width: 768px) {
  .areaSect {
    margin-left: -32px;
    margin-right: -32px;
    width: 390px;
  }
}

@media print, screen and (min-width: 768px) {
  .areaSect__cont .relatedBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
  }
}

@media print, screen and (min-width: 768px) {
  .areaSect__cont .relatedBox__block {
    width: calc(50% - 30px);
  }
}

@media screen and (max-width: 768px) {
  .areaSect__cont .relatedBox__block:not(:first-child) {
    margin-top: 80px;
  }
}

.areaSect__cont .relatedBox__block .headingUnit .heading {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .convenienceSect__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 48px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

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

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

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

@media screen and (max-width: 768px) {
  .convenienceSect__desc .heading {
    text-align: center;
  }
}

@media print, screen and (min-width: 768px) {
  .convenienceSect__desc .heading .caption {
    display: inline-block;
  }
}

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

.educationSect__cont {
  margin: 0 auto;
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .educationSect__cont {
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .educationSect__cont {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .educationSect__cont .usableList__inner {
    gap: 48px;
  }
}

@media screen and (max-width: 768px) {
  .educationSect__cont .usableList__inner {
    display: block;
  }
}

@media print, screen and (min-width: 768px) {
  .educationSect__cont .usableList__item {
    width: 368px;
  }
}

@media screen and (max-width: 768px) {
  .educationSect__cont .usableList__item:not(:first-child) {
    margin-top: 80px;
  }
}

.educationSect__cont .usableList__item .descriptionCard__cont .heading .caption {
  display: inline-block;
}

@media print, screen and (min-width: 768px) {
  .educationSect__cont .generalLabel {
    width: 368px;
  }
}

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

.educationSect__cont .generalLabel__txt {
  font-size: 24px;
}

.educationSect__cont .generalLabel__txt .small {
  font-size: 18px;
}

.lifeInfoDesc__map {
  aspect-ratio: 1 / 1;
}

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

.lifeInfoDesc__map .lifeInfoDesc__item {
  height: 100%;
  width: 100%;
}

.lifeInfoDesc__select {
  display: grid;
  gap: 3px;
}

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

@media screen and (max-width: 768px) {
  .lifeInfoDesc__select {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media print, screen and (min-width: 768px) {
  .lifeInfoDesc__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 48px;
  }
}

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

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

.lifeInfoDesc__trigger {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-image: -webkit-gradient(linear, left top, right top, from(#a59472), color-stop(50%, #a59472), to(#a59472));
  background-image: linear-gradient(90deg, #a59472 0%, #a59472 50%, #a59472 100%);
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 52px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  padding: 3px;
  position: relative;
  -webkit-transition: background-image .3s;
  transition: background-image .3s;
  width: 100%;
  z-index: 1;
}

.lifeInfoDesc__trigger:before {
  border: 1px solid #c9bc9c;
  content: '';
  display: block;
  height: calc(100% - 6px);
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% - 6px);
}

.lifeInfoDesc__trigger .inner {
  font-size: 12px;
  letter-spacing: .1em;
  line-height: 1.6;
}

.lifeInfoDesc__trigger .inner:before {
  content: '';
  margin-top: calc((1 - 1.6) * .5em);
}

.lifeInfoDesc__trigger .inner:after {
  margin-bottom: calc((1 - 1.6) * .5em);
}

.lifeInfoDesc__trigger .inner:before, .lifeInfoDesc__trigger .inner:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoDesc__trigger:hover {
    background-image: -webkit-gradient(linear, left top, right top, from(#796948), color-stop(50%, #8a7853), to(#796948));
    background-image: linear-gradient(90deg, #796948 0%, #8a7853 50%, #796948 100%);
  }
}

@media (hover: hover) and (pointer: fine) {
  .lifeInfoDesc__trigger:hover {
    background-image: -webkit-gradient(linear, left top, right top, from(#796948), color-stop(50%, #8a7853), to(#796948));
    background-image: linear-gradient(90deg, #796948 0%, #8a7853 50%, #796948 100%);
  }
}

.lifeInfoDesc__trigger.is-active {
  background-image: -webkit-gradient(linear, left top, right top, from(#796948), color-stop(50%, #8a7853), to(#796948));
  background-image: linear-gradient(90deg, #796948 0%, #8a7853 50%, #796948 100%);
}

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

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

.lifeInfoDesc__plot .trigger {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background: none;
  border: 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  letter-spacing: .05em;
  padding-bottom: 2em;
  text-align: left;
  width: 100%;
}

.lifeInfoDesc__plot .num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1 / 1;
  background-color: #a59472;
  border-radius: 50%;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 13px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  width: 20px;
}

.lifeInfoDesc__plot .desc {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.lifeInfoDesc__plot .name {
  display: inline-block;
  font-size: 16px;
  line-height: 1.875;
}

.lifeInfoDesc__plot .name:before {
  content: '';
  margin-top: calc((1 - 1.875) * .5em);
}

.lifeInfoDesc__plot .name:after {
  margin-bottom: calc((1 - 1.875) * .5em);
}

.lifeInfoDesc__plot .name:before, .lifeInfoDesc__plot .name:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.lifeInfoDesc__plot .time {
  display: inline-block;
  font-size: 18px;
  line-height: 1;
}

.lifeInfoDesc__plot .time .min {
  display: inline-block;
  text-align: right;
  width: 1.5em;
}

.lifeInfoDesc__plot .dist {
  display: inline-block;
  font-size: 13px;
  white-space: nowrap;
  line-height: 1.875;
}

.lifeInfoDesc__plot .dist:before {
  content: '';
  margin-top: calc((1 - 1.875) * .5em);
}

.lifeInfoDesc__plot .dist:after {
  margin-bottom: calc((1 - 1.875) * .5em);
}

.lifeInfoDesc__plot .dist:before, .lifeInfoDesc__plot .dist:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .lifeInfoDesc__plot .meter {
    display: inline-block;
  }
}

@media screen and (max-width: 768px) {
  .lifeInfoDesc__plot .meter {
    display: block;
    text-align: right;
  }
}

.lifeInfoDesc__item {
  display: none;
}

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

.mapBlock {
  background-color: #cccccc;
  color: #666666;
  height: 100%;
  width: 100%;
}

.mapBlock .centerLabel {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #00703c;
  -webkit-box-shadow: initial !important;
          box-shadow: initial !important;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 86%, 56% 86%, 50% 100%, 44% 86%, 0 86%);
          clip-path: polygon(0 0, 100% 0, 100% 86%, 56% 86%, 50% 100%, 44% 86%, 0 86%);
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 1 !important;
  overflow: visible !important;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .mapBlock .centerLabel {
    height: 79px;
    padding-top: 10px;
    -webkit-transform: translate(-50%, -140px);
            transform: translate(-50%, -140px);
    width: 96px;
  }
}

@media screen and (max-width: 768px) {
  .mapBlock .centerLabel {
    height: 55px;
    padding-top: 7px;
    -webkit-transform: translate(-50%, -110px);
            transform: translate(-50%, -110px);
    width: 67px;
  }
}

@media print, screen and (min-width: 768px) {
  .mapBlock .centerLabel img {
    height: 49px;
  }
}

@media screen and (max-width: 768px) {
  .mapBlock .centerLabel img {
    height: 34px;
  }
}

.natureSect__head .descriptionCard {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .natureSect__head .descriptionCard {
    width: 992px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .natureSect__head .descriptionCard {
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .natureSect__head .descriptionCard__cont .heading {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__head .descriptionCard__cont .heading {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .natureSect__head .descriptionCard__cont .heading .caption {
    display: inline-block;
  }
}

@media print, screen and (min-width: 768px) {
  .natureSect__head .descriptionCard__cont .heading + .txt {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__head .descriptionCard__cont .heading + .txt {
    margin-top: 24px;
    text-align: center;
  }
}

@media print, screen and (min-width: 768px) {
  .natureSect__cont {
    margin-left: calc((100% - 100vw + var(--scrollbar)) / 2);
    width: calc(100vw - var(--scrollbar));
  }
}

@media print, screen and (min-width: 768px) {
  .natureSect__cont .usableList__inner {
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__cont .usableList__inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 24px 22px;
  }
}

@media screen and (max-width: 768px) {
  .natureSect__cont .usableList__item {
    width: calc(50% - 11px);
  }
}

@media screen and (max-width: 768px) {
  .natureSect__cont .usableList__item:last-child {
    width: 100%;
  }
}

.natureSect__cont .usableList__item .photo {
  height: 100%;
  width: 100%;
}

.natureSect__cont .usableList__item .photo__pic, .natureSect__cont .usableList__item .photo__image {
  height: 100%;
  width: 100%;
}

.natureSect__cont .usableList__item .photo__image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

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

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

.parkSect__head .heading {
  color: #c9bc9c;
}

@media print, screen and (min-width: 768px) {
  .parkSect__cont .generalSlider .swiper-wrapper {
    gap: 24px;
  }
}

.parkSect__cont .generalSlider .swiper-slide {
  padding-bottom: 1em;
}

@media print, screen and (min-width: 768px) {
  .parkSect__cont .generalSlider .swiper-slide {
    width: calc((100% - 72px) / 4);
  }
}

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

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

.schoolList {
  margin-top: 40px;
}

.schoolList__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f2eee1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 16px 10px;
}

.schoolList__item:nth-child(2n) {
  background-color: #f9f8f2;
}

.schoolList__item .name {
  display: block;
  font-size: 12px;
  letter-spacing: .1em;
  white-space: nowrap;
  line-height: 1.6;
}

.schoolList__item .name:before {
  content: '';
  margin-top: calc((1 - 1.6) * .5em);
}

.schoolList__item .name:after {
  margin-bottom: calc((1 - 1.6) * .5em);
}

.schoolList__item .name:before, .schoolList__item .name:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.schoolList__item .address {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: right;
}

.schoolList + .caption {
  margin-top: 20px;
}

.schoolSect__head .heading {
  color: #c9bc9c;
}

@media print, screen and (min-width: 768px) {
  .schoolSect__cont .generalSlider .swiper-wrapper {
    gap: 24px;
  }
}

.schoolSect__cont .generalSlider .swiper-slide {
  padding-bottom: 1em;
}

@media print, screen and (min-width: 768px) {
  .schoolSect__cont .generalSlider .swiper-slide {
    width: calc((100% - 72px) / 4);
  }
}

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

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

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

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

.shopList__ttl {
  color: #887855;
  letter-spacing: .1em;
  line-height: 1.6;
}

.shopList__ttl:before {
  content: '';
  margin-top: calc((1 - 1.6) * .5em);
}

.shopList__ttl:after {
  margin-bottom: calc((1 - 1.6) * .5em);
}

.shopList__ttl:before, .shopList__ttl:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

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

@media screen and (max-width: 768px) {
  .shopList__ttl {
    font-size: 16px;
    text-align: center;
  }
}

.shopList__table {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 24px;
}

@media screen and (max-width: 768px) {
  .shopList__table {
    margin-left: -32px;
    margin-right: -32px;
    width: 390px;
  }
}

.shopList__item {
  background-color: #f2eee1;
  letter-spacing: .1em;
}

@media print, screen and (min-width: 768px) {
  .shopList__item {
    font-size: 14px;
    padding: 20px 12px;
  }
}

@media screen and (max-width: 768px) {
  .shopList__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    padding: 8px 10px;
  }
}

.shopList__item:nth-child(4n + 1), .shopList__item:nth-child(4n + 2) {
  background-color: #f9f8f2;
}

.shopList__item:nth-child(2n) {
  border-left: 1px solid #c9bc9c;
}

.shopList__item .inner {
  line-height: 2;
}

.shopList__item .inner:before {
  content: '';
  margin-top: calc((1 - 2) * .5em);
}

.shopList__item .inner:after {
  margin-bottom: calc((1 - 2) * .5em);
}

.shopList__item .inner:before, .shopList__item .inner:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.shoppingSect__head .heading {
  color: #c9bc9c;
}

@media print, screen and (min-width: 768px) {
  .shoppingSect__cont .generalSlider .swiper-wrapper {
    gap: 24px;
  }
}

.shoppingSect__cont .generalSlider .swiper-slide {
  padding-bottom: 1em;
}

@media print, screen and (min-width: 768px) {
  .shoppingSect__cont .generalSlider .swiper-slide {
    width: calc((100% - 72px) / 4);
  }
}

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

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

.systemList {
  margin-top: 40px;
}

.systemList__item {
  background-color: #f2eee1;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .systemList__item {
    padding: 16px 40px;
  }
}

@media screen and (max-width: 768px) {
  .systemList__item {
    padding: 24px 18px;
  }
}

.systemList__item:nth-child(2n) {
  background-color: #f9f8f2;
}

.systemList__item .ttl {
  border-bottom: 1px solid #c9bc9c;
  display: block;
  font-size: 14px;
  letter-spacing: .1em;
  line-height: 1;
  padding-bottom: 10px;
}

.systemList__item .detail {
  display: block;
  font-size: 12px;
  letter-spacing: .1em;
  margin-top: 10px;
  line-height: 1.6;
}

.systemList__item .detail:before {
  content: '';
  margin-top: calc((1 - 1.6) * .5em);
}

.systemList__item .detail:after {
  margin-bottom: calc((1 - 1.6) * .5em);
}

.systemList__item .detail:before, .systemList__item .detail:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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