/* CSS Document */
/* Scss Document */
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond&display=swap");
sup {
  font-size: .5em;
  vertical-align: super;
}

#contents img {
  border-radius: 0;
}

.title_wrap h2,
#access_wrap .copy {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: normal;
  font-style: normal;
}

#access_wrap .main_ttl,
#access_wrap .copy,
#access_wrap .m_txt,
#access_wrap .s_txt,
#access_wrap .flex_wrap.point li .m_txt,
#access_wrap .flex_wrap.point li .num,
#access_wrap .item .ttl,
#access_wrap .item .m_txt,
#access_wrap .item .img_wrap div p,
#access_wrap .btn a,
#access_wrap .s_txt {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

#access_wrap * {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: 0;
}

#access_wrap .flex_wrap {
  max-width: 1280px;
  width: 100%;
}

#mainimg {
  height: auto;
  background: none;
  text-align: center;
  max-height: none;
  margin-bottom: 0;
}

#mainimg .title_wrap {
  position: relative;
  margin-bottom: 0;
}

.title_wrap h2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-size: 5rem;
  line-height: .6;
  color: #fff;
  margin-bottom: 0;
  text-align: center;
}

.title_wrap figure {
  position: relative;
}

.title_wrap figcaption {
  text-shadow: 0 0 1px #fff,1px 1px 1px #fff,0 0 3px #fff;
  position: absolute;
  bottom: .2em;
  left: 1em;
}

#access_wrap .main_ttl {
  text-align: center;
  font-size: 1.8rem;
  padding-top: 15px;
  margin-bottom: 30px;
}

#access_wrap .copy {
  font-size: 6vw;
  color: #6e193e;
  margin-bottom: 20px;
}

#access_wrap .lead_txt {
  font-size: 1.4rem;
  text-align: center;
  line-height: 2.5;
  font-weight: 500;
  margin-top: 32px;
}

#access_wrap .m_txt {
  font-size: 4.6vw;
  text-align: center;
  color: #6e193e;
  font-weight: 500;
  margin-bottom: 24px;
}

#access_wrap .s_txt {
  font-size: 3vw;
  text-align: center;
  line-height: 2.5;
  font-weight: 500;
  margin-top: 30px;
}

#access_wrap .caption_txt {
  font-size: 10px;
  margin-top: 5px;
  text-align: left;
  line-height: 1.3;
  order: 3;
}

#access_wrap .caption_txt_center_pc-tab {
  font-size: 10px;
  margin-top: 10px;
  text-align: left;
  line-height: 1.3;
  order: 3;
}

#access_wrap .flex_wrap {
  width: 100%;
  margin: 40px auto 0;
  flex-wrap: wrap;
}

#access_wrap .anchor_links {
  max-width: 720px;
  width: 100%;
}

#access_wrap .anchor_links li {
  width: 48%;
  position: relative;
}

#access_wrap .anchor_links li dt {
  background: rgba(110, 25, 62, 0.5);
  color: #fff;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 4vw;
  letter-spacing: 1;
  line-height: 2;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

#access_wrap .anchor_links li dd {
  background-color: #fff;
  border: 1px solid #6e193e;
  color: #6e193e;
  display: block;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 2vw;
  text-align: center;
  width: 6em;
  position: absolute;
  bottom: .5em;
  right: .5em;
}

#access_wrap .inner_fig {
  position: relative;
}

#access_wrap .inner_fig figcaption {
  text-shadow: 0 0 1px #fff,1px 1px 1px #fff,0 0 3px #fff;
  position: absolute;
  bottom: .2em;
  left: 1em;
}

@media screen and (min-width: 768px) {
  #mainimg {
    margin: 100px 0 0;
  }

  #access_wrap .main_ttl {
    font-size: 2.2rem;
  }

  #access_wrap .img_sp {
    display: none;
  }

  #access_wrap .img_tab {
    display: block;
  }

  .title_wrap h2 {
    font-size: 7rem;
  }

  #access_wrap .copy {
    font-size: 4rem;
  }

  #access_wrap .m_txt {
    font-size: 3.2rem;
  }

  #access_wrap .s_txt {
    font-size: 1.6rem;
  }

  #access_wrap .caption_txt {
    font-size: 1.2rem;
  }

  #access_wrap .caption_txt_center_pc-tab {
    font-size: 1.2rem;
    text-align: center;
  }

  #access_wrap .flex_wrap {
    width: 80%;
  }

  #access_wrap .lead_txt {
    font-size: 1.6rem;
  }

  #access_wrap .anchor_links li dt {
    font-size: 2.8rem;
  }

  #access_wrap .anchor_links li dd {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 960px) {
  #access_wrap .flex_wrap {
    width: 100%;
  }

  #access_wrap .anchor_links li dt {
    font-size: 3.2rem;
  }

  #access_wrap .anchor_links li dd {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1280px) {
  #access_wrap .flex_wrap {
    margin: 0 auto;
  }

  #access_wrap .copy {
    font-size: 4.8rem;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1571px) {
  #mainimg {
    margin: 60px 0 0;
  }
}
.access_summary {
  background: white;
  background: linear-gradient(0deg, white 90%, #f1d7a7 100%);
  margin-bottom: 4em;
  padding-top: 16px;
  position: relative;
}

.access_summary::before {
  background-color: #fff;
  content: '';
  display: block;
  height: 4px;
  width: 100%;
  position: absolute;
  top: 4px;
}

.access_summary .title_no {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  position: relative;
}

.access_summary .title_no::before,
.access_summary .title_no::after {
  background: url(../../img/access/bg_number.png) repeat-x;
  background-size: contain;
  content: '';
  display: block;
  height: 12px;
  width: calc(50% - 6vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.access_summary .title_no::after {
  right: 0;
}

.access_summary .title_no em {
  color: #6e193e;
  display: block;
  font-style: normal;
  font-size: 12vw;
  margin: auto;
  text-align: center;
  width: 2em;
}

.access_summary .upper,
.access_summary .lower {
  width: 100%;
}

.access_summary .lower {
  margin-top: 2em;
}

#train {
  margin-top: 4em;
}

@media screen and (min-width: 768px) {
  .access_summary {
    margin-bottom: 6em;
  }

  .access_summary .title_no em {
    font-size: 7.2rem;
  }
}
@media screen and (min-width: 960px) {
  .access_summary .title_no em {
    font-size: 8.8rem;
  }

  .access_summary .lower {
    margin-top: 0;
  }
}
#access01 .upper li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#access01 .upper li:first-child {
  margin-bottom: 30px;
}

#access01 .upper li figure,
#access01 .upper li .summary {
  width: 50%;
}

#access01 .upper li dl {
  display: block;
  margin: auto;
  width: 11em;
}

#access01 .upper li dt,
#access01 .upper li dd {
  padding: 0 1em;
  text-align: center;
}

#access01 .upper li:nth-child(1) figure {
  order: 2;
}

#access01 .upper li:nth-child(1) dl {
  order: 1;
}

#access01 .upper li dt {
  font-size: 1rem;
}

#access01 .upper li dd {
  font-size: 1.5rem;
  padding: 0;
}

#access01 .upper li dd > span {
  display: block;
  text-align: center;
}

#access01 .upper li dd em {
  color: #6e193e;
  font-size: 3rem;
  font-style: normal;
  line-height: 1;
}

#access01 .upper li dd em span {
  font-size: 50%;
}

@media screen and (min-width: 768px) {
  #access01 .upper li dl {
    width: 16em;
  }

  #access01 .upper li dt {
    font-size: 1.2rem;
  }

  #access01 .upper li dd {
    font-size: 2.2rem;
  }

  #access01 .upper li dd em {
    font-size: 5.4rem;
  }
}
@media screen and (min-width: 960px) {
  #access01 .flex_wrap {
    align-items: center;
  }

  #access01 .upper {
    width: 52%;
  }

  #access01 .lower {
    width: 45%;
  }
}
@media screen and (min-width: 1280px) {
  #access01 .upper li:nth-child(1) dl {
    width: 21em;
  }

  #access01 .upper li:nth-child(2) dl {
    width: 21em;
  }

  #access01 .upper li dt {
    font-size: 2rem;
  }

  #access01 .upper li dd {
    font-size: 3.2rem;
  }

  #access01 .upper li dd em {
    font-size: 6.4rem;
  }
}
#access02 .upper,
#access02 .lower {
  margin: auto;
  max-width: 760px;
  width: 100%;
}

#access02 .upper {
  margin: 2em auto 3em;
}

#access02 .lower .m_txt {
  font-size: 4vw;
}

@media screen and (min-width: 768px) {
  #access02 .lower .m_txt {
    font-size: 2.4rem;
  }
}
#access03 .inner {
  margin: auto;
  max-width: 920px;
  width: 92%;
}

#access03 .upper {
  background-color: #fcebf3;
  margin-top: 3em;
}

#access03 .upper .inner {
  padding: 2em 0;
}

#access03 .upper dt {
  margin: -3em auto 2em;
  max-width: 420px;
  width: 62.5%;
}

#access03.access_summary .lower {
  margin: 3em auto 0;
}

#access03 .lower .inner {
  justify-content: center;
}

#access03 .lower .point {
  border: 2px solid #88473d;
  color: #88473d;
  margin: 0 1.5%;
  padding: 2px;
  text-align: center;
}

#access03 .lower .point + .point {
  margin-top: 1em;
}

#access03 .lower .point_inner {
  border: 1px solid #88473d;
  font-size: 5vw;
  padding: 8px;
}

#access03 .lower .point p span,
#access03 .lower .point ul span {
  color: #000;
  display: block;
  font-size: 2vw;
}

#access03 .lower .point_inner .flex_wrap {
  margin: auto;
  justify-content: center;
}

#access03 .lower .point_inner .flex_wrap li {
  padding: 0 .5em;
}

#access03 .lower .point_inner .flex_wrap li + li {
  border-left: 1px dotted #666;
}

.campingcar_info {
  box-sizing: border-box;
  margin: 0 -4% 12%;
  padding: 20px 4%;
  background: #e7e1db;
}
.campingcar_info .campingcar_info-main,
.campingcar_info .campingcar_info-txt {
  margin-bottom: 10px;
}
.campingcar_info .campingcar_info-main .strong,
.campingcar_info .campingcar_info-txt .strong {
  color: #766642;
  font-size: 1.2em;
}
.campingcar_info .campingcar_info-img {
  display: grid;
  grid-template-columns: repeat(2, 33%) 32%;
  justify-content: space-between;
  align-items: flex-end;
}
.campingcar_info .campingcar_info-img .item:nth-child(3) {
  margin: 0 -4vw -20px 0;
}
.campingcar_info .campingcar_info-img .img {
  position: relative;
}
.campingcar_info .campingcar_info-img .img .cap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: right;
  color: #fff;
  text-shadow: 0 0 3px #000;
  font-size: 1.0rem;
  font-feature-settings: 'palt';
  white-space: nowrap;
  transform: scale(0.8) translateX(-0.5rem);
  transform-origin: bottom right;
}

@media screen and (min-width: 768px) {
  #access03 .lower .point p,
  #access03 .lower .point ul {
    font-size: 3rem;
  }

  #access03 .lower .point p span,
  #access03 .lower .point ul span {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 960px) {
  #access03 .lower .point + .point {
    margin-top: 0;
  }

  #access03 .lower .inner {
    display: flex;
    align-items: flex-start;
  }
}
#access04 .m_txt span {
  background: linear-gradient(transparent 80%, #fff100 80%);
}

#access04 .baloon {
  margin: auto;
  max-width: 480px;
  width: 82%;
}

#access04 .upper .inner {
  justify-content: center;
  margin-top: 10%;
}

#access04 .upper .point {
  margin: -1em auto 2em;
}

#access04 .upper .flex_wrap {
  justify-content: center;
  flex-wrap: nowrap;
}

#access04 .upper .point li {
  border: 2px solid #88473d;
  color: #88473d;
  margin: 0 2% 1% 2%;
  padding: 2px;
  text-align: center;
}

#access04 .upper .point li p {
  border: 1px solid #88473d;
  font-size: 3.5vw;
  padding: 8px;
}

#access04 .landplan {
  margin: auto;
  max-width: 920px;
  width: 92%;
}

#access04 .lower {
  margin-top: 4em;
}

#access04 .lower ul {
  margin: 2em auto;
  max-width: 1080px;
  width: 92%;
  position: relative;
}

#access04 .lower ul::before,
#access04 .lower ul::after {
  background-color: rgba(110, 25, 62, 0.2);
  content: '';
  display: block;
  height: 50%;
  width: 47%;
  position: absolute;
}

#access04 .lower ul::before {
  top: -1em;
  left: -1em;
}

#access04 .lower ul::after {
  bottom: -1em;
  right: -1em;
}

#access04 .lower li {
  margin-bottom: 1em;
  width: 49%;
  z-index: 2;
}

#access04 .lower li:nth-child(1) {
  width: 100%;
}

#access04 .lower .s_txt {
  text-align: left;
}

@media screen and (min-width: 768px) {
  #access04 .upper .point li p {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 960px) {
  #access04 .upper .point li p {
    font-size: 2.4rem;
  }

  #access04 .upper .inner {
    display: flex;
    align-items: flex-start;
    margin-top: 0;
  }

  .campingcar_info {
    overflow: hidden;
    margin: 0 auto 60px;
    padding: 20px 40px;
    position: relative;
    z-index: 1;
  }
  .campingcar_info .campingcar_info-main {
    font-size: 1.8rem;
  }
  .campingcar_info .campingcar_info-txt {
    font-size: 1.6rem;
  }
  .campingcar_info .campingcar_info-img .item:nth-child(3) {
    margin: 0;
  }
  .campingcar_info .campingcar_info-img .item:nth-child(3) img {
    position: absolute;
    z-index: -1;
    bottom: -20px;
    right: -40px;
    width: 160%;
  }
  .campingcar_info .campingcar_info-img .img .cap {
    transform: none;
  }
}
@media screen and (min-width: 1024px) {
  #access04 .lower .s_txt {
    text-align: center;
  }
}
@media screen and (min-width: 1280px) {
  #access04 .upper .point {
    margin: 2em auto;
  }
}
#access05 .upper {
  border-bottom: 1px dashed #6e193e;
  margin: 3em auto 2em;
  padding-bottom: 2em;
}

#access05 .upper li + li {
  margin-top: 2em;
}

#access05 .upper dt {
  background-color: #f2f7e5;
  display: inline-block;
  font-size: 4vw;
  margin-left: -4%;
  padding: 0 2% 0 4%;
}

#access05 .upper dd {
  font-size: 4vw;
}

#access05 .upper dd span {
  color: #6e193e;
}

#access05 .upper dd em {
  color: #6e193e;
  font-size: 8vw;
  font-style: normal;
  line-height: 1;
}

#access05 .lower {
  border-bottom: 1px dashed #6e193e;
  padding-bottom: 2em;
}

#access05 .lower li + li {
  margin-top: 2em;
}

#access05 .lower dt {
  color: #6e193e;
  font-size: 3.2vw;
}

#access05 .lower dd {
  font-size: 3.2vw;
}

#access05 .lower dd span {
  font-size: 4vw;
  padding-left: .5em;
}

#access05 .lower dd em {
  color: #6e193e;
  font-size: 12vw;
  font-style: normal;
  line-height: .2;
}

#access05 .lower dd .txt_span_large {
  font-size: 5vw;
  padding-left: 0;
}

@media screen and (min-width: 768px) {
  #access05 .upper dt {
    font-size: 2rem;
  }

  #access05 .upper dd {
    font-size: 1.7rem;
  }

  #access05 .upper dd em {
    font-size: 4.8rem;
  }

  #access05 .lower dt {
    font-size: 1.7rem;
  }

  #access05 .lower dd {
    font-size: 1.7rem;
  }

  #access05 .lower dd span {
    font-size: 2rem;
  }

  #access05 .lower dd em {
    font-size: 5.6rem;
  }

  #access05 .lower dd .txt_span_large {
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 960px) {
  #access05 .upper dl,
  #access05 .lower dl {
    display: inline-flex;
    align-items: center;
  }

  #access05 .upper dt,
  #access05 .lower dt {
    margin-right: 1em;
  }

  #access05 .upper dt {
    font-size: 2.4rem;
    margin-left: 0;
    padding: 0 2%;
    white-space: nowrap;
    width: 10em;
  }

  #access05 .upper dd {
    font-size: 2.4em;
    white-space: nowrap;
  }

  #access05 .upper dd em {
    font-size: 5.6rem;
  }

  #access05 .lower dt {
    font-size: 2.4rem;
    width: 10em;
  }

  #access05 .lower dd {
    font-size: 2.4rem;
    white-space: nowrap;
  }

  #access05 .lower dd span {
    font-size: 2.8rem;
  }

  #access05 .lower dd em {
    font-size: 6.4rem;
  }

  #access05 .lower dd .txt_span_large {
    font-size: 3.2rem;
  }
}

/*# sourceMappingURL=style.css.map */
