@charset "UTF-8";
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	font-size: 62.5%;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	letter-spacing:-0.1rem;
	color: #000;
	letter-spacing: -0.04rem;
}
h2 {
	color: #000;
	line-height: 160%;
}
img {
	vertical-align: top;
}
a {
}
span {
	vertical-align:baseline;
	line-height:100%;
	
}
#container {
}
/* コンテンツのフェイドイン */							
/* 画面外にいる状態 */
.fadein {
    opacity : 0.0;
    transition : all 800ms;
	position: relative;
	top: 20px;
    }
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
	top: 0px;
    }
/* navigation */
#header_content {
	width:100%;
	margin:0px auto 0px;
	border-bottom: 1px solid #003499;
	}
	.header_content {
		width: 1120px!important;
		margin: 20px auto 0px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		}
	.header_logo {
		width:420px;
		float: left;
		text-align: left;
	}
		.header_logo h1{
			width: 420px;
			height: auto;
			font-weight: 700;
			}
			.header_logo h1 a{
				color: #003499;
			}
		.header_logo p{
			font-size: 1.2rem;
			}
		.header_contact {
			float: right;		
		}
		#main_nav {
			height: 70px;
			}
			ul.main_nav {
				margin: 0px auto 0px;
				display: flex;
				align-items: center;
				justify-content: flex-end;
			}
			ul.main_nav > li{
				box-sizing: border-box;
				height: 70px;
				display: flex;
				align-items: center;
				justify-content: flex-end;
				}
				ul.main_nav li:nth-child(4) {
					border-right: none;
				  }
			ul.main_nav > li > a {
				color: #323232;
				width: 180px;
				vertical-align: middle;
				text-align: center;
				font-size: 1.6rem;
				font-weight: bold;
				padding-bottom: 0px;
				height: 70px;
				display: flex;
				align-items: center;
				justify-content: flex-end;
				}
				.drawer-toggle {
					display: none;
				}


	/* mainvisual */
	#visual {
		width: 100%;
		min-width: 960px;
		overflow: hidden;
	}
		#visual-image {
			position: relative;
			left: 50%;
			margin-left: -800px;
		}
	.content_head {
		width: 1120px;
		margin: 0px auto;
		}
		.content_head img{
			width: 100%;
			height: auto;
			}
		.content_head p{
			margin-top: 32px;
			font-size: 1.6rem;
			line-height: 180%;
			text-align: justify;
			}
	
	
/************************* home ********************************/
.home_message{
	text-align: center;
	margin-top: 80px;
	}
	.home_message h2 {
		color: #003499;
		font-size: 4.0rem;
		font-weight: bold;
		}
	.home_message p {
		font-size: 1.8rem;
		line-height: 240%;
		margin-top: 50px;
		}
		
		.home_maincontent {
			border-top: 1px solid #003499;
			width: 1120px;
			margin: 80px auto;
			padding-top: 40px;
		}
			.home_maincontent01{
				letter-spacing: -1.0rem;	
				margin-bottom: 120px;		
			}
				.home_maincontent01_img {
					display: inline-block;
					width: 600px;
					height: auto;
					vertical-align: top;
				}
					.home_maincontent01_img img{
						width: 100%;
						height: auto;
						}
					
				.home_maincontent01_txt {
					display: inline-block;
					width: 470px;
					vertical-align: top;
					margin-left: 50px;
				}
					.home_maincontent01_txt p{
						font-size: 1.6rem;
						line-height: 200%;
						text-align: justify;
						letter-spacing: -0.1rem;
						margin-top: 30px;
						}
			.home_maincontent02{
				letter-spacing: -1.0rem;
				margin-bottom: 120px;
			}
				.home_maincontent02_img {
					display: inline-block;
					width: 600px;
					height: auto;
					vertical-align: top;
				}
					.home_maincontent02_img img{
						width: 100%;
						height: auto;
						}
					
				.home_maincontent02_txt {
					display: inline-block;
					width: 470px;
					vertical-align: top;
					margin-right: 50px;
				}
					.home_maincontent02_txt p{
						font-size: 1.6rem;
						line-height: 200%;
						text-align: justify;
						letter-spacing: -0.1rem;
						margin-top: 30px;
						}
						
					.home_maincontent h3{
						font-size: 3.4rem;
						font-weight: bold;
						position: relative;
						letter-spacing: -0.1rem;
						line-height: 128%;
						}
						.home_maincontent h3:before {
						  content: '';
						  position: absolute;
						  left: 0;
						  bottom: -14px;
						  display: inline-block;
						  width: 100px;
						  height: 4px;
						  background-color: #003499;
						}
				
				
/************************* lauyout *********************************/
.content_container {
	width: 1120px;
	margin: 60px auto 0px;
	font-size: 0px;
	}
		/* 概要 */		
		.company_detail {
		}
		.company_detail h3 {
			font-size: 3.0rem;
			font-weight: bold;
			letter-spacing: -0.1rem;
			line-height: 100%;
			text-align: center;
			margin-bottom: 2.0rem;
		}
		.company_detail dl{
				font-size: 0px;
				border-bottom: 1px solid #b4b4b4;
				padding-bottom: 30px;
				padding-top: 30px;
			}
			.company_detail dt{
				width: 25%;
				display: inline-block;
				font-weight: bold;
				color: #5a5a5a;
				vertical-align: middle;
				font-size: 1.6rem;
				padding-left: 5%;
				box-sizing: border-box;
				line-height: 1.4;
				}
			.company_detail dd{
				width: 65%;
				display: inline-block;
				line-height: 180%;
				vertical-align: middle;
				text-align: justify;
				font-size: 1.6rem;
				padding-left: 5%;
				box-sizing: border-box;
				}
			
footer {
	background-color: #323232;
	width: 100%;
	padding-top: 24px;
	padding-bottom: 24px;
	margin-top: 56px;
}
		.footer_copyright {
			text-align: center;
			margin-top: 60px;
			font-size: 1.3rem;
			color: #FFF;
		}
					


/* ページトップへ戻る */
#page_top{
	width: 50px;
	height: 50px;
	position: fixed;
	right: 10px;
	bottom: 20px;
	background: #CCCCCC;
	opacity: 0.6;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	}
#page_top a{
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
	line-height: 25px;
	color: #FFF;
	}
	#page_top a span{
		font-size: 4.2rem;
		display: block;
		width: 50px;
		height: 50px;
		padding-left: 4px;
		padding-top: 4px;
	}
					
	@media screen and (min-width:981px) {
		.hidden_pc {
			display:none!important;
		}
	}
	/* スマホ */
	@media screen and (max-width:980px) {
		.hidden_sp {
			display:none!important;
		}
	}
