@charset "utf-8";

@keyframes spinner {
  to {transform: rotate(360deg);}
}
 
.spinner:before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  border-radius: 50%;
  border: 1px solid #ccc;
  border-top-color: #07d;
  animation: spinner .6s linear infinite;
  z-index: 9999;
}

/* ==========================================================================

   モーダル周り

========================================================================== */
.modal-no-scroll{
	overflow: hidden;
}
.modal{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: rgba( 0,0,0,0.4 );
	z-index: 9999;
}
.modal__inner{
	position: relative;
	width: 100%;
	height: 100%;
}
.modal__scroll{
	position: relative;
	width: 100%;
	height: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;

	text-align: center;
	font-size: 0;
}
.modal__scroll:before{
	content: '';
	width: 0;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
}
.modal__scrollInner{
	font-size: 1.5rem;
	line-height: 1.933;
	color: #000000;

	display: inline-block;
	vertical-align: middle;
	/*width: 100%;*/
	/*max-width: 600px;*/
	margin: 40px auto;
	opacity: 0;
	transform: scale( 0.8 );
	transition: all 300ms;
}
.modal__scrollInner.open{
	opacity: 1;
	transform: scale(1);
}
.modal__content{
	/*background-color: #ffffff;*/
	/*border-radius: 4px;*/
	padding: 10px;
	text-align: left;
}
.modal__close{
	cursor: pointer;
}
#modal__close{
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
#modal__close:before,
#modal__close:after{
	content: '';
	display: block;
	position: absolute;
	top: 15px;
	left: 5px;
	width: 20px;
	height: 2px;
	background-color: #ff0000;
}
#modal__close:before{ transform: rotate(45deg); }
#modal__close:after{ transform: rotate(-45deg); }

@media screen and (max-width: 767px) {
	.modal__scrollInner{
		margin: 0 auto;
	}
}