@charset "utf-8";
/* CSS Document */


.ff_helvetica {
	font-family: Helvetica, Arial, sans-serif;
}

.ff_noto_serif {
	font-family: 'Noto Serif JP', serif;
}

/* -- special_program -- */
.event_box {
	position: relative;
	width: 1000px;
	margin: 0 auto;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.9;
}

.event_box p {
	margin: 0;
}

.event_box .date {
	position: absolute;
	top: 0;
	left: 0;
	width: 180px;
	height: 180px;
	border: 1px solid #000;
	border-radius: 50%;
	text-align: center;
	line-height: 1;
}

.event_box .date .mmdd {
	padding-top: 52px;
	font-size: 42px;
}

.event_box .date .dow {
	padding-top: 14px;
	font-size: 22px;
} 

.event_box .e_body {
	padding-left: 240px;
}

.event_box .e_body .currently_accepting,
.event_box .e_body .special_program {
	position: relative;
	display: table;
	padding-bottom: 8px;
	margin-bottom: 20px;
	font-size: 24px;
	letter-spacing: 0.35em;
	line-height: 1.1;
}

.event_box .e_body .currently_accepting {
	color: #d12734;
}

.event_box .e_body .special_program {
	color: #00479d;
}

.event_box .e_body .currently_accepting::after,
.event_box .e_body .special_program::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 0.3em);
	height: 4px;
}

.event_box .e_body .currently_accepting::after {
	background-color: #d12734;
}

.event_box .e_body .special_program::after {
	background-color: #00479d;
}

.event_box .e_body .name {
	margin-bottom: 5px;
	font-size: 36px;
	line-height: 1.3;
}

.event_box .e_body .info {
	margin-bottom: 17px;
	font-size: 24px;
}

.event_box .e_body .desc {
	font-size: 16px;
}

.event_box .btn_application {
	padding-top: 42px;
	text-align: center;
}

.event_box .btn_application a {
	position: relative;
	display: inline-block;
	width: 380px;
	padding: 30px 0;
	background-color: #000;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	letter-spacing: 0.18em;
}

.event_box .btn_application a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 10.5%;
	height: 1px;
	background-color: #fff;
}

/* btn disable */
.event_box .btn_application_disable a {
  pointer-events: none;
  background: #d4d4d4;
}

/* coming soon */
.event_box .soon {
	font-size: 32px;
  font-family: Helvetica, Arial, sans-serif;
  color: #ccc;
  text-align: center;
  padding: 1em 0 0;
}

/* animation */
.event_box .btn_application a::after {
	transform-origin: left;
}

@media (hover: hover) {
	.event_box .btn_application a:hover {
		opacity: 0.8;
	}

	.event_box .btn_application a:hover::after {
		animation: btn_application_anm 0.4s;
	}
	
	@keyframes btn_application_anm {
		0% {transform: scaleX(0);}
		100% {transform: scaleX(1);}
	}
}



@media screen and (max-width: 560px) {

	.br_pc {
		display: none;
	}

	.br_sp {
		display: inline;
	}


	/* -- special_program -- */
	
	.event_box {
		width: auto;
	}
	
	.event_box .date {
		top: 0;
		left: 50%;
		width: 24vw;
		height: 24vw;
		transform: translateX(-50%);
		border-color: #555;
	}
	
	.event_box .date .mmdd {
		padding-top: 30%;
		font-size: calc(100vw / ( 375 / 21 ));
	}
	
	.event_box .date .dow {
		padding-top: 8%;
		font-size: calc(100vw / ( 375 / 11 ));
	} 
	
	.event_box .e_body {
		padding: 28vw 0 0;
	}
	
	.event_box .e_body .currently_accepting,
	.event_box .e_body .special_program {
		padding-bottom: 6px;
		margin-bottom: 12px;
		font-size: 12px;
	}
	
	.event_box .e_body .currently_accepting::after,
	.event_box .e_body .special_program::after {
		height: 2px;
	}
	
	.event_box .e_body .name {
		margin-bottom: 10px;
		font-size: 24px;
	}
	
	.event_box .e_body .info {
		margin-bottom: 10px;
		font-size: 16px;
		line-height: 1.5;
	}
	
	.event_box .e_body .desc {
		font-size: 14px;
	}
	
	.event_box .btn_application {
		padding-top: 25px;
	}
	
	.event_box .btn_application a {
		width: 57.2%;
		padding: 15px 0;
		font-size: 16px;
	}

	/* coming soon */
	.event_box .soon {
		font-size: 22px;
	}

}