main {
  font-family: "RyuminPro", serif;
}

.only-pc {
  display: block;
}

.only-sp {
  display: none;
}

.contents-wrap {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

.contents-body {
    padding-right: 20px;
    padding-left: 20px;
    max-width: 1280px;
    margin: 0 auto;
}

sup {
    vertical-align: top;
    font-size: 12px;
    display: inline-block;
    margin: -2px auto 0 -19px;
}

@media screen and (max-width: 767.9px) {
  .only-sp {
    display: block;
  }
  .only-pc {
    display: none;
  }
  .contents-wrap {
    padding-right: 20px;
    padding-left: 20px;
  }
  .contents-body {
    padding-right: 5px;
    padding-left: 5px;
  }
}
.main-copy {
    max-width: 1280px;
    position: relative;
    text-align: center;
    font-size: min(5vw,54px);
    margin: 40px auto 0;
    font-family: "RyuminPro", serif;
    letter-spacing: .1rem;
}

.main-copy ruby {
  ruby-position: over;
}

.main-copy ruby rt {
    font-size: min(1vw,12px);
    text-align: center;
}

.main-desc {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-right: auto;
    margin-top: 12px;
    margin-left: auto;
    width: 99%;
    max-width: 1280px;
    font-size: 22px;
    line-height: 2.1;
}

@media screen and (max-width: 767.9px) {
  .main-copy-area {
    padding-right: 20px;
    padding-left: 20px;
  }
  .main-copy {
    font-size: 21px;
  } 
  .main-desc {
    max-width: 100%;
    font-size: 12px;
  }
}
.section-heading {
    margin-top: 120px;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 36px;
    color: #b3a064;
    padding-bottom: 20px;
    letter-spacing: .2rem;
}
.section-heading span {
  font-weight: bold;
}

.section-heading-bar {
  display: block;
  max-width: 1030px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  background-color: #b3a064;
  width: 100%;
  height: 1px;
}
.section-heading-bar::before, .section-heading-bar::after {
  content: "";
  display: block;
  height: 6px;
  width: 6px;
  background-color: #b3a064;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.section-heading-bar::before {
  left: 0;
}
.section-heading-bar::after {
  right: 0;
}

.section-copy {
    margin-top: 30px;
    font-weight: 500;
    text-align: center;
    font-size: min(2.5vw,27px);
}

.section-desc {
  margin-top: 10px;
  font-size: 22px;
  line-height: 2;
}  

@media screen and (max-width: 767.9px) {
  .section-heading {
    margin-top: 40px;
    font-size: 18px;
    padding-bottom: 12px;
  }
  .section-copy {
    line-height: 1.7;
    font-size: 17px;
    margin-top: 20px;
  }
  .section-desc {
    line-height: 1.8;
    font-size: 12px;
  }
}
.map-img {
  margin-top: 50px;
}

.from-metro-station-heading {
  margin-top: 65px;
  font-size: 36px;
  padding-left: 18px;
  padding-bottom: 0px;
  border-bottom: 1px solid currentColor;
  color: #666464;
  font-weight: bold;
  position: relative;
  line-height: 1.4;
}
@media screen and (max-width: 767.9px) {
  .from-metro-station-heading {
    margin-top: 45px;
    font-size: 16px;
  }
}
.from-metro-station-heading::before {
  content: "";
  display: block;
  width: 4px;
  height: 48px;
  background-color: currentColor;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767.9px) {
  .from-metro-station-heading::before {
    height: 45px;
  }
}

.from-metro-row {
  margin-top: 20px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 40px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

@media screen and (max-width: 767.9px) {
  .from-metro-row {
    -ms-grid-columns: initial;
    grid-template-columns: initial;
  }
  .map-img {
    margin-top: 20px;
  }
}
.ikebukuro {
  padding: 40px 30px 30px;
  margin-top: 60px;
  background-color: rgba(199, 179, 129, 0.15);
}
@media screen and (max-width: 767.9px) {
  .ikebukuro {
    padding: 25px 15px;
    margin-top: 40px;
  }
}

.ikebukuro-heading {
    color: rgb(102, 100, 100);
    text-align: center;
    font-size: 36px;
    line-height: 1.5;
    font-weight: bold;
    font-feature-settings: "palt";
    letter-spacing: 0.2rem;
}
.ikebukuro-heading span.-big {
    font-size: 150%;
}
.ikebukuro-heading span.-colored {
  color: #b3a064;
}

.ikebukuro-desc {
    margin-top: 20px;
    font-size: 22px;
    line-height: 1.6;
}
@media screen and (max-width: 767.9px) {
  .ikebukuro-desc {
    font-size: 12px;
    line-height: 1.8;
    margin-top: 13px;
  }
}

.ikebukuro-row {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.ikebukuro-img-left {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 437px;
}

.ikebukuro-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 767.9px) {
  .ikebukuro-heading {
    font-size: 16px;
  }
  .ikebukuro-heading span.-big {
    font-size: 22px;
  }
  .ikebukuro-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.car-img {
  margin-top: 50px;
}
@media screen and (max-width: 767.9px) {
  .car-img {
    margin-top: 30px;
  }
}
.car-img.-img2 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.car-img:last-of-type {
  margin-bottom: 80px;
}
@media screen and (max-width: 767.9px) {
  .car-img:last-of-type {
    margin-bottom: 40px;
  }
}

.page-annotation {
  margin-bottom: 80px;
}