@charset "utf-8";
/*==================================================================================================*/
/*index-トップページ*/
.follow{
	display: block;
	width: 227px;
	position: fixed;
	bottom: 20px;
	right: 30px;
	z-index: 1;
}
@media screen and (max-width: 820px) {
	.follow{
		width: 180px;
		bottom: 10px;
    	right: 10px;
	}
}
.fv{
	height: 100vh;
}
.fv h1{
	position: relative;
	z-index: 1;
}
.fv .inner{
	height: auto;
	z-index: 1;
}
.fv video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
}
.fv::after{
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: url("../img/fv-image.jpg") lightgray 50% / cover no-repeat;
	position: absolute;
	top: 0;
	opacity: .5;
}
@media screen and (max-width: 1024px) {
	.fv{
		height: auto;
	}
}
@media screen and (max-width: 820px) {
	.fv.block01{
		padding-top: 70px;
		padding-bottom: 70px;
	}
	.fv.block01 .btn {
		margin: 40px auto 0;
	}
}
@media screen and (max-width: 520px) {
	.fv h1{
		margin: 0 0 30px;
	}
}
.point{
	background: #323232;
}
.point::before{
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: center / cover no-repeat url("../img/bg-point.svg");
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.point .inner{
	max-width: 1094px;
}
.point .column3 li{
	padding: 3.5% 2% 2%;
	border: none;
	background: #141414;
	box-shadow: 0 0 20px 0 rgba(221,0,255,0.25);
	border-top: solid 5px #6D13D5;
}
.point .column3 li span{
	justify-content: flex-start;
	width: 134px;
	height: 24px;
	font-family: "title-font";
	letter-spacing: 0.05em;
	font-size: 18px;
	padding: 2px 15px 0;
	background: #6D13D5;
	position: absolute;
	top: 0;
	left: 0;
	transform: rotate(0);
	z-index: 1;
}
.point .column3 li span::after{
	display: block;
	content: "";
	border-bottom: 24px solid transparent;
	border-left: 24px solid #6D13D5;
	position: absolute;
	top: 0;
	right: -24px;
}
.point .column3 li h3{
	font-size: 24px;
	margin: 0 0 10px;
}
.point .column3 li p{
	font-size: 15px;
	margin: 0;
}
.point .column + .btn{
	margin: 60px auto 0;
}
@media screen and (max-width: 1000px) {
	.point .column3 li h3{
		font-size: 20px;
	}
	.point .column3 li p{
		font-size: 14px;
	}
}
@media screen and (max-width: 820px) {
	.point .column3 li{
		padding: 8%;
	}
}
@media screen and (max-width: 520px) {
	.point .column3 li{
		padding: 40px 15px 30px;
	}
	.point .column + .btn{
		margin: 40px auto 0;
	}
}
.diagnosis{
	background: center / cover no-repeat url("../img/diagnosis-bg.jpg");
}
.diagnosis h3{
	font-family: "Noto Serif JP", serif;
	font-size: 2.5vw;
	text-align: center;
	margin: 0 0 10px;
}
.diagnosis h3 + p{
	font-family: "Noto Sans JP";
	font-size: 14px;
	text-align: center;
	margin: 0 0 40px;
}
.diagnosis h2{
	font-family: "Noto Serif JP", serif;
	font-size: 4.7vw;
    line-height: 2.3;
    letter-spacing: 0.1em;
	text-align: center;
	background: center / contain no-repeat url("../img/diagnosis-titlebg.svg");
	margin: 0 0 40px;
}
.diagnosis .inner div p{
	font-family: "Noto Serif JP", serif;
	font-size: 2.6vw;
	text-align: center;
	letter-spacing: 0.3em;
	color: #FFCC80;
	margin: 0 0 10px;
}
.diagnosis .inner div a{
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 597px;
	height: 78px;
	font-family: "Noto Serif JP", serif;
	font-size: 22px;
	text-align: center;
	letter-spacing: 0.25em;
	color: #1B1B1B;
	background: linear-gradient(#FFA946, #FFCC80, #C38200);
	margin: 0 auto;
}
@media screen and (max-width: 820px) {
	.diagnosis h3{
		font-size: 20px;
	}
	.diagnosis h2{
		font-size: 34px;
	}
	.diagnosis .inner div p{
		font-size: 16px;
	}
	.diagnosis .inner div a{
		max-width: 400px;
		height: 55px;
		font-size: 16px;
	}
}
@media screen and (max-width: 520px) {
	.diagnosis h3 + p{
		margin: 0 0 20px;
	}
	.diagnosis h2 {
        font-size: 22px;
		margin: 0 0 20px;
	}
}

#index .topics{
	margin: 40px auto 0;
}
#index .topics .inner{
	max-width: 950px;
}
#index .topics .inner div{
	width: 295px;
}
#index .topics .inner ul{
	width: calc( 100% - 320px );
	max-width: 613px;
}
#index .topics .inner div h2{
	font-family: 'title-font', sans-serif;
	font-size: 44px;
	letter-spacing: 0;
	line-height: 0.9;
	color: var(--accent-color);
	margin: 0 0 10px;
}
#index .topics .inner div h2 span{
	display: block;
	font-size: 21px;
	letter-spacing: 0.1em;
	color: #FFF;
	margin: 8px 0 0;
}
#index .topics .inner div p{
	font-size: 10px;
}
@media screen and (max-width: 1000px) {
	#index .topics .inner div{
		width: 100%;
		margin: 0 0 20px;
	}
	#index .topics .inner ul{
		width: 100%;
		max-width: 100%;
	}
}
/*==================================================================================================*/
/*==================================================================================================*/
/*下層KV*/
.sitename{
	width: 100%;
	padding-top: 50px;
}
.sitename.sitename2{
	opacity: .4;
}
.memberPage h1{
	font-size: 25px;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}
.memberPage h1 + p{
	font-size: 16px;
	margin: 0 0 60px;
}
.memberPage .tournamentContent .inner{
    max-width: 960px;
}
/*投稿KV*/
.singlePage .sitename + section{
	margin-top: -150px;
}
.memberPage .singlePage h1{
	text-align: center;
	margin: 0;
}
.memberPage .singlePage h1 + p{
	font-size: 14px;
	text-align: center;
	margin: 0 0 40px;
}
@media screen and (max-width: 820px) {
	.sitename{
		padding-top: 60px;
	}
	.singlePage .sitename + section{
		margin-top: -50px;
	}
	.memberPage .singlePage h1 + p{
		font-size: 12px;
	}
}
@media screen and (max-width: 520px) {
	.memberPage h1{
		font-size: 22px;
	}
	.memberPage h1 + p{
		font-size: 15px;
		margin: 0 0 40px;
	}
}
/*==================================================================================================*/
/*toppage-会員向けトップページ*/
#toppage .topics{
	max-width: 946px;
	padding: 20px 0;
	background: rgba(37,37,37,0.4);
	box-shadow: 0 0 35px 0 rgba(255,255,255,0.35);
}
#toppage .topics .inner{
	width: 94%;
}
#toppage .tournamentContent{
	padding-top: 60px;
}
#toppage .tournamentContent .inner{
	max-width: 946px;
}
#toppage .topics .inner div {
	width: 220px;
}
#toppage .topics .inner div h1{
	display: flex;
	align-items: center;
	justify-content: space-between;
    font-size: 14px;
	letter-spacing: 0.1em;
    color: #FFF;
    margin: 0;
}
#toppage .topics .inner div h1 span {
    width: fit-content;
	font-size: 21px;
}
#toppage .topics .inner ul {
    width: calc(100% - 240px);
	max-width: 593px;
}
#toppage .topicsList li span {
    width: 82px;
}
#toppage .topicsList li h3 {
    width: calc(100% - 220px);
}
#toppage .externalLink{
	margin: 0 auto 40px;
}
@media screen and (max-width: 1000px) {
	#toppage .topics .inner div{
		width: 100%;
	}
	#toppage .topics .inner div h1{
		flex-wrap: wrap;
	}
	#toppage .topics .inner div h1 span{
		width: 100%;
	}
	#toppage .topics .inner ul{
		width: 100%;
		max-width: 100%;
	}
}
@media screen and (max-width: 820px) {
	#toppage .topicsList li h3 {
		width: 100%;
	}
	#toppage .tournamentContent{
		padding-top: 40px;
	}
}
/*企業広告設置可能枠*/
.externalLink{
	width: 90%;
	max-width: 1140px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
}
.externalLink li{
	width: 32%;
	max-width: 350px;
}
.externalLink li a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 80px;
	font-size: 18px;
	color: #497EC2;
	background: #D9D9D9;
}
@media screen and (max-width: 820px) {
	.externalLink{
		max-width: 520px;
	}
	.externalLink li{
		width: 100%;
		max-width: 100%;
	}
	.externalLink li:not(:last-child){
		margin: 0 0 20px;
	}
}
/*==================================================================================================*/
/*mypage-マイページ*/
.title{
	display: flex;
	align-items: flex-end;
	font-family: 'title-font', sans-serif;
    font-size: 39px;
    letter-spacing: 0.05em;
    line-height: 0.9;
    color: #FFF;
	margin: 0 0 15px;
}
.title span {
    display: block;
    font-size: 14px;
	margin-left: 10px;
}
@media screen and (max-width: 900px) {
	#mypage .tableContent .inner{
		margin: 0 auto 10px;
	}
	#mypage .tableContent .title{
		width: 100%;
		margin: 0 0 5px;
	}
}
@media screen and (max-width: 520px) {
	.title{
		flex-wrap: wrap;
		font-size: 30px;
		margin: 0 0 15px;
	}
	.title span {
		width: 100%;
		margin-top: 10px;
		margin-left: 0;
	}
	#mypage .btn{
		margin: 0 0 40px;
	}
}
.namecard{
	width: 90%;
	max-width: 1140px;
	background: rgba(37,37,37,0.40);
	box-shadow: 0 0 35px 0 rgba(255,255,255,0.35);
	padding: 28px;
	margin: 0 auto;
}
.namecard .inner{
	width: 100%;
	align-items: inherit;
}
.namecard ul li{
	width: 49%;
	max-width: 531px;
	padding: 20px;
	border-radius: 5px;
	background: linear-gradient(#8F3FCF, #7729B6);
	position: relative;
}
.namecard ul li:nth-child(2){
	background: #430B70;
}
.namecard ul li:nth-child(1){
	padding-right: 0;
}
@media screen and (max-width: 1280px) {
	.namecard{
		width: 100%;
		overflow: scroll;
	}
	.namecard .inner{
		width: 1084px;
	}
}
.namecard ul li .left{
	width: 140px;
	height: 100%;
	display: flex;
	align-content: space-between;
	justify-content: center;
	flex-wrap: wrap;
}
.namecard ul li .left a{
	font-size: 11px;
	color: #D2D2D2;
}
.namecard ul li .right{
	width: calc( 100% - 160px );
}
.namecard ul li h2{
    font-family: 'title-font', sans-serif;
    font-size: 48px;
    letter-spacing: 0;
    line-height: 0.9;
    color: #FFF;
	margin: 0 0 10px;
}
.namecard ul li .right div{
	height: 178px;
    align-content: center;
	color: #6D13D5;
	padding: 10px 20px;
	border-radius: 5px 0 0 5px;
	background: #FFF;
}
.namecard ul li .right div p:nth-child(1){
	font-size: 10px;
}
.namecard ul li .right div p:nth-child(2){
	font-size: 24px;
	letter-spacing: 0.1em;
	margin: 0 0 5px;
}
.namecard ul li .right div p:nth-child(2) span{
	font-size: 16px;
	letter-spacing: 0.05em;
	margin-left: 5px;
}
.namecard ul li .right div p:nth-child(3),
.namecard ul li .right div p:nth-child(4){
	font-size: 12px;
	margin: 0 0 3px;
}
.namecard ul li .right div p:nth-child(5){
	width: fit-content;
	font-size: 12px;
	color: #FFF;
	padding: 5px 12px;
	background: #7638BE;
	margin: 13px 0 0;
}
.namecard ul li:nth-child(2) h2{
	width: fit-content;
}
.namecard ul li:nth-child(2) h2 + p{
	width: fit-content;
	font-family: 'title-font', sans-serif;
    font-size: 33px;
    letter-spacing: 0;
    line-height: 0.9;
	color: #430B70;
	padding: 9px 8px 2px;
	background: #FFF;
	position: absolute;
	top: 14px;
	right: 0;
}
.namecard ul li:nth-child(2) div{
	height: 178px;
	display: flex;
	justify-content: center;
	color: #916DBC;
	padding: 30px 20px;
	background: #FFF;
	border-radius: 5px;
}
.namecard ul li:nth-child(2) div dl{
	justify-content: center;
}
.namecard ul li:nth-child(2) div dl:nth-child(1){
	border-right: solid 1px ;
}
.namecard ul li:nth-child(2) div dl dt{
	width: 105px;
	font-size: 12px;
}
.namecard ul li:nth-child(2) div dl dd{
	width: 63px;
	font-size: 15px;
	text-align: right;
}
@media screen and (max-width: 820px) {}

#mypage .tableContent{
	padding-bottom: 0;
}
#mypage .tableContent .btn {
    max-width: 235px;
    height: 35px;
}
#mypage .externalLink{
	margin: 40px auto 0;
}
/*プレイスタイルリスト*/
.style{
	padding-bottom: 100px;
}
.style .inner{
	max-width: 1140px;
}
.styleList{
	align-items: flex-start;
}
.styleList li{
	width: 16%;
	max-width: 177px;
}
.styleList li img{
	display: block;
	margin: 0 0 3px;
}
.styleList li p{
	font-size: 13px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 820px) {
	#mypage .tableContent .btn{
		margin: 0;
	}
	.styleList{
		margin-bottom: -15px;
	}
	.styleList li{
		width: 32%;
		max-width: 32%;
		margin-bottom: 15px;
	}
}
@media screen and (max-width: 520px) {
	#mypage .tableContent .btn{
		width: 100%;
		max-width: 100%;
		margin: 0 0 20px;
	}
	.styleList li{
		width: 49%;
		max-width: 49%;
	}
}
/*==================================================================================================*/
/*achievements-公開実績記録*/
#achievements h1 + p{
	margin: 0 0 20px;
}
#achievements .tableContent{
	padding-top: 0;
}
@media screen and (max-width: 768px) {
}
/*==================================================================================================*/
/*japan-tournament/world-tournament-国内外トーナメント*/
.alltournament .tournamentContent,
.alltournament .tournamentContent{
	padding-top: 0;
}
.alltournament h2{
	font-size: 25px;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}
#jp-tournament h1 + p + .column3{
	margin-bottom: 60px;
}
#wd-tournament h1{
	margin-bottom: 60px;
}
#wd-tournament h1 + img{
	margin-bottom: 30px;
}
@media screen and (max-width: 820px) {
	.alltournament .tournamentContent .inner,
	.alltournament .tournamentContent .inner{
		max-width: 520px;
	}
	#wd-tournament h1{
		margin-bottom: 40px;
	}
}
/*==================================================================================================*/
/*blog-ブログ*/
#blog .column3 li h3{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	white-space: normal;
}
#blog .column3 li p{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
@media screen and (max-width: 768px) {
}
/*==================================================================================================*/
/*投稿ページ共通指定*/
.single{
	max-width: 823px;
	color: #151515;
	background: #FFF;
	margin: 0 auto;
}
.single .inner{
	max-width: 710px;
	padding: 40px 0;
}
.single h3,
.single h4,
.single h5,
.single h6{
	color: #4149D2;
}
.single p,
.single h3,
.single h4,
.single h5,
.single h6,
.single img{
	letter-spacing: 0.1em;
	margin: 0 0 20px;
}
.single h3{
	font-size: 25px;
}
.single h4{
	font-size: 23px;
}
.single p{
	font-size: 18px;
}
.single p.small{
	font-size: 16px;
}
@media screen and (max-width: 820px) {
	.single .inner{
		padding: 20px 0;
	}
	.single p,
	.single h3,
	.single h4,
	.single h5,
	.single h6,
	.single img{
		margin: 0 0 10px;
	}
	.single h3{
		font-size: 20px;
	}
	.single h4{
		font-size: 18px;
	}
	.single p{
		font-size: 15px;
	}
	.single p.small{
		font-size: 13px;
	}
}