/***********************************
 reset
***********************************/
@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}
*, html, body, div, dl, dt, dd, ul, ol, li, header, footer, nav,
h1, h2, h3, h4, h5, h6, form, input, textarea, p{
	margin: 0;
	padding: 0;
	font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
}
dl, ul, ol{
	list-style-type: none;
}
html{
	overflow: scroll;
}

/***********************************
 base
***********************************/
body{
	position: relative;
	margin: 0;
	padding: 0;
	min-width: 1000px;
	height: 100%;
	color: #000000;
	font-size: 15px;
	letter-spacing: 0.07em;
	line-height: 1.8em;
	text-align: center;
}
div.container{
	position: relative;
	margin: auto;
	width: 1000px;
	height: auto;
	overflow: hidden;
}
p{
	width: 100%;
	text-align: left;
}

hr{
	border-top: 1px solid #ffffff;
}

/***********************************
 header,footer,nav
***********************************/
header, footer{
	position: relative;
	width: 100%;
	display: block;
	letter-spacing: normal;
}
header{
	margin: 0;
	height: 93px;
	background: #ffffff;
	text-align: left;
	font-size: 0.78em;
}
footer{
	margin-top: 100px;
	height: 260px;
	text-align: center;
	color: #ffffff;
	background: #024870;
	font-size: 0.8em;
}
header div.container,
footer div.container{
	height: 100%;
}

header p#header_mes{
	height: 20px;
	line-height: 20px;
}

header ul#header_info{
	position: absolute;
	top: 0;
	right: 0;
}
header ul#header_info li{
	float: left;
}
header ul#header_info li#telBox{
	margin-right: 14px;
}
header ul#header_info li a{
	display: block;
	height: 35px;
	text-indent: -9999px;
}
header ul#header_info li#telBox a{
	background: url(/images/info_tel.png) center 7px no-repeat;
	width: 150px;
}
header ul#header_info li#contactBox a{
	background: url(/images/info_mail.png) center 7px no-repeat #0583cb;
	width: 97px;
}
header ul#header_info li#contactBox a:hover{
	background-color: #05a3ff;
}

header h1{
	position: absolute;
	top: 40px;
	left: 0;
	width: 186px;
	height: 42px;
}
header h1 a{
	display: block;
	background: url(/images/logo.png) center center no-repeat;
	width: 186px;
	height: 42px;
	text-indent: -9999px;
}

header nav{
	position: absolute;
	bottom: 7px;
	right: 0;
	width: 547px;
	height: 34px;
}
header nav ul{
	width: 100%;
	height: 100%;
}
header nav ul li{
	float: left;
	margin-right: 8px;
	width: 103px;
	height: 34px;
}
header nav ul li:last-child{
	margin-right: 0;
}
header nav ul li a{
	position: relative;
	display: block;
	overflow: hidden;
	width: 103px;
	height: 34px;
	text-indent: -9999px
}
header nav ul li:nth-child(1) a{
	background: url(/images/menu1.png) center 11px no-repeat;
}
header nav ul li:nth-child(2) a{
	background: url(/images/menu2.png) center 11px no-repeat;
}
header nav ul li:nth-child(3) a{
	background: url(/images/menu3.png) center 11px no-repeat;
}
header nav ul li:nth-child(4) a{
	background: url(/images/menu4.png) center 11px no-repeat;
}
header nav ul li:nth-child(5) a{
	background: url(/images/menu5.png) center 11px no-repeat;
}
header nav ul li a:after{
	position: absolute;
	content: "";
	bottom: 0;
	display: block;
	width: 103px;
	border-bottom: solid 5px #e9e9e9;
}
header nav ul li a.on:after,
header nav ul li a:hover:after{
	border-bottom: solid 5px #ccbe00;
}

footer div#footer_info{
	position: relative;
	top: 30px;
	width: 40%;
}
footer div#footer_info div{
	width: 263px;
	height: 56px;
	margin-bottom: 15px;
}
footer div#footer_info p{
	line-height: 1.4em;
}

footer ul#footer_nav{
	position: absolute;
	top: 30px;
	right: 0;
}
footer ul#footer_nav{
	position: absolute;
	top: 30px;
	right: 0;
}
footer ul#footer_nav li{
	float: left;
}
footer ul#footer_nav li:after{
	float: right;
	display: block;
	content: "|";
	margin: 0 10px;
}
footer ul#footer_nav li:last-child:after{
	display: none;
	content= ""
}


footer a,
footer a:link,
footer a:visited{
	color: #ffffff;
	text-decoration: none;
}
footer a:hover{
	color: #d3ecff;
}

footer #copyright{
	position: absolute;
	bottom: 20px;
	text-align: center;
}

/***********************************
 h2
***********************************/
h2{
	margin: 0 0 10px 0;
	width: 1000px;
	height: 230px;
	text-indent: -9999px;
	display: block;
	overflow: hidden;
	float: left;
}
h2#h2_business1{
	background: url(/images/h2_business1.png) top center no-repeat;
}
h2#h2_flow1{
	background: url(/images/h2_flow1.png) top center no-repeat;
}
h2#h2_about1{
	background: url(/images/h2_about1.png) top center no-repeat;
}
h2#h2_contact1{
	background: url(/images/h2_contact1.png) top center no-repeat;
}

h2#h3_index1{
	margin: 60px 0 10px 0;
	width: 100%;
	height: 72px;
	text-indent: -9999px;
	display: block;
	overflow: hidden;
	float: left;
	background: url(/images/h3_index1.png) top center no-repeat;
}

/***********************************
 h3, h4
***********************************/
h3{
	margin: 60px 0 10px 0;
	width: 100%;
	height: 72px;
	text-indent: -9999px;
	display: block;
	overflow: hidden;
	float: left;
}
h3#h3_index2{
	background: url(/images/h3_index2.png) top center no-repeat;
}
h3#h3_business1{
	background: url(/images/h3_business1.png) top center no-repeat;
}
h3#h3_business2{
	background: url(/images/h3_business2.png) top center no-repeat;
}
h3#h3_business3{
	background: url(/images/h3_business3.png) top center no-repeat;
}
h3#h3_flow1{
	background: url(/images/h3_flow1.png) top center no-repeat;
}
h3#h3_flow2{
	background: url(/images/h3_flow2.png) top center no-repeat;
}
h3#h3_about1{
	background: url(/images/h3_about1.png) top center no-repeat;
}
h3#h3_about2{
	background: url(/images/h3_about2.png) top center no-repeat;
}
h3#h3_contact1{
	background: url(/images/h3_contact1.png) top center no-repeat;
}
div.column2 h4,
h4.businessYear{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	padding: 16px 0 0 18px;
	text-align: left;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color:#222222;
	transform: rotate(.03deg);
	-webkit-transform: rotate(.03deg);
	background:url(/images/h4.png) top left no-repeat;
}

/***********************************
 home
***********************************/
div#mainimage{
	height:550px;
	width:1000px;
}

/***********************************
 business
***********************************/
ul.disc{
	margin-left: 20px;
	list-style-type: disc;
	list-style-position: outside;
}
ul.disc li{
	margin-bottom: 0.4em;
	line-height: 1.6em;
	letter-spacing: 0.04em;
}

table.business td{
	line-height: 1.6em;
}
table.business td p{
	margin-bottom: 0.8em;
}

table.businessTbl{
	letter-spacing: 0;
}
table.businessTbl + h4{
	margin-top: 2em;
}
table.businessTbl td{
	padding: 10px 0;
	width: 75px;
	line-height: 1.2em;
	text-align: center;
}
table.businessTbl td:first-child{
	padding: 10px;
	width: auto;
	border-left: #e3e3e3 1px solid;
	text-align: left;
}

/***********************************
 .info_contact
***********************************/
.info_contact{
	position: relative;
	margin: 20px auto;
	border-left: solid 19px #afeeee;
	border-right: solid 19px #afeeee;
	width: 697px;
	height: 170px;
	overflow: hidden
}
.info_contact:before,
.info_contact:after{
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: 19px;
	content: "";
}
.info_contact:before{
	top: 0;
	background: #e4f9f9;
}
.info_contact:after{
	bottom: 0px;
	background: #e4f9f9;
}

.info_contact ul{
	position: relative;
	top: 35px;
	left: 40px;
	width: 280px;
}
.info_contact ul li{
	width: 280px;
	height: 50px;
}
.info_contact ul li.contact_tel{
	margin: 0 0 4px;
}
.info_contact ul li.contact_fax{
	text-indent: -9999px;
}
.info_contact ul li a{
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
}
.info_contact ul li.contact_tel a{
	background: url(/images/contact_tel.png) center center no-repeat;
}
.info_contact ul li.contact_fax{
	background: url(/images/contact_fax.png) center center no-repeat;
}

.info_contact .contact_mail {
	position: absolute;
	top: 48px;
	right: 50px;
	width: 280px;
}
.info_contact .contact_mail p{
	margin: 0 0 7px;
	height: 17px;
	background: url(/images/contact_message.png) left center no-repeat;
	text-indent: -9999px;
}
.info_contact .contact_mail a{
	display: block;
	width: 280px;
	height: 50px;
	text-indent: -9999px;
	background: url(/images/contact_mail.png) center center no-repeat #0583cb;
}
.info_contact .contact_mail a:hover{
	background-color: #05a3ff;
}

/***********************************
 other
***********************************/

			div.row{
				float: left;
				width: calc(100% - 40px);
				overflow: hidden;
				display: table-row;
				padding: 0 20px;
			}
			div.column1{
				float: left;
				width: calc(100% - 40px);
				overflow: hidden;
				display: block;
				padding: 0 20px;
			}
			div.row.flow{
				text-align:center;
				border-left:2px solid #0583CB;
				margin-bottom:30px;
			}

			
			div.row.flow > div.step{
				float: left;
				width: 50px;
				height:60px;
				overflow: hidden;
				display: block;
				padding: 20px 20px;
				background:#0583CB;
				text-align:center;
				color:#FFFFFF;
			}
			div.row.flow > div.step > span{
				font-size:2em
			}
			div.row.flow > div.column1{
				float: right;
				width: 700px;
				overflow: hidden;
				display: block;
				padding: 0 20px;
				background:#ffffff;
			}
			div.row.flow  h4{
				display:inline-block;
				text-align:center;
				font-size: 20px;
				width:auto;
				font-weight: bold;
				padding: 16px 0 0 18px;
				text-align: left;
				margin:0 auto;
				font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
				color:#222222;
				transform: rotate(.03deg);
				-webkit-transform: rotate(.03deg);
				/*background:url(/images/h4.png) top left no-repeat;*/
			}
			div.column2{
				width: calc(50% - 40px);
				margin: 20px;
				float: left;
				display: table-cell;
			}
			div.column2: nth-child(2n){
				float: right;
				/* margin-right: 0px; */
			}
			div.column2.short{
				width: calc(40% - 40px);
			}			
			div.column2.long{
				width: calc(60% - 40px);
			}
			div.column2 img{
				width: 100%;
			}
			div.column3 > h4{
				position: relative;
				display: inline-block;
				padding: 8px 0 5px 0;
				height: 25px;
				width:100%;
				text-align:center;
				margin-top:10px;
				margin-left: 0px;
				margin-bottom:10px;
				line-height: 25px;
				vertical-align: middle;
				font-size: 17px;
				background: #FFC107;
				color: #ffffff;
				font-weight: bold;
			}

			div.column3{
				width: calc(33.3% - 44px);
				overflow: hidden;
				height: 390px;
				float: left;
				display: table-cell;
				background: #ffffff;
				text-align: left;
				padding: 0 10px 10px 10px;
				border: solid 2px #FFFFFF;
			}
			div.column3:nth-child(3n-2){
				margin: 5px 0;
				margin-left: 20px
			}
			div.column3:nth-child(3n-1){
				margin: 5px 10px;
			}
			div.column3:nth-child(3n){
				margin: 5px 0;
				margin-right: 20px
			}
			
					
			div.column3:nth-child(2n-1) > h4{
				background: #036299;
			}
			div.column3:nth-child(2n) > h4{
				background: #999900;
			}
			div.column3 img{
				width: 100%;
			}			
			div.column4{
				width:calc(25% - 20px);
				overflow: hidden;
				float: left;
				display: table-cell;
				text-align: left;
				padding:0;
			}
			div.column4:nth-child(1){
				margin:0;
				margin-left: 20px
			}
			div.column4:nth-child(2){
				margin:0 10px;
			}
			div.column4:nth-child(3){
				margin:0 10px;
			}
			div.column4:nth-child(3){
				margin:0;
				margin-right: 20px
			}
			div.column4 img{
				width: 100%;
			}


			div.img_block{
				width: 100%;
				text-align: center;
			}


			
			.bg1{
				background: url(/images/contents_bg.png) center left ;
			}
			section{
				margin-top:40px;
				width: 100%;
				height: auto
				display: block;
				overflow: hidden;
				padding-bottom:40px;
			}
			span.indent{
				padding-left: 1em;
			}

/**/

table {
	width: 100%;
	border-collapse: collapse;
}
tr:first-child th {
	border-top: #b3b3b3 4px solid;
}
th {
	border-bottom: #e3e3e3 1px solid;
	border-right: #e3e3e3 1px solid;
	border-left: #e3e3e3 1px solid;
	text-align: left;
	background: #f7f7f7;
	padding: 10px 20px;
	font-weight: normal;
}
tr:first-child td {
	background: #f4fbff;
	border-top: #0583cb 4px solid;
}
td {
	background: #ffffff;
	border-bottom: #e3e3e3 1px solid;
	border-right: #e3e3e3 1px solid;
	text-align: left;
	padding: 10px 10px;
}

/**/
.btn {
    background: #FFFFFF;
    font-size: 1.2em;
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #2DB1FF;
    border: solid 2px #2DB1FF;
    border-radius: 3px;
    transition: .4s;
}

.btn:hover{
    background: #2DB1FF;
    color: white;
}

form span{
	color:red;
}

a.bnr1{
	display:block;
	width:100%;
	text-indent:-9999px;
	background:url(/images/bnr1.png);
	background-size:contain;
}

a.bnr1:hover{
	background:url(/images/bnr1_on.png);
	background-size:contain;
}

a.bnr2{
	display:block;
	width:100%;
	text-indent:-9999px;
	background:url(/images/bnr2.png);
	background-size:contain;
}

a.bnr2:hover{
	background:url(/images/bnr2_on.png);
	background-size:contain;
}

form input,
form textarea{
	padding: 1px 3px;
}
form label input{
	margin-right: 3px;
}
