@charset "UTF-8";
/* CSS Document */

/*******
 COMMON
*******/
html {
    scroll-behavior: smooth;
}

body{
	text-align: center;
	margin: auto;
	width: 100%;
	height: 100%;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif ;
	z-index: 1000;
}
.nbo_header{
	text-align: center;
	background: url(topbar_bg.jpg) center -1px;
	background-color: #ffffff;
}

.logo_pc {
    background-color: #222;
    text-align: center;
}
.logo_pc img {
	max-width: 100%;
}
@media screen and (min-width:787px){
	.display_tb,
	.display_sp{
		display: none!important;
	}
	.logo_tb{
		display: none!important;
	}
}
@media screen and (max-width:786px){
	.logo_pc{
		display: none!important;
	}
	.display_pc,
	.display_sp{
		display: none!important;
	}
	.sp_logo{
		text-align: center;

		position: relative;
		z-index: 100000;
		background-color: #222;
	}
	.sp_logo img{
		height: 40px;

	}
}
@media screen and (max-width:600px){
	.display_tb,
	.display_pc{
		display: none!important;
	}
	.display_sp{
		display: block!important;
	}
}
img {
	vertical-align:bottom;
}
@media screen and (min-width:601px){
	.sp{
		display: none !important;
		}
}
@media screen and (max-width:600px){
	.pc,
	.nbo_header{
		display: none !important;
		}
}
.mb0{
	margin-bottom: 0px!important;
}
.mb10{
	margin-bottom: 10px!important;
}
.mb20{
	margin-bottom: 20px!important;
}
.mb30{
	margin-bottom: 30px!important;
}
.mb50{
	margin-bottom: 50px!important;
}
.mb70{
	margin-bottom: 70px!important;
}
.mb230{
	margin-bottom: 230px!important;
}
.nbo_header {
    text-align: center;
    background: url(topbar_bg.jpg) center -1px;
    background-color: #ffffff;
}

.toplogo{
	text-align: center;
	padding: 13px 0 13px 0;
}
.toplogo img{
	max-width: calc(100% - 40px);
}

.toptitle {
text-align: center;
font-weight: bold;
font-size: 34px;
color: #105248;;
line-height: 1.2em;
}

/*******
 header
*******/

header{

	margin: auto;
	max-width: 100%;
	
	background: url("main_bg.png")no-repeat top center;
	background-color: #ffffff;
	/*padding: 20px 0 0 0;*/
}
@media screen and (max-width:786px){
	header{
		padding: 0px 0 0px 0;
		border-bottom: 0px solid #e6e6e6;
		background: url()no-repeat top center;
	background-color: #252a2b;
	}
}
.main_pc{
	display: block;
}
.main_sp{
	display: none;
}
@media screen and (max-width:786px){
	.main_pc{
		display: none;
	}
	.main_sp{
		display: block;
	}
}


header .logo{
	position: relative;
	text-align: center;
	animation-name:anime0;
    animation-duration: 1.2s;
	animation-delay: 0s;
	animation-fill-mode:forwards;
	margin: auto;
	box-sizing: border-box;
	width: 90%;
}
header .logo_wr{
	width: 1366px;
	margin: auto;
	position: relative;
	max-width: 100%;
}


header .logo img{
width:15%;
	}


@media screen and (max-width:1175px){
	header .logo img{

	}
}
@media screen and (max-width:930px){
	header .logo img{


	}
}
@media screen and (max-width:786px){
	/*header .logo{
		width: 100%;
		left: 0px;
	}*/
	header .logo img{
		width: auto;
		height: 80px;
	}
}


@keyframes anime0{
    0%{
		right: 50px;
        opacity: 0;
    }
    100%{
		right: 0px;
        opacity: 1;
    }
}


header h1{
	text-align: center;
	margin-bottom: 20px;
	opacity: 0;
	animation-name:anime1;
    animation-duration: 0.7s;
	animation-delay: 1s;
	animation-fill-mode:forwards;
	position: relative;
	animation-timing-function: ease-out;
	padding-top: 20px;
}
@media screen and (max-width:786px){
	header h1 img{
		max-width: 100%;
	}

	header h1{
		margin-bottom: 20px;

	}
}



@keyframes anime1{
    0%{
		right: 80px;
        opacity: 0;
    }
    100%{
		right: 0px;
        opacity: 1;
    }
}

header .sub{
	text-align: center;
	animation-name:anime2;
    animation-duration: 1.2s;
	animation-delay: 1.3s;
	animation-fill-mode:forwards;
	position: relative;

	opacity: 0;
	text-align: center;
}
@media screen and (max-width:786px){
	header .sub{
		margin-left: 22%;
	}
	header .sub img{
		height: 20px;
	}
}

@keyframes anime2{
    0%{
		right: 80px;
        opacity: 0;
    }
    100%{
		right: 0px;
        opacity: 1;
    }
}
header .sub2{
	text-align: center;
	animation-name:anime2;
    animation-duration: 0.7s;
	animation-delay: 1.9s;
	animation-fill-mode:forwards;
	animation-timing-function: ease-out;
	position: relative;
	opacity: 0;
	max-width: calc(100% - 0px);
	margin: auto;
}
@media screen and (max-width:786px){
	header .sub2{
		/*margin-top: -40px;*/
	}
	header .sub2 img{
		
	}
}

header .sub2 p.ty1{
	text-align: center;
	font-size: 28px;
	line-height: 1em;
	font-weight: bold;
	color: #002b69;
	margin-bottom: 5px;

	margin: auto;
	display: block;
	padding: 10px 0 10px 0;
	margin-bottom: 20px;
	box-sizing: border-box;
	
	max-width: calc(100% - 0px);
}
@media screen and (max-width:786px){
	header .sub2 p.ty1{
		margin-bottom: 10px;
		font-size: 24px;
	}
}
@media screen and (max-width:600px){
	header .sub2 p.ty1{
		margin-bottom: 0px;
	}
}

header .sub2 p.ty1 img{
	max-width: 100%;
}

header .sub2 p.ty2{
	text-align: center;
	font-size: 17px;
	line-height: 1.6em;
	font-weight: bold;
	color: #ffffff;
	width: 650px;
	margin: auto;
	box-sizing: border-box;
	/*
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
	background: url("sub2_bg.png")no-repeat;
	background-size: 100% 100%;
	max-width: 100%;

}
@media screen and (max-width:786px){
	header .sub2 p.ty2 br{
		display: none;
	}
}





@media screen and (max-width:600px){
	header .sub2 p.ty2{
		text-align: left;
		width: calc(100% - 40px);
		background: url("sp_sub2_bg.png")no-repeat;
		background-size: 100% 100%;
		font-size: 15px;
		text-shadow:1px 1px 0 #000, -1px -1px 0 #000,
              -1px 1px 0 #000, 1px -1px 0 #000,
              0px 1px 0 #000,  0-1px 0 #000,
              -1px 0 0 #000, 1px 0 0 #000;
	}
}

header h1 img{
	max-width: calc(100% - 0px);
}
header .ttl1{
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	color: #ffffff;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
}
@media screen and (max-width:600px){
	header .ttl1{
		font-size: 15px;
		text-align: left;
	}
}




header .lead{
	background: rgba(255,255,255,0.75);
	width: 820px;
	margin: auto;
	padding: 25px 30px;
	box-sizing: border-box;
	max-width: calc(100% - 40px);
}
@media screen and (max-width:600px){
	header .lead{
		padding: 15px 20px;
	}
}
header .lead p{
	font-size: 16px;
	line-height: 1.5em;
	font-weight: bold;
	color: #222;
}
@media screen and (max-width:786px){
	header .lead p{
		font-size: 14px;
	}
}


/*******
 topcontent
*******/
.topcontent{
	width: 1240px;
	margin: auto;
	background-color: #ffffff;
	max-width: 100%;
}
.article .topcontent{
	background-color: #ffffff;
}
@media screen and (max-width:600px){
	.article .topcontent{
		background: url()no-repeat left top;
		background-color: #ffffff;
	}
}

.topcontent .flex_wr{
	width: 1100px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	padding: 50px 0 40px 0;
	max-width: calc(100% - 40px);
}
@media screen and (max-width:600px){
	.topcontent .flex_wr{
		display: block;
		width: 100%;
		padding: 30px 0 50px 0;
	}
}
.topcontent .left_content{
	width: 750px;
}
@media screen and (max-width:600px){
	.topcontent .left_content{
		width: 100%;
	}
}
.topcontent .left_content .ttl{
	display: flex;
	margin-bottom: 25px;

	
	background-color: #f4f4f4;
	font-size: 15px;
	
}
@media screen and (max-width:600px){
	.topcontent .left_content .ttl{
		display: block;
	}
}
.topcontent .left_content .ttl .ty1{
	font-size: 15px;
	color: #222;
	padding: 13px 0 10px 10px;
	font-weight: bold;
	line-height: 1em;
}
@media screen and (max-width:600px){
	.topcontent .left_content .ttl .ty1{
		width: calc(100% - 20px);
	}
}
.topcontent .left_content .ttl .ty2{
	padding: 12px 10px 10px 10px;
	font-size: 15px;
	line-height: 1em;
	color: #071b3d;
	font-weight: bold;
}
.topcontent .left_content h2{
	color: #071b3d;
	font-size: 34px;
	font-weight: bold;
	line-height: 1.3em;
	margin-bottom: 20px;
}
@media screen and (max-width:786px){
	.topcontent .left_content h2{
		font-size: 26px;
	}
}
@media screen and (max-width:600px){
	.topcontent .left_content h2{
		background-color: #ffffff;
		padding: 5px;
		font-size: 22px;
	}
}

.article .topcontent .left_content h2{
	font-weight: bold;
	font-size: 42px;
	color: #222;
	line-height: 1.2em;
}
@media screen and (max-width:600px){
	.article .topcontent .left_content h2{
		line-height: 1.4em;
		font-size: 30px;
	}
}

.topcontent .left_content h2 span.ty1{
	color: #105248;
	font-size: 26px;
	line-height: 1em;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "serif";
	background-color: #ffffff;
	display: inline-block;
	margin-bottom: 5px;
	
}
@media screen and (max-width:600px){
	.topcontent .left_content h2 span.ty1{
		display:inline;
		margin-bottom: 0px;
		background: none;
		padding: 0px;
		font-size: 20px;
		line-height: 1.3em;
	}
}

.topcontent .left_content h2 span.ty2{
	font-size: 32px;
	display: block;
}
@media screen and (max-width:600px){
	.topcontent .left_content h2 span.ty2{
		font-size: 22px;
	}
}
.topcontent .left_content .ttl_ty1{
	color: #071b3d;
	font-size: 21px;
	display: inline-block;
	padding: 3px 2px 2px 2px;
	background-color: #ffffff;
	font-weight: bold;
	margin-bottom: 30px;
}
@media screen and (max-width:600px){
	.topcontent .left_content .ttl_ty1{
		font-size: 16px;
	}
}



.topcontent .left_content .text{
	color: #4d4d4d;
	font-size: 16px;
	line-height: 1.8em;
	margin-bottom: 30px;
}
.topcontent .left_content .text.s_size{
	font-size: 12px;
}
.topcontent .left_content .img_right{
	float: right;
	margin: 5px 0px 30px 30px;
	width: 350px;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_right{
		margin: 5px 0px 20px 20px;
		width: 150px;
	}
	.topcontent .left_content .img_right img{
		width: 150px;
		height: auto;
	}
}
.topcontent .left_content .img_right .cap{
	font-size: 12px;
	line-height: 1.6em;
	margin-top:10px;
	width: 350px;
	max-width: 100%;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_right .cap{
		width: 150px;
	}
}
.topcontent .left_content .img_right .prof{
	border-top: 1px dotted #231815;
	font-size: 13px;
	color: #231815;
	margin-top: 10px;
	padding-top: 10px;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_right .prof{
		width: 150px;
	}
}



.topcontent .left_content .img_right .cap.w210{
	width: 210px;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_right .cap.w210{
		width: 150px;
	}
}

.topcontent .left_content .img_right2{
	float: right;
	margin: 5px 0px 30px 30px;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_right2{
		margin: 5px 0px 20px 20px;
	}
	.topcontent .left_content .img_right2 img{
		width: 150px;
		height: auto;
	}
}
.topcontent .left_content .img_right .cap{
	font-size: 12px;
	line-height: 1.6em;
	margin-top:10px;
	width: 350px;
	max-width: 100%;
	color: #666666;
	font-weight: bold;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_right .cap{
		width: 150px;
	}
	
	.topcontent .left_content .img_right2 .cap{
		width: 150px;
	}
}

.topcontent .left_content .img_left{
	float: left;
	margin: 5px 30px 30px 0px;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_left{
		margin: 5px 20px 20px 0px;
		width: 150px;
	}
	.topcontent .left_content .img_left img{
		width: 150px;
		height: auto;
	}
}
.topcontent .left_content .img_left .cap{
	font-size: 12px;
	line-height: 1.6em;
	margin-top: 10px;
	width: 220px;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_left .cap{
		width: 150px;
	}
}

.topcontent .left_content .img_left .prof{
	border-top: 1px dotted #231815;
	font-size: 13px;
	color: #231815;
	margin-top: 10px;
	padding-top: 10px;
	width: 350px;
}
@media screen and (max-width:786px){
	.topcontent .left_content .img_left .prof{
		width: 150px;
	}
}


.topcontent .left_content .box{
	margin-bottom: 80px;
}
.topcontent .left_content .sns_box{
	display: flex;
	justify-content: space-between;
	width:100%;
}
.topcontent .left_content .sns_box a{
	display: block;
	
	text-align: center;
	transition-duration: 0.3s;
	width: 33%;
}
.topcontent .left_content .sns_box a:hover{
	opacity: 0.5;
}
.topcontent .left_content .sns_box a:nth-child(1){
	background-color: #2fa5dd;
}
.topcontent .left_content .sns_box a:nth-child(2){
	background-color: #2f5095;
	width: 34%;
}
.topcontent .left_content .sns_box a:nth-child(3){
	background-color: #0075b5
}

.topcontent .inner{
	/*	position:sticky;*/
	height:100%;
    top: 50px;
    right: 0px;
}
.topcontent .right_content{
	width: 300px;
	margin-left: 20px;

}
@media screen and (max-width:600px){
	.topcontent .right_content{
		width: auto;
		margin-left: 0px;
		margin-top: 30px;
	}
	.topcontent .right_content nav{
		display: none;
	}
}
.topcontent .right_content nav{
	background-color: #ffffff;

}
.topcontent .right_content nav .ttl{
	border-bottom: 4px solid #105248;
}
.topcontent .right_content nav .ttl p{
	font-size: 13px;
	color: #105248;
	padding: 0px 8px 8px 0px;
	font-weight: bold;
}
.topcontent .right_content nav li{
	border-bottom: 1px dotted #105248;
}
.topcontent .right_content nav a{
	padding: 10px 20px 10px 30px;
    border-left: 15px solid #105248;
	
	margin: 3px 0 3px 0;
	display: block;

	transition-duration: 0.3s;
	text-decoration: none;
}
/*.topcontent .right_content nav li:last-child a{
	border: none;
}*/
.topcontent .right_content nav a:hover{
	opacity: 0.5;
}
.topcontent .right_content nav li .ty1{
	font-size: 12px;
	color: #808080;
	margin-bottom: 5px;
}
.topcontent .right_content nav li .ty2{
	color: #222;
	font-size: 15px;
	line-height: 1.4em;
	font-weight: bold;
}
.topcontent .right_content nav li .ty2 span{
	font-size: 12px;
	font-weight: normal;
	display: block;
	line-height: 1.3em;
	margin-bottom: 4px;
	color: #105248;
	letter-spacing: -0.05em;
}
.topcontent .right_content .sns{
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
@media screen and (max-width:768px){
	.topcontent .right_content .sns{
		display: none!important;
	}
}
.topcontent .right_content .sns a{
	display: block;
	width: 33%;
	text-align: center;
}
.topcontent .right_content .sns a:nth-child(1){
	background-color: #37a6db;
}
.topcontent .right_content .sns a:nth-child(2){
	background-color: #315293;
	width: 34%;
}
.topcontent .right_content .sns a:nth-child(3){
	background-color: #2777b3;
}

/*******
 content_area
*******/
.content_area{
	margin: auto;
	background-color: #f7f7f7;
	padding: 30px 0 30px 0;
	max-width: 100%;
	border-top: 5px solid #cccccc;
}
@media screen and (max-width:768px){
	.content_area{
		padding: 30px 0 0px 0;
	}
}

.content_area .m_ttl{
	color: #105248;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 25px;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "serif";
}
.content_area ul {
	
	display: flex;
	justify-content: space-between;
	width: 1080px;
	margin: auto;
	flex-wrap: wrap;
	max-width:calc(100% - 30px);
}
.content_area ul li{
	height: auto;
	background-color: #105248;
	border: 1px solid #105248;
	margin-bottom: 50px;

	width: 525px;
	
	margin-bottom: 20px;
}
@media screen and (max-width:1100px){
	.content_area ul li{
		margin-bottom: 15px;
	}
}

@media screen and (max-width:786px){
	.content_area ul li{
		margin-bottom: 15px;
	}
}
.content_area ul li.dammy{
	border: none;
}
.content_area ul li a{

	padding: 15px;
	text-decoration: none;
	display: flex;
	box-sizing: border-box;
	transition-duration: 0.3s;
	width: 525px;
	justify-content: space-between;
	
	max-width: 100%;
}
@media screen and (max-width:1100px){
	.content_area ul li a{
	
	}
}

@media screen and (max-width:786px){
	.content_area ul li a{
		padding: 15px;
		margin-bottom: 0px;
	}
}
@media screen and (max-width:600px){
	.content_area ul li a{
		display: flex;
	}
}
.content_area ul li{

}
@media screen and (max-width:1100px){
	.content_area ul li{
		width:calc(50% - 10px);
	}
}

@media screen and (max-width:786px){
	.content_area ul li{
		width:calc(50% - 10px);
	}
}
@media screen and (max-width:600px){
	.content_area ul li{
	width:calc(100% - 0px);
	}
}

.content_area ul li a:hover{
	opacity: 0.5;
}
.content_area ul li a .ttl{
	display: flex;
	background-color: #ffffff;
	margin-bottom: 15px;
}
@media screen and (max-width:1080px){
	.content_area ul li a .ttl{
		display: block;
	}
}

.content_area ul li a .ttl .ty1{
	display: inline-block;
	padding: 8px 15px 5px 15px;
	font-size: 14px;
	line-height: 1em;
	color: #222;
	font-weight: bold;
}
@media screen and (max-width:600px){
	.content_area ul li a .ttl .ty1{
		font-size: 12px;
		line-height: 1.3em;
		padding: 10px 15px 8px 15px;
	}
}

.content_area ul li a .ttl .ty2{
	padding: 8px 15px 5px 15px;
	font-size: 15px;
	line-height: 1em;
	color: #071b3d;
}

@media screen and (max-width:1080px){
	.content_area ul li a .ttl .ty2{
		background-color: #e6e6e6;
	}
}
@media screen and (max-width:786px){
	.content_area ul li a .ttl .ty2{
		line-height: 1.4em;
	}
}
@media screen and (max-width:600px){
	.content_area ul li a .ttl .ty2{
		font-size: 12px;
	}
}


.content_area ul li a h3{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4em;
	color: #ffffff;
	text-align: left;
}
@media screen and (max-width:1080px){
	.content_area ul li a h3{
		font-size: 18px;
	}
}
.content_area ul li a h3 span{
	font-size: 14px;
	display: block;
	line-height: 1.4em;
	margin-bottom: 5px;
	font-weight: normal;
}
@media screen and (max-width:600px){
	.content_area ul li a h3 span{
		font-size: 14px;
	}
}

@media screen and (max-width:786px){
	.content_area ul li a h3{
		font-size: 14px;
	}
}
@media screen and (max-width:600px){
	.content_area ul li a h3{
		font-size: 15px;
		margin-bottom: 0px;
	}
}



.content_area ul li a .txt{
	width: 100%;
}
.content_area ul li a .img{
	margin-left: 20px;
}
@media screen and (max-width:600px){
	.content_area ul li a .img{
		margin-left: 20px;
		text-align: center;
	}
	.content_area ul li a .img img{
		width:120px;
	}
}
.content_area ul li a .img img{
	width: 100px;
	height: 100px;
	    object-fit: cover;
}

.article .flex {
display: flex;
flex-wrap: wrap;
}
/*******
 footer
*******/
footer{
	padding-top: 15px;
	border-top: 10px solid #e6e6e6;
	background-color: #ffffff;
	margin: auto;
	text-align: center;
	max-width: 100%;
}


/*******
 article
*******/
.article header{		
	background:url("main_bg.jpg");
	background-position: bottom center;
	background-repeat: no-repeat;
		/*padding: 50px 0 20px 0;*/	
	/*padding-bottom: 80px;*/

	text-align: center;	
	position: relative;
/*height: 50px;*/
background-size: cover;
background-position: center;
	
}
@media screen and (max-width:600px){
	.article header{
		background:url("main_bg.jpg");
		background-position:center;		
		padding-bottom: 90px;
		background-size: cover;
	}
}
@media screen and (max-width:600px){
	.article header{

	}
}

.article header.page2{
	padding: 12px 0 12px 0;
	background: url("topbar.html")repeat-x top center;
}

.article header .ttl{
	text-align: center;
	margin-top: 10px;
	margin-bottom: 50px;
}
.anime2{
	opacity: 0;
	animation-name:anime2;
    animation-duration: 2s;
	animation-delay: 0s;
	animation-fill-mode:forwards;
	position: relative;
}

@keyframes anime2{
    0%{
		right: 100px;
        opacity: 0;
    }
    100%{
		right: 0px;
        opacity: 1;
    }
}

.article header .ttl img{
	max-width: calc(100% - 40px);
}
.article header .topbtn{
	border: 1px solid #ffffff;
	border-radius: 5px;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	padding: 7px 7px 7px 25px;
	color: #ffffff;
	background: url(btnarrow.html)no-repeat 5px center;
	position: absolute;
	top: 15px;
	left: 5%;
	text-decoration: none;
	transition-duration: 0.3s;
}
@media screen and (max-width:900px){
	.article header .topbtn{
		left: 20px;
	}
}
@media screen and (max-width:820px){
	.article header .topbtn{
		display: none;
	}
}

.article header .topbtn:hover{
	opacity: 0.5;
}

.article header .leadbox{
	background: rgba(255,255,255,0.7);
	padding: 20px 20px 15px 20px;
	width: 580px;
	margin: auto;
	box-sizing: border-box;
	max-width: calc(100% - 40px);
	opacity: 0;
	animation-name:anime3;
    animation-duration: 2s;
	animation-delay: 2s;
	animation-fill-mode:forwards;

	position: relative;
}

@keyframes anime3{
    0%{
		right: 100px;
        opacity: 0;
    }
    100%{
	
		right: 0px;
        opacity: 1;
    }
}


.article header .leadbox .ty1{
	font-size: 18px;
	font-weight: bold;
	color: #c30d23;
	text-align: center;
	margin-bottom: 10px;
}
@media screen and (max-width:600px){
	.article header .leadbox .ty1{
		text-align: left;
	}
}

.article header .leadbox .ty2{
	color: #222;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.8em;
	text-align: center;
}
@media screen and (max-width:600px){
	.article header .leadbox .ty2{
		text-align: left;
	}
}

.article .box{
	margin-bottom: 20px;
}
.article .lead{
filter: drop-shadow(1px 1px 1px);
	border: 1px solid #105248;
	padding: 25px;
	margin-bottom: 60px;
	background-color: #fafcf9;
}

.article .leadb{
filter: drop-shadow(1px 1px 1px);
	border: 1px solid #105248;
	padding: 25px;
	margin-bottom: 60px;
	background-color: #fafcf9;
}

.leadb p,h3 {
text-align: center;
}
.leadb h3 {
font-size: 22px;
}

@media screen and (max-width:600px){
	.article .lead{
		padding: 15px;
	}
}

.article .lead p{
	font-weight: bold;
	line-height: 1.6em;
	font-size: 16px;
}
@media screen and (max-width:600px){
	.article .lead p{
		font-size: 15px;
	}
    
    .lead h3 {
font-size: 18px;
}
}

.article .article_ttl {
    font-size: 26px;
    line-height: 1.4em;
    font-weight: bold;
    padding-left: 20px;
    border-left: 20px solid #105248;
    color: #105248;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "serif";
	text-align: left;
}
@media screen and (max-width:600px){
	.article .article_ttl{
		font-size: 22px;
	}
}
.article .h3_box{
	margin-bottom: 10px;
}

.article .img_center{
	text-align: center;
	margin-bottom: 30px;
}


.article .img_center{
	margin-bottom: 0px;
}


.article .img_center img{
	max-width: 100%;
}
.article .img_center .cap{
	font-size: 12px;
	line-height: 1.6em;
	text-align:left;

	margin-top: 10px;
	color: #231815;
}
.article .img_center .cap span{
	color: #0055a4;
	font-weight: bold;
	display: block;
}
.article .img_center .cap b{
	font-weight: bold;
	color: #e75532;
}


.article .company_area{
	padding: 40px;
	border: 1px dotted #999999;
	margin-bottom: 30px;
	text-align: center;
}
.article .company_area .ty1{
	font-size: 18px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 5px;
}
.article .company_area .ty2{
	color: #4285f4;
	text-decoration: underline;
	font-size: 16px;
	font-weight: bold;
	transition-duration: 0.3s;
	word-break: break-all;
	display: block;
}
.article .company_area .ty2:hover{
	opacity: 0.5;
}
.article .company_area .ty3{
	color: #222;
	text-decoration:none;
	font-size: 16px;
	text-align: center;
	margin-top: 5px;
	
}

.article .company_area .ty3 a{
	color: #de1c24;
	font-weight: bold;
	transition-duration: 0.3s;
}

.article .company_area .ty3 a:hover{
	opacity: 0.5;
}

.article .topcontent .left_content .box{
	margin-bottom: 30px;
}
.size_s{
	font-size: 12px!important;
	color: #999999!important;
}

.nextbanner{
	width: 100%;
	margin: auto;
	padding: 10px 5% 10px 15%;
	background-color: #0055a4;
	display: block;
	position: relative;
	box-sizing: border-box;
	text-decoration: none!important;
	margin-bottom: 20px;
	margin-top: 50px;
	transition-duration: 0.3s;
	max-width: 100%;
}
.nextbanner:hover{
	opacity: 0.5;
}
.nextbanner .ty1{
	position: absolute;
	left: 0;
	top: -18px;
	font-size: 16px;
	font-weight: bold;
	color: #0055a4;
}
.nextbanner .ty2{
	color: #ffffff;
	font-size: 21px;
	font-weight: bold;
	
}
.nextbanner .ty2 span{
	background: url("nextbannerarow.html")no-repeat 0px center;
	padding: 10px 0 10px 60px;
	display: block;
}

.pager {
    width: 90px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}
.pager a {
    width: 40px;
    height: 40px;
    display: block;
    background-color: #0055a4;
    font-size: 20px;
    line-height: 1em;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    padding-top: 11px;
    box-sizing: border-box;
    text-decoration: none;
    text-align: center;
    transition-duration: 0.3s;
}
.pager a:hover {
	opacity: 0.5;
}
.pager a.on {
    color: #0055a4;
    border: 2px solid #0055a4;
    background-color: #ffffff;
    padding-top: 9px;
}

.topback{
	display: block;
	width: 100%;
	background-color: #105248;
	padding: 11px 0 11px 0;
	font-size: 15px;
	color: #ffffff!important;
	font-weight: bold;
	text-decoration: none;

	text-align: center;
	transition-duration: 0.3s;
	text-decoration: none!important;
	margin-top: 50px;
	position: sticky;
	top: 50px;
	right: 0px;
}
@media screen and (max-width:600px){
	.topback{
		position: relative;
		top: 0;
	}
}

.topback:hover{
	opacity: 0.5;
}

.topback::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(
-45deg
);
    margin-right: 10px;
    margin-top: 0px;
}

.dash{
	letter-spacing: -0.4em;
    margin-right: 5px;
}
.kakomi{
	background-color: #e4eaef;
	padding: 20px;
	margin-bottom: 50px;
}

.article .h3_box{
	border-bottom: 1px dotted #105248;
}
	
.kakomi .h3_box span{
	font-size: 20px;
	display: block;
}

.article .img_center .capl{
	font-size: 12px;
	line-height: 1.6em;
	text-align:left;
	margin-top: 10px;
	color: #231815;
}

.bgb .article .img_center .capl{
	margin-top: 0px;
}

.article .img_center .capg{
	font-size: 16px;
	line-height: 1.6em;
	text-align:left;
    font-weight: bold;
	color: #105248;
}
.pzero {
margin: 0 !important;
}

.flexleft {
width: 50%;
background: #e8e2dd;
display: flex;
justify-content: center;
flex-direction: column;
}

.flexlefts {
width: 70%;
background: transparent;
display: flex;
justify-content: center;
flex-direction: column;
}

.flexlefts p{
margin: 2%;
}

.flexleft p{

}

.article .flex img {
max-width: 50%;
object-fit: cover
}

.bgb {
background:#dde4e4;
padding: 30px 30px 10px 30px;
margin-bottom: 30px;
}

.green {
color: #105248;
background: #dde4e4;
}

.floatr {
float: right;
width: 30%;
margin-left: 5%;
}

.floatl {
float: left;
width: 65%;
}

.floatrp {
float: right;
width: 55%;
margin-left: 5%;
}

.floatlp {
float: left;
width: 40%;
}

.clearf {
clear: both;
}

.rn {
font-size: 12px;
line-height: 1.6em;
text-align: left;
margin-top: 10px;
color: #231815;
}

@media screen and (max-width:600px){
	.floatr{
		float: none;
		width: unset;
	}
		.floatl{
		float: none;
		width: unset;
	}
	.floatrp {
		float: none;
		width: unset;
margin:0;
}

.floatlp {
		float: none;
		width: unset;
margin:0;
}

}