@charset "UTF-8";
.content-footer {
  display: block;
  /** @media max-width: 767px */
}

@media screen and (max-width: 767px) {
  .content-footer {
    margin-top: 48px;
  }
}

#mainvisual .slogan {
  display: none;
  padding: 1em 0 2em;
}

@media screen and (max-width: 767px) {
  #mainvisual {
    margin-left: -20px;
    margin-right: -20px;
  }
}

/** #mainvisual */
#about {
  width: 100%;
  margin: 2em auto 2em auto;
}

#about p {
  line-height: 2 !important;
  text-align: center;
  font-size: 14px;
  letter-spacing: .2em;
  font-feature-settings: "palt";
  color: #333;
}

@media screen and (max-width: 767px) {
  #about {
    width: 100%;
  }
  #about p {
    text-align: left;
    padding: 20px;
    font-size: 14px;
  }
}

#news {
  width: 700px;
  margin: 24px auto 0;
}

#news .headline {
  text-align: center;
  border-bottom: solid 1px #ddd;
  padding-bottom: 1em;
  margin-bottom: 1em;
}

#news .headline .en {
  display: block;
  font-size: 3em;
}

#news .headline .jp {
  display: block;
}

#news .news li {
  margin: 0 0 1em 0;
  padding: 0 0 1em 0;
  border-bottom: dotted 1px #ddd;
}

#news .news li .date {
  display: block;
  float: left;
}

#news .news li .text {
  display: block;
  margin-left: 9em;
}

#news .news li a {
  display: block;
}

#news .news li a:hover {
  text-decoration: none;
  color: #1a9fe3;
}

#news .showall_btn {
  display: block;
  margin: auto;
  position: relative;
  padding: 1em 1em 1em 1em;
  /** border: solid 2px $blue01; */
  background: #1a9fe3;
  color: #fff;
  width: 40%;
  text-align: center;
  border-radius: .5em;
  font-weight: bold;
}

#news .showall_btn:hover {
  text-decoration: none;
  opacity: .6;
}

@media screen and (max-width: 767px) {
  #news .showall_btn {
    width: 90%;
  }
}

@media screen and (max-width: 767px) {
  #news {
    width: 100%;
  }
  #news .news li .date,
  #news .news li .text {
    float: none;
    margin: 0;
  }
  #news .news li .date {
    font-weight: bold;
  }
}

/** #news */
#stamprally,
#train,
#ticket,
#headmark,
#panel,
#bnrs {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#stamprally.section,
#train.section,
#ticket.section,
#headmark.section,
#panel.section,
#bnrs.section {
  margin: 30px auto;
  padding: 30px 0 0 0;
  border-top: dotted 1px #ddd;
}

#stamprally.section:first-of-type,
#train.section:first-of-type,
#ticket.section:first-of-type,
#headmark.section:first-of-type,
#panel.section:first-of-type,
#bnrs.section:first-of-type {
  border-top: none;
}

#stamprally .thumb,
#train .thumb,
#ticket .thumb,
#headmark .thumb,
#panel .thumb,
#bnrs .thumb {
  width: 350px;
}

#stamprally .context,
#train .context,
#ticket .context,
#headmark .context,
#panel .context,
#bnrs .context {
  width: 320px;
}

#stamprally .context p,
#train .context p,
#ticket .context p,
#headmark .context p,
#panel .context p,
#bnrs .context p {
  font-size: 1.08em;
  line-height: 1.7;
}

#stamprally .headline,
#train .headline,
#ticket .headline,
#headmark .headline,
#panel .headline,
#bnrs .headline {
  padding: .5em 1em .5em 1em;
  font-size: 24px;
  font-weight: bold;
  color: #1a9fe3;
  background: url("../i/title-bg.png") no-repeat left center;
  margin-bottom: .5em;
  text-align: center;
}

#stamprally .btnWrap,
#train .btnWrap,
#ticket .btnWrap,
#headmark .btnWrap,
#panel .btnWrap,
#bnrs .btnWrap {
  margin-top: 2em;
}

#stamprally .btnWrap a.btn,
#stamprally .btnWrap ._btn,
#train .btnWrap a.btn,
#train .btnWrap ._btn,
#ticket .btnWrap a.btn,
#ticket .btnWrap ._btn,
#headmark .btnWrap a.btn,
#headmark .btnWrap ._btn,
#panel .btnWrap a.btn,
#panel .btnWrap ._btn,
#bnrs .btnWrap a.btn,
#bnrs .btnWrap ._btn {
  position: relative;
  display: block;
  background: #1a9fe3;
  color: #FFF;
  font-weight: bold;
  padding: 1em;
  border-radius: .3em;
  text-align: center;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 1px;
}

#stamprally .btnWrap a.btn::after,
#stamprally .btnWrap ._btn::after,
#train .btnWrap a.btn::after,
#train .btnWrap ._btn::after,
#ticket .btnWrap a.btn::after,
#ticket .btnWrap ._btn::after,
#headmark .btnWrap a.btn::after,
#headmark .btnWrap ._btn::after,
#panel .btnWrap a.btn::after,
#panel .btnWrap ._btn::after,
#bnrs .btnWrap a.btn::after,
#bnrs .btnWrap ._btn::after {
  display: block;
  width: .5em;
  height: .5em;
  position: absolute;
  right: 1em;
  top: calc(50% - .3em);
  content: "";
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}

#stamprally .btnWrap a.btn:hover,
#stamprally .btnWrap ._btn:hover,
#train .btnWrap a.btn:hover,
#train .btnWrap ._btn:hover,
#ticket .btnWrap a.btn:hover,
#ticket .btnWrap ._btn:hover,
#headmark .btnWrap a.btn:hover,
#headmark .btnWrap ._btn:hover,
#panel .btnWrap a.btn:hover,
#panel .btnWrap ._btn:hover,
#bnrs .btnWrap a.btn:hover,
#bnrs .btnWrap ._btn:hover {
  text-decoration: none;
  opacity: .85;
  box-shadow: none;
}

@media screen and (max-width: 767px) {
  #stamprally,
  #train,
  #ticket,
  #headmark,
  #panel,
  #bnrs {
    position: relative;
    display: flex;
    flex-direction: column !important;
  }
  #stamprally.section,
  #train.section,
  #ticket.section,
  #headmark.section,
  #panel.section,
  #bnrs.section {
    margin: 48px auto 0;
    padding: 48px 0 0 0;
  }
  #stamprally .thumb,
  #train .thumb,
  #ticket .thumb,
  #headmark .thumb,
  #panel .thumb,
  #bnrs .thumb {
    display: block;
    width: 100%;
    margin: 0 auto 1em;
    text-align: center;
  }
  #stamprally .context,
  #train .context,
  #ticket .context,
  #headmark .context,
  #panel .context,
  #bnrs .context {
    width: 100%;
  }
  #stamprally .headline,
  #train .headline,
  #ticket .headline,
  #headmark .headline,
  #panel .headline,
  #bnrs .headline {
    margin-bottom: .5em;
    text-align: center;
    font-size: 21px;
  }
}

#stamprally {
  flex-direction: row;
}

/** #headmark */
#train {
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  #train.section {
    border-top: none;
    margin-top: 0;
  }
  #train .thumb {
    text-align: right;
    margin-right: -20px;
  }
  #train .thumb img {
    width: 100%;
  }
  #train .context {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}

/** #train */
#ticket {
  flex-direction: row;
}

/** #headmark */
#headmark {
  flex-direction: row-reverse;
}

/** #headmark */
#panel {
  flex-direction: row-reverse;
}

/** #panel */
#event {
  position: relative;
  background: #EBF7FE;
  color: #1a9fe3;
  border-radius: 1em;
  margin-top: 30px;
}

#event:before {
  z-index: 9;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 36%;
  height: auto;
  padding-top: 45%;
  background: url("../i/flag-l.png") no-repeat left top;
  background-size: 100%;
}

#event:after {
  z-index: 9;
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 36%;
  display: block;
  padding-top: 45%;
  background: url("../i/flag-r.png") no-repeat right top;
  background-size: 100%;
}

#event .headline {
  position: relative;
  text-align: center;
  padding: 1.5em 0;
}

#event .headline .en {
  display: block;
  font-size: 3em;
}

#event .headline .jp {
  display: block;
}

#event .context {
  position: relative;
  width: 660px;
  margin: auto;
  z-index: 10;
}

#event .events {
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  padding-bottom: 24px;
}

#event .events li {
  box-sizing: border-box;
  width: 48%;
  background: #EBF7FE;
}

#event .events li:nth-of-type(n+3) {
  margin-top: 1em;
}

#event .events li a {
  display: block;
  color: #1a9fe3;
}

#event .events li a:hover {
  text-decoration: none;
  opacity: .6;
}

#event .events li .description {
  color: #333;
  line-height: 1.7;
  font-feature-settings: "palt";
}

#event .events h3.title {
  /** font-weight: bold; */
  margin: .5em auto;
  font-size: 1.231em;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: .07em;
}

@media screen and (max-width: 767px) {
  #event {
    margin-left: -20px;
    margin-right: -20px;
    background-size: 100%;
    border-radius: 0;
  }
  #event:before, #event:after {
    width: 46%;
  }
  #event .headline {
    padding-top: 30px;
  }
  #event .context {
    width: 100%;
  }
  #event .events {
    flex-direction: column;
    margin: 0 20px;
    padding-bottom: 48px;
  }
  #event .events li {
    width: 100%;
  }
  #event .events li:nth-of-type(n+2) {
    border-top: dotted 1px #1a9fe3;
    padding-top: 24px;
    margin-top: 24px;
  }
  #event .events .thumb {
    width: 100%;
  }
}

/** #event */
/** 舞台めぐりマップ */
#main .map {
  box-sizing: border-box;
  margin-top: 30px;
  padding: 1em 2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #FFFEEE;
  border-radius: 1em;
}

#main .map .thumb {
  width: 40%;
  text-align: center;
}

#main .map .thumb img {
  width: 100%;
  max-width: 260px;
  margin: auto;
}

#main .map .context {
  width: 54%;
}

#main .map .context p {
  line-height: 1.7;
}

#main .map .headline {
  margin-bottom: 1em;
  font-size: 21px;
  color: #1a9fe3;
  margin: 0 auto 1em;
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: .1em;
  font-weight: bold;
}

#main .map .headline span {
  display: inline-block;
}

#main .map .btn-pdf {
  background: #1a9fe3;
}

@media screen and (max-width: 767px) {
  #main .map {
    flex-direction: column;
    margin-left: -20px;
    margin-right: -20px;
    margin-top: 0;
    padding: 48px 2em;
    border-radius: 0;
  }
  #main .map .thumb,
  #main .map .context {
    width: 100%;
  }
  #main .map .context {
    margin-top: 1em;
  }
  #main .map .headline {
    font-size: 20px;
    font-weight: normal;
  }
}

/** バナー */
#bnrs a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em 2em;
  margin: auto;
  border-radius: 1em;
}

#bnrs a:hover {
  background: #EBF7FE;
  text-decoration: none;
}

#bnrs a img {
  margin-left: 1em;
}

@media screen and (max-width: 767px) {
  #bnrs a {
    flex-direction: column;
  }
}
