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


img {
	max-width:100%;
	height:auto;
}

/* -----------------------------------------------------------------------
## Reset #################################################################
----------------------------------------------------------------------- */
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,img,
pre,form,fieldset,input,textarea,p,blockquote,th,td {
  margin: 0px;
  padding: 0px;
}

body {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -moz-font-smoothing: antialiased;
    -moz-text-size-adjust: 100%;
    -ms-font-smoothing: antialiased;
    -ms-text-size-adjust: 100%;
    -o-font-smoothing: antialiased;
    -o-text-size-adjust: 100%;
    background-color: #6bc7f1;
    color: #222;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: initial;
    overflow-wrap: break-word;
}


fieldset,img {
  border: 0;
  vertical-align: bottom;
}

address,caption,cite,code,dfn,em,var {
  font-style: normal;
  font-weight: normal;
}
ul {
  list-style: none;
}
ol li {
	list-style-position: outside;
	list-style: decimal;
	margin-left: 25px;
	margin-bottom:5px;
}

caption,th {
  text-align: left;
  font-weight: normal;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 100%;
  font-weight: normal;
}

a{
	color: #333333;
	text-decoration:none;
}
sup,sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    position: relative;
     
}
sup {
    bottom: 0.6ex;
}
sub {
    top: .5ex;
}
.alpha{
	display:block;
	text-decoration:none;
	opacity: 1;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
.alpha:hover{
	opacity: 0.7;
}


.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

.ma_b5 {margin-bottom: 5px;}
.ma_b10 {margin-bottom: 10px;}
.ma_b15 {margin-bottom: 15px;}
.ma_b20 {margin-bottom: 20px;}
.ma_b21 {margin-bottom: 21px;}
.ma_b25 {margin-bottom: 25px;}
.ma_b30 {margin-bottom: 30px;}
table, tr, th, td {
    border-collapse: collapse;
	text-align:left;
	font-weight:normal;
	vertical-align:top;
}
.lett {letter-spacing: -0.1em;}

.pc {display:block!important;}
.sp {display:none!important;}

/*---- FOR SP ----*/
@media only screen and (max-width: 768px){
body {

}

.pc {display:none !important;}
.sp {display:block!important;}
.img100 {width:100%; height:auto;}
.img90 {width:90%; height:auto;}
.img80 {width:80%; height:auto;}
.img70 {width:70%; height:auto;}
}
.re { position:relative;}



a:hover {
	opacity: 0.6;
}

/****************************************

HEADER

*****************************************/


.ly_bg {
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/******************************
ly_left
******************************/

.ly_left {
    display: grid;
    position: fixed;
    top: 0;
    left: 0;
    place-items: center;
    width: calc(50% - 16.25rem);
    height: 100lvh;
}

.ly_left img {
    width: 28vw;
	top: 0;
    left: 0;
	margin: 0;
}



/******************************
ly_right
******************************/

.ly_right {
    display: grid;
    position: fixed;
    top: 0;
    right: 0;
    place-items: center;
    width: calc(50% - 16.25rem);
    height: 100lvh;
	background-image: url("../img/main_right.png");
	background-repeat: no-repeat;
	background-position: -100px 100px;
	background-size: 560px;
}

@media screen and (min-width: 1366px) {
    .ly_right {
    background-image: url("../img/main_right.png");
	background-repeat: no-repeat;
	background-position: -100px 100px;
	background-size: 110%;
}
}

.ly_right .ly_right_links {
	position: absolute;
    width: 28vw;
	max-width: 380px;
    left: 0;
	right: 0;
	bottom: 100px;
	margin: auto;
}

@media screen and (max-width: 768px) {
    .ly_bg, .ly_left, .ly_right {
        display: none;
    }
}

/******************************
main
******************************/

.ly_wrapper {
    display: block;
    z-index: 0;
    position: relative;
    width: 32.5rem;
    margin: 0 auto;
	padding: 0;
    background-color: #fff;
	box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}

@media screen and (max-width: 768px) {
    .ly_wrapper {
        width: 100%;
		max-width: 100%;
		box-shadow: none;
    }
}

.ly_wrapper.is_hidden {
    overflow: hidden;
}

/******************************
main
******************************/

main.ly_main {
	width: 100%;
}

@media screen and (max-width: 768px) {
    main.ly_main {
        width: 100%;
		max-width: 100%;
    }
}

main h2 {
	width: 100%;
}

main .main_img {
	margin: 0;
	padding: 20px;
}


/****************************************
end
*****************************************/

#end {
	margin: 60px 30px 60px;
	padding: 2px 0;
	border-top: #ea601f 2px solid;
	border-bottom: #ea601f 2px solid;
}

#end .end {
	margin: auto;
	padding: 50px 0;
	border-top: #ea601f 1px solid;
	border-bottom: #ea601f 1px solid;
}

#end .end h3 {
	margin: auto;
	padding: 10px 0 30px;
}




/****************************************
challenge
*****************************************/

#challenge {
	margin: auto;
	padding: 30px;
}

#challenge h3 {
	margin: auto;
	padding: 30px 30px;
}

#challenge .txt {
	margin: auto;
	padding: 20px 5px;
}

#challenge .btn {
	margin: auto;
	padding: 30px 50px 50px;
}



/****************************************
outline
*****************************************/

#outline {
	background-color: #fffde1;
	margin-bottom: 60px;
}

#outline h3 {
	margin: auto;
	padding: 40px;
}

#outline .txt {
	margin: auto;
	padding: 0 40px 40px;
}


/****************************************
category
*****************************************/

#category {
	margin-bottom: 80px;
}

#category h3 {
	margin: auto;
	padding: 20px 40px;
}

#category .txt {
	margin: auto;
	padding: 0 60px 0;
}

#category .btn {
	margin: 60px auto 0;
	padding: 0 40px 40px;
}


/****************************************
entry
*****************************************/

#entry {
	margin-bottom: 80px;
}

#entry h3 {
	margin: auto;
	padding: 40px;
}

#entry ul {
 width: 82%;
 margin: auto;
}

#entry ul li {
 margin: auto ;
 text-align: left;
}

#entry ul li:nth-child(2) {
 margin: auto ;
 text-align: left;
 padding: 30px 10px 0 20px;
}

#entry .kiyaku {
 width: 89%;
 margin: 80px auto;
 padding-right: 5px;
 font-size: 90%;
 line-height: 1.3;
}

#entry .kiyaku li {
 padding: 6px 0;
}



/****************************************
rules
*****************************************/

#rules {
	margin-bottom: 80px;
}

#rules h3 {
	margin: auto;
	padding: 40px;
}

#rules ul {
 width: 74%;
 margin: auto;
}

/****************************************
schdule
*****************************************/

#schdule {
	margin-bottom: 80px;
}

#schdule h3 {
	margin: auto;
	padding: 40px;
}

#schdule ul {
 width: 82%;
 margin: auto;
}

#schdule ul li {
 margin: 5px auto 40px;
}



/****************************************
cousemap
*****************************************/

#cousemap {
	margin-bottom: 80px;
}

#cousemap h3 {
	margin: auto;
	padding: 40px;
}

#cousemap ul {
 width: 82%;
 margin: auto;
}



/****************************************
access
*****************************************/

#access {
	margin-bottom: 80px;
}

#access h3 {
	margin: auto;
	padding: 40px;
}

#access ul {
 width: 82%;
 margin: auto;
}

#access ul li {
 margin: 5px auto;
 font-size: 0.86em;
 line-height: 1.6;
 font-weight: 600;
}


#access ul iframe {
	width: 100%;
	max-width: 100%;
	margin-bottom: 20px;
}

/****************************************
sponsor
*****************************************/

#sponsor {
	margin-bottom: 10px;
}

#sponsor h3 {
	margin: auto;
	padding: 40px;
}

#sponsor li a {
	margin: 5px auto;
	text-align: center;
	font-size: 0.86em;
	padding: 10px 0;
}

#sponsor .sponsor_list {
	margin: auto;
	padding: 0 25px 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#sponsor .sponsor_list li {
	width: 36%;
	margin: 0 auto;
	padding: 0 20px 40px;
	text-align: center;
}
#sponsor .sponsor_list li:nth-child(1) {
	width: 54%;
	margin: 0 auto;
	padding: 10px 45px 60px;
	text-align: center;
}
#sponsor .sponsor_list li:nth-child(2) {
	width: 38%;
	padding: 0 20px 40px;
}
#sponsor .sponsor_list li:nth-child(3) {
	width: 39%;
	padding: 0 20px 40px;
}
#sponsor .sponsor_list li:nth-child(4) {
	width: 35%;
	padding: 0 30px 40px;
}
#sponsor .sponsor_list li:nth-child(5) {
	width: 29%;
	padding: 0 34px 40px;
}
#sponsor .sponsor_list li:nth-child(6) {
	width: 14%;
	padding: 0 6px 10px;
}
#sponsor .sponsor_list li:nth-child(7) {
	width: 22%;
	padding: 0 6px 10px;
}
#sponsor .sponsor_list li:nth-child(8) {
	width: 22%;
	padding: 0 5px 10px;
}
#sponsor .sponsor_list li:nth-child(9) {
	width: 20%;
	padding: 0 6px 10px;
}
@media screen and (max-width: 768px) {
    
#sponsor .sponsor_list {
	margin: auto;
	padding: 0 20px 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#sponsor .sponsor_list li {
	width: 36%;
	margin: 0 auto;
	padding: 0 20px 40px;
	text-align: center;
}
#sponsor .sponsor_list li:nth-child(1) {
	width: 56%;
	margin: 0 auto;
	padding: 10px 40px 60px;
	text-align: center;
}
#sponsor .sponsor_list li:nth-child(2) {
	width: 39%;
	padding: 0 15px 40px;
}
#sponsor .sponsor_list li:nth-child(3) {
	width: 40%;
	padding: 0 15px 40px;
}
#sponsor .sponsor_list li:nth-child(4) {
	width: 36%;
	padding: 0 30px 40px;
}
#sponsor .sponsor_list li:nth-child(5) {
	width: 29%;
	padding: 0 24px 40px;
	font-size: 3.6vw;
}
#sponsor .sponsor_list li:nth-child(6) {
	width: 14%;
	padding: 0 6px 10px;
}
#sponsor .sponsor_list li:nth-child(7) {
	width: 22%;
	padding: 0 6px 10px;
}
#sponsor .sponsor_list li:nth-child(8) {
	width: 22%;
	padding: 0 5px 10px;
}
#sponsor .sponsor_list li:nth-child(9) {
	width: 20%;
	padding: 0 6px 10px;
}
}

#sponsor .sponsor_link {
	margin: auto;
	padding: 0 20px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#sponsor .sponsor_link li {
	width: 38%;
	margin: 0 auto;
	padding: 10px 16px 20px;
	font-size: 0.76em;
	font-weight: 600;
	text-align: center;
}

#sponsor .sponsor_link li:nth-child(1) {
	width: 44%;
	margin: 0;
	padding: 10px 16px 20px;
	font-size: 0.76em;
	font-weight: 600;
	text-align: center;
}
@media screen and (max-width: 768px) {
#sponsor .sponsor_link li {
	width: 45%;
	margin: 0 auto;
	padding: 10px 6px 20px;
	font-size: 2.7vw;
	font-weight: 600;
	text-align: center;
}
#sponsor .sponsor_link li:nth-child(1) {
	width: 45%;
	margin: 0 auto;
	padding: 10px 6px 20px;
	font-size: 2.7vw;
	font-weight: 600;
	text-align: center;
}

}

/****************************************
pagetop
*****************************************/


 #js-pagetop {
	width: 780px;
	max-width: 100%;
	margin: auto;
 }

 #js-pagetop .pagetop {
	width: 50px;
	height: 50px;
	margin-left: 240px;
	position: fixed;
	left: 50%;
	bottom: 160px;
	justify-content: center;
	align-items: center;
	z-index: 2;
	cursor: pointer;
  }
  @media only screen and (max-width: 768px) {
	#js-pagetop .pagetop {
		width: 40px;
		height: 40px;
		margin-left: 35%;
		position: fixed;
		left: 50%;
		bottom: 170px;
		justify-content: center;
		align-items: center;
		z-index: 2;
		cursor: pointer;
	  }
	}


/****************************************

footer

*****************************************/
footer {
	width: 100%;
	max-width: 100%;
}

footer h3 {
	margin: auto;
	padding: 10px 20px 20px;
}

.footer {
	margin: auto;
	padding: 10px 20px 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.footer p {
	margin: auto;
	width: 100%;
	font-size: 0.78em;
	line-height: 1.5;
	font-weight: 600;
}
@media screen and (max-width: 768px) {
.footer p {
	margin: auto;
	width: 100%;
	font-size: 2.6vw;
	line-height: 1.5;
	font-weight: 600;
}
}