@charset "utf-8";

.fadeInDown{
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 /*visibility: visible !important;*/
}
@-webkit-keyframes fadeInDown{
	0%{
		opacity: 0;
		-webkit-transform: translateY(200px);
		}
	100%{
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes fadeInDown{
	0%{
		opacity: 0;
		-webkit-transform: translateY(200px);
		-ms-transform: translateY(200px);
		transform: translateY(200px);
	}
	100%{
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}

.inview{
	opacity: 0;
}
.visible{
	-webkit-transition: opacity linear 0.5s, -webkit-transform ease-in 1s;
	transition: opacity linear 0.5s, transform ease-in 1s;
	/*
	-webkit-delay: 1.0s;
	transition-delay: 1.0s;
	*/
	opacity: 1.0;
	transform: scale( 1 );
	transition:  0.3s；
}


.pc{
	display: block;
}
.sp{
	display: none;
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html{
	height: 100%;
}
body {
	margin: 0;
	padding: 0;
	color: #333;
	font-family: 'Roboto', arial, Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight:300;
	line-height: 1.6;
	height: auto!important;
	position: relative;
	
}
img{
	width: 100%;
}

h1{
	font-size:24px;
	font-weight: 600;
	margin: 0 0 20px 0;
	padding: 5px 0px 5px 15px;
	line-height:1.4;
	margin:0px 0 13px 0;
	color:#fff;
	background:#386CAE;
}
h2{
	font-size:20px;
	font-weight: 600;
	margin: 0 0 20px 0;
	padding: 0px 0px 0px 5px;
	line-height:1.4;
	margin:0px 0 15px 0;
	border-bottom: solid 1px #386CAE;
	border-left: solid 24px #386CAE;
}
h3{
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 16px 0;
	padding: 0px 0px 0px 16px;
	border-left: solid 6px #000;
	border-bottom: solid 1px #999;
}
h4{
	font-size: 16px;
	font-weight: 600;
}
.flex{
	display: flex;
  flex-wrap: wrap;
	}
body.en{
	font-family: Arial, Helvetica, sans-serif;
}
ul, li{
	list-style-type: none;
	text-align: initial;
	}
#screen{
	width:100%;
	margin: 0 auto;
	position: relative;
	min-height: 100%;  
	height: auto !important;  
	height: 100%;
	text-align: left;
	overflow: hidden;
	}

#contents {
	position:relative;
	z-index:100;
	background: #FFF;
	padding-top: 30px;
	width: 100%;
}
#container{
	width: 98%;
	max-width: 1200px;
	margin: 0 auto 50px;
	padding-top: 100px;
}

/* ▼ LINK SETTING ▼ */

a{
	display:block;
	color: #003399;
	outline: none;
	transition:0.5s;
}
a:hover{
	opacity: 0.7;
}
a,a:link, a:visited, a:hover{
	text-decoration: none;
}

a.current,
a:active,
a:focus {}

a:hover img{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

.no_alpha a:hover img{
	opacity:1.0 !important;
	filter:alpha(opacity=100) !important;
	-ms-filter: "alpha( opacity=100 )" !important;
}


#header h1{
	width: initial;
}
#header img{
	width: initial;
}
#header_link{
	position: absolute;
	top: 27px;
	right: 00px;
}

.en #header{
	height: 125px;
}

.en #header_link{
	top: 27px;
}

#header_link ul{
	width: 260px;
	text-align:right;
	
}

#header_link ul li{
	display: inline;
	font-size: 11px;
	margin: 0 0 0 10px;
}


#header_link ul li a{
	color:#000;
}

#header p{
	/*font-size: 10px;*/
}

.en #header p{
	top: 27px;
}



/* ▼ MAIN CONTENTS ▼ */
#contents{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.main{
	width: calc(100% - 260px);
	min-height: 300px;  
	height: auto !important;
	height: 300px;
}

.main_submenu{
	 text-align:right;
	 margin-bottom:15px;}

/* ▼ SIDEBAR ▼ */

#side{
	width: 240px;
}

#snav{
	width: 240px;
	margin: 0 0 20px 0;}

#snav h3{
	font-weight: 600;
	margin: 20px 0 0 0;
}

	
/**スタイルＢ**/
.nav_styleB ul{
	border-top: 1px dotted #666;
}

.nav_styleB li{
	list-style-type: none;
	padding: 16px 0;
}

.styleB_menu01{
	font-size:14px;
	line-height:120%;
	border-bottom:1px dotted #666;
	padding:10px 10px 5px 5px;
	}

.styleB_menu01 a{
	color:#000;
}
.styleB_menu01 a:hover{
	text-decoration:none;
	color:#386CAF;
	}


.styleB_menu02{
	padding:0px 0 0px 33px;
	background:url("../images/common/ar01.png") 19px 3px no-repeat;
}

.styleB_menu02 a{
	color:#000;
}

.styleB_menu02 a:hover{
	text-decoration:none;
	color:#386CAF;
	}

/*
.styleB_menu03{
	font-size:12px;
	font-weight:bold;
	}

.styleB_menu03 a{
	color:#000;
}

*/


/*▼ CLEAR FIX ▼ */

.clear{clear: both;}

/* modern browsers */

.clearfix:after{
	content: " ";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0.1em;
	line-height: 0;}

/* IE7 */

.clearfix,
#wrap,
#footer,
{	display: inline-block;}

/* legacy IE */

* html .clearfix,

* html #footer,
* html #contents{	height: 1%;}

.clearfix,
#wrap,
#footer,
v#contents{	display: block;}

/* ▼ 10: COMMON STYLE ▼ */

section{
	padding: 10px 0 30px;
	overflow: hidden;
}

section p{	margin: 0px 0 20px 0;}

.section_in{
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	//justify-content: space-between;
	}
.section_in ul{
	padding-left: 2em;
	}
.section_in li{
	list-style-type: decimal;
	}
.cont-block-25{
	width: 24%;
	padding: 0 5px;
}
.cont-block{
	width: 49%;
	padding: 0 5px;
}
.cont-block-50{
	width: 49%;
	padding: 0 5px;
}
.cont-block-25 p, .cont-block p, .cont-block-50 p{
	font-size: 16px;
	padding: 0 5px;
}

/* --- ぱんくずナビ --- */

#breadcrumbs{
	font-size: 90%;
	padding-left: 5px;
}
#breadcrumbs a{
	 display: inline-block;
}

.slogan{
	padding:20px 0 50px;
	width: 100%;
	text-align: center;
}
.slogan img{
	width: 600px;
}
.site-map{
	width:70%;
	margin: 30px auto;
}
.site-map ul li{
	list-style: none;
}
 .site-map .sub-menu{
	margin-left: 1em;
}

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

Youyube

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

.youtube-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.youtube-box:after{
	display: block;
	content:"";
	width: 32%;
}
.youtube{
	width: 32%;
	position: relative;
	padding-bottom: 18%;
	height: 0;
	overflow: hidden;
	margin-bottom: 30px;
}
.youtube-50{
	width: 49%;
	position: relative;
	padding-bottom: 27%;
	height: 0;
	overflow: hidden;
	margin-bottom: 30px;
}
.youtube-100 {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
	margin-bottom: 30px;
}
.youtube iframe, .youtube-50 iframe, .youtube-100 iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

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

TOP お知らせ

*****************************/
.top-info{
	padding-left: 50px; 
	padding-right: 50px; 
}
.top-info dl{
	display: flex;
	flex-wrap: wrap;
	//justify-content: space-between;
}
.top-info dt{
	width:120px;
	padding: 5px 0;
}
.top-info dd{
	width: calc(100% - 120px);
	padding: 5px 0;
}

.table_type01{
	width: 100%;
	margin: 0px 0 5px 0;
	font-size:14px;
	}

.table_type01 th,
.table_type01 td{
	border: solid 1px #CCC;
	padding: 5px;
	text-decoration:none;
border-collapse: collapse;}

.table_type01 th{
	background-color: #F6F6F6;
	color:#333333;}



/* --- テキストの装飾・強調 --- */

.txt-link{
	background: #f00;
	display: inline-block;
	color: #FFF;
	padding: 0 5px;
	border-radius: 6px;
	margin-left: 5px;
}

/* ==============================================

カラー、サイズ、ライン など　微調整用

============================================== */

/*線枠*/

.bo_all{ 
	border: #666 1px solid;
	}

.bo_all_dot{ 
	border: #666 1px dotted;
	}

.bo_all_orange{ 
	border: #FF6600 1px solid;
	}

.bo_all_green{ 
	border: #00B050 1px solid;
	}


/*縦線*/

.bo_l2{ 
	border-left: #333 2px solid;
	padding-left:8px;
	}


/*カラー*/
.red{ color:#D71534;}

.blue,
.blue a{ color:#386CAF;}

.orange,
.orange a{ color:#FF6600;}


/*.black{ color:#000;}
.green{
	color:#00B050;
}
.pink{ color:#F39;}
.yellow{ color:#FF3;}
.purple{ color:#63C;}*/

 /*サイズ*/

.fsize10{ font-size:10px!important;}
.fsize11{ font-size:11px!important;}
.fsize12{ font-size:12px!important;}
.fsize14{ font-size:14px!important;}
.fsize15{ font-size:15px!important;}
.fsize16{ font-size:16px!important;}
.fsize18{ font-size:18px!important;}
.fsize23{ font-size:23px!important;}
.fsize24{ font-size:24px!important;}

 /*太さ*/
.f-b{ font-weight:600;}
/*文字配置*/

.textc{ text-align:center!important;}
.textr{ text-align:right!important;}
.textl{ text-align:left!important;}

/*下線*/

.boder_green{
	border-bottom:#99E281 1px solid!important;}

/*余白微調整*/

.pl26{ padding-left:26px!important;}
.pl52{ padding-left:52px!important;}
.pl200{ padding-left:200px!important;}

.pall5{ padding:5px!important;}
.pall15{ padding:15px!important;}


.mt0{ margin-top:0px!important;}
.mt5{ margin-top:5px!important;}
.mt10{ margin-top:10px!important;}
.mt15{ margin-top:15px!important;}
.mt20{ margin-top:20px!important;}
.mt30{ margin-top:30px!important;}
.mt50{ margin-top:50px!important;}

.mb0{ margin-bottom:0px!important;}
.mb5{ margin-bottom:5px!important;}
.mb10{ margin-bottom:10px!important;}
.mb15{ margin-bottom:15px!important;}
.mb20{ margin-bottom:20px!important;}
.mb30{ margin-bottom:30px!important;}
.mb50{ margin-bottom:50px!important;}


.ml5{ margin-left:5px!important;}
.ml12{ margin-left:12px!important;}
.ml20{ margin-left:20px!important;}
.ml43{ margin-left:43px!important;}
.ml50{ margin-left:50px!important;}
.ml60{ margin-left:60px!important;}
.ml90{ margin-left:90px!important;}
.ml100{ margin-left:100px!important;}
.ml170{ margin-left:170px!important;}
.ml230{ margin-left:230px!important;}


.no_margin{ margin:0!important;}

/*テーブル調整*/

.va_t{ vertical-align:top!important;}
.va_b{ vertical-align:bottom!important;}
.va_m{ vertical-align: middle!important;}

.w100{ width:100%!important;}


/*線打消し*/

/*右、上、下　削除*/
.bo_none_type01{
	border-top:2px #FFF solid!important;
	border-bottom:2px #FFF solid!important;
	border-right:2px #FFF solid!important;
	}


/*背景*/


.bg_yellow{
	background-color:#FBF8D2!important;
}
.bg_blue{background-color:#E9EFF8!important;}

/*
.bg_pink{background-color:#FBF2FB!important;}
	
*/
@media print{	
	#footer{
	display: none;
	}
}
@media only screen and (max-width: 1200px) {
	#container{
	padding-top: 70px;
	}
}
@media only screen and (max-width: 800px) {
	#container {
	width: 96%;
	padding-top: 70px;
	}
	#contents {
	padding-top: 0;
	flex-direction: row;
	flex-wrap: wrap-reverse;
	}
	.main {
	width: 100%;
	}
	#side, #snav {
	width: 100%;
	margin: 0;
	}
	.nav_styleB ul {
	border-top: none;
	display: flex;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
	
	}
	.nav_styleB li {
	font-size: 12px;
	font-weight: 400;
	list-style-type: none;
	padding: 5px;
	margin: 0 10px 10px 0;
	background: #EEE;
	border-radius: 5px;
	}
	.styleB_menu01 {
	line-height: 100%;
	border-bottom: none;
	padding: 0
	}
}
@media only screen and (max-width: 640px) {
	html, body{
	font-size: 14px;
	font-weight:300;
	}

	
	h1{
	font-size:16px;
	text-align: center;
	padding: 5px 0;
	color:#fff;
	}
	h2{
	font-size:14px;
	margin: 0 0 20px 0;
	padding: 8px 5px 8px 13px;
	line-height:1.4;
	margin:0px 0 13px 0;
	border-bottom:#999 double;
	border-left:#999 double;
	}
	h4{
	font-size: 14px;
	}
	.cont-block-25 p, .cont-block p, .cont-block-50 p {
	font-size: 14px;
	padding: 0 5px;
	}
	.table_type01{
	font-size:12px;
	}

	.slogan img{
	width: 80%;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.youtube{
	width: 49%;
	padding-bottom: 27%;
 }
 .cont-block, .cont-block-25{
	width: 49%;
	}
 .cont-block-50{
	width: 100%;
	}
	.top-info{
	padding-left: 5px; 
	padding-right: 5px; 
	}
	.top-info dl {
	display: block;
	}
	.top-info dt{
	width: 100%;
	padding: 0;
	}
	.top-info dd{
	width: 100%;
	padding: 0;
	margin-bottom: 10px;
	}
}

@media only screen and (max-width: 480px) {
	.table_type01{
	font-size:10px;
	}
	.youtube-50 {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
	margin-bottom: 30px;
	}
}