@charset "utf-8";
/* HEADER*/
#fade {
  width: 100%;
  height: 100%;
  min-height: 100%;
  background: #FFF;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 99999 !important; /* #loaderより少ない値を入れて下さい */
}
#progressBarWrap {
  width: 150px !important;
  height: 2px;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 999999;
  transform: translate(-50%, -50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  background: #EEE;
}
#progressBar {
  width: 0;
  height: 2px;
  position: fixed;
  background: -moz-linear-gradient(left, #64CDDA, #5EBFE3);
  background: -webkit-linear-gradient(left, #64CDDA, #5EBFE3);
  background: linear-gradient(to right, #64CDDA, #5EBFE3);
  z-index: 99999;
}
#loader {
  width: 23px;
  height: 23px;
  position: fixed;
  _position: absolute; /* IE6対策 */
  top: 50%;
  left: 50%;
  margin-top: -10px; /* heightの半分のマイナス値 */
  margin-left: -10px; /* widthの半分のマイナス値 */
  z-index: 99999; /* #fadeより多い値を入れて下さい */
}
#progressTxt {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  z-index: 99999999; /* #fadeより多い値を入れて下さい */
  font-family: 'Oswald', sans-serif !important;
  font-size: 100px;
  color: #FFF;
  letter-spacing: 3px;
}
body {
  margin: 0;
  background: #f0fdff;
  color: #42210b;
}
img {
  max-width: 100%;
}
header {
  z-index: 999;
}
#header {
  max-width: 640px;
  margin: 0 auto;
  position: relative;
  display: flex;
  justify-content: space-between;
}
p.logo {
  margin: 25px 0 0 0;
  box-sizing: border-box;
  position: relative;
  z-index: 999;
}
p.logo img {
  width: 170px;
}
p.login-btn {
  position: absolute;
  width: 26px;
  top: 20px;
  right: 20px;
  z-index: 9999 !important;
  float: right;
}
#wrapper {
  max-width: 640px;
  margin: 0 auto;
}
#wrapper_half {
  max-width: 600px;
  margin: 0 auto;
}
h1.title {
  text-align: center;
  padding: 50px 0 25px 0;
  font-size: 24px;
  font-weight: bold;
}
h1.title + p {
  text-align: center;
  margin-bottom: 25px;
  font-size: 14px;
}
h2.title {
  text-align: center;
  padding: 0 0 15px 0;
  font-size: 18px;
  font-weight: bold;
  border-bottom: 2px solid #625147;
  margin-bottom: 15px;
}
article {
  background: #FFF;
  padding: 50px 100px;
  box-shadow: 0 0 20px #dcfcff;
  border-radius: 10px;
}
article.top {
  padding: 50px;
}
p.mt {
  margin: 20px 0 0 0;
}
.wrap:before, .wrap:after {
  content: "";
  display: block;
  overflow: hidden;
  clear: both;
}
.wrap p {
  margin-bottom: 10px;
}
.wrap p.centre {
  text-align: center;
}
.wrap p small {
  font-size: 80%;
  display: block;
  line-height: 1.7;
}
.wrap-left {
  width: 48%;
  float: left;
}
.wrap-right {
  width: 48%;
  float: right;
}
ul.input-list {
  margin-bottom: 20px;
}
ul.input-list.fb {
  border-bottom: 1px solid #EEE;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
ul.input-list li {
  margin: 15px 0 0 0;
}
ul.input-list li label {
  margin: 0 20px 0 0;
}
ul.input-list li ul li {
  float: left;
  margin: 0;
}
ul.input-list li h3 {
  font-size: 0.8rem;
}
input[type=text], input[type=password], input[type=email], input[type=tel], select, input[type=number] {
  width: 100%;
  background: #F7F7F7;
  border: none;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 5px;
}
select {
  padding: 10px 6px;
}
elect::-ms-expand {
	display: none;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	background: url("../img/icon/pointer.svg") #F7F7F7 85% 18px no-repeat;
	background-size: 8px;
}
input[type=file] {
  display: none;
}
.camera input[type=file] + label {
  width: 100%;
  text-align: center;
  display: block;
  border: 2px solid #21ade5;
  padding: 15px 0;
  font-weight: bold;
  border-radius: 10px;
  position: relative;
}
.camera input[type=file] + label:before {
  content: "";
  display: inline-block;
  background: url("../img/icon/camera.svg") no-repeat;
  background-size: 100%;
  width: 32px;
  height: 26px;
  position: absolute;
  left: 12%;
  top: 50%;
  transform: translateY(-50%)
}
select[name=license], .camera2 input[type=file] + label {
  width: 100%;
  text-align: left;
  display: block;
  border: 2px solid #21ade5;
  padding: 10px;
  box-sizing: border-box;
  font-weight: bold;
  border-radius: 10px;
  position: relative;
  background: #FFF;
}
select[name=license]{
	background: url("../img/icon/pointer2.svg") #FFF 95% 17px no-repeat;
	background-size: 12px;
}
@media only screen and (max-width:736px) {
	select[name=license]{
	background: url("../img/icon/pointer2.svg") #FFF 95% 17px no-repeat;
	background-size: 10px;
}
}
select[name=year], select[name=month], select[name=day] {
  padding: 10px 35px 10px 10px;
}
ul.birthday li:nth-child(even){
	padding: 10px 0 0 0;
}
.two {
  width: 12% !important;
}
ul.card-list {
  display: flex;
  justify-content: space-between;
}
ul.card-list li {
  margin: 0 5px !important;
}
ul.card-list li:first-child {
  margin-left: 0 !important;
}
ul.card-list li:last-child {
  margin-right: 0 !important;
}
.start a {
  margin: 25px 0 0 0;
  display: block;
  width: 100%;
  box-sizing: border-box;
  background: -moz-linear-gradient(left, #EE82A6, #E65E8B);
  background: -webkit-linear-gradient(left, #EE82A6, #E65E8B);
  background: linear-gradient(to right, #EE82A6, #E65E8B);
  border-radius: 10px;
  border: none;
  color: #FFF;
  padding: 12px 36px;
  font-weight: bold;
  font-size: 1.1rem;
  letter-spacing: 1px;
  cursor: pointer;
}
input[type=submit], button {
  width: 100%;
  box-sizing: border-box;
  background: #21ade5;
  border-radius: 10px;
  border: none;
  color: #FFF;
  padding: 16px 12px;
  font-weight: bold;
  font-size: 1.1rem;
  letter-spacing: 1px;
  cursor: pointer;
}
button#back {
  background: none;
  color: #625147;
  font-size: 14px;
  position: relative;
}
button#back:before {
  content: "<";
  display: inline-block;
  transform: scale(0.7, 1);
  position: absolute;
  left: 40%;
}
a, input[type=submit] {
  transition: all 0.3s ease-in-out;
}
a:hover, input[type=submit]:hover, input[type=button]:hover {
  opacity: 0.7;
}
input[type=submit] + p {
  font-size: 0.9rem;
  margin: 15px 0 0 0;
}
input[type=submit] + p:before {
  content: ">";
  margin: 0 10px 0 0;
}
input::placeholder {
  color: #999;
}
/* IE */
input:-ms-input-placeholder {
  color: #999;
}
/* Edge */
input::-ms-input-placeholder {
  color: #999;
}
p.fb a {
  background: #385095;
  color: #FFF;
  font-weight: bold;
  display: block;
  text-align: center;
  padding: 10px 0;
  font-size: 1.1rem;
  letter-spacing: 1px;
  border-radius: 10px;
  box-shadow: 0 0 10px #CCC;
}
p.card a {
  background: -moz-linear-gradient(left, #64CDDA, #5EBFE3);
  background: -webkit-linear-gradient(left, #64CDDA, #5EBFE3);
  background: linear-gradient(to right, #64CDDA, #5EBFE3);
  color: #FFF;
  font-weight: bold;
  display: block;
  text-align: center;
  padding: 10px 0;
  font-size: 1.1rem;
  letter-spacing: 1px;
  border-radius: 10px;
  box-shadow: 0 0 10px #CCC;
}
p.fb a:before {
  content: "";
  background: url("../img/icon/fb.png") no-repeat left 100%;
  background-size: 100%;
  width: 12px;
  height: 26px;
  display: inline-block;
  margin: 0 20px 0 0;
}
p.register {
  text-align: center;
  margin: 50px auto;
}
p.register a {
  background: #625147;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  padding: 20px 70px;
  font-size: 1.1rem;
  letter-spacing: 1px;
  border-radius: 10px;
  width: 320px;
  box-sizing: border-box;
}
p.contact {
  text-align: center;
  margin: 50px auto;
}
p.contact a {
  background: #21ade5;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  padding: 20px 70px;
  font-size: 1.1rem;
  letter-spacing: 1px;
  border-radius: 10px;
  width: 320px;
  box-sizing: border-box;
}
p.forget {
  font-size: 14px;
  margin: 20px 0 0 0;
}
p.forget a:before {
  content: ">";
  margin: 0 10px 0 0;
  display: inline-block;
  transform: scale(0.8, 1);
  position: relative;
  top: -1px;
}
@media only screen and (max-width:768px) {
	p.contact a,
	p.register a {
		font-size:14px;
		 padding: 15px 50px;
	}
  .wrap p small {
    font-size: 11px;
  }
  .camera input[type=file] + label, select[name=license], .camera2 input[type=file] + label {
    font-size: 14px;
  }
  .camera input[type=file] + label:before {
    content: "";
    display: inline-block;
    background: url("../img/icon/camera.svg") no-repeat;
    background-size: 100%;
    width: 25px;
    height: 20px;
    position: absolute;
    left: 10%;
    top: 50%;
    transform: translateY(-50%)
  }
  h2.title {
    font-size: 16px;
    padding-bottom: 5px;
  }
  h1.title + p {
    font-size: 12px;
  }
  #wrapper_half {
    margin: 0 15px;
  }
  ul.input-list li ul li {
    float: none;
    margin: 0 0 5px 0;
  }
  ul.input-list li label {
    margin: 0 20px 0 0;
    font-size: 0.85rem
  }
  input[type=submit], button {
    font-size: 16px;
    padding: 10px;
  }
  input[type=submit] + p:before {
    margin: 0 5px 0 0;
  }
  ul.input-list li p {
    font-size: 0.7rem;
  }
  p.register {
    margin: 25px 30px 0 30px;
  }
  p.register a {
    display: block;
    padding: 12px 0;
  }
  .wrap p {
    font-size: 13px;
  }
  input[type=text], input[type=password], input[type=email] , input[type=number], input[type=tel]  {
    font-size: 16px;
  }
  p.register a, p.fb a, input[type=submit], p.card a {
    font-size: 1rem;
  }
  p.fb a:before {
    margin: 0 10px 0 0;
    width: 10px;
    height: 23px
  }
  h1.title {
    text-align: center;
    padding: 25px 0;
    font-size: 1.2rem;
    font-weight: bold;
    color: #625147;
  }
  p.logo img {
    width: 150px;
    padding: 0 15px;
  }
  article,article.top  {
    background: #FFF;
    padding: 25px 15px;
    border-radius: 10px;
    margin: 0 15px;
  }
  .wrap-left, .wrap-right {
    width: auto;
    float: none;
  }
  .wrap-right {
    border-top: 1px solid #EEE;
    margin: 20px 0 0 0;
    padding: 20px 0 0 0;
  }
}
/*==============================================================*/
ul.movie-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
ul.movie-list li {
  width: 48%;
  position: relative;
}
ul.movie-list li .movie {
  position: relative;
  line-height: 0;
  margin-bottom: 15px;
}
ul.movie-list li .movie img {
  object-fit: cover;
  border-radius: 10px;
}
ul.movie-list li .movie:after {
  content: "";
  background: rgba(58, 55, 53, .7);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 10px;
}
ul.movie-list li .movie h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
ul.movie-list li .movie + p {
  font-size: 14px;
  margin-bottom: 15px;
}
ul.movie-list li h2 span {
  padding: 10px;
  border: 1px solid #FFF;
  color: #FFF;
  font-size: 16px;
}
ul.movie-list li.show {
  margin: 0 0 4% 0;
  padding: 0 2%;
}
ul.movie-list li i {
  position: absolute;
  top: 35px;
  left: 15px;
  font-size: 40px;
  color: burlywood;
  text-shadow: 0 0 20px #000;
  z-index: 99;
}
ul.movie-list li a {
  overflow: hidden;
  clear: both;
  display: block;
  text-decoration: none;
}
ul.movie-list li .pic {
  position: relative;
  line-height: 0;
}
ul.movie-list li .pic:after {
  content: "";
  display: block;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 7px;
  transition: all 0.3s ease-in-out;
}
ul.movie-list li:hover .pic:after {
  background: none;
}
ul.movie-list li .pic img {
  border-radius: 7px;
  width: 100%;
  height: 200px;
  object-fit: cover;
}
ul.movie-list li h2 {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFF;
  z-index: 99;
  font-size: 1.75rem;
  line-height: 1.7 !important;
  width: 80%;
  text-align: center;
  font-weight: bold;
}
ul.movie-list li .txt {
  text-align: center;
  position: absolute;
  bottom: 0;
  padding: 20px;
  box-sizing: border-box;
  z-index: 99;
  width: 100%;
  background: -moz-linear-gradient(bottom, #000, transparent);
  background: -webkit-linear-gradient(bottom, #000, transparent);
  background: linear-gradient(to top, #000, transparent);
  border-radius: 7px;
}
ul.movie-list li .txt ul {
  display: inline-block;
}
ul.movie-list li .txt ul li {
  width: auto;
  color: #FFF;
  border-right: 1px solid #FFF;
  padding: 0 10px;
  margin: 0 0 5px 0;
}
.main-movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.main-movie .pic {
  position: relative;
}
.main-movie-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.main-movie-top:after {
  content: "";
  background: rgba(0, 0, 0, .5);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.main-movie-top .pic {
  position: relative;
}
.main-movie-top img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}
.main-movie-top .txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 999;
  white-space: nowrap;
  text-align: center;
}
.main-movie-top .txt h1 {
  color: #FFF;
  font-size: 1.75rem;
  font-weight: bold;
}
.main-movie-top .txt i {
  color: #FFF;
  margin-bottom: 15px;
  display: block;
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  padding: 10px 0;
  font-weight: bold;
}
.video-wrap iframe {
  width: 100%;
  height: 200px;
}
.main-movie .pic h2 {
  color: #FFF;
  z-index: 99;
  font-size: 1.7rem;
  text-align: center;
  position: absolute;
  bottom: 125px;
  right: 0;
  left: 0;
  margin: auto;
  font-weight: bold;
}
.main-movie .pic .txt {
  text-align: center;
  position: absolute;
  bottom: 0;
  padding: 20px 0;
  box-sizing: border-box;
  z-index: 99;
  width: 100%;
  background: -moz-linear-gradient(bottom, #000, transparent);
  background: -webkit-linear-gradient(bottom, #000, transparent);
  background: linear-gradient(to top, #000, transparent);
}
.main-movie .pic .txt ul {
  display: inline-block;
}
.main-movie .pic .txt ul li {
  float: left;
  margin: 0 10px;
  color: #FFF;
}
.main-movie img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.main-movie p {
  margin: 10px auto;
  background: #FFF;
  padding: 7px 30px;
  border-radius: 7px;
  font-weight: bold;
  box-shadow: 0 0 10px #000;
  width: 25%;
  border: 2px solid #FFF;
}
.main-movie p:before {
  content: "▲";
  display: inline-block;
  transform: rotate(90deg);
  font-size: 80%;
  margin: 0 10px 0 0;
  position: relative;
  top: -2px;
}
.main-movie p:hover {
  border: 2px solid #FFF;
  background: #000;
  color: #FFF;
}
.main-movie p:hover a {
  color: #FFF;
}
.main-movie p.top-pc-btn {
  display: block;
}
.main-movie p.top-sp-btn {
  display: none;
}
.draw {
  max-width: 300px;
  margin: 50px auto;
}
.draw-btn {
  text-align: center;
  margin: 50px 0 0 0;
  color: #333;
  font-size: 16px;
}
.draw-btn p a {
  border-bottom: 2px solid #999;
  padding: 5px 5px;
}
@media only screen and (max-width:768px) {
  .main-movie .pic h2 {
    bottom: 110px;
  }
  ul.movie-list li.show {
    margin: 0 0 4% 0;
    padding: 0;
  }
  .main-movie p.top-pc-btn {
    display: none;
  }
  .main-movie p.top-sp-btn {
    display: block;
  }
  .draw-btn {
    text-align: center;
    margin: 50px 0 50px 0;
    color: #333;
    font-size: 14px;
  }
  ul.movie-list li .txt ul li {
    padding: 0 7px;
  }
  .main-movie img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .main-movie .pic {
    height: 60vh;
  }
  .main-movie .pic h2 {
    margin-bottom: 10px;
  }
  .main-movie .pic p {
    font-size: 0.9rem;
  }
  .main-movie .pic .txt ul li {
    font-size: 0.9rem;
  }
  ul.movie-list li .pic img {
    height: 150px;
  }
  ul.movie-list.all {
    margin: 0 10px;
  }
  ul.movie-list li h2 {
    font-size: 1.4rem;
  }
  ul.movie-list li i {
    top: 15px;
    left: 5px;
  }
  ul.movie-list li {
    float: none;
    width: auto;
    margin: 0 0 4% 0;
  }
  ul.movie-list li:nth-last-child(-n+2) {
    margin-bottom: 4%;
  }
  ul.movie-list li:last-child {
    margin-bottom: 0;
  }
  ul.movie-list li ul li {
    float: left;
  }
  ul.movie-list li i {
    font-size: 20px;
  }
  ul.movie-list li a {
    text-decoration: none;
  }
  ul.movie-list li .txt {
    font-size: 0.8rem;
    padding: 20px 10px
  }
}
.nav {
  clear: both;
  overflow: hidden;
}
#globalnavi p a {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #21ade5;
  padding: 20px;
  box-sizing: border-box;
  font-weight: bold;
  color: #FFF;
}
#globalnavi p a:after {
  content: "";
  display: inline-block;
  background: url("../img/common/enter.svg");
  width: 25px;
  height: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
ul.upper-nav li {
  text-align: center;
}
ul.upper-nav li a {
  color: #42210b;
  margin: 0 0 20px 0;
  display: block;
  font-size: 15px;
}
@media only screen and (max-width:768px) {
  ul.upper-nav, #globalnavi {
    float: none;
  }
}
a#btn i {
  position: absolute;
  top: 7px;
  left: -40px;
  font-size: 12px;
  font-weight: bold;
  color: #625147;
}
a#btn span {
  background: #625147;
  width: 18px;
  height: 2px;
  display: block;
  position: relative;
  top: 11px;
  left: 4px;
}
a#btn span:before {
  content: "";
  display: block;
  position: absolute;
  top: -7px;
  background: #625147;
  width: 28px;
  height: 2px;
  transition: all 0.3s ease-in-out;
}
a#btn span:after {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  background: #625147;
  width: 9px;
  height: 2px;
  transition: all 0.3s ease-in-out;
}
a#btn span.change {
  height: 0;
}
a#btn span.change:before {
  transform: rotate(-45deg);
  top: 0;
  width: 18px;
}
a#btn span.change:after {
  transform: rotate(45deg);
  top: 0;
  width: 18px;
}
a#btn {
  margin: 0;
  position: absolute;
  right: 0;
  top: 20px;
  cursor: pointer;
  width: 36px;
  height: 36px;
  padding: 5px;
  box-sizing: border-box;
  border-radius: 50%;
  z-index: 9999;
}
@media only screen and (max-width:769px) {
  a#btn {
    right: 15px;
    top: 18px;
  }
  p.spnav {
    display: block;
  }
  a#btn img {
    max-width: 100%;
  }
  a#btn, p#close {
    display: block;
  }
  input[type=text], textarea, input[type=button], input[type=password] {
    -webkit-appearance: none;
  }
}
footer nav {
  text-align: center;
  padding: 0 0 50px 0;
  margin: 50px 0 0 0;
}
footer nav p a {
  background: -moz-linear-gradient(left, #0071BC, #045887);
  background: -webkit-linear-gradient(left, #0071BC, #045887);
  background: linear-gradient(to right, #0071BC, #045887);
  width: 100%;
  display: block;
  color: #FFF;
  font-weight: bold;
  padding: 15px 0;
  position: fixed;
  bottom: 0;
  z-index: 999;
}
footer nav p a:hover {
  opacity: 1 !important;
  color: #FFF;
}
footer nav p a.static {
  position: static;
}
footer nav p a:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("../img/icon/program.png") no-repeat;
  background-size: 18px;
  margin: 0 15px 0 0;
  position: relative;
  top: 3px;
}
footer nav:before, footer nav:after {
  content: "";
  display: block;
  overflow: hidden;
  clear: both;
}
ul.under-nav {
  max-width: 360px;
  margin: 0 auto;
  padding: 50px 0 0 0;
}
ul.under-nav li {
  text-align: center;
}
ul.under-nav li a {
  font-weight: 500;
  margin: 0 20px;
  display: block;
}
ul.under-nav {
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
ul.under-nav li a {
  font-size: 14px;
  font-weight: bold;
  padding: 10px 0;
  background: #FFF;
  margin: 0;
  border-collapse: collapse;
  box-sizing: border-box;
}
ul.under-nav li a:after {
  content: ">";
  margin: 0 0 0 10px;
  display: inline-block;
  transform: scale(0.7, 1);
}
ul.under-nav li a:hover {
  color: #0A1F70 !important;
}
#copyright {
  text-align: center;
  overflow: hidden;
  clear: both;
}
#copyright p {
  color: #999;
  font-size: 11px;
  padding: 25px 0;
}
footer {
  padding: 0;
}
@media only screen and (max-width:769px) {
  footer nav {
    text-align: center;
    margin: 50px 0 25px 0;
    padding: 0 0 0 0;
  }
  #copyright p {
    font-size: 10px;
    padding: 25px 0 15px 0;
  }
}
#pagetop p a {
  background: #072C51;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 20px;
  height: 20px;
  text-align: center;
  vertical-align: middle;
  line-height: 20px;
  color: #FFF;
  padding: 5px;
}
@media only screen and (max-width:769px) {
  #pagetop p a {
    bottom: 0;
    right: 0;
  }
}
p.play {
  text-decoration: none;
  color: #333;
  transition: all 0.3s ease-in-out;
}
.search-navi:before, .search-navi:after {
  content: "";
  display: block;
  overflow: hidden;
  clear: both;
}
.search-navi {
  position: sticky;
  top: 0;
  text-align: center;
  z-index: 998;
  margin: 490px 0 50px 0;
}
@media only screen and (max-width:736px) {
  .search-navi {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    margin: calc(62vh - 61px) 0 15px 0;
  }
}
.search_item {
  display: inline-block;
  cursor: pointer;
  padding: 10px 20px;
  font-size: 18px;
  border-right: 1px solid #CCC;
  transition: all 0.3s ease-in-out;
  transform: skew(-25deg);
  position: relative;
  color: #FFF;
  background: rgba(0, 113, 188, 1);
}
.search_item span {
  transform: skew(25deg);
  color: #FFF;
  display: block;
}
.search_item:last-child {
  border: none;
}
.search_item.select {
  background: rgba(0, 113, 188, .5);
}
.is-hide {
  display: none;
}
@media only screen and (max-width:736px) {
  .search_item {
    font-size: 3.5vw;
    margin: 0;
    padding: 10px 15px;
    border: none;
  }
}
span.error_text {
  clear: both;
  display: block;
  font-size: 12px;
  padding: 5px 0 0 5px;
  color: #E65E8B;
}
div#payjp_checkout_box input[type=button] {
  width: 100%;
  background: -moz-linear-gradient(left, #64CDDA, #5EBFE3);
  background: -webkit-linear-gradient(left, #64CDDA, #5EBFE3);
  background: linear-gradient(to right, #64CDDA, #5EBFE3);
  color: #FFF;
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
  font-size: 1.1rem;
  letter-spacing: 1px;
  border-radius: 10px;
  border: none;
}
input.half {
  width: 48%;
}
.hide {
  display: none;
}
/*======================================================================*/
.register_flow {
  clear: both;
  overflow: hidden;
  margin: 0 auto 30px auto;
}
.register_flow > ul li {
  color: #AAA;
  width: 31%;
  float: left;
  padding: 10px 20px;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 14px;
  margin-right: 3.5%;
  position: relative;
  text-align: center;
  background: rgba(255, 255, 255, .5);
}
.register_flow > ul li i {
  display: block;
  color: #AAA;
  font-size: 80%;
}
.register_flow > ul li:last-child {
  margin-right: 0;
}
.register_flow > ul li:first-child::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 20px solid rgba(255, 255, 255, .5);
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  position: absolute;
  right: -20px;
  top: 0;
}
.register_flow > ul li:nth-child(2)::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 20px solid #F7F8FE;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  position: absolute;
  left: 0;
  top: 0;
}
.register_flow > ul li:nth-child(2)::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 20px solid rgba(255, 255, 255, .5);
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  position: absolute;
  right: -20px;
  top: 0;
}
.register_flow > ul li:last-child::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 20px solid #F7F8FE;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  position: absolute;
  left: 0;
  top: 0;
}
.register_flow > ul li.active {
  background: rgba(255, 255, 255, 1);
  position: relative;
  color: #333;
}
.register_flow > ul li.active i {
  color: #333;
}
.register_flow > ul li.active::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 20px solid rgba(255, 255, 255, 1);
  ;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  position: absolute;
  right: -20px;
  top: 0;
}
.register_flow > ul li span {
  color: #7FAFD6;
  position: absolute;
  left: 0;
  top: -25px;
  font-weight: bold;
}
p.hosoku {
  font-size: 0.9rem;
}
@media only screen and (max-width:736px) {
  .register_flow {
    clear: both;
    overflow: hidden;
    margin: 0 auto 15px auto;
  }
  .register_flow > ul {
    display: flex;
    margin: 0 15px;
  }
  .register_flow > ul li {
    width: 33.3333%;
    margin: 0;
    font-size: 12px;
    border-right: 1px solid #fff;
  }
  .register_flow > ul li {
    font-size: 12px;
    padding: 10px 0;
  }
  .register_flow > ul li span {
    padding: 0 5px;
  }
  .register_flow > ul li:nth-child(2)::before, .register_flow > ul li:last-child::before {
    display: none;
  }
  .register_flow > ul li:nth-child(2)::after, .register_flow > ul li:first-child::after {
    border-top: 19px solid transparent;
  }
  .register_flow > ul li:nth-child(2)::after {
    right: 0;
  }
  .register_flow > ul li.active::after {
    right: 0;
    display: none;
  }
  .register_flow li:nth-child(2)::after, .register_flow li:first-child::after {
    display: none;
  }
}
.ok {
  text-align: center;
  margin-bottom: 20px;
}
.ok label {
  font-size: 0.8rem !important;
}
.ok a {
  color: #EE82A6;
}
.normalradio-wrap input[type=radio] {
  display: none;
}
.normalradio-wrap input[type=radio] + label {
  margin-left: 5px;
  margin-right: 20px;
}
.normalradio-wrap input[type=radio] + label:before {
  content: "";
  position: relative;
  top: 3px;
  left: -5px;
  width: 16px;
  height: 16px;
  background: #EEE;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid #EEE;
}
.normalradio-wrap input[type=radio]:checked + label {
  position: relative;
}
.normalradio-wrap input[type=radio]:checked + label:after {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: -1px;
  width: 10px;
  height: 10px;
  background: #21ade5;
  border-radius: 50%;
}
.specialradio-wrap input[type=radio]:checked + label:before {
  border: 1px solid #EEE;
}
.specialradio-wrap input[type=radio] {
  display: none;
}
.specialradio-wrap input[type=radio] + label {
  position: relative;
  text-align: center;
  z-index: 1;
  display: block;
  padding: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 18px;
}
.specialradio-wrap input[type=radio] + label span {
  display: block;
  font-weight: normal;
  font-size: 80%;
  margin: 10px 0 0 0;
}
.specialradio-wrap input[type=radio] + label:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  border: 2px solid #21ade5;
  border-radius: 10px;
}
.specialradio-wrap input[type=radio]:checked + label {
  position: relative;
  color: #FFF;
}
.specialradio-wrap input[type=radio]:checked + label span {
  color: #FFF;
}
.specialradio-wrap input[type=radio]:checked + label:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  border: 2px solid #90D6F2;
  background: rgba(33, 173, 229, .5);
  border-radius: 10px;
}
/*====================================================================================================*/
input[type=checkbox] {
  display: none;
}
input[type=checkbox] + label {
  padding-left: 25px;
  position: relative;
  font-size: 0.8rem;
}
input[type=checkbox] + label:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 4px;
  background: #FFF;
}
input[type=checkbox]:checked + label:after {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #EE82A6;
  border-right: 3px solid #EE82A6;
}
.red, .red small {
  color: #EE82A6 !important;
  font-weight: bold;
}
table.table {
  width: 100%;
  margin: 0 0 20px 0;
}
table.table th, table.table td {
  vertical-align: middle;
  padding: 10px;
}
table.table th {
  width: 100px;
  padding-left: 0;
  padding-bottom: 0;
  font-size: 14px;
  font-weight: bold;
}
table.table.thbig th {
  width: 140px;
}
table.table th .inquiry {
  background: #EE82A6;
  color: #FFF;
  float: right;
  font-size: 13px;
  padding: 0 2px;
}
table.table th .notinquiry {
  background: #625147;
  color: #FFF;
  float: right;
  font-size: 13px;
  padding: 0 2px;
}
table.table td {
  padding-right: 0;
  padding-bottom: 0;
}
ul.table-list {
  display: flex;
  justify-content: space-between;
}
table.table td ul.table-list li {
  margin: 0 5px 0 0;
}
table.table td ul.table-list li:last-child {
  margin-right: 0;
}
@media only screen and (max-width:736px) {
	.specialradio-wrap input[type=radio] + label{
		font-size:16px;
	}
  table.table th, table.table td {
    display: block;
    padding: 0;
    width: auto;
  }
  table.table th {
    padding-bottom: 5px;
  }
  table.table td {
    padding-bottom: 10px;
  }
}
.check {
  text-align: center;
  margin: 10px 0 20px 0;
}
.no-push {
  opacity: 0.5;
}
.total {
  border-bottom: 1px solid #625147;
  margin-bottom: 10px;
}
.total p {
  text-align: right;
  font-size: 20px;
  font-weight: bold;
}
.total p small {
  display: inline-block;
}
.total + p {
  margin-bottom: 20px;
}
.face {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 20px 0;
}
.face img {
  width: 20%;
  margin: 0 5% 0 0;
}
.face small {
  display: block;
  margin: 10px 0 0 0;
}
@media only screen and (max-width:736px) {
  .face {
    margin-bottom: 10px;
  }
}
.block {
  margin-bottom: 30px;
}
.block:last-child {
  margin-bottom: 0;
}
.scroll {
  border: 1px solid #42210b;
  padding: 15px;
  overflow-y: scroll;
  height: 150px;
}
.scroll p {
  font-size: 14px;
}
@media only screen and (max-width:736px) {
  .scroll p {
    font-size: 13px;
  }
}
.wait {
  background: #3a3735;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 0;
  padding: 0 !important;
  margin: 0 !important;
}
.wait > div {
  width: 350px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.wait > div p {
  color: #FFF;
  margin-bottom: 20px;
}
@media only screen and (max-width:736px) {
  .wait > div {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translate(0, -50%);
  }
}
.loader {
  font-size: 6px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loader:before {
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #3a3735;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@media only screen and (max-width:736px) {
  .loader {
    font-size: 5px;
  }
}
p.play {
  text-align: center;
  border: 2px solid #21ade5;
  font-weight: bold;
  padding: 15px 0;
  color: #21ade5;
  border-radius: 10px;
  margin-bottom: 20px;
}
p.exit {
  text-align: center;
  margin: 40px 0 50px 0;
  font-size: 14px;
}
p.exit a {
  text-decoration: underline;
}
ul.info-list li {
  font-size: 14px;
  margin-bottom: 20px;
}
ul.info-list li:last-child {
  margin-bottom: 0;
}
ul.info-list li dl {
  display: flex;
}
ul.info-list li dl dt {
  width: 15%;
  margin-right: 5%;
}
ul.info-list li dl dd {
  width: 80%;
}
@media only screen and (max-width:736px) {
  ul.info-list li {
    font-size: 13px;
    margin-bottom: 10px;
  }
  ul.info-list li dl {
    display: block;
  }
  ul.info-list li dl dt {
    width: auto;
    margin-right: 0;
  }
  ul.info-list li dl dd {
    width: auto;
  }
}
p.btn-all {
  text-align: center;
  margin-top: 30px;
}
p.btn-all a {
  color: #21ade5;
  border: 1px solid #21ade5;
  padding: 10px 30px;
  border-radius: 10px;
  font-size: 14px;
}
table.pay {
  text-align: center;
  width: 100%;
}
table.pay thead {
  border-bottom: 1px solid rgba(98, 81, 71, .2);
}
table.pay thead th {
  font-weight: bold;
  text-align: center;
  padding-bottom: 10px;
  font-size: 15px;
}
table.pay tbody td {
  padding: 10px 0;
  font-size: 14px;
}
table.pay tbody tr:nth-child(even) {
  background: rgba(98, 81, 71, .1);
}
.akerun p {
  margin: 50px 0 0 0;
}
.akerun p a {
  background: #21ade5;
  padding: 20px;
  box-sizing: border-box;
  font-weight: bold;
  color: #FFF;
  display: block;
  position: relative;
  text-align: center;
  border-radius: 10px;
}
.akerun p a:after {
  content: "";
  display: inline-block;
  background: url("../img/common/enter.svg");
  width: 25px;
  height: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.space{
	text-align: center;
	padding: 0 10px;
	margin: 50px 0 0 0;
	position: relative;
}
.space p{
	font-weight:bold;
	color: #333;
	line-height: 1.2;font-size:14px;
}
.space h2{
		font-weight:bold;
	color: #333;
}
@media only screen and (max-width:736px) {
	.akerun p {
  margin: 25px 15px 0 15px;
}
	.space{
	text-align: center;
	padding: 0 10px;
	margin: 25px 15px 0 15px;
}
	
	
}
.chart {
  position: relative;
  display:block;
  width: 240px;
  height: 240px;
	margin: 0 auto;
  text-align: center;
}
.chart .percent-wrap{
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}
.chart .percent-wrap .percent{
	font-size: 40px;
	color: #EE82A6;
}
.chart .percent-wrap small{
	margin-left: 5px;
	display: inline-block;
}
.chart .percent-wrap p.situation{
	animation: st 1s ease-in-out 1s forwards;
		opacity: 0;
}
@keyframes st{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
.chart canvas {

}


.camera label.label_face_img {
  width: 100%;
  text-align: center;
  display: block;
  border: 2px solid #21ade5;
  padding: 15px 0;
  font-weight: bold;
  border-radius: 10px;
  position: relative;
}
.camera label.label_face_img:before {
  content: "";
  display: inline-block;
  background: url("../img/icon/camera.svg") no-repeat;
  background-size: 100%;
  width: 32px;
  height: 26px;
  position: absolute;
  left: 12%;
  top: 50%;
  transform: translateY(-50%)
}

.hidden {
  display:none;
}

select.custom_select, label.file_select {
  width: 100%;
  text-align: left;
  display: block;
  border: 2px solid #21ade5;
  padding: 10px;
  box-sizing: border-box;
  font-weight: bold;
  border-radius: 10px;
  position: relative;
  background: #FFF;
}
select.custom_select{
  background: url("../img/icon/pointer2.svg") #FFF 95% 17px no-repeat;
  background-size: 12px;
}
