@charset "utf-8";

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 Body
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
body {
	position: relative;
	overflow: hidden;
	font-size: 100%;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: none;
}
a {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
	opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
}
.pc, .nobr {
	display: none!important;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 Header
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
header {
	position: fixed;
    width: 100%;
	height: 60px;
	display: flex;
		justify-content: flex-start;
        align-content: center;
		align-items: center;
    z-index: 10000;
    background: #fff;
}
header .header_bg {
	display: none;
}
header a.headerLogo {
	position: absolute;
    width: 60%;
    height: 36px;
    left: 10px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
    z-index: 20000;
    background: url("../images/logo.svg") no-repeat left center;
    background-size: contain;
}

/* 背景が左から右に流れるボタン */
a.btnContact {
	position: absolute;
    width: 80px;
    height: 30px;
    top: 30;
    right: 60px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
        flex-wrap: wrap;
	padding-left: 10px;
	font: 400 0.9em/1em arial-narrow, "sans-serif";
	letter-spacing: 0.05em;
	transition: 0.3s;
	color: #fff;
	border-radius: 15px;
	background: #e50012;
	box-sizing: border-box;
}
header a.btnContact {
	width: 24px;
    height: 24px;
    right: 60px;
	font-size: 0;
	border-radius: 0;
	background: transparent;
}
a.btnContact span {
	position: relative;
}
a.btnContact::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: block;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.3s ease;
	transition-property: transform;
	background: #8f0001;
	box-sizing: border-box;
}
header a.btnContact::before {
	background: transparent;
}
a.btnContact:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}
a.btnContact::after {
	position: absolute;
	content: "";
	width: 14px;
	aspect-ratio: 1/1;
	left: 15px;
	display: block;
	background: url("../images/icon_mail.svg") no-repeat center center;
	background-size: contain;
	filter: invert(99%) sepia(53%) saturate(0%) hue-rotate(169deg) brightness(118%) contrast(100%);
}
header a.btnContact::after {
	width: 24px;
	aspect-ratio: 1/1;
	left: 0;
	filter: invert(12%) sepia(49%) saturate(7474%) hue-rotate(348deg) brightness(106%) contrast(115%);
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【ヘッダー】グローバルナビ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.openMenu {
	position: fixed;
	width: 100%;
	top: 0;
	right: 0;
    z-index: 20000;
}
.btn_nav {
	position: absolute;
	width: 40px;
	height: 40px;
	top: 10px;
	right: 5px;
    border-radius: 20px;
    background: #e50012;
}
.open_nav,
.close_nav {
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
	cursor: pointer;
}
.open_nav .line1,
.open_nav .line2,
.open_nav .line3 {
	position: absolute;
	width: 24px;
	height: 1px;
	left: calc(50% - 12px);
    display: block;
	background: #fff;
	transform: rotate(0deg);
    transition: all 200ms;
}
.open_nav .line1 {
	top: 13px;
}
.open_nav .line2,
.close_nav .line2 {
	top: 20px;
}
.open_nav .line3 {
	top: 27px;
}
.close_nav .line1,
.close_nav .line3 {
	position: absolute;
    width: 28px;
	height: 1px;
    top: 20px;
	left: calc(50% - 14px);
    display: block;
	background: #fff;
    transition: all 200ms;
}
.close_nav .line1 {
	transform: rotate(-45deg);
}
.close_nav .line2 {
	display: none;
}
.close_nav .line3 {
	transform: rotate(45deg);
}
.sp_nav_wrap {
	position: absolute;
	width: 100%;
	height: calc(100vh);
	top: 0;
	right: 0;
	display: none;/*表示・非表示*/
	z-index: 10000;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	background: #e50012;
	box-sizing: border-box;
}
.sp_nav {
	width: 80%;
	height: auto;
	display: block;
	margin: 20px auto 60px 5%;
}
.sp_nav ul.sp_nav_menu {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
    margin: 0 auto;
}
.sp_nav ul.sp_nav_menu li {
	position: relative;
    width: 100%;
	display: block;
}
.sp_nav ul.sp_nav_menu li+li {
	border-top: solid 1px rgba(255,255,255,0.5);
}
.sp_nav ul.sp_nav_menu li a {
	position: relative;
	width: 100%;
    height: 60px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
    font-size: 1.2em;
    line-height: 1em;
	color: #fff;
    letter-spacing: 0.05em;
    box-sizing: border-box;
}
.sp_nav ul.sp_nav_menu li a::after {
	position: absolute;
	content: '';
    width: 12px;
    height: 12px;
	right: 10px;
    display: block;
	background: url("../images/arrow.svg") no-repeat center center;
    background-size: contain;
	filter: invert(100%) sepia(1%) saturate(0%) hue-rotate(187deg) brightness(103%) contrast(100%);
}
.sp_nav ul.sp_nav_menu li a:hover {
	
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 Common
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
main {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
        align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
    padding-top: 60px;
	background: url("../images/header_bg.webp") no-repeat center top 60px;
	background-size: 100%;
}
.wrap {
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	padding: 20px 0;
	box-sizing: border-box;
}
.block {
	position: relative;
    width: 90%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
    margin: 0 auto;
	box-sizing: border-box;
}
.reverse {
	
}

/*【共通】ページタイトル*/
.pageTitle {
    position: relative;
    width: 100%;
	min-height: 200px;
	display: flex;
		justify-content: space-between;
        align-content: flex-end;
        align-items: flex-end;
		flex-wrap: wrap;
	padding: 20px 0;
    box-sizing: border-box;
}
.pageTitle h2 {
    position: absolute;
	width: 100%;
	height: 50px;
	display: flex;
		justify-content: center;
        align-content: center;
        align-items: center;
		flex-wrap: wrap;
    font-size: 1.4em;
	font-weight: bold;
	line-height: 1em;
	color: #fff;
	background: linear-gradient(90deg, #e50012 0%, #8d0001 100%);
	box-sizing: border-box;
}
.pageTitle h2::before {
    position: absolute;
	content: '';
	width: 24px;
	aspect-ratio: 4/7;
	bottom: 0;
	left: 20px;
	display: block;
    background: url("../images/flag.svg") no-repeat center center;
	background-size: contain;
	filter: invert(99%) sepia(6%) saturate(1120%) hue-rotate(217deg) brightness(112%) contrast(100%);
	opacity: 0.7;
}

/*【共通】中タイトル*/
.midTitle {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin-bottom: 20px;
}
.midTitle img {
	height: 24px;
	display: block;
	margin: 0 auto;
}
.midTitle h3 {
	position: relative;
	width: 100%;
	display: block;
	padding-top: 10px;
    font-size: 1.2em;
	line-height: 1em;
	letter-spacing: 0.05em;
	text-align: center;
}
.midTitle h3::before {
	position: absolute;
	content: '';
	width: 200px;
	height: 1px;
	top: -8px;
	left: calc(50% - 100px);
	display: block;
    background: #e50012;
}

/*【共通】ボタンデザイン*/
.btnBlock {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
}

/*【共通】テキストリンクデザイン*/
a.linkArrow {
	width: auto;
	height: 20px;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	font-size: 1.4em;
	line-height: 1em;
	box-sizing: border-box;
}
a.linkArrow::after {
	content: '';
	width: 20px;
    aspect-ratio: 1/1;
	display: block;
	margin-left: 5px;
	border: solid 1px #000;
    background: url("../images/arrow.svg") no-repeat center center;
	background-size: 10px 10px;
	box-sizing: border-box;
	filter: invert(12%) sepia(49%) saturate(7474%) hue-rotate(348deg) brightness(106%) contrast(115%);
}
a.linkArrow:hover {
	color: #e50012;
	transition: all 200ms;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home {
	
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】メインビジュアル
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .mainVisual {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
        align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
    box-sizing: border-box;
}
#home .mainVisual .read {
	width: 100%;
	aspect-ratio: 3/2;
    display: flex;
		justify-content: center;
        align-content: center;
		align-items: flex-end;
	padding: 20px 0;
	font-family: "游明朝","Yu Mincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
	font-size: clamp(1em, 1.4vw, 1.8em);
	line-height: 1.6em;
	text-align: center;
	color: #fff;
	background: url("../images/top/main_bg.webp") no-repeat center 40%;
	background-size: cover;
	box-sizing: border-box;
}

/*スライド*/
#home .mainVisual .mainSlide {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 20px 3%;
    background: #222;
	box-sizing: border-box;
}
#home .mainVisual .mainSlide .mainSlide_title {
	width: 60%;
    display: block;
	margin: 0 23% 10px 17%;
}
#home .mainVisual .mainSlide .mainSlide_title img {
	width: 100%;
	object-fit: contain;
	object-position: 0 50%;
}
#home .mainVisual .mainSlide a.btnSchedule {
	width: 80%;
    display: block;
	margin: 50px auto 0;
}
#home .mainVisual .mainSlide a.btnSchedule:hover {
	
}
#home .mainVisual .mainSlide ul.slider {
    width: 100%;
	aspect-ratio: 3/1.1;
    display: flex;
		justify-content: center;
        align-content: flex-start;
		align-items: flex-start;
}
#home .mainVisual .mainSlide ul.slider li {
    position: relative;
	width: 100%;
    display: block;
	overflow: hidden;
	margin: 0 5px;
	box-sizing: border-box;
}
#home .mainVisual .mainSlide ul.slider li a {
    position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
    display: block;
	z-index: 1000;
	border-radius: 4px;
	background: #fff;
	opacity: 0;
}
#home .mainVisual .mainSlide ul.slider li a:hover {
    transition: all 200ms;
	opacity: 0.5;
}
#home .mainVisual .mainSlide ul.slider li .box {
    position: relative;
	width: 100%;
	aspect-ratio: 1/1;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 20px 0;
	border-radius: 4px;
	background: linear-gradient(-20deg, #0071bc 0%, #00eaf5 100%);
	box-sizing: border-box;
}
#home .mainVisual .mainSlide ul.slider li .box::after {
	position: absolute;
	content: '';
	width: 7%;
    aspect-ratio: 1/1;
	bottom: 5%;
	display: block;
	border: solid 1px #000;
    background: url("../images/arrow.svg") no-repeat center center;
	background-size: 50%;
	box-sizing: border-box;
	filter: invert(100%) sepia(42%) saturate(0%) hue-rotate(320deg) brightness(104%) contrast(101%);
}
#home .mainVisual .mainSlide ul.slider li .box h2 {
    width: 100%;
	height: 40px;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        /*flex-wrap: wrap;*/
	font-size: clamp(1em, 1.2vw, 1.6em);
	font-weight: bold;
	line-height: 1;
	color: #fff;
	background: #000;
	box-sizing: border-box;
}
#home .mainVisual .mainSlide ul.slider li .box h2 span {
    width: 22%;
	height: 40px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-right: 3%;
	background: #e50012;
	box-sizing: border-box;
}
#home .mainVisual .mainSlide ul.slider li .box .info {
    position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 0 20px;
	padding: 20px 0;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}
#home .mainVisual .mainSlide ul.slider li .box .info .date {
    width: 100%;
    display: block;
	font-size: 2.4em;
	font-weight: bold;
	line-height: 1em;
}
#home .mainVisual .mainSlide ul.slider li .box .info .date span {
    display: inline-block;
	font-size: 0.7em;
	text-indent: -0.5em;
}
#home .mainVisual .mainSlide ul.slider li .box .info .start {
    width: auto;
    display: inline-block;
	font-size: 1.6em;
	line-height: 1.2em;
}
#home .mainVisual .mainSlide ul.slider li .box .venue {
    position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 0 20px;
	padding: 20px 0 10px;
	font-size: 1.4em;
	line-height: 1em;
	color: #fff;
	border-top: solid 1px #fff;
	box-sizing: border-box;
}
#home .mainVisual .mainSlide ul.slider li .box .venue span {
    width: auto;
	min-width: 60%;
	height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 10px auto 0;
	padding: 0 20px;
	font-size: 0.7em;
	border: solid 1px #fff;
	background: linear-gradient(90deg, #8d0001 0%, #e50012 50%, #8d0001 100%);
	box-sizing: border-box;
}
#home .mainVisual .mainSlide ul.slider li .box .bnr {
    width: 80%;
	margin: 0 auto;
    display: block;
}
#home .mainVisual .mainSlide ul.slider li .box .bnr img {
    width: 100%;
    display: block;
	margin-left: auto;
}
#home .mainVisual .mainSlide ul.slider li .box .cover {
    display: none;
}

/* Arrows */
.mainSlide .slick-prev,
.mainSlide .slick-next {
    display: none;
	font-size: 0;
	opacity: 0;
}

/* Dots */
#home .mainVisual .mainSlide .slick-dots {
    position: absolute;
	width: auto;
	bottom: -30px;
	display: flex;
}
#home .mainVisual .mainSlide .slick-dots li {
    display: inline-block;
	margin: 0 5px !important;
	padding: 0 !important;
}
#home .mainVisual .mainSlide .slick-dots li button {
    position: relative;
	width: 12px;
	aspect-ratio: 1/1;
	display: inline-block;
	margin: 0;
	font-size: 0;
    cursor: pointer;
    border: none;
    outline: none;
	border-radius: 6px;
	opacity: 1;
}
#home .mainVisual .mainSlide .slick-dots li button:hover,
#home .mainVisual .mainSlide .slick-dots li button:focus {
    opacity: 1;
}
#home .mainVisual .mainSlide .slick-dots li button:hover:before {
    background: #00b3ea;
	opacity: 1;
}
#home .mainVisual .mainSlide .slick-dots li button:before {
    position: absolute;
	content: '';
	width: 12px;
	aspect-ratio: 1/1;
	top: 0;
    left: 0;
	border-radius: 6px;
	background: #00b3ea;
	opacity: 0.1;
}
#home .mainVisual .mainSlide .slick-dots li.slick-active button:before {
    opacity: 1;
}

/*-- 【Home】組み合わせ --*/
#home .mainVisual .mainPDF {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 20px 5%;
    background: #444;
	box-sizing: border-box;
}
#home .mainVisual .mainPDF .box {
	position: relative;
    width: 48%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#home .mainVisual .mainPDF .box h3 {
	width: 100%;
	height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-bottom: 5px;
	padding: 0 5px;
	font-size: 1.1em;
	line-height: 1em;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}
#home .mainVisual .mainPDF .match h3 {
	background: #0071bc;
}
#home .mainVisual .mainPDF .result h3 {
	background: #e50012;
}
#home .mainVisual .mainPDF .box ul {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#home .mainVisual .mainPDF .box ul li {
	width: 100%;
    display: block;
	margin: 5px 0;
}
#home .mainVisual .mainPDF .box ul li a {
	position: relative;
	width: 100%;
	height: 40px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	padding-left: 15px;
	font-size: 0.9em;
	line-height: 1em;
	text-align: center;
	border: solid 1px #fff;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
}
#home .mainVisual .mainPDF .box ul li a::before {
	position: absolute;
	content: '';
	width: 16px;
	aspect-ratio: 1/1;
	left: 5px;
    display: block;
	background: url("../images/icon_pdf.svg") no-repeat center center;
	background-size: contain;
}
#home .mainVisual .mainPDF .match ul li a::before {
	filter: invert(36%) sepia(66%) saturate(7030%) hue-rotate(188deg) brightness(91%) contrast(103%);
}
#home .mainVisual .mainPDF .result ul li a::before {
	filter: invert(26%) sepia(99%) saturate(7221%) hue-rotate(344deg) brightness(80%) contrast(131%);
}
#home .mainVisual .mainPDF .box ul li a:hover {
	transition: all 200ms;
	opacity: 0.7;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】お知らせ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .homeNews {
    position: relative;
	width: 90%;
	display: block;
	margin: 40px auto;
	box-sizing: border-box;
}
#home .homeNews .inner {
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-end;
		align-items: flex-end;
		flex-wrap: wrap;
}
#home .homeNews h2 {
	width: 100%;
	display: block;
	margin-bottom: 10px;
	padding-bottom: 10px;
	font: 200 2.4em/1em arial-narrow, "sans-serif";
	font-weight: 200;
	line-height: 1em;
	text-align: center;
	border-bottom: solid 1px #fff;
	box-sizing: border-box;
}
#home .homeNews ul {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
}
#home .homeNews ul li {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
	padding: 10px 0;
    box-sizing: border-box;
}
#home .homeNews ul li+li {
	border-top: solid 1px #ccc;
}
#home .homeNews ul li img {
	width: 120px;
	aspect-ratio: 1/1;
	display: block;
	margin: 0 10px 5px 0;
	object-fit: cover;
	object-position: 50% 0%;
}
#home .homeNews ul li div {
	width: 100%;
	display: block;
}
#home .homeNews ul li div span {
	width: 100%;
	display: block;
	margin: 5px 0;
	font-size: 1em;
	line-height: 1.4em;
	color: #e50012;
}
#home .homeNews ul li div a {
	width: 100%;
	display: block;
	font-size: clamp(1.2em, 1.2vw, 1.6em);
	line-height: 1.4em;
}
#home .homeNews ul li div a.linkout::after {
	content: '';
	width: 12px;
	aspect-ratio: 1/1;
	display: inline-block;
	margin-left: 5px;
	background: url("../images/icon_linkout.svg") no-repeat center center;
	background-size: contain;
	filter: invert(15%) sepia(98%) saturate(7425%) hue-rotate(351deg) brightness(87%) contrast(107%);
}
#home .homeNews ul li div a:hover {
	text-decoration: underline;
    color: #e50012;
}
#home .homeNews ul li div p {
	width: 100%;
	display: block;
	margin: 5px 0;
	font-size: clamp(1em, 1.2vw, 1.2em);
	line-height: 1.3em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】大会優勝者
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .homeWinner {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: center;
        align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	z-index: 1000;
    padding: 40px 0 20px;
	background: #e50012;
    box-sizing: border-box;
}

/*スライド*/
#home .homeWinner .slideBlock {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
    /*overflow: hidden;*/
    margin: 0 0 0 auto;
}
ul.winner_slider {
    position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
}
ul.winner_slider li {
    position: relative;
	width: auto;
    display: block;
	align-self: stretch;
    margin: 0 10px;
    box-sizing: border-box;
}
ul.winner_slider li img {
    width: 100%;
    aspect-ratio: 4/3;
	display: block;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius: 4px;
}
ul.winner_slider li div {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin-top: 10px;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}
ul.winner_slider li div span {
	width: 100%;
    display: block;
	margin-bottom: 5px;
	font-size: 0.9em;
    line-height: 1em;
}
ul.winner_slider li div h3 {
	width: 100%;
    display: block;
	font-size: 1.2em;
    line-height: 1.2em;
}

/* Arrows */
.slideBlock .slick-prev,
.slideBlock .slick-next {
    display: none;
	font-size: 0;
	opacity: 0;
}

/* Dots */
.slideBlock .slick-dotted.slick-slider {
    display: none;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】大会情報
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .tournamentBlock {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 40px 0;
}
#home .tournamentBlock h2 {
	width: 100%;
    height: 60px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
    font-size: clamp(1.2em, 1.4vw, 3em);
	font-weight: bold;
	line-height: 1em;
    color: #e50012;
    border-bottom: solid 2px #e50012;
    box-sizing: border-box;
}
#home .tournamentBlock h2::before {
	content: '';
	width: 70px;
    aspect-ratio: 1/1;
	display: block;
	margin-right: 10px;
    background: url("../images/tournament/open_tournament_mark.png") no-repeat center center;
	background-size: contain;
}
#home .tournamentBlock dl.list {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 20px 0;
	border-bottom: solid 1px #ccc;
	box-sizing: border-box;
}
#home .tournamentBlock dl.list::after {
	position: absolute;
    content: '';
	width: 12px;
    aspect-ratio: 1/1;
	right: 0;
	bottom: 20px;
	display: block;
    background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	filter: invert(26%) sepia(99%) saturate(7221%) hue-rotate(344deg) brightness(80%) contrast(131%);
}
#home .tournamentBlock dl.list a {
	position: absolute;
    width: 100%;
	height: 100%;
	top: 0;
	left: 0;
    display: block;
	background: #fff;
	opacity: 0;
}
#home .tournamentBlock dl.list a:hover {
	position: absolute;
    transition: all 200ms;
	opacity: 0.5;
}
#home .tournamentBlock dl.list h3 {
	width: 100%;
    display: block;
	margin-bottom: 10px;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2em;
}
#home .tournamentBlock dl.list dt {
	width: 60px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-top: 5px;
	padding: 5px 0;
	font-size: 0.8em;
	line-height: 1em;
	color: #e50012;
	border: solid 1px #e50012;
	box-sizing: border-box;
}
#home .tournamentBlock dl.list dd {
	width: calc(100% - 70px);
    display: block;
	margin-top: 5px;
	padding: 4px 0;
	font-size: 1em;
	line-height: 1.2em;
}
#home .tournamentBlock a.linkArrow {
	margin: 20px 0 0 auto;
	font-size: 1em;
}
#home .tournamentBlock a.linkArrow::after {
	filter: invert(12%) sepia(49%) saturate(7474%) hue-rotate(348deg) brightness(106%) contrast(115%);
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】SNS/バナー
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .sns_bnrBlock {
	position: relative;
    width: 90%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 20px auto;
}
#home .sns_bnrBlock .bnr {
	width: 100%;
    display: block;
	margin: 20px 0 0;
}
#home .sns_bnrBlock .bnr a:hover {
	transition: all 200ms;
	opacity: 0.5;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
PGCツアーについて
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#about .block,
#policy .block {
	margin: 0 auto;
	padding: 30px 5%;
	background: #fff;
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
#about .block+.block {
	margin: 20px auto 20px;
}
#about .unit {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 20px 0;
}
#about .unit.philosophy p {
	width: 100%;
    display: block;
	margin: 5px 0;
	font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#about .unit.philosophy p br {
	display: none;
}
#about .policy {
	justify-content: space-between;
}
#about .policy img {
	width: 160px;
	display: block;
	margin: 0 auto;
}
#about .policy ul {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-top: 20px;
}
#about .policy ul li {
	width: calc(100% - 1em);
    display: block;
	margin: 7px 0 7px auto;
	font-size: 1.2em;
	line-height: 1.4em;
}
#about .policy ul li::before {
	content: '●';
    display: inline-block;
	text-indent: -1em;
	color: #e50012;
}
#about .activities {
	justify-content: space-between;
}
#about .activities .box {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#about .activities .box+.box {
	margin-top: 20px;
}
#about .activities .box img {
	width: 100%;
    display: block;
}
#about .activities .box h4 {
	width: 100%;
    display: block;
	margin: 10px 0;
	font-size: 1.4em;
	line-height: 1.4em;
	color: #e50012;
}
#about .activities .box p {
	width: 100%;
    display: block;
	font-size: 1.2em;
	line-height: 1.4em;
	text-align: justify;
}

/*ご協賛のお願い*/
#about .sponsor {
	padding: 40px 5%;
}
#about .sponsor #sponcor {
	position: absolute;
	width: 1px;
	height: 90px;
	top: -90px;
	left: 0;
	display: block;
}
#about .sponsor dl.message {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 20px;
	padding: 30px 5% 50px;
	background: url("../images/about/sponsor_bg.webp");
	background-size: cover;
	box-sizing: border-box;
}
#about .sponsor dl.message dt {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	font-family: "游明朝","Yu Mincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
	font-size: 1.8em;
	line-height: 1.2em;
	text-align: center;
}
#about .sponsor dl.message dd {
	width: 100%;
    display: block;
	font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#about .sponsor dl.message span {
	position: absolute;
	width: auto;
	bottom: 20px;
	right: 5%;
    display: block;
	font-size: 0.8em;
	line-height: 1.2em;
	text-align: right;
}
#about .sponsor ul {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 0 auto;
	box-sizing: border-box;
}
#about .sponsor ul li {
	position: relative;
	width: 48%;
    display: flex;
		justify-content: center;
        flex-wrap: wrap;
	margin-bottom: 10px;
}
#about .sponsor ul li img {
	width: 100%;
    display: block;
	object-fit: contain;
}
#about .sponsor ul li span {
	width: 100%;
    display: block;
	margin-top: 10px;
	font-size: 1em;
	line-height: 1.2em;
	text-align: center;
}
#about .sponsor .btnBlock {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 40px 0;
	box-sizing: border-box;
}
#about .sponsor .btnBlock p {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	font-size: 1em;
	line-height: 1.2em;
	text-align: center;
}
#about .sponsor .btnBlock a.btnContact {
	position: inherit;
	width: 90%;
	height: 50px;
	right: inherit;
    margin: 0 auto;
	font-size: 1.3em;
	line-height: 1.2em;
	border-radius: 25px;
}
#about .sponsor .btnBlock a.btnContact::after {
	width: 20px;
	left: 20px;
}
#about .sponsor .box {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 20px;
	box-sizing: border-box;
}
#about .sponsor .box h4 {
	width: 100%;
	height: 40px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-bottom: 20px;
	font-size: 1.2em;
	line-height: 1.2em;
	text-align: center;
	color: #fff;
	background: #666;
}
#about .sponsor .box table {
	width: 100%;
    display: table;
	margin-bottom: 10px;
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
}
#about .sponsor .box table th,
#about .sponsor .box table td {
	display: table-cell;
	padding: 10px 20px;
	text-align: left;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}
#about .sponsor .box table th {
	font-size: 1.2em;
	line-height: 1.2em;
	background: #f5fcff;
}
#about .sponsor .box table td {
	font-size: 1.2em;
	line-height: 1.6em;
}
#about .sponsor .box table td b {
	font-size: 1.2em;
}
#about .sponsor .box dl {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	font-size: 1em;
	line-height: 1.2em;
}
#about .sponsor .box dl dt {
	width: 7em;
    display: inline-block;
	align-self: stretch;
	margin-bottom: 15px;
}
#about .sponsor .box dl dd {
	width: calc(100% - 7em);
    display: inline-block;
	align-self: stretch;
	margin-bottom: 15px;
}
#about .sponsor .box img {
	width: 100%;
    display: block;
	margin: 0 auto;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
大会情報（一覧）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#tournament .pageTitle .tournament_title {
    position: absolute;
	width: 50%;
	left: calc(50% - 25%);
	bottom: 80px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 0 auto;
}
#tournament .pageTitle a.btnSchedule {
	position: absolute;
    width: 40%;
	top: 10px;
	right: 20px;
    display: block;
}
#tournament .pageTitle a.btnSchedule:hover {
	transition: all 200ms;
	opacity: 0.7;
}
#tournament ul.index {
	position: relative;
    width: 90%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#tournament ul.index li {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 30px;
	padding: 20px 0;
	border-radius: 4px;
	background-image: url("");/*html上にて直書き*/
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-color: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
#tournament ul.index li h2 {
    width: 100%;
	height: 40px;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        /*flex-wrap: wrap;*/
	font-size: clamp(1em, 1.2vw, 1.3em);
	font-weight: bold;
	line-height: 1;
	color: #fff;
	background: #000;
	box-sizing: border-box;
}
#tournament ul.index li h2 span {
    width: 23%;
	height: 40px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-right: 3%;
	background: #e50012;
	box-sizing: border-box;
}
#tournament ul.index li .info {
    position: relative;
	width: 90%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 20px auto;
	padding: 30px 20px;
	text-align: center;
	color: #fff;
	border-radius: 4px;
	background: linear-gradient(-45deg, rgba(0,113,188,0.9), rgba(0,234,245,0.7));
	/*background: rgba(0,0,0,0.3);*/
	box-sizing: border-box;
}
#tournament ul.index li .info .date {
    width: 100%;
    display: block;
	font-size: clamp(2.4em, 2.4vw, 3.6em);
	font-weight: bold;
	line-height: 1em;
}
#tournament ul.index li .info .date span {
    display: inline-block;
	font-size: 0.7em;
	text-indent: -0.5em;
}
#tournament ul.index li .info .start {
    width: 100%;
    display: block;
	margin: 5px 0;
	font-size: clamp(1.2em, 1.6vw, 1.8em);
	line-height: 1.2em;
}
#tournament ul.index li .venue {
    position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin-top: 10px;
	padding-top: 20px;
	font-size: clamp(1.2em, 1.6vw, 1.8em);
	line-height: 1.2em;
	text-align: center;
	color: #fff;
	border-top: solid 1px rgba(255,255,255,0.5);
	box-sizing: border-box;
}
#tournament ul.index li .venue span {
    width: 60%;
	height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-top: 10px;
	font-size: 0.7em;
	border: solid 1px #fff;
	box-sizing: border-box;
}
#tournament ul.index li .bnr {
    width: 90%;
    display: block;
	margin: 0 auto 20px;
}
#tournament ul.index li a.btnDetail {
	position: relative;
	width: 80%;
    height: 60px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 0 auto;
	padding-right: 10px;
	font-size: clamp(1.4em, 1.6vw, 1.6em);
	line-height: 1em;
	transition: 0.3s;
	color: #fff;
	border: solid 1px #fff;
	border-radius: 4px;
	background: linear-gradient(90deg, #8d0001 0%, #e50012 50%, #8d0001 100%);
	box-sizing: border-box;
}
#tournament ul.index li a.btnDetail::after {
	position: absolute;
	content: '';
	width: 14px;
    aspect-ratio: 1/1;
	right: 20px;
	display: block;
    background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	box-sizing: border-box;
	filter: invert(99%) sepia(53%) saturate(0%) hue-rotate(169deg) brightness(118%) contrast(100%);
}
#tournament ul.index li a.btnDetail:hover {
	transition: all 200ms;
	opacity: 0.5;
}
#tournament ul.index li .btnBlock {
    width: 90%;
	bottom: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        /*flex-wrap: wrap;*/
	margin: 20px auto 0;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}
#tournament ul.index li .btnBlock .pdf {
    width: 40%;
	height: 20px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	font-size: 1.3em;
	line-height: 1em;
	color: #fff;
	box-sizing: border-box;
}
#tournament ul.index li .btnBlock .pdf::before {
	content: '';
	width: 20px;
    aspect-ratio: 1/1;
	display: block;
	margin-right: 5px;
    background: url("../images/icon_pdf.svg") no-repeat center center;
	background-size: contain;
	box-sizing: border-box;
	filter: invert(99%) sepia(53%) saturate(0%) hue-rotate(169deg) brightness(118%) contrast(100%);
}
#tournament ul.index li .btnBlock .pdf:hover {
	text-decoration: underline;
	transition: all 200ms;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
大会情報（詳細）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#tournament .detail,
#tournament .entry {
	margin: 0 auto 40px;
	padding: 20px 5%;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
#tournament .entry {
	margin: 20px auto 40px;
	padding: 0 5%;
}
#tournament .detail .sideBlock {
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	box-sizing: border-box;
}
#tournament .detail .sideBlock .cover {
    position: relative;
	width: 100%;
	aspect-ratio: 5/6;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	overflow: hidden;
	margin: 0 auto 20px;
	border-radius: 4px;
	background-image: url("");/*html上にて直書き*/
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-color: #fff;
	box-sizing: border-box;
}
#tournament .detail .sideBlock .cover::before {
    position: absolute;
	content: '';
	width: 25%;
	height: 80px;
	top: 0;
	left: 0;
	display: block;
    background: url("../images/tournament/open_tournament_mark.png") no-repeat center center #e50012;
	background-size: 80%;
}
#tournament .detail .sideBlock .cover .year {
    position: absolute;
	width: 75%;
	height: 80px;
	top: 0;
	right: 0;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	background: rgba(0,0,0,0.5);
}
#tournament .detail .sideBlock .cover .year img {
    width: 90%;
    display: block;
	filter: invert(100%) sepia(42%) saturate(0%) hue-rotate(320deg) brightness(104%) contrast(101%);
}
#tournament .detail .sideBlock .cover .year span {
	position: absolute;
	width: 70px;
	height: 30px;
	bottom: -40px;
	right: 10px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	font-size: 1.5em;
	font-weight: bold;
    line-height: 1em;
	text-align: center;
	color: #e50012;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.2);
}
#tournament .detail .sideBlock .cover .bnr {
    position: absolute;
	width: 90%;
	bottom: 20px;
    display: block;
}
#tournament .detail .sideBlock a.btnEntry {
	position: relative;
	width: 100%;
    height: 60px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin-bottom: 20px;
	padding-left: 20px;
	font-size: clamp(1em, 1.4vw, 1.6em);
	font-weight: bold;
	line-height: 1em;
	transition: 0.3s;
	color: #fff;
	border: solid 1px #fff;
	border-radius: 4px;
	background: linear-gradient(90deg, #8d0001 0%, #e50012 50%, #8d0001 100%);
	box-sizing: border-box;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
#tournament .detail .sideBlock a.btnEntry::before {
	position: absolute;
	content: '';
	width: 30px;
    aspect-ratio: 1/1;
	left: 20px;
	display: block;
    background: url("../images/icon_entry.svg") no-repeat center center;
	background-size: contain;
	box-sizing: border-box;
	filter: invert(99%) sepia(53%) saturate(0%) hue-rotate(169deg) brightness(118%) contrast(100%);
}
#tournament .detail .sideBlock a.btnEntry::after {
	position: absolute;
	content: '';
	width: 14px;
    aspect-ratio: 1/1;
	right: 20px;
	display: block;
    background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	box-sizing: border-box;
	filter: invert(99%) sepia(53%) saturate(0%) hue-rotate(169deg) brightness(118%) contrast(100%);
}
#tournament .detail .sideBlock a.btnEntry:hover {
	transition: all 200ms;
	opacity: 0.5;
}
#tournament .detail .sideBlock .btnBlock {
    width: 100%;
	justify-content: space-between;
	margin-bottom: 10px;
}
#tournament .detail .sideBlock .btnBlock a {
	position: relative;
	width: 48%;
	height: 50px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 0;
	padding-left: 20px;
	font-size: 1.2em;
	line-height: 1em;
	text-align: center;
	border-style: solid;
	border-width: 1px;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
}
#tournament .detail .sideBlock .btnBlock a::before {
	position: absolute;
	content: '';
	width: 24px;
	aspect-ratio: 1/1;
	left: 10px;
    display: block;
	background: url("../images/icon_pdf.svg") no-repeat center center;
	background-size: contain;
}
#tournament .detail .sideBlock .btnBlock a.match {
	border-color: #0071bc;
}
#tournament .detail .sideBlock .btnBlock a.match::before {
	filter: invert(36%) sepia(66%) saturate(7030%) hue-rotate(188deg) brightness(91%) contrast(103%);
}
#tournament .detail .sideBlock .btnBlock a.result {
	border-color: #e50012;
}
#tournament .detail .sideBlock .btnBlock a.result::before {
	filter: invert(26%) sepia(99%) saturate(7221%) hue-rotate(344deg) brightness(80%) contrast(131%);
}
#tournament .detail .sideBlock .btnBlock a:hover {
	transition: all 200ms;
	opacity: 0.5;
}

/*大会入賞選手*/
#tournament .detail .sideBlock ul.winner {
    position: relative;
    width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 auto;
}
#tournament .detail .sideBlock ul.winner li {
    position: relative;
	width: 80%;
    display: block;
    margin: 10px auto;
    box-sizing: border-box;
}
#tournament .detail .sideBlock ul.winner li img {
    width: 100%;
    aspect-ratio: 4/3;
	display: block;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius: 4px;
}
#tournament .detail .sideBlock ul.winner li span {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-top: 10px;
	font-size: 1.2em;
    line-height: 1em;
	text-align: center;
}
#tournament .detail .sideBlock ul.winner li span::before {
	content: '';
	width: 24px;
	aspect-ratio: 1/1;
    display: inline-block;
	margin-right: 5px;
	background: url("../images/tournament/crown.svg") no-repeat center center;
	background-size: contain;
}
#tournament .detail .sideBlock ul.winner li span.gold::before {
	filter: invert(72%) sepia(99%) saturate(407%) hue-rotate(356deg) brightness(91%) contrast(86%);
}
#tournament .detail .sideBlock ul.winner li span.silver::before {
	filter: invert(79%) sepia(6%) saturate(104%) hue-rotate(149deg) brightness(93%) contrast(85%);
}
#tournament .detail .sideBlock ul.winner li span.cupper::before {
	filter: invert(56%) sepia(16%) saturate(1558%) hue-rotate(338deg) brightness(89%) contrast(83%);
}

/*コンテンツエリア*/
#tournament .detail .contentBlock {
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#tournament .detail .contentBlock h3 {
	width: 100%;
    display: block;
	margin: 20px 0 10px;
	font-size: clamp(1.8em, 2vw, 3.2em);
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #e50012;
}
#tournament .detail .contentBlock .date {
	width: 100%;
    display: block;
	margin: 10px 0;
	font-size: clamp(1.2em, 1.6vw, 2.4em);
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
}
#tournament .detail .contentBlock .venue {
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 10px 0;
	font-size: clamp(1.2em, 1.6vw, 1.8em);
	line-height: 1.2em;
}
#tournament .detail .contentBlock .venue a.name {
    text-decoration: underline;
	color: #06c;
}
#tournament .detail .contentBlock .venue a.name:hover {
    transition: all 200ms;
	opacity: 0.5;
}
#tournament .detail .contentBlock .venue span {
    width: 80%;
	height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 20px auto 0;
	padding: 0 10px;
	font-size: 0.8em;
	line-height: 1.2em;
	border: solid 1px #333;
	box-sizing: border-box;
}
#tournament .detail .contentBlock .venue a.map {
	width: auto;
	height: 24px;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 10px auto;
	font-size: 0.7em;
	line-height: 1em;
	box-sizing: border-box;
}
#tournament .detail .contentBlock .venue a.map::before {
	content: '';
	width: 20px;
    aspect-ratio: 1/1;
	display: block;
	margin-right: 5px;
    background: url("../images/icon_map.svg") no-repeat center center;
	background-size: contain;
	box-sizing: border-box;
	filter: invert(26%) sepia(99%) saturate(7221%) hue-rotate(344deg) brightness(80%) contrast(131%);
}
#tournament .detail .contentBlock .venue a.map:hover {
	color: #e50012;
	transition: all 200ms;
}
#tournament .detail .contentBlock dl.challenge_cup {
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 10px 0;
	padding: 20px 0;
	border-top: solid 1px #333;
	border-bottom: solid 1px #333;
}
#tournament .detail .contentBlock dl.challenge_cup dt {
    width: auto;
	height: 40px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-right: 10px;
	padding: 0 20px;
	font-size: clamp(1.2em, 1.6vw, 1.6em);
	line-height: 1em;
	color: #fff;
	background: #e50012;
}
#tournament .detail .contentBlock dl.challenge_cup dd {
    width: auto;
	font-size: clamp(1.8em, 1.8vw, 2.4em);
	font-weight: bold;
	line-height: 1.2em;
}
#tournament .detail .contentBlock ul.sponsor {
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 10px 0;
	padding: 20px 0;
	border-top: solid 1px #333;
	border-bottom: solid 1px #333;
}
#tournament .detail .contentBlock ul.sponsor li {
    width: 100%;
    display: block;
	margin: 5px 0;
	font-size: clamp(1.2em, 1.2vw, 1.4em);
	line-height: 1.2em;
}
#tournament .detail .contentBlock ul.sponsor li a {
    text-decoration: underline;
	color: #06c;
}
#tournament .detail .contentBlock ul.sponsor li a:hover {
    transition: all 200ms;
	opacity: 0.5;
}
#tournament .detail .contentBlock .description {
	width: 100%;
	display: block;
	margin: 10px 0;
    font-size: 1.2em;
	line-height: 1.6em;
}
#tournament .detail .contentBlock table {
    width: 100%;
    display: table;
	margin: 40px auto;
}
#tournament .detail .contentBlock table tr:nth-of-type(odd) {
    background: #f7f7f7;
}
#tournament .detail .contentBlock table th,
#tournament .detail .contentBlock table td {
    display: table-cell;
    padding: 20px 10px;
    font-size: 1em;
	line-height: 1.4em;
}
#tournament .detail .contentBlock table th {
    width: 70px;
    vertical-align: top;
    text-align: left;
}
#tournament .detail .contentBlock .note {
	width: 100%;
	display: block;
	padding-top: 20px;
	font-size: 1em;
	line-height: 1.2em;
	border-top: solid 5px #eee;
}
#tournament .btnBlock {
    width: 90%;
	margin: 0 auto;
}
#tournament a.linkBack {
	width: auto;
	height: 20px;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin-right: auto;
	font-size: 1.2em;
	line-height: 1em;
	box-sizing: border-box;
}
#tournament a.linkBack::before {
	content: '';
	width: 20px;
    aspect-ratio: 1/1;
	display: block;
	margin-right: 10px;
	border: solid 1px #000;
    background: url("../images/arrow.svg") no-repeat center center;
	background-size: 10px 10px;
	box-sizing: border-box;
	transform: rotate(180deg);
	filter: invert(26%) sepia(99%) saturate(7221%) hue-rotate(344deg) brightness(80%) contrast(131%);
}
#tournament a.linkBack:hover {
	color: #e50012;
	transition: all 200ms;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ニュース
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*-- 一覧 --*/
.newsBlock {
    width: 90%;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin: 0 auto 40px;
	padding: 40px 60px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
.newsBlock ul.list {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
}
.newsBlock ul.list li {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
	padding: 20px 0;
    box-sizing: border-box;
}
.newsBlock ul.list li+li {
	border-top: solid 1px #ccc;
}
.newsBlock ul.list li img {
	width: 120px;
	aspect-ratio: 1/1;
	display: block;
	margin-right: 20px;
	object-fit: cover;
	object-position: 50% 0%;
}
.newsBlock ul.list li div {
	width: 100%;
	display: block;
}
.newsBlock ul.list li div span {
	width: 100%;
	display: block;
	margin: 10px 0;
	font-size: clamp(1em, 1.2vw, 1.3em);
	line-height: 1.4em;
	color: #888;
}
.newsBlock ul.list li div a {
	width: 100%;
	display: block;
	font-size: clamp(1em, 1.2vw, 1.2em);
	font-weight: bold;
	line-height: 1.4em;
}
.newsBlock ul.list li div a.linkout::after {
	content: '';
	width: 12px;
	aspect-ratio: 1/1;
	display: inline-block;
	margin-left: 5px;
	background: url("../images/icon_linkout.svg") no-repeat center center;
	background-size: contain;
	filter: invert(15%) sepia(98%) saturate(7425%) hue-rotate(351deg) brightness(87%) contrast(107%);
}
.newsBlock ul.list li div a:hover {
	text-decoration: underline;
    color: #e50012;
}
.newsBlock ul.list li div p {
	width: 100%;
	display: block;
	margin: 5px 0;
	font-size: clamp(1em, 1.2vw, 1.2em);
	line-height: 1.4em;
}

/*ページネーション*/
.wp-pagenavi {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 20px auto;
	text-align: center;
	font-size: 1.2em;
	line-height: 1em;
}
.wp-pagenavi a,
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.prevpostslink {
	min-width: 30px;
    height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    margin: 0 5px;
	text-decoration: none;
    border: none;
    background: #f5f5f5;
    box-sizing: border-box;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.prevpostslink {
	border: none;
}
.wp-pagenavi a:hover {
	border-color: #e50012;
}
.wp-pagenavi a,
.wp-pagenavi span {
    border: none;
	box-sizing: border-box;
}
.wp-pagenavi a.page,
.wp-pagenavi span.pages {
    border: none;
}
.wp-pagenavi span.current {
	width: 30px;
    height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    margin: 0 5px;
	font-weight: bold;
	color: #FFF;
	border: none;
	background: #e50012;
    box-sizing: border-box;
}
.wp-pagenavi span.extend {
	padding: 5px 10px;
    border: none;
}
.wp-pagenavi .first,
.wp-pagenavi .last {
	width: 50px;
    height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    margin: 0 5px;
	font-size: 0.8em;
	color: #e50012;
	border: solid 1px #e50012;
	background: #fff;
    box-sizing: border-box;
}

/*-- News（詳細ページ） --*/
#news .articleTitle {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
}
#news .articleTitle figure.thumb {
	width: 40%;
	display: block;
	margin-right: 20px;
}
#news .articleTitle figure.thumb img {
	width: 100%;
	aspect-ratio: 4/3;
	display: block;
	object-fit: cover;
	object-position: 50% 0%;
}
#news .articleTitle .title {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
}
#news .articleTitle .title .date {
	width: 100%;
	display: block;
	margin-bottom: 20px;
	font-size: 1.4em;
	line-height: 1em;
	color: #999;
}
#news .articleTitle .title h3 {
	width: 100%;
	display: block;
	font-size: clamp(1.8em, 2vw, 2.4em);
	font-weight: bold;
	line-height: 1.4em;
}
.newsArticle {
	width: 100%;
    display: block;
	margin-top: 30px;
	padding: 20px 0;
    font-size: 1.4em;
	line-height: 1.6em;
	border-top: solid 5px #e50012;
	box-sizing: border-box;
}
.newsArticle div,
.newsArticle .wp-block-group {
	width: 100%;
	display: block;
	padding: 20px 0;
}
.newsArticle .w100 {width: 100%;}
.newsArticle .w90 {width: 90%;}
.newsArticle .w80 {width: 80%;}
.newsArticle .w70 {width: 70%;}
.newsArticle .w60 {width: 60%;}
.newsArticle .w50 {width: 50%;}

/*見出し*/
.newsArticle h1,
.newsArticle h2,
.newsArticle h3,
.newsArticle h4,
.newsArticle h5,
.newsArticle h6 {
	width: 100%;
    display: block;
	margin: 10px 0;
	font-weight: bold;
	line-height: 1.2em;
}
.newsArticle h1 {
	font-size: 1.5em;
}
.newsArticle h2 {
	font-size: 1.4em;
}
.newsArticle h3 {
	font-size: 1.3em;
}
.newsArticle h4 {
	font-size: 1.2em;
}
.newsArticle h5 {
	font-size: 1.1em;
}
.newsArticle h6 {
	font-size: 1em;
}
.newsArticle p {
	width: 100%;
    display: block;
	padding: 10px 0;
	font-size: 1em;
	font-weight: normal;
	line-height: 1.6em;
	box-sizing: border-box;
}
.newsArticle a {
	text-decoration: underline !important;
	color: #06c;
}
.newsArticle .aligncenter {
	display: block;
    margin-left: auto;
    margin-right: auto;
}

/*一覧へ戻る*/
.pageNavi {
	position: relative;
	width: 100%;
    min-height: 60px;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		/*flex-wrap: wrap;*/
    margin: 0 auto;
	border-top: solid 1px #CCC;
}
.pageNavi a.btnList {
	position: absolute;
    width: 10%;
    left: calc(50% - 5%);
	display: block;
}
.pageNavi a.btnList span {
	width: 90%;
	max-width: 30px;
	height: 1px;
	display: block;
	margin: 7px auto;
	background: #000;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
サイトポリシー／個人情報保護方針
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#policy .block .box {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: stretch;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 auto;
	padding: 20px 0;
}
#policy .block hr {
	width: 100%;
	height: 1px;
	border: none;
	background: #ddd;
}
#policy .block .date {
	width: auto;
	display: block;
    margin-left: auto;
	font-size: 1.2em;
	line-height: 1.6em;
	margin-bottom: 20px;
	text-align: right;
}
#policy .block .text {
	width: 100%;
	display: block;
	font-size: 1.3em;
	line-height: 1.6em;
	text-align: justify;
}
#policy .block .subject {
	width: 100%;
	display: block;
	margin-bottom: 15px;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1em;
}
#policy .block .text a {
	color: #06C;
	text-decoration: underline;
}
#policy .block dl {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
}
#policy .block dl dt {
	width: 25px;
	display: inline-block;
	font-size: 1.3em;
	line-height: 1.6em;
}
#policy .block dl dd {
	width: calc(100% - 25px);
	display: inline-block;
	font-size: 1.3em;
	line-height: 1.6em;
}
#policy .block ul {
	width: calc(100% - 25px);
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 15px 0 0 auto;
}
#policy .block ul li {
	width: 100%;
	margin-bottom: 10px;
	font-size: 1.3em;
	line-height: 1.6em;
    box-sizing: border-box;
}
#policy .block ul.number li {
	padding-left: 1.5em;
    text-indent: -2.5em;
}
#policy .block ul.disc li {
	text-indent: inherit;
    list-style-position: outside;
	list-style-type: disc;
}
#policy .block ol {
	width: 80%;
	display: block;
	margin: 0 auto;
}
#policy .block ol li {
	width: 100%;
	margin: 30px 0;
	font-size: 1.3em;
	line-height: 1.6em;
	list-style: decimal outside;
}
#policy .block .contact {
	width: 100%;
	display: block;
	margin: 0 auto 20px;
	font-size: 1.6em;
	line-height: 1em;
	text-align: center;
}
#policy .block address {
	width: 100%;
    display: block;
	margin: 20px auto;
	font-size: 1.3em;
	line-height: 1.4em;
	text-align: center;
}
#policy .block address strong {
	width: 100%;
    display: block;
    margin-bottom: 10px;
	font-size: 1.2em;
	line-height: 1.2em;
	text-align: center;
}
#policy .block .tel {
	width: 100%;
	display: block;
	margin-top: 20px;
	font-size: 2em;
	line-height: 1.4em;
	text-align: center;
}
#policy .block .tel span {
	font-size: 1.6em;
}
#policy .block .tel span.small {
	font-size: 0.6em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Footer
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
footer {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
    box-sizing: border-box;
}
footer #page-top{
	position: fixed;
	width: 50px;
	right: 0;
	bottom: 0;
	z-index: 30000;
    border-radius: 25px;
	background: rgba(0,0,0,0.5);
}
footer .wrap {
	padding: 0;
	background: url("../images/footer_bg.webp") no-repeat 18.3% center #5f9942;
	background-size: cover;
}
footer .sponsorship {
	position: relative;
    width: 90%;
    display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 0 auto;
	box-sizing: border-box;
}
footer .sponsorship dl {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 30px 0;
	padding: 30px;
	color: #fff;
	border-radius: 6px;
	background: rgba(0,0,0,0.5);
	box-sizing: border-box;
}
footer .sponsorship dl dt {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	font-family: "游明朝","Yu Mincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
	font-size: clamp(1.8em, 2.4vw, 2.4em);
	line-height: 1.2em;
	text-align: center;
}
footer .sponsorship dl dd {
	width: 100%;
    display: block;
	font-size: 1.2em;
	line-height: 1.6em;
	text-align: center;
}
footer .sponsorship dl span {
	width: 100%;
    display: block;
	margin: 20px 0 40px;
	font-size: 1em;
	line-height: 1.2em;
	text-align: right;
}
footer .sponsorship dl a.linkArrow {
	margin-left: auto;
	color: #fff;
}
footer .sponsorship dl a.linkArrow:hover {
	text-decoration: underline;
}
footer .sponsorship dl a.linkArrow::after {
	filter: invert(99%) sepia(3%) saturate(573%) hue-rotate(324deg) brightness(110%) contrast(100%);
}
footer .sponsorship ul {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 20px;
	color: #fff;
}
footer .sponsorship ul li {
	width: 40%;
    display: block;
	margin: 10px 4%;
}
footer .sponsorship ul li span {
	width: 100%;
    display: block;
	margin-top: 10px;
	font-size: 1em;
	line-height: 1.2em;
	text-align: center;
	color: #fff;
}
footer .sponsorship ul li a:hover {
	transition: all 200ms;
	opacity: 0.5;
}
footer .bottom {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	padding: 20px 0;
	color: #fff;
	background: #e50012;
}
footer .bottom .block {
	align-content: center;
	align-items: center;
}
footer .bottom .logo {
	width: 90%;
    display: block;
	margin: 20px auto;
}
footer .bottom ul {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin: 20px 0;
}
footer .bottom ul li {
	display: block;
	padding: 0 20px;
	font-size: 1em;
	line-height: 1em;
}
footer .bottom ul li+li {
	border-left: solid 1px rgba(255,255,255,0.5);
}
footer .bottom ul li a {
	color: #fff;
}
footer .bottom ul li a:hover {
	text-decoration: underline;
}
footer .bottom .copyright {
	width: 100%;
    display: block;
	margin-top: 20px;
	font: 300 0.8em/1em "futura-pt", Arial, "sans-serif";
	text-align: center;
}