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


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

	Font Style

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


@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,600i');
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans:400,600i');

body { 
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",'メイリオ',Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
	color:#000;
	font-size: 1.0rem;
	-webkit-text-size-adjust: none;
}





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

	ttl

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

h2.ttl_01{
    font-family: 'Source Sans Pro', sans-serif;
	font-size:1.8rem;
	letter-spacing:0.2rem;
	font-weight:bold;
	margin-bottom:45px;
	text-align:center;
	}

h3.ttl_01{
	text-align:center;
	letter-spacing:0.1rem;
	font-weight:bold;
	margin-bottom:45px;
	color:#5A96FF;
	}

h3.ttl_02{
	text-align:left;
	letter-spacing:0.1rem;
	font-weight:bold;
	margin-bottom:45px;
	padding-bottom:10px;
	color:#0054A7;
	border-bottom:2px solid #0054A7;
	}

	h3.ttl_02:before{
		content: "\f21f";
		font-family: "Ionicons";
		font-size: 1.4rem;
		padding-right: 8px;	
	}
	

h3.ttl_03{
	font-size:1.4rem;
	letter-spacing:0.1rem;
	font-weight:bold;
	margin:45px 0 20px;
	color:#0071B9;
	text-align:center;
	}
	

h4.ttl_01{
	border-bottom: 1px solid #000;
    padding-bottom: 5px;
    margin-bottom: 15px;
	}
	
h4.ttl_02{
    background: #EEE;
    box-sizing: border-box;
    margin: 45px 0 15px;
    padding: 10px;
}

.head_ttl{
	width:100%;
	height:250px;
	}

.rec_president .head_ttl,
.rec_faq .head_ttl{
	height:420px;
	}


.head_ttl h2.ttl_02{
    font-family: 'Josefin Sans', sans-serif;
	font-size:3.4rem;
	text-align:center;
	color:#0054A7;
	font-weight: 600;
    font-style: italic;
	padding-top:70px;
	}

.rec_president .head_ttl h2.ttl_02 {
    padding-top: 145px;
}


.head_ttl h2.ttl_02 span{
	display:block;
	font-weight:bold;
	font-size:1.2rem;
	color:#000;
	}


.page_service .head_ttl,
.page_news .head_ttl,
.page_privacy .head_ttl,
.contact .head_ttl{
	background:url("/news/images/img_head_bg.jpg") no-repeat;
	background-size: cover;
	}

.page_company .head_ttl{
	background:url("/company/images/img_head_bg.jpg") no-repeat;
	background-size: cover;
	}


.head_ttl h2.ttl_02{
	display:block;
	width:1000px;
	margin:0 auto;
	text-align:center;
	}
	
.head_ttl h2.ttl_02 img{
	max-width:554px;
	}

.rec_president .head_ttl{
	background:url("/recruit/images/president/img_head_bg.jpg") no-repeat;
	background-size: cover;
	background-position: bottom 30% center;
	}

.rec_faq .head_ttl{
	background:url("/recruit/images/faq/img_head_bg.jpg") no-repeat;
	background-size: cover;
	background-position: bottom 30% left 40%;
	}
	

.rec_person .head_ttl{
	width:1000px;
	height:500px;
	margin:0 auto;
	position:relative;
	}
	
.rec_person .head_ttl h2{
	position:absolute;
	top:50px;
	right:50px;
	width:162px;
	height:63px;
	z-index:5;
	}

.rec_flesh .head_ttl{
	height:auto;
	width:100%;
	margin:0 auto;
	position:relative;
	}

	.rec_flesh .head_ttl h2{
	position: absolute;
    top: 4%;
    right: 15%;
    width: 12.5%;
    /* height: 20%; */
    z-index: 5;
	}



.rec_person .head_ttl .head_img img{
	border-radius:16px;
	}

@media screen and (min-width: 640px) and (max-width: 999px) {
	
.head_ttl h2.ttl_02,
.rec_person .head_ttl{
	width:96%;
	height:auto;
	margin:0 auto;
	}

.rec_person .head_ttl h2{
	top:20px;
	right:20px;
	}

	
.head_ttl h2.ttl_02 img{
	width:60%;
	margin-left:2%;
	}

.page_company .head_ttl{ background-position: bottom right -215px;}
	
}

@media only screen and (max-width: 639px) {
	
	h2.ttl_01{
	margin-bottom:25px;
	
	}
	
	.head_ttl{
		height:150px;
		}
		
	.rec_president .head_ttl{
		height:200px;
		background-position: bottom 30% right 45%;
		}

	.rec_faq .head_ttl{
		height:200px;
		background-position: bottom 30% right 56%;
		}		
		
		
.page_company .head_ttl{background-position: bottom right;}


	.head_ttl h2.ttl_02{
		font-size:2.0rem;
		padding-top:45px;
		width:100%;
		}
		
		.rec_president .head_ttl h2.ttl_02 {
			padding-top: 80px;
		}
			
	.head_ttl h2.ttl_02 span{
		font-size:0.9rem;
		}
	
	.head_ttl h2.ttl_02 img{
		width:60%;
		margin-left:2%;
		}
		
	.rec_faq .head_ttl h2.ttl_02 img{
		width:48%;
		}
		
	h3.ttl_01,
	h3.ttl_02{
		margin-bottom:20px;
		}
		
	.rec_person .head_ttl{
		width:96%;
		height:auto;
		margin:0 auto;
		}
	
	.rec_person .head_ttl h2{
		top: 20px;
		right: 10px;
		width: 20%;
		height: auto;
		}

	.rec_flesh .head_ttl {
		padding-top: 70px;
	}
	
	.rec_flesh .head_ttl h2{
		top: 1%;
		right: 13%;
		width: 32%;
	
	}
	
h3.ttl_03{
	font-size:1.2rem;


	}
	
	
}

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

	text_decoration

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

.ico_pink{
	width:100px;
	background-color: #E3007F;
	display: inline-block;
	color: #FFF;
	padding: 3px 0;
	text-align:center;
	margin-left: 10px;
	letter-spacing:normal;
	font-size: 12px;
	}

.ico_no{
	border:1px solid #000;
	padding:2px 8px 0;
	margin-right:10px;
	font-size:0.8rem;}

.text_name{
    width: 70px;
    background-color: #5A96FF;
    display: inline-block;
    color: #FFF;
    padding: 2px 0;
    text-align: center;
    margin-right: 10px;
    margin-bottom: 5px;

	}


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

	table

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

table.achieve{width:100%;}

table.achieve td,
table.achieve th{
	padding:20px;
	box-sizing:border-box;}

table.achieve tr:not(:first-child){
	border-top:1px solid #000;}

table.achieve td:not(:first-child){
	border-left:1px solid #000;}

table.achieve td:first-child,
table.achieve tr:first-child{
	background:#EEE;
	font-weight:bold;}

table.achieve td:not(:first-child),
table.achieve tr:first-child{
	text-align:center;}


@media only screen and (max-width: 639px) {
table.achieve td,
table.achieve th{padding:10px;}
}


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

	list

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



.list_4col li{
	width:22%;
	margin-right:4%;
	float:left;
	}
.list_5col li{
	width: calc((100% - 4%) / 5);
	margin-right:1%;
	float:left;
	}

.bnr_list li{
	width:48%;
	margin-right:4%;
	float:left;
	}
	
	.list_4col li:nth-child(4n),
	.list_5col li:nth-child(5n),
	.bnr_list li:nth-child(2n){
		margin-right:0;
		}

.list_box dt{text-align:center;}

.list_box li{
	background: #0054A7;
	color: #FFF;
	float:left;
	border-radius: 20px;
	width: 47%;
	padding: 15px;
	box-sizing: border-box;
	vertical-align: top;
	margin: 4% 0 0;
	display:block;
	margin-right:4%;
	}

.list_box li:nth-child(2n){
	margin-right:0;}

	.list_box li dt{
		font-size:1.1rem;
		font-weight:bold;
		margin-bottom:10px;
		padding-bottom:10px;
		border-bottom:1px solid #FFF;}
		
		.list_box li dt span{
			font-size:0.8rem;
			display:block;}

.dl_list dl{
	width:100%;
	display:table;
	border-top:1px solid #000;
	}
	
	.dl_list dl:last-child{border-bottom:1px solid #000;}
	
	.dl_list dl:nth-child(2n){
	background-color:#EEE;
	}
	

.dl_list dt{
	display: table-cell;
	vertical-align: top;
	padding: 20px 0 20px 20px;
	border-right:1px solid #000;
}

.dl_list dt span{
    background: #0054A7;
    width: 60px;
	display:inline-block;
    text-align: center;
    margin: 5px 0 0 10px;
    color: #FFF;
}

.dl_list dd{
	display: table-cell;
	width: 80%;
	padding: 20px 0 20px 20px;
	word-break:keep-all;
}

.history .dl_list dd{width: 74%;}




.dl_list dd li{
	line-height: 2.0rem;
	float:left;
	/*width:48%;*/
	width:43%;}

.dl_list .dl_ttl{
	background:#EEE;
	box-sizing:border-box;
	margin-bottom:15px;
	padding:5px;}


.contents_list li a{
	width:48%;
	height:auto;
	float:left;
	color:#FFF;
	position:relative;
	margin:0 4% 50px 0;
	
}

	.contents_list li:nth-child(2n) a{
		margin:0 0 50px 0;
	}


	.contents_list li div{
		width: 92%;
		height: 26%;
		position: absolute;
		bottom: 0;
		left: 0;
		font-size: 1.0rem;
		background: rgba(0,0,0,0.5);
		padding: 2% 4%;
		border-top:5px solid #0054A7;
		}
		
	.page_company .contents_list li div{height: 11%;padding:2% 4% 0;}
		
	.page_service .contents_list li div{font-size: 0.9rem;}
	
		.contents_list li p span{
			font-weight:400;
			font-size:1.2rem;
			display:block;
			padding-bottom:10px;
			
			}
		
	.page_company .contents_list li p span{padding-bottom:0;}



ol{
 counter-reset: li;
 list-style: none;
 padding-left: 13px;
}
ol > li {
 position: relative;
 margin-bottom: .2em;
 padding-left: 1.8em;
}

ol > li:before {
    content: counter(li) "";
    counter-increment: li;
    position: absolute;
    left: 0;
	top: 3px;
    width: 1.1em;
    height: 1.1em;
    background: #FFF;
    border: 1px solid #000;
    border-radius: 50px;
    line-height: 1.2;
    text-align: center;
    font-size: 0.9rem;

}

p.number{
	padding-left: 2.8em;
    text-indent: -2.8em;}

@media screen and (min-width: 640px) and (max-width: 999px) {
	
	.dl_list dd li{
	line-height: 1.8rem;
	font-size:0.9rem;}
	
	.contents_list li div { font-size: 0.65rem;}
	
	.contents_list li p span {
		font-size: 1.0rem;
		padding-bottom: 5px;
	}
	
.list_box li{
	border-radius: 10px;
	}

}


		
@media only screen and (max-width: 639px) {
	
.list_4col li,
.list_5col li,
	.list_5col li:nth-child(5n){
	width:48%;
	margin:0 4% 4% 0;
	float:left;
	}

	.list_4col li:nth-child(2n),
	.list_5col li:nth-child(2n){
		margin-right:0;
		}

.list_box li{
	border-radius: 10px;
	width: 100%;
	height: auto;
	padding: 10px;
	margin: 20px 0 0;
	display: block;
	margin-right:0;
	}
	
.dl_list dl{
	display:block;
	font-size:1.0rem;
	}

.dl_list dt{
	display: block;
	padding: 2% 0;
	text-align:center;
	font-weight:bold;
	
}

.dl_list dd,
.history .dl_list dd{
	display: block;
	width: 96%;
	padding: 2%;
	word-break:break-all;
}

.dl_list dl{
	border-top:1px solid #000;
	}

.dl_list dl:last-child{
	border-bottom:1px solid #000;
	}


.dl_list dt{
	border-right:none;
	}
	
	.history .dl_list dt{
		border-bottom:1px solid #000;
		padding-bottom: 3.5%;
		margin-bottom: 3%;
	}
	

.dl_list dd li{
	line-height: 1.8rem;
	font-size:0.9rem;
	float:none;
	width:100%;}

.dl_list .dl_ttl{
	margin-bottom:4%;
	padding:2%;}


	
.contents_list li a{
	margin:0 4% 4% 0;
	
}

	.contents_list li:nth-child(2n) a{
		margin:0 0 4% 0;
	}

		.contents_list li p span{
			font-size:1.0rem;
			letter-spacing:0;
			
			}

	.page_service .contents_list li:nth-child(2n) a{
		margin:0 0 4% 0;
	}
	
	
	.page_service  .contents_list li div{
		width: 96%;
		height: 26%;
		padding: 2% 2%;
		}

		.page_service .contents_list li p span{
			font-size: 0.8rem;
			
			}
			
		
.page_company .contents_list li div{height: 28%;padding:2% 4% 0;}
			
	
}


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

	btn

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


.btn_more a,
.btn_back a{
	width:80%;
	margin:0 auto;
	color:#0054A7;
	background:#FFF;
	border:1px solid #0054A7;
	text-align:center;
	padding:10px 0;
	border-radius:20px;
	display:block;
	text-decoration: none;
	
	}

.btn_back a{
	color:#E3007F;
	border:1px solid #E3007F;
	}

.btn_more a:visited {
	color: #0054A7;
}

.btn_back a:visited {
	color: #E3007F;
}

.btn_more a:hover{
	background-color: #0054A7;
	border: 1px solid #0054A7;
	color: #fff !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}

.btn_back a:hover {
	background-color: #E3007F;
	border: 1px solid  #E3007F;
	color: #fff !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}

.recruit .btn_more a{
	width:50%;
	margin:0 auto;
	color:#FFF;
	background:#5A96FF;
	border:1px solid #5A96FF;
	text-align:left;
	padding:10px;
	border-radius:0;
	position:relative;
	
	}
	
.cor_gree .btn_more a{
	width:50%;
	margin:0;
	color:#FFF;
	background:#35B597;
	border:1px solid #35B597;
	text-align:left;
	padding:10px;
	border-radius:0;
	position:relative;
	
	}

.cor_blue .btn_more a{
	width:50%;
	margin:0 auto;
	color:#FFF;
	background:#00B9EF;
	border:1px solid #00B9EF;
	text-align:left;
	padding:10px;
	border-radius:0;
	position:relative;
	
	}
	
.recruit .btn_more a:visited,
.cor_gree .btn_more a:visited,
.cor_blue .btn_more a:visited,
.btn_contact a:visited,
.btn_recruit  a:visited,
.btn_appeal  a:visited,
.btn_appeal2  a:visited{
	color: #FFF;
}

.recruit .btn_more a:hover{
	background-color: #FFF;
	border: 1px solid #5A96FF;
	color: #5A96FF !important;
}

.cor_gree .btn_more a:hover{
	background-color: #FFF;
	border: 1px solid #35B597;
	color: #35B597 !important;
}



.cor_blue .btn_more a:hover{
	background-color: #FFF;
	border: 1px solid #00B9EF;
	color: #00B9EF !important;
}

.recruit .btn_more a:after,
.cor_gree .btn_more a:after,
.cor_blue .btn_more a:after{
    content: "\f123";
    font-family: "Ionicons";
    color: #FFF;
    font-size:1.2rem;
	position:absolute;
	right:10px;
}

.recruit .btn_more a:hover:after {
	color: #5A96FF !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}

.cor_gree .btn_more a:hover:after {
	color: #35B597 !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}

.cor_blue .btn_more a:hover:after {
	color: #00B9EF !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}


.btn_contact{float:left;}

.btn_contact a{
	width:120px;
	margin:15px 0 0 24px;
	color:#FFF;
	background:#0054A7;
	border:1px solid #0054A7;
	text-align:center;
	padding:10px 0 !important;
	display:block;
	text-decoration: none;
	
	}

.btn_contact2{float:right;}

.btn_contact2 a{
	width:200px;
	height: 70px;
	margin:2px 0 0 0;
	padding:0 !important;
	display:block;
	text-decoration: none;
	transition: 0.5s;
	}

.btn_contact2 a:hover{
	opacity: 0.6;
}

.btn_contact2 a img{
	display:block;
	width: 100%;
	}

.btn_contact a:hover,
.btn_appeal a:hover,
.btn_appeal2 a:hover{
	background-color: #FFF;
	border: 1px solid #0054A7;
	color:#0054A7 !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}

.btn_recruit a{
	width:30%;
	/*margin:30px auto 0;*/
	margin:0 auto;
	color:#FFF;
	background:#72C300;
	border:1px solid #72C300;
	text-align:left;
	padding:10px;
	border-radius:0;
	display:block;
	text-decoration: none;
	position:relative;
	
	}
	
.btn_recruit a:hover{
	background-color: #FFF;
	border: 1px solid #72C300;
	color: #72C300 !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}

.btn_appeal a{
	width:30%;
	margin:20px auto 0;
	color:#FFF;
	background:#0054A7;
	border:1px solid #0054A7;
	text-align:left;
	padding:10px;
	border-radius:0;
	display:block;
	text-decoration: none;
	position:relative;
	
	}

.btn_appeal2 a{
	width:40%;
	margin:20px auto 0;
	color:#FFF;
	background:#0054A7;
	border:1px solid #0054A7;
	text-align:left;
	padding:10px;
	border-radius:0;
	display:block;
	text-decoration: none;
	position:relative;
	
	}


.btn_recruit a:after{
    content: "\f123";
    font-family: "Ionicons";
    color: #FFF;
    font-size:1.2rem;
	position:absolute;
	right:10px;
	bottom:10px;
}

.btn_appeal a:after,
.btn_appeal2 a:after{
    content: "\f123";
    font-family: "Ionicons";
    color: #FFF;
    font-size:1.2rem;
	position:absolute;
	right:10px;
}


.btn_appeal a:hover:after,
.btn_appeal2 a:hover:after{
	color: #0054A7 !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}

.btn_recruit a:hover:after{
	color: #72C300 !important;
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}

@media only screen and (max-width: 999px) {
	
.btn_contact{float:none;}


.btn_contact a{
    width: 80%;
    margin:15px auto 15px;
}

.btn_contact2{
  float:none;
  border-top: none!important;
}

.btn_contact2 a{
	width:200px;
	height: 70px;
	margin:30px auto 40px;
	}

}

@media screen and (min-width: 640px) and (max-width: 999px) {
	

.recruit .btn_more a,
.btn_recruit a,
.btn_appeal a,
.btn_appeal2 a{
	width:60%;
	}
	
/*.recruit .btn_more a:after{
    padding-left: 55%;
}

.recruit .btn_more{
    padding-left: 55%;
}

.btn_recruit a:after{
    padding-left: 43%;
}

.btn_appeal a:after{
    padding-left: 60%;
}*/
	

}

@media only screen and (max-width: 639px) {
.recruit .btn_more a,
.cor_gree .btn_more a,
.btn_recruit a,
.btn_appeal a,
.btn_appeal2 a{
	width:80%;
	margin:0 auto;
	}
	
/*.recruit .btn_more a:after{
    padding-left: 47%;
}

.btn_recruit a:after{
    padding-left: 20%;
}


.btn_appeal a:after{
    padding-left: 30%;
}*/

}

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

	box

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

.unit_2col .box_a,
.unit_2col .box_b{
	float:left;
	}

.unit_3col .box_a,
.unit_3col .box_b,
.unit_3col .box_c{
	float:left;
	width:30.6%;
	margin-right:4%;
    padding: 15px;
    box-sizing: border-box;
	}

.unit_3col .box_c{
	margin-right:0;
	}


.gray_box{
	background: #EEE;
    padding: 20px;
    width: 75%;
    margin: 0 auto;
	box-sizing: border-box;}
	

.yellow_box{
	background: #e0c22b;
	color:#FFF;
    padding: 20px;
    width: 100%;
    margin: 0 auto;
	box-sizing: border-box;}

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


	
.unit_2col:not(.not_f_none) .box_a,
.unit_2col:not(.not_f_none) .box_b,
.unit_3col:not(.not_f_none) .box_a,
.unit_3col:not(.not_f_none) .box_b,
.unit_3col:not(.not_f_none) .box_c{
	float:none;
	}

.unit_3col:not(.not_f_none) .box_a,
.unit_3col:not(.not_f_none) .box_b,
.unit_3col:not(.not_f_none) .box_c{
	width:100%;
	}

.gray_box{
    padding: 10px;
    width: 100%;
	}
	
}


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

	clearfix

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

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

.clearfix {
	display: inline-block;
	min-height: 1%;
}

/*\*/
* html .clearfix { height: 1%;}
.clearfix { display: block;}
/* */

.clear{
	clear: both;
}

.reset{
	padding:0 !important;
	margin:0 !important;
	}


@media screen and (max-width:639px){
	.reset_sp{
	padding:0 !important;
	margin:0 !important;
	}
}



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

	Margin Padding

*************************************************/
.m_auto {margin: 0 auto;}
.m_auto10 {margin: 10px auto;}
.m10 {margin: 10px !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb25 {margin-bottom: 25px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb35 {margin-bottom: 35px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb45 {margin-bottom: 45px !important;}
.mb50 {margin-bottom: 50px !important;}
.mt2 {margin-top: 2px !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;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt60 {margin-top: 60px !important;}
.mt70 {margin-top: 70px !important;}
.ml5 {margin-left: 5px !important;}
.ml10 {margin-left: 10px !important;}
.ml20 {margin-left: 20px !important;}
.ml30 {margin-left: 30px !important;}
.ml40 {margin-left: 40px !important;}
.mr5 {margin-right: 5px !important;}
.mr10 {margin-right: 10px !important;}
.mr20 {margin-right: 20px !important;}
.mr30 {margin-right: 30px !important;}
.p10 {padding: 10px !important;}
.p20 {padding: 20px !important;}
.pt10 {padding-top: 10px !important;}
.pb10 {padding-bottom: 10px !important;}
.pl40 {padding-left: 40px !important;}

.top_0{
	margin-top:0 !important;
	padding-top:0 !important;}

.bottom_0{
	margin-bottom:0 !important;
	padding-bottom:0 !important;}

.middle_img{
	margin:30px 0;}
	

@media screen and (max-width:639px){
.mt40 {margin-top: 20px !important;}
.mb45 {margin-bottom: 20px !important;}
}

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

	Float Align

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


.f_left {float: left;}
.f_right {float: right;}

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

.flex,
.flex_02{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex !important;
}

@media screen and (min-width: 640px) {	

.flex{
  -webkit-flex-direction: row; /* Safari */
  flex-direction:         row;
	 
}
	

}

@media screen and (min-width: 1080px) {	

.flex_02{
  -webkit-flex-direction: row; /* Safari */
  flex-direction:         row;
	 
}
	
}

@media screen and (max-width:999px){
	
.flex_02{
  -webkit-flex-direction: column-reverse; /* Safari */
  flex-direction:column-reverse;
}

}

@media screen and (max-width:639px){
	
.flex{
  -webkit-flex-direction: column-reverse; /* Safari */
  flex-direction:column-reverse;
}
	
	
}

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

	link
	
*************************************************/

a {
	color: #000;
	text-decoration: none;
}

a:visited {
	color: #000;
}

a:not(.no_fade),
.fade{  
    -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out;  
}

a:not(.no_fade):hover, 
.fade:hover {  
    opacity: 0.4;  
    filter: alpha(opacity=60); 
}  


.under_line a,
.under_line a:visited,
.under_line a:link
a.under_line,
a.under_line:visited,
a.under_line:link{
	color: #0054A7;
	text-decoration:underline !important;}
	
.link_more:before {
    content: "\f363";
    font-family: "Ionicons";
    font-size: 1.4rem;
    padding-right: 8px;
	
}

a.link_more {
	float:right;
	color: #0054A7;}

.list_box a.link_more{
	float:right;
	color: #FFF;}

.blank{
	background: url(../images/ico_blank.png) no-repeat right 0.2em;
	background-size: 14px 14px;
	padding:3px 20px 3px 0;
}

.blank_02{
	background: url(../images/ico_blank_02.png) no-repeat right 0.2em;
	background-size: 18px 18px;
	padding:3px 20px 0 0;
}


.link_pdf{
	background: url(../images/ico_pdf.svg) no-repeat left;
	padding:10px 0 10px 35px;
	background-size: 30px 30px;
	line-height: 2.3em;
}

.link_excel{
	background: url(../images/ico_excel.svg) no-repeat left;
	padding:10px 0 10px 35px;
	background-size: 30px 30px;
	line-height: 2.3em;
}

.link_word{
	background: url(../images/ico_word.svg) no-repeat left;
	padding:10px 0 10px 35px;
	background-size: 30px 30px;
	line-height: 2.3em;
}

@media screen and (max-width:639px){
.blank{
	background-size: 12px 12px;
}

.blank_02{
	background-size: 14px 14px;
}

.link_pdf,
.link_excel,
.link_word{
	display:block;
	padding:10px 0 10px 35px;
}

}


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

	text
	
*************************************************/


.bold {
	font-weight: bold;
}

.big{
	font-weight: bold;
	font-size: 120%;
	/*display:inline-block;*/
	
	}

h3.big{
	font-weight: bold;
	font-size: 160%;
	/*display:inline-block;*/
	
	}

.small {
	font-size: 60% !important;
	display:inline !important;
}


.caption {
	font-size: 80%;
	text-align:right !important;
	font-weight:normal !important;
	width:100%;
	display: inline-block;
}

.caption_c {
	font-size: 80%;
	text-align:center !important;
	font-weight:normal !important;
	width:100%;
	display: inline-block;
}

.note{
	display:block;
	font-size:60% !important;}


.white{color:#FFF;}

.red {color:#B20000;}

.gray{color:#666;}

.blue{color:#2EA6DF;}

.blue_02{color:#5FB7E1;}

.pink{color:#DC005A;}

@media screen and (min-width:640px){

.pc_block{display:block;}

}

@media screen and (max-width:639px){
	
.indent{padding-left:30px;}
	
	
.big{
		display:block;
		width:100%;}
	
.point{
	display:block;
	margin-bottom:25px;
}

.sp_none{display:none;}

.sp_block{display:block;}


}


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

	back-ground

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

.bg_blue{
	background:#0054A7;
	}

.bg_blue_02{
	background:#E6EFFF;
	}
	
.bg_blue_03{
	background:#5A96FF;
	}

.bg_blue_04{
	background:#c7e6f4;
	}
	
.bg_blue_05{
	background:#FAFAFC;
	}

.bg_gray{
	background:#EEE;
	}

.bg_yellow{
	background:#FFFACC;
	}

.bg_yellow_02{
	background:#F5F2EA;
	}

.bg_black{
	background:#010106;
	}

.bg_border{
	border-top:2px solid #5A96FF;
	border-bottom:2px solid #5A96FF;
	}
	
.bg_dot{
    background-color: rgb(228, 246, 255);
    background-image: radial-gradient(white 8%, transparent 9%), radial-gradient(white 8%, transparent 9%);
    background-size: 30px 30px;
    background-position: 0 0, 15px 15px;
}


