@charset "utf-8";

/*-----------------------------------------------------
p-ticketlp
-------------------------------------------------------*/

.p-ticketlp-lead {
  position:relative;
  text-align: center;
  margin-top: 70px;
}
.p-ticketlp-lead__img {
  text-align: center;
  margin-top: 50px;
}
.p-ticketlp-lead__bg {
  position: absolute;
  content: '';
  width: 120%;
  left: -10%;
  height: 100%;
  background-image: url(/images/campaign/present01/p-ticketlp-lead__bg.png);
  background-position: center top;
  background-repeat: no-repeat;
}
.p-ticketlp-lead__text {
  display: inline-block;
  text-align: left;
  font-size: 14px;
  margin-top: 15px;
  max-width: 500px;
}
.p-ticketlp-pref {
  margin-top: 50px;
  background-size: auto auto;
  background-color: rgba(108, 157, 122, 0.2);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(108, 157, 122, 0.2) 10px, rgba(108, 157, 122, 0.2) 20px );

  padding: 30px;
}
.p-ticketlp-pref__main {
  background-color: rgba(255,255,255,0.7);
  padding: 30px;
}
.p-ticketlp-pref__ttl {
  text-align: center;
  font-size: 18px;
  color: #6C9D7A;
}
.p-ticketlp-pref__dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  margin-top: 15px;
  margin-bottom: -10px;
  
}
.p-ticketlp-pref__dt {
  width: 100px;
  margin-bottom: 10px;
  font-weight: bold;
}
.p-ticketlp-pref__dd {
  width: calc(100% - 100px);
  margin-bottom: 10px;
}

.p-ticketlp-pref__list {
  display: flex;
  flex-wrap: wrap;
  border-left: 1px solid #6C9D7A;
  padding-left: 20px;
}
.p-ticketlp-pref__item {
  width: calc(100% / 6);
  text-align: center;
  position: relative;
}
.p-ticketlp-pref__item::after {
  content: '';
  width: 1px;
  height: 80%;
  top: 10%;
  right: 0%;
  background-color: #CCC;
  position: absolute;
}
.p-ticketlp-pref__link {
  text-decoration: underline !important;
  pointer-events: none;
  color: #CCC !important;
}
.p-ticketlp-pref__link--active {
  pointer-events: auto;
  color: #333 !important;
}
.p-ticketlp-pref__link:hover {
  text-decoration: none;
}

.p-ticketlp-genre {
  margin-top: 70px;
  text-align: center;
}
.p-ticketlp-genre__list {
  display: flex;
  justify-content: center;
  margin: 0 -5px;
  flex-wrap: wrap;
  margin-top: -15px;
}
.p-ticketlp-genre__item {
  padding: 0 5px;
  margin-bottom: 15px;
}
.p-ticketlp-genre__link {
  background-color: #222222;
  color: #FFF !important;
  padding: 7px 10px;
  font-size: 14px;
  border-radius: 5px;
}
.p-ticketlp-genre__link:hover {
  text-decoration: none;
  color: #FFF;
}
.p-ticketlp-genre__item--active .p-ticketlp-genre__link {
  background-color: #6C9D7A;
}
.p-ticketlp-list {
  margin-top: 40px;
}
.p-ticketlp-list__ttl {
  font-weight: bold;
  border-bottom: 1px solid #222222;
  padding-bottom: 5px;
  font-size: 22px !important;
}
.p-ticketlp-list__area:not(:last-child) {
  margin-bottom: 30px;
}
.p-ticketlp-list__main {
  margin-top: 15px;
}
.p-ticketlp-list__item:not(:last-child) {
  margin-bottom: 30px;
}



.p-ticketlp-list__box-tag-1 {
  display: inline-block;
  background-color: #F4F2EF;
  font-size: 11px;
  padding: 1px 15px;
  margin-bottom: 5px;
}
.p-ticketlp-list__shopname {
  font-size: 18px !important;
  margin-bottom: 5px;
  font-weight: bold;
}
.p-ticketlp-list__grid {
  display: flex;
  flex-wrap: wrap;
}



.p-ticketlp-list__grid {
  display: flex;
  flex-wrap: wrap;
  
}
.p-ticketlp-list__grid-sub {
  width: 280px;
}
.p-ticketlp-list__grid-main {
  width: calc(100% - 280px);
  box-sizing: border-box;
  padding-left: 20px;
}

.p-ticketlp-list__price {
  display: table;
  width: 100%;
}
.p-ticketlp-list__subttl-sub {
  display: table-cell;
  width: 100px;
  background-color: #6C9D7A;
  text-align: center;
  color: #FFF;
  font-size: 14px;
  vertical-align: middle;

}
.p-ticketlp-list__subttl-main {
  display: table-cell;
  width: calc(100% - 100px);
  background-color: #F3F7F4;
  font-size: 24px;
  color: #6C9D7A;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
}
.p-ticketlp-list__text {
  font-size: 13px;
  margin-top: 0.7em;
}
.p-ticketlp-list__grid-info {
  margin-top: 10px;
}
.p-ticketlp-list__grid-info-item {
  font-size: 11px;
}
.p-ticketlp-list__grid-info-item:not(:last-child) {
  margin-bottom: 3px;
}
.p-ticketlp-list__box-tag-2 {
  border: 1px solid #87765D;
  padding: 1px 3px;
}

.p-ticketlp-list__btn {
  text-align: center;
  margin-top: 15px;
}
.p-ticketlp-list__btn-link {
  display: inline-block;
  color: #FFF !important;
  padding: 5px 20px;
  font-size: 16px;
  border-radius: 5px;
  min-width: 260px;
  position: relative;

  background-color: #B69A41;
/*  background: #e2d6ae;
  background: -moz-linear-gradient(top,  #e2d6ae 0%, #b69a41 100%);
  background: -webkit-linear-gradient(top,  #e2d6ae 0%,#b69a41 100%);
  background: linear-gradient(to bottom,  #e2d6ae 0%,#b69a41 100%);*/
}
.p-ticketlp-list__btn-link::after {
  content: '';
  width: 10px;
  height: 10px;
  position: absolute;
  top: calc(50% - 5px);
  right: 15px;
  background-image: url(/images/campaign/present01/icon-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-ticketlp-list__btn-link:hover {
  text-decoration: none;
  color: #FFF;
}


.p-ticketlp-list__img {
  max-width: 100%;
  height: auto;
}
.p-ticketlp-list__subttl {
    font-size: 18px;
    color: #6C9D7A;
    font-weight: bold;
    margin-top: 0.7em;
}


.p-ticketlp-lead__img-main {
  max-width: 100%;
}
.p-ticketlp-mv__inner {
  text-align: center;
}
.p-ticketlp-mv__img {
  max-width: 100%;
}



.j-ticketlp-click-sort-target--disable {
  display: none;
/*    animation: fadeOutNone1 0.3s linear 0s forwards, fadeOutNone2 0.0s linear 0s forwards;*/
}

.j-ticketlp-click-sort-target-wrap--disable {
  display: none;
/*    animation: fadeOutNone1 0.3s linear 0s forwards, fadeOutNone2 0.0s linear 0s forwards;*/
}

@keyframes fadeOutNone1 {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes fadeOutNone2 {
  0% {}
  1% { height: 0; margin: 0; }
  100% { height: 0; margin: 0; }
}


.j-ticketlp-click-sort--disable {
    background-color: #6C9D7A;
}

.j-ticketlp-click-pref--disable {
    pointer-events: none;
    color: #CCC !important;
}



.p-ticketlp-form { 
    font-size: 14px;
    padding: 35px 20px 25px 20px;
}

@media only screen and (max-width: 575px) { .p-ticketlp-form .u-container { padding: 0; } }

.p-ticketlp-form__box { background-color: #F8F8F8; border-radius: 20px; padding: 20px; }

.p-ticketlp-form__item:not(:last-child) { 
  margin-bottom: 1.0em; 
}
.p-ticketlp-form__item > label {
    display: block;
}
.p-ticketlp-form__parts-text {
  background-color: #FFF; 
  width: 100%; 
  padding: 0.3em 0.7em; 
  border: 1px solid #C7C7C7; 
  border-radius: 4px;
  width: 100%;
  box-sizing: border-box;
}

.p-ticketlp-form__label-text { display: block; margin-bottom: 0.3em; }

.p-ticketlp-form__link-center { text-align: center; margin-top: 1em; text-decoration: underline; }

.p-ticketlp-form__attention-small-center { color: #7C7C7C; font-size: 10px; line-height: 1em; margin-top: 1em; }

.p-ticketlp-form__parts-agree { text-align: center; margin-top: 1em; font-weight: bold; }



.p-ticketlp-form-btn {
    text-align: center;
    margin-top: 1em;
}
.p-ticketlp-form-btn__wrap {
    display: inline-block;
    position: relative;
}
.p-ticketlp-form-btn__wrap::before {
    content: url(/images/campaign/present01/icon-plane.svg);
    position: absolute;
    right: 30px;
    top: calc(50% - 16px);
}

.p-ticketlp-form__parts-agree input {
  vertical-align: initial;
}


input:disabled.p-ticketlp-form-btn__main {
    background-color: #777777;
}
.p-ticketlp-form-btn__main {
    display: inline-block;
    background-color: #00214D;
    color: #FFF;
    font-size: 11px;
    border-radius: 20px;
    padding: 0.5em 2.0em 0.4em 2.0em;
    min-width: 250px;
    border:none;
    cursor: pointer;
}
.p-ticketlp-form-btn__main:disabled {
    cursor: inherit;
}
.p-ticketlp-form {
    margin-top: 50px;
    background-color: #F3F7F4;
    padding: 30px;
    box-sizing: border-box;
    border-radius: 5px;
}
.p-ticketlp-form__under-text {
    margin-top: 0.2em;
    font-size: 11px !important;
    color: #7C7C7C !important;
    margin-bottom: -1em;
    padding-left:1.2em;
    text-indent:-1.2em;
}


.p-ticketlp-privacy { position: relative; }

.p-ticketlp-privacy__box { border: 1px solid #C7C7C7; border-radius: 10px; padding: 15px; }

.p-ticketlp-privacy__ttl { font-size: 16px; font-weight: bold; text-align: center; margin-bottom: 15px; }

.p-ticketlp-privacy__head-list { text-align: right; margin-bottom: 15px; }

.p-ticketlp-privacy__box #policy_list dt { margin-top: 10px; }

.p-ticketlp-privacy__box #contact { padding: 5px 0 0 10px; border-left: #d7d2cf 2px solid; }

.p-ticketlp-privacy__box #policy_list { margin-top: 15px; }

.p-ticketlp-privacy__box #policy_list h3 { font-weight: bold; border-bottom: #d7d2cf 1px dotted; font-size: 16px; }


.p-ticketlp-privacy-btn {
  text-align: center;
  margin-top: 1em;
}
.p-ticketlp-privacy-btn__wrap {
  display: inline-block;
  position: relative;
}
.p-ticketlp-privacy-btn__main {
  display: inline-block;
  background-color: #00214D;
  color: #FFF;
  font-size: 11px;
  border-radius: 20px;
  padding: 0.5em 2.0em 0.4em 2.0em;
  min-width: 250px;
  border: none;
  cursor: pointer;
}
input:not(:disabled).p-ticketlp-privacy-btn__main:hover {
  opacity: 0.7;
}



.p-ticketlp-privacy {
  display: none;
  font-size: 14px;
}


.p-ticketlp-howto {
  margin-top: 30px;
  font-size: 20px;
}
.p-ticketlp-howto__block {
  border: 2px solid #222222;
  padding: 40px 30px 24px 30px;
  position:relative;
  margin: 0 auto;
}
.p-ticketlp-howto__ttl {
  position: absolute;
  background-color: #222;
  color: #FFF !important;
  font-weight: bold;
  padding: 2px 15px;
  top: -20px;
}

.p-ticketlp-howto__list {
  display: flex;
  margin: 0 -15px;
}
.p-ticketlp-howto__item {
  border: 1px solid #222;
  margin: 0 10px;
  padding: 10px;
  line-height: 1.5;
  font-size: 85%;
  font-weight: bold;
  width: calc(100% / 3);
}


.p-ticketlp-form__ttl {
  text-align: center;
  font-size: 20px;
  margin-bottom: 1em
}
.p-ticketlp-form__ttl > span {
  display: inline-block;
  position: relative;
}
.p-ticketlp-form__ttl > span::after {
  content: '';
  height: 3px;
  width: 50px;
  background-color: #6C9D7A;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -5px;
}
.p-ticketlp-howto__attention {
  font-size: 12px;
  margin: 0 auto;
  margin-top: 1em;
}




.p-ticketlp-flow {
  margin-top: 50px;
}
.p-ticketlp-flow__ttl {
  margin-bottom: 40px;
}
.p-ticketlp-flow__ttl {
  text-align: center;
}

.p-ticketlp-flow__list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
.p-ticketlp-flow__item {
  width: calc(100% / 3);
  padding: 0 10px;
  box-sizing: border-box;
}
.p-ticketlp-flow__block {
  border: 3px solid #9DBDA6;
  position: relative;
  height: 100%;
  box-sizing: border-box;
}
.p-ticketlp-flow__block-inner {
  border: 1px solid #9DBDA6;
  margin: 3px;
  padding: 15px;
  height: calc(100% - 6px);
  box-sizing: border-box;
}

.p-ticketlp-flow__num {
  width: 50px;
  height: 50px;
  background-color: #9DBDA6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #FFF;
  position: absolute;
  left: -20px;
  top: -20px;
}

.p-ticketlp-flow__fig {
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-ticketlp-flow__subttl {
  font-size: 15px;
  color: #527A5D;
  font-weight: bold;
  text-align: center;
}
.p-ticketlp-flow__text {
  margin-top: 0.5em;
  font-size: 13px;
}

.p-ticketlp-flow__ttl-img {
  max-width: 100%;
}


.p-ticketlp-flow__item:not(:last-child) > .p-ticketlp-flow__block {
  position: relative;
}
.p-ticketlp-flow__item:not(:last-child) > .p-ticketlp-flow__block::after {
  content: '';
  width: 6px;
  height: 27px;
  background-image: url(/images/campaign/present01/icon-arrow-2.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% - 13px);
  left: calc(100% + 10px);
}

.p-ticketlp-flow__atten-list {
  margin-top: 10px;
  list-style-type: none;
}
.p-ticketlp-flow__atten-item {
  position: relative;
  padding-left: 1.5em;
  font-size: 11px !important;
  color: #7C7C7C !important;
}
.p-ticketlp-flow__atten-item::before {
  position: absolute;
  content: '※';
  left: 0;
}
.p-ticketlp-flow__atten-item:not(:last-child) {
  margin-bottom: 0.5em;
}

.p-ticketlp-form__parts-text::placeholder {
  color: #cccccc im !important;
  font-weight: normal;
}

/* IE */
.p-ticketlp-form__parts-text:-ms-input-placeholder {
  color: #cccccc im !important;
  font-weight: normal;
}

/* Edge */
.p-ticketlp-form__parts-text::-ms-input-placeholder {
  color: #cccccc im !important;
  font-weight: normal;
}

.p-ticketlp-form__item label {
  font-weight: normal;
}
.p-ticketlp-form__label-text {
  font-weight: bold;
}
.p-ticketlp-form__label-text--require::after {
  content: ' ※ 必須';
  font-weight: normal;
  color: red;
  font-size: 90%;
  margin-left: 0.5em;
}


.p-ticketlp-form__regist {
  font-size: 14px;
  margin-top: 15px;
  text-align: center;
/*  padding-left: 1.3em;
  text-indent: -1.3em;*/
}
.p-ticketlp-form__regist-inner {
  display: inline-block;
  text-align: left;
}
.p-ticketlp-form__regist--link {
  position: relative;
  padding-left: 0.3em;
}
.p-ticketlp-form__regist--link:hover {
  text-decoration: none;
}
.p-ticketlp-form__regist--link::after {
  content: '';
  height: 1px;
  width: 80%;
  border-bottom: 2px dashed #333;
  position: absolute;
  left: 15%;
  top: 1.2em;
}
.p-ticketlp-form__regist--link:hover::after {
  display: none;
}


@media (min-width: 992px) {
  .p-ticketlp-lead__text {
      text-align: center;
  }
}
@media (max-width: 991px) {
  .p-ticketlp {
    padding: 0 15px;
/*    margin-top: 70px;*/
  }
  .p-ticketlp-pref {
      margin-top: 30px;
  }
  .p-ticketlp-lead {
      margin-top: 30px;
  }
  .p-ticketlp-flow {
      margin-top: 20px;
  }
  .p-ticketlp-flow__ttl {
      margin-bottom: 30px;
  }
  .p-ticketlp-genre {
      margin-top: 60px;
  }
  .p-ticketlp-list {
      margin-top: 25px;
  }
  .p-ticketlp-list__area {
      position: relative;
  }
  .p-ticketlp-list__pageinlink {
      position: absolute;
      top: -70px;
  }
  .c-ticketlp-none-max-lg {
    display: none;
  }
}

@media (max-width: 767px) {

  .p-ticketlp-pref__dt {
    width: 100%;
    border-left: 2px solid #6C9D7A;
    padding-left: 5px;
  }
  .p-ticketlp-pref__dd {
    width: 100%;
  }
  .p-ticketlp-pref__list {
    border-left: none;
    padding-left: inherit;
  }
  .p-ticketlp-pref__item:first-child::before {
    content: '';
    width: 1px;
    height: 80%;
    top: 10%;
    left: 0%;
    background-color: #CCC;
    position: absolute;
  }
  .p-ticketlp-pref__item {
    width: calc(100% / 5);
    margin-bottom: 5px;
  }
  .p-ticketlp-pref {
    padding: 20px;
  }
  .p-ticketlp-pref__main {
    padding: 20px;
  }
  .p-ticketlp-list__grid-sub {
    width: 150px;
  }
  .p-ticketlp-list__grid-main {
    width: calc(100% - 150px);
  }


  .p-ticketlp-lead__bg {
    width: 100%;
    left: 0;
    background-position: center bottom;
    background-size: contain;
  }
  .p-ticketlp-lead {
    min-height: inherit;
  }
  .p-ticketlp-howto {
    margin-top: 50px;
  }
  .p-ticketlp-genre__item {
    padding: 0 2px;
  }
  .p-ticketlp-list {
    margin-top: 15px;
  }
  .p-ticketlp-lead__img {
    margin-top: 30px;
  }
  .p-ticketlp-howto__ttl {
    padding: 7px 15px;
  }

  .p-ticketlp-flow__list {
      margin: 0 -5px;
  }
  .p-ticketlp-flow__item {
      padding: 0 5px;
  }
  .p-ticketlp-flow__subttl {
      font-size: 13px !important;
  }
  .p-ticketlp-flow__num {
      left: -10px;
      top: -20px;
  }
  .p-ticketlp-flow__text {
      font-size: 12px !important;
  }
  .p-ticketlp-flow__item:not(:last-child) > .p-ticketlp-flow__block::after {
      left: calc(100% + 5px);
  }

}

@media (max-width: 575px) {
  .p-ticketlp-list__grid-sub {
    width: 100%;
  }
  .p-ticketlp-list__grid-main {
    width: 100%;
  }
  .p-ticketlp-list__img {
    width: 100%;
  }
  .p-ticketlp-list__grid-main {
    padding-left: 0;
    margin-top: 15px;
  }
  .p-ticketlp-howto__block {
      padding: 25px 10px 10px 10px;
  }
  .p-ticketlp-howto__list {
      margin: 0 -2.5px;
  }
  .p-ticketlp-howto__item {
      margin: 0 2.5px;
  }
  .p-ticketlp-flow__item {
      width: calc(100% / 1);
  }
  .p-ticketlp-flow__item:not(:last-child) {
      margin-bottom: 20px;
  }
  .p-ticketlp-flow__item:not(:last-child) > .p-ticketlp-flow__block::after {
      position: absolute;
      top: calc(100% + 1px);
      left: calc(50% + 3px);
      transform:rotate(90deg);
  }
}

.p-ticketlp-form__parts-select {
  width: 100%;
  background-color: #FFF;
  padding: 0.3em 0.7em;
  border: 1px solid #C7C7C7;
  border-radius: 4px;
}
.p-ticketlp-form__atten {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 11px !important;
  color: #7C7C7C !important;
  margin-bottom: 0.5em;
}


a[href=""].p-ticketlp-list__grid-sub-link {
  pointer-events: none;
}