@charset "utf-8";
/* CSS Document */
html { scroll-behavior: smooth;}
html,body{
	font-family: 'Noto Sans JP', sans-serif; /*ゴシック*/
	font-size:14px;
	font-weight: 400;
	line-height: 2.3em;
	padding:0;
	margin: 0;
	background: #ffffff;
}
.pc{display: block;}
.pcl{display: inline;}
.sp{display: none;}
.tab{display: none;}
.pcf{display: inline-flex;}
.spf{display: none;}
.pcw{display: block;}
.spw{display: none;}
::placeholder{
	color:#ccc;
}
a:hover{
	opacity: 0.7;
}
.basecolor{color:#003771;}
h1{
	font-size:38px;
	font-weight:600;
	color:#003771;
	text-align: center;
	line-height: 38px;
	text-decoration:underline;
	text-underline-offset:8px;
}
h2{
	font-size:30px;
	font-weight: 400;
	color:#003771;
	
}
h2.pagetit{
	font-size:45px;
	font-weight: 400;
	color:#000;
	margin: 1em 0;
}
h3{
	font-size:24px;
	font-weight: 400;
}
h4{
	font-size:20px;
	font-weight: 600;
	color:#003771;
}
h5{
	background:#003771;
	color:#fff;
	font-size:20px;
	font-weight: 400;
	width:fit-content;
	height:40px;
	line-height: 40px;
	margin:0 auto;
}
img{
	max-width: 100%;
}
a{
	color:#00336e;
	text-decoration: none;
}

a:hover{
	text-decoration: none;
}
input {
	border:1px solid #969696;
	border-radius: 5px;
}
ol{
	padding-left: 2em;
}
.x2{
	zoom:0.5;
}
.textright{text-align: right;}
.gothic{font-family: 'Noto Sans JP', sans-serif;}
.mincho{font-family: 'Noto Serif JP', serif!important;}
.topbar{
	position: fixed;
	width:100%;
	height:30px!important;
	background:#7a894c;
	margin:0;
	color:#fff;
}
.topbar .container{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size:12px;
}
.sns_icon{
	display: flex;
	width:100px;
	justify-content: space-between;
	align-items: center;
}

.spa5{
	letter-spacing: 5px;
}
.spa3{
	letter-spacing: 3px;
}

.spclose{
	display: none;
}
.hamburger{
	display: none;
}
.sp_wrap{
	position: fixed;
	z-index: 9999;
	left:0;
	top:35px;
	width:100%;
	height:auto;
	/*overflow-x: hidden!important;*/
}
.globalMenuSp{
	display: none;
}
.globalMenu{
	display: none;
}
select {
    -moz-appearance: menulist-button;
    -webkit-appearance: menulist-button;
    appearance: menulist-button;
	border:1px solid #b3b3b4;
	border-radius:5px;
	height: 2.5em;
}
textarea{
	border:1px solid #b3b3b4;
	border-radius:5px;
	
}
input[type="submit"]{
	color:#000;
	background:#d5d5d5;
	padding:10px 50px;
	font-size:17px;
	display: block;
	margin:0 auto;
}
input[type="button"]{
	color:#000;
	background:#d5d5d5;
	padding:10px 50px;
	font-size:17px;
	display: block;
	margin:0 auto;
}
header{
	width:100%;
	overflow: hidden;
	height:auto;
	z-index: 999999;
	padding:0;
	background:#fff;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.1);
	position: fixed;
}
.head{
	position: relative;
	width:1080px;
	height:72px;
	margin: 30px auto 0;
	padding:0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	background: #fff;
	z-index: 999999;
}
.menu {
	color:#000000;
	font-size:16px;
	display: flex;
	width:700px;
	margin:20px 0 0 200px!important;
	
	justify-content: space-between;
	letter-spacing: 1px;
}

.menu li{
	list-style-type: none;
}

.menu a{
	color:#000000;
	text-underline-offset:8px;
}
.container{
	width:1080px;
	margin:0 auto;
	clear: both;
}
.wide_container{
	width:1280px;
	height: auto;
	overflow: hidden;
	margin:0 auto;
}
.inquery{
	width:800px;
	margin:0 auto;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:16px;
	line-height: 3em;
}
.inquery dl{
	border-bottom: 1px solid #969696;
	padding:1em 0;
}
.inquery dt{
	width:15em;
	display: inline-block;
	vertical-align: top;
}
.inquery dd{
	display: inline-block;
}
.ft_container{
	width:1100px;
	height: auto;
	overflow: hidden;
	margin:0 auto;
	padding:50px 0;
	display: flex;
	justify-content: space-around;
	color:#ffffff;
}
.ft_container ul{
	display: flex;
	width:600px;
	justify-content: space-around;
}
.ft_container li{
	list-style-type: none;
	/*display: inline-block;*/
}
.ft_container a{
	color:#ffffff;
}
.footer_bar {
	background:#666666;
	width:100%;
	color:#ffffff;
	font-size:13px;
}
.ftbox{
	font-family: 'Noto Sans JP', sans-serif;
}
.footer_menu {
	height:40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width:450px;
	font-size:11px;
}
.footer_menu li{
	list-style-type: none;
}
.foot{
	width:800px;
	margin:0 auto;
	text-align: inherit;
}

.f52{font-size:52px;}
.f35{font-size:35px;}
.f30{font-size:30px;}
.f26{font-size:26px;}
.f25{font-size:25px;}
.f20{font-size:20px;}
.f19{font-size:19px;}
.f18{font-size:18px;}
.f16{font-size:16px;}
.f14{font-size:14px;}
.f13{font-size:13px;}
.f12{font-size:12px;}
.f11{font-size:11px;}
.fw500{font-weight: 500;}
.floatright{
	float:right;
}
.floatleft{
	float:left;
}
.txtleft{
	text-align:left; 
}
.spacer20{
	height:20px;
}
.spacer75{
	height:75px;
}
.spacer80{
	height:80px;
}
.centertxt{
	text-align: center;
}
.imgcenter{
	margin:0 auto;
}
.prefooter{
	background:#e4e7db;
	width:100%;
	height:auto;
	overflow: hidden;
}
.footer{
	background:#e4e7db;
	width:100%;
	padding:0px 0 40px;
	height:auto;
	overflow: hidden;
	display:flex;
	align-items: flex-start;
	justify-content: center;
	flex-flow: row;
	gap:20px;
	flex-wrap: wrap;
}
.footer ul{
	position: relative;
}
.footer ul li {
	line-height: 2em;
	list-style-type: none;
	padding:0 0 0 0.7em;
}
.footer li:not(.midashi):before{
	position: absolute;
	left:0em;
    /*content: "\25cf  ";*/
    content: "▶ ";
    font-size: 8px;
    vertical-align: 2px;
	color:#003771;
}
.bottom{
	background:#7a894c;
	height:30px;
	color:#fff;
	text-align: center;
	font-size:12px;
}
.wrapper{
	padding-top:100px;
}
.hero{
	position: relative;
	display:flex;
	justify-content: center;
	align-items: center;
}
.hero img{
	width:100%;
	margin:0;
}
.hero p{
	position: absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	-webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	transform: translate(-50%,-50%);/*センター寄せの修正*/
	color: #000;
	font-size: 45px;
}
.bg_mizu{
	background: #f2f5f8;
}
.newsarea{
	width:1080px;
	margin:0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap:30px;
	padding:20px 0;
	flex-wrap: wrap;
}
.newsarea dl{
	margin:20px 0 0 0;
	position: relative;
	border-bottom: 2px #003771 solid;
}
.newsarea dl dt{
	padding:0 0 0 1em;
	display: inline-block;
}
.newsarea dl dd{
	padding: 0 0 0 3em;
	display: inline-block;
}
.newsarea dl dt:before{
	position: absolute;
	left:0em;
    /*content: "\25cf  ";*/
    content: "▶ ";
    font-size: 14px;
    vertical-align: 2px;
	color:#003771;
}
.new{
	font-size:12px;
	color:#f00;
	font-weight:800;
}
.boxarea{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap:0px;
}
.box{
	width:640px;
	heigth:448px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.box.spw{
	width:0;
}
.bbbox{
	width:600px;
	heigth:448px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	background:#003771;
}
.blbox{
	width:600px;
	heigth:448px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	background:#007ec2;
}
.contact_label{
	height:191px;
	display: flex;
	align-items: center;
}
.leftbox{
	width:500px;
	margin-left: 70px;
}
.rightbox{
	width:380px;
	text-align: right;
}
.title{
	font-size:38px;
	font-weight:500;
	text-decoration: underline;
	text-underline-offset:10px;
	text-decoration-color: #003771;
	margin: 40px 0;
}
.bbbox p.title{
	color:#fff;
	text-decoration-color: #fff;
	line-height: 1.5em;
	font-size:30px;
}
.bbbox p,.blbox p{
	color:#fff;
	text-decoration-color: #fff;
	line-height: 1.5em;
}

.btm01{
	color:#fff;
	font-size:30px;
	width:100%;
	height:75px;
	background:#6687aa;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btm02{
	color:#fff;
	font-size:30px;
	width:100%;
	height:75px;
	background:#4d739c;
	display: flex;
	justify-content: center;
	align-items: center;
}
.blueback{
	background:#e4e7db;
	height:auto;
	overflow: hidden;
}
.message{
	width:578px;
	float:right;
}
.sq{
	width:20px;
	height:20px;
	background: #003771;
	color:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 400;
	font-size:13px;
	float: left;
	margin:4px;
	border-radius: 3px;
}
.rinen p{
	margin: 0 0 0 2em;
}
.company{
	font-size:16px;
	border-spacing: 0;
	border: 1px solid #000;
}
.company th{
	text-align: left;
	width:9em;
	border-bottom: 1px solid #000;
	background:#e5ebf1;
	padding:1em 1em 1em 2em;
}
.company td{
	border-bottom: 1px solid #000;
	padding:1em;
}
.history{
	float:right;
	list-style-type: none;
	font-size:16px;
}
.hist_img{
	margin-top: 12px;
}
.tuyomi{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap:50px 0;
}
.tuyomi_tit{
	color:#003771;
	font-size:26px;
}
.tuyomibox{
	width:375px;
}
.halfarea{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.halfbox{
	width:50%;
}
.hissu{
	font-size:12px;
	line-height: 1.2em;
	background:#7a894c;
	width:fit-content;
	height:1.2em;
	color:#fff;
	padding:0 0.5em;
	margin:0 0 0 10px;
	border-radius:0px;
	display: inline-block;
}
.free{
	font-size:15px;
	background:#fff;
	width:fit-content;
	height:1.8em;
	color:#000;
	padding:0 10px;
	border-radius:5px;
	border:1px solid #000;
	display: inline-block;
}
form{
	font-size:14px;
}
form dl dt{
	display: inline-block;
	width:12em;
	margin:10px 0;
	vertical-align: top;
}
form dl dd{
	display: inline-block;
	width:calc(100% - 12em);
	margin:10px 0;
	vertical-align: top;
	position: relative;
}
form dl dd span{
	position:absolute;
	text-align:right;
}
input[type="text"]{
	height:2.5em;
	max-width:90%;
	padding:0 0 0 1em;
	margin-left: 3em;
}
select{
	margin-left: 3em;
}
textarea{
	margin-left: 3em;
}
.submit{
	background:#003771!important;
	color:#fff!important;
	width:220px;
	height:50px;
	border-radius: 25px;
}

.newsbox{
	width:340px;
	line-height:1.6em;
}
.newsheader{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:10px 0;
}
.newsheader_main{
	font-size:14px;
}
.label{
	background: #00336e;
	color:#fff;
	padding:0 2em;
	font-size:12px;
	line-height: 1.8em;
	width:fit-content;
}
.button{
	max-width: 100%;
	width:400px;
	heigth:62px;
	background:#7a894c!important;
	border-radius: 0px!important;
	color:#fff!important;
	text-align: center;
	font-size:27px!important;
	line-height: 62px;
	margin:5px auto;
	/*box-shadow: 10px 10px 0 0 #d6dac8;*/
	padding:0!important;
}
.button_m{
	max-width: 100%;
	width:272px;
	heigth:48px;
	background:#7a894c;
	color:#fff;
	text-align: center;
	font-size:18px;
	line-height: 48px;
	margin:0px auto 50px;
	/*box-shadow: 10px 10px 0 0 #d6dac8;*/
	paddng:0!important;
}
.btnarea{
	max-width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:0 100px;
	gap:100px;
	flex-wrap: wrap;
}
.banner_area{
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:10px;
	flex-wrap: wrap;
}
.vh{
	width:1px;
	height:54px;
	background:#cccccc;
}
.pdflist{
	margin:0 0 0 2em;
}
.icon{
	display: inline;
	vertical-align: middle;
}
.ctboxarea{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:30px 0;
}
.ctbox{
	width:500px;
	font-size:14px;
}
.ctbox dl{
	border-top:1px #ccc solid;
	font-size:18px;
}
.ctbox dt{
	width:6em;
}
.ctbox dt,.ctbox dd{
	display: inline-block;
	vertical-align: top;
	line-height: 2.5em;
}
.footerinfo{
	padding:0 10px;
}
.toplogo{
	width:200px;
	position: absolute;
	top:5px;
	left:0;
}
.footlogo{
	width:150px;
}
.oubo{
	width:125px;
	height:25px;
	background:#7a894c;
	font-size:14px;
	display: flex;
	justify-content: center;
	align-items: center;
	color:#fff;
	font-weight: 700;
	margin:10px 0;
}
.aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.alignright{
	float: right;
	margin-left: 1.5em;
}
.alignleft{
	float: left;
	margin-right: 1.5em;
}
.newslist{
	margin:20px 0;
}
.newslist li{
	list-style-type: none;
	height:auto;
	overflow: hidden;
	border-bottom: 1px solid #999;
	padding:1em 0;
}
.newslist li:first-child{
	border-top: 1px solid #999;
}
.newlabel{
	color:#ff0000;
	font-size: 12px;
	font-weight:800;
}
.wrap{
	height:auto;
	overflow: hidden;
}
.bnbox{
	width:200px;
}
@media screen and (max-width: 1080px) {
	.pcw{display: none;}
	.spw{display: block;}
	.box.spw{width:100%;}
	.wide_container{
		width:100%;
		padding:0 10px;
	}
	.boxarea{
		justify-content: center;
		gap:20px;
	}
	.boxarea.req{
		gap:0;
	}
	.leftbox{
		width:100%;
		margin-left: auto;
	}
	.rightbox{
		width:100%;
		text-align: left;
	}
	.btm01{
		font-size:14px;
		height:31px;
	}
	.btm02{
		font-size:14px;
		height:31px;
	}
	.bbbox,.blbox{
		padding:20px;
	}
	.bbbox p.title{
		font-size:20px;
	}
	.contact_label{
		height: 90px;
	}
	.message{
		width:100%;
		float:inherit;
		margin-top: 2em;
	}

	.pc{display: none!important;}
	.pcl{display: none!important;}
	.sp{display: block!important;}
	.tab{display: none!important;}
	.container{
		width:100%;
		padding:0 10px;
	}
	.head{
		padding-left: 10px;
	}
	.footer ul{
		width:90%;
	}
	.wrapper{
		padding-top:102px;
	}
	h1{
		font-size:22px;
		}
	h2{
		font-size:20px;
	}
	h3{
		font-size:18px;
		font-weight: 400;
	}
	h4{
		font-size:16px;
		font-weight: 400;
	}
	.title{
		font-size:20px;
		margin: 20px 0;
	}
	.hero p{
		font-size:20px;
	}
	.tuyomi{
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap:30px 0;
	}
	.tuyomibox{
		width:100%;
	}
	.halfarea{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap:40px 0;
	}
	.halfbox{
		width:100%;
	}
	.newsarea{
		width:100%;
		margin:0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-start;
		gap:30px;
		padding:20px 0;
	}
	.newsbox{
		padding-bottom: 1em;
		border-bottom: 1px solid #cccccc;
	}
	.btnarea{
		display: block;
		justify-content: center;
		align-items: center;
		padding:0;
		flex-wrap: wrap;
		gap:40px;
		width:100%;
	}
	.ctboxarea{
		justify-content: center;
		flex-wrap: wrap;
	}
	input[type="text"]{
		max-width:90%;
		padding:0;
		margin: 0 1em;
	}
	select{
		margin: 0 1em;
	}
	textarea{
		margin: 0;
		max-width:90%;
	}
	.button_m{
		width:100%;
		max-width: 400px;
	}
}
@media screen and (max-width: 650px) { 
	.pc{display: none!important;}
	.tab{display: none!important;}
	.sp{display: block!important;}
	form dl dt{
		display: inherit;
		margin:30px 0 5px;
	}
	form dl dd{
		display: inherit;
		width:100%;
		margin:5px 0;
	}
}
