@charset 'UTF-8';

body {
	width: 100%;
	font-family: 'Hiragino Sans','Hiragino Kaku Gothic ProN', Arial,'メイリオ', Meiryo, sans-serif;
	color: #4D4D4D;
	background-color: #FFFFFF;
	font-size: 100%;
}

#wrap {
    width: 100%;
    margin: 0;
    text-align: left;
    overflow: hidden;
}

ul {
	list-style: none;
}

img { -ms-interpolation-mode: bicubic; }


a .disabled{
    pointer-events: none;
}


/*-------bg_color--------*/

.bg_white{
	background-color:#FFFFFF;
}

.bg_black{
	background-color:#000000;
}

.bg_gray{
	background-color: #EFEFEF;
}

.bg_n_blue{
	background-color: #202F55;
}

.bg_n_blue01{
	background-color: #0C1A35;
}

.bg_blue{
	background-color: #5A7082;
}

.bg_l_blue01{
	background-color: #00A0E9;
}

.bg_l_blue02{
	background-color: #00BFE9;
}

.bg_green{
	background-color: #13AE67;
}





/*---ページ外リンク---*/


.anchor{
	display: block;
    padding-top: 20px;
    margin-top: -20px;
}


/*----表示非表示-----*/
@media print, screen and (min-width: 768px){

	.u-dsp-sp{
  		display: none !important;
  	}


}

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

	.u-dsp-pc{
    	display: none !important;
  	}

}


/*------プルダウン-------*/


menu li.pull{
	position: relative;
}


.openBox{
	display: none;
	position: absolute;
	top: 66px;
	margin-left: -450px;
	/*width: 550px;*/
	height: auto;
	background-color:  #8C8C8C;
	box-sizing: border-box;
	
	z-index: 100;
	overflow: hidden;
}


.openBox_menu_list{
	display: table;
	width: 100%;
	max-width: 600px;
	
}

.openBox_menu_list .menu_list_cell{
	display: table-cell;
	width: 20%;
	text-align: center;
	margin: 0 auto;
	vertical-align: top;
	box-sizing: border-box;
    
}

.openBox_menu_list .menu_list_cell:nth-child(2n-1){
	border-right: 1px solid #8C8C8C;
	border-left: 1px solid #8C8C8C;
}

.openBox_menu_list li .pulldown_link{
	display: block;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
	padding-bottom: 10px;
}

.menu_text01_bg{
	background-color: #E60012;
}


.openBox_menu_list li .pulldown_link .menu_text01{
	display: block;
	color: #FFFFFF;	
	padding: 5px;
	line-height: 1.2em;
	width: 100%;
	font-size: 18px;
	font-weight: 300;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
}





.openBox_menu_list li .pulldown_link .menu_text02{
	display: block;
	color: #FFFFFF;	
	padding: 5px;
	line-height: 1.2em;
	width: 100%;
	font-size: 20px;
	font-weight: 300;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
}


.menu_text03_bg{
	background-color: #000000;
}

.menu_text03{
	display: block;
	color: #FFFFFF;	
	padding: 5px;
	line-height: 1.2em;
	width: 100%;
	font-size: 13px;
	font-weight: 500;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
}

.menu_line{
	background-color: #E60012;
	padding: 1px 0px;
}





.openBox_menu_list li .pulldown_link .menu_logo{
	text-align: center;
	margin:	0px auto 0px auto;
	background-color: #C4C3C9;
}

.openBox_menu_list li .pulldown_link .menu_logo img{
	width: 120px;

}

.openBox_menu_list li .pulldown_link .menu_img01 img{
	width: 120px;
	box-sizing: border-box;
	padding-top: 10px;

}

.openBox_menu_list li .pulldown_link .menu_img02 img{
	width: 67px;

}




/*
.openBox ul li .pulldown_link:hover{
	background-color: #151E46;
	box-sizing: border-box;
	display: block;

}
*/






@media print, screen and (min-width: 768px){

/*----header menu------*/

	.header_main{
		width: 100%;
		margin: 0 auto;
		text-align: center;
		padding: 0px 40px;
		box-sizing: border-box;

	}

	.menu_box{
		max-width: 1100px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 0 auto;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}	

	.header_main .logo {
		width: 160px;

	}

	.header_main .logo img{
		width: 160px;
	}

	.menu{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.menu li{
		margin-left: 10px;
	}

	.menu li .menu_link{
		display: inline-block;
		color: #FFFFFF;	
		padding: 25px 10px;
		box-sizing: border-box;
		font-size: 16px;
		font-weight: 300;
		position: relative;

	}

	.menu li .menu_link{
		position: relative;
		display: inline-block;
		text-decoration: none;
	}

	.menu li .under_border::after {
		display: inline-block;
		position: absolute;
		bottom: 20px;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background-color: #FFFFFF;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
	}

	.menu li .under_border:hover::after {
		bottom: 10px;
		opacity: 1;
		visibility: visible;
	}


	.granule_img{
		padding-left: 45px;
	}

	.granule_img .granule_link{
		display: inline-block;
	}

	.granule_img img{
		display: inline-block;
		width: 43px;
		padding-top: 10px;

	}







/*---フッター--*/
	footer{
		text-align: center;
		margin: 0px auto 0 auto;
	}

	.f_box{
		max-width: 1100px;
		display : -webkit-inline-box;
		display : -ms-inline-flexbox;
		display : -webkit-inline-flex;
		display : inline-flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 0 auto;
		/*justify-content: space-between;*/
		box-sizing: border-box;
		padding: 40px 1% 40px 1%;
		width: 100%;
	}

	.f_logo {
		width: 20%;
		
		height: 75px;
		padding: 5% 0% 5% 0%;

	}

	.f_box .f_logo img{
		display: block;
		max-width: 190px;
	/* max-width: 100%; */
		width: 100%;
		min-width: 120px;
		padding: 20px 0px 0px 0px;
	}

	.f_line{
		background-color: #FFFFFF;
		width: 1px;
		box-sizing: border-box;
		padding: 13% 0px;
		margin: 0 5% 0 3%;

	}

	.f_menu{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;	
		
		justify-content: center;	
		text-align: left;
		width: 60%;

	}

	.f_menu .f_menu_list01{

		width: 30%;
		box-sizing: border-box;
    	padding-left: 30px;
		/*min-width: 200px;*/
	}

	.f_menu .f_menu_list02{
		
		width: 53%;
		
	}

	.f_menu .f_menu_list03{
		width: 30%;
		text-align: center;
		padding-right: 5%;
		box-sizing: border-box;
		
	}


	.f_menu li a{
		display: inline-block;
		color: #FFFFFF;
		box-sizing: border-box;
		font-size: 0.9em;
		line-height: 1.5em;
		font-weight: 300;

	}

	.f_menu li a {
		display: inline-block;
		text-decoration: none;
		padding-left: 1em;
		text-indent: -1em;
	}


	.f_border{
		border: 1px solid #FFFFFF;
	}

	footer .c_right{
		color: #FFFFFF;
		font-size: 13.5px;
		font-weight: 300;
		box-sizing: border-box;
		padding: 30px 0px;

	}

	.translate{
		color: #FFFFFF;
		display: block;
		font-size: 16px;
		font-weight: 400;
	}

	.p_ad{
		display: block;
		font-size: 16px;
		margin-top: -2px;
	}

	.menu_inf_box01{
		box-sizing: border-box;
		padding-top: 20px;
	}

	.menu_inf_list01{
		margin-bottom: 15px;
	}


	.menu_inf_box02_out{
		box-sizing: border-box;
		padding-top: 20px;
		width: 100%;
		max-width: 426px;
		display: flex;
		flex-wrap: wrap;
	}


	.menu_inf_box02_in{
		display: flex;
		width: 33%;


	}

	.menu_inf_box02{
		display: flex;
		width: 100%;
		align-content: baseline;
		flex-wrap: wrap;
	}




	.menu_inf_list02{
		display: block;
		margin-bottom: 15px;
		width: 100%;
		/*min-width: 120px;*/
	}


	.enu_inf_tab{
		color: #FFFFFF;
		font-size: 16px;
		font-weight: 500;
	}



	







/*----コピーライト---*/
	.cr_box{
		width: 90%;
		font-size: 12px;
		font-weight: 400;
		text-align: right;
		margin: 0px auto 20px auto;
	}

	.c_right{
		color: #FFFFFF;
    	font-size: 13.5px;
    	font-weight: 300;
    	box-sizing: border-box;
    	padding: 30px 0px;
		text-align: center;
	}

	


}




/*--------------SP-------------------*/



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

/*----header menu SP------*/

	.header_main{
		width: 100%;
		text-align: center;
		margin: 0 auto;
	}

	.menu_box{
		box-sizing: border-box;
		padding: 15px 5%;
	}

	.menu_in_box{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.menu_logo{
		text-align: center;
		margin: 0 auto;
	}

	.menu_logo img{
		max-width: 200px;
		height: 30px;
	}

	.granule_link{
		text-align: left;
	}

	.granule_link img{
		height: 30px;
	}

	.acd01 img{
		height: 30px;
	}


	/*---------アコーディオン---------------*/
	.acd_box01{
		display: none;
		width: 100%;
    	box-sizing: border-box;
    	text-align: left;
    	margin: 0px 0px 0px 0px;
		position: relative;
		z-index: 5;
	}


	.acd_box01 ul{
		display: block;
		width: 100%;
	}

	.acd_box01 ul li a{
		display: block;
		position: relative;
		width: 100%;
		box-sizing: border-box;
		padding: 10px;
		text-align: center;
		margin: 0 auto;
		color: #FFFFFF;
	}




	.acd_box01 ul li{
		border-top: 1px solid #222222;
		display: table;
		width: 100%;
	}

	/*-------プラス01---------*/

	.ac_icon01::before{
  		content: "";
  		position: absolute;
  		top: 50%;
  		right: 5%;
  		width: 15px;
  		height: 2px;
  		/*縦線に*/
  		transform: rotate(90deg);
  		background: #fff;
  		transition: all .3s ease-in-out;
	}


	.ac_icon01::after{
  		content: "";
  		position: absolute;
  		top: 50%;
  		right: 5%;
  		/*横線*/
  		width: 15px;
  		height: 2px;
  		background: #fff;
  		transition: all .2s ease-in-out;
	}


	 .ac_icon01.open01::before {
  		transform: rotate(180deg);
	}

	.ac_icon01.open01::after {
  		opacity: 0;
	}

	/*---------アコーディオン02---------------*/

	.acd_box02{
		display: none;
		width: 100%;
    	box-sizing: border-box;
    	text-align: left;
    	margin: 0px 0px 0px 0px;

	}


	.acd_box02 ul{
		display: block;
		width: 100%;
	}

	.acd_box02 ul li{
		display: table;
		width: 100%;
	}

	.acd_box02 ul li a{
		display: block;
		position: relative;
		width: 100%;
		box-sizing: border-box;
		padding: 0px;
		text-align: left;
	}


	.acd_menu_img01{
		display: table-cell;
    	width: 30%;
    	vertical-align: middle;
	}

	.acd_menu_img01 img{
		width: 44px;
	}

	.acd_menu_img03{
		display: table-cell;
    	width: 20%;
    	vertical-align: middle;
		background-color: #C4C3C9;
		text-align: center;
	}

	.acd_menu_img03 img{
		width: 44px;
	}

	.acd_menu_title01{
		display: table-cell;
    	width: 100%;
    	vertical-align: middle;
		box-sizing: border-box;
		padding-left: 15px;
	}


	.menu_box_line{
		display: table-cell;
		width: 0.5%;
		background-color: #E60012;
	}

	.menu_title01{
		width: 140px;
	}



	.acd_menu_title01 span{
		display: inline-block;
    	box-sizing: border-box;
    	padding-left: 20px;
    	color: #FFFFFF;
    	font-size: 12px;
    	line-height: 1.7em;
    	letter-spacing: 0.1em;
	}



	.acd_menu_img02{
		display: table-cell;
    	width: 30%;
    	vertical-align: middle;
    	text-align: center;
	}

	.acd_menu_img02 img{
		width: 30px;
	}

	.acd_menu_title02{
		display: table-cell;
    	width: 100%;
    	vertical-align: middle;
	}

	.acd_menu_title02 span{
		display: inline-block;
    	box-sizing: border-box;
    	padding-left: 20px;
    	color: #FFFFFF;
    	font-size: 12px;
    	line-height: 1.7em;
    	letter-spacing: 0.1em;
	}




	.acd_icon_img01::after{
    	content: "";
    	position: absolute;
    	display: block;
    	top: 50%;
    	right: 5%;
    	width: 15px;
    	height: 15px;
    	margin-top: -7px;
    	background-image: url(../img/common/menu_arrow01.png);
    	background-size: 15px 15px;
    	background-repeat: no-repeat;
	}


	.acd_box02 ul li{
		border-top: 1px solid #777777;
		display: table;
		width: 100%;
	}


/*---------アコーディオン03---------------*/

	.acd_box03{
		display: none;
		width: 100%;
    	box-sizing: border-box;
    	text-align: left;
    	margin: 0px 0px 0px 0px;

	}


	.acd_box03 ul{
		display: block;
		width: 100%;
	}

	.acd_box03 ul li a{
		display: block;
		position: relative;
		width: 100%;
		box-sizing: border-box;
		padding:  10px 10px 10px 45px;
		text-align: left;
		font-size: 15px;
	}

	.acd_cate_txt{
		font-size: 16px;
		font-weight: 600;
		color: #FFFFFF;
		box-sizing: border-box;
		padding:  10px 10px 10px 30px;
	}


	.acd_icon_img02::after{
    	content: "";
    	position: absolute;
    	display: block;
    	top: 50%;
    	right: 7%;
    	width: 15px;
    	height: 15px;
    	margin-top: -7px;
    	background-image: url(../img/common/menu_arrow01.png);
    	background-size: 15px 15px;
    	background-repeat: no-repeat;
	}


	.acd_box03 ul li{
		border-top: 1px solid #777777;
		display: table;
		width: 100%;
	}


	/*-------プラス02---------*/

	.ac_icon02::before{
  		content: "";
  		position: absolute;
  		top: 50%;
  		right: 5%;
  		width: 15px;
  		height: 2px;
  		/*縦線に*/
  		transform: rotate(90deg);
  		background: #fff;
  		transition: all .3s ease-in-out;
	}


	.ac_icon02::after{
  		content: "";
  		position: absolute;
  		top: 50%;
  		right: 5%;
  		/*横線*/
  		width: 15px;
  		height: 2px;
  		background: #fff;
  		transition: all .2s ease-in-out;
	}


	 .ac_icon02.open02::before {
  		transform: rotate(180deg);
	}

	.ac_icon02.open02::after {
  		opacity: 0;
	}




	.menu_box01{
		background-color: #E60012 ;
		box-sizing: border-box;
		padding: 15px 29px 15px 25px;
	}

	.menu_box01_01{
		background-color: #E60012 ;
		box-sizing: border-box;
		padding: 15px 15px 15px 15px;
	}

	.menu_box01_txt{
		font-size: 12px;
	}


	.menu_box02{
		background-color: #000000;
		box-sizing: border-box;
		padding: 15px;
		text-align: center;
	}









	/*---scroll---*/

	#page-top01 {
		display: inline;
	}

	#page-top01 {
    	position: fixed;
    	bottom: 100px;
    	right: 20px;
    	z-index: 100;
	}

	#page-top01 a img{

    	text-decoration: none;
    	width: 45px;
    	padding: 0px 0;
    	text-align: center;
    	display: block;

	}

	#page-top01 a:hover {
    	text-decoration: none;
	}


/*---フッター SP--*/
	footer{
		width: 100%;
		text-align: center;
		margin: 0 auto 0 auto;
	}


	footer{
		text-align: center;
		margin: 0px auto 0 auto;
	}

	.f_box{
		width: 100%;
		display: block;
		margin: 0 auto;
		/*justify-content: space-between;*/
		box-sizing: border-box;
		padding: 8% 0% 3% 0%;
		width: 100%;
		text-align: left;
	}

	.f_box .f_logo {
		width: 250px;
		text-align: center;
		margin: 0px auto;
		padding: 2% 0 10% 0;
	}

	.f_box .f_logo img{
		min-width: 160px;
	/* max-width: 100%; */
		width: 80%;
	}

	.f_menu{
		display: block;	
		text-align: left;
		width: 100%;
		box-sizing: border-box;
		padding: 0% 5%;
	}

	.f_menu .f_menu_list01{
		
		width: 100%;
	}

	.f_menu .f_menu_list02{
		margin-top: 20px;
		width: 100%;
		margin-bottom: 5%;
	}

	.f_menu .f_menu_list03{
		margin-top: 10px;
		width: 100%;
		margin-bottom: 5%;
	}


	.f_menu li a{
		display: block;
		position: relative;
		color: #FFFFFF;
		box-sizing: border-box;
		font-size: 0.9em;
		line-height: 1.5em;
		font-weight: 300;
		padding: 5px 0px 10px 0px;
		margin: 0 15px;
		border-bottom: 1px solid #222222;

	}

	.f_menu li a::after{
		content: '>';
		position: absolute;
		right: 10px;
		top: 3px;
	}



	.translate{
		color: #FFFFFF;
		display: block;
		font-size: 1.2em;
		font-size: 19px;
		font-weight: 600;
	}

	.p_ad{
		font-size: 19px;
	}

	.menu_inf_box01{
		box-sizing: border-box;
		padding-top: 10px;
	}

	.menu_inf_list01{
		margin-bottom: 10px;
	}


	.menu_inf_box02{
		display: block;
		box-sizing: border-box;
		padding-top: 10px;
		
	}

	.menu_inf_list02{
		margin-bottom: 10px;
	}

	.enu_inf_tab{
		display: block;
		font-size: 15px;
		font-weight: 600;
		color: #FFFFFF;
		margin: 10px 15px 0px 10px;
		
	}


	.f_border{
		border: 1px solid #FFFFFF;
	}

	footer .c_right{
		color: #FFFFFF;
		font-size: 13.5px;
		font-weight: 300;
		box-sizing: border-box;
		padding: 20px;
	}









	
	/*----コピーライト---*/
	.cr_box{
		width: 90%;
		font-size: 12px;
		font-weight: 400;
		text-align: right;
		margin: 0px auto 20px auto;
	}

	.c_right{
		color: #FFFFFF;
		font-size: 12px;
		font-weight: 300;
		box-sizing: border-box;
		padding: 15px 0px;
		text-align: center;
	}
		
	
	



}











