@charset "utf-8";

#contents_area {
	--c-text: #fff;
	--c-bg-header: #091c3f;
	--c-bg-red: #e20012;
}

@media print, screen and (min-width : 768px){
	#contents_area {
		overflow: hidden;
		position: relative;
		min-width: 980px;
		padding: 60px 0 30px;
		background: #000;
		color: var(--c-text);
		font-weight: bold;
		font-size: 16px;
		line-height: 1;
		font-family: '游ゴシック体 Pr6N B', 'Yu Gothic Pr6N B', 'Yu Gothic Medium', '游ゴシック Medium', 'YuGothic', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'メイリオ', sans-serif;
		font-feature-settings: 'palt' 1;
	}

	#contents_area .sp {
		display: none !important;
	}

	.section {
		position: relative;
		z-index: 1;
	}
	.section img {
		display: block;
		width: 100%;
	}
	.section a {
		color: inherit;
	}

	#contents_area .anc {
		visibility: hidden;
		opacity: 0;
		position: absolute;
	}

	.section_inner {
		margin: auto;
	}

	.section_title {
		padding: 125px 70px 55px;
	}
	.section_title img {
		width: auto;
		height: 21px;
	}

	.movie {
		position: relative;
		padding-top: 56.25%;
	}
	.movie iframe {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}

	.modal_mov_open a {
		display: block;
		position: relative;
	}
	.modal_mov_open a::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		z-index: 1;
		height: 77px;
		background: url(../img/btn_play.svg) 50% 0 / contain no-repeat;
		transform: translateY(calc(-31 / 77 * 100%));
		transition: .2s transform;
	}
	.modal_mov_open a:hover::after {
		transform: translateY(calc(-31 / 77 * 100%)) scale(1.05);
	}


/* ----------------------------------------
	Animation
---------------------------------------- */

	.anim_ready .scroll_anim {
		opacity: 0;
		backface-visibility: hidden;
	}

	.anim_ready .anim_end {
		opacity: 1;
		transition: .75s;
		transition-property: opacity;
	}

	.anim_ready .anim_r2l {
		--skewX: -60deg;
		position: relative;
		transform: skewX(var(--skewX));
		animation: 1s forwards cubic-bezier(0.16, 1, 0.3, 1);
	}

	.anim_ready .anim_r2l.anim_end {
		opacity: 0;
		animation-name: anim_r2l;
	}


/* ----------------------------------------
	sports_header
---------------------------------------- */

	#sports_header {
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		z-index: 10;
	}
	#sports_header>div {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		height: 60px;
		background: var(--c-bg-header);
	}

	#sports_header.fixed>div {
		position: fixed;
	}

	#sports_header h1 {
		width: 286px;
		margin-left: 40px;
	}

	#sports_nav,
	#sports_nav>ul {
		height: 100%;
	}
	#sports_nav {
		margin-right: 70px;
	}
	#sports_nav img {
		width: auto;
	}
	#sports_nav>ul {
		display: flex;
	}
	#sports_nav>ul>li {
		display: flex;
		align-items: center;
		position: relative;
		margin-left: 30px;
		font-size: 12px;
	}

	#sports_nav .current a::after {
		content: '';
		position: absolute;
		left: 50%;
		bottom: -10px;
		z-index: 1;
		width: 1px;
		height: 21px;
		border-left: 1px solid;
		transition: .2s transform;
	}
	#sports_nav .current>div:hover a::after {
		transform: translateY(40px)
	}

	#sports_nav a {
		transition: .2s opacity;
	}
	#sports_nav a:hover {
		opacity: .7;
	}

	#sports_nav .subnav {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		transition: .2s;
		transition-property: visibility, opacity;
	}
	#sports_nav li>div:hover .subnav {
		visibility: visible;
		opacity: 1;
	}
	#sports_nav .subnav li {
		margin-top: 8px;
	}
	#sports_nav .subnav a::after {
		display: none;
	}
	#sports_nav .subnav img {
		height: 7.4px;
	}


/* ----------------------------------------
	list_slider
---------------------------------------- */

	.list_slider .slick-arrow {
		position: absolute;
		top: 50%;
		z-index: 3;
		width: 30px;
		height: 63px;
		transform: translateY(-50%);
		cursor: pointer;
	}
	.list_slider .slick-arrow::before {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: 1;
		background: url(../img/slider_btn.svg) 50% 50% / contain no-repeat;
		transition: .2s transform;
	}

	.list_slider .slick-prev {
		left: 25%;
		margin-left: -20px;
	}
	.list_slider .slick-prev:hover::before {
		transform: translateX(-5px);
	}

	.list_slider .slick-next {
		right: 25%;
		margin-right: -20px;
	}
	.list_slider .slick-next::before {
		transform: rotateY(180deg);
	}
	.list_slider .slick-next:hover::before {
		transform: translateX(5px) rotateY(180deg);
	}

	.list_slider .slick-list {
		overflow: visible;
	}

	.list_slider .slick-slide {
		box-sizing: border-box;
		transition: .5s opacity;
	}
	.list_slider .slick-slide:not(.slick-active) {
		opacity: .5;
	}

	.list_slider .slick-dots {
		display: flex;
		position: absolute;
		right: 75px;
		bottom: 100%;
		margin-bottom: 55px;
	}
	.list_slider .slick-dots li {
		position: relative;
		width: 1px;
		height: 6px;
	}
	.list_slider .slick-dots li::before,
	.list_slider .slick-dots button {
		opacity: .5;
		transition: .2s;
	}
	.list_slider .slick-dots li::before {
		content: '';
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 1;
		height: 12px;
		border-left: 1px solid;
		transition-property: opacity;
	}
	.list_slider .slick-dots li+li {
		margin-left: 19px;
		padding-left: 19px;
		border-left: 1px solid rgba(255,255,255,.5);
	}
	.list_slider .slick-dots button {
		position: absolute;
		right: 0;
		bottom: 0;
		padding: 0 0 15px;
		border: 0;
		background: none;
		transform: translateX(50%);
		font-weight: normal;
		font-size: 14px;
		transition-property: opacity, padding;
	}
	.list_slider .slick-dots button:hover {
		padding-bottom: 18px;
	}

	.list_slider li.slick-active::before,
	.list_slider li.slick-active button {
		opacity: 1;
	}


/* ----------------------------------------
	section_movie
---------------------------------------- */

	#section_movie {
		padding-bottom: 29px;
	}

	#movie_list .slick-slide {
		position: relative;
		padding: 0 3px;
	}

	#movie_list p {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		margin-top: 15px;
		text-align: center;
		letter-spacing: .04em;
		font-size: 14px;
	}


/* ----------------------------------------
	btn_pagetop
---------------------------------------- */

	#btn_pagetop {
		display: block;
		width: 28px;
		margin: 100px auto 0;
		transition: .2s transform;
	}
	#btn_pagetop:hover {
		transform: translateY(-5px);
	}


/* ----------------------------------------
	movie_modal
---------------------------------------- */

	#movie_modal {
		display: none;
		visibility: hidden;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 65535;
		width: 100%;
		height: 100%;
		text-align: center;
		white-space: nowrap;
	}
	#movie_modal::after,
	#movie_modal_inner {
		display: inline-block;
		vertical-align: middle;
	}
	#movie_modal::after {
		content: '';
		width: 0;
		height: 100%;
	}

	#movie_modal_inner {
		opacity: 0;
		position: relative;
		top: 0;
		z-index: 2;
		width: 90%;
		max-width: 800px;
		margin: 0 auto;
	}

	#movie_modal_data {
		position: relative;
		padding-top: 56.25%;
	}
	#movie_modal_data iframe {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}

	[data-mode='video'] #movie_modal_data,
	[data-mode='yt'] #movie_modal_video {
		display: none;
	}

	#movie_modal_video {
		display: block;
		width: 100%;
	}

	#movie_modal .movie_overlay{
		width: 100%;
		height: 100%;
		background-color: #fff;
		opacity: 1;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1;
	}

	#movie_modal .movie_btn_close {
		width: 30px;
		height: 30px;
		margin: 0;
		background-image:url(../img/modal_btn_close.png);
		background-repeat: no-repeat;
		background-size: 30px;
		position: fixed;
		top: 20px;
		left: 20px;
		z-index: 2;
		cursor: pointer;
		transition: opacity .1s ease;
	}

	#movie_modal .movie_btn_close:hover{
		opacity: .7;
	}
}

@keyframes anim_text {
	0% {
		clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}
}

@keyframes anim_r2l {
	0% {
		left: 600px;
	}
	0%, 20% {
		opacity: 0;
	}
	0%, 20% {
		transform: skewX(var(--skewX));
	}
	80%, 100% {
		opacity: 1;
	}
	90%, 100% {
		left: 0;
	}
	100% {
		transform: skewX(0deg);
	}
}