@media screen and (max-width: 768px) {
  .environmentSect__head .heading {
    margin: 0 -28px;
  }
}

@media screen and (min-width: 768px) {
  .environmentSect__head + .environmentSect__cont {
    margin-top: 48px;
  }
}

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

@media screen and (max-width: 768px) {
  .environmentSect__cont .pinchInFigure {
    margin: 0 -28px;
  }
}

@media screen and (min-width: 768px) {
  .hillSect__head + .hillSect__cont {
    margin-top: 48px;
  }
}

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

@media screen and (min-width: 768px) {
  .hillSect__cont {
    margin: 0 auto;
    width: 720px;
  }
}

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

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

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

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

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

.nakanoSect__cont--height {
  position: relative;
}

.nakanoSect__cont--height::before {
  content: "";
  display: inline-block;
  height: 100%;
  position: absolute;
  top: 25px;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .nakanoSect__cont--height::before {
    width: 100vw;
    left: calc((100vw - 1200px) / -2);
  }
}

@media screen and (max-width: 768px) {
  .nakanoSect__cont--height::before {
    width: 100vw;
    left: -28px;
  }
}

@media screen and (min-width: 768px) {
  .nakanoSect__cont .subSect {
    padding-top: 56px;
  }
}

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

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

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

@media screen and (min-width: 768px) {
  .nakanoSect__cont .subSect__cont {
    display: grid;
    grid-column-gap: 54px;
    grid-template-columns: 1fr 0.69777777777fr;
  }
}

@media screen and (min-width: 768px) {
  .nakanoSect__cont .subSect__cont .generalSlider {
    margin-top: 56px;
    width: 471px;
  }
}

@media screen and (max-width: 768px) {
  .nakanoSect__cont .subSect__cont .generalSlider {
    margin-top: 46px;
  }
}

.nakanoSect__cont .subSect__cont .generalSlider .generalIcon {
  -webkit-box-shadow: 0 20px 20px rgba(12, 17, 11, 0.1), 0 0 0 1px rgba(12, 17, 11, 0.3);
          box-shadow: 0 20px 20px rgba(12, 17, 11, 0.1), 0 0 0 1px rgba(12, 17, 11, 0.3);
  border: 2px solid #fff;
}

@media screen and (max-width: 768px) {
  .nakanoSect__cont .subSect__cont .generalSlider .generalIcon--arrow .inner {
    margin-top: -1px;
    width: 15px;
  }
}

@media screen and (min-width: 768px) {
  .nakanoSect__cont .subSect__cont .generalSlider .explainCard__cont {
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .nakanoSect__cont .subSect__cont .generalSlider .explainCard__txt {
    width: 224px;
  }
}

@media screen and (min-width: 768px) {
  .nakanoSect__cont .subSect__cont .generalSlider .explainCard__visual {
    width: 224px;
  }
}

@media screen and (min-width: 768px) {
  .nakanoSect__cont .subSect__cont .generalSlider .explainCard .heading {
    height: 84px;
  }
}

@media screen and (max-width: 768px) {
  .nakanoSect__cont .subSect__cont .generalSlider .explainCard .heading {
    height: 66px;
  }
}

.nakanoSect__cont .subSect__figure {
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

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

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

.regionSect__head .heading {
  position: relative;
}

.regionSect__head .heading .caption {
  display: block;
  letter-spacing: normal;
}

@media screen and (min-width: 768px) {
  .regionSect__head .heading .caption {
    margin-left: 9em;
  }
}

@media screen and (max-width: 768px) {
  .regionSect__head .heading .caption {
    margin-left: 0;
    text-align: right;
  }
}

@media screen and (min-width: 768px) {
  .regionSect__head + .regionSect__cont {
    margin-top: 48px;
  }
}

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

@media screen and (min-width: 768px) {
  .regionSect__cont {
    margin: 0 auto;
    width: 720px;
  }
}

@media screen and (max-width: 768px) {
  .regionSect__cont .photo + .caption {
    padding-top: 32px;
  }
}

@media screen and (min-width: 768px) {
  .shinjukuSect {
    margin-top: 60px;
  }
}

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

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

@media screen and (min-width: 768px) {
  .shinjukuSect__head + .shinjukuSect__cont {
    margin-top: 48px;
  }
}

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

@media screen and (min-width: 768px) {
  .shinjukuSect__cont {
    display: grid;
    grid-column-gap: 54px;
    grid-template-columns: 1fr 0.69777777777fr;
  }
}

@media screen and (min-width: 768px) {
  .shinjukuSect__cont .generalSlider {
    margin-top: 56px;
    width: 471px;
  }
}

@media screen and (max-width: 768px) {
  .shinjukuSect__cont .generalSlider {
    margin-top: 46px;
  }
}

.shinjukuSect__cont .generalSlider .generalIcon {
  -webkit-box-shadow: 0 20px 20px rgba(12, 17, 11, 0.1), 0 0 2px 2px rgba(12, 17, 11, 0.2);
          box-shadow: 0 20px 20px rgba(12, 17, 11, 0.1), 0 0 2px 2px rgba(12, 17, 11, 0.2);
  border: 2px solid #fff;
}

@media screen and (max-width: 768px) {
  .shinjukuSect__cont .generalSlider .generalIcon--arrow .inner {
    margin-top: -1px;
    width: 15px;
  }
}

@media screen and (min-width: 768px) {
  .shinjukuSect__cont .generalSlider .explainCard__cont {
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .shinjukuSect__cont .generalSlider .explainCard__txt {
    width: 224px;
  }
}

@media screen and (min-width: 768px) {
  .shinjukuSect__cont .generalSlider .explainCard__visual {
    width: 224px;
  }
}

@media screen and (min-width: 768px) {
  .shinjukuSect__cont .generalSlider .explainCard .heading {
    height: 84px;
  }
}

@media screen and (max-width: 768px) {
  .shinjukuSect__cont .generalSlider .explainCard .heading {
    height: 66px;
  }
}

.shinjukuSect__figure {
  position: relative;
}

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

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

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

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

@media screen and (min-width: 768px) {
  .trafficSect__cont .headingCombi + .photo {
    margin-top: 72px;
  }
}

@media screen and (max-width: 768px) {
  .trafficSect__cont .headingCombi + .photo {
    margin-top: 24px;
  }
}

@media screen and (min-width: 768px) {
  .trafficSect__cont .photo {
    margin: 0 auto;
    width: 684px;
  }
}

@media screen and (max-width: 768px) {
  .trafficSect__cont .photo {
    margin: 0 -28px;
  }
}

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

@media screen and (max-width: 768px) {
  .position-environment {
    padding: 64px 0 174px;
  }
}

@media screen and (min-width: 768px) {
  .position-shinjuku {
    padding-bottom: 320px;
  }
}

@media screen and (max-width: 768px) {
  .position-shinjuku {
    padding-bottom: 174px;
  }
}

.position-shinjuku .trafficSect + .pageNaviBtn {
  margin-top: 140px;
}

@media screen and (min-width: 768px) {
  .position-nakano {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 768px) {
  .position-nakano {
    padding-bottom: 20px;
  }
}

@media screen and (min-width: 768px) {
  .position-hill {
    padding-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .position-hill {
    padding-top: 40px;
  }
}

@media screen and (min-width: 768px) {
  .position-region {
    padding: 96px 88px;
  }
}

@media screen and (max-width: 768px) {
  .position-region {
    padding: 72px 0 0px;
  }
}

@media screen and (min-width: 768px) {
  .position-heading {
    padding-top: 104px;
  }
}

@media screen and (max-width: 768px) {
  .position-heading {
    padding-top: 72px;
  }
}

@media screen and (min-width: 768px) {
  .position-related {
    padding: 104px 0 140px;
  }
}

@media screen and (max-width: 768px) {
  .position-related {
    padding: 72px 0;
  }
}

@media screen and (min-width: 768px) {
  .position-slider {
    padding-top: 112px;
  }
}

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

@media screen and (min-width: 768px) {
  .position-cardList {
    padding-top: 112px;
  }
}

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

@media screen and (min-width: 768px) {
  .position-tabArea {
    padding: 140px 0;
  }
}

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

@media screen and (min-width: 768px) {
  .position-items {
    padding: 140px 0;
  }
}

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

.onMapBtns--1-1 {
  top: 35.5%;
  right: 1%;
}

.onMapBtns--1-2 {
  top: 40%;
  left: 49%;
}

.onMapBtns--1-3 {
  top: 60.5%;
  left: 71%;
}

.onMapBtns--2-1 {
  top: 47%;
  left: 18%;
}

.onMapBtns--2-2 {
  top: 81%;
  left: 45.5%;
}

.onMapBtns--2-3 {
  top: 61%;
  left: 42%;
}
