@charset "UTF-8";
/* 駅・沿線のご紹介 */
/* --------------------------------------------
  ページ内リンク
-------------------------------------------- */
.btn-list {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-wrap: wrap;
  margin-inline: -0.3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.btn-list__item {
  width: 50%;
  padding: 0.2em;
  font-size: 0.9em;
}
.btn-list .common-btn {
  width: 100%;
  min-width: unset;
}

/* --------------------------------------------
  庄原市沿線の魅力
-------------------------------------------- */
.intro-tab-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.intro-tab-wrap__text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.intro-tab-wrap__img {
  width: 27.7777777778em;
  margin-right: 3em;
}

/* --------------------------------------------
  芸備線・木次線の乗り方
-------------------------------------------- */
.intro-howto-lead {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  padding: 1.5em 2.5em;
  border: 3px solid #558942;
}

.intro-howto-lead__img {
  width: 6.2777777778em;
  margin-right: 2em;
}

.intro-howto-lead__txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  line-height: 2;
}

.intro-howto-flow {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-top: 4em;
  padding: 3em 2em 1.5em;
  border-bottom: 8px solid #edb43f;
  border-radius: 0.1666666667em;
  background-color: #f9f7e3;
  list-style: none;
}

.intro-howto-flow__item {
  position: relative;
  width: 21%;
}
.intro-howto-flow__item + .intro-howto-flow__item::after {
  display: block;
  position: absolute;
  top: 30%;
  left: -2.5em;
  width: 1.8333333333em;
  height: 1.8333333333em;
  background: url(../../images/icon_arrow_gray.png) center/contain no-repeat;
  content: "";
}

.intro-howto-flow__item-step {
  -webkit-transform: translate(-50%, -130%);
  position: absolute;
  top: 0;
  left: 50%;
  width: 5.44em;
  padding: 0.4em 0.5em 0.7em;
  transform: translate(-50%, -130%);
  border-radius: 0.1666666667em;
  background-color: #558942;
  color: #fff;
  font-size: 1.3888888889em;
  line-height: 1;
  text-align: center;
}
.intro-howto-flow__item-step::after {
  -webkit-transform: translate(-50%, 100%);
  position: absolute;
  bottom: 1px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translate(-50%, 100%);
  border-width: 0.8333333333em 0.9722222222em 0 0.9722222222em;
  border-style: solid;
  border-color: #558942 transparent transparent transparent;
  content: "";
}

.intro-howto-flow__item-step-num {
  color: #edb43f;
  font-size: 1.4em;
}

.intro-howto-flow__item-title {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 7em;
  margin-top: 1em;
  text-align: center;
}
.intro-howto-flow__item-title.-ticket img {
  width: 4.3333333333em;
  margin-top: 1em;
}
.intro-howto-flow__item-title.-coin img {
  width: 3.8888888889em;
}
.intro-howto-flow__item-title.-exchange img {
  width: 4.3333333333em;
}
.intro-howto-flow__item-title.-pay img {
  width: 5.2777777778em;
  margin-top: 0.5em;
}
.intro-howto-flow__item-title.-geton img {
  width: 4.7222222222em;
  margin-top: 0.5em;
}
.intro-howto-flow__item-title.-getoff img {
  width: 3em;
}

.intro-howto-flow__item-title-txt {
  margin-top: auto;
  color: #558942;
  font-size: 1.2222222222em;
  font-weight: 700;
}

.intro-howto-flow__item-txt {
  margin-top: 1.8em;
  font-size: 0.8333333333em;
  line-height: 1.9;
  text-align: center;
}

.intro-howto-wrap {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}

.intro-howto-box {
  position: relative;
  width: 46%;
  margin-top: 3em;
  padding: 3em 1em 1.5em;
  border-bottom: 8px solid #edb43f;
  border-radius: 0.1666666667em;
  background-color: #f9f7e3;
  list-style: none;
}
.intro-howto-box + .intro-howto-box {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

.intro-howto-box__heading {
  -webkit-transform: translate(-50%, -50%);
  position: absolute;
  top: 0;
  left: 50%;
  width: 90%;
  padding: 1em 0.5em 1.1em;
  transform: translate(-50%, -50%);
  border-radius: 0.1666666667em;
  background-color: #558942;
  color: #fff;
  font-size: 1.1111111111em;
  line-height: 1;
  text-align: center;
}
.intro-howto-box__heading::after {
  -webkit-transform: translate(-50%, 100%);
  position: absolute;
  bottom: 1px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translate(-50%, 100%);
  border-width: 0.8333333333em 0.9722222222em 0 0.9722222222em;
  border-style: solid;
  border-color: #558942 transparent transparent transparent;
  content: "";
}

.intro-howto-box-list {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}

.intro-howto-box-list__item {
  width: 45%;
}

/* --------------------------------------------
  路線のご紹介
-------------------------------------------- */
.intro-line__map {
  margin: 0 calc(50% - 50vw);
  padding: 2.5em 1em;
  background-color: #E9ECE9;
  text-align: center;
}
.intro-line__map img {
  width: 1080px;
  max-width: 100%;
}

.intro-line-anchor {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 2.5em -0.15em;
}

.intro-line-anchor__item {
  width: 18.5%;
  min-width: 11.4444444444em;
  margin: 1.3em 0.3em 0;
  text-align: center;
}

.intro-line-anchor__item-link {
  -webkit-transition: background-color 0.2s ease, outline 0.2s ease;
  display: block;
  padding: 0.8em 0.5em;
  border-radius: 0.1666666667em;
  outline: 1px solid #E8E5C8;
  outline-offset: -0.4em;
  font-size: 1em;
  transition: background-color 0.2s ease, outline 0.2s ease;
}
a.intro-line-anchor__item-link {
  color: #E8E5C8;
  text-decoration: none;
}

.intro-line-anchor__item-link:hover {
  outline: 1px solid #F5F5F5;
  background-color: #E2DFBF !important;
}
.intro-line-anchor__item-link.-purple {
  background-color: #897CB6;
}
.intro-line-anchor__item-link.-purple:hover {
  color: #897CB6;
}
.intro-line-anchor__item-link.-black {
  background-color: #707070;
}
.intro-line-anchor__item-link.-black:hover {
  color: #707070;
}
.intro-line-anchor__item-link.-orange {
  background-color: #EDB43F;
  color: #655B5B;
}
.intro-line-anchor__item-link.-orange:hover {
  color: #DE8A28;
}

.bnr-kitsuki-time {
  margin: 4em auto 0;
}

.sec-station {
  margin-top: 5em;
}

.station-title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4.2em;
  margin-bottom: 1.5em;
  padding: 1em 1.5em;
  border-radius: 5px;
  background: url(../../images/bg_moya.png.webp) center center/37.5em repeat;
}

.station-title-primary.-purple {
  color: #6D5F9E;
}
.station-title-primary.-orange {
  color: #DE8A28;
}
.station-title-primary.-brown {
  color: #655B5B;
}

.station-title-primary__main {
  font-size: 1.3333333333em;
  font-weight: 700;
}

.station-title-primary__sub {
  margin-left: 1em;
  font-size: 1.1111111111em;
  font-weight: 300;
}

.station-title-secondary__line {
  display: inline-block;
  min-width: 6.4444444444em;
  padding: 0.6em 0.5em;
  border-radius: 0.1666666667em;
  font-size: 1em;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
.station-title-secondary__line + .station-title-secondary__line {
  margin-left: 0.5em;
}
.station-title-secondary__line.-purple {
  background-color: #897CB6;
  color: #E8E5C8;
}
.station-title-secondary__line.-orange {
  background-color: #EDB43F;
  color: #655B5B;
}

.station-title__txt {
  font-size: 1em;
}

.station-title-wrap {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  margin-top: 2em;
}

.station-title-wrap__img {
  width: 24.2222222222em;
  margin-left: 3em;
}

.station-title-wrap__img-cap {
  margin-top: 0.3em;
  padding: 0.8em;
  border-radius: 0.1666666667em;
  background-color: #E8E5C8;
  text-align: center;
}

.station-title-wrap__img-cap-link {
  font-size: 1em;
  font-weight: 700;
}
.station-title-wrap__img-cap-link::after {
  margin-left: 0.8em;
  font-family: FontAwesome;
  vertical-align: bottom;
  content: "";
}
a.station-title-wrap__img-cap-link {
  color: #4D63AB;
}

.station-title-wrap-table {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.station-title-wrap-table-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.3em;
}

.station-title-wrap-table-list__term {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45%;
  margin-right: 0.3em;
  padding: 1em;
  background: #E1EEDC;
  color: #558942;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
}

.station-title-wrap-table-list__disc {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  width: 55%;
  padding: 1em;
  background: #EFF3EF;
  color: #707070;
  font-size: 0.8888888889em;
}

.sec-station-point h4.sec-station-point__title {
  margin: 2em 0 1.5em;
}

.sec-station-point-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sec-station-point-wrap + .sec-station-point-wrap {
  margin-top: 2em;
}

.sec-station-point-wrap__cnts {
  padding: 2em;
  border-radius: 0.1666666667em;
  background-color: #E8E5C8;
}

.sec-station-point-wrap__cnts-title {
  margin-bottom: 1em;
  color: #558942;
  font-size: 1em;
  font-weight: 700;
}

.sec-station-point-wrap__cnts-txt {
  font-size: 0.8333333333em;
  line-height: 1.9;
}

.sec-station-point-wrap__img {
  width: 16.5555555556em;
}
.sec-station-point-wrap__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.sec-station-point-wrap__cnts {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.station-office-wrap {
  position: relative;
  margin-top: 4em;
  padding: 1em 1em;
  border-radius: 3px;
  background-color: #f8f3da;
  font-size: 0.8888888889em;
}

.station-office-ttl {
  position: absolute;
  top: -2em;
  left: 5px;
  padding: 0.2em 1em;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  background-color: #558942;
  color: #fff;
  font-size: 1.1111111111em;
}

.station-office-ttl__inner {
  display: inline-block;
  margin-left: 1em;
  padding-bottom: 0.2em;
  font-size: 0.8em;
  font-weight: 300;
  letter-spacing: 2px;
}

.station-office-dis dt {
  width: 15%;
  padding: 0.5em 0;
  border-radius: 1.7em;
  background-color: #fff;
  text-align: center;
}

.station-office-dis dd {
  width: 35%;
  padding-left: 1em;
}

.station-office-dis__attention {
  display: block;
  color: #DB4E68;
  font-size: 0.8333333333em;
}

.section table:not(.reset).table-kenbai th {
  width: 33.3%;
  padding: 0.2em 1em;
}
.section table:not(.reset).table-kenbai td {
  width: auto;
  padding: 0.2em 1em;
  text-align: center;
}

.contact-box {
  width: 37.7777777778em;
  max-width: 100%;
  margin-top: 3em;
  margin-right: auto;
  margin-left: auto;
  padding: 1em;
  border-radius: 15px;
  background-color: #558942;
}
.contact-box dt {
  display: block;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 1.1111111111em;
  font-weight: bold;
  text-align: center;
}
.contact-box dd {
  margin-top: 1em;
}
.contact-box .contact-list {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  gap: 0 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1em;
  padding: 1em;
  border-radius: 15px;
  background-color: #fff;
}
.contact-box .contact-list__item {
  display: inline-block;
  list-style: none;
}

.joseikin-intro {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.joseikin-intro__cnt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-right: 2em;
}

.joseikin-intro__img {
  width: 45%;
  text-align: center;
}
.joseikin-intro__img img {
  border-radius: 0.8333333333em;
}
@media screen and (max-width: 1900px) {
  /* 駅・沿線のご紹介 */
}
@media screen and (max-width: 1540px) {
  /* 駅・沿線のご紹介 */
}
@media screen and (max-width: 1260px) {
  /* 駅・沿線のご紹介 */
  .intro-line-anchor {
    font-size: 1.45vw;
  }
}
@media screen and (max-width: 1100px) {
  /* 駅・沿線のご紹介 */
}
@media screen and (max-width: 840px) {
  /* 駅・沿線のご紹介 */
  .intro-tab-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-direction: column;
    align-items: center;
  }
  .intro-tab-wrap__text {
    margin-top: 2em;
  }
  .intro-tab-wrap__img {
    margin-right: 0;
  }
  .intro-howto-flow {
    padding: 3em 1.5em 1.5em;
    font-size: 1.7vw;
  }
  .intro-howto-flow__item {
    width: 23%;
  }
  .intro-howto-flow__item + .intro-howto-flow__item::after {
    left: -2em;
  }
  .intro-howto-box {
    width: 48.5%;
    padding: 3em 1em 1.5em;
    font-size: 1.8vw;
  }
  .intro-line-anchor {
    font-size: 2vw;
  }
  .intro-line-anchor__item {
    width: 25%;
  }
  .sec-station {
    font-size: 2vw;
  }
  .station-title-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 90%;
    margin: 2em auto 0;
  }
  .station-title-wrap__img {
    width: 80%;
    margin-bottom: 2em;
    margin-left: 0;
  }
  .station-title-wrap-table {
    width: 100%;
  }
  .station-office-dis dt {
    width: 10%;
  }
  .station-office-dis dd {
    width: 40%;
  }
  .joseikin-intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .joseikin-intro__cnt {
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    width: 60%;
    margin-top: 2em;
    padding-right: 0;
  }
  .joseikin-intro__img img {
    width: 22.2222222222em;
  }
  .joseikin-intro__img {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  /* 駅・沿線のご紹介 */
  .intro-tab-wrap__img {
    width: 100%;
    margin-right: auto;
  }
  .intro-howto-lead {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 1em;
  }
  .intro-howto-lead__img {
    margin-right: 0;
    margin-bottom: 1em;
  }
  .intro-howto-flow {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 3.1vw;
  }
  .intro-howto-flow__item {
    width: 45%;
  }
  .intro-howto-flow__item:nth-of-type(3), .intro-howto-flow__item:nth-of-type(4) {
    margin-top: 7em;
  }
  .intro-howto-flow__item + .intro-howto-flow__item::after {
    content: none;
  }
  .intro-howto-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .intro-howto-box {
    width: 100%;
    font-size: 3.3vw;
  }
  .intro-howto-box + .intro-howto-box {
    -webkit-transition-delay: 0;
    margin-top: 5em;
    transition-delay: 0;
  }
  .intro-line-anchor {
    -webkit-box-pack: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
    font-size: 3.5vw;
  }
  .intro-line-anchor__item {
    width: 46%;
  }
  .bnr-kitsuki-time {
    margin: 3em 0 0;
  }
  .sec-station {
    font-size: 3.4vw;
  }
  .station-title {
    padding: 0.5em 1em;
  }
  .station-title-primary__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
  }
  .station-title-primary__sub {
    margin-left: 0;
  }
  .station-title-secondary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
  }
  .station-title-secondary__line + .station-title-secondary__line {
    margin-top: 0.5em;
    margin-left: 0;
  }
  .station-title-wrap {
    width: 100%;
  }
  .station-title-wrap__img {
    width: 100%;
  }
  .sec-station-point-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .sec-station-point-wrap__cnts {
    padding: 1.5em;
  }
  .sec-station-point-wrap__cnts-txt {
    font-size: 1em;
  }
  .sec-station-point-wrap__img {
    width: 100%;
  }
  .sec-station-point-wrap__img img {
    height: auto;
  }
  .sec-station-point-wrap__cnts {
    font-size: 3.5vw;
  }
  .station-office-ttl {
    font-size: 1.2222222222em;
  }
  .station-office-dis dt:nth-of-type(2) {
    margin-top: 0.5em;
  }
  .station-office-dis dt {
    width: 20%;
  }
  .station-office-dis dd:nth-of-type(2) {
    margin-top: 0.5em;
  }
  .station-office-dis dd {
    width: 80%;
    font-size: 1.1em;
  }
  .joseikin-intro__cnt {
    width: 100%;
  }
  .joseikin-intro__cnt .council-list-set__item {
    font-size: 1.25em;
  }
}