@charset "utf-8";

/* CSS Document */
body {
	padding: 0;
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}


a {
	text-decoration: none;
	transition: 0.3s;
}



p {
	line-height: 1.4;
}

.pc_only {
	display: block;
}

@media screen and (max-width: 768px) {
	.pc_only {
		display: none;
	}
}

.sp_only {
	display: none;
}

@media screen and (max-width: 768px) {
	.sp_only {
		display: block;
	}
}

.logo {
	position: absolute;
	z-index: 2;
	width: 60px;
	left: 10px;
	top: 10px;
}

@media screen and (max-width: 767px) {
	.logo {
		width: 45px;
		top: 10px;
	}
}

#fv_area {
	position: relative;
	margin: 0 auto;
	background: #fff;
	border-top: 15px solid #8b8b8b;
}

.fv_main {
	width: 90%;
	margin: 0 auto;
	max-width: 900px;
	padding: 70px 0 40px;
}

.fv_main img {
	width: 100%;
}

.fv_kikan {
	padding: 10px 0 18px;
	background: #231815;
	background: linear-gradient(180deg, rgba(35, 24, 21, 1) 15%, rgba(201, 202, 202, 1) 100%);
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 1.6em;
}

.fv_kikan span.big {
	font-size: 1.5em;
	letter-spacing: 4px;
}

.fv_kikan span.ttl {
	background: #fff;
	color: #000;
	padding: 0 8px;
	font-size: .8em;
	border-radius: 4px;
}

.fv_kikan span.small {
	font-size: .7em;
	margin: 0 4px;
}

@media screen and (max-width: 767px) {
	.fv_main {
		padding-bottom: 20px;
	}

	.fv_kikan {
		font-size: 1.2em;
	}

	.fv_kikan span.ttl {
		margin-bottom: 4px;
	}
}


/*course内容*/
.main_area {
	background: #FFFFFF;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(159, 160, 160, 1) 100%);
	padding: 40px 0;
}

#main_copy_area {
	width: 95%;
	margin: 0 auto;
	text-align: center;
}

#main_copy_area p {
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.4;
}

#main_copy_area p span.big {
	font-size: 1.2em;
}

#main_copy_area .tyusen {
	display: inline-block;
	text-align: center;
	background: #fff;
	padding: 4px .2em;
	border-radius: 10px;
	/* margin-top: 4px; */
	margin: 0 4px;
	border: 2px solid #595757;
}

@media screen and (max-width: 767px) {
	#main_copy_area p {
		font-size: 1.1em;
	}

	#main_copy_area p span.big {
		font-size: 1.2em;
		line-height: 1.2;
	}
}

#course_area {
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
	border: 2px solid #595757;
	max-width: 1100px;
	margin-top: 3em;
	padding: 1.5em 1em 2em;
	text-align: center;
	border-radius: 12px;
	box-shadow: 6px 6px 6px #a5a5a5;
	position: relative;
}

.course_area_ttl {
	position: absolute;
	font-size: 1.6em;
	font-weight: 700;
	letter-spacing: 2px;
	background: #595757;
	padding: 8px 0;
	color: #fff;
	border-radius: 50px;
	width: 60%;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: -24px;
}

.area {
	color: #595757;
	font-size: 1.4em;
	font-weight: 700;
	margin-top: 1em;
	margin-bottom: 8px;
}

.about__table {
	/* overflow-x: scroll; */
}

.about__table table {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

th,
td {
	border: 1px solid #595757;
	text-align: center;
	padding: 14px 2px;
	vertical-align: middle;
	font-weight: 700;
	line-height: 1.2;
}

th {
	background: #595757;
	color: #fff;
	padding: 10px 0;
	border: 1px solid #fff;
	border-bottom: none;
	border-top: none;
}

tr th:nth-child(1) {
	border-left: 1px solid #595757;
}

tr th:nth-last-child(1) {
	border-right: 1px solid #595757;
}


tr td:nth-child(1) {
	font-size: 2em;
	font-weight: 700;
	line-height: .4;
	width: 8%;
}

tr td:nth-child(1) span.course {
	font-size: .4em;
}

td span.small {
	font-size: .8em;
}

td span.pair {
	color: #D4007B;
	font-size: 1.2em;
}

.vs_notice {
	text-align: center;
	font-size: .9em;
	margin-top: 1em;
}

.vs_notice span.red {
	color: #b50d23;
}

@media screen and (max-width: 767px) {
	#course_area {
		padding: 1.5em .5em 2em;
	}

	.area {
		font-size: 1.1em;
	}

	.course_area_ttl {
		font-size: 1.3em;
	}

	.vs_notice {
		text-align: left;
	}

	.about__table table {
		/* width: 200%; */
		font-size: .9em;
	}

	th,
	td {
		padding: 10px 2px;
	}

	tr td:nth-child(1) {
		width: 14%;
	}

	tr td:nth-child(2) {
		/* width: 10%; */
	}

	tr td:nth-child(3) {
		/* width: 25%; */
	}

	tr td:nth-child(4) {
		/* width: 30%; */
	}

	td span.pair {
		font-size: 1em;
	}
}

.entry_title {
	background-color: #231F20;
	padding: 5px 10px;
	max-width: 1100px;
	margin: 0 auto;
	margin-top: 40px;
}

.entry_title p {
	text-align: center;
	color: #FFF;
	font-weight: bold;
	font-size: 1.6em;
	line-height: 1.2;
}

.con {
	margin: 0 auto;
	max-width: 1100px;
}

@media screen and (max-width: 767px) {
	.con {
		width: 95%;
		margin: 0 auto;
	}
}

.con__ttl {
	margin-top: 30px;
}

.con__ttl h4 {
	font-size: 1.3em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.con__ttl h4 {
		font-size: 1.2em;
	}
}

.con__detail {
	margin: 12px 0;
	background: #EEEDED;
	padding: 1em;
}

.con__notice p {
	font-size: 0.9em;
}


/*# sourceMappingURL=style-dragonflies_cp.css.map */


/*スポンサー*/

#official_sponsor {
	margin: 0 auto;
	background-color: #1C1C1C;
	margin-top: 5em;
}

#official_sponsor p {
	text-align: center;
	color: #fff;
	font-size: 1.4em;
	font-weight: bold;
	padding: 5px 10px;
}

#official_sponsor p span.small {
	font-size: .7em;
	white-space: nowrap;
}

@media screen and (max-width: 767px) {
	#official_sponsor p {
		font-size: 1.1em;
	}

	.vs_seat {
		text-align: center;
		margin-top: 1em;
		font-size: 1.2em;
	}
}


/*アプリ遷移ボタン*/
.app_btn {
	max-width: 440px;
	margin: 3em auto 3em auto;
}

.app_btn a {
	display: block;
	background-color: #D4007B;
	border-radius: 50px;
	padding: 15px 5px;
	box-shadow: 2px 3px 2px 0px rgba(0, 0, 0, 0.33);
}

.app_btn p {
	text-align: center;
	font-size: 1.2em;
	color: #fff;
	font-weight: bold;
	position: relative;

}


.app_btn p::after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -4px;
	transform: rotate(45deg);
	/*アニメーションの指定*/
	transition: all .3s;
}


.app_btn p:hover::after {
	right: 10px;
}

.app_btn a:hover {
	box-shadow: none;
	transition: all .3s;
}



.back-red {
	background-color: #C40808;
	padding: 0 5px;
	margin-right: 3px;
	color: #fff;
	line-height: 0;
	font-size: 0.8em;
}



/********uni*********/

.pre-box {
	max-width: 700px;
	margin: 0 auto;
	margin-top: 2em;
	border-top: solid #000 2px;
	padding-top: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pre-left {
	width: 50%;
}

.pre-right {
	width: 40%;
}

@media screen and (max-width: 767px) {
	.pre-box {
		display: block;
	}


	.pre-left {
		width: 50%;
		margin: 0 auto;
	}

	.pre-right {
		width: 60%;
		margin: 0 auto;
		margin-top: 1em;
	}


}


.ribon {
	max-width: 50%;
	margin: 0 auto;
	margin-top: -3em;
	margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
	.ribon {
		max-width: 80%;
		margin-top: -2em;
	}
}