@charset "utf-8";


/*==================================================
  Common
==================================================*/
html{
	width: 100%;
	min-height: 100vh;
	font-size: 62.5%;
}


body{
	width: 100%;
	min-height: 100vh;
	font-size: 1.4rem;
	color: #000000;
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


img{
	border: none;
	vertical-align: bottom;
}


li{
	list-style: none;
}


a{
	text-decoration: none;
}


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




/*==================================================
  Wrapper
==================================================*/
#wrapper{
	background: url(../images/bg.jpg) no-repeat center bottom;
	background-size: cover;
	width: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 0;
	position: relative;
}


.wrapper_mask{
	background-color: rgba(255,255,255,0.4);
	width: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
	position: fixed;
}




#loader{
	background-color: #ffffff;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9998;
}


#loader div{
	width: 80px;
	height: 80px;
	margin-top: -40px;
	margin-left: -40px;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 9999;
}




/*==================================================
  Header
==================================================*/
header{
}




/*==================================================
  GrobalNavi
==================================================*/
#gnavi{
}




/*==================================================
  Main
==================================================*/
main{
	width: 100%;
	max-width: 880px;
	min-height: 100vh;
	margin: 0 auto;
	padding: 34px 40px;
	box-sizing: border-box;
	position: relative;
}


main h1{
	font-weight: 700;
	font-size: 1.4rem;
	color: #000000;
	line-height: 1.5;
	margin: 0;
	padding: 10px 5px 10px 5px;
}


main h2{
	font-weight: 700;
	font-size: 3.8rem;
	color: #000000;
	line-height: 1.4;
	margin: 0;
	padding: 10px 0 20px 0;
	text-align: center;
}
main h2 span{
	padding: 0 5px;
	white-space: nowrap;
}


main h3{
	font-weight: 700;
	font-size: 2.8rem;
	color: #333333;
	line-height: 1.2;
	margin: 0;
	padding: 40px 0;
	text-align: center;
}
main h3 span{
	padding: 0 5px;
	white-space: nowrap;
}


.info_box{
	background-color: rgba(255, 255, 255, 0.5);
	max-width: 600px;
	margin: 0 auto;
	padding: 20px 30px;
	border: solid 1px #cccccc;
	box-sizing: border-box;
}


.info_box dl{
	display: flex;
	margin: 0;
	padding: 5px 0;
}


.info_box dl dt{
	font-weight: 700;
	font-size: 1.6rem;
	color: #333333;
	line-height: 1.7;
	margin: 0;
	padding: 0 5px 0 0;
	white-space: nowrap;
}


.info_box dl dd{
	font-weight: 700;
	font-size: 1.6rem;
	color: #333333;
	line-height: 1.7;
	margin: 0;
	padding: 0;
}


.main_txt{
	font-weight: 700;
	font-size: 1.4rem;
	color: #333333;
	margin: 0;
	padding: 10px 0 0 0;
	text-align: center;
}
.main_txt a{
	color: #0957a2;
	padding: 0 5px;
	text-decoration: underline;
}
.main_txt a:hover{
	color: #ff6600;
}




/*====== Youtube埋め込み用 ======*/
.yt_box{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 15px 0;
	box-sizing: border-box;
}


.yt_box div{
	width: 100%;
	height: 0;
	margin: 0;
	position: relative;
	padding-top: 56.25%;
	overflow: hidden;
}


.yt_box div iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}




@media screen and (max-width: 880px){

	main h1{
		text-align: left;
	}


	main h2{
		font-size: 3.4rem;
		padding: 20px 0 40px 0;
	}


	.yt_box{
		padding: 60px 0 0 0;
	}

}




@media screen and (max-width: 800px){

	main h2{
		font-size: 3.0rem;
		padding: 20px 0 40px 0;
	}

}




@media screen and (max-width: 767px){

	main{
		padding: 30px 20px;
	}


	main h2{
		font-size: 2.4rem;
		padding: 10px 0 20px 0;
		text-align: center;
	}


	main h3{
		font-size: 2.0rem;
		padding: 30px 0;
	}


	.info_box{
		padding: 10px 20px;
	}


	.info_box dl dt{
		font-size: 1.4rem;
	}


	.info_box dl dd{
		font-size: 1.4rem;
	}


	.yt_box{
		padding: 20px 0 0 0;
	}

}




@media screen and (max-width: 550px){

	main h2{
		font-size: 2.0rem;
	}

}




@media screen and (max-width: 399px){

	main h1{
		font-size: 1.2rem;
	}

	main h3{
		font-size: 1.8rem;
	}

}




/*==================================================
  Footer
==================================================*/
footer{
	background-color: #20ac43;
	width: 100%;
	margin: 0;
	padding: 0;
	position: absolute;
	bottom: 0;
	left: 0;
}


#copyright{
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 34px;
	color: #ffffff;
	margin: 0;
	padding: 0;
	text-align: center;
}
