@charset "utf-8";
h1{
  font-size: 2.0rem;
  margin: 2rem 0 3rem 0;
}
h2{
  font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',YuGothic,'Yu Gothic',sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 1rem;
  margin-bottom: 25px;
  position: relative;
  padding: 0 0 .5rem 10px;
  border-bottom: 3px solid #000;
}

h2 span {
  font-family: monospace;
  font-size: 4rem;
  position: absolute;
  /* left: 138px; */
  left: 50%;
  transform: translateX(-27px);
  top: -50px;
}
h3{
  font-size: 1.4rem;
  margin-top: 1rem;
}
.ticket-info h3{
  margin: 0;
}
h4{
  font-size: 1.2rem;
  color: rgb(25, 68, 109);
  margin-right: 15px;
  text-align: right;
}
input{
  font-size: 1.6rem;
}
select{
  font-size: 1.4rem;
}
body{
  background-color: rgb(229, 241, 252);
}
.ticket-info{
  height: 170px;
  transition: 0.5s;
  margin: 20px 10px;
  background-color: rgb(142, 196, 247);
  padding: 10px 15px;
  border-radius: 5px;
  position: relative;
}
.ticket-type-number{
  font-weight: bold;
  font-size: 1.2rem;
  position: absolute;
  right: 0;
  top: -.5rem;
  padding: 2px 10px;
  background-color: rgb(142, 196, 247);
  border-radius: 5px;
  color: rgb(25, 68, 109);
}
.plus-minus-icon{
  height: 20px;
}
.more, .less{
  position: absolute;
  font-size: 1.6rem;
  line-height: 20px;
  font-weight: bold;
  z-index: 1;
  padding: 10px 5px;
  width: 150px;
  text-align: center;
  cursor: pointer;
  border-radius: 20px;
}
.more{
  right: 0px;
  background-color: rgb(56, 153, 93);
}
.less{
  left: 0px;
  background-color: rgb(199, 44, 44);
}
.plus-minus-letter{
  filter: invert(95%);
}
.disabled-btn{
  background-color: rgb(192, 192, 192);
  cursor: default;
}
.disabled-btn-letter{
  filter: invert(60%);
}
.container{
  width: 350px;
  margin: 0 auto;
}
.ticket-info-wrapper{
  position: relative;
}
.donate-description{
  padding: 8px 1rem;
  margin-top: 10px;
  border-radius: 5px;
  background-color: rgb(233, 233, 233);
}
.donate-description p{
  font-size: 11px;
}
.user-section, .bank-section, .event-section, .check-section, .created-section, .console-section{
  background-color: rgba(204, 229, 253, 0.8);
  padding: 10px 20px 30px 20px;
  margin-bottom: 30px;
  margin-top: 50px;
}
.bank-section p{
  font-size: 1.4rem;
}
.bank-section input{
  width:50%;
}
.event-section{
  margin-bottom: 30px;
  padding-bottom: 120px;
  position: relative;
}
.ticket-description{
  position: absolute;
  bottom: -8px;
}
.event-title{
  width: 80%;
}
.service-name{
  font-family: 'Times New Roman';
  font-size: 1.2rem;
  position: absolute;
  top: 35px;
}
.top-logo{
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-42px);
  filter: blur(1.5px) invert(80%);
  z-index: -1;
}
.input-wrapper{
  padding: 0 10px
}
.contents{
  margin: 0 10px;
  padding: 10px 10px;
  font-size: 1.2rem;
  background-color: rgb(196, 228, 255);
  border:  rgba(25, 68, 109, 0.4) 2px dashed;
  color: #555;
  position: relative;
}
.ticket-contents{
  margin-bottom: 10px;
}
.ticket-contents, .bank-contents{
  display: flex;
}
.contents-left{
  width: 25%;
  text-align: right;
}
.contents-right{
  width: 75%;
  padding-left: 10px;
}
.inputted{
  color: #000;
}
.check-form h3{
  margin-top: 15px;
}
.donate-list-p{
  width: 25px;
  text-align: right;
  margin: 10px 0 0 10px;
  position: relative;
}
.donate-contents p{
  width: auto;
  text-align: left;
}
.donate-list{
  position: absolute;
  left: 30px;
}
.submit-section{
  padding: 0 20px;
  margin-bottom: 30px;
}
.submit-btn{
  width: 100%;
  height: 50px;
  font-size: 1.8rem;
  border-radius: 25px;
  border: none;
  font-weight: bold;
  color: rgb(240, 240, 240);
  background-color: rgb(71, 160, 243);
  cursor: pointer;
}
.back-btn{
  width: 80px;
  height: 50px;
  font-size: 1.8rem;
  line-height: 1.8rem;
  border-radius: 25px;
  border: none;
  font-weight: bold;
  color: rgb(240, 240, 240);
  background-color: rgb(199, 44, 44);
  cursor: pointer;
}
footer{
  background-color: rgb(121, 171, 212);
  color: #444;
}
.footer-logo{
  margin-top: 10px;
  margin-bottom: 10px;
  filter: invert(20%);
  padding-right: 10px;
}
.footer-mail{
  /* margin-top: -10px; */
  font-size: 1.2rem; 
  text-align: left;
  width: 50%;
  padding-top: 10px;
  padding-left: 10px;
}
.footer-mail a{
  line-height: 54px;
  font-size: 1.4rem;
}
.copyright{
  text-align: center;
  font-size: 0.8rem;
  padding: 10px 0 20px;
  font-family: 'Times New Roman', Times, serif;
}

/* 利用規約ポップアップのcss */
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}
.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
  background-color: rgb(204, 229, 253);
  max-width: 400px;
  padding: 20px 15px;
  z-index: 2;
}
.term-description{
  padding: 0 5px;
  font-size: 1.4rem;
}
.term-box-inner{
  padding: 0 5px;
}
.term-box p{
  font-size: 1rem;
  padding: 5px 0;
}
.term-box li{
  list-style: decimal;
  padding-bottom: 5px;
  font-size: 1rem;
}
.term-box ol{
  /* padding: 5px; */
  margin: 10px;
}
.term-box h4{
  color: #000;
  text-align: left;
  margin-top: 10px;
  font-size: 1.4rem;
}
.agree-btn {
  /* position: absolute;
  right: 0;
  top: 0; */
  margin: 0 auto;
  background-color: rgb(247, 79, 37);
  color: rgb(240, 240, 240);
  width: 200px;
  height: 40px;
  line-height: 40px;
  border-radius: 20px;
  font-size: 1.6rem;
  text-align: center;
  cursor: pointer;
}
/* .agree-btn i {
  font-size: 20px;
  color: #333;
} */
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.8);
  z-index: 1;
  /* cursor: pointer; */
}
.term-box{
  background-color: #fff;
  height: 250px;
  width: 100%;
  overflow: scroll;
  margin: 20px 0;
  padding: 10px;
  border-top: 1px solid #666;
  border-left: 1px solid #666;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

/* 管理画面用のcss */
.message{
  font-size: 1.4rem;
  background-color: #fff;
  margin: 40px 20px -20px 20px;
  padding: 20px 30px;
  border-radius: 5px;
  animation: hopping 2.5s infinite reverse;
}
@keyframes hopping{
  0%{transform: translateY(0px);}
  80%{transform: translateY(0px);}
  84%{transform: translateY(-5.5px);}
  85%{transform: translateY(-7px);}
  86%{transform: translateY(-5.5px);}
  90%{transform: translateY(0px);}
  94%{transform: translateY(-5.5px);}
  95%{transform: translateY(-7px);}
  96%{transform: translateY(-5.5px);}
  100%{transform: translateY(0px);}
}
.created-section input{
  font-size: 1.8rem;
  border-radius: 20px;
  border: none;
  height: 40px;
  padding-left: 43px;
  margin: 10px 0;
  width: 100%;  
}
.login-form div{
  position: relative;
}
.login-form i{
  position: absolute;
  font-size: 1.8rem;
  color: rgb(173, 173, 173);
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
}
.created-section p{
  font-size: 1.4rem;
  height: 5rem;
}
p input.stock-input {
  height: 2.2rem;
}
.apply-link ,.request-link{
  /* border-radius: 4px; */
  border: #000 solid 1px;
  /* background-color: rgb(213, 213, 213); */
  margin: 0 auto;
  width: 80%;
  display: block;
  text-align: center;
  font-weight: bold;
  padding: 5px 10px;
  position: relative;
  margin-bottom: 10px;
}
.corner-triangle{
  position: absolute;
  bottom: 2px;
  right: 2px;
  border-width: 10px 10px 0 0;
  border-color:  transparent #000 transparent transparent;
  border-style: solid;
}
.created-section h3{
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 1.6rem;
  background-color: rgb(178, 216, 247);
  display: inline-block;
  padding: 0 10px;
  border-radius: 15px;
}
.procedure-notice{
  background-color: rgb(206, 222, 237);
  margin: 20px 0 ;
  padding: 10px 20px;
  border-radius: 5px;
}
.procedure-notice p{
  font-size: 1.2rem;
}
.procedure-description p, .ticket-description p{
  margin: 10px 30px 25px;
  font-size: 1.0rem;
  color: #555;
}