@charset "UTF-8";
body {
  line-height: 1.75;
  font-size: 16px;
  font-size: 1rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-weight: normal;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Roboto, Meiryo, sans-serif;
  text-rendering: optimizeLegibility;
  color: #1E2E53;
}
body.en {
  font-family: "Roboto", arial, sans-serif;
}
body.palt {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
body.pkna {
  font-feature-settings: "pkna";
}

a, a:link, a:active, a:visited {
  text-decoration: underline;
  outline: none;
}

a:hover, a:active {
  outline: 0;
}

a, a:visited, a:focus, a:active {
  color: #21759b;
}

a:hover {
  color: #21759b;
}

/*-----------------------------------------------
 __fontfamily
-----------------------------------------------*/
.serif {
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "小塚明朝 ProN", "メイリオ", Meiryo, serif;
}

/*--- google font ---*/
.gf_noto {
  font-family: "Noto Sans JP", sans-serif;
}

.gf_noto__serif {
  font-family: "Noto Serif JP", serif;
}

.gf_mono {
  font-family: "B612 Mono", monospace;
}

.af_ten {
  font-family: ten-mincho, serif;
  font-weight: 400;
  font-style: normal;
}

/*-----------------------------------------------
 __fontweight
-----------------------------------------------*/
.fw900 {
  font-weight: 900;
}

.fw700 {
  font-weight: 700;
}
.en .fw700 {
  font-weight: 500;
}

.fw600 {
  font-weight: 600;
}

.fw500 {
  font-weight: 500;
}

.fw400 {
  font-weight: 400;
}

.fw300 {
  font-weight: 300;
}

/*-----------------------------------------------
 __letterspacing centering
-----------------------------------------------*/
.lt1 {
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}

.lt2 {
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}

.lt3 {
  letter-spacing: 0.3em;
  text-indent: 0.3em;
}

/*-----------------------------------------------
 __fontsize
-----------------------------------------------*/
.fz_42 {
  font-size: 42px;
}
@media screen and (max-width: 767px) {
  .fz_42 {
    font-size: 34px;
  }
}
@media screen and (max-width: 600px) {
  .fz_42 {
    font-size: 24px;
  }
}

.fz_36 {
  font-size: 36px;
}
@media screen and (max-width: 767px) {
  .fz_36 {
    font-size: 28px;
  }
}
@media screen and (max-width: 600px) {
  .fz_36 {
    font-size: 22px;
  }
}

.fz_30 {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .fz_30 {
    font-size: 24px;
  }
}
@media screen and (max-width: 600px) {
  .fz_30 {
    font-size: 20px;
  }
}

.fz_28 {
  font-size: 27px;
}
@media screen and (max-width: 767px) {
  .fz_28 {
    font-size: 23px;
  }
}
@media screen and (max-width: 600px) {
  .fz_28 {
    font-size: 19px;
  }
}

.fz_24 {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .fz_24 {
    font-size: 20px;
  }
}
@media screen and (max-width: 600px) {
  .fz_24 {
    font-size: 16px;
  }
}

.fz_22 {
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .fz_22 {
    font-size: 19px;
  }
}
@media screen and (max-width: 600px) {
  .fz_22 {
    font-size: 15px;
  }
}

.fz_20 {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .fz_20 {
    font-size: 18px;
  }
}
@media screen and (max-width: 600px) {
  .fz_20 {
    font-size: 16px;
  }
}

.fz_18 {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .fz_18 {
    font-size: 16px;
  }
}
@media screen and (max-width: 600px) {
  .fz_18 {
    font-size: 14px;
  }
}

.fz_16 {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .fz_16 {
    font-size: 14px;
  }
}

.fz_15 {
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .fz_15 {
    font-size: 14px;
  }
}

.fz_14 {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .fz_14 {
    font-size: 13px;
  }
}

.fz_13 {
  font-size: 13px;
}
@media screen and (max-width: 600px) {
  .fz_13 {
    font-size: 12px;
  }
}

.fz_12 {
  font-size: 12px;
}
@media screen and (max-width: 600px) {
  .fz_12 {
    font-size: 10px;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  color: #000;
}

:root {
  /* gap */
  --gap-025em: .25em;
  --gap-05em: .5em;
  --gap-075em: .75em;
  --gap-1em: 1em;
  --gap-125em: 1.25em;
  --gap-15em: 1.5em;
  --gap-175em: 1.75em;
  --gap-2em: 2em;
  --gap-15s: min(2.5vw, 15px);
  --gap-15: min(3.2vw, 15px);
  --gap-20s: min(3.85vw, 20px);
  --gap-20: min(4.4vw, 20px);
  --gap-25s: min(5vw, 25px);
  --gap-25: min(5.7vw, 25px);
  --gap-30s: min(6vw, 30px);
  --gap-30: min(6.7vw, 30px);
  --gap-40s: clamp(30px,4.5vw,40px);
  --gap-40: min(8.5vw, 40px);
  --gap-60s: clamp(40px,6vw, 60px);
  --gap-60: clamp(45px,6.75vw,60px);
  --gap-60w: min(14.5vw, 60px);
  --gap-80s: clamp(50px,8.25vw, 80px);
  --gap-80: clamp(60px,9vw, 80px);
  --gap-80w: min(18vw, 80px);
  --gap-100s: clamp(58px,10.25vw, 100px);
  --gap-100: clamp(70px,11.5vw, 100px);
  --gap-100w: min(23vw, 100px);
  --gap-120s: clamp(65px,11.5vw, 120px);
  --gap-120: clamp(78px,13.5vw, 120px);
  --gap-120w: min(24.5vw, 120px);
}

.l_fullbleed {
  display: grid;
  margin-inline: auto;
  grid-template-rows: auto;
  justify-content: center;
  grid-gap: 0;
}
.l_fullbleed > * {
  grid-column: 2;
  width: 100%;
}
.l_fullbleed.mx1440_5vw {
  grid-template-columns: 5vw minmax(auto, 1440px) 5vw;
}
.l_fullbleed.mx1366_5vw {
  grid-template-columns: 5vw minmax(auto, 1366px) 5vw;
}
.l_fullbleed.mx1280_5vw {
  grid-template-columns: 5vw minmax(auto, 1280px) 5vw;
}
.l_fullbleed.mx1280_3vw {
  grid-template-columns: 3vw minmax(auto, 1280px) 3vw;
}
.l_fullbleed.mx1200_3vw {
  grid-template-columns: 3vw minmax(auto, 1200px) 3vw;
}
.l_fullbleed.mx1100_5vw {
  grid-template-columns: 5vw minmax(auto, 1100px) 5vw;
}
.l_fullbleed.mx1100_3vw {
  grid-template-columns: 3vw minmax(auto, 1100px) 3vw;
}
.l_fullbleed.mx1024_5vw {
  grid-template-columns: 5vw minmax(auto, 1024px) 5vw;
}
.l_fullbleed.mx980_5vw {
  grid-template-columns: 5vw minmax(auto, 980px) 5vw;
}
.l_fullbleed.mx900_5vw {
  grid-template-columns: 5vw minmax(auto, 900px) 5vw;
}
.l_fullbleed.mx820_5vw {
  grid-template-columns: 5vw minmax(auto, 820px) 5vw;
}
.l_fullbleed.mx760_5vw {
  grid-template-columns: 5vw minmax(auto, 760px) 5vw;
}
@media screen and (max-width: 540px) {
  .l_fullbleed.routemap_w {
    grid-template-columns: 2vw minmax(auto, 1200px) 2vw;
  }
}
.l_fullbleed > .column_width {
  justify-self: center;
  width: 100%;
}
.l_fullbleed > .column_width.mx_760 {
  max-width: 760px;
}
.l_fullbleed > .column_width.mx_900 {
  max-width: 900px;
}
.l_fullbleed.grey {
  background-color: var(--col-3);
}

.l_pt15s {
  padding-top: var(--gap-15s);
}

.l_pt15 {
  padding-top: var(--gap-15);
}

.l_pt20s {
  padding-top: var(--gap-20s);
}

.l_pt20 {
  padding-top: var(--gap-20);
}

.l_pt25s {
  padding-top: var(--gap-25s);
}

.l_pt25 {
  padding-top: var(--gap-25);
}

.l_pt30 {
  padding-top: var(--gap-30);
}

.l_pt30s {
  padding-top: var(--gap-30s);
}

.l_pt40s {
  padding-top: var(--gap-40s);
}

.l_pt40 {
  padding-top: var(--gap-40);
}

.l_pt40w {
  padding-top: var(--gap-40w);
}

.l_pt60s {
  padding-top: var(--gap-60s);
}

.l_pt60 {
  padding-top: var(--gap-60);
}

.l_pt60w {
  padding-top: var(--gap-60w);
}

.l_pt80s {
  padding-top: var(--gap-80s);
}

.l_pt80 {
  padding-top: var(--gap-80);
}

.l_pt80w {
  padding-top: var(--gap-80w);
}

.l_pt100s {
  padding-top: var(--gap-100s);
}

.l_pt100 {
  padding-top: var(--gap-100);
}

.l_pt100w {
  padding-top: var(--gap-100w);
}

.l_pt120s {
  padding-top: var(--gap-120s);
}

.l_pt120 {
  padding-top: var(--gap-120);
}

.l_pt120w {
  padding-top: var(--gap-120w);
}

.l_pb15s {
  padding-bottom: var(--gap-15s);
}

.l_pb15 {
  padding-bottom: var(--gap-15);
}

.l_pb20s {
  padding-bottom: var(--gap-20s);
}

.l_pb20 {
  padding-bottom: var(--gap-20);
}

.l_pb25s {
  padding-bottom: var(--gap-25s);
}

.l_pb25 {
  padding-bottom: var(--gap-25);
}

.l_pb30 {
  padding-bottom: var(--gap-30);
}

.l_pb30s {
  padding-bottom: var(--gap-30s);
}

.l_pb40s {
  padding-bottom: var(--gap-40s);
}

.l_pb40 {
  padding-bottom: var(--gap-40);
}

.l_pb40w {
  padding-bottom: var(--gap-40w);
}

.l_pb60s {
  padding-bottom: var(--gap-60s);
}

.l_pb60 {
  padding-bottom: var(--gap-60);
}

.l_pb60w {
  padding-bottom: var(--gap-60w);
}

.l_pb80s {
  padding-bottom: var(--gap-80s);
}

.l_pb80 {
  padding-bottom: var(--gap-80);
}

.l_pb80w {
  padding-bottom: var(--gap-80w);
}

.l_pb100s {
  padding-bottom: var(--gap-100s);
}

.l_pb100 {
  padding-bottom: var(--gap-100);
}

.l_pb100w {
  padding-bottom: var(--gap-100w);
}

.l_pb120s {
  padding-bottom: var(--gap-120s);
}

.l_pb120 {
  padding-bottom: var(--gap-120);
}

.l_pb120w {
  padding-bottom: var(--gap-120w);
}

.l_ptb15s {
  padding-top: var(--gap-15s);
  padding-bottom: var(--gap-15s);
}

.l_ptb15 {
  padding-top: var(--gap-15);
  padding-bottom: var(--gap-15);
}

.l_ptb20s {
  padding-top: var(--gap-20s);
  padding-bottom: var(--gap-20s);
}

.l_ptb20 {
  padding-top: var(--gap-20);
  padding-bottom: var(--gap-20);
}

.l_ptb25s {
  padding-top: var(--gap-25s);
  padding-bottom: var(--gap-25s);
}

.l_ptb25 {
  padding-top: var(--gap-25);
  padding-bottom: var(--gap-25);
}

.l_ptb30 {
  padding-top: var(--gap-30);
  padding-bottom: var(--gap-30);
}

.l_ptb30s {
  padding-top: var(--gap-30s);
  padding-bottom: var(--gap-30s);
}

.l_ptb40s {
  padding-top: var(--gap-40s);
  padding-bottom: var(--gap-40s);
}

.l_ptb40 {
  padding-top: var(--gap-40);
  padding-bottom: var(--gap-40);
}

.l_ptb40w {
  padding-top: var(--gap-40w);
  padding-bottom: var(--gap-40w);
}

.l_ptb60s {
  padding-top: var(--gap-60s);
  padding-bottom: var(--gap-60s);
}

.l_ptb60 {
  padding-top: var(--gap-60);
  padding-bottom: var(--gap-60);
}

.l_ptb60w {
  padding-top: var(--gap-60w);
  padding-bottom: var(--gap-60w);
}

.l_ptb80s {
  padding-top: var(--gap-80s);
  padding-bottom: var(--gap-80s);
}

.l_ptb80 {
  padding-top: var(--gap-80);
  padding-bottom: var(--gap-80);
}

.l_ptb80w {
  padding-top: var(--gap-80w);
  padding-bottom: var(--gap-80w);
}

.l_ptb100s {
  padding-top: var(--gap-100s);
  padding-bottom: var(--gap-100s);
}

.l_ptb100 {
  padding-top: var(--gap-100);
  padding-bottom: var(--gap-100);
}

.l_ptb100w {
  padding-top: var(--gap-100w);
  padding-bottom: var(--gap-100w);
}

.l_ptb120s {
  padding-top: var(--gap-120s);
  padding-bottom: var(--gap-120s);
}

.l_ptb120 {
  padding-top: var(--gap-120);
  padding-bottom: var(--gap-120);
}

.l_ptb120w {
  padding-top: var(--gap-120w);
  padding-bottom: var(--gap-120w);
}

.l_mt15s {
  margin-top: var(--gap-15s);
}

.l_mt15 {
  margin-top: var(--gap-15);
}

.l_mt20s {
  margin-top: var(--gap-20s);
}

.l_mt20 {
  margin-top: var(--gap-20);
}

.l_mt25s {
  margin-top: var(--gap-25s);
}

.l_mt25 {
  margin-top: var(--gap-25);
}

.l_mt30 {
  margin-top: var(--gap-30);
}

.l_mt30s {
  margin-top: var(--gap-30s);
}

.l_mt40s {
  margin-top: var(--gap-40s);
}

.l_mt40 {
  margin-top: var(--gap-40);
}

.l_mt40w {
  margin-top: var(--gap-40w);
}

.l_mt60s {
  margin-top: var(--gap-60s);
}

.l_mt60 {
  margin-top: var(--gap-60);
}

.l_mt60w {
  margin-top: var(--gap-60w);
}

.l_mt80s {
  margin-top: var(--gap-80s);
}

.l_mt80 {
  margin-top: var(--gap-80);
}

.l_mt80w {
  margin-top: var(--gap-80w);
}

.l_mt100s {
  margin-top: var(--gap-100s);
}

.l_mt100 {
  margin-top: var(--gap-100);
}

.l_mt100w {
  margin-top: var(--gap-100w);
}

.l_mt120s {
  margin-top: var(--gap-120s);
}

.l_mt120 {
  margin-top: var(--gap-120);
}

.l_mt120w {
  margin-top: var(--gap-120w);
}

.l_mb15s {
  margin-bottom: var(--gap-15s);
}

.l_mb15 {
  margin-bottom: var(--gap-15);
}

.l_mb20s {
  margin-bottom: var(--gap-20s);
}

.l_mb20 {
  margin-bottom: var(--gap-20);
}

.l_mb25s {
  margin-bottom: var(--gap-25s);
}

.l_mb25 {
  margin-bottom: var(--gap-25);
}

.l_mb30 {
  margin-bottom: var(--gap-30);
}

.l_mb30s {
  margin-bottom: var(--gap-30s);
}

.l_mb40s {
  margin-bottom: var(--gap-40s);
}

.l_mb40 {
  margin-bottom: var(--gap-40);
}

.l_mb40w {
  margin-bottom: var(--gap-40w);
}

.l_mb60s {
  margin-bottom: var(--gap-60s);
}

.l_mb60 {
  margin-bottom: var(--gap-60);
}

.l_mb60w {
  margin-bottom: var(--gap-60w);
}

.l_mb80s {
  margin-bottom: var(--gap-80s);
}

.l_mb80 {
  margin-bottom: var(--gap-80);
}

.l_mb80w {
  margin-bottom: var(--gap-80w);
}

.l_mb100s {
  margin-bottom: var(--gap-100s);
}

.l_mb100 {
  margin-bottom: var(--gap-100);
}

.l_mb100w {
  margin-bottom: var(--gap-100w);
}

.l_mb120s {
  margin-bottom: var(--gap-120s);
}

.l_mb120 {
  margin-bottom: var(--gap-120);
}

.l_mb120w {
  margin-bottom: var(--gap-120w);
}

.l_mtb15s {
  margin-top: var(--gap-15s);
  margin-bottom: var(--gap-15s);
}

.l_mtb15 {
  margin-top: var(--gap-15);
  margin-bottom: var(--gap-15);
}

.l_mtb20s {
  margin-top: var(--gap-20s);
  margin-bottom: var(--gap-20s);
}

.l_mtb20 {
  margin-top: var(--gap-20);
  margin-bottom: var(--gap-20);
}

.l_mtb25s {
  margin-top: var(--gap-25s);
  margin-bottom: var(--gap-25s);
}

.l_mtb25 {
  margin-top: var(--gap-25);
  margin-bottom: var(--gap-25);
}

.l_mtb30 {
  margin-top: var(--gap-30);
  margin-bottom: var(--gap-30);
}

.l_mtb30s {
  margin-top: var(--gap-30s);
  margin-bottom: var(--gap-30s);
}

.l_mtb40s {
  margin-top: var(--gap-40s);
  margin-bottom: var(--gap-40s);
}

.l_mtb40 {
  margin-top: var(--gap-40);
  margin-bottom: var(--gap-40);
}

.l_mtb40w {
  margin-top: var(--gap-40w);
  margin-bottom: var(--gap-40w);
}

.l_mtb60s {
  margin-top: var(--gap-60s);
  margin-bottom: var(--gap-60s);
}

.l_mtb60 {
  margin-top: var(--gap-60);
  margin-bottom: var(--gap-60);
}

.l_mtb60w {
  margin-top: var(--gap-60w);
  margin-bottom: var(--gap-60w);
}

.l_mtb80s {
  margin-top: var(--gap-80s);
  margin-bottom: var(--gap-80s);
}

.l_mtb80 {
  margin-top: var(--gap-80);
  margin-bottom: var(--gap-80);
}

.l_mtb80w {
  margin-top: var(--gap-80w);
  margin-bottom: var(--gap-80w);
}

.l_mtb100s {
  margin-top: var(--gap-100s);
  margin-bottom: var(--gap-100s);
}

.l_mtb100 {
  margin-top: var(--gap-100);
  margin-bottom: var(--gap-100);
}

.l_mtb100w {
  margin-top: var(--gap-100w);
  margin-bottom: var(--gap-100w);
}

.l_mtb120s {
  margin-top: var(--gap-120s);
  margin-bottom: var(--gap-120s);
}

.l_mtb120 {
  margin-top: var(--gap-120);
  margin-bottom: var(--gap-120);
}

.l_mtb120w {
  margin-top: var(--gap-120w);
  margin-bottom: var(--gap-120w);
}

.l_pt025em {
  padding-top: var(--gap-025);
}

.l_pt05em {
  padding-top: var(--gap-05);
}

.l_pt075em {
  padding-top: var(--gap-075);
}

.l_pt1em {
  padding-top: var(--gap-1);
}

.l_pt125em {
  padding-top: var(--gap-125);
}

.l_pt15em {
  padding-top: var(--gap-15);
}

.l_pt175em {
  padding-top: var(--gap-175);
}

.l_pt2em {
  padding-top: var(--gap-2);
}

.l_pb025em {
  padding-bottom: var(--gap-025);
}

.l_pb05em {
  padding-bottom: var(--gap-05);
}

.l_pb075em {
  padding-bottom: var(--gap-075);
}

.l_pb1em {
  padding-bottom: var(--gap-1);
}

.l_pb125em {
  padding-bottom: var(--gap-125);
}

.l_pb15em {
  padding-bottom: var(--gap-15);
}

.l_pb175em {
  padding-bottom: var(--gap-175);
}

.l_pb2em {
  padding-bottom: var(--gap-2);
}

.l_ptb025em {
  padding-top: var(--gap-025);
  padding-bottom: var(--gap-025);
}

.l_ptb05em {
  padding-top: var(--gap-05);
  padding-bottom: var(--gap-05);
}

.l_ptb075em {
  padding-top: var(--gap-075);
  padding-bottom: var(--gap-075);
}

.l_ptb1em {
  padding-top: var(--gap-1);
  padding-bottom: var(--gap-1);
}

.l_ptb125em {
  padding-top: var(--gap-125);
  padding-bottom: var(--gap-125);
}

.l_ptb15em {
  padding-top: var(--gap-15);
  padding-bottom: var(--gap-15);
}

.l_ptb175em {
  padding-top: var(--gap-175);
  padding-bottom: var(--gap-175);
}

.l_ptb2em {
  padding-top: var(--gap-2);
  padding-bottom: var(--gap-2);
}

.l_mt025em {
  margin-top: var(--gap-025);
}

.l_mt05em {
  margin-top: var(--gap-05);
}

.l_mt075em {
  margin-top: var(--gap-075);
}

.l_mt1em {
  margin-top: var(--gap-1);
}

.l_mt125em {
  margin-top: var(--gap-125);
}

.l_mt15em {
  margin-top: var(--gap-15);
}

.l_mt175em {
  margin-top: var(--gap-175);
}

.l_mt2em {
  margin-top: var(--gap-2);
}

.l_mb025em {
  margin-bottom: var(--gap-025);
}

.l_mb05em {
  margin-bottom: var(--gap-05);
}

.l_mb075em {
  margin-bottom: var(--gap-075);
}

.l_mb1em {
  margin-bottom: var(--gap-1);
}

.l_mb125em {
  margin-bottom: var(--gap-125);
}

.l_mb15em {
  margin-bottom: var(--gap-15);
}

.l_mb175em {
  margin-bottom: var(--gap-175);
}

.l_mb2em {
  margin-bottom: var(--gap-2);
}

.l_mtb025em {
  margin-top: var(--gap-025);
  margin-bottom: var(--gap-025);
}

.l_mtb05em {
  margin-top: var(--gap-05);
  margin-bottom: var(--gap-05);
}

.l_mtb075em {
  margin-top: var(--gap-075);
  margin-bottom: var(--gap-075);
}

.l_mtb1em {
  margin-top: var(--gap-1);
  margin-bottom: var(--gap-1);
}

.l_mtb125em {
  margin-top: var(--gap-125);
  margin-bottom: var(--gap-125);
}

.l_mtb15em {
  margin-top: var(--gap-15);
  margin-bottom: var(--gap-15);
}

.l_mtb175em {
  margin-top: var(--gap-175);
  margin-bottom: var(--gap-175);
}

.l_mtb2em {
  margin-top: var(--gap-2);
  margin-bottom: var(--gap-2);
}

.sj_header {
  max-width: 1600px;
  margin-inline: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  padding: var(--gap-40) 0;
}
@media screen and (max-width: 1070px) {
  .sj_header {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .sj_header {
    padding-bottom: 10px;
  }
}

.sj_logo {
  padding-left: min(3vw, 40px);
}
@media screen and (max-width: 660px) {
  .sj_logo {
    padding-top: min(10vw, 60px);
    padding-bottom: 10px;
  }
}
.sj_logo img {
  max-width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 980px) {
  .sj_logo img {
    width: min(65vw, 280px);
    margin-inline: auto;
  }
}

.sj_nav ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 1070px) {
  .sj_nav ul {
    padding-top: 20px;
    justify-content: space-between;
    max-width: 800px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 700px) {
  .sj_nav ul {
    flex-wrap: nowrap;
    overflow-x: auto;
    font-size: 12px;
    padding-left: 1em;
    padding-right: 1em;
    max-width: 500px;
  }
}
.sj_nav ul > li {
  margin: 0 0.25em;
}
@media screen and (max-width: 700px) {
  .sj_nav ul > li {
    margin: 0;
  }
}
.sj_nav ul > li.res {
  margin-right: 0;
}
@media screen and (max-width: 700px) {
  .sj_nav ul > li.res {
    position: fixed;
    top: 0;
    right: 10px;
    z-index: 4;
  }
}
.sj_nav ul > li.res a {
  background-color: #1f4739;
  color: #fff;
  padding-left: 3em;
  padding-right: 2.5em;
}
@media screen and (max-width: 700px) {
  .sj_nav ul > li.res a {
    padding-right: 10px;
    padding-left: 15px;
    padding-top: 10px;
    padding-bottom: 12px;
    border-radius: 0 0 5px 5px;
  }
}
.sj_nav ul > li.res a i {
  padding-left: 1em;
}
.sj_nav ul > li.res a:hover {
  color: #eee;
  background-color: #275947;
}
.sj_nav ul > li.res a:hover span {
  border-bottom-color: transparent;
}
.sj_nav ul a {
  text-decoration: none;
  color: #000;
  line-height: 1;
  white-space: nowrap;
  padding: 0.5em 1em;
  display: block;
  transition: all 0.25s ease;
}
@media screen and (max-width: 700px) {
  .sj_nav ul a {
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
}
.sj_nav ul a span {
  display: inline-block;
  padding: 0.25em 0;
  border-bottom: 1px solid transparent;
  transition: all 0.25s ease;
}
.sj_nav ul a:hover {
  color: #1f4739;
}
.sj_nav ul a:hover span {
  border-bottom-color: #1f4739;
}

.sj_kv {
  overflow: hidden;
  width: 100vw;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.sj_kv .innr1 {
  animation: slide1 180s -90s linear infinite;
}
.sj_kv .innr2 {
  animation: slide2 180s linear infinite;
}
.sj_kv img {
  width: 220vw;
  height: auto;
  display: block;
}
@media screen and (max-width: 980px) {
  .sj_kv img {
    width: 300vw;
  }
}
@media screen and (max-width: 660px) {
  .sj_kv img {
    width: 500vw;
  }
}

@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.sj_kv__wrap {
  background-color: #FCFCF9;
}

.sj_kv__bus {
  max-width: 1200px;
  margin-inline: auto;
  position: relative;
  margin-top: -130px;
  padding-right: 40px;
}
@media screen and (max-width: 1200px) {
  .sj_kv__bus {
    margin-top: -10.5vw;
    padding-right: 3vw;
  }
}
.sj_kv__bus img {
  max-width: 100%;
  height: auto;
  display: block;
  width: 500px;
  margin-left: auto;
}
@media screen and (max-width: 1200px) {
  .sj_kv__bus img {
    width: 40vw;
  }
}
@media screen and (max-width: 767px) {
  .sj_kv__bus img {
    width: min(60vw, 360px);
  }
}

.sj_common__ttl {
  background-color: #1f4739;
  padding: 0 5vw;
}
.sj_common__ttl.route {
  background-color: #855F60;
}
.sj_common__ttl span {
  display: block;
  color: #fff;
  line-height: 1.5;
  padding: 0.75em 0;
  white-space: nowrap;
  max-width: 960px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .sj_common__ttl span {
    padding-top: min(6vw, 20px);
    padding-bottom: min(6vw, 20px);
  }
}

a.sj_official {
  display: grid;
  grid-template-columns: 20px 1fr auto;
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: center;
  justify-content: start;
  align-content: start;
  grid-gap: 0 5px;
  text-decoration: none;
  color: #000;
  position: absolute;
  top: 10px;
  right: 10px;
}
@media screen and (max-width: 700px) {
  a.sj_official {
    top: 10px;
    right: auto;
    left: 10px;
  }
}
@media screen and (max-width: 700px) {
  a.sj_official .of_title {
    font-size: 10px;
    padding-bottom: 3px;
  }
}

.sj_common__status {
  border: 3px solid #1f4739;
  color: #1f4739;
  border-radius: 8px;
  max-width: 720px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: stretch;
  justify-content: start;
  align-content: start;
  grid-gap: 10px 0;
  background-color: #fff;
  padding: 5px;
  position: relative;
}
@media screen and (max-width: 600px) {
  .sj_common__status {
    grid-template-columns: 1fr;
    margin-bottom: 30px;
    padding-bottom: 25px;
  }
}
.sj_common__status .status_head {
  color: #1f4739;
  line-height: 1;
  white-space: nowrap;
  padding: 8px 0 0 10px;
}
@media screen and (max-width: 600px) {
  .sj_common__status .status_head {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0 0.75em;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1em;
  }
}
.sj_common__status .status_now {
  padding-top: 0.5em;
  color: #1f4739;
  line-height: 1;
  white-space: nowrap;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: stretch;
  justify-content: start;
  align-content: start;
  grid-gap: 0.5em;
}
@media screen and (max-width: 767px) {
  .sj_common__status .status_now {
    grid-template-columns: auto;
  }
}
@media screen and (max-width: 600px) {
  .sj_common__status .status_now {
    grid-template-columns: auto auto;
  }
}
.sj_common__status .status_now span {
  display: block;
}
.sj_common__status .status_wrap {
  padding: 10px 10px 10px 50px;
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .sj_common__status .status_wrap {
    padding: 5px 15px;
    justify-content: center;
  }
}
.sj_common__status .status_wrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: 25px;
  width: 1px;
  height: 100%;
  background-color: #ddd;
}
@media screen and (max-width: 600px) {
  .sj_common__status .status_wrap::after {
    display: none;
  }
}
.sj_common__status .status_wrap .innr {
  display: grid;
  grid-template-columns: 30px auto;
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: stretch;
  justify-content: start;
  align-content: start;
  grid-gap: 0 15px;
}
.sj_common__status .status_wrap .icon_wrap .icon {
  width: 30px;
  height: 30px;
  position: relative;
  display: block;
}
.sj_common__status .status_wrap .icon_wrap .icon:after {
  -webkit-font-smoothing: antialiased;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 50px;
  width: 50px;
  line-height: 50px;
  font-family: "Font Awesome 5 Free";
  text-rendering: auto;
  transform: translate(-50%, -50%);
  text-align: center;
}
.sj_common__status .status_wrap .icon_wrap .icon.normal:after {
  color: #499159;
  content: "\f111";
  font-size: 30px;
}
.sj_common__status .status_wrap .icon_wrap .icon.attention:after {
  color: #F8B62D;
  content: "\f071";
  font-weight: 700;
  font-size: 26px;
}
.sj_common__status .status_wrap .icon_wrap .icon.noservice:after {
  color: red;
  content: "\f00d";
  font-weight: 700;
  font-size: 28px;
}
.sj_common__status .status_wrap .icon_wrap .icon.info:after {
  color: #ccd642;
  content: "\f05a";
  font-weight: 700;
  font-size: 28px;
}
.sj_common__status .status_wrap .text_wrap span {
  display: block;
}
.sj_common__status .status_wrap .text_wrap a {
  display: block;
  box-sizing: border-box;
  line-height: 1.5;
}
.sj_common__status .status_wrap .text_wrap a i {
  padding-left: 0.5em;
}
.sj_common__status .status_live {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
@media screen and (max-width: 600px) {
  .sj_common__status .status_live {
    position: absolute;
    justify-content: center;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.sj_common__status .status_live a.live_btn {
  text-decoration: none;
  color: #000;
  background: #FFEA00;
  border-radius: 5px;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5px 10px;
  padding: 5px 10px;
}
@media screen and (max-width: 600px) {
  .sj_common__status .status_live a.live_btn {
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 10px 15px;
  }
}
.sj_common__status .status_live a.live_btn:hover {
  transform: scale(1.05);
}
.sj_common__status .status_live a.live_btn .live {
  color: #000;
  line-height: 1;
  white-space: nowrap;
  font-weight: 700;
}
.sj_common__status .status_live a.live_btn .live i {
  padding-right: 0.25em;
  font-size: 1.1em;
}
.sj_common__status .status_live a.live_btn .position {
  display: block;
  line-height: 1;
  white-space: nowrap;
  font-weight: 500;
}
.sj_common__status .status_live a.live_btn .position i {
  padding-left: 0.25em;
}

.sj_common__ann {
  background-color: #FFF9CD;
  color: #1f4739;
  border-radius: 7px;
  padding: var(--gap-20) var(--gap-30);
  max-width: 720px;
  margin-inline: auto;
}
.sj_common__ann p {
  text-align: center;
}
.sj_common__ann p span {
  display: inline-block;
  text-align: left;
}
.sj_common__ann.small {
  padding: var(--gap-15) var(--gap-20);
  max-width: 480px;
}

.sj_common__sch {
  color: #1f4739;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: stretch;
  justify-content: center;
  align-content: start;
  grid-gap: 0.25em 1em;
}
.sj_common__sch span {
  display: block;
  text-align: left;
  line-height: 1.5;
}
.sj_common__sch span:last-child {
  grid-column: 1/3;
}
.sj_common__sch span.note {
  font-size: 0.7em;
}

.sj_common__btn {
  text-align: center;
}
.sj_common__btn a {
  display: inline-block;
  text-decoration: none;
  color: #1f4739;
  border: 3px solid #1f4739;
  white-space: nowrap;
  line-height: 1;
  padding: 1em 3em;
  border-radius: 2em;
  transition: all 0.25s ease;
  min-width: 240px;
}
.sj_common__btn a:hover {
  transform: scale(1.05);
}

.sj_info {
  background-color: #FCFCF9;
  background-image: url(../images/seichijyunrei/sj_intro__bg.jpg);
  background-size: 160%;
  background-repeat: no-repeat;
  background-position: center bottom;
}
@media screen and (max-width: 767px) {
  .sj_info {
    padding-top: 20px;
  }
}

.sj_news {
  max-width: 720px;
  margin-inline: auto;
  color: #1f4739;
}
.sj_news .news_head {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #1f4739;
  gap: 1em;
  padding: 0 0.5em 0.5em 0.5em;
}
.sj_news .news_link {
  text-decoration: none;
  color: #1f4739;
}
.sj_news .news_link i {
  padding-left: 1em;
}
.sj_news .news_list {
  padding: 0.5em 0.5em;
  border-bottom: 1px solid #1f4739;
}
.sj_news .news_list > li {
  line-height: 1.5;
  padding-bottom: 0.25em;
  padding: 0.5em 1em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1em;
}
@media screen and (max-width: 540px) {
  .sj_news .news_list > li {
    padding: 0.75em 0;
  }
}
.sj_news .news_list > li a {
  text-decoration: none;
  color: #1f4739;
}
.sj_news .news_list > li a:hover {
  text-decoration: underline;
}
.sj_news .news_list > li .news_time {
  min-width: 6em;
}
.sj_about {
  padding-top: 150px;
  font-family: "dnp-shuei-nmincho-std", serif;
}
@media screen and (max-width: 980px) {
  .sj_about {
    padding-top: 15vw;
  }
}
@media screen and (max-width: 767px) {
  .sj_about {
    padding-bottom: 180px;
  }
}
.sj_about .about_copy {
  line-height: 1.5;
  margin-bottom: 1em;
  font-size: min(3.6vw, 36px);
}
@media screen and (max-width: 767px) {
  .sj_about .about_copy {
    font-size: min(5vw, 24px);
    text-align: center;
  }
}
.sj_about .about_copy span {
  display: block;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .sj_about .about_copy span {
    line-height: 1.9;
  }
}
.sj_about .about_summary {
  max-width: 620px;
  margin-left: auto;
  letter-spacing: 0.05em;
  line-height: 2;
}

.sj_route {
  background-color: #DEE7EE;
}
.sj_route .routemap_wrap {
  overflow: hidden;
  height: 960px;
  position: relative;
}
@media screen and (max-width: 700px) {
  .sj_route .routemap_wrap {
    height: 130vw;
  }
}
@media screen and (max-width: 600px) {
  .sj_route .routemap_wrap {
    height: 170vw;
  }
}
.sj_route .routemap_wrap .route {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: auto;
}
@media screen and (max-width: 600px) {
  .sj_route .routemap_wrap .route {
    left: 55%;
    width: 280%;
    height: auto;
  }
}
.sj_route .routemap_wrap .note {
  position: absolute;
  width: 900px;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 980px) {
  .sj_route .routemap_wrap .note {
    left: auto;
    right: 3vw;
    transform: translateX(0);
    width: 100%;
  }
}
@media screen and (max-width: 700px) {
  .sj_route .routemap_wrap .note {
    right: auto;
    left: 3vw;
    top: auto;
    bottom: 0;
  }
}
.sj_route .routemap_wrap .note img {
  max-width: 100%;
  height: auto;
  display: block;
  width: 300px;
  margin-left: auto;
}
@media screen and (max-width: 980px) {
  .sj_route .routemap_wrap .note img {
    width: 240px;
  }
}
@media screen and (max-width: 700px) {
  .sj_route .routemap_wrap .note img {
    margin-left: 0;
  }
}
@media screen and (max-width: 600px) {
  .sj_route .routemap_wrap .note img {
    width: 50vw;
  }
}
.sj_route a.yuyu_ticket {
  text-decoration: none;
  color: #000;
  transition: all 0.5s ease;
}
@media screen and (max-width: 700px) {
  .sj_route a.yuyu_ticket {
    margin-top: 40px;
  }
}
.sj_route a.yuyu_ticket:hover {
  transform: scale(1.01);
}
.sj_route a.yuyu_ticket .logo img {
  max-width: 100%;
  height: auto;
  display: block;
  width: 200px;
}
@media screen and (max-width: 540px) {
  .sj_route a.yuyu_ticket .logo img {
    width: 35vw;
  }
}
.sj_route a.yuyu_ticket .ticket_wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  gap: 25px;
  margin-top: 10px;
}
@media screen and (max-width: 660px) {
  .sj_route a.yuyu_ticket .ticket_wrap {
    gap: 10px;
  }
}
.sj_route a.yuyu_ticket .ticket_wrap .image {
  max-width: 200px;
}
@media screen and (max-width: 660px) {
  .sj_route a.yuyu_ticket .ticket_wrap .image {
    width: 130px;
    align-self: stretch;
  }
}
.sj_route a.yuyu_ticket .ticket_wrap .image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.sj_route a.yuyu_ticket .ticket_wrap .txt {
  padding-right: 40px;
  position: relative;
}
@media screen and (max-width: 660px) {
  .sj_route a.yuyu_ticket .ticket_wrap .txt {
    padding-right: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.sj_route a.yuyu_ticket .ticket_wrap .txt .l_ttl {
  color: #FF7201;
  line-height: 1.5;
}
@media screen and (max-width: 660px) {
  .sj_route a.yuyu_ticket .ticket_wrap .txt .l_ttl {
    font-size: 12px;
  }
}
.sj_route a.yuyu_ticket .ticket_wrap .txt .m_ttl {
  line-height: 1.5;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}
@media screen and (max-width: 660px) {
  .sj_route a.yuyu_ticket .ticket_wrap .txt .m_ttl {
    font-size: 13px;
  }
}
.sj_route a.yuyu_ticket .ticket_wrap .txt .summary {
  line-height: 1.65;
}
@media screen and (max-width: 660px) {
  .sj_route a.yuyu_ticket .ticket_wrap .txt .summary {
    font-size: 11px;
  }
}
@media screen and (max-width: 660px) {
  .sj_route a.yuyu_ticket .ticket_wrap .txt .summary span {
    display: none;
  }
}
.sj_route a.yuyu_ticket .ticket_wrap .txt i {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 660px) {
  .sj_route a.yuyu_ticket .ticket_wrap .txt i {
    right: -14px;
  }
}
.sj_route .atnote {
  display: none;
  margin-top: 0.25em;
}
@media screen and (max-width: 660px) {
  .sj_route .atnote {
    display: block;
  }
}

.sj_schedule .google_calender {
  background: #ddd;
  margin: 0 auto;
  padding-top: 60%;
  position: relative;
  margin-top: 20px;
}
@media screen and (max-width: 600px) {
  .sj_schedule .google_calender {
    margin-top: 10px;
    padding-top: 120%;
  }
}
.sj_schedule .google_calender iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sj_schedule .alt_link {
  text-align: center;
}
.sj_schedule .alt_link a {
  margin-top: 0.5em;
  text-decoration: none;
  display: inline-block;
  color: #000;
  border-bottom: 1px solid #000;
}
.sj_schedule .alt_link a i {
  padding-left: 0.5em;
}
.sj_schedule .sch_dl {
  text-align: center;
}
.sj_schedule .sch_dl a, .sj_schedule .sch_dl span {
  display: inline-block;
  text-decoration: none;
  color: #1f4739;
  border: 3px solid #1f4739;
  white-space: nowrap;
  line-height: 1;
  padding: 1em 3em;
  border-radius: 2em;
  transition: all 0.25s ease;
}
.sj_schedule .sch_dl span {
  border-color: #999;
  color: #999;
}
.sj_schedule .sch_dl a:hover {
  transform: scale(1.05);
}

.sj_timetable {
  background-color: #F0EEE9;
}
.sj_timetable .timetable_bus {
  padding-top: 80px;
  max-width: 600px;
  margin-inline: auto;
  position: relative;
}
.sj_timetable .timetable_bus .bus_route {
  position: absolute;
  top: 0;
}
@media screen and (max-width: 500px) {
  .sj_timetable .timetable_bus .bus_route {
    font-size: 12px;
  }
}
.sj_timetable .timetable_bus .bus_route.nankai {
  left: 30px;
}
@media screen and (max-width: 500px) {
  .sj_timetable .timetable_bus .bus_route.nankai {
    left: 0;
  }
}
.sj_timetable .timetable_bus .bus_route.ryujin {
  right: 30px;
}
@media screen and (max-width: 500px) {
  .sj_timetable .timetable_bus .bus_route.ryujin {
    right: 0;
  }
}
.sj_timetable .timetable_bus .bus_route img {
  height: 24px;
  width: auto;
  display: block;
}
.sj_timetable .timetable_bus .bus_route::before {
  content: "";
  position: absolute;
  top: calc(100% + 10px);
  left: 60px;
  width: 12px;
  height: 6px;
  border-top: 12px solid #1f4739;
  border-right: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 12px solid transparent;
}
@media screen and (max-width: 360px) {
  .sj_timetable .timetable_bus .bus_route p {
    font-size: 10px;
  }
}
.sj_timetable .timetable_bus .bus_image img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
}
.sj_timetable .timetable_bus .bus_image::before {
  content: "";
  position: absolute;
  bottom: 72px;
  right: 310px;
  width: 160px;
  border-top: 5px solid #C53E4F;
  background-color: #C53E4F;
  transform: rotate(-45deg);
  transform-origin: right top;
  z-index: 2;
}
@media screen and (max-width: 660px) {
  .sj_timetable .timetable_bus .bus_image::before {
    width: 20vw;
    bottom: 10vw;
    right: 45vw;
    border-width: 4px;
  }
}
.sj_timetable .timetable_bus .bus_image::after {
  content: "";
  position: absolute;
  bottom: 70px;
  right: 270px;
  width: 50px;
  height: 50px;
  border: 5px solid #C53E4F;
  border-radius: 50%;
}
@media screen and (max-width: 660px) {
  .sj_timetable .timetable_bus .bus_image::after {
    width: 10vw;
    height: 10vw;
    border-width: 4px;
    bottom: 10vw;
    right: 38vw;
  }
}
.sj_timetable .timetable_bus__banner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  max-width: 800px;
  margin-inline: auto;
  background-color: #fff;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .sj_timetable .timetable_bus__banner {
    display: block;
    max-width: 300px;
  }
}
.sj_timetable .timetable_bus__banner .img_wrap img {
  max-width: 100%;
  height: auto;
  display: block;
}
.sj_timetable .timetable_bus__banner ul {
  margin-left: 1em;
  padding: 0.75em 20px;
}
@media screen and (max-width: 767px) {
  .sj_timetable .timetable_bus__banner ul {
    padding: 0.75em 1em;
    font-size: 13px;
  }
}
.sj_timetable .timetable_bus__banner ul li {
  list-style-type: disc;
  line-height: 1.5;
}

.sj_table {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: stretch;
  justify-content: start;
  align-content: start;
  grid-gap: 40px 20px;
}
@media screen and (max-width: 980px) {
  .sj_table {
    grid-template-columns: 1fr;
    max-width: 600px;
    margin-inline: auto;
  }
}
.sj_table .head {
  color: #fff;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
  padding: 0.75em 0;
  border-radius: 13px 13px 0 0;
}
.sj_table .column {
  background-color: #fff;
  border-radius: 20px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto 1fr;
  justify-items: stretch;
  align-items: stretch;
  justify-content: start;
  align-content: start;
  grid-gap: 0 5px;
}
.sj_table .column.hongu {
  border: 5px solid #1f4739;
}
.sj_table .column.hongu .head {
  background-color: #1f4739;
}
.sj_table .column.koyasan {
  border: 5px solid #C53E4F;
}
.sj_table .column.koyasan .head {
  background-color: #C53E4F;
}
.sj_table .summary {
  padding: 1em 1em 1em 2.5em;
}
.sj_table .summary > li {
  list-style-type: disc;
  line-height: 1.6;
  padding-bottom: 0.25em;
  text-align: justify;
}
.sj_table .summary > li:last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 540px) {
  .sj_table .timetable .desktop {
    display: none;
  }
}
.sj_table .timetable .mobile {
  display: none;
}
@media screen and (max-width: 540px) {
  .sj_table .timetable .mobile {
    display: block;
    padding: 0 2vw;
  }
}
.sj_table .timetable img {
  max-width: 100%;
  height: auto;
  display: block;
}
.sj_table a.svglink {
  text-decoration: none;
  transition: all 0.25s ease;
  display: block !important;
}
.sj_table .note {
  align-self: end;
  padding: 1em 0.5em;
  text-align: center;
}
.sj_table .note span {
  display: inline-block;
  text-align: justify;
}
.sj_table area {
  cursor: pointer;
  display: inline;
}

.map_busstop {
  padding: 0;
  width: 100%;
  max-width: 760px;
  display: none;
}
.map_busstop .map_frame {
  aspect-ratio: 4/3;
  position: relative;
}
@media screen and (max-width: 660px) {
  .map_busstop .map_frame {
    aspect-ratio: 1/1;
  }
}
.map_busstop .map_frame iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.map_busstop .map_point {
  text-align: center;
  padding: 0 0 1em 0;
  color: #1f4739;
}
.map_busstop .map_link {
  text-align: center;
}
.map_busstop .map_link a {
  color: #1f4739;
  text-decoration: none;
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
  padding: 0.5em 1em;
  border: 2px solid #000;
  border-radius: 2em;
}
.map_busstop .map_info {
  padding: var(--gap-20);
}

.sj_fare {
  background-color: #F0EEE9;
  overflow: hidden;
}
.sj_fare .fare_head {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
.sj_fare .fare_limit {
  background-color: #E94E00;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  padding: 0.75em 2em;
  border-radius: 2em;
}
@media screen and (max-width: 767px) {
  .sj_fare .fare_limit {
    padding: 0.5em 2em;
  }
}
.sj_fare .fare_ttl {
  color: #1f4739;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 480px) {
  .sj_fare .fare_ttl {
    font-size: 5.5vw;
  }
}
.sj_fare .fare_ttl span {
  display: inline-block;
  position: relative;
}
.sj_fare .fare_ttl span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% + 1em);
  width: min(15vw, 200px);
  height: 2px;
  background-color: #1f4739;
  transform: translateY(-50%);
  z-index: 2;
}
.sj_fare .fare_table {
  border-collapse: collapse;
  color: #1f4739;
  overflow: hidden;
  margin-top: 20px;
}
.sj_fare .fare_table th {
  font-weight: 500;
  padding: 0.5em;
  border-bottom: 4px solid #1f4739;
}
.sj_fare .fare_table td {
  padding: 0.5em 0.75em;
  border-bottom: 1px solid #1f4739;
}
@media screen and (max-width: 480px) {
  .sj_fare .fare_table td {
    padding: 0.5em 0.25em;
  }
}
.sj_fare .fare_table td.bd {
  border-bottom-width: 4px;
}
.sj_fare .fare_table .track {
  text-align: left;
  position: relative;
}
.sj_fare .fare_table .track::after {
  content: "";
  position: absolute;
  top: -30px;
  right: 0;
  width: 10px;
  height: 100vw;
  background-color: #F0EEE9;
}
@media screen and (max-width: 480px) {
  .sj_fare .fare_table .track::after {
    display: none;
  }
}
.sj_fare .fare_table .track span {
  display: inline-block;
  background-color: #1f4739;
  color: #fff;
  padding: 0 1em;
  border-radius: 5px;
}
.sj_fare .fare_table .cat {
  text-align: center;
}
@media screen and (max-width: 480px) {
  .sj_fare .fare_table .route {
    font-size: 13px;
  }
}
.sj_fare .fare_table .price {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 3px;
}
.sj_fare .fare_table .price .num {
  display: block;
  line-height: 1;
  white-space: nowrap;
}
.sj_fare .fare_table .price .yen {
  display: block;
  line-height: 1;
  white-space: nowrap;
}
.sj_fare .note > li {
  line-height: 1.5;
  padding-bottom: 0.25em;
  margin-left: 1.5em;
  list-style-type: disc;
}
.sj_fare .note > li:last-child {
  padding-bottom: 0;
}

.sj_offers .offers_head {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5em 1em;
}
.sj_offers .offers_head .offers_ttl span {
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
  background-color: #1f4739;
  padding: 0.4em 1.25em 0.45em 1.25em;
  border-radius: 8px;
}
.sj_offers .offers_details {
  padding-left: var(--gap-60);
  list-style-type: disc;
}
@media screen and (max-width: 600px) {
  .sj_offers .offers_details {
    padding-left: 1.25em;
  }
}
.sj_offers .offers_details > li {
  padding-bottom: var(--gap-30);
}
.sj_offers .offers_details > li:last-child {
  padding-bottom: 0;
}
.sj_offers .offers_details .detail_ttl {
  line-height: 1.5;
}
.sj_offers .offers_details .detail_note {
  line-height: 1.6;
  display: inline-block;
  padding-left: 0.25em;
  padding-top: 0.5em;
}
.sj_offers .offers_details .detail_note .price {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 1.5em;
}

.sj_reserve {
  background-color: #DCE0DC;
}
.sj_reserve .reserve_type {
  border-bottom: 2px solid #1f4739;
  line-height: 1.5;
  padding: 0.5em 0.5em 0.25em 70px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sj_reserve .reserve_type {
    padding-left: 65px;
    padding-bottom: 0.5em;
  }
}
.sj_reserve .reserve_type::before {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  width: 60px;
  height: 30px;
}
.sj_reserve .reserve_type.web::before {
  background-image: url(../images/seichijyunrei/sj_payment1.svg);
}
@media screen and (max-width: 767px) {
  .sj_reserve .reserve_type.smp {
    padding-left: 50px;
  }
}
.sj_reserve .reserve_type.smp::before {
  background-image: url(../images/seichijyunrei/sj_payment2.svg);
}
.sj_reserve .reserve_type.cvs::before {
  background-image: url(../images/seichijyunrei/sj_payment3.svg);
  height: 35px;
}
.sj_reserve .reserve_type.ajn::before {
  background-image: url(../images/seichijyunrei/sj_payment4.svg);
  height: 40px;
  bottom: 2px;
}
.sj_reserve .reserve_title {
  line-height: 1.5;
  padding: 0.5em 0;
}
.sj_reserve .reserve_title.image {
  padding-top: 1.25em;
}
.sj_reserve .reserve_title.image img {
  width: 100%;
  height: auto;
  display: block;
}
.sj_reserve .reserve_title.image img.kansaimaas {
  width: min(50vw, 240px);
}
.sj_reserve .reserve_payment {
  padding-top: 8px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
}
.sj_reserve .reserve_payment > li {
  white-space: nowrap;
  display: inline-block;
  box-sizing: border-box;
  border-radius: 5px;
  border: 2px solid #105c13;
  line-height: 1;
  padding: 0.5em 0.75em;
}
.sj_reserve .reserve_limit {
  padding-top: 0.5em;
  line-height: 1.5;
}

.sj_reserve__main {
  border-radius: 15px;
  background-color: #fff;
  border: 4px solid #1f4739;
  color: #1f4739;
}
.sj_reserve__main .innr {
  padding: var(--gap-30) var(--gap-40);
  max-width: 720px;
  margin-inline: auto;
}
.sj_reserve__main .reserve_btn {
  text-align: center;
}
.sj_reserve__main .reserve_btn a {
  text-decoration: none;
  color: #fff;
  background: #1f4739;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  line-height: 1;
  padding: 1em 2em 1em 2.5em;
  gap: 0 1em;
  border-radius: 2em;
  transition: all 0.25s ease;
}
@media screen and (max-width: 480px) {
  .sj_reserve__main .reserve_btn a {
    font-size: 3.5vw;
    padding-top: 1.25em;
    padding-bottom: 1.25em;
  }
}
.sj_reserve__main .reserve_btn a:hover {
  transform: scale(1.025);
}
.sj_reserve__main .reserve_btn a span {
  white-space: nowrap;
}
.sj_reserve__main .reserve_btn a i {
  font-size: 0.75em;
}

.sj_reserve__sub .ttl {
  padding-left: 1.5em;
  padding-bottom: 0.5em;
}
.sj_reserve__sub .reserve_title {
  line-height: 1.5;
  padding: 0.75em 0 0.5em 0.5em;
}
.sj_reserve__sub .innr {
  border-radius: 15px;
  background-color: #fff;
  padding: var(--gap-30) var(--gap-40);
}
.sj_reserve__sub .innr > li {
  padding-bottom: var(--gap-40);
}
@media screen and (max-width: 767px) {
  .sj_reserve__sub .innr > li {
    padding-bottom: 60px;
  }
}
.sj_reserve__sub .innr > li:last-child {
  padding-bottom: 0;
}
.sj_reserve__sub .column {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .sj_reserve__sub .column {
    display: block;
  }
}
.sj_reserve__sub .reserve_att {
  padding-top: 10px;
}
@media screen and (max-width: 767px) {
  .sj_reserve__sub .reserve_att {
    padding-top: 30px;
  }
}
.sj_reserve__sub .reserve_att > li {
  position: relative;
  padding-left: 1.25em;
  line-height: 1.5;
}
.sj_reserve__sub .reserve_att > li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.sj_reserve__sub .reserve_btn {
  text-align: center;
}
.sj_reserve__sub .reserve_btn a.link_btn {
  text-decoration: none;
  color: #1f4739;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  line-height: 1;
  padding: 0.75em 1.5em 0.75em 2em;
  gap: 0 1em;
  border-radius: 2em;
  transition: all 0.25s ease;
  border: 2px solid #1f4739;
}
.sj_reserve__sub .reserve_btn a.link_btn:hover {
  transform: scale(1.025);
}
.sj_reserve__sub .reserve_btn a.link_btn span {
  white-space: nowrap;
}
.sj_reserve__sub .reserve_btn a.link_btn i {
  font-size: 0.75em;
}
.sj_reserve__sub .reserve_btn__app .app_note {
  line-height: 1.5;
  padding-bottom: 0.5em;
  text-align: center;
}
.sj_reserve__sub .reserve_btn__app .app_list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.sj_reserve__sub .reserve_btn__app .app_list a {
  display: block;
}
.sj_reserve__sub .reserve_btn__app .app_list a img {
  width: auto;
  height: auto;
  display: block;
  height: min(10vw, 46px);
}
.sj_reserve__sub .list_banner {
  padding-top: 15px;
}
.sj_reserve__sub .list_banner img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
}

.sj_reserve__cancel {
  padding-left: 5%;
}
.sj_reserve__cancel .cncl_ttl {
  padding-bottom: 0.5em;
}
.sj_reserve__cancel .cncl_list {
  -moz-columns: 2;
       columns: 2;
  -moz-column-gap: 2em;
       column-gap: 2em;
}
@media screen and (max-width: 600px) {
  .sj_reserve__cancel .cncl_list {
    -moz-columns: initial;
         columns: initial;
  }
}
.sj_reserve__cancel .cncl_list > li {
  line-height: 1.5;
  padding-bottom: 0.25em;
  position: relative;
  padding-left: 1em;
}
.sj_reserve__cancel .cncl_list > li::before {
  content: "1.";
  position: absolute;
  top: 0;
  left: 0;
}
.sj_reserve__cancel .cncl_list > li:nth-child(1)::before {
  content: "1.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(2)::before {
  content: "2.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(3)::before {
  content: "3.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(4)::before {
  content: "4.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(5)::before {
  content: "5.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(6)::before {
  content: "6.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(7)::before {
  content: "7.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(8)::before {
  content: "8.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(9)::before {
  content: "9.";
}
.sj_reserve__cancel .cncl_list > li:nth-child(10)::before {
  content: "10.";
}

.sj_optour {
  position: relative;
  padding-top: 22vw;
  padding-left: 5vw;
  padding-right: 5vw;
  background-color: #EAEDEA;
  padding-bottom: var(--gap-60);
}
@media screen and (max-width: 980px) {
  .sj_optour {
    padding-top: max(25vw, 240px);
  }
}
@media screen and (max-width: 660px) {
  .sj_optour {
    padding-top: 40vw;
  }
}
.sj_optour::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40vw;
  background-image: url(../images/seichijyunrei/sj_opt01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 980px) {
  .sj_optour::before {
    height: max(40vw, 400px);
  }
}
@media screen and (max-width: 660px) {
  .sj_optour::before {
    height: 65vw;
  }
}
.sj_optour .optour_wrap {
  position: relative;
  z-index: 2;
  background-color: #fff;
  max-width: 980px;
  margin-inline: auto;
}
.sj_optour .optour_ttl {
  background-color: #C63F50;
  color: #fff;
  line-height: 1.5;
  padding: 0.75em 1.25em;
}
.sj_optour .optour_ttl span {
  display: inline-block;
}
.sj_optour .optour_head {
  padding: min(5vw, 40px);
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: stretch;
  justify-content: start;
  align-content: start;
  grid-gap: var(--gap-20) var(--gap-40);
}
@media screen and (max-width: 860px) {
  .sj_optour .optour_head {
    grid-template-columns: 1fr;
  }
}
.sj_optour .optour_name {
  grid-column: 1/3;
  display: grid;
  grid-template-columns: 100px 1fr;
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: center;
  justify-content: start;
  align-content: start;
  grid-gap: 0 var(--gap-20);
}
@media screen and (max-width: 860px) {
  .sj_optour .optour_name {
    grid-column: initial;
  }
}
@media screen and (max-width: 480px) {
  .sj_optour .optour_name {
    grid-template-columns: 20vw 1fr;
  }
}
.sj_optour .optour_name .name {
  display: block;
  line-height: 1.5;
  color: #C63F50;
}
.sj_optour .optour_icon img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 50%;
}
.sj_optour .optour_date span {
  display: block;
  line-height: 1.5;
}
.sj_optour .optour_time {
  line-height: 1.5;
  padding-top: 0.5em;
}
.sj_optour .optour_details {
  background-color: #F7F7F7;
  border-radius: 10px;
  padding: var(--gap-20) var(--gap-30);
}
.sj_optour .optour_details .distance {
  padding-top: 0.25em;
}
.sj_optour .optour_details .note {
  line-height: 1.5;
  text-align: justify;
}
.sj_optour .optour_price {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.sj_optour .optour_price .unit .adult {
  display: block;
  line-height: 1.5;
}
.sj_optour .optour_price .unit .per {
  display: block;
  line-height: 1.5;
}
.sj_optour .optour_gallery {
  grid-column: 1/3;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: stretch;
  justify-content: start;
  align-content: start;
  grid-gap: 15px;
}
@media screen and (max-width: 860px) {
  .sj_optour .optour_gallery {
    grid-column: initial;
  }
}
@media screen and (max-width: 480px) {
  .sj_optour .optour_gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
.sj_optour .optour_gallery > li img {
  max-width: 100%;
  height: auto;
  display: block;
}
.sj_optour .optour_walkplan {
  margin-bottom: 40px;
  position: relative;
}
.sj_optour .optour_walkplan__map {
  width: 90%;
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
}
@media screen and (max-width: 840px) {
  .sj_optour .optour_walkplan__map {
    width: 100%;
    padding-top: 60px;
  }
}
@media screen and (max-width: 540px) {
  .sj_optour .optour_walkplan__map {
    padding-top: 0;
  }
}
.sj_optour .optour_walkplan__desc01 {
  position: absolute;
  top: 65%;
  left: 3%;
  border: 2px solid #cc0066;
  color: #cc0066;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5em 1em;
  background: #fff;
}
@media screen and (max-width: 840px) {
  .sj_optour .optour_walkplan__desc01 {
    top: 0;
    width: 46%;
    white-space: nowrap;
  }
}
@media screen and (max-width: 540px) {
  .sj_optour .optour_walkplan__desc01 {
    position: static;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 10px;
  }
}
.sj_optour .optour_walkplan__desc02 {
  position: absolute;
  top: 10%;
  right: 25%;
  border: 2px solid #ec6c00;
  color: #ec6c00;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5em 1em;
  background: #fff;
}
@media screen and (max-width: 840px) {
  .sj_optour .optour_walkplan__desc02 {
    top: 0;
    right: 3%;
    width: 46%;
    white-space: nowrap;
  }
}
@media screen and (max-width: 540px) {
  .sj_optour .optour_walkplan__desc02 {
    position: static;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 10px;
  }
}
.sj_optour .optour_regulation {
  padding: 0 min(5vw, 40px);
}
.sj_optour .optour_regulation .reg_reserve {
  padding-bottom: var(--gap-60);
}
.sj_optour .optour_regulation .sec_ttl {
  line-height: 1.5;
  margin-bottom: 0.5em;
  overflow: hidden;
}
.sj_optour .optour_regulation .sec_ttl span {
  display: inline-block;
  position: relative;
}
.sj_optour .optour_regulation .sec_summary {
  margin-bottom: 1em;
}
.sj_optour .optour_regulation .sec_summary:last-child {
  margin-bottom: 0;
}
.sj_optour .optour_regulation .reg_contact {
  margin-top: var(--gap-30);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  background-color: #F0EEE8;
  padding: var(--gap-20) var(--gap-30);
  border-radius: 10px;
}
@media screen and (max-width: 860px) {
  .sj_optour .optour_regulation .reg_contact {
    display: block;
  }
}
.sj_optour .optour_regulation .reg_contact .title {
  line-height: 1.5;
  display: block;
}
@media screen and (max-width: 860px) {
  .sj_optour .optour_regulation .reg_contact .title {
    text-align: center;
    padding-bottom: 1em;
  }
}
.sj_optour .optour_regulation .reg_contact .name {
  color: #C63F50;
  line-height: 1.5;
  display: block;
}
.sj_optour .optour_regulation .reg_contact .link {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.sj_optour .optour_regulation .reg_contact .tel {
  display: inline-block;
  color: #fff;
  background-color: #C63F50;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  padding: 0.75em 2em;
  border-radius: 2em;
  transition: all 0.25s ease;
}
.sj_optour .optour_regulation .reg_contact .tel:hover {
  background-color: #b63646;
}
.sj_optour .optour_regulation .reg_contact .fax {
  line-height: 1;
  white-space: nowrap;
}
.sj_optour .optour_regulation .reg_limit {
  padding-bottom: var(--gap-60);
}
.sj_optour .optour_regulation .reg_note {
  padding-bottom: var(--gap-30);
}

.sj_footer {
  padding: 40px 3%;
  color: #fff;
  background: #3c3c3c;
}
.sj_footer .footer_ttl__en {
  font-size: 0.75em;
  font-weight: normal;
  display: block;
  color: #999;
}
.sj_footer .address_en {
  color: #999;
}
.sj_footer .address {
  white-space: nowrap;
}
.sj_footer .open {
  margin-bottom: 0.5em;
}
.sj_footer .open_en {
  color: #999;
}
.sj_footer .phone {
  margin-top: 0.5em;
}
.sj_footer .phone a {
  text-decoration: none;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .sj_footer .content {
    order: 1;
  }
}
.sj_footer .note {
  color: #ddd;
  max-width: 500px;
}
@media screen and (max-width: 767px) {
  .sj_footer .note {
    order: 2;
  }
}
.sj_footer .wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .sj_footer .wrap {
    flex-wrap: wrap;
  }
}

.walkplan {
  margin-bottom: 40px;
  position: relative;
}
.walkplan__map {
  width: 90%;
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
}
@media screen and (max-width: 840px) {
  .walkplan__map {
    width: 100%;
    padding-top: 60px;
  }
}
@media screen and (max-width: 540px) {
  .walkplan__map {
    padding-top: 0;
  }
}
.walkplan__desc01 {
  position: absolute;
  top: 65%;
  left: 3%;
  border: 2px solid #cc0066;
  color: #cc0066;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5em 1em;
  background: #fff;
}
@media screen and (max-width: 840px) {
  .walkplan__desc01 {
    top: 0;
    width: 46%;
    white-space: nowrap;
  }
}
@media screen and (max-width: 540px) {
  .walkplan__desc01 {
    position: static;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 10px;
  }
}
.walkplan__desc02 {
  position: absolute;
  top: 10%;
  right: 25%;
  border: 2px solid #ec6c00;
  color: #ec6c00;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5em 1em;
  background: #fff;
}
@media screen and (max-width: 840px) {
  .walkplan__desc02 {
    top: 0;
    right: 3%;
    width: 46%;
    white-space: nowrap;
  }
}
@media screen and (max-width: 540px) {
  .walkplan__desc02 {
    position: static;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 10px;
  }
}

.red__head {
  margin: 0 auto;
  margin-bottom: 20px;
  border-bottom: solid 2px #e73a27;
  font-size: 20px;
  text-align: center;
  color: #e73a27;
  font-weight: 600;
  padding-bottom: 0.5em;
}
.red__desc {
  margin-bottom: 20px;
  color: #e73a27;
  text-align: center;
  font-weight: 600;
}

.grecaptcha-badge {
  visibility: hidden;
}
/*# sourceMappingURL=maps/seichijyunrei.css.map */
