/*===== CSS RESET =====*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,img,ins,kbd,q,s,samp,strike,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,input,textarea,select{outline:none;border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}.clear{clear:both}.clearfix{display:inline-block}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;line-height:0;font-size:0}* html .clearfix{height:1%}.clearfix{display:block}p,li,td{background:url('')}
ul, ol {list-style: none;}
*,
*:before,
*:after{
	margin: 0;
	padding: 0;
}

body{
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size:15px;
	border-top:solid 8px #00b5ec;
	width:100%;
	min-width:1024px;
}


/*------------------------------------*/
/*HEADER
/*------------------------------------*/
header{
	vertical-align: middle;
	width:1024px;
	min-width: 1024px;
	margin:0 auto;
	padding: 10px 0;
}
header:after {
    content:" ";
    display:block;
    clear:both;
}
	header h1 {
		float:left;
		height:100px;
		vertical-align: middle;
		font-size:0;
		display: table;
		table-layout: fixed;
		
	}
		header h1 span{
			display:inline-block;
			position:relative;
			/*top:50%;*/
			/*transform:translateY(-50%);*/
			margin-left:20px;
			display: table-cell;
  			text-align: center;
		}
		header h1 span.text{
			color:#00b5ec;
			font-size:18px;
			font-weight:bold;
			vertical-align: middle;
			padding: 15px;;
			/*transform:translateY(-100%);*/
			height: auto;
		}
		header h1 span.logo{
			vertical-align: middle;
			height: auto;
		}
	header div{
		float:right;
		padding:31px 0;
		font-size:0;
	}
		header div a{
			display:inline-block;
			width:190px;
			height:38px;
			border-radius: 3px;
			font-size:14px;
			font-weight: bold;
			text-decoration: none;
			text-align: center;
			vertical-align: middle;
			border-collapse: separate;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			line-height:38px;
			transition: 0.3s;
		}
		header div a:hover{
			opacity: 0.8;
		}
		header div a.entry{
			color:#fff;
			background-color:#f67e28;
			box-shadow:0px 2px 0px 0px #db7125;
			-moz-box-shadow:0px 2px 0px 0px #db7125;
			-webkit-box-shadow:0px 2px 0px 0px #db7125;
			margin-right:20px;
		}
		header div a.website{
			color:#f67e28;
			background-color:#fff;
			border:1px solid #db7125;
			box-shadow:0px 2px 0px 0px #db7125;
			-moz-box-shadow:0px 2px 0px 0px #db7125;
			-webkit-box-shadow:0px 2px 0px 0px #db7125;
		}

/*------------------------------------*/
/*NAVIGATION
/*------------------------------------*/
body > nav{
	background-color: #f0fbfe;
	height:60px;
	width:100%;
}
	body > nav ul{
		width:1024px;
		margin:0 auto;
	}
	body > nav li{
		float:left;
		width:33%;
	}
	body > nav li a{
		display:block;
		width:100%;
		height:60px;
		text-align: center;
		line-height: 60px;
		font-size:18px;
		color:black;
		font-weight:bold;
		text-decoration: none;
	}
	body > nav li a:hover{
		text-decoration: underline;
	}


/*------------------------------------*/
/*COMMON
/*------------------------------------*/
.title-area{
	margin: 0 auto 60px;
	width: 900px;
	text-align: center;
	color:#00b5ec;
	position: relative;
}
	 .title-area .title-main{
		margin: 0px 0 15px 0;
	    font-size: 40px;
	    font-weight:bold;
	    position: relative;
	    line-height:1em;
	 }
	.title-area .border {
	    display: block;
	    margin:0 auto 15px;
	    width: 40px;
	    height: 5px;
	    background: #00b5ec;
	}
	.title-area .title-sub{
		font-size: 18px;
		font-weight: bold;
		line-height:1.5em;
	}

h3{
	text-align: center;
	font-family:"メイリオ", sans-serif;
	font-size:28px;
	font-weight: lighter;
	line-height:1.8em;
	margin-bottom:49px;
}
	h3 .sp_br{
		display:none;
	}

section{
	width:1024px;
	margin:0 auto;
}
section p{
	width:760px;
	margin:0 auto;
	letter-spacing: 1px;
}

.content-wrapper{
	width:900px;
	margin:0 auto;
	padding:60px 0 60px;
	background-color: white;
}
.pagetop{
	position: fixed;
	width:60px;
	height:60px;
	right:45px;
	bottom:45px;
	/*margin-left:450px;*/
	display:block;
	background-color:#00b5ec;
	text-align: center;
}
.pagetop:hover{
	opacity: 0.8;
}
.pagetop span.triangle{
	display: inline-block;
	position:absolute;
	top:40%;
	left:50%;
	transform:translateY(-50%) translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 16.5px 16px 16.5px;
	border-color: transparent transparent #ffffff transparent;
}
.pagetop span.line{
	display:block;
	position: absolute;
	top:60%;
	left:50%;
	transform:translateX(-50%);
	height:4px;
	width:33px;
	background-color:#fff;
}

/**************************************/

#sec1{
	width:100%;
	text-align: center;
	font-size: 0;
	margin-bottom:20px;
}

.about-us{
	padding:0 0 50px;
	background-color: white;
}
#sec2{
	width:100%;
	min-width: 1024px;
	background-color: #f0fbfe;
	padding:80px 0;
}

/*------------------------------------*/
/*patternA
/*------------------------------------*/
.patternA img{
	display:block;
	width:800px;
	margin:60px auto 0;
}

/*------------------------------------*/
/*patternB
/*------------------------------------*/
.patternB .column-2-img{
	width:800px;
	margin:60px auto 50px;
	font-size:0;
	text-align: center;
}
.patternB .column-2-img figure{
		display:inline-block;
}
.patternB .column-2-img figure:first-child{
		margin-right:20px;
}


/*------------------------------------*/
/*patternC
/*------------------------------------*/
.patternC .profile{
	width:800px;
	margin:0 auto 60px;
}
.patternC .profile:after {
    content:" ";
    display:block;
    clear:both;
}
	.patternC .profile .photo{
		float:left;
		width:360px;
		margin-right:40px;
		font-size:0;
	}
		.patternC .profile .photo img{
			width:100%;
		}
	.patternC .profile > div{
		width:400px;
		float:right;
	}
		.patternC .profile > div h3{
			text-align: left;
			line-height:1.5em;
		}
		.patternC .profile > div p{
			width:100%;
		}
		.patternC .profile > div .division{
			font-size:14px;
			line-height:1.5em;
			margin-bottom:12px;
		}
		.patternC .profile > div .name{
			font-size:24px;
			line-height:1.5em;
		}
.patternC .content-wrapper > p{
	width:800px;
	margin-bottom:50px;
}
}


/*------------------------------------*/
/*FOOTER
/*------------------------------------*/
footer{
	width:100%;
	min-width:1024px;
}
	footer .link{
		background-color:#f0fbfe;
		padding:60px;
		text-align: center;
		font-size:0;
		vertical-align: top;
	}
		footer .link a{
			display:inline-block;
			width:300px;
			height:60px;
			text-align: center;
			font-size:22px;
			line-height: 60px;
			border-radius: 3px;
			text-decoration:none;
			transition: 0.3s;
			font-weight:bold;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			vertical-align: top;
		}
		footer .link a:hover{
			opacity: 0.8;
		}
		footer .link a.entry{
			color:#fff;
			background-color:#f67e28;
			box-shadow:0px 3px 0px 0px #db7125;
			-moz-box-shadow:0px 3px 0px 0px #db7125;
			-webkit-box-shadow:0px 3px 0px 0px #db7125;
			margin-right:20px;
		}
		footer .link a.website{
			color:#f67e28;
			background-color:#fff;
			border:1px solid #db7125;
			box-shadow:0px 3px 0px 0px #db7125;
			-moz-box-shadow:0px 3px 0px 0px #db7125;
			-webkit-box-shadow:0px 3px 0px 0px #db7125;
		}
	footer nav{
		width:1024px;
		margin:0 auto;
		height:80px;
	}
	footer nav p{
		float:left;
		height:80px;
		line-height:80px;
		font-size:16px;
		font-weight:bold;
	}
	footer nav p span{
		color:#6a6a6a;
	}
	footer nav ul{
		float:right;
		margin-right:130px;
		font-size: 0;
	}
		footer nav ul li{
			display: inline-block;
			margin-right:30px;
		}
		footer nav ul li:last-child{
			margin-right:0;
		}
			footer nav ul li a{
				display:block;
				height:80px;
				line-height:80px;
				font-size:16px;
				color:#000;
				font-weight:bold;
				text-decoration: none;
			}
			footer nav ul li a:hover{
				text-decoration: underline;
			}

	footer p.copyright{
		clear:both;
		display:block;
		width:100%;
		padding:8px 0 8px 0;
		font-size:12px;
		font-weight:bold;
		color:white;
		background-color: #00b5ec;
		text-align: center;
	}



/*------------------------------------*/
/*SP
/*------------------------------------*/
@media screen and (max-width:600px){

	body{
		width:100%;
		min-width:auto;
	}

	/*------------------------------------*/
	/*HEADER
	/*------------------------------------*/
	header{
		width:100%;
		min-width: 100%;
	}
		header h1 {
			float:none;
			height:auto;
			vertical-align: middle;
			font-size:0;
			padding:18px;
			text-align: center;
		}
			header h1 span{
				display:inline-block;
				position:relative;
				top:auto;
				transform:none;
				margin-left:0;
				vertical-align: middle;
			}
			header h1 span.logo{
				width:130px;
				/*margin-right:20px;*/
			}
			header h1 span.logo img{
				width:100%;
			}
			header h1 span.text{
				color:#00b5ec;
				font-size:16px;
				font-weight:bold;
				transform:none;
				line-height: 1em;
				margin-top:2px;
				letter-spacing: 2px;
				vertical-align: middle;
			}
		header div{
			display:none;
		}
		header.fixed{
			margin-bottom:50px;
		}

	/*------------------------------------*/
	/*NAVIGATION
	/*------------------------------------*/
	body > nav{
		background-color: #f0fbfe;
		height:50px;
		width:100%;
	}
		body > nav ul{
			width:100%;
			margin:0 auto;
		}
		body > nav li{
			float:left;
			width:33%;
			border-right:2px solid #fff;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
		}
		body > nav li:last-child{
			border-right:0;
		}
		body > nav li a{
			display:block;
			width:100%;
			height:50px;
			text-align: center;
			line-height: 50px;
			font-size:12px;
			color:black;
			font-weight:bold;
			text-decoration: none;
		}
		
		body > nav li a:hover{
			text-decoration: underline;
		}
		
		body > nav.fixed {
			position: fixed;
			top: 0;
			width: 100%;
			z-index: 10000;
		}

	/*------------------------------------*/
	/*COMMON
	/*------------------------------------*/
	.title-area{
		width:100%;
	    margin: 0px auto 40px;
	}
		.title-area .title-main {
			font-size:28px;
			margin: 0px 0 15px 0;
		}
		.title-area .border {
			width:30px;
			margin: 0 auto 13px;
		}
		.title-area .title-sub {
			padding-top:0;
			font-size:14px;
		}
	section{
		width:100%;
		min-width:auto;
	}
	section:not(#sec1){
		padding:35px 20px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
		section p {
			width:100%;
			font-size:16px;
			line-height:1.8em;
		}
	.content-wrapper{
		width:100%;
		padding:0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	h3{
		font-size:21px;
		line-height:1.4em;
		text-align: center;
		margin-bottom: 25px;
	}
		h3 .sp_br{
			display:block;
		}
		/*h3 br{
			display:none;
		}*/

	.pagetop{
		width:30px;
		height:30px;
		right:10px;
		bottom:75px;
		display:block;
		background-color:#00b5ec;
		text-align: center;
	}
	.pagetop:hover{
		opacity: 0.8;
	}
		.pagetop span.triangle{
			display: inline-block;
			position:absolute;
			top:40%;
			left:50%;
			transform:translateY(-50%) translateX(-50%);
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 10px 9px 10px;
			border-color: transparent transparent #ffffff transparent;
		}
		.pagetop span.line{
			display:block;
			position: absolute;
			top:65%;
			left:50%;
			transform:translateX(-50%);
			height:2px;
			width:20px;
			background-color:#fff;
		}

	#sec1{
		margin-bottom:0;
	}
	#sec1 img{
			width:100%;
		}

	section#sec2{
		width:100%;
		min-width: auto;
		padding:35px 10px;
	}
		section#sec2 .content-wrapper{
			padding:35px 20px;
		}

		#sec3 .content-wrapper > p {
		width:100%;
		margin-bottom:0;
	}


	/*------------------------------------*/
	/*patternA
	/*------------------------------------*/
	
		.patternA img{
			width:100%;
		}
		.content-wrapper img{
		width:100%;
		margin: 30px auto 0px;
	}

	/*------------------------------------*/
	/*patternB
	/*------------------------------------*/
	
		.patternB .column-2-img{
			width:100%;
			margin: 30px auto 0;
		}
		.patternB .column-2-img img{
			width:100%;
		}
		.patternB .column-2-img figure:first-child {
			margin:0 0 15px 0;
		}


	/*------------------------------------*/
	/*patternC
	/*------------------------------------*/
	
	.patternC .profile{
		width:100%;
	    margin: 0px auto 20px;
	}
		.patternC .profile .photo{
			float: none;
			width:100%;
			margin-bottom:20px;
		}
			.patternC .profile > div{
				float:none;
				width:100%;
			}
				.patternC .profile > div h3 {
					text-align: center;
					margin-bottom:15px;
				}
				.patternC .profile > div .division {
					font-size:16px;
					margin-bottom:8px;
				}
				.patternC .profile > div .name {
					font-size:20px;
					font-weight: bold;
				}
	


	/*------------------------------------*/
	/*FOOTER
	/*------------------------------------*/
	footer {
		min-width:auto;
	}
		footer .link {
			padding:10px 0;
			font-size:0;
			text-align: center;
			width:100%;
			display:none;
		}
		footer .link.fixed{
			position:fixed;
			bottom:0;
			left:0;
		}
			footer .link a {
				width:170px;
				height:45px;
				line-height:45px;
				font-size:18px;
			}
			footer .link a.entry {
				margin-right:7px;
			}
		footer nav {
			width:100%;
			height:auto;
		}
			footer nav p {
				float:none;
				height:auto;
				text-align: center;
				line-height:1em;
				font-size:14px;
				padding:15px 0;
			}
			footer nav ul {
				display:none;
			}
		footer p.copyright {
			padding:3px 0;
		}
}

@media screen and (max-width:375px){
	header h1{
		padding:18px 10px;
	}
		header h1 span.logo{
			width:140px;
		}
		header h1 span.text{
			font-size:14px;
		}
	footer .link a {
		width:40%;
	}
}