@charset "utf-8";

/* == COMMON ================================================== */
.pc_display{display:block;}
.sp_display{display:none;}

main {/*font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;*/}
section:not(#mainArea) {width: 100%; max-width: 1130px; margin: 60px auto;}

/* h */
section h1{}
section h2{
	color: #fff;
	font-size: 1.55rem;
	font-weight: 600;
	background: url(../images/jpc/common/v2/jpc_box_ttl_bg.jpg) repeat-y 100% 50%/100% auto;
	padding: 10px 15px;
	margin-bottom: 30px;
	position: relative;
}
section h2::before{
	content: "";
	display: inline-block;
	width: 6px;
	height: 32px;
	background: #ffc332;
	vertical-align: -7px;
	margin: 0 15px 0 0;
}
section h3{
    font-size: 2.20rem;
    font-weight: 700;
    line-height: 2.8rem;
}
section h4{}
section h5{}

/* p */
section p{
	font-size: 1.05rem;
	line-height: 1.9rem;
}

/* bgScroll */
#jpc__bgScroll{
	width: 100vw;
	height: 100vh;
	background-image: url(../images/jpc/common/v2/jpc_content_bg.jpg);
	background-position: 0;
	background-repeat: repeat;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: -1;
}

/* Btn */
.btnArea{
	margin: 15px 0;
	padding: 0;
}
.btnArea a{
	width: 60%;
	max-width: 460px;
	display: block;
	color: #df0018;
	background-color: rgba(255,255,255,0.75);
	text-align: center;
	font-size: 1.4rem;
	font-weight: 600;
	border: 2px solid #df0018;
	margin: 0 auto;
	padding: 15px;
	position: relative;
}
.btnArea a::after{
	position: absolute;
	content: "";
	border-top: 3px solid #df0018;
	border-right: 3px solid #df0018;
	width: 12px;
	height: 12px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	right: 15px;
	top: 50%;
	margin: -6px 0 0 0;
}

.btnArea .none{
	width: 60%;
	max-width: 460px;
	display: block;
	color: #999;
	background-color: rgba(255,255,255,0.75);
	text-align: center;
	font-size: 1.4rem;
	font-weight: 600;
	border: 2px solid #999;
	margin: 0 auto;
	padding: 15px;
	position: relative;
}
.btnArea .none::after{
	position: absolute;
	content: "";
	border-top: 3px solid #999;
	border-right: 3px solid #999;
	width: 12px;
	height: 12px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	right: 15px;
	top: 50%;
	margin: -6px 0 0 0;
}

/* PageTop */
#js-pagetop {position: fixed; z-index: 100; right: 0; bottom: 30px; border-radius: 30px 0 0 30px;}
#js-pagetop a {display: block; overflow: hidden; width: 70px; height: 0; padding: 50px 0 0; border-radius: 30px 0 0 30px; position: relative;}
#js-pagetop a:hover{background: #df0018;}
#js-pagetop .fa{font-size: 2.25rem; position: absolute; top: 50%; left: 50%; margin: -27% 0 0 -22%;}

/* Font Color */
.font__bk{color: #000 !important;}
.font__wh{color: #fff !important;}
.font__red{color: #d61518 !important;}
.font__blue{color: #007bff !important;}
.font__green{color:#28a745 !important;}
.font__yellow{color:#ffc107 !important;}

/* == header & Footer ================================================== */
/* header */
div#jpc_header{
	width: 100%;
	height: 75px;
	background-color: rgba(16,26,63,0.9);
	position: fixed;
	top: 65px;
	z-index: 10;
	transition-duration: 0.65s;
}
div#jpc_header .inner{
	position: relative;
}
div#jpc_header .inner .head__logo{
	margin: 0;
	padding: 10px 0;
	width: 140px;
	position: relative;
}
div#jpc_header .inner .head__logo a{
	display: block;
	width: 140px;
	height: 56px;
	margin: auto;
	background-image: url(../images/jpc/common/v2/jpc_logo.png);
	background-position: 0 0;
	background-size: 140px auto;
	background-repeat: no-repeat;
	text-indent: -9999px;
	overflow: hidden;
}

div#jpc_header .inner .head__navi{
	display: block;
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	right: 5px;
	margin: -15px 0 0;
}
div#jpc_header .inner .head__navi span,
div#jpc_header .inner .head__navi span::before,
div#jpc_header .inner .head__navi span::after {
	content: '';
	display: block;
	height: 6px;
	width: 40px;
	background: #fff;
	transition: 0.5s;
	position: absolute;
}
div#jpc_header .inner .head__navi span:before {
	bottom: -14px;
}
div#jpc_header .inner .head__navi span:after {
	bottom: -28px;
}

div#jpc_header .inner .modal__btn {
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

/* == Modal ================================================== */
.jpc__modal__bg {
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.95);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	display: none;
}
.jpc__modal__main {
	display: none;
	width: 100%;
	max-width: 1130px;
	color: #fff;
	height: 100%;
	margin: 0 0 0 -565px;
	bottom: 0;
	left: 50%;
	position: fixed;
	z-index: 1100;
	opacity: 0;
}
.jpc__modal__main ul{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    text-align: center;
    height: 100%;
}
.jpc__modal__main ul > li{
	margin-bottom: 50px;
	position: relative;
}
.jpc__modal__main ul > li:last-child{
	margin-bottom: 0;
}
.jpc__modal__main ul > li a{
	color: #fff;
	font-weight: 700;
	font-size: 3.0rem;
	display: inline-block;
	position: relative;
}
.jpc__modal__main ul > li a:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	bottom: -5px;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
.jpc__modal__main ul > li a:hover:after {
	background: #df0018;
	bottom: -15px;
}
.jpc__modal__main ul > li .none{
	display: inline-block;
	color: #333;
	font-weight: 700;
	font-size: 3.0rem;
}
.jpc__modal__btn--close--fix {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	position: absolute;
	top: 90px;
	right: 7px;
	z-index: 101;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.jpc__modal__btn--close--fix:before {
	content: "";
	width: 42px;
	height: 42px;
	border-right: 5px solid #fff;
	transform: rotate(-45deg);
	position: absolute;
	top: 10px;
	left: -20px;
}
.jpc__modal__btn--close--fix:after {
	content: "";
	width: 42px;
	height: 42px;
	border-right: 5px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: -20px;
	left: -20px;
}
.jpc__modal__main._slideUp {animation: SlideUp .5s ease-in-out forwards;}
.jpc__modal__main._slideDown {animation: SlideDown .5s ease-in-out forwards;}


/* footer */
div#jpc_footer{
	background:#797979;
	width: 100%;
	position: relative;
}
div#jpc_footer .sponsor{
	display: flex;
	width: 100%;
	height: auto;
	flex-direction: column;
	align-items: center;
	color: #fff;
	position: relative;
	padding: 50px 0;
}
div#jpc_footer .sponsor p{
	margin-bottom: 10px;
	z-index: 1;
}
div#jpc_footer .sponsor p:last-of-type{
	margin-bottom: 0;
}
div#jpc_footer .sponsor .sponsor_logo{
	background: #fff;
	margin-bottom: 20px;
	z-index: 1;
}
div#jpc_footer .sponsor .sponsor_logo a{
	display: block;
	padding: 45px;
}
div#jpc_footer .sponsor .overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #333;
	background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #444), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #444),color-stop(.75, #444), color-stop(.75, transparent),to(transparent));
	-webkit-background-size: 3px 3px;
}

div#jpc_footer .social{
	background: #1b1b1b;
}

div#jpc_footer .social ul{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 0;
}
div#jpc_footer .social ul > li{
	margin: 0 10px;
}

/* == Layout ================================================== */
/* container */
section#mainArea{
	background: #000;
}
section#mainArea .main__detail{
	overflow: hidden;
	position: relative;
}
section#mainArea .main__detail::before{
	content: '';
	position: absolute;
	background-image: url(../images/jpc/common/v2/jpc_main_head.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top;
	width: 64%;
	height: 100%;
	top: 0;
	right: 0;
	z-index: 4;
}
section#mainArea .main__detail::after{
	content: '';
	position: absolute;
	background-image: url(../images/jpc/common/v2/jpc_main_foot.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom;
	width: 60%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 4;
}
section#mainArea .main__detail .jpc__logo{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 330px;
	margin: -200px 0 0 -165px;
	z-index: 5;
}
section#mainArea .main__detail .jpc__logo img{
	width: 100%;
}

section#mainArea .main__detail .video_box{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	margin: 0;
	background-color: #000;
}
section#mainArea .main__detail .video_box video {
	position: absolute;
	top: 0;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: 0;
	transform: translateX(-50%);
	object-fit: cover;
}
section#mainArea .main__detail .video_box .overlay {
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0,46,134,0.45);
	background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #000), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #000),color-stop(.75, #000), color-stop(.75, transparent),to(transparent));
	background-size: 4px 4px;
	z-index: 2;
}
section#mainArea .main__detail .scroll {
	width: 56px;
	color: white;
	font-size: 0.8rem;
	font-weight: 500;
	text-align: center;
	margin: 0 auto;
	position: absolute;
	top: 50%;
	left: 50%;
	right: 0;
	z-index: 7;
	margin: 400px 0 0 -28px;
}
section#mainArea .main__detail .scroll span {
	width: 26px;
	height: 50px;
	background-color: rgba(0,0,0,0.5);
	margin-left: -14px;
	border: solid 2px #fff;
	border-radius: 50px;
	box-sizing: border-box;
	position: absolute;
	top: -50px;
	left: 50%;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	-o-border-radius: 50px;
	-ms-border-radius: 50px;
}
section#mainArea .main__detail .scroll span::before {
	content: '';
	width: 8px;
	height: 8px;
	margin-left: -4px;
	background-color: #fff;
	border-radius: 4px;
	position: absolute;
	top: 6px;
	left: 50%;
	-webkit-animation: wheel 1.5s infinite;
	animation: wheel 1.5s infinite;
	box-sizing: border-box;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;
}

/* Contents */
section#contArea{
	background-image: url(../images/jpc/common/v2/jpc_content_header.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding: 180px 0 90px;
	max-width: none;
}
section#contArea h2{
	background: none;
	text-align: center;
	font-size: 2.5rem;
	margin: 0;
	padding: 0;
}
section#contArea h2::before{
	display: none;
}


/* About */
section#about{}
section#about h3{
	color: #00428e;
	margin: 15px 0;
}
section#about ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
section#about ul > li{
	width: 50%;
}
section#about ul > li img{
	max-width: 100%;
	box-sizing: border-box;
}

/* Flow */
section#flow{}
section#flow h3{
	color: #00428e;
	margin-bottom: 15px;
}
section#flow .flowchart{
	margin-bottom: 15px;
}

section#flow .flowchart img{
	max-width: 100%;
	box-sizing: border-box;
}

section#flow .winner_image{
	margin-bottom: 20px;
}
section#flow .winner_text p{
	margin-bottom: 30px;
}
section#flow .winner_text p:last-of-type{
	margin-bottom: 0;
}

/* Winner */
section#winner{}
section#winner .detail{
	padding: 3px;
	background: #ff8a00;
	background: -moz-linear-gradient(left,  #d0000a 0%, #ff8a00 100%);
	background: -webkit-linear-gradient(left,  #d0000a 0%,#ff8a00 100%);
	background: linear-gradient(to right,  #d0000a 0%,#ff8a00 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d0000a', endColorstr='#ff8a00',GradientType=1 );
}
section#winner .detail ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px;
	color: #fff;
	background: #001664;
	background: -moz-linear-gradient(left,  #00428e 0%, #001664 100%);
	background: -webkit-linear-gradient(left,  #00428e 0%,#001664 100%);
	background: linear-gradient(to right,  #00428e 0%,#001664 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00428e', endColorstr='#001664',GradientType=1 );
}
section#winner .detail ul > li{
	width: 50%;
}
section#winner .detail h3{
	font-size: 2.0rem;
	margin-bottom: 15px;
}
section#winner .detail ul > li p{
	font-size: 0.9rem;
	line-height: 1.65rem;
}
section#winner .detail ul > li p.notice{
	font-size: 0.75rem;
	line-height: 1rem;
	margin: 15px 0;
}
section#winner .detail ul > li img{
	border: 3px solid #171c61;
	max-width: 100%;
	box-sizing: border-box;
}
section#winner .detail ul.noticeList{
	display: block;
	background: none;
	padding: 0;
	list-style: disc;
	margin: 0 0 0 20px;
	font-size: 0.7rem;
	line-height: 1.2rem;
}
section#winner .detail ul.noticeList >li{
	width: 100%;
	margin-bottom: 5px;
}
section#winner .detail ul.noticeList >li:last-child{
	margin-bottom: 0;
}

/* Outline */
section#outline{}
section#outline .detailBox{
	margin-bottom: 30px;
}
section#outline .detailBox .unit{
	margin-bottom: 30px;
}
section#outline .detailBox h4{
	color: #fff;
	font-size: 1.4rem;
	background: #5a5a5a;
	padding: 10px 15px;
	margin-bottom: 30px;
	position: relative;
}
section#outline .detailBox h4::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 30px;
	background: #e10400;
	vertical-align: -7px;
	margin: 0 15px 0 0;
}
section#outline .detailBox h5{
	font-size: 1.05rem;
	font-weight: 700;
	margin-bottom: 15px;
}
section#outline .detailBox span{
	font-size: 0.8rem;
}
section#outline .detailBox p span a{
	display: inline-block;
	background: #df0018;
	font-size: 0.75rem;
	line-height: 1.4rem;
	color: #fff;
	text-align: center;
	padding: 0 10px;
	margin-left: 10px;
	position: relative;
	vertical-align: 2px;
}
section#outline .detailBox dl{
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
}
section#outline .detailBox dl dt{
	width: 60px;
}
section#outline .detailBox dl dd{
	margin-bottom: 20px;
}
section#outline .detailBox dl:last-of-type dd{
	margin-bottom: 0;
}
section#outline .detailBox ul.detailList{
	list-style: disc;
	margin: 0 0 0 25px;
}
section#outline .detailBox ul.detailList > li{
	margin-bottom: 15px;
}
section#outline .detailBox .unit table{
	width: 100%;
}
section#outline .detailBox .unit table th{
	background: #f5f5f5;
	border: 1px solid #d4d4d4;
	padding: 10px;
}
section#outline .detailBox .unit table td{
	background: #f7f7f7;
	border: 1px solid #d4d4d4;
	text-align: center;
	padding: 10px;
}

section#outline .noticeBox{
	color: #a94442;
	background-color: #f2dede;
	border-radius: 2px;
	padding: 15px;
	margin-bottom: 20px;
	border: 1px solid #ebccd1;
	margin: 30px 0;
}
section#outline .noticeBox p{
	margin: 0 0 0 30px;
	position: relative;
}
section#outline .noticeBox p::before{
	content: "!";
	display: block;
	position: absolute;
	top: 2px;
	left: -30px;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 0.9rem;
	width: 12px;
	height: 12px;
	padding: 5px;
	border-radius: 50%;
	background-color: #a94442;
	color: #f2dede;
	text-align: center;
}
section#outline .online{}
section#outline .online::after{
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: rgba(16,26,63,0.9);
	margin: 50px 0;
}

/* tbl_cell */
section#outline .detailBox .tbl_cell__team{width: 100%;}
section#outline .detailBox .tbl_cell__form,
section#outline .detailBox .tbl_cell__point,
section#outline .detailBox .tbl_cell__judge{width: 60%;}

section#outline .detailBox .tbl_cell__form{}
section#outline .detailBox .tbl_cell__form th:first-child{width: 80px;}

section#outline .detailBox .tbl_cell__point{}
section#outline .detailBox .tbl_cell__point ul{list-style: disc; font-size: 1.05rem; line-height: 1.9rem; margin: 0 0 15px 25px;}

section#outline .detailBox .tbl_cell__judge{}
section#outline .detailBox .tbl_cell__judge th{width: 160px;}
section#outline .detailBox .tbl_cell__judge td{text-align: left !important;}

section#outline .detailBox .tbl_cell__team table,
section#outline .detailBox .tbl_cell__form table,
section#outline .detailBox .tbl_cell__point table,
section#outline .detailBox .tbl_cell__judge table{
	width: 100%;
}
section#outline .detailBox .tbl_cell__team th,
section#outline .detailBox .tbl_cell__form th,
section#outline .detailBox .tbl_cell__point th,
section#outline .detailBox .tbl_cell__judge th{
	background: #f5f5f5;
	border: 1px solid #d4d4d4;
	padding: 15px 0;
	vertical-align: middle;
}
section#outline .detailBox .tbl_cell__team td,
section#outline .detailBox .tbl_cell__form td,
section#outline .detailBox .tbl_cell__point td,
section#outline .detailBox .tbl_cell__judge td{
	background: #fff;
	border: 1px solid #d4d4d4;
	padding: 20px;
	text-align: center;
	line-height: 1.2rem;
}

section#outline .detailBox .btnArea a{
	margin: 0;
}

/* Team */
section#team{}
section#team p.tips{
	margin: -10px 0 15px 10px;
	line-height: 1.15rem;
}
section#team #team__list{margin-bottom: 40px;}
section#team #team__entry{}

section#team #team__list .entry,
section#team #team__entry .entry{
	margin: 0 10px;
}
section#team #team__list .entry .team__image,
section#team #team__entry .entry .team__image{
	margin-bottom: 3px;
}
section#team #team__list .entry .team__detail,
section#team #team__entry .entry .team__detail{
	background: #141620;
	color: #fff;
}
section#team #team__list .entry .team__detail dl,
section#team #team__entry .entry .team__detail dl{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 15px;
}
section#team #team__entry .entry .team__detail dl{
	padding: 10px;
}
section#team #team__list .entry .team__detail dl > dt,
section#team #team__entry .entry .team__detail dl > dt{
	margin-right: 15px;
}
section#team #team__entry .entry .team__detail dl > dt{
	margin-right: 10px;
	width: 120px;
}
section#team #team__entry .entry .team__detail dl > dt img{
	width: 100%;
}
section#team #team__entry .entry .team__detail dl > dd{
	overflow: hidden;
}
section#team #team__list .entry .team__detail dl > dd div,
section#team #team__entry .entry .team__detail dl > dd div{
	margin-bottom: 5px;
}
section#team #team__list .entry .team__detail dl > dd p,
section#team #team__entry .entry .team__detail dl > dd p{
	font-size: 1.4rem;
	line-height: 1;
}
section#team #team__entry .entry .team__detail dl > dd p{
	font-size: 1.0rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
section#team #team__list .entry .team__detail dl > dd span,
section#team #team__entry .entry .team__detail dl > dd span{
	background: #fff;
	font-size: 1.2rem;
	color: #141620;
	font-weight: 700;
	line-height: 1rem;
	padding: 7px 0 5px;
	display: inline-block;
	width: 100px;
	text-align: center;
	margin-right: 15px;
}
section#team #team__entry .entry .team__detail dl > dd span{
	padding: 5px 0 2px;
	width: 60px;
	margin-right: 10px;
	font-size: 0.85rem;
}

section#team #team__entry ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
section#team #team__entry ul > li{
	width: 50%;
	margin-bottom: 25px;
	cursor: pointer;
}
section#team #team__entry ul > li .team__image{
	padding: 20px;
	background: #141620;
	position: relative;
}
section#team #team__entry ul > li .team__image img{
	width: 100%;
	margin: 0 auto;
}
section#team #team__entry ul > li .team__image::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.45);
	background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #000), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #000),color-stop(.75, #000), color-stop(.75, transparent),to(transparent));
	background-size: 4px 4px;
	z-index: 2;
	border: 20px solid #141620;
	box-sizing: border-box;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
section#team #team__entry ul > li:hover .team__image::before{
	opacity: 0.0;
}

/* Team Data */
#jpc__teamdata__main{
	display: none;
	width: 100%;
	max-width: 1130px;
	background-color: #fff;
	color: #fff;
	height: 624px;
	margin: 0 0 -312px -565px;
	bottom: 50%;
	left: 50%;
	position: fixed;
	z-index: 1100;
	overflow: hidden;
}
#jpc__teamdata__main li.entry__team{
	display: none;
	margin: 0;
	padding: 0;
}
#jpc__teamdata__main._slideUp {animation: SlideUp .5s ease-in-out forwards;}
#jpc__teamdata__main._slideDown {animation: SlideDown .5s ease-in-out forwards;}
.jpc__teamdata__btn--close--fix{
	border: 3px solid #323232;
	width: 30px;
	height: 30px;
	border-radius: 3px;
	position: absolute;
	top: 15px;
	right: 27px;
	z-index: 101;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.jpc__teamdata__btn--close--fix::before{
	content: "";
	width: 30px;
	height: 30px;
	border-right: 4px solid #323232;
	transform: rotate(-45deg);
	position: absolute;
	top: 11px;
	left: -12px;
}
.jpc__teamdata__btn--close--fix::after{
	content: "";
	width: 30px;
	height: 30px;
	border-right: 4px solid #323232;
	transform: rotate(45deg);
	position: absolute;
	top: -11px;
	left: -12px;
}


/* チーム紹介 詳細 */
article.entry_data{
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	color: #323232;
	width: 95%;
	margin: 0 auto;
	padding: 2.5%;
	position: relative;
}

article.entry_data .team__modal__btn--close{
	width: 32px;
	height: 32px;
	border-radius: 50%;
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 101;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
article.entry_data .team__modal__btn--close:before{
	content: "";
	width: 36px;
	height: 36px;
	border-right: 5px solid #323232;
	transform: rotate(-45deg);
	position: absolute;
	top: 11px;
	left: -17px;
}
article.entry_data .team__modal__btn--close:after{
	content: "";
	width: 36px;
	height: 36px;
	border-right: 5px solid #323232;
	transform: rotate(45deg);
	position: absolute;
	top: -15px;
	left: -17px;
}

article.entry_data .team__images{
	width: 50%;
	margin-right: 3%;
	background-color: #141620;
	position: relative;
}
article.entry_data .team__images .image{
	position: relative;
	z-index: 1;
	padding: 15px;
}
article.entry_data .team__images .image img{
	width: 100%;
}
article.entry_data .team__images .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #333;
    background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #444), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #444),color-stop(.75, #444), color-stop(.75, transparent),to(transparent));
    -webkit-background-size: 3px 3px;
}
article.entry_data .team__info{
	width: 47%;
}
article.entry_data .team__info h3{
	font-size: 1.5rem;
	font-weight: 600;
}
article.entry_data .team__info h3 span{
	font-weight: 600;
	margin-bottom: 10px;
	display: block;
}
article.entry_data .team__info h3::after{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #d4d4d4;
	margin: 10px 0;
}
article.entry_data .team__detail dl{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 10px;
	line-height: 1.4rem;
}
article.entry_data .team__detail dt{
	width: 170px;
	font-weight: 600;
}
article.entry_data .team__detail dd{
	width: 100%;
}
article.entry_data .team__detail dd ul{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 3px 0 0;
	font-size: 0.75rem;
}
article.entry_data .team__detail dd ul > li{
	margin-right: 5px;
}
article.entry_data .team__detail dd ul > li a{
	display: block;
	font-size: 0.75rem;
	color: #fff;
	padding: 5px 10px;
	width: 70px;
	text-align: center;
	line-height: 0.75rem;
}
article.entry_data .team__detail dd ul > li:nth-child(1) a{background: #df0018;}
article.entry_data .team__detail dd ul > li:nth-child(2) a{background: #3a5995;}
article.entry_data .team__detail dd ul > li:nth-child(3) a{background: #4faceb;}
article.entry_data .team__status{
	margin: 20px 0;
	overflow-y: scroll;
	height: 255px;
}
article.entry_data .team__status::-webkit-scrollbar {width: 10px; height: 10px;}
article.entry_data .team__status::-webkit-scrollbar-track {box-shadow: none;}
article.entry_data .team__status::-webkit-scrollbar-thumb {background: #df0018;}
article.entry_data .team__status th,
article.entry_data .team__status td{
	border: 1px solid #d4d4d4;
	padding: 12px 0;
	text-align: center;
}
article.entry_data .team__status th{
	background: #f5f5f5;
}
article.entry_data .team__status td{
	font-size: 0.85rem;
}
article.entry_data .team__status td span.icoCap::before{
	content: "";
	display: inline-block;
	width: 16px;
	height: 27px;
	background-image: url(../images/jpc/common/v2/team_ico_cap.png);
	background-repeat: no-repeat;
	background-size: cover;
	vertical-align: -5px;
	margin-right: 10px;
}
article.entry_data .team__status td span.icoMem::before{
	content: "";
	display: inline-block;
	width: 16px;
	height: 27px;
	background-image: url(../images/jpc/common/v2/team_ico_mem.png);
	background-repeat: no-repeat;
	background-size: cover;
	vertical-align: -5px;
	margin-right: 10px;
}
article.entry_data .team__status td a.link{
	display: inline-block;
	background: #df0018;
	font-size: 0.66rem;
	color: #fff;
	padding: 4px 5px;
	line-height: 0.66rem;
	margin-left: 5px;
	vertical-align: 2px;
}


/* Loader- team */
.tm__loader{background:#fff; height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 200;}
.tm__loader-animation {height: 50px; left: 50%; margin: -25px 0 0 -25px; position: absolute; top: 50%; width: 50px;}
.tm__loaderIcon {position: relative; width: 100%; margin: 0 auto; height: 100%;}
.tm__Icon {font-size: 10px; margin: 0 auto; text-indent: -9999em; width: 4em; height: 4em; border-radius: 50%;
	background: #d61518;
	background: -moz-linear-gradient(left, #d61518 10%, rgba(0, 0, 0, 0) 42%);
	background: -webkit-linear-gradient(left, #d61518 10%, rgba(0, 0, 0, 0) 42%);
	background: -o-linear-gradient(left, #d61518 10%, rgba(0, 0, 0, 0) 42%);
	background: -ms-linear-gradient(left, #d61518 10%, rgba(0, 0, 0, 0) 42%);
	background: linear-gradient(to right, #d61518 10%, rgba(0, 0, 0, 0) 42%);
	position: relative;
	-webkit-animation: is__load 1.4s infinite linear;
	animation: is__load 1.4s infinite linear;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
}
.tm__Icon:before {width: 50%; height: 50%; background: #d61518; border-radius: 100% 0 0 0; position: absolute; top: 0; left: 0; content: '';}
.tm__Icon:after {background: #fff; width: 90%;height: 90%; border-radius: 50%; content: ''; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0;}
@-webkit-keyframes is__load {
	0%   {-webkit-transform: rotate(0deg); transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg); transform: rotate(360deg);}
}
@keyframes is__load {
	0%   {-webkit-transform: rotate(0deg); transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg); transform: rotate(360deg);}
}

/* Slick */
section#team #team__list .slick-prev,
section#team #team__list .slick-next {
	height: 100%;
	width: 145px;
}
section#team #team__list .slick-prev:before,
section#team #team__list .slick-next:before {}
section#team #team__list .slick-prev {
	left: 0;
	z-index: 1;
}
[dir="rtl"] section#team #team__list .slick-prev {
	left: auto;
	z-index: 1;
	right: 0;
}
section#team #team__list .slick-prev:before {
	position: absolute;
	content: "";
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 60px;
	height: 60px;
	-webkit-transform: rotate(135deg);
	transform: rotate(-135deg);
	right: 50px;
	top: 50%;
	margin: -30px 0 0 0;
}
[dir="rtl"] section#team #team__list .slick-prev:before {
	position: absolute;
	content: "";
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 60px;
	height: 60px;
	-webkit-transform: rotate(135deg);
	transform: rotate(-135deg);
	right: 50px;
	top: 50%;
	margin: -30px 0 0 0;
}
section#team #team__list .slick-next {
	right: 0;
	z-index: 1;
}
[dir="rtl"] section#team #team__list .slick-next {
	right: auto;
	left: 0;
	z-index: 1;
}
section#team #team__list .slick-next:before {
	position: absolute;
	content: "";
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 60px;
	height: 60px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	right: 30px;
	top: 50%;
	margin: -30px 0 0 0;
}
[dir="rtl"] section#team #team__list .slick-next:before {
	position: absolute;
	content: "";
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 60px;
	height: 60px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	right: 30px;
	top: 50%;
	margin: -30px 0 0 0;
}

/* Result */
section#result{}
section#result .resultArea{
	background: #141620;
	color: #d0d0d0;
	padding: 30px;
	border: 3px solid #e6c973;
	box-sizing: border-box;
}
section#result .resultArea ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}
section#result .resultArea ul > li{
	width: 48%;
}
section#result .resultArea ul > li:first-child{
	position: relative;
	overflow: hidden;
	background-color: rgba(20,22,32,1.0);
}
section#result .resultArea ul > li:first-child img {
	transition-property: opacity;
	transition: 0.5s;
	background: #fff;
}
section#result .resultArea ul > li:first-child a:hover img {opacity: 0.5;}
section#result .resultArea ul > li h5{
	font-size: 2.0rem;
	font-weight: 600;
	color: #e6cb8a;
	line-height: 1.35;
}
section#result .resultArea ul > li h5::after{
	content: "";
	display: block;
	background-color: #e6cb8a;
	width: 100%;
	height: 2px;
	margin: 10px 0;
}
section#result .resultArea ul > li a{
	transition-duration: 0.5s;
}
section#result .resultArea ul > li a img{
	display: block;
	width: 100%;
}
section#result .resultArea ul > li span{
	position: absolute;
	bottom: 0;
	right: 0;
}
section#result .resultArea ul > li span a{
	color: #e6cb8a;
}
section#result .resultArea ul > li span a:hover{
	color: #fff;
}

section#result .detailBox {
	margin-bottom: 30px;
}
section#result .detailBox h4 {
	color: #fff;
	font-size: 1.4rem;
	background: #5a5a5a;
	padding: 10px 15px;
	margin-bottom: 30px;
	position: relative;
}
section#result .detailBox h4::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 30px;
	background: #e10400;
	vertical-align: -7px;
	margin: 0 15px 0 0;
}
section#result p.tips {
    margin: -10px 0 15px 10px;
    line-height: 1.15rem;
}
section#result .winner_image{
	margin-bottom: 20px;
}
section#result .winner_text p{
	margin-bottom: 30px;
}
section#result .winner_text p:last-of-type{
	margin-bottom: 0;
}
section#result .movieArea{
	background: #141620;
	color: #d0d0d0;
	padding: 30px;
}
section#result .movieArea ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}
section#result .movieArea ul > li{
	width: 48%;
}
section#result .movieArea ul > li:first-child{
	position: relative;
	overflow: hidden;
	background-color: rgba(20,22,32,1.0);
}
section#result .movieArea ul > li:first-child a::before{
	content: "";
	border: 20px solid transparent;
	border-left: 30px solid #fff;
	width: 0;
	height: 0;
	position: absolute;
	top: -25%;
	left: 50%;
	margin: -15px 0 0 -12px;
	transition: 0.25s;
	z-index: 1;
}
section#result .movieArea ul > li:first-child a::after{
	content: "";
	background-color: rgba(255,255,255,0.4);
	border-radius: 50%;
	width: 90px;
	height: 90px;
	position: absolute;
	top: -25%;
	right: 50%;
	margin: -40px -45px 0 0;
	transition: 0.25s;
}
section#result .movieArea ul > li:first-child a:hover::before{top: 50%;}
section#result .movieArea ul > li:first-child a:hover::after{top: 50%;}
section#result .movieArea ul > li:first-child img {
	transition-property: opacity;
	transition: 0.5s;
	background: #fff;
}
section#result .movieArea ul > li:first-child a:hover img {opacity: 0.5;}
section#result .movieArea ul > li h5{
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.35;
}
section#result .movieArea ul > li h5::after{
	content: "";
	display: block;
	background-color: #737373;
	width: 100%;
	height: 2px;
	margin: 10px 0;
}
section#result .movieArea ul > li a{
	transition-duration: 0.5s;
}
section#result .movieArea ul > li a img{
	display: block;
	width: 100%;
}
section#result .movieArea ul > li span{
	position: absolute;
	bottom: 0;
	right: 0;
}
section#result .movieArea ul > li span a{
	color: #737373;
}
section#result .movieArea ul > li span a:hover{
	color: #fff;
}
section#result .movieArea ul > li span a::before{
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(../images/jpc/common/v2/jpc_ico_yt.svg);
	background-repeat: no-repeat;
	background-size: cover;
	vertical-align: -4px;
	margin-right: 5px;
}

section#result .tournament_image{}

section#result .winnerBox{
	width: 100%;
	max-width: 1024px;
	display: block;
	margin: 60px auto;
}
section#result .winnerBox h3{
	text-align: center;
	margin-bottom: 30px;
}
section#result .winnerBox .detail{
	width: 100%;
	position: relative;
}
section#result .winnerBox .detail .winner_image{
	position: relative;
	margin-bottom: 0;
}
section#result .winnerBox .detail .winner_image img{
	width: 100%;
}
section#result .winnerBox .detail .winner_image ul{
	width: 95%;
	background-color: rgba(0,0,0,0.8);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 2.5%;
	position: absolute;
	bottom: 0;
}
section#result .winnerBox .detail .winner_image li:first-child{
	margin-right: 20px;
}
section#result .winnerBox .detail .winner_image li h4{
	color: #fff;
	font-size: 4.6rem;
	font-weight: 600;
	background: none;
	padding: 0;
	margin: 0;
}
section#result .winnerBox .detail .winner_image li h4::before{
	display: none;
}
section#result .winnerBox .detail .winner_image li h4 span{
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 5px;
}
section#result .winnerBox .detail .winner_colu2{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
section#result .winnerBox .detail .winner_colu2 li{
	width: 48%;
}
section#result .winnerBox .detail .winner_colu2 .winner_image li:first-child{
	width: 20%;
	margin-right: 10px;
}
section#result .winnerBox .detail .winner_colu2 .winner_image li h4{
	font-size: 1.8rem;
}
section#result .winnerBox .detail .winner_colu2 .winner_image li h4 span{
	font-size: 1.0rem;
}

section#result .tableRound{
	margin-bottom: 30px;
}
section#result .tableRound h5{
	color: #5a5a5a;
	font-size: 1.1rem;
	font-weight: 700;
	padding: 0;
	margin-bottom: 10px;
	position: relative;
}
section#result .tableRound h5::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 23px;
	background: #5a5a5a;
	vertical-align: -5px;
	margin: 0 7px 0 0;
}
section#result .tableRound table{
	width: 100%;
}
section#result .tableRound th{
	background: #f5f5f5;
	border: 1px solid #d4d4d4;
	padding: 15px 0;
	vertical-align: middle;
}
section#result .tableRound th:first-child{
	width: 260px;
}
section#result .tableRound td{
	background: #fff;
	border: 1px solid #d4d4d4;
	padding: 10px 5px;
	text-align: center;
	line-height: 1.0rem;
	vertical-align: middle;
}
section#result .tableRound tr.pass td{
	background-color: #e6eeff;
}
section#result .tableRound td.none{
	background-color: #f5f5f5;
}
section#result .tableRound td span{
	display: block;
	margin: 0 auto 4px;
	background-color: #ccc;
	width: 70px;
	color: #fff;
	font-size: 0.7em;
	font-weight: 600;
	padding: 2px;
}
section#result .tableRound td span.area__00{background-color: #999999; /**/}
section#result .tableRound td span.area__01{background-color: #a079c9; /*北海道 */}
section#result .tableRound td span.area__02{background-color: #3f92cb; /*東北 */}
section#result .tableRound td span.area__03{background-color: #df63a1; /*関東 */}
section#result .tableRound td span.area__04{background-color: #df63a1; /*中央 */}
section#result .tableRound td span.area__05{background-color: #c3bf23; /*北陸 */}
section#result .tableRound td span.area__06{background-color: #6056c3; /*東海 */}
section#result .tableRound td span.area__07{background-color: #eb7743; /*近畿 */}
section#result .tableRound td span.area__08{background-color: #48c448; /*中四国 */}
section#result .tableRound td span.area__09{background-color: #e4c31c; /*九州 */}
section#result .tableRound td span.area__10{background-color: #457bd3; /*沖縄 */}
section#result .tableRound td span.area__11{background-color: #c0504d; /*TEAM OPEN */}

section#result .tableRound span.notice{margin: 10px 0; display: block; font-size: 0.7rem;}

/* Result Photo */
section#result .res__gallery ul{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
section#result .res__gallery ul > li{
	margin-bottom: 30px;
	position: relative;
	overflow: hidden;
	background-color: rgba(20,22,32,1.0);
}
section#result .res__gallery ul > li a::before{
	content: "";
	background-image: url(../images/jpc/common/v2/jpc_search.svg);
	width: 50px;
	height: 50px;
	position: absolute;
	top: -25%;
	left: 50%;
	margin: -20px 0 0 -25px;
	transition: 0.25s;
	z-index: 1;
}
section#result .res__gallery ul > li a::after{
	content: "";
	background-color: rgba(255,255,255,0.4);
	border-radius: 50%;
	width: 90px;
	height: 90px;
	position: absolute;
	top: -25%;
	right: 50%;
	margin: -40px -45px 0 0;
	transition: 0.25s;
}
section#result .res__gallery ul > li a:hover::before{top: 50%;}
section#result .res__gallery ul > li a:hover::after{top: 50%;}
section#result .res__gallery ul > li .p-hover-effect--type3:hover img {opacity: 0.5;}

/* lightbox jpc custom */
.lightbox .lb-image {border-radius: 0; border: none;}

/* == Responsive max-width: 1023px ================================================== */
@media (max-width: 1023px) {
section:not(#mainArea) {width: 90%; max-width: 100%; margin: 30px auto; padding: 0 5%;}

/* h */
section h2{font-size: 1.15rem; padding: 10px; margin-bottom: 15px;}
section h2::before{content: ""; width: 5px; height: 24px; margin: -2px 10px 0 0;}
section h3{font-size: 1.0rem; line-height: 1.5rem;}

/* p */
section p{font-size: 0.75rem; line-height: 1.4rem;}

/* Btn */
.btnArea a{width: 70%; max-width: 400px; font-size: 0.85rem; margin: 0 auto !important;}
.btnArea a::after{content: ""; border-top: 2px solid #df0018; border-right: 2px solid #df0018; width: 9px; height: 9px;}

/* PageTop */
#js-pagetop a {width: 60px; padding: 45px 0 0;}
#js-pagetop .fa{font-size: 2.0rem; margin: -27% 0 0 -22%;}

/* img */
img{display: block; width: 100%;}

/* == header & Footer ================================================== */
/* header */
div#jpc_header{height: 50px; top: 55px;}
div#jpc_header .inner .head__logo{padding: 5px 10px; width: 105px;}
div#jpc_header .inner .head__logo a{width: 105px; height: 40px; background-size: 100px auto;}
div#jpc_header .inner .head__navi{width: 24px; height: 24px; right: 15px; margin: -10px 0 0;}
div#jpc_header .inner .head__navi span,
div#jpc_header .inner .head__navi span::before,
div#jpc_header .inner .head__navi span::after {content: ''; height: 4px; width: 24px;}
div#jpc_header .inner .head__navi span:before {bottom: -9px;}
div#jpc_header .inner .head__navi span:after {bottom: -18px;}

/* == Modal ================================================== */
.jpc__modal__main {display: none; max-width: 100%; margin: 0 0 0 -50%;}
.jpc__modal__main ul > li{margin-bottom: 35px;}
.jpc__modal__main ul > li a{font-size: 1.8rem;}
.jpc__modal__main ul > li a:hover:after {bottom: -10px;}
.jpc__modal__main ul > li .none{font-size: 1.8rem;}
.jpc__modal__btn--close--fix {width: 30px; height: 30px; top: 65px; right: 20px;}
.jpc__modal__btn--close--fix:before {content: ""; width: 34px; height: 34px; border-right: 4px solid #fff; top: 10px; left: -15px;}
.jpc__modal__btn--close--fix:after {content: ""; width: 34px; height: 34px; border-right: 4px solid #fff; top: -14px; left: -15px;}

/* footer */
div#jpc_footer .sponsor{padding: 25px 0;}
div#jpc_footer .sponsor .sponsor_logo {width: 90%; max-width: 400px; margin-bottom: 15px;}
div#jpc_footer .sponsor .sponsor_logo a{padding: 15px 15%; text-align: center;}
div#jpc_footer .sponsor p{font-size: 0.75rem;}
div#jpc_footer .social ul > li{width: 45px; margin: 0 7px}

/* == Layout ================================================== */
/* container */
section#mainArea .main__detail .jpc__logo{max-width: 250px; margin: -200px 0 0 -125px;}
section#mainArea .main__detail .scroll {width: 60px; font-size: 0.65rem; margin: 250px 0 0 -25px;}
section#mainArea .main__detail .scroll span {width: 22px; height: 42px; margin-left: -12px; top: -42px; left: 50%;}
section#mainArea .main__detail .video_box{height: calc(100vh - 90px);}
section#mainArea .main__detail::before{content: ''; width: 100%;}
section#mainArea .main__detail::after{content: ''; width: 100%;}

/* Contents */
section#contArea{width: 100%; padding: 145px 0 40px; margin: 0;}
section#contArea h2{font-size: 1.4rem;}

/* About */
section#about{}
section#about h3{margin: 10px 0; line-height: 1.5rem;}
section#about ul{flex-wrap: wrap;}
section#about ul > li{width: 100%;}

/* Flow */
section#flow{}
section#flow h3{margin-bottom: 10px;}
section#flow .flowchart{margin-bottom: 10px;}

/* Winner */
section#winner{}
section#winner .detail ul{flex-wrap: wrap; padding: 20px;}
section#winner .detail ul > li{width: 100%;}
section#winner .detail h3{font-size: 1.0rem; margin: 10px 0;}
section#winner .detail ul > li p{font-size: 0.8rem; line-height: 1.5rem;}
section#winner .detail ul > li p.notice{font-size: 0.6rem; margin: 10px 0;}
section#winner .detail ul.noticeList{margin: 0 0 0 15px;}

/* Outline */
section#outline{}
section#outline .detailBox{margin-bottom: 20px;}
section#outline .detailBox .unit{margin-bottom: 20px;}
section#outline .detailBox h4{font-size: 0.85rem; padding: 10px; margin-bottom: 15px;}
section#outline .detailBox h4::before {content: ""; width: 3px; height: 23px; margin: 0 10px 0 0;}
section#outline .detailBox h5{font-size: 0.80rem; margin-bottom: 10px;}
section#outline .detailBox p span a{font-size: 0.6rem; line-height: 1.2rem; padding: 0 6px; margin-left: 5px;}
section#outline .detailBox span{font-size: 0.7rem; line-height: 1.2rem;}
section#outline .detailBox dl dt{width: 40px; font-size: 0.75rem;}
section#outline .detailBox dl dd{font-size: 0.75rem; margin-bottom: 15px;}
section#outline .detailBox ul.detailList{margin: 0 0 0 20px; line-height: 1.1rem;}
section#outline .detailBox ul.detailList > li{font-size: 0.75rem; margin-bottom: 10px;}
section#outline .detailBox .tbl_cell__team table{overflow: scroll; display: block; overflow-x: scroll; white-space: nowrap; -webkit-overflow-scrolling: touch;}
section#outline .detailBox .tbl_cell__team th{font-size: 0.8rem;}
section#outline .detailBox .tbl_cell__team td{font-size: 0.8rem; padding: 15px;}
section#outline .detailBox .unit table{width: 99%; display: block; overflow-x: scroll; white-space: nowrap; -webkit-overflow-scrolling: touch;}
section#outline .noticeBox{padding: 10px; margin: 20px 0;}
section#outline .noticeBox p{margin: 0 0 0 25px;}
section#outline .noticeBox p::before{top: 1px; left: -25px; font-size: 0.8rem; line-height: 0.6rem; width: 8px; height: 8px;}
section#outline .online::after{height: 2px; margin: 30px 0;}

/* tbl_cell */
section#outline .detailBox .tbl_cell__team{width: 100%;}
section#outline .detailBox .tbl_cell__form,
section#outline .detailBox .tbl_cell__point,
section#outline .detailBox .tbl_cell__judge{width: 100%;}
section#outline .detailBox .tbl_cell__point ul{font-size: 0.80rem; line-height: 1.4rem; margin: 0 0 10px 20px;}
section#outline .detailBox .tbl_cell__form th:first-child{width: 20px;}
section#outline .detailBox .tbl_cell__judge th{width: 60px;}
section#outline .detailBox .tbl_cell__judge td{text-align: left !important;}
section#outline .detailBox .tbl_cell__team th,
section#outline .detailBox .tbl_cell__form th,
section#outline .detailBox .tbl_cell__point th,
section#outline .detailBox .tbl_cell__judge th{padding: 10px; font-size: 0.8rem; line-height: 1.1rem;}
section#outline .detailBox .tbl_cell__team td,
section#outline .detailBox .tbl_cell__form td,
section#outline .detailBox .tbl_cell__point td,
section#outline .detailBox .tbl_cell__judge td{padding: 10px; font-size: 0.8rem;}

/* Team */
section#team{}
section#team p.tips{margin: -5px 0 10px 0;}
section#team #team__list,
section#team #team__entry{margin-bottom: 20px;}
section#team #team__list .entry,
section#team #team__entry .entry{margin: 0;}
section#team #team__list .entry .team__detail dl,
section#team #team__entry .entry .team__detail dl{flex-direction: column; padding: 10px;}
section#team #team__list .entry .team__detail dl > dt,
section#team #team__entry .entry .team__detail dl > dt{display: none;}
section#team #team__list .entry .team__detail dl > dd,
section#team #team__entry .entry .team__detail dl > dd{width: 100%;}
section#team #team__list .entry .team__detail dl > dd div,
section#team #team__entry .entry .team__detail dl > dd div{margin-bottom: 5px;}
section#team #team__list .entry .team__detail dl > dd div:nth-of-type(2),
section#team #team__entry .entry .team__detail dl > dd div:nth-of-type(2){margin-bottom: 0;}

section#team #team__list .entry .team__detail dl > dd p,
section#team #team__entry .entry .team__detail dl > dd p{font-size: 0.75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
section#team #team__list .entry .team__detail dl > dd span,
section#team #team__entry .entry .team__detail dl > dd span{font-size: 0.65rem; line-height: 1rem; padding: 2px 0; width: 40px; margin-right: 10px;}
section#team #team__entry ul > li{width: 100%; margin-bottom: 15px;}
section#team #team__entry ul > li:last-child{margin-bottom: 0;}
section#team #team__entry ul > li .team__image{padding: 10px;}
section#team #team__entry ul > li .team__image img{width: 100%; margin: 0 auto;}
section#team #team__entry ul > li .team__image::before{display: none;}

/* Team Data */
#jpc__teamdata__main{width: 90%; height: 77vh; left: 50%; top: 0; bottom: 0; margin: 10% 0 0 -45%; overflow-y: scroll;}

/* チーム紹介 詳細 */
article.entry_data{display: block; padding: 2.5%;}
article.entry_data .team__modal__btn--close{width: 30px; height: 30px; top: 12px; right: 15px;}
article.entry_data .team__modal__btn--close:before{width: 30px; height: 30px; top: 10px; left: -13px;}
article.entry_data .team__modal__btn--close:after{width: 30px; height: 30px; top: -11px; left: -13px;}
article.entry_data .team__images{width: 100%; max-width: 400px; margin: 40px auto 15px;}
article.entry_data .team__images .image{padding: 10px;}
article.entry_data .team__info{width: 100%;}
article.entry_data .team__info h3{font-size: 1.0rem; line-height: 1.35rem;}
article.entry_data .team__info h3 span{margin-bottom: 5px;}
article.entry_data .team__detail dl{display: block; line-height: 1.25rem; margin-bottom: 15px;}
article.entry_data .team__detail dt{width: 100%; margin-bottom: 5px;}
article.entry_data .team__detail dd{width: 100%; font-size: 0.85rem; line-height: 1.2rem;}
article.entry_data .team__detail dd ul{margin: 5px 0 0;}
article.entry_data .team__detail dd ul > li a{padding: 5px; width: 70px;}
article.entry_data .team__status{margin: 0; padding: 0 2.5%;}
article.entry_data .team__status::-webkit-scrollbar {width: 5px; height: 5px;}
article.entry_data .team__status table{display: inline-table; overflow: scroll; overflow-x: scroll; white-space: nowrap;}
article.entry_data .team__status th,
article.entry_data .team__status td{padding: 10px; font-size: 0.75rem;}
article.entry_data .team__status th{font-size: 0.75rem;}
article.entry_data .team__status td span.icoCap::before{content: ""; width: 14px; height: 24px; vertical-align: -6px; margin-right: 6px;}
article.entry_data .team__status td span.icoMem::before{content: ""; width: 14px; height: 24px; vertical-align: -6px; margin-right: 6px;}


/* Slick */
section#team #team__list .slick-prev,
section#team #team__list .slick-next {width: 50px;}
section#team #team__list .slick-prev:before {content: ""; border-top: 2px solid #fff; border-right: 2px solid #fff; width: 25px; height: 25px; right: 0px; margin: -25px 0 0 0;}
[dir="rtl"] section#team #team__list .slick-prev:before {content: ""; border-top: 2px solid #fff; border-right: 2px solid #fff; width: 25px; height: 25px; right: 0px; top: 50%; margin: -25px 0 0 0;}
section#team #team__list .slick-next:before {content: ""; width: 25px; height: 25px; right: 0px; top: 50%; margin: -25px 0 0 0;}
[dir="rtl"] section#team #team__list .slick-next:before {content: ""; border-top: 2px solid #fff; border-right: 2px solid #fff; width: 25px; height: 25px; right: 0px; margin: -25px 0 0 0;}

/* Result */
section#result{}
section#result .resultArea{padding: 15px;}
section#result .resultArea ul{display: block;}
section#result .resultArea ul > li{width: 100%;}
section#result .resultArea ul > li:first-child a::before{margin: -10px 0 0 -5px; border: 10px solid transparent; border-left: 15px solid #fff;}
section#result .resultArea ul > li:first-child a::after{width: 46px; height: 46px; margin: -23px -23px 0 0;}
section#result .resultArea ul > li:first-child a:hover::before{top: 50%;}
section#result .resultArea ul > li:first-child a:hover::after{top: 50%;}
section#result .resultArea ul > li h5{font-size: 1.0rem; line-height: 1.45; margin-top: 10px;}
section#result .resultArea ul > li h5::after{height: 1px;}
section#result .resultArea ul > li span{position: static; text-align: right; display: block; font-size: 0.75rem; margin-top: 5px;}
section#result .resultArea ul > li span a::before{width: 16px; height: 16px; margin-right: 4px;}
section#result .detailBox {margin-bottom: 15px;}
section#result .tableRound h5{font-size: 0.85rem; margin-bottom: 10px;}
section#result .tableRound h5::before {width: 3px; height: 20px; vertical-align: -5px; margin: 0 6px 0 0;}
section#result .detailBox h4 {font-size: 0.85rem; padding: 10px; margin-bottom: 15px;}
section#result .detailBox h4::before {content: ""; width: 3px; height: 23px; margin: 0 10px 0 0;}
section#result .winner_image{margin-bottom: 15px;}
section#result .winner_text p{margin-bottom: 15px;}
section#result .movieArea{padding: 15px;}
section#result .movieArea ul{display: block;}
section#result .movieArea ul > li{width: 100%;}
section#result .movieArea ul > li:first-child a::before{margin: -10px 0 0 -5px; border: 10px solid transparent; border-left: 15px solid #fff;}
section#result .movieArea ul > li:first-child a::after{width: 46px; height: 46px; margin: -23px -23px 0 0;}
section#result .movieArea ul > li:first-child a:hover::before{top: 50%;}
section#result .movieArea ul > li:first-child a:hover::after{top: 50%;}
section#result .movieArea ul > li h5{font-size: 0.8rem; line-height: 1.35; margin-top: 10px;}
section#result .movieArea ul > li h5::after{height: 1px;}
section#result .movieArea ul > li span{position: static; text-align: right; display: block; font-size: 0.75rem; margin-top: 5px;}
section#result .movieArea ul > li span a::before{width: 16px; height: 16px; margin-right: 4px;}
section#result .winnerBox{margin: 30px auto;}
section#result .winnerBox h3{width: 50%; max-width: 360px; margin: 0 auto 20px;}
section#result .winnerBox .detail .winner_image li:first-child{width: 20%; margin-right: 5px;}
section#result .winnerBox .detail .winner_image li h4{font-size: 1.2rem;}
section#result .winnerBox .detail .winner_image li h4 span{font-size: 0.75rem; margin-bottom: 3px;}
section#result .winnerBox .detail .winner_colu2{display: block;}
section#result .winnerBox .detail .winner_colu2 li{width: 70%; margin: 0 auto;}
section#result .winnerBox .detail .winner_colu2 li:first-child{margin-bottom: 15px;}
section#result .winnerBox .detail .winner_colu2 .winner_image li:first-child{margin-right: 5px; margin-bottom: 0;}
section#result .winnerBox .detail .winner_colu2 .winner_image li h4{font-size: 0.85rem;}
section#result .winnerBox .detail .winner_colu2 .winner_image li h4 span{font-size: 0.7rem;}
section#result .tableRound table{overflow: scroll; display: block; overflow-x: scroll; white-space: nowrap; -webkit-overflow-scrolling: touch;}
section#result .tableRound th{font-size: 0.8em; padding: 10px;}
section#result .tableRound th:first-child{width: 100px; display: block;}
section#result .tableRound td{font-size: 0.75em; padding: 10px;}
section#result .tableRound td span{width: 60px;}

section#result .res__gallery ul > li{width: 47%; margin-bottom: 15px;}
section#result .res__gallery ul > li a::before{width: 26px; height: 26px; margin: -13px 0 0 -13px;}
section#result .res__gallery ul > li a::after{width: 46px; height: 46px; margin: -23px -23px 0 0;}

/* lightbox jpc custom */
.lightbox .lb-image {border-radius: 0; border: none;}

}

/* == Responsive max-width: 1200px ================================================== */
@media (max-width: 1200px) and (min-width: 1024px)  {
/* == Modal ================================================== */
.jpc__modal__main {display: none; max-width: 100%; margin: 0 0 0 -50%;}
.jpc__modal__main ul > li{margin-bottom: 40px;}
.jpc__modal__main ul > li a{font-size: 2.6rem;}
.jpc__modal__main ul > li a:hover:after {bottom: -10px;}
.jpc__modal__main ul > li .none{font-size: 2.6rem;}
.jpc__modal__btn--close--fix {width: 30px; height: 30px; top: 65px; right: 20px;}
.jpc__modal__btn--close--fix:before {content: ""; width: 34px; height: 34px; border-right: 4px solid #fff; top: 10px; left: -15px;}
.jpc__modal__btn--close--fix:after {content: ""; width: 34px; height: 34px; border-right: 4px solid #fff; top: -14px; left: -15px;}

/* Team Data */
#jpc__teamdata__main{width: 70%; height: 80vh; left: 50%; top: 0; bottom: 0; margin: 10% 0 0 -35%; overflow-y: scroll;}

/* チーム紹介 詳細 */
article.entry_data{display: block; padding: 2.5%;}
article.entry_data .team__modal__btn--close{width: 30px; height: 30px; top: 12px; right: 15px;}
article.entry_data .team__modal__btn--close:before{width: 30px; height: 30px; top: 10px; left: -13px;}
article.entry_data .team__modal__btn--close:after{width: 30px; height: 30px; top: -11px; left: -13px;}
article.entry_data .team__images{width: 90%; max-width: 680px; margin: 35px auto;}
article.entry_data .team__images .image{padding: 10px;}
article.entry_data .team__info{width: 100%;}
article.entry_data .team__info h3{font-size: 1.0rem;}
article.entry_data .team__info h3 span{margin-bottom: 5px;}
article.entry_data .team__detail dl{display:  inline-table; line-height: 1.0rem; margin-bottom: 15px;}
article.entry_data .team__detail dt{width: 100%; margin-bottom: 5px;}
article.entry_data .team__detail dd{width: 100%; font-size: 0.85rem; line-height: 1.2rem;}
article.entry_data .team__detail dd ul{margin: 5px 0 0;}
article.entry_data .team__detail dd ul > li a{padding: 5px; width: 70px;}
article.entry_data .team__status{margin: 0; padding: 0 2.5%;}
article.entry_data .team__status::-webkit-scrollbar {width: 5px; height: 5px;}
article.entry_data .team__status th,
article.entry_data .team__status td{padding: 10px; font-size: 0.75rem;}
article.entry_data .team__status th{font-size: 0.75rem;}
article.entry_data .team__status td span.icoCap::before{content: ""; width: 14px; height: 24px; vertical-align: -6px; margin-right: 6px;}
article.entry_data .team__status td span.icoMem::before{content: ""; width: 14px; height: 24px; vertical-align: -6px; margin-right: 6px;}

}

/* == Responsive max-width: 415px ================================================== */
@media (max-width: 415px) {
/* == Layout ================================================== */
/* container */
section#mainArea .main__detail .jpc__logo{max-width: 180px; margin: -120px 0 0 -90px;}
section#mainArea .main__detail .scroll {width: 60px; font-size: 0.65rem; margin: 235px 0 0 -25px;}
section#mainArea .main__detail .scroll span {width: 22px; height: 42px; margin-left: -12px; top: -42px; left: 50%;}
section#mainArea .main__detail::before{content: ''; width: 150%;}
section#mainArea .main__detail::after{content: ''; width: 135%;}

/* == Modal ================================================== */
.jpc__modal__main {display: none; max-width: 100%; margin: 0 0 0 -50%;}
.jpc__modal__main ul > li{margin-bottom: 25px;}
.jpc__modal__main ul > li a{font-size: 1.2rem;}
.jpc__modal__main ul > li a:hover:after {bottom: -10px;}
.jpc__modal__main ul > li .none{font-size: 1.2rem;}
.jpc__modal__btn--close--fix {width: 30px; height: 30px; top: 65px; right: 20px;}
.jpc__modal__btn--close--fix:before {content: ""; width: 34px; height: 34px; border-right: 4px solid #fff; top: 10px; left: -15px;}
.jpc__modal__btn--close--fix:after {content: ""; width: 34px; height: 34px; border-right: 4px solid #fff; top: -14px; left: -15px;}

/* チーム紹介 詳細 */
article.entry_data .team__status table{display: block; overflow: scroll; overflow-x: scroll; white-space: nowrap;}

}
/* == Responsive max-heght: 800px ================================================== */
@media (max-height: 800px) and (min-width: 768px)  {
/* == Layout ================================================== */
/* container */
section#mainArea .main__detail .jpc__logo{max-width: 250px; margin: -180px 0 0 -125px;}
section#mainArea .main__detail .scroll {width: 60px; font-size: 0.65rem; margin: 275px 0 0 -30px;}
section#mainArea .main__detail .scroll span {width: 22px; height: 42px; margin-left: -12px; top: -42px; left: 50%;}

}

/* == Keyframes ================================================== */
@keyframes SlideUp {
	0%   {opacity: 0; transform: translateY(100%);}
	100% {opacity: 1; transform: translateY(0%);}
}
@keyframes SlideDown {
	0%   {opacity: 1; transform: translateY(0%);}
	100% {opacity: 0; transform: translateY(100%);}
}
@-webkit-keyframes wheel {
	0%   {-webkit-transform: translate(0, 0); opacity: 1;}
	60%  {-webkit-transform: translate(0, 5px); opacity: 0;}
	100% {opacity: 0;}
}
@keyframes wheel {
	0%   {transform: translate(0, 0); opacity: 1;}
	60%  {transform: translate(0, 5px); opacity: 0;}
	100% {opacity: 0;}
}
