@charset "utf-8";
/* ==========================================================================
 Foundation
========================================================================== */
p,
h1,
h2,
h3,
dl,
dd {
  margin: 0;
}
button {
  padding: 0;
  border: none;
}
button:focus {
  outline: none;
}
button:hover {
  cursor: pointer;
}
body {
  margin: 0;
}
ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
em {
  font-style: normal;
}
img {
  vertical-align: top;
}
@font-face {
  font-family: 'alte Din';
  src: url("../font/Alte DIN 1451 Mittelschrift gepraegt Regular/Alte DIN 1451 Mittelschrift gepraegt Regular.ttf");
}
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  -webkit-text-size-adjust: 100%;
  color: #333;
}
body.is-fixed {
  position: fixed;
}
a {
  cursor: pointer;
  text-decoration: none;
}
table {
  border-collapse: collapse;
}
dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
ul {
  list-style: none;
}
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: $clr-white;
}
select::-ms-expand {
  display: none;
}
.selectMain__placeholder {
  display: none;
}
.item--pc {
  display: none;
}
@media screen and (min-width: 769px) {
  .item--pc {
    display: block;
  }
}
.item--sp {
  display: block;
}
@media screen and (min-width: 769px) {
  .item--sp {
    display: none;
  }
}
/* ==========================================================================
 Layout
========================================================================== */
/* ==========================================================================
 Object
========================================================================== */
/* -----------------------------------------------------------------
 Component
----------------------------------------------------------------- */
.c-buttonPrimary {
  width: 386px;
  height: 58px;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  border: none;
  background: $clr-btn-submit;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, .25);
          box-shadow: 0 0 30px rgba(0, 0, 0, .25);
  border: 3px solid #d43a1b;
  font-size: 18px;
  -webkit-appearance: none;
  width: 100%;
  border-radius: 50px;
}
.formSection .c-buttonPrimary {
  margin-top: 10px;
}
.c-buttonPrimaryAfter {
  position: relative;
  width: 386px;
  margin: 0 auto;
}
.c-buttonPrimary--mini:before {
  content: '';
  background-image: url("../img/icon.png");
}
.c-buttonPrimary--mini,
.c-buttonPrimary--mini--banner {
  width: 260px;
  height: 50px;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  background: $clr-btn-submit;
  -webkit-box-shadow: 0 3px 0 $clr-btn-shadow;
          box-shadow: 0 3px 0 $clr-btn-shadow;
  font-size: 18px;
  text-decoration: none;
  border-radius: 50px;
}
.c-buttonPrimary--large {
  width: 33%;
  height: 60px;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  background: $clr-btn-submit;
  font-size: 22px;
  margin-top: 25px;
  text-decoration: none;
  border-radius: 50px;
  border: 3px solid #d43a1b;
}
.c-buttonPrimary--large__ico {
  width: 47px;
  margin-right: 20px;
}
.c-buttonIcon {
  width: 20px;
  margin-left: 10px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.c-buttonIcon--submit {
  width: 20px;
  margin-left: 10px;
}
.c-buttonTxt {
  color: #fff;
}
.c-buttonSecondary {
  width: 260px;
  height: 60px;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  text-decoration: none;
  background: $clr-btn-secondary;
  -webkit-box-shadow: 0 3px 0 $clr-btn-secondShadow;
          box-shadow: 0 3px 0 $clr-btn-secondShadow;
  font-size: 18px;
}
.c-buttonSecondary--mini {
  width: 100%;
  height: 102px;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  text-decoration: none;
  background: $clr-btn-secondary;
  -webkit-box-shadow: 0 3px 0 $clr-btn-secondShadow;
          box-shadow: 0 3px 0 $clr-btn-secondShadow;
}
.c-buttonSecondary--mini__ico {
  width: 36px;
}
.c-buttonTertiary {
  width: 260px;
  height: 60px;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  background: $clr-btn-tertiary;
  -webkit-box-shadow: 0 3px 0 $clr-btn-tertiaryShadow;
          box-shadow: 0 3px 0 $clr-btn-tertiaryShadow;
  font-size: 18px;
  text-decoration: none;
}
.c-buttonTertiary--mini {
  width: 100%;
  height: 102px;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  text-decoration: none;
  background: $clr-btn-tertiary;
  -webkit-box-shadow: 0 3px 0 $clr-btn-tertiaryShadow;
          box-shadow: 0 3px 0 $clr-btn-tertiaryShadow;
  font-size: 22px;
}
.c-buttonTertiary--mini__ico {
  width: 33px;
  margin-right: 5px;
}
.c-buttonPrimaryRec,
.c-buttonTxtSp {
  display: none;
}
.c-buttonCancel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 460px;
  height: 50px;
  margin-top: 25px;
  margin-right: auto;
  margin-left: auto;
  background: #f7f7f7;
  border-radius: 6px;
  color: #808080;
  text-align: center;
  font-size: 15px;
}
@media screen and (max-width: $break-point-sp) {
  .c-buttonCancel {
    width: 100%;
    max-width: 200px;
    height: 25px;
    font-size: 10px;
  }
}
@media screen and (max-width: 1060px) {
  .c-buttonPrimary--large__subtxt {
    display: none;
  }
  .c-buttonSecondary--mini {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-buttonTertiary--mini {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-buttonPrimary--large__txt {
    font-size: 18px;
  }
}
@media screen and (max-width: $break-point-sp) {
  .c-buttonPrimary--large {
    width: 100%;
  }
  .c-buttonPrimaryAfter {
    width: 100%;
  }
  .c-buttonPrimary {
    position: relative;
    max-width: 340px;
    width: 100%;
    height: 60px;
    font-size: 17px;
  }
  .c-buttonPrimary--mini {
    width: 60px;
    height: 50px;
  }
  .c-buttonPrimary--mini--banner {
    height: 80px;
    width: 50%;
    border-radius: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 10px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .c-buttonSecondary {
    height: 80px;
    width: 50%;
    border-radius: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 10px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .c-buttonTertiary {
    height: 80px;
    width: 50%;
    border-radius: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 10px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .c-buttonPrimaryRec {
    height: 80px;
    width: 50%;
    border-radius: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 10px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    display: block;
    background: $clr-theme-font;
    color: #fff;
    text-align: center;
    text-decoration: none;
  }
  .c-buttonPrimaryRec__icon {
    width: 25px;
    color: #fff;
    margin-top: 22px;
    vertical-align: baseline;
  }
  .c-buttonPrimaryRec__txt {
    color: #fff;
    font-size: 10px;
    line-height: 1;
    margin-top: 8px;
  }
  .c-buttonIcon {
    width: 25px;
  }
  .c-buttonTxt {
    margin-top: 8px;
  }
  .c-buttonTxtSp {
    display: inline;
    margin-top: 8px;
    color: #fff;
  }
}
.formRow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  padding: 10px 0;
}
.formRow:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 40px;
}
.formRow--select {
  padding: 15px 0;
}
.formRow--select:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 30px;
}
.formRow__que {
  height: auto;
  width: 100%;
  max-width: 507px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.formRow__que--secondary {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.formRow__que__main {
  font-size: 20px;
  text-align: left;
  font-weight: normal;
}
.formRow__que__main--secondary {
  margin-left: 15px;
  font-size: 20px;
}
._formRow__que__label,
.formRow__que__label--required,
.formRow__que__label--any {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 40px;
  height: 21px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 6px;
  color: $clr-white;
  border: none;
  font-size: 12px;
}
.formRow__que__label--required {
  background: #f97d7d;
}
.formRow__que__label--any {
  background: $clr-any;
}
.formRow__ans {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 10px;
  width: 100%;
  min-width: 504px;
}
.formRow__ans--select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.formRow__que__annotation {
  color: #808080;
}
._inputBase,
.inputMain,
.inputSecondary,
._selectBase,
.selectMain,
.selectSecondary,
.selectTertiary {
  height: 50px;
  padding: 0 19px;
  border-radius: 3px;
  border: 1px solid $clr-border;
  font-size: 16px;
}
._inputBase::-webkit-input-placeholder,
.inputMain::-webkit-input-placeholder,
.inputSecondary::-webkit-input-placeholder,
._selectBase::-webkit-input-placeholder,
.selectMain::-webkit-input-placeholder,
.selectSecondary::-webkit-input-placeholder,
.selectTertiary::-webkit-input-placeholder {
  color: $clr-place;
}
._inputBase::-moz-placeholder,
.inputMain::-moz-placeholder,
.inputSecondary::-moz-placeholder,
._selectBase::-moz-placeholder,
.selectMain::-moz-placeholder,
.selectSecondary::-moz-placeholder,
.selectTertiary::-moz-placeholder {
  color: $clr-place;
}
._inputBase::-ms-input-placeholder,
.inputMain::-ms-input-placeholder,
.inputSecondary::-ms-input-placeholder,
._selectBase::-ms-input-placeholder,
.selectMain::-ms-input-placeholder,
.selectSecondary::-ms-input-placeholder,
.selectTertiary::-ms-input-placeholder {
  color: $clr-place;
}
._inputBase::placeholder,
.inputMain::placeholder,
.inputSecondary::placeholder,
._selectBase::placeholder,
.selectMain::placeholder,
.selectSecondary::placeholder,
.selectTertiary::placeholder {
  color: $clr-place;
}
.inputMain {
  width: 100%;
}
.inputSecondary {
  width: 162px;
}
.selectMain {
  width: 100%;
}
._selectBoxBase,
.selectBox,
.selectBox--short {
  position: relative;
}
._selectBoxBase:after,
.selectBox:after,
.selectBox--short:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 11px solid $clr-triangle;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
}
.selectBox {
  width: 100%;
}
.selectBox:after {
  right: 25px;
}
.selectBox--short:after {
  right: 14px;
}
.selectSecondary {
  width: 140px;
}
.selectTertiary {
  width: 70px;
}
.formRow__ans__chara {
  display: inline-block;
  font-weight: bold;
  height: 23px;
  margin: 0 28.6px 0 12px;
}
.radioSet {
  margin-right: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.radioSet__button {
  margin-right: 15px;
}
.textareaMain {
  width: 100%;
  height: 100px;
  padding: 10px;
  border: 1px solid $clr-border;
  border-radius: 3px;
  font-size: 16px;
}
.textareaMain::-webkit-input-placeholder {
  font-size: 16px;
  color: $clr-any;
}
.textareaMain::-moz-placeholder {
  font-size: 16px;
  color: $clr-any;
}
.textareaMain::-ms-input-placeholder {
  font-size: 16px;
  color: $clr-any;
}
.textareaMain::placeholder {
  font-size: 16px;
  color: $clr-any;
}
.formErrorTxt {
  color: $clr-err;
  margin-left: 10px;
  display: none;
}
.form__caution {
  margin-top: 45px;
  font-size: 16px;
}
.formSection__info {
  margin-top: 10px;
}
.formSection__info__head {
  font-size: 12px;
  font-weight: bold;
}
.formSection__info__txt {
  font-size: 12px;
  margin-top: 8px;
}
@media screen and (max-width: 960px) {
  .formRow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 0 21.5px;
    margin-bottom: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
  }
  .formRow:last-of-type {
    padding-bottom: 50px;
    margin-bottom: 0;
  }
  .formRowfirst-of-type {
    padding-top: 0;
  }
  .formRow__que {
    margin-top: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 17px;
  }
  .formRow__ans {
    max-width: none;
    padding: 0 17px;
    margin-top: 12.5px;
    min-width: 0;
  }
  .formRow__que__main {
    margin-left: 15px;
    font-weight: bold;
  }
  .formRow__que__main--secondary {
    margin-left: 0px;
    margin-right: 15px;
    width: 80%;
    text-align: left;
    font-size: 14px;
  }
}
@media screen and (max-width: $break-point-sp) {
  .formRow__que__label--required {
    width: 40px;
    height: 20px;
    font-size: 12px;
    line-height: 20px;
  }
  .formRow__que__label--any {
    width: 45px;
    height: 20px;
    font-size: 10px;
    line-height: 20px;
  }
  .formRow__que__main {
    font-size: 14px;
    margin-left: 0;
    margin-right: 15px;
    font-weight: bold;
  }
  .formRow__ans {
    max-width: none;
    padding: 0 17px;
    margin-top: 12.5px;
    min-width: 0;
  }
  .formRow__ans__chara {
    margin: 0 17px 0 5px;
  }
  .formRow__ans__chara:last-of-type {
    margin-right: 0;
  }
  .inputMain,
  .inputSecondary,
  ._selectBase,
  .selectMain {
    font-size: 14px;
  }
  .inputSecondary {
    width: 100%;
  }
  .selectSecondary {
    width: 97px;
  }
  .selectTertiary {
    width: 55.5px;
  }
  .radioSet {
    margin-right: 0;
    font-size: 16px;
  }
  .radioSet:first-of-type {
    margin: 0 130px 5px 0;
  }
  .radioSet__button {
    margin-right: 15px;
  }
  .textareaMain {
    height: 188.8px;
  }
  .formRow__que--secondary {
    width: 100%;
    width: 100%;
    height: auto;
    margin: 10px auto;
    padding: 0 27px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .formRow__que__annotation {
    font-size: 12px;
  }
}
/* -----------------------------------------------------------------
 Project
----------------------------------------------------------------- */
@media screen and (max-width: 1000px) {
  .Nav .navbtn a,
  .Nav .navbtn a.close {
    border: none;
  }
}
.semiorder .copyrights {
  width: 100%;
}
.ticket {
  line-height: 1.5 !important;
  margin-top: 25%;
}
@media screen and (min-width: 769px) {
  .ticket {
    margin-top: 0;
  }
}
.ticket a:link {
  color: #fff;
}
.ticketMv {
  background-image: url("../img/ticket/mv_bg_sp.png");
  background-size: cover;
  padding: 80px 0 150px;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .ticketMv {
    background-image: url("../img/ticket/mv_bg_pc.png");
    padding: 100px 0 180px;
  }
}
.ticketMv__inner {
  padding: 60px 0 0 30px;
  text-align: left;
}
@media screen and (min-width: 769px) {
  .ticketMv__inner {
    max-width: 1200px;
    margin: auto;
    position: relative;
  }
  .ticketMv__inner:before {
    content: "";
    position: absolute;
    width: 1px;
    height: 587px;
    background: #fff;
    left: 0;
    top: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(86%, #fff), color-stop(0, #221f4f), to(#221f4f));
    background: linear-gradient(180deg, #fff, #fff 86%, #221f4f 0, #221f4f);
  }
}
.ticketMv__head {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .ticketMv__head {
    font-size: 30px;
  }
}
.ticketMv__headimg {
  display: block;
  width: 222px;
}
@media screen and (min-width: 769px) {
  .ticketMv__headimg {
    width: 322px;
  }
}
.ticketMv__title {
  font-size: 32px;
  color: #fff;
  font-weight: bold;
  position: relative;
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  .ticketMv__title {
    display: block;
    font-size: 50px;
    margin-top: 15px;
  }
}
.ticketMv__title img {
  width: 32px;
  display: inline-block;
  margin: 12px 0 0 8px;
}
@media screen and (min-width: 769px) {
  .ticketMv__title img {
    margin: 15px 0 0 10px;
    width: 60px;
  }
}
.ticketMv__foot {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .ticketMv__foot {
    margin-top: 30px;
    font-size: 30px;
  }
}
.ticketMv__ticket {
  position: absolute;
  width: 100%;
  max-width: 300px;
  left: 10px;
  bottom: -43px;
}
@media screen and (min-width: 769px) {
  .ticketMv__ticket {
    max-width: 620px;
    right: 0px;
    left: auto;
    bottom: -280px;
  }
}
.ticketAbout,
.ticketAbout--r {
  background-image: url("../img/ticket/about_bg_sp.png");
  background-size: cover;
  padding: 70px 0 45px;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketAbout,
  .ticketAbout--r {
    background-image: url("../img/ticket/about_bg_pc.png");
    padding: 140px 0 110px;
  }
}
@media screen and (min-width: 769px) {
  .ticketAbout--r .ticketAbout__img {
    right: auto;
    left: 0;
  }
  .ticketAbout--r .ticketAbout__title,
  .ticketAbout--r .ticketAbout__head,
  .ticketAbout--r .ticketAbout__desc {
    margin-left: auto;
  }
  .ticketAbout--r .ticketAbout__desc {
    width: 580px;
  }
}
.ticketAbout__inner {
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .ticketAbout__inner {
    max-width: 1000px;
    margin: auto;
  }
}
.ticketAbout__title {
  font-size: 23px;
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketAbout__title {
    width: 580px;
    font-size: 36px;
    text-align: left;
  }
}
.ticketAbout__title img {
  position: absolute;
  width: 100%;
  left: 0;
}
.ticketAbout__title img:first-of-type {
  top: -15px;
}
.ticketAbout__title img:last-of-type {
  bottom: -15px;
}
.ticketAbout__title span {
  display: none;
}
@media screen and (min-width: 769px) {
  .ticketAbout__title span {
    display: inline;
  }
}
.ticketAbout__head {
  text-align: left;
  font-size: 20px;
  font-weight: bold;
  margin-top: 30px;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .ticketAbout__head {
    font-size: 24px;
    margin-top: 50px;
  }
}
.ticketAbout__img {
  width: 100%;
  margin-top: 40px;
  display: block;
}
@media screen and (min-width: 769px) {
  .ticketAbout__img {
    position: absolute;
    top: 15%;
    right: 0;
    width: 38vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .ticketAbout__img {
    width: 30vw;
  }
}
.ticketAbout__img img {
  width: 100%;
  display: block;
}
.ticketAbout__desc {
  text-align: left;
  font-size: 14px;
  margin-top: 30px;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .ticketAbout__desc {
    width: 540px;
    font-size: 16px;
    margin-top: 60px;
  }
}
.ticketAbout__desc strong {
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(30%, #cdc8f6));
  background: linear-gradient(transparent 60%, #cdc8f6 30%);
}
.ticketAbout__scenes {
  margin-top: 50px;
  border: 2px solid #221f4f;
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketAbout__scenes {
    width: 540px;
  }
  .ticketAbout__scenes:before {
    content: "";
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 14px 14px;
    border-color: transparent transparent #1b4454 transparent;
  }
}
.ticketAbout__scenes__inner {
  border: 1px solid #221f4f;
  margin: 3px 1px;
  padding: 35px 40px 25px;
}
@media screen and (min-width: 769px) {
  .ticketAbout__scenes__inner {
    margin: 3px;
  }
}
.ticketAbout__scenes__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: -20px;
  background: #e8e8ed;
  padding: 0 5px;
  padding-right: 25px;
}
@media screen and (min-width: 769px) {
  .ticketAbout__scenes__head {
    background: #eee;
  }
}
.ticketAbout__scenes__head img {
  width: 123px;
}
@media screen and (max-width: 370px) {
  .ticketAbout__scenes__head img {
    width: 90px;
  }
}
.ticketAbout__scenes__head span {
  color: #333;
  font-size: 16px;
  font-weight: bold;
  margin-left: 25px;
  position: relative;
  margin-top: 7px;
}
.ticketAbout__scenes__head span:before,
.ticketAbout__scenes__head span:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  height: 1px;
  background: #333;
  margin: auto;
}
.ticketAbout__scenes__head span:before {
  left: -15px;
}
.ticketAbout__scenes__head span:after {
  right: -15px;
}
.ticketAbout__scenes__list {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .ticketAbout__scenes__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .ticketAbout__scenes__item {
    margin-right: 60px;
  }
}
.ticketAbout__scenes__item:not(:first-of-type) {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .ticketAbout__scenes__item:not(:first-of-type) {
    margin-top: 0;
  }
}
.ticketAbout__scenes__item:nth-of-type(3) {
  margin-right: 12px;
}
@media screen and (min-width: 769px) {
  .ticketAbout__scenes__item:nth-of-type(3),
  .ticketAbout__scenes__item:nth-of-type(4) {
    margin-top: 20px;
  }
}
.ticketAbout__scenes__item img {
  width: 40px;
  margin-right: 10px;
}
.ticketAbout__scenes__item span {
  border-bottom: 1px solid #333;
  padding-bottom: 3px;
  font-size: 16px;
  color: #333;
}
@media screen and (max-width: 370px) {
  .ticketAbout__scenes__item span {
    font-size: 15px;
  }
}
.ticketCommit {
  padding: 40px 0;
  position: relative;
  text-align: center;
  background-image: url("../img/ticket/commit_bg_pc.png");
  background-size: cover;
}
@media screen and (min-width: 769px) {
  .ticketCommit {
    background-image: url("../img/ticket/commit_bg_pc.png");
    padding: 100px 0 18vw;
  }
}
.ticketCommit__inner {
  margin-top: 55px;
  position: relative;
  text-align: left;
}
.ticketCommit__man {
  width: 100px;
  position: absolute;
  right: 10px;
  top: 0;
}
@media screen and (min-width: 769px) {
  .ticketCommit__man {
    width: 208px;
    right: 80px;
  }
}
.ticketCommit__title {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
  display: inline-block;
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketCommit__title {
    font-size: 36px;
  }
}
.ticketCommit__title .textImg {
  width: 180px;
  display: block;
  margin: auto;
  margin-bottom: 15px;
}
@media screen and (min-width: 769px) {
  .ticketCommit__title .textImg {
    width: 250px;
  }
}
.ticketCommit__title .lineImg {
  position: absolute;
  bottom: -10px;
  left: -10%;
  width: 120%;
}
@media screen and (min-width: 769px) {
  .ticketCommit__title .lineImg {
    max-width: 550px;
    left: 0;
    right: 0;
    bottom: -20px;
    margin: auto;
  }
}
.ticketCommit__arw {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 20px;
  top: 85vw;
  height: 60px;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .ticketCommit__arw {
    top: auto;
    left: auto;
    right: 13%;
    bottom: -120px;
  }
}
.ticketCommit__arw__prev {
  width: 60px;
  height: 60px;
  border: 1px solid #fff;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ticketCommit__arw__prev:hover {
  opacity: 0.7;
}
@media screen and (max-width: 370px) {
  .ticketCommit__arw__prev {
    width: 50px;
    height: 50px;
  }
}
.ticketCommit__arw__prev:before {
  content: "";
  position: absolute;
  left: 0;
  right: -5px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 15px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.ticketCommit__arw__next {
  width: 60px;
  height: 60px;
  border: 1px solid #fff;
  border-radius: 50%;
  position: relative;
  margin-left: 10px;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ticketCommit__arw__next:hover {
  opacity: 0.7;
}
@media screen and (max-width: 370px) {
  .ticketCommit__arw__next {
    width: 50px;
    height: 50px;
  }
}
.ticketCommit__arw__next:before {
  content: "";
  position: absolute;
  left: -8px;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 15px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.ticketCommit__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: calc(85vw + 10px);
  right: 0px;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .ticketCommit__num {
    top: 30px;
    width: 30%;
    right: 14%;
  }
}
@media screen and (max-width: 370px) {
  .ticketCommit__num {
    right: -20px;
  }
}
.ticketCommit__num:before,
.ticketCommit__num:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 1px;
  background: #fff;
}
.ticketCommit__num:before {
  left: 63px;
}
@media screen and (min-width: 769px) {
  .ticketCommit__num:before {
    left: 73px;
  }
}
.ticketCommit__num:after {
  left: 136px;
}
@media screen and (min-width: 769px) {
  .ticketCommit__num:after {
    left: 157px;
  }
}
.ticketCommit__num__item {
  font-size: 14px;
  margin: 0 17px;
  letter-spacing: 3px;
  width: 40px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .ticketCommit__num__item {
    font-size: 18px;
    width: 50px;
  }
}
.ticketCommit__num__item.active {
  font-size: 30px;
}
@media screen and (min-width: 769px) {
  .ticketCommit__num__item.active {
    font-size: 40px;
  }
}
@media screen and (min-width: 769px) {
  .ticketCommit__list {
    position: relative;
  }
}
@media screen and (min-width: 769px) {
  .ticketCommit__list__line {
    position: absolute;
    right: 46%;
    top: 40px;
    width: 1px;
    height: 470px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(33%, #fff), color-stop(33%, #7c7c7c), to(#7c7c7c));
    background: linear-gradient(180deg, #fff 0%, #fff 33%, #7c7c7c 33%, #7c7c7c 100%);
  }
}
.ticketCommit__item {
  display: none;
  color: #fff;
}
.ticketCommit__item.active {
  display: block;
}
.ticketCommit__item__box {
  margin: 120px 20px 0;
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketCommit__item__box {
    margin: 80px 0 0;
    height: 380px;
  }
}
@media screen and (max-width: 370px) {
  .ticketCommit__item__box {
    height: 250px;
  }
}
@media screen and (min-width: 500px) and (max-width: 768px) {
  .ticketCommit__item__box {
    margin: 180px 20px 0;
  }
}
.ticketCommit__item__img {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .ticketCommit__item__img {
    position: absolute;
    left: 0;
    width: 50%;
  }
}
.ticketCommit__item__title {
  font-size: 22px;
  font-weight: bold;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .ticketCommit__item__title {
    width: 30%;
    margin-left: auto;
    padding-top: 100px;
    font-size: 28px;
    margin-right: 13%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .ticketCommit__item__title {
    margin-right: 0;
    width: 43%;
  }
}
.ticketCommit__item__desc {
  font-size: 14px;
  line-height: 2;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .ticketCommit__item__desc {
    font-size: 16px;
    width: 30%;
    margin-left: auto;
    margin-right: 13%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .ticketCommit__item__desc {
    margin-right: 0;
    width: 43%;
  }
}
.ticketCommit__item__desc a {
  background: #a5934a;
  border-radius: 6px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, .161);
          box-shadow: 0px 3px 6px rgba(0, 0, 0, .161);
  width: 216px;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 20px;
  font-size: 15px;
  font-weight: bold;
  margin-top: 30px;
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ticketCommit__item__desc a:hover {
  opacity: 0.7;
}
.ticketLineup {
  background: #ebeff0;
  text-align: center;
  padding: 40px 0;
}
@media screen and (min-width: 769px) {
  .ticketLineup {
    padding: 80px 0;
  }
}
.ticketLineup__head {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .ticketLineup__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-left: 50px;
    margin-left: 10%;
    text-align: left;
  }
}
.ticketLineup__head__img {
  width: 120px;
}
@media screen and (min-width: 769px) {
  .ticketLineup__head__img {
    width: 177px;
  }
}
.ticketLineup__head__text {
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  .ticketLineup__head__text {
    margin-top: 0;
    margin-left: 20px;
  }
}
.ticketLineup__head__line {
  width: 100%;
  max-width: 330px;
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .ticketLineup__head__line {
    max-width: 550px;
    margin-top: 25px;
    margin-left: 6%;
    margin-right: auto;
    display: block;
  }
}
.ticketLineup__list {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .ticketLineup__list {
    margin-top: 50px;
    margin-left: 0;
  }
}
.ticketLineup__item {
  text-align: center;
  margin: 0 8px;
}
@media screen and (min-width: 769px) {
  .ticketLineup__item {
    margin-right: 47px;
  }
}
.ticketLineup__item__img {
  width: 100%;
}
.ticketLineup__item__head {
  font-size: 22px;
  margin-top: 20px;
}
.ticketLineup__item__text {
  font-size: 14px;
  line-height: 2;
}
.ticketUse {
  background-image: url("../img/ticket/use_bg_sp.png");
  background-size: cover;
  padding: 40px 0 60px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .ticketUse {
    background-image: url("../img/ticket/use_bg_pc.png");
    padding: 80px 0 100px;
  }
}
.ticketUse__inner {
  padding: 0 25px;
}
@media screen and (min-width: 769px) {
  .ticketUse__inner {
    max-width: 1000px;
    margin: auto;
  }
}
.ticketUse__head {
  width: 120px;
  display: block;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .ticketUse__head {
    width: 164px;
  }
}
.ticketUse__title {
  font-size: 20px;
  font-weight: bold;
  color: #221f4f;
  position: relative;
  display: inline-block;
  line-height: 1.6;
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .ticketUse__title {
    font-size: 36px;
    margin-top: 15px;
  }
}
.ticketUse__title .icon {
  position: absolute;
  top: -35px;
  right: 40px;
  width: 45px;
}
@media screen and (min-width: 769px) {
  .ticketUse__title .icon {
    width: 65px;
    top: 5px;
    right: -5px;
  }
}
.ticketUse__title .line {
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 550px;
  margin: auto;
}
.ticketUse__list {
  margin-top: 50px;
}
@media screen and (min-width: 769px) {
  .ticketUse__list {
    margin-top: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.ticketUse__item {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .ticketUse__item {
    width: 32%;
  }
}
.ticketUse__item:not(:first-of-type) {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .ticketUse__item:not(:first-of-type) {
    margin-top: 0;
  }
}
.ticketUse__foot {
  font-size: 16px;
  margin-top: 30px;
  line-height: 2;
}
.ticketUse__foot a {
  color: #221f4f !important;
  text-decoration: underline;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ticketUse__foot a:hover {
  opacity: 0.7;
}
.ticketFlow {
  background-image: url("../img/ticket/flow_bg_sp.png");
  background-size: cover;
  padding: 40px 0 60px;
  text-align: center;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .ticketFlow {
    background-image: url("../img/ticket/flow_bg_pc.png");
    padding: 80px 0;
  }
}
.ticketFlow__inner {
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .ticketFlow__inner {
    max-width: 1040px;
    margin: auto;
  }
}
.ticketFlow__head {
  width: 40px;
}
@media screen and (min-width: 769px) {
  .ticketFlow__head {
    width: 52px;
  }
}
.ticketFlow__title {
  font-size: 24px;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .ticketFlow__title {
    font-size: 36px;
  }
}
.ticketFlow__line {
  width: 100%;
  margin-top: 15px;
  max-width: 550px;
}
.ticketFlow__list {
  margin-top: 30px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketFlow__list {
    margin-top: 55px;
  }
}
.ticketFlow__list:before {
  content: "";
  position: absolute;
  width: 7px;
  height: 150%;
  background: #221f4f;
  left: 20px;
  top: -15px;
}
@media screen and (min-width: 769px) {
  .ticketFlow__list:before {
    left: 0;
    top: -23px;
  }
}
.ticketFlow__item {
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.ticketFlow__item:not(:first-of-type) {
  margin-top: 40px;
}
.ticketFlow__item:last-of-type {
  margin-top: 110px;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item:last-of-type {
    margin-top: 127px;
  }
}
.ticketFlow__item__ribbon {
  position: absolute;
  width: 250px;
  top: -15px;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__ribbon {
    right: auto;
  }
}
.ticketFlow__item__img {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__img {
    width: 50%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.ticketFlow__item__box {
  background: #fff;
  text-align: center;
  padding: 10px 20px 30px;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__box {
    width: 50%;
    text-align: left;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 50px 40px 33px;
  }
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.ticketFlow__item__icon {
  width: 46px;
}
.ticketFlow__item__head {
  font-size: 22px;
  font-weight: bold;
  margin-top: 5px;
  border-bottom: 1px solid #333;
  padding-bottom: 3px;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__head {
    border-bottom: none;
    margin-left: 6px;
    margin-top: 0;
    font-size: 28px;
    white-space: nowrap;
  }
}
.ticketFlow__item__desc {
  text-align: left;
  font-size: 14px;
  line-height: 2;
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__desc {
    font-size: 16px;
    margin-top: 20px;
  }
}
.ticketFlow__item__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  margin-top: 15px;
}
.ticketFlow__item__btn a {
  width: 132px;
  background: #a5934a;
  color: #fff !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  font-size: 14px;
  font-weight: bold;
  height: 60px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .3);
          box-shadow: 0 3px 6px rgba(0, 0, 0, .3);
  border-radius: 6px;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ticketFlow__item__btn a:hover {
  opacity: 0.7;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__btn a {
    margin-left: 0;
  }
}
.ticketFlow__item__btn a img {
  height: 16px;
  width: auto;
}
.ticketFlow__item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  color: #221f4f !important;
  text-decoration: underline;
  margin-top: 25px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ticketFlow__item__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 370px) {
  .ticketFlow__item__link {
    font-size: 14px;
  }
}
.ticketFlow__item__link img {
  width: 16px;
  margin-right: 8px;
}
.ticketFlow__item__foot {
  position: absolute;
  font-size: 22px;
  font-weight: bold;
  bottom: -65px;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__foot {
    font-size: 28px;
    bottom: -80px;
    right: auto;
    left: 60px;
  }
}
.ticketFlow__item__foot span {
  font-size: 16px;
}
@media screen and (min-width: 769px) {
  .ticketFlow__item__foot span {
    font-size: 22px;
  }
}
.ticketCta {
  background-image: url("../img/ticket/commit_bg_pc.png");
  background-size: cover;
  padding: 60px 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .ticketCta {
    background-image: url("../img/ticket/commit_bg_pc.png");
    padding: 100px 0;
  }
}
.ticketCta__inner {
  padding: 0 16px;
}
@media screen and (min-width: 769px) {
  .ticketCta__inner {
    max-width: 1036px;
    margin: auto;
  }
}
.ticketCta__title {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  display: inline-block;
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .ticketCta__title {
    font-size: 36px;
    margin-bottom: 50px;
  }
}
.ticketCta__title img {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: -15px;
}
.ticketCta__item {
  background: #fff;
  padding: 4px;
  position: relative;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .ticketCta__item {
    margin-top: 30px;
    padding: 8px;
  }
}
.ticketCta__item__ribbon {
  position: absolute;
  width: 110px;
  top: 0;
  right: 0;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__ribbon {
    width: 250px;
    z-index: 10;
  }
}
.ticketCta__item__inner {
  border: 1px solid #221f4f;
  text-align: center;
  padding: 40px 15px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__inner {
    padding: 40px;
  }
}
.ticketCta__item__head {
  font-size: 22px;
  font-weight: bold;
  border-bottom: 4px solid #221f4f;
  padding-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__head {
    font-size: 28px;
    border-bottom: none;
    text-align: left;
    position: relative;
    padding-bottom: 0;
    padding-left: 25px;
  }
  .ticketCta__item__head:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 65px;
    background: #221f4f;
  }
}
.ticketCta__item__head span {
  font-size: 14px;
  text-align: center;
  display: block;
  font-weight: normal;
  color: #221f4f;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__head span {
    font-size: 16px;
    text-align: left;
    margin-bottom: 5px;
  }
}
.ticketCta__item__img,
.ticketCta__item__img--sec {
  width: 100%;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__img,
  .ticketCta__item__img--sec {
    position: absolute;
    width: 430px;
    top: 40px;
    right: 40px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .ticketCta__item__img,
  .ticketCta__item__img--sec {
    width: 300px;
    top: 100px;
  }
}
@media screen and (min-width: 769px) {
  .ticketCta__item__img--sec {
    top: 100px;
  }
}
.ticketCta__item__fee {
  font-size: 36px;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__fee {
    text-align: left;
    padding-left: 100px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 370px) {
  .ticketCta__item__fee {
    font-size: 30px;
  }
}
.ticketCta__item__fee span {
  font-size: 22px;
}
.ticketCta__item__btn,
.ticketCta__item__btn--sec {
  background: #a5934a;
  color: #fff !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-weight: bold;
  widtht: 100%;
  max-width: 270px;
  height: 60px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .3);
          box-shadow: 0 3px 6px rgba(0, 0, 0, .3);
  margin: 10px auto 0;
  border-radius: 6px;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ticketCta__item__btn:hover,
.ticketCta__item__btn--sec:hover {
  opacity: 0.7;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__btn,
  .ticketCta__item__btn--sec {
    margin-top: 20px;
    margin-left: 80px;
  }
}
.ticketCta__item__btn img,
.ticketCta__item__btn--sec img {
  width: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
}
.ticketCta__item__btn--sec {
  margin: 30px auto 0;
  background: #221f4f;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__btn--sec {
    margin-left: 25px;
  }
}
.ticketCta__item__desc {
  background: #f7f7f7;
  padding: 20px 15px;
  text-align: left;
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__desc {
    margin-top: 55px;
    padding: 20px;
    padding-right: 50px;
  }
}
.ticketCta__item__desc__head {
  font-size: 15px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__desc__head {
    font-size: 16px;
  }
}
.ticketCta__item__desc__text {
  font-size: 14px;
  margin-top: 5px;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__desc__text {
    font-size: 16px;
    margin-top: 15px;
  }
}
.ticketCta__item__text {
  font-size: 14px;
  text-align: left;
  margin-top: 20px;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .ticketCta__item__text {
    font-size: 16px;
    width: 475px;
    padding-left: 25px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .ticketCta__item__text {
    width: 400px;
  }
}
.ticketBack {
  background-image: url("../img/ticket/back_bg_sp.png");
  background-size: cover;
  padding: 40px 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .ticketBack {
    background-image: url("../img/ticket/back_bg_pc.png");
    padding: 80px 0;
  }
}
.ticketBack__inner {
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .ticketBack__inner {
    max-width: 860px;
    margin: auto;
  }
}
.ticketBack__head {
  line-height: 1;
}
.ticketBack__head img {
  width: 210px;
}
.ticketBack__line {
  width: 100%;
  margin-top: 25px;
}
@media screen and (min-width: 769px) {
  .ticketBack__line {
    max-width: 550px;
    display: block;
    margin: 25px auto 0;
  }
}
.ticketBack__flex {
  margin: 20px 25px 15px;
}
@media screen and (min-width: 769px) {
  .ticketBack__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 40px 0;
  }
}
.ticketBack__img {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .ticketBack__img {
    width: 36%;
  }
}
.ticketBack__box {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .ticketBack__box {
    width: 57%;
    margin-top: 0px;
  }
}
.ticketBack__name {
  font-size: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .ticketBack__name {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 28px;
  }
}
.ticketBack__name span {
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  .ticketBack__name span {
    font-size: 16px;
    margin-left: 10px;
  }
}
.ticketBack__desc {
  font-size: 14px;
  text-align: left;
  color: #fff;
  margin-top: 15px;
  line-height: 2;
}
.ticketRecommend {
  background-image: url("../img/ticket/rec_bg_sp.png");
  background-size: cover;
  padding: 40px 0;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 769px) {
  .ticketRecommend {
    background-image: url("../img/ticket/rec_bg_pc.png");
    padding: 80px 0 60px;
  }
}
@media screen and (min-width: 769px) {
  .ticketRecommend__title {
    max-width: 550px;
    margin: auto;
  }
}
.ticketRecommend__title h2 {
  font-size: 24px;
  font-weight: bold;
  color: #221f4f;
  margin: 10px 0;
}
@media screen and (min-width: 769px) {
  .ticketRecommend__title h2 {
    font-size: 36px;
  }
}
.ticketRecommend__title img:nth-of-type(1) {
  width: 90px;
  display: block;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .ticketRecommend__title img:nth-of-type(1) {
    width: 122px;
  }
}
.ticketRecommend__title img:nth-of-type(2) {
  width: 100%;
  display: block;
}
.ticketRecommend__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .ticketRecommend__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 900px;
    margin: 40px auto 0;
  }
}
@media screen and (min-width: 769px) {
  .ticketRecommend__item {
    width: 33.33333%;
  }
}
.ticketRecommend__item img {
  width: 160px;
  display: block;
  margin: auto;
}
.ticketRecommend__item p {
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  .ticketRecommend__item p {
    font-size: 20px;
  }
}
.ticketRecommend__arw {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 130px solid transparent;
  border-left: 130px solid transparent;
  border-top: 20px solid #403979;
  border-bottom: 0;
  display: block;
  margin: 30px auto 0;
}
@media screen and (min-width: 769px) {
  .ticketRecommend__arw {
    border-right: 340px solid transparent;
    border-left: 340px solid transparent;
    border-top: 50px solid #403979;
  }
}
.ticketRecommend__foot {
  max-width: 320px;
  display: block;
  margin: 20px auto 0;
}
@media screen and (min-width: 769px) {
  .ticketRecommend__foot {
    max-width: 900px;
  }
}
.ticketRecommend__foot img {
  width: 100%;
  display: block;
}
/* -----------------------------------------------------------------
 Utility
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
 Js
----------------------------------------------------------------- */
