@charset "utf-8";
/* CSS Document */


.contwrap {
	width:100%;
	margin-bottom:150px;}
.contwrap h2 {
  position: relative;
  padding: 1rem; /*文字と線の間の距離*/
  text-align: center;
  font-size:2.5em;
}

.contwrap h2:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);/*widthの半分を引く*/
  width: 60px;/*線の長さ*/
  height: 1px;/*線の太さ*/
  content: '';
  background: #CC0000;
}
@media (max-width: 800px) {
.contwrap  h2 {
  font-size:1.7em;
}}


.contwrap h3 {
	border-left:#CC0000 solid 7px;
	border-bottom:#CC0000 solid 1px;
	padding:5px 0 5px 25px;
	box-sizing:border-box;
	font-weight:700;  
  font-size:2.0em;
  margin:0 auto 30px auto;
   width:90%;
   height:auto;
}

@media (max-width: 800px) {
.contwrap h3 {
	border-left:#CC0000 solid 7px;
	border-bottom:#CC0000 solid 1px;
	padding:5px 0 5px 25px;
	box-sizing:border-box;
	font-weight:700;  
  font-size:1.3em;
  margin:0 auto 30px auto;
   width:90%;
   height:auto;
}}


.mrb30 {margin-bottom:30px;}
.bodytxt {
	max-width:1100px;
	width:fit-content;
	margin:50px auto 25px auto;}
	
@media (max-width: 1200px) {
	.bodytxt {
	max-width:80%;
	width:fit-content;
	margin:50px auto 25px auto;}}
	
	
.bodytxt .hotarulogo {
	width:54px;
	height:auto;
	max-width:650px;
	margin:0 auto 25px auto;}
.bodytxt .hotarulogo img {
	width:100%;
	height:auto;}
p.concepttxt {
	text-align:center;
	line-height:2.0;}
 
/*もくじ*/	
.mokujibox {
	width:fit-content;
	height:auto;
	margin:0 auto 90px auto;
	box-sizing:border-box;
	border:#CCCCCC 1px solid;
	padding:25px 30px;
	text-align:center;
	max-width:70%;}
.mokujibox ul{
	width:100%;
	text-align:center;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.mokujibox ul li{
	margin:0 25px 15px 25px;
}
.mokujibox ul li a {
	text-decoration:none;
}
.mokujibox span {
	display:block;
	margin:0 auto 20px auto;}		
	
.bodytxt p {
	margin-bottom:20px;}
.bodytxt ul li {
	margin-bottom:15px;
	list-style:outside;
	list-style-type:circle;
	list-style-position:outside	}
.formationimg {
	display:block;
	width:90%;
	height:auto;
	margin:0px auto;
	max-width:900px;}
.formationimg img, .formationimg_mp img{
	width:100%;
	height:auto;}	
.formationimg_mp {
	display:none;}
@media (max-width: 600px) {
.formationimg_mp {
	display:block;
	width:90%;
	height:auto;
	margin:0px auto;
	max-width:500px;}
.formationimg {
	display:none;}}


.contwrap h4 {
	border:#000 solid 1px;
	padding:10px 20px;
	box-sizing:border-box;
	font-weight:700;
  margin:0 auto 30px auto;
   width:70%;
   height:auto;
}

.contwrap h4.black {
	border:#000 solid 1px;
	background-color:#000000;
	padding:10px 20px;
	box-sizing:border-box;
	color:#FFF !important;
	font-weight:700;
  margin:0 auto 30px auto;
   width:70%;
   height:auto;
}
@media (max-width: 600px) {

.contwrap h4 {
   width:90%;
}
.contwrap h4.black {
   width:90%;
}}	
	
	
.asistimg {
	display:block;
	width:90%;
	height:auto;
	margin:0px auto 35px auto;
	max-width:870px;}
.asistimg img, .asistimg_mp img {
	width:100%;
	height:auto;}	
.asistimg_mp {
	display:none;}
@media (max-width: 600px) {
.asistimg_mp {
	display:block;
	width:90%;
	height:auto;
	margin:0px auto 20px auto;
	max-width:460px;}
.asistimg {
	display:none;}}

.innerbox {
	width:85%;
	height:auto;
	margin:0 auto 50px auto;}
.innerbox h5 {
	font-size:1.4em;
	font-weight:700;
	width:100%;
	height:auto;
	text-align:left;
	margin-bottom:10px;}
.innerbox table.program{
	width:100%;
	height:auto;
	margin-bottom:20px;
	border:#666666 solid 1px;}
.innerbox table.program tr th{
	width:8em;
	height:auto;
	padding:20px;
	box-sizing:border-box;
	background-color:#666;
	border-bottom:#FFFFFF dashed 1px;
	color:#FFFFFF;
	text-align:center;}
.innerbox table.program tr td{
	padding:20px 10px 20px 25px;
	box-sizing:border-box;
	border-bottom:#666 dashed 1px;
	text-align:left;}
@media (max-width: 600px) {
.innerbox table.program tr th{
	width:100%;
	display:block;
	padding:10px 20px;}
.innerbox table.program tr td{
	width:100%;
	display:block;
	padding:10px 20px 15px 20px;}}
	
			
.innerbox .programimgbox ul{
	width:100%;
	height:auto;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;}
.innerbox .programimgbox ul li{
	width:28%;
	height:auto;
	margin:0 2% 15px 2%;
	max-width:320px;}
.innerbox .programimgbox ul li img{
	width:100%;
	height:auto;}

.innerbox table.schedule{
	width:100%;
	height:auto;
	margin-bottom:20px;
	border:#666666 solid 1px;}
.innerbox table.schedule tr th.other{
	width:13em;
	height:auto;
	padding:20px;
	box-sizing:border-box;
	background-color:#666;
	border-bottom:#FFFFFF dashed 1px;
	color:#FFFFFF;
	text-align:center;}
.innerbox table.schedule tr th.summer{
	width:13em;
	height:auto;
	padding:20px;
	box-sizing:border-box;
	background-color:#279B00;
	border-bottom:#FFFFFF dashed 1px;
	color:#FFFFFF;
	text-align:center;}
.innerbox table.schedule tr th.winter{
	width:13em;
	height:auto;
	padding:20px;
	box-sizing:border-box;
	background-color:#99CCCC;
	border-bottom:#FFFFFF dashed 1px;
	color:#FFFFFF;
	text-align:center;}
.innerbox table.schedule tr td{
	padding:20px 10px 20px 25px;
	box-sizing:border-box;
	border-bottom:#666 dashed 1px;
	text-align:left;}	
@media (max-width: 800px) {	
.innerbox table.schedule tr th.other, .innerbox table.schedule tr th.summer, .innerbox table.schedule tr th.winter{
	width:100%;
	display:block;
	padding:10px 20px 10px 20px;}
.innerbox table.schedule tr td{
	width:100%;
	display:block;
	padding:10px 20px 15px 20px;}}
	

.costimg {
	width:90%;
	height:auto;
	margin:0px auto;
	max-width:1000px;}
.costimg img {
	width:100%;
	height:auto;}	


/*ボード部分*/
.boardwrap {
	width:90%;
	height:auto;
	max-with:1200px;
	margin:50px auto 30px auto;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;}

.boardwrap .boardimg {
	width:45%;
	height:auto;
	margin-right:5%;
	max-width:471px;}
.boardwrap .boardimg span {
	display:block;
	margin-bottom:15px;
	font-weight:700;
	text-align:center;}
.boardwrap .boardimg img {
	width:100%;
	height:auto;
	margin:0 auto;}	
.boardwrap .boardtxt {
	width:50%;
	height:auto;}
.boardwrap .boardtxt p {
	text-align:left;
	display:block;
	line-height:1.8;}
.boardwrap .boardtxt img {
	width:100%;
	height:auto;
	max-width:462px;
	margin:0 auto 15px auto;
	display:block;
	}
@media (max-width: 1000px) {
.boardwrap {
	display:block;}
.boardwrap .boardimg {
	width:100%;
	height:auto;
	margin-right:auto;
	margin-left:auto;
	max-width:471px;
	margin-bottom:20px;}
.boardwrap .boardtxt {
	max-width:100%;
	width:fit-content;
	height:auto;}	
	}
	
.othertoolswrap {
	width:90%;
	height:auto;
	max-with:1200px;
	margin:50px auto 30px auto;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;}

.othertoolswrap .toolbox {
	width:25%;
	height:auto;
	margin:0 3.5% 20px 3.5%;}
	
.othertoolswrap .toolbox img {
	width:100%;
	max-width:370px;
	height:auto;
	margin:0 auto 15px auto;}
.othertoolswrap .toolbox h3 {
	font-weight:700;
	font-size:1.3em;
	display:block;
	margin:0 auto 20px auto;}
.othertoolswrap .toolbox p {
	text-align:left;}
@media (max-width: 1100px) {
.othertoolswrap .toolbox {
	width:40%;
	height:auto;
	margin:0 5% 20px 5%;}}

@media (max-width: 650px) {
.othertoolswrap .toolbox {
	width:80%;
	height:auto;
	margin:0 10% 20px 10%;}}

/*予選*/
.contwrap .midashi{
	width:90%;
	margin:0 auto 40px auto;
	background-color:#000000;
	color:#FFFFFF;
	text-align:center;
	padding-top:15px;
	padding-bottom:15px;
	font-size:2.0em;
	border-radius:15px;
	font-weight:700;
	max-width:1200px;}
.yosenwrap {
	width:90%;
	height:auto;
	max-with:1100px;
	margin:50px auto 30px auto;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;}

.yosenwrap .yosenimg {
	width:45%;
	height:auto;
	margin-right:5%;
	max-width:500px;
	box-sizing:border-box;}
.yosenwrap .yosenimg img {
	width:100%;
	height:auto;
	margin:0 auto;}	
.yosenwrap  .yosentxt {
	width:50%;
	height:auto;
	box-sizing:border-box;}
.yosenwrap .yosentxt p {
	text-align:left;
	line-height:1.8;
	margin-bottom:15px;}
.yosenwrap .yosentxt img {
	width:100%;
	height:auto;
	max-width:138px;
	margin:0 25px 15px 0;
	float:left;
	}
.yosenwrap .yosentxt .tag {
	background:#CC3300;
	padding:5px 10px;
	border-radius:5px;
	color:#FFFFFF;
	font-size:0.75em;
	font-weight:700;
	margin:0 15px 10px 0; 
	height:auto;
	width:4em;}

@media (max-width: 1000px) {
.yosenwrap {
	display:block;}
.yosenwrap .yosenimg {
	width:100%;
	height:auto;
	margin-right:auto;
	margin-left:auto;
	max-width:500px;
	margin-bottom:20px;}
.yosenwrap .yosentxt {
	max-width:100%;
	width:fit-content;
	height:auto;}	
	}	

.yosendaywrap {
	width:90%;
	max-width:1100px;
	margin:50px auto 35px auto;
	height:auto;}
.yosendaywrap  p {
	text-align:left;
	line-height:1.8;
	margin-bottom:15px;}
.yosendaywrap  img {
	width:100%;
	height:auto;
	max-width:138px;
	margin:0 25px 15px 0;
	float:left;
	}
.yosenrun {
	width:80%;	
	max-width:1100px;
	margin:35px auto 0 auto;
	text-align:left;
	display:flex;}
.yosenrun .midashi {
	width:15%;
	min-width:6em;
	text-align:center;
	padding:10px;
	box-sizing:border-box;
	margin:0 2% 0 0;
	background-color:#66CCCC;
	color:#FFFFFF;
	font-weight:700;
	font-size:1.2em;
	border-radius:0px;}
.yosenrun ul {
	text-align:left;}
.yosenrun ul li {
	text-align:left;
	margin-bottom:10px;
	font-weight:700;}	
.yosenrun ul li:last-child {
	margin-bottom:0px;}	
	
.kekkabox {
  position: relative;
  padding: 1.5rem 2rem;
  border: 1px solid #000;
  width:80%;
  max-width:1100px;
  margin:25px auto;
  text-align:center;
  font-weight:700;
  font-size:1.3em;
  box-sizing:border-box;
}

.kekkabox:before {
  position: absolute;
  bottom: -14px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
}

.kekkabox:after {
  position: absolute;
  bottom: -13px;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #FFF transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
}

.kessyowrap {
	width:90%;
	height:auto;
	max-with:1100px;
	margin:50px auto 30px auto;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;}
.tornament {
	width:100%;
	height:auto;
	margin-bottom:60px;
	max-width:930px;}
.tornament img {
	width:100%;
	height:auto;}
.kessyotxt {
	width:100%;
	height:auto;
	max-width:1000px;
	margin:0 auto 35px auto;}
.kessyotxt ul li{
	margin-bottom:15px;
	font-weight:700;
	font-size:1.2em;}
.kessyotxt .tag {
	background:#CC3300;
	padding:5px 10px;
	border-radius:5px;
	color:#FFFFFF;
	font-size:0.75em;
	font-weight:700;
	margin:0 15px 10px 0; 
	height:auto;
	width:80px;
	text-align:center;}
.kessyotxtbox {
	width:100%;
	height:auto;
	max-width:1000px;
	margin:0 auto 35px auto;
	border:#000000 1px solid;
	padding:15px 25px;
	box-sizing:border-box;}

.pointlistimg {
	width:100%;
	height:auto;
	max-width:653px;
	margin:0 auto 25px auto;}
.pointlistimg img {
	width:100%;
	height:auto;}

.youtubetitle {
	width:80%;
	height:auto;
	text-align:center;
	margin:0 auto 20px auto;
	border-bottom:#CC0000 1px dashed;
	font-weight:700;}



/*ページ下部コンテンツ*/
.linkwrap {
	width:90%;
	max-width:1400px;
	height:auto;
	margin:100px auto 90px auto;}
@media (max-width: 1000px) {
.linkwrap {
	width:90%;
	max-width:1400px;
	height:auto;
	margin:50px auto 90px auto;}}	
	
	
.linkwrap h2 {
  position: relative;
  padding: 1rem; /*文字と線の間の距離*/
  text-align: center;
  font-size:2.5em;
}

.linkwrap h2:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);/*widthの半分を引く*/
  width: 60px;/*線の長さ*/
  height: 1px;/*線の太さ*/
  content: '';
  background: #CC0000;
}
@media (max-width: 800px) {
.linkwrap  h2 {
  font-size:1.7em;
}}

/*主要リンクボタン*/
.guidewrap {
	width:100%;
	height:auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	box-sizing:border-box;}
.guidebtn {
	width:50%;
	height:auto;
	position:relative;
	text-align:left;
	box-sizing:border-box;}
.guidebtn a{
    position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    left: 0;
  }
.guidebtn a:hover{
        opacity:0.6;
        filter: alpha(opacity=60);
        background: #fff;
  }
.guidebtn img {
	width:100%;
	height:auto;}
.guidebtn a h3 {
	position:absolute;
	top:50%;
	transform: translateY(-50%);
    left: 10%;
	font-weight:700;
	font-size:2.5em;
	}

.guidebtn a:hover h3  {
	text-decoration:none;
	color:#000000 !important;
	}

@media (max-width: 1000px) {
.guidebtn a h3 {
	font-size:1.7em;
	}}
@media (max-width: 600px) {
.guidebtn {
	width:100%;
	height:auto;
	position:relative;
	text-align:left;
	box-sizing:border-box;}}	
