@charset "utf-8";
@import url(http://fonts.googleapis.com/css?family=Open+Sans);

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	font-family: "Open Sans", YakuHanJP, "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
	vertical-align:baseline;
	background:transparent;
	list-style-type:none;
	font-size: 14px;
	font-weight:normal;
	font-style:normal;
	line-height: 1.6em;
	text-align:left;
	color: #333;
	margin:0;
	padding:0;
	border:0;
	outline:none;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-webkit-text-size-adjust: 100%
	max-height: 100%;
	-webkit-appearance: none;
	letter-spacing:0;
}

.aligncenter{
	text-align:center;
}

.alignright{
	text-align:right;
}

.sp{
	display:none;
}

img{
	display:block;
	width:100%;
}

a{
	text-decoration:none;
}

body{
	max-width:1440px;
	margin:auto;
	position:relative;
	z-index:+2;
}

header{
	width:100%;
	overflow:hidden;
	z-index:3;
	position:absolute;
	top:0;
	left:0;
}

header .header_inner{
	width:800px;
	margin:auto;
	overflow:hidden;
	position:relative;
}

header .header_inner h1{
	width:120px;
	position:absolute;
	left:0;
	top:0;
}

header .header_inner h1 img{
	margin-top:5px;
}

header .header_inner nav{
	width:calc(100% - 200px);
	float:right;
}

header .header_inner nav ul{
	text-align:right;
}

header .header_inner nav ul li{
	display:inline-block;
	vertical-align:top;
	margin-right:14px;
}

header .header_inner nav ul li a{
	display:block;
	padding:3px 15px;
	color:#2383C6;
	transition:all 0.4s;
	font-size:15px;
	text-align:center;
	line-height:1.6rem;
}

header .header_inner nav ul li a:hover{
	color:#B6DEF3;
}

header .header_inner nav ul li a.header_mail{
	color:#fff;
	background:#2383C6;
	padding-left:40px;
	position:relative;
	border-radius:0 0 10px 10px;
	border:solid 1px #fff;
	font-weight:700;
}

header .header_inner nav ul li a.header_mail:hover{
	opacity:0.8;
}

header .header_inner nav ul li a.header_mail img{
	position:absolute;
	left:11px;
	top:calc(50% - 7px);
	width:20px;
}

.firstview{
	overflow:hidden;
	position:relative;
	z-index:2;
	width:1000px;
	margin:auto;
}

.firstview .fv_wrapper .fv_inner {
	position:relative;
	width:100%;
}

.firstview .fv_wrapper .fv_inner img.firstview_img{
	width:100%;
	margin:auto;
}

.firstview h1 {
	position:relative;
	width:800px;
	margin:auto;
	margin-top:0;
}

.firstview h1 img{
	width:70%;
	float:right;
	margin-top:-90px;
	padding-bottom:30px;
}

#main{
	position:relative;
	z-index:1;
	overflow:hidden;
	width:1000px;
	margin:auto auto 80px;
}

#main .content_block{
	position:relative;
}

#main .content_block.about{
	margin-bottom:40px;
}

#main .content_block.about h2{
	color:#fff;
	width:75%;
	margin-left:26%;
	padding-left:15px;
	text-align:left;
	background:#00ABA7;
	font-size:20px;
	font-weight:bold;
	text-decoration:italic;
	position:relative;
	margin-bottom:30px;
}

#main .content_block.about h2::before{
	content:"";
	position:absolute;
	left:-8px;
	top:0;
	z-index:-1;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	border-top: 0;
	border-bottom: 32px solid #00ABA7;
}

#main .content_block.about p{
	width:75%;
	margin-left:25%;
	padding:0 100px 0 25px;
	font-size:14px;
}

#main .content_block.strong{
	background:#596164;
	padding:17px 0 25px;
	position:relative;
	border-bottom:solid 17px #231815;
}

#main .content_block.strong::before{
	content:"";
	width:100%;
	height:10px;
	position:absolute;
	left:0;
	top:0;
	background-image:
		linear-gradient(0deg, transparent 0 10px, #6d7577 10px),
		repeating-linear-gradient(135deg, #6d7577 0 1px, transparent 1px 10px);
}

#main .content_block.strong h2{
	width:30%;
	margin:20px auto 30px;
}

#main .content_block.menu .index_menu_wrapper,
#main .content_block.strong .strong_wrapper{
	overflow:hidden;
	position:relative;
	width:86%;
	margin:auto;
}

#main .content_block.menu .index_menu_wrapper .index_menu_left,
#main .content_block.menu .index_menu_wrapper .index_menu_right,
#main .content_block.strong .strong_wrapper .strong_left,
#main .content_block.strong .strong_wrapper .strong_right{
	width:50%;
	float:left;
	padding:20px 35px;
	position:relative;
}

#main .content_block.menu .index_menu_wrapper .index_menu_right,
#main .content_block.strong .strong_wrapper .strong_right{
	float:right;
}

#main .content_block.strong .strong_wrapper .strong_left::before{
	content:'';
	width:1px;
	height:100%;
	background:#fff;
	position:absolute;
	right:0;
	top:0;
}

#main .content_block.strong .strong_wrapper dl{
	text-align:center;
}

#main .content_block.strong .strong_wrapper dl dt{
	color:#D7E7AF;
	font-weight:700;
	font-size:18px;
	line-height:1.4rem;
	height:50px;
}

#main .content_block.strong .strong_wrapper dl dt span{
	color:#D7E7AF;
	font-weight:700;
	font-size:11px;
}

#main .content_block.strong .strong_wrapper dl dd{
	color:#fff;
	font-size:12px;
	margin-bottom:20px;
	height:100px;
}

#main .content_block.strong .strong_wrapper dl dd.strongPoint{
	text-align:left;
	border:solid 2px #D7E7AF;
	padding:10px 90px;
	position:relative;
	font-size:min(1.6vw , 16px);
	height:auto;
	margin:20px auto 0;
	display:inline-block;
}

#main .content_block.strong .strong_wrapper .strong_left dl dd.strongPoint{
	padding-top:21px;
	padding-bottom:21px;
}

#main .content_block.strong .strong_wrapper dl dd.strongPoint::before{
	content:"";
	position:absolute;
	left:calc(50% - 12px);
	top:-25px;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	border-bottom: 0;
	border-top: 10px solid #D7E7AF;
}

#main .content_block.menu{
	padding:98px 0 50px;
}

#main .content_block.menu .menu_back{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	z-index:-2;
}

#main .content_block.contact h2,
#main .content_block.todokede h2,
#main .content_block.flow h2,
#main .content_block.menu h2{
	color:#fff;
	width:70%;
	margin:auto;
	padding:3px 0 3px 10px;
	text-align:left;
	background:#596164;
	font-size:15px;
	font-weight:500;
	position:relative;
	margin-bottom:17px;
}

#main .content_block.contact h2::before,
#main .content_block.todokede h2::before,
#main .content_block.flow h2::before,
#main .content_block.menu h2::before{
	content:"";
	position:absolute;
	left:-8px;
	top:0;
	z-index:-1;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	border-top: 0;
	border-bottom: 30px solid #596164;
}


#main .content_block.menu .index_menu_wrapper{
	width:77%;
	margin:auto;
}

#main .content_block.menu .index_menu_wrapper .index_menu_left,
#main .content_block.menu .index_menu_wrapper .index_menu_right{
	padding:5px 25px 0;

}


#main .content_block.menu .index_menu_wrapper dl dt{
	font-weight:700;
	font-size:17px;
	line-height:1.6rem;
	color:#fff;
	position:relative;
	padding-left:5px;
	margin-left:10px;
	margin-bottom:5px;
	height:24px;
}

#main .content_block.menu .index_menu_wrapper dl dt::before{
	content:"";
	position:absolute;
	left:-8px;
	top:0;
	z-index:-1;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	border-top: 0;
}

#main .content_block.menu .index_menu_wrapper dl dt.dt1{
	background:#b6b1af;
}
#main .content_block.menu .index_menu_wrapper dl dt.dt1::before{
	border-bottom: 24px solid #b6b1af;
}

#main .content_block.menu .index_menu_wrapper dl dt.dt2{
	background:#adb5b9;
}
#main .content_block.menu .index_menu_wrapper dl dt.dt2::before{
	border-bottom: 24px solid #adb5b9;
}

#main .content_block.menu .index_menu_wrapper dl dt.dt3{
	background:#adb4aa;
}
#main .content_block.menu .index_menu_wrapper dl dt.dt3::before{
	border-bottom: 24px solid #adb4aa;
}

#main .content_block.menu .index_menu_wrapper dl dt.dt4{
	background:#beadb2;
}
#main .content_block.menu .index_menu_wrapper dl dt.dt4::before{
	border-bottom: 24px solid #beadb2;
}

#main .content_block.menu .index_menu_wrapper dl dt.dt5{
	background:#aca7b1;
}
#main .content_block.menu .index_menu_wrapper dl dt.dt5::before{
	border-bottom: 24px solid #aca7b1;
}

#main .content_block.menu .index_menu_wrapper dl dt.dt6{
	background:#beada4;
}
#main .content_block.menu .index_menu_wrapper dl dt.dt6::before{
	border-bottom: 24px solid #beada4;
}

#main .content_block.menu .index_menu_wrapper dl dd{
	font-size:12px;
	margin-bottom:25px;
	line-height:1.2rem;
	padding-left:3px;
}

#main .content_block.menu .index_menu_wrapper .index_menu_right::before{
	content:'';
	width:1px;
	height:100%;
	background:#000;
	position:absolute;
	left:0;
	top:0;
}

#main .content_block.todokede h2,
#main .content_block.flow h2{
	margin-bottom:50px;
}

#main .content_block.flow img.flow_img{
	width:55%;
	margin:10px auto 40px;
}

#main .content_block.todokede{
	text-align:center;
}

#main .content_block.todokede p{
	text-align:center;
	margin:0 auto 10px;
}

#main .content_block.todokede a.todokedeLink{
	padding:16px 40px;
	text-align:center;
	display:inline-block;
	width:auto;
	margin:10px auto 60px;
	border:solid 1px #ddd;
	background:#ddd;
	transition:all .5s;
	color:#333;
}

#main .content_block.todokede a.todokedeLink:hover{
	background:#fff;
}

footer{
	width:100%;
	border-top:solid 2px #596164;
	border-bottom:solid 2px #596164;
	padding:25px 0 30px;
	text-align:center;
	margin-bottom:10px;
}

footer .foot_logo{
	width:70px;
	display:inline-block;
	margin-right:10px;
}

footer .foot_info{
	display:inline-block;
}

footer .foot_info p{
	font-size:10px;
}

footer .foot_info h1{
	font-size:15px;
	border-bottom:solid 1px #596164;
}

footer .foot_info address{
	font-size:11px;
}

#main .content_block.contact{
	overflow:hidden;
	margin-top:80px;
}

#main .content_block.contact form table{
	width:70%;
	margin:20px auto;
}

#main .content_block.contact .fmPrivacyArea{
	height:10em;
	overflow:auto;
	width:590px;
	margin:20px auto;
	padding:20px;
	border:solid 1px #eee;
}

#main .content_block.contact form tr th,
#main .content_block.contact form tr td{
	border-bottom:solid 1px #eee;
}

#main .content_block.contact .fmPrivacyArea h2{
	background:none;
	text-align:center;
	color:#333;
	font-weight:500;
	font-size:16px;
}

#main .content_block.contact .fmPrivacyArea h3{
	font-weight:500;
	font-size:14px;
}

#main .content_block.contact .fmPrivacyArea dt{
	font-size:14px;
}


#main .content_block.contact .fmPrivacyArea dl{
	margin-bottom:30px;
}

#main .content_block.contact .fmPrivacyArea dd,
#main .content_block.contact .fmPrivacyArea p{
	font-size:11px;
	margin-bottom:15px;
}

#main .content_block.contact .fmPrivacyArea h2::before{
	content:none;
}

@media only screen and (max-width:999px) {
	.sp{
		display:block;
	}

	.pc{
		display:none;
	}

	.firstview,
	header .header_inner,
	.firstview h1,
	#main{
		width:100%;
	}

	.firstview h1{
		margin-bottom:30px;
	}
	
	.firstview h1 img{
		margin-top:-50px;
		margin-right:10%;
		width:50%;
	}
	
	header .header_inner nav{
		width:100%;
	}
	
	header .header_inner nav ul li{
		margin-right:10px;
	}
	
	header .header_inner nav ul li a{
		font-size:min(2.8vw,16px);
	}
	
	header .header_inner nav ul li a.header_mail{
		font-size:min(2.6vw,14px);
	}
	
	#main .content_block.about h2{
		width:80%;
		margin-left:20%;
		font-size:20px;
	}
	
	#main .content_block.about p{
		width:80%;
		margin-left:20%;
		padding-left:10px;
		padding-right:10px;
	}

	#main .content_block.menu .index_menu_wrapper .index_menu_left,
	#main .content_block.menu .index_menu_wrapper .index_menu_right,
	#main .content_block.strong .strong_wrapper .strong_left,
	#main .content_block.strong .strong_wrapper .strong_right{
		float:none;
		width:100%;
	}

	#main .content_block.strong .strong_wrapper .strong_left{
	margin-bottom:40px;
	}
	
	#main .content_block.strong .strong_wrapper .strong_left::before{
		width:30%;
		height:1px;
		background:#fff;
		left:35%;
		bottom:-10px;
		top:unset;
	}

	#main .content_block.strong .strong_wrapper .strong_left dt,
	#main .content_block.strong .strong_wrapper .strong_left dd,
	#main .content_block.strong .strong_wrapper .strong_right dd,
	#main .content_block.strong .strong_wrapper .strong_right dt{
		text-align:center;
		height:auto;
	}

	#main .content_block.strong .strong_wrapper .strong_left dd,
	#main .content_block.strong .strong_wrapper .strong_left dt,
	#main .content_block.strong .strong_wrapper .strong_right dt{
		margin-bottom:15px;
	}

	#main .content_block.strong .strong_wrapper .strong_right dd,
	#main .content_block.strong .strong_wrapper .strong_left dd{
		margin-bottom:40px;
	}
	
	#main .content_block.strong .strong_wrapper dl dd.strongPoint{
		width:80%;
		margin:auto auto 20px;
		text-align:left;
		font-size:14px;
		padding-left:23%;
		padding-right:0;
	}

	#main .content_block.strong .strong_wrapper .strong_left dl dd.strongPoint{
		text-align:center;
		padding-left:0;
		padding-right:0;
	}

	#main .content_block.strong::before{
		background-image:
			linear-gradient(0deg, transparent 0 10px, #fff 10px),
			repeating-linear-gradient(135deg, #fff 0 1px, transparent 1px 10px);
	}
	
	#main .content_block.strong h2{
		width:40%;
	}

	#main .content_block.menu .index_menu_wrapper .index_menu_right::before{
		content:none;
	}

	#main .content_block.flow h2,
	#main .content_block.menu h2{
		width:63%;
		margin-bottom:25px;
	}
	
	#main .content_block.menu .index_menu_wrapper{
		width:70%;
	}
	
	#main .content_block.menu .index_menu_wrapper dl dt{
		margin-left:0;
	}
	
	#main .content_block.menu .index_menu_wrapper .index_menu_right,
	#main .content_block.menu .index_menu_wrapper .index_menu_left{
		padding:5px 27px 5px 23px;
	}
	
	#main .content_block.menu .menu_back{
		height:100%;
		width:auto;
		left:50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#main .content_block.contact h2{
		width:90%;
		margin:10px auto 30px;
		font-size:15px;
	}
}
@media only screen and (max-width:550px) {
	.firstview h1 img{
		margin-top:-30px;
		padding-bottom:10px;
	}
	
	#main .content_block.about h2{
		width:90%;
		margin-left:10%;
		margin-bottom:15px;
		font-size:15px;
	}

	#main .content_block.about h2::before{
		border-bottom: 24px solid #00ABA7;
	}

	#main .content_block.about p{
		width:90%;
		margin-left:10%;
		padding-left:10px;
		padding-right:10px;
	}

	#main .content_block.flow h2,
	#main .content_block.menu h2{
		width:90%;
	}
	
	#main .content_block.flow img.flow_img,
	#main .content_block.menu .index_menu_wrapper{
		width:90%;
	}
	
	#main .content_block.strong .strong_wrapper .strong_right,
	#main .content_block.strong .strong_wrapper .strong_left,
	#main .content_block.menu .index_menu_wrapper .index_menu_right,
	#main .content_block.menu .index_menu_wrapper .index_menu_left{
		padding:5px 0 5px 8px;
	}

	#main .content_block.strong h2{
		width:60%;
	}

	#main .content_block.strong .strong_wrapper dl dd.strongPoint{
		width:90%;
		padding-left:25%;
	}

	footer .foot_logo{
		width:20%;
		min-width:70px;
		display:block;
		margin:10px auto;
	}

	footer .foot_info{
		display:block;
		width:90%;
		margin:10px auto;
	}

	footer .foot_info p{
		font-size:2.3vw;
	}

	footer .foot_info h1{
		font-size:3.2vw;
		border-bottom:solid 1px #596164;
	}

	footer .foot_info address{
		font-size:2.4vw;
	}
}