@charset "utf-8";

@media screen and (max-width : 767px){
	#contents_area {
		overflow: hidden;
		position: relative;
		padding: 36px 0 calc(30 / 320 * 100vw);
		background: #000;
		color: var(--c-text);
		font-weight: bold;
		font-size: calc(16 / 320 * 100vw);
		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 .pc {
		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: calc(75 / 320 * 100vw) calc(15 / 320 * 100vw) calc(20 / 320 * 100vw);
		text-shadow: 40px 0 0 rgba(255,255,255,.3),
		100px 0 0 rgba(255,255,255,.15);
		letter-spacing: .04em;
		font-size: calc(19 / 320 * 100vw);
	}
	.section_title img {
		width: auto;
		height: calc(15 / 320 * 100vw);
	}

	.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: calc(77 / 320 * 100vw);
		background: url(../img/btn_play.svg) 50% 0 / contain no-repeat;
		transform: translateY(calc(-31 / 77 * 100%));
	}


/* ----------------------------------------
	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 {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		z-index: 10;
	}

	#sports_header.navOpen {
		mix-blend-mode: normal;
	}

	#sports_header>div {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		height: 36px;
		background: var(--c-bg-header);
	}

	#sports_header.fixed>div {
		position: fixed;
	}

	#sports_header h1 {
		position: relative;
		z-index: 2;
		width: calc(165 / 320 * 100vw);
		margin-left: calc(16 / 320 * 100vw);
	}

	#sports_nav_btn {
		position: relative;
		z-index: 2;
		width: 28px;
		margin-right: calc(16 / 320 * 100vw);
	}
	#sports_nav_btn span {
		display: block;
		position: relative;
		width: 100%;
		border-bottom: 1px solid;
	}
	#sports_nav_btn span::before,
	#sports_nav_btn span::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		border-bottom: 1px solid;
		z-index: 1;
		transform-origin: 100% 50%;
		transition: .2s transform;
	}
	#sports_nav_btn span::before {
		top: -7px;
	}
	#sports_nav_btn span::after {
		bottom: -7px;
	}

	#sports_nav_btn.open span {
		border-width: 0;
	}
	#sports_nav_btn.open span::before,
	#sports_nav_btn.open span::after {
		width: 112%;
	}
	#sports_nav_btn.open span::before {
		transform: rotateZ(-25deg);
	}
	#sports_nav_btn.open span::after {
		transform: rotateZ(25deg);
	}

	#sports_nav {
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		visibility: hidden;
		opacity: 0;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background: #000;
		transition: .5s;
		transition-property: visibility, opacity;
	}

	#sports_nav.open {
		visibility: visible;
		opacity: 1;
	}

	#sports_nav img {
		width: auto;
		height: calc(15 / 320 * 100vw);
		margin: auto;
	}
	#sports_nav>ul {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	#sports_nav li+li {
		margin-top: calc(50 / 320 * 100vw);
	}

	#sports_nav .subnav {
		width: 0;
		margin-top: calc(15 / 320 * 100vw);
		padding-left: calc(10 / 320 * 100vw);
		border-left: 1px solid;
	}
	#sports_nav .subnav li+li {
		margin-top: calc(15 / 320 * 100vw);
	}
	#sports_nav .subnav img {
		height: calc(9 / 320 * 100vw);
		margin: 0;
	}


/* ----------------------------------------
	list_slider
---------------------------------------- */

	.list_slider .slick-arrow {
		position: absolute;
		top: calc(82.5 / 320 * 100vw);
		z-index: 3;
		width: calc(18 / 320 * 100vw);
		height: calc(38 / 320 * 100vw);
		transform: translateY(-50%);
	}
	.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;
	}

	.list_slider .slick-prev {
		left: calc(30 / 320 * 100vw);
	}

	.list_slider .slick-next {
		right: calc(30 / 320 * 100vw);
	}
	.list_slider .slick-next::before {
		transform: 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;
		flex-wrap: wrap;
		justify-content: center;
		width: calc(270 / 320 * 100vw);
		margin: calc(40 / 320 * 100vw) auto 0;
	}
	.list_slider .slick-dots li {
		position: relative;
		width: 1px;
		height: calc(5 / 320 * 100vw);
		margin-left: calc(14 / 320 * 100vw);
		padding-left: calc(14 / 320 * 100vw);
		border-left: 1px solid rgba(255,255,255,.5);
	}
	.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: calc(10 / 320 * 100vw);
		border-left: 1px solid;
		transition-property: opacity;
	}
	.list_slider .slick-dots li:nth-child(9n),
	.list_slider .slick-dots li:last-child {
		margin-right: calc(14 / 320 * 100vw);
	}
	.list_slider .slick-dots li:nth-child(9n+1) {
		padding-left: 0;
		border-left: 0;
	}
	.list_slider .slick-dots li:nth-child(n+10) {
		margin-top: calc(27 / 320 * 100vw);
	}
	.list_slider .slick-dots button {
		position: absolute;
		right: 0;
		bottom: 0;
		padding: 0 0 calc(12 / 320 * 100vw);
		border: 0;
		background: none;
		transform: translateX(50%);
		font-weight: normal;
		font-size: calc(10 / 320 * 100vw);
		transition-property: opacity;
	}

	.list_slider li.slick-active::before,
	.list_slider li.slick-active button {
		opacity: 1;
	}


/* ----------------------------------------
	section_movie
---------------------------------------- */

	#movie_list .slick-slide {
		position: relative;
		padding: 0 calc(3 / 320 * 100vw);
	}

	#movie_list p {
		margin: .8em 0 -.2em;
		text-align: center;
		letter-spacing: .04em;
		font-size: calc(10 / 320 * 100vw);
		line-height: 1.4;
	}


/* ----------------------------------------
	btn_pagetop
---------------------------------------- */

	#btn_pagetop {
		display: block;
		width: calc(28 / 320 * 100vw);
		margin: calc(75 / 320 * 100vw) auto 0;
	}


/* ----------------------------------------
	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%;
	}

	#movie_modal_video {
		display: block;
		width: 100%;
	}

	[data-mode='video'] #movie_modal_data,
	[data-mode='yt'] #movie_modal_video {
		display: none;
	}

	#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;
	}
}