/*====================================================================================================

  TOPPAGE

====================================================================================================*/

#toppage {
	margin: 0;
	padding: 0;
}
#toppage .box_main { max-width: 1200px; width: 100%; margin: auto; }



/*** SLIDER *******************************************************************/
#toppage .main_slider { position: relative; overflow:hidden; }
#toppage .main_slider .tit {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	z-index: 9999;
	color: #fff;
	margin: auto;
	text-align: center;
}
#toppage .main_slider .tit span,
#toppage .main_slider .tit small { 
	opacity: 0;
	display: block; 
	font-size: 625%;
	font-weight: 700;
	line-height: 120%;
	width: fit-content;
	margin: auto;
	position: relative;
}
#toppage .main_slider .tit span:nth-child(1) { animation: slideIn 1.5s ease forwards; }
#toppage .main_slider .tit span:nth-child(2) { animation: slideIn 1.5s ease 0.5s forwards; }
#toppage .main_slider .tit small {
	font-size:225%;
	margin-top:50px;
	line-height: 180%;
	letter-spacing:0.5em;
	animation: fadeIn 1.5s ease 0.8s forwards;
}
#toppage .main_slider .tit span::after,
#toppage .main_slider .tit small::after {
	content: "";
	position: absolute;
	opacity: 0;
	background: linear-gradient(90deg, rgba(21,21,21,0) 0%, rgba(21,21,21,0.26) 5%, #151515 50%, rgba(21,21,21,0.26) 95%, rgba(21,21,21,0) 100%);
	width: 100%;
	height: 55px;
	margin: auto;
	bottom: 0;
	left: 0;
	z-index: -1;
	visibility: hidden;
	animation: fadeIn2 1.5s ease 0.8s forwards;
}
#toppage .main_slider .tit small::after { height:41px; }
#toppage .main_slider .slider {}
#toppage .main_slider .slider img { width: 100%; max-height: 910px; height: 100vh; object-fit: cover; object-position: center; }

@keyframes slideIn {
	0% { opacity:0; left:100%; }
	50% { opacity: 0; }
	100% { opacity:1; left:0; }
}
@keyframes fadeIn {
	0% { opacity:0; }
	80% { opacity:0; }
	100% { opacity:1; }
}
@keyframes fadeIn2 {
	0% { visibility: hidden; opacity:0; }
	80% { visibility: hidden; opacity:0; }
	100% { visibility: visible; opacity:0.26; }
}

/*** SLOGAN *******************************************************************/
#toppage .slogan {
	max-width: 1000px;
	width: 90%;
	margin: 100px auto;
}
#toppage .slogan h2 {
	text-align: center;
}
#toppage .slogan h2 b {
	display: block;
	font-size: 437.5%;
	font-weight: 900;
	line-height: 190%;
	margin-bottom: 40px;
	background: url(/hirohata/judo/image/top/border_frame.svg) no-repeat center;
	background-size: 100% 100%;
}
#toppage .slogan h2 small {
	color: #A70000;
	font-size: 125%;
	font-weight: 900;
	position: relative;
	width: fit-content;
	display: block;
	margin: auto;
	padding: 0 30px;
	background: #fff;
	transform-style: preserve-3d;
}
#toppage .slogan h2 small::before {
	content: "";
	position: absolute;
	background: #A70000;
	width: 396px;
	height: 2px;
	top: 50%;
	left: -100px;
	right: 0;
	margin: auto;
	transform: translateY(-50%) translateZ(-1px);
}
#toppage .slogan p {
	font-size: 112.5%;
	line-height: 250%;
	margin-top: 40px;
	text-align: justify;
}





/*** 大会情報 *******************************************************************/
#toppage .taikai_info {}
#toppage .taikai_info h3 { margin-bottom: 60px; }
#toppage .taikai_info h3 b { color: #151515; }
#toppage .taikai_info h3 small { color: #A5A5A5; }
#toppage .taikai_info a {
	text-decoration: none;
	display: block;
	color: #151515;
	/*font-size: 112.5%;
	font-weight: 500;*/
}
#toppage .taikai_info ul { 
	display: flex; 
	flex-wrap: wrap; 
	width: 100%;
	border-bottom: 1px solid #707070;
	padding: 20px 0;
}
#toppage .taikai_info ul:first-child { border-top: 1px solid #707070; }
#toppage .taikai_info ul li.date { line-height: 200%; /*width:205px;*/ width:225px; }
#toppage .taikai_info ul li.date small { font-size: 93.8%; }
#toppage .taikai_info ul li.date b {
	margin: 0 20px;
	/*font-size: 125%;
	font-weight: 400;*/
	font-weight:normal;
	display: inline-block;
}
#toppage .taikai_info ul li.date small { display: inline-block; }
#toppage .taikai_info ul li.tit {
	position: relative;
	padding-left: 17px;
	line-height: 200%;
	font-size:112.5%;
	font-weight:500;
}
#toppage .taikai_info ul li.tit::after {
	content: "";
	top: 50%;
	left: 0;
	position: absolute;
	display: inline-block;
	width: 0;
	height: 0;
	transform: translateY(-50%);
	border-style: solid;
	border-width: 4.5px 0 4.5px 7px;
	border-color: transparent transparent transparent #151515;
}
#toppage .taikai_info ul li.tit a:hover {
	text-decoration: underline;
	text-underline-offset:7px;
}
#toppage .taikai_info ul li.links { display: flex; margin: 0 0 0 auto; }
#toppage .taikai_info ul li.links .b_more {
	width: 200px;
	height: 40px;
}

#toppage .taikai_info .b_more a {
	color: #fff;
	text-align: center;
	padding: 9px 0 11px;
	line-height: 100%;
}

#toppage .taikai_info .btn-bl {	background: #A70000; margin-right: 30px; }
#toppage .taikai_info .btn-bl a::after { border-color: transparent transparent transparent #A70000; }
#toppage .taikai_info .btn-skbl {background: #D35151; }
#toppage .taikai_info .btn-blk { background: #151515; margin: 0 60px;}
#toppage .taikai_info .btn-blk a { padding: 14px 0 11px; }
#toppage .taikai_info .btn-blk a::after { border-color: transparent transparent transparent #151515; }
#toppage .taikai_info .no-link { opacity: 0.3; }
#toppage .taikai_info .no-link a { cursor: default; pointer-events:none; }

#toppage .taikai_info .b_box { margin: 60px auto 100px; display: flex; justify-content: center; }



/*** カレンダー（活動計画） *******************************************************************/
#toppage .activity { 
	background: #192126;
	padding-block: 100px 0; 
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	overflow: hidden;
	position: relative; 
	z-index:1;
}
#toppage .activity .shape {
	content: "";
	position: absolute;
	width: 100%;
	height: 282px;
	z-index: -1;
	transform: skewX(-22deg);
}
#toppage .activity .shape.s-left { bottom: 20px; left: -500px; background: #A70000; margin-left: calc(((100% - 1000px) / 2) * -1); }
#toppage .activity .shape.s-right { bottom: 0; right: -500px; background: #D35151; margin-right: calc(((100% - 1000px) / 2) * -1); }
#toppage .activity .a-filter { z-index:9999; opacity:0;}

#toppage .activity h3 { width: 100%; margin-bottom: 60px; }
#toppage .activity .box_main { display: flex; justify-content: space-between; }
#toppage .activity .box {
	color: #fff;
	display: flex;
	padding: 70px 0;
	max-width: 400px;
}
#toppage .activity .box1 { padding: 55px 0 95px; }
#toppage .activity .box2 { padding: 55px 0 70px; margin-top: 25px; }
#toppage .activity .box2 .mon span.yr { margin-right: 70px; }
#toppage .activity .mon > * { line-height: 100%; display: inline-block; }
#toppage .activity .mon span.yr { font-size: 143.8%; font-weight: 500; vertical-align: top; padding-top: 70px; }
#toppage .activity .mon b { font-size: 1000%; font-weight: 500; }
#toppage .activity .mon small { font-size: 187.5%; font-weight: 500; vertical-align: middle; margin-top: -35px; }

#toppage .activity .btn-lnk { margin: auto 0 40px 35px; }
#toppage .activity .btn-lnk p { 
	margin: auto; 
	font-size: 143.8%; 
	line-height: 100%;
	width: fit-content; 
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: 1px solid #FFF; 
}
#toppage .activity .b_more { background: #151515; width: 92px; height: 40px; }
#toppage .activity .b_more a { justify-content: initial; padding: 0 0 0 12px; }
#toppage .activity .b_more a::after { border-color: transparent transparent transparent #151515; }



/*** INTRO MEMBERS *******************************************************************/
#toppage .intro_mem { background: #192126; padding-block: 110px; overflow: hidden; }
#toppage .intro_mem h3 { }
#toppage .intro_mem ul { width: 1000px; margin: 60px auto; }
#toppage .intro_mem ul .slick-list { overflow:visible; }
#toppage .intro_mem ul .slick-prev,
#toppage .intro_mem ul .slick-next { background: #151515; width: 30px; height: 80px; }
#toppage .intro_mem ul .slick-prev::before,
#toppage .intro_mem ul .slick-next::before {
  top: 50%;
  right: 10px;
  background: none;
  position: absolute;
  display: inline-block;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-style: solid;
  z-index: 999999;
  opacity: 1;
}
#toppage .intro_mem ul .slick-prev::before {
  border-width: 5.5px 9px 5.5px 0;
  border-color: transparent #fff transparent transparent;	
}
#toppage .intro_mem ul .slick-next::before {
  border-width: 5.5px 0 5.5px 9px;
  border-color: transparent transparent transparent #fff;
}
#toppage .intro_mem ul li {
	position: relative;
	margin-right: -180px;
	/* 
	--start-point : clip-pathの起点となる、左上の点の位置
	li:after,li img にて使用
	*/
	--start-point:22.087%;
}
#toppage .intro_mem ul li::after {
	content: "";
	position: absolute;
	background: rgba(0, 0, 0, .55);
	/*width: 78.1%;*/
	width:100%;
	height: 100%;
	z-index: 99999;
	/*left: 109px;*/
	top: 0;
	/*transform: skewX(-26deg);*/
	transition: 1.8s ease-in;
	clip-path:polygon(var(--start-point) 0, 100% 0, calc(100% - var(--start-point)) 100%, 2px 100%);
}
#toppage .intro_mem ul li.slick-active::after { content: none; }
#toppage .intro_mem ul li img { 
	width: 100%; height: 100vh; max-height: 442px; object-fit: cover; object-position: center;
	clip-path:polygon(var(--start-point) 0, 100% 0, calc(100% - var(--start-point)) 100%, 2px 100%);
}
#toppage .intro_mem ul li p {
	position: absolute;
	bottom: 10px;
	left: 145px;
	color: #fff;
	line-height: 250%;
	filter: drop-shadow(rgba(0, 0, 0, .8) 2px 2px 4px) drop-shadow(rgba(0, 0, 0, .16) 2px 2px 4px);
	z-index:1;
}
#toppage .intro_mem ul li p span { font-size:137.5%; font-weight:700;}
#toppage .intro_mem ul li p b {
	display: block;
	font-size: 175%;
	font-weight: 700;
}
#toppage .intro_mem ul li p small {
	font-size: 150%;
	font-weight: 700;
}
#toppage .intro_mem ul li .b_more {
	background: #151515;
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	margin: auto;
	width: 170px;
	z-index:1;
}
#toppage .intro_mem ul li .b_more a::after {
	border-color: transparent transparent transparent #151515;
}



/*** INTRO *******************************************************************/
#toppage .intro { padding-block:50px; background:#192126; position:relative; }
#toppage .intro::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 50px;
	width: 100%;
	height: 180px;
	background: #A70000;
}
#toppage .intro .box {
	width: 100%;
	max-width: 1000px;
	position: relative;
	margin: 60px auto 40px;
}
#toppage .intro .box .photo img { width:100% }



/*** TOPICS *******************************************************************/
#toppage .topics { padding-block:50px 55px; background:#192126; }
#toppage .topics .topic_list {
	display: flex;
	row-gap: 30px;
	flex-wrap: wrap;
	margin: 60px auto;
	justify-content: space-between;
}
#toppage .topics dl {
	width: 100%;
	display: flex;
	max-width: 580px;
}
#toppage .topics dl dt { width:270px; aspect-ratio:270/210; overflow:hidden; }
#toppage .topics dl dt img { width:100%; transform-origin:center; transition:all 0.5s;}
#toppage .topics dl dd {
	width:300px;
	color: #FFF;
	display:flex;
	margin-left: 10px;
	padding-left: 10px;
	flex-direction: column;
	justify-content: center;
	border-block: 1px solid #FFF;
}
#toppage .topics dl dd .date {}
#toppage .topics dl dd .date b {
	font-size: 125%;
	font-weight: 400;
	margin-left: 10px;
	display: inline-block;
	vertical-align: middle;
}
#toppage .topics dl dd .date small {
	font-size: 93.8%;
	font-weight: 400;
	display: inline-block;
	vertical-align: middle;
}
#toppage .topics dl dd .title { margin-bottom:20px; font-size:112.5%; font-weight:500; padding-right:38px; position:relative;}
#toppage .topics dl dd .title:before {
	content: "";
	top: 8px;
	right:16px;
	width: 16px;
	height: 16px;
	background: #FFF;
	border-radius: 50%;
	position: absolute;
	transition:all 0.5s;
}
#toppage .topics dl dd .title:after {
	content: "";
	top: 13px;
	right:21px;
	position: absolute;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5px 0 3.5px 5px;
	border-color: transparent transparent transparent #192126;
	transition:all 0.5s;
}
#toppage .topics a:hover dl dd .title:before { right:0px;}
#toppage .topics a:hover dl dd .title:after { right:5px;}
/*#toppage .topics dl dd .title a {
	color: #FFF;
	display: block;
	font-size: 112.5%;
	font-weight: 500;
	position: relative;
	padding-right: 38px;
	text-decoration: none;
}
#toppage .topics dl dd .title a::before {
	content: "";
	top: 8px;
	right:0;
	width: 16px;
	height: 16px;
	background: #FFF;
	border-radius: 50%;
	position: absolute;
}
#toppage .topics dl dd .title a::after {
	content: "";
	top: 13px;
	right:5px;
	position: absolute;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5px 0 3.5px 5px;
	border-color: transparent transparent transparent #192126;
}*/
#toppage .topics dl dd .title a:hover { opacity:0.7; }

#toppage .topics a { text-decoration:none;}
#toppage .topics a:hover dl dt img { scale:1.125; opacity:1;}
#toppage .topics a:hover dl dd { opacity:0.8;}
#toppage .topics a:hover dl dd .title { text-decoration:underline; text-underline-offset:7px;}

/*** BLOG *******************************************************************/
#toppage .blog { padding-block:55px 50px; background:#192126; }
#toppage .blog .blog_list { margin-block:60px; }
#toppage .blog ul { display:flex; align-items:center; position:relative; border-top:1px solid #FFF; }
#toppage .blog a:last-child ul { border-bottom:1px solid #FFF; }
#toppage .blog ul::before {
	content: "";
	top: 50%;
	/*right:40px;*/
	--right:40px;
	right:var(--right);
	width: 16px;
	height: 16px;
	background: #FFF;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	transition:all 0.5s;
}
#toppage .blog ul::after {
	content: "";
	top: 50%;
	/*right:45px;*/
	--right:45px;
	right:var(--right);
	position: absolute;
	display: inline-block;
	width: 0;
	height: 0;
	transform: translateY(-50%);
	border-style: solid;
	border-width: 3.5px 0 3.5px 5px;
	border-color: transparent transparent transparent #151515;
	transition:all 0.5s;
}
#toppage .blog a:hover ul:before,
#toppage .blog a:hover ul:after { right:calc(var(--right) - 10px);}
#toppage .blog ul li.date { width:170px; color:#FFF; }
#toppage .blog ul li.date small { font-size:93.8%; vertical-align:middle; margin-right:20px; }
#toppage .blog ul li.date b { font-size:125%; font-weight:400; vertical-align:middle; }
#toppage .blog ul li.title { padding-block:25px; line-height:160%; font-size:112.5%; font-weight:500;}
#toppage .blog ul li.title a {
	color: #FFF;
	display: block;
	font-size: 112.5%;
	font-weight: 500;
	padding-block: 25px;
	text-decoration: none;
}
#toppage .blog ul li.title a:hover { text-decoration:underline; text-underline-offset:7px; }


#toppage .blog a { color:#fff; text-decoration:none;}
#toppage .blog a:hover ul li.title { text-decoration:underline; text-underline-offset:7px;}



/*** LINK *******************************************************************/
#toppage .link { padding-block:50px 100px; background:#192126; }
#toppage .link .box_main {
	/*display:flex;
	position: relative;
	flex-direction: row-reverse;
	justify-content:space-between;*/
	display:block;
}
#toppage .link h3 { width:200px; margin-top:60px; }
#toppage .link .photo img { --cut:86%; clip-path:polygon(0 0,100% 0,var(--cut) 100%,0 100%);}
#toppage .link .b_more { right:0; bottom:0; }
#toppage .link .b_more.skewed::before { background:#D35151; }
#toppage .link .b_more.skewed a::after { border-color:transparent transparent transparent #D35151; }

#toppage .link .a_area {
	display: flex;
    position: relative;
    flex-direction: row-reverse;
    justify-content: space-between;
	text-decoration:none;
}
#toppage .link .a_area .b_span { --right-position:63px;}
#toppage .link .a_area .b_span:before { right:var(--right-position);}
#toppage .link .a_area .b_span:after { right:calc(var(--right-position) + 5px);}
#toppage .link .a_area:hover .b_more { opacity:0.8;}





