@charset "UTF-8";
/* index.css */

/* ===== MV ===== */
#mv_wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
}
.mv_logo {
	width: 34%;
	position: absolute;
}
#mv,
#mv video {
	width: 100%;
}
#mv_video_pc { display:block !important; }
#mv_video_sp { display:none !important;  }

@media screen and (max-width:600px) {
	#mv_video_pc { display:none !important;  }
	#mv_video_sp { display:block !important; }
}


/* ===== はじめに ===== */
.head_img {
	margin-top:    min(4vw,40px);
	margin-bottom: min(4vw,40px);
}
.img_keep {
	width: 80%;
	max-width: 650px;
	display: block;
	margin: 0 auto;
}

.p_big {
	font-size: 28px;
	font-size: min(2.8vw,28px);
	font-weight: bold;
	text-align: center;
}
h2 + .p_big {
	line-height: 1.8;
	margin-bottom: 1.5em;
}
.cont {
	line-height: 2.2;
	text-align: center;
}
#sec_first .cont:after {
	content: "";
	width: 100%;
	height: 2em;
	display: block;
	background-image: url(../../img/index/arrow_about.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-top:    2em;
	margin-bottom: .75em;
}
/* about link */
.about_us_link {
	width: fit-content;
	font-size: 20px;
	font-weight: bold;
	display: block;
	position: relative;
	text-align: center;
	margin: auto;
}
.about_us_link:after {
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	background-color: #070a4a;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .3s;
}

.about_us_link:hover:after {
	transform: scaleX(1);
}


@media screen and (max-width:1099px) {
	#sec_first .cont {
		text-align: justify;
	}
	.cont br.add_blk {
		display: none !important;
	}
}


/* ===== クラブ / 各カテゴリー ===== */
h3 {
	font-size: 60px;
	font-size: min(5vw,60px);
	line-height: 1;
	letter-spacing: .1em;
	font-weight: bold;
	margin-bottom: .75em;
}
.column_three {
	justify-content: flex-start;
}
.column_three .card {
	width: calc(100%/3 - 2.5%);
	margin-right: 4%;
}
.column_three .card:nth-of-type(n+3) {
	margin-right: 0;
}

.club_head {
	font-size: min(2.6vw,28px);
	font-weight: bold;
	letter-spacing: .05em;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: center;
	margin-top:    .5em;
	margin-bottom: .5em;
}
.club_head:before {
	content: "";
	width:  1.5em;
	height: 1.5em;
	display: inline-block;
	background-image: url(../../img/common/heading_logo.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: .5em;
}
.card p,
.card .blog_date,
.card .blog_title {
	font-weight: 500;
	font-size: clamp(10px,1.2vw,14px);
	font-size: min(1.2vw,14px);
	text-align: center;
}
.card p {
	font-size: min(1.1vw,14px);
}
.card .blog_date,
.card .blog_title {
	line-height: 1.8;
	text-align: justify;
}
.card .blog_title {
	font-weight: bold;
	word-break: break-all;
}
.card .blog_date {
	line-height: 1;
	margin-top: 1em;
	margin-bottom: .5em;
}

/* ===== NEWS ===== */
.head_flex {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-end;
}
.head_flex h3 {
	margin-bottom: 0;
}
.blog_viewall {
	font-size: clamp(14px,1.6vw,16px);
	font-weight: 500;
	line-height: 1;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
}
.blog_viewall span {
	width:  1em;
	height: 1em;
	min-width:  1em;
	min-height: 1em;
	display: block;
	background-image: url(../../img/common/btn_arrow.svg);
	background-size:contain;
	background-position: center;
	background-repeat: no-repeat;
	font-size: .9em;
	margin-left: .5em;
}
.card {
	position: relative;
}
.news_tag {
	width: fit-content;
	line-height: 1;
	display: inline-block;
	position: absolute;
	top:  0;
	left: 0;
	padding: .35em 1em;
	color: #fff;
	background-color: #bf9c50;
	z-index: 2;
}
.sp_absolute {
	display: none;
}


/* ===== サポーティングパートナー ===== */
.icon_head + p {
	font-size: min(2.1vw,21px);
}
/* パートナーロゴ */
.two_partner,
.three_partner {
	width: 90%;
	max-width: 800px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	margin-left:  auto;
	margin-right: auto;
}
.two_partner li {
	width: calc(50% - 2%);
}
.two_partner li:nth-of-type(odd) {
	margin-right: 4%;
}
.two_partner li:nth-of-type(n+3) {
	margin-top: 6%;
}
.three_partner li {
	width: calc(100%/3 - 2%);
	margin-right: 3%;
}
.three_partner li:nth-of-type(3n) {
	margin-right: 0;
}






@media screen and (max-width:850px) {
	/* ===== MV ===== */
	.mv_logo {
		width: 65%;
		padding-bottom: 5%;
	}

	/* ===== はじめに ===== */
	.head_img {
		margin-top:    20px;
		margin-bottom: 20px;
	}
	.img_keep {
		width: 100%;
		max-width: 350px;
	}
	.p_big,
	.icon_head {
		font-size: 18px;	
	}
	#sec_first .cont,
	.card p,
	.card .blog_date,
	.card .blog_title,
	.icon_head + p {
		font-size: 13px;
	}
	#sec_first .cont {
		text-align: justify;
	}
	#sec_first .cont .add_blk {
		display: block !important;
	}
	.about_us_link {
		font-size: 18px;
	}


	/* ===== クラブ / 各カテゴリー ===== */
	h3 {
		font-size: 27px;
	}
	h3 .head_tag {
		font-size: 11px;
		margin-left: .75em;
	}
	#sec_club h3 {
		letter-spacing: .05em;
	}
	.column_three .card {
		width: calc(100%/2 - 2.5%);
		margin-right: 5% !important;
	}
	.column_three .card:nth-of-type(n+2) {
		margin-right: 0 !important;
	}

	.club_head {
		font-size: 16px;
		justify-content: flex-start;
		margin-top: .75em;
	}
	.club_head:before {
		content: none;
	}
	.card p,
	.card .blog_date,
	.card .blog_title {
		line-height: 1.5;
		text-align: left;
	}
	.column_three .card:nth-of-type(n+3) {
		margin-top: 40px;
	}
	/* spのみ画像の中にロゴを表示 */
	.card .img_wrap {
		position: relative;
	}
	.sp_absolute {
		width:  35%;
		height: 100%;
		display: block !important;
		top:   0;
		right: 5%;
		object-fit: contain;
		object-position: right center;
		position: absolute;
	}


	/* ===== NEWS ===== */
	.card .blog_date {
		margin-top: 1em;
	}


	/* ===== サポーティングパートナー ===== */
	#sec_partner .icon_head {
		font-size: 20px;
		font-size: clamp(18px,5.333vw,20px);
	}
	.two_partner,
	.three_partner {
		width: 100%;
		max-width: 500px;
	}


}


@media screen and (max-width:500px) {
	.column_three .card {
		width: 100%;
		margin-right: 0 !important;
	}
	.column_three .card + .card {
		margin-top: 40px;
	}
}