.inner {
  width: 1000px;
  margin: 0 auto;
}

.modal {
  display: none;
  overflow-y: scroll;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 600;
}

#header {
  overflow: hidden;
  background: #0473bd;
}

#header .logo {
  width: 58px;
  float: left;
  padding: 12px 0 10px;
}

#header .modal_open {
  width: 100px;
  float: right;
  margin: 12px 0 14px;
  padding: 12px 0 10px;
  border: 2px solid #fff;
  color: #fff;
  line-height: 1;
  font-size: 123%;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}

.modal_lang .modal_wrap {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lang_txt {
  color: #fff;
  line-height: 1;
  font-size: 186%;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.04em;
}

.lang_list {
  max-width: 380px;
  margin: 10px auto 0;
  text-align: center;
  letter-spacing: -0.5em;
}

.lang_list li {
  display: inline-block;
  margin-top: 20px;
  letter-spacing: 0;
}

.lang_list li:nth-child(even) {
  margin-left: 20px;
}

.lang_list li a {
  display: block;
  width: 174px;
  padding: 35px 0;
  border: 3px solid #fff;
  color: #fff;
  line-height: 1;
  font-size: 157%;
  font-weight: bold;
  background: #0473bd;
}

/**/
#main h2 {
  padding: 40px 0;
  line-height: 1;
  font-size: 286%;
  text-align: center;
  background: #e9f4ff;
}

#main h3 {
  padding-bottom: 10px;
  border-bottom: 5px solid #0473bd;
  color: #0473bd;
  line-height: 1;
  font-size: 214%;
  font-weight: bold;
}

/* common */
#main .sec_wrap {
  margin-top: 94px;
}

#main .section_inner {
  margin: 34px 30px 0;
}

#main .point_txt {
  margin-left: 1.2em;
  line-height: 1.67;
  font-size: 129%;
  text-indent: -1.2em;
}

#main .point_txt:before {
  padding-right: 10px;
  color: #0473bd;
  content: "\025cf";
}

#main .point_txt a,#main .txt a {
  text-decoration: underline;
}

#main .point_txt a:hover,#main .txt a:hover {
  text-decoration: none;
}

#main .notes {
  font-size: 78%;
}

#main .details_wrap {
  line-height: 1.67;
  font-size: 129%;
  background: #e9f4ff;
}

#main .txt {
  line-height: 1.67;
  font-size: 129%;
}

.modal_box {
  position: absolute;
  top: 50%;
  left: 50%;
}

.modal_wrap {
  position: relative;
}

.modal_close {
  position: absolute;
  top: -40px;
  right: 0;
  cursor: pointer;
}

.modal_takamatsu .modal_box {
  width: 940px;
  margin-top: -215px;
  margin-left: -470px;
}

.modal_type .modal_box {
  width: 800px;
  margin-top: -215px;
  margin-left: -400px;
}

/* type */
#type .type_list {
  margin-top: 34px;
}

.type_list {
  text-align: center;
  letter-spacing: -0.5em;
}

.type_list li.type_list_item {
  display: inline-block;
  box-sizing: border-box;
  width: 380px;
  height: 423px;
  border: 3px solid #0473bd;
  vertical-align: top;
  letter-spacing: 0;
  background: #e9f4ff;
}

.type_list li.type_list_item + li.type_list_item {
  margin-left: 40px;
}

.type_list .type_head {
  padding: 7px 0 10px;
  color: #fff;
  line-height: 1;
  font-size: 143%;
  font-weight: bold;
  background: #0473bd;
}

.type_list li:first-child .type_figure {
  padding: 46px 0 30px;
}

.type_list li:last-child .type_figure {
  padding: 22px 0 20px;
}

.type_list li.type_list_item ul {
  width: 280px;
  margin: 0 auto;
  padding-left: 1em;
  line-height: 1.88;
  font-size: 114%;
  text-indent: -1em;
  text-align: left;
}

/* contents_list */
#contents_list {
  width: 800px;
  margin: 40px auto 0;
  padding: 40px 30px 30px;
  background: #f2f3f5;
}

#contents_list .contents_ttl {
  position: relative;
  padding-left: 0.8em;
  line-height: 1;
  font-size: 157%;
  font-weight: bold;
}

#contents_list .contents_ttl:before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.6em;
  content: "\025a0";
}

#contents_list ol {
  margin-top: 17px;
}

#contents_list ol li {
  line-height: 2.13;
  font-size: 114%;
}

#contents_list ol li a {
  text-decoration: underline;
}

#contents_list ol li a:hover {
  text-decoration: none;
}

/* conditions */
#conditions {
  overflow: hidden;
}

#conditions ul {
  max-width: 780px;
  float: left;
}

#conditions .conditions_img {
  width: 151px;
  float: right;
  margin-top: 6px;
}

/* pass */
#pass dl {
  margin-top: 30px;
}

#pass dl dt {
  padding: 14px 0;
  color: #fff;
  line-height: 1;
  font-size: 143%;
  font-weight: bold;
  text-align: center;
  background: #0473bd;
}

#pass dl dd ul {
  margin-left: -2px;
  letter-spacing: -0.5em;
}

#pass dl dd ul li {
  display: inline-block;
  position: relative;
  margin-top: 2px;
  margin-left: 2px;
  text-align: center;
  letter-spacing: 0;
}

#pass dl dd ul li a {
  display: block;
  padding: 38px 0;
  color: #333;
  line-height: 1;
  font-size: 114%;
  font-weight: bold;
}

#pass dl dd ul li:hover a {
  color: #fff;
}

#pass dl dd ul li a:before {
  width: 0;
  height: 0;
  position: absolute;
  right: 2px;
  bottom: 2px;
  border-width: 0 0 12px 12px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
  content: "";
}

/*jwrp*/
#pass dl dd.jwrp ul li a {
  width: 233px;
}

#pass dl dd ul li.pass_kansai a {
  width: 234px;
  background: #f1d7bf;
}

#pass dl dd ul li.pass_kansai:hover a {
  background: #cf7c2c;
}

#pass dl dd ul li.pass_kansaiwide a {
  width: 234px;
  background: #b2d9eb;
}

#pass dl dd ul li.pass_kansaiwide:hover a {
  background: #0080be;
}

#pass dl dd ul li.pass_kansaihiroshima a {
  background: #f4cbc7;
}

#pass dl dd ul li.pass_kansaihiroshima:hover a {
  background: #db5444;
}

#pass dl dd ul li.pass_sanyosanin a {
  background: #b2dfd4;
}

#pass dl dd ul li.pass_sanyosanin:hover a {
  background: #009470;
}

#pass dl dd ul li.pass_kansaihokuriku a {
  width: 234px;
  background: #bfd9dd;
}

#pass dl dd ul li.pass_kansaihokuriku:hover a {
  background: #2c808f;
}

#pass dl dd ul li.pass_hokuriku a {
  width: 234px;
  background: #efccd7;
}

#pass dl dd ul li.pass_hokuriku:hover a {
  background: #cb557b;
}

#pass dl dd ul li.pass_saninokayama a {
  background: #dfcade;
}

#pass dl dd ul li.pass_saninokayama:hover a {
  background: #965092;
}

#pass dl dd ul li.pass_hiroshimayamaguchi a {
  background: #d4e7c0;
}

#pass dl dd ul li.pass_hiroshimayamaguchi:hover a {
  background: #72af2d;
}

#pass dl dd ul li.pass_okahiroyama a {
  width: 234px;
  letter-spacing: -0.04em;
  background: #fce6b3;
}

#pass dl dd ul li.pass_okahiroyama:hover a {
  background: #f6ab04;
}

#pass dl dd ul li.pass_kansaimini a {
  background: #ffdfec;
}

#pass dl dd ul li.pass_kansaimini:hover a {
  background: #ff94bf;
}

#pass dl dd ul li.pass_tottorimatsue a {
  background: #ceeef8;
}

#pass dl dd ul li.pass_tottorimatsue:hover a {
  background: #5376c5;
}

/*areapass*/
#pass dl dt.areapass {
  margin-top: 40px;
}

#pass dl dd.areapass ul li a {
  width: 312px;
}

#pass dl dd ul li.pass_setouchi a {
  background: #edc5bd;
}

#pass dl dd ul li.pass_setouchi:hover a {
  background: #c24023;
}

/* #pass dl dd ul li.pass_ssnk a {
  background: #f8bfc7;
}
#pass dl dd ul li.pass_ssnk:hover a {
  background: #e72a44;
} */
#pass dl dd ul li.pass_ssnk a {
  background: #9ad1f2;
}

#pass dl dd ul li.pass_ssnk:hover a {
  background: #3daff2;
}

#pass dl dd ul li.pass_touristpass {
  width: 100%;
}

#pass dl dd ul li.pass_touristpass a {
  width: 100%;
  background: #9ad1f2;
}

#pass dl dd ul li.pass_touristpass:hover a {
  background: #3daff2;
}

/* period */
#period .details_wrap {
  margin-top: 24px;
  padding: 14px 30px 4px 30px;
}

#period .details_wrap dl {
  overflow: hidden;
}

#period .details_wrap dl > * {
  float: left;
  padding-bottom: 10px;
}

#period .details_wrap dl dt {
  clear: both;
  font-weight: bold;
}

#period .details_wrap dl dd .notes {
  display: block;
  line-height: 1;
}

/* start */
#start .start_type {
  margin-left: 1em;
  text-indent: -1em;
}

#start .start_type + .start_type {
  margin-top: 28px;
}

#start .start_type + ul {
  margin-top: 28px;
}

#start dl {
  overflow: hidden;
  margin-top: 10px;
}

#start dl > * {
  float: left;
}

#start dl dt {
  font-weight: bold;
}

#start dl dd {
  max-width: 845px;
}

#start dl ul li {
  margin-left: 1em;
  text-indent: -1em;
}

/* howto */
#howto .howto_type {
  overflow: hidden;
}

#howto .howto_type.type_a .point_txt {
  width: 590px;
  float: left;
}

#howto .howto_type.type_a .details_wrap {
  width: 590px;
  float: left;
  margin-top: 14px;
  padding: 14px 30px;
}

#howto .howto_type.type_a .details_wrap dt {
  font-weight: bold;
}

#howto .howto_type.type_a .details_wrap ul li {
  margin-left: 1em;
  text-indent: -1em;
}

#howto .howto_type.type_a .howto_img {
  width: 320px;
  float: right;
  margin-top: -3.9em;
}

/**/
#howto .howto_type.type_b {
  margin-top: 40px;
  padding-top: 34px;
  border-top: 1px solid #cecece;
}

#howto .howto_type.type_b .point_txt + .txt {
  width: 570px;
  float: left;
  margin-left: 2em;
  text-indent: -1em;
}

#howto .howto_type.type_b .howto_img {
  width: 320px;
  float: right;
  margin-top: 6px;
}

#howto .howto_type.type_b .howto_img span {
  display: block;
  margin-top: 5px;
  line-height: 2;
  font-weight: bold;
  text-align: right;
}

/* change */
#change .details_wrap {
  margin-top: 24px;
  padding: 14px 30px;
}

#change .details_wrap ul li {
  margin-left: 1em;
  text-indent: -1em;
}

/* refund */
#refund .point_txt + .point_txt {
  margin-top: 30px;
}

#refund .point_txt .notes {
  display: block;
  margin-left: 1em;
  text-indent: -1em;
}

/* age */
#age .section_inner {
  overflow: hidden;
}

#age .point_txt .notes {
  display: block;
  margin-left: 1em;
  text-indent: -1em;
}

#age .age_img {
  float: left;
  margin-top: 14px;
}

#age .age_img01 {
  width: 630px;
  margin-right: 17px;
}

/* rule */
#rule .details_wrap {
  margin: 24px 0 34px;
  padding: 14px 30px;
}

/* accept */
#accept .details_wrap {
  margin: 24px 0 34px;
  padding: 14px 30px;
}

#accept .details_wrap ul li span {
  display: block;
  margin-left: 2em;
  text-indent: -1em;
}

/* footer */
#footer {
  margin-top: 143px;
  padding: 30px 0;
  color: #fff;
  line-height: 1;
  text-align: center;
  background: #0473bd;
}

/*add 20201111*/
#pass dl dd ul li.line2 a {
  padding: 31px 0 30px;
}

/* .period */
#period .step_wrap {
  display: flex;
  overflow: hidden;
  margin: 35px auto 10px;
}

#period .section_inner {
  display: flex;
  overflow: hidden;
  text-align: center;
}

#period .step {
  box-sizing: border-box;
  width: 430px;
  float: left;
  margin: 0 20px;
  padding: 30px 30px 25px;
  border: 3px solid #0473bd;
  border-radius: 5px;
}

#period .step._type01 {
  padding: 30px 30px 118px;
}

#period .img {
  padding-top: 20px;
}

#period .img img {
  width: 100%;
}

#period .btn01 {
  width: 60%;
  position: relative;
  margin: 0 auto 14px;
  border: 2px solid #0473bd;
  line-height: 1;
  font-size: 123%;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}

#period .btn01:hover {
  background: #0473bd;
}

#period .btn01:before {
  width: 0;
  height: 0;
  position: absolute;
  right: 2px;
  bottom: 2px;
  border-width: 0 0 12px 12px;
  border-style: solid;
  border-color: transparent transparent #0473bd transparent;
  content: "";
}

#period .btn01:hover:before {
  border-color: transparent transparent #fff transparent;
}

#period .btn01 a {
  display: block;
  padding: 12px 0 10px;
  color: #0473bd;
}

#period .btn01:hover a {
  color: #fff;
}

#pass dl dd ul li.pass_allAreaPass a {
  width: 234px;
  background: #9ad1f2;
}

#pass dl dd ul li.pass_allAreaPass:hover a {
  background: #3daff2;
}

#pass dl dd ul li.pass_hokurikuArch a {
  background: #9ad1f2;
}

#pass dl dd ul li.pass_hokurikuArch:hover a {
  background: #3daff2;
}

#pass dl dd ul li.pass_setouchiArea a {
  background: #9ad1f2;
}

#pass dl dd ul li.pass_setouchiArea:hover a {
  background: #3daff2;
}

#pass dl dd ul li.pass_harukaOneWay a {
  background: #9ad1f2;
}

#pass dl dd ul li.pass_harukaOneWay:hover a {
  background: #3daff2;
}

#pass dl dd ul li.pass_shinkansenOneWay a {
  background: #9ad1f2;
}

#pass dl dd ul li.pass_shinkansenOneWay:hover a {
  background: #3daff2;
}

#pass dl dd ul li.pass_thunderbirdOneWay a {
  background: #9ad1f2;
}

#pass dl dd ul li.pass_thunderbirdOneWay:hover a {
  background: #3daff2;
}