	@charset "UTF-8";
	 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	general
	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
	.sp {
		display: none;
	}
	.clearfix:after{
		content: ".";
		display: block;
		height: 0;
		font-size: 0;
		clear: both;
		visibility: hidden;
	}
	.clearfix{
		display: block;
	}


	 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	common
	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
	html, body {
		height: 100%;
		-webkit-text-size-adjust: none;
	}
	#wrapper {
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		min-height: 100%;
		position: relative;
		padding-top: 150px;
		background-color: #f4f2ef;
	}
	a { color: #505050 }
	a > img {
		transition-duration: 0.3s;
		-o-transition-duration: 0.3s;
		-ms-transition-duration: 0.3s;
		-moz-transition-duration: 0.3s;
		-webkit-transition-duration: 0.3s;
	}
	a:hover > img {
		opacity: 0.6;
		filter: alpha(opacity=60);
	}
	.mail a:hover {
		background: url(../images/icon_mail_hover.png) no-repeat;
		background-size: 100%;
	}
	.mail a:hover > img { opacity: 0; }

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
	body {
		font-family: 'Source Han Sans JP', sans-serif;
		color: #505050;
	}
	.letter-spac {letter-spacing: 0.1em;}

	#contents {
		position: relative;
	}


	 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	header
	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
	#header {
		width: 100%;
		height: 150px;
		background-color: #60c1c0;
		z-index: 10;
		position: absolute;
		top: 0;
		left: 0;
	}
	.header_inner {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		padding-left: 50px;
		padding-right: 50px;
	}

	#header .header_logo {
		display: inline-block;
		width: 105px;
		height: 77px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	#header .header_logo a {
		display: inline-block;
		width: 100%;
		height: 100%;
	}
	#header .header_logo a img {
		vertical-align: middle;
	}
	#header .entry {
		vertical-align: middle;
	}
	#header .entry a {
		display: inline-block;
		background-color: #8cc63f;
		text-align: center;
	}
	#header .entry img {
		vertical-align: middle;
	}
	#header .close_area {display: none;}

	@media only screen and (min-width: 801px) {
		#header nav {
			position: absolute;
			top: 40px;
			left: 50px;
		}
		
		#header nav > ul {
			font-size: 0;
		}
		#header [class^=menu] {
			display: inline-block;
			vertical-align: top;
		}
		#header .menu03,
		#header .menu04 {
			display: none;
		}
		#header [class^=menu] > a {
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			display: inline-block;
			padding-top: 31px;
			width: 73px;
			position: relative;
		}
		#header .menu01 > a {
			width: 62px;
		}
		#header .menu01 > a:before,
		#header .menu02 > a:before {
			content: "";
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			height: 0;
			padding-top: 17.5px;
			display: inline-block;
			position: absolute;
			background-position: top center;
			background-size: 100%;
			background-repeat: no-repeat;
			top: 9px;
			left: 0;
			overflow: hidden;
		}
		#header .menu01:hover > a,
		#header .menu02:hover > a {
			border-top: 2px #e63650 solid;
		}
		#header .menu01 > a:before {
			width: 62px;
			background-image: url(../images/menu01.png);
		}
		#header .menu02 > a:before {
			width: 73px;
			background-image: url(../images/menu02.png);
		}
		#header .menu01:hover > a:before,
		#header .menu02:hover > a:before {
			background-position: bottom 2px center;
		}
		#header [class^=menu] > a > span {
			display: inline-block;
			position: relative;
			color: #f4f2ef;
			font-size: 12px;
		}
		#header [class^=menu]:hover > a > span {
			background-position: bottom;
			color: #e63650;
		}

		#header .mail {
			position: absolute;
			top: 50px;
			right: 50px;
		}

		#header .mail img {
			width: 23px;
		}
		
		#header [class^=menu] {
			margin-right: 22px;
		}
	}


	 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */



	 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	footer
	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
	footer {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		background-color: #60c1c0;
		padding-top: 40px;
		padding-bottom: 32px;
		padding-left: 20px;
		padding-right: 20px;
	}
	footer,
	footer a {
		color: #f4f2ef;
	}
	footer > div {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		min-height: 224px;
		padding-bottom: 51px;
	}
	footer .footer_logo {
		display: inline-block;
		float: left;
	}
	footer .arrow:before {
		content: "";
		display: inline-block;
		width: 10px;
		height: 10px;
		border-top: 1px #f4f2ef solid;
		border-right: 1px #f4f2ef solid;
		transform: rotate(45deg );
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		position: absolute;
		top: 5px;
		left: 0;
	}
	footer .ftr-inner {
		width: 960px;
		margin-left: auto;
		margin-right: auto;
	}
	footer .footer_logo + .ftr-inner {
		margin-top: 38px;	
	}
	footer .ftr {
		width: 650px;
		margin-left: auto;
		margin-right: 0;
		display: inline-block;
		float: right;
		font-size: 0;
	}
	footer .ftr > li {
		display: inline-block;
		vertical-align: top;
	}
	footer .ftr dl {
		display: table;
	}
	footer .ftr dt {
		width: 90px;
		padding-left: 22px;
		display: table-cell;
		position: relative;
	}
	footer .ftr dt a {
		font-size: 14px;
		font-weight: bold;
	}
	footer .ftr dd {
		display: table-cell;
		font-size: 14px;
		font-weight: bold;
	}
	footer .ftr dl:hover .arrow:before {
		border-top: 1px #e63650 solid;
		border-right: 1px #e63650 solid;
	}
	footer .ftr dl:hover dt a,
	footer .ftr dl:hover dd p > a,
	footer .ftr dl dd li:hover a {
		color: #e63650;
	}
	footer .ftr .company_name {
		font-size: 16px;
		font-weight: bold;
	}
	footer .ftr .address li {
		padding-left: 31px;
		background-position: top left;
		background-repeat: no-repeat;
		position: relative;
	}
	footer .ftr .address li:nth-of-type(1):before,
	footer .ftr .address li:nth-of-type(2):before,
	footer .ftr .address li:nth-of-type(3):before {
		content: "";
		display: inline-block;
		width: 25px;
		height: 0;
		padding-top: 32px;
		background-position: center;
		background-size: 100%;
		background-repeat: no-repeat;
		position: absolute;
		top: 0;
		left: 0;
	}
	footer .ftr .address li:nth-of-type(1):before {
		background-image: url(../images/ftr_icon01.png);
	}
	footer .ftr .address li:nth-of-type(2):before {
		background-image: url(../images/ftr_icon02.png);
	}
	footer .ftr .address li:nth-of-type(3):before {
		background-image: url(../images/ftr_icon03.png);
	}
	footer .ftr .address li p {
		font-size: 14px;
	}
	footer .ftr .address li p a {
		padding-left: 22px;	
		position: relative;
	}
	footer .ftr .address li p a:hover {
		color: #e63650;
	}
	footer .ftr .address li p .arrow:hover:before {
		border-top: 1px #e63650 solid;
		border-right: 1px #e63650 solid;
	}

	footer .ftr > li + li {
		margin-left: 70px;
	}
	footer .ftr > li li + li {
		margin-top: 3px;
	}
	footer .ftr > li > ul + p {
		margin-top: 21px;
	}
	footer .ftr > li > p + p {
		margin-top: 18px;
	}


	footer .ftr dl + dl {
		margin-top: 19px;
	}
	footer .ftr dd p + ul {
		margin-top: 6px;
	}

	footer .ftr .address p + ul {
		margin-top: 23px;
	}
	footer .ftr .address li + li {
		margin-top: 19px;	
	}

	footer .copyright {
		display: block;
		text-align: center;
	}


	 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	Responsive
	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */



	 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	SP
	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

	#header .open {display: none;}
	#header .close {display: none;}

	@media only screen and (max-width: 800px) {
		#wrapper {
			padding-top: 100px;
		}
		/*-----header-----*/
		#header {
			height: 100px;
			position: fixed;
		}
		#header .header_logo {
			width: 64px;
			height: 46px;
		}
		#header .header_logo a img {
			width: 64px !important;
			height: auto;
		}
		#header .title {
			width: 100%;
		}
		#header h1 {
			position: absolute;
			top: 13px;
			left: 62px;
		}

		#header .open {
			display: inline-block;
			height: 20px;
			line-height: 20px;
			position: absolute;
			top: 20px;
			right: 20px;
		}
		#header .open span {
			display: inline-block;
			font-size: 0;
			width: 20px;
			height: 20px;
			position: relative;
			vertical-align: middle;
			cursor: pointer;
		}
		#header .open span:before,
		#header .open span:after {
			content: "";
			display: block;
			width: 20px;
			height: 7px;
			border-bottom: 2px #f4f2ef solid;
		}
		#header .open span:before {
			border-top: 2px #f4f2ef solid;
			position: absolute;
			top: 0;
			left: 0;
		}
		#header .open span:after {
			position: absolute;
			bottom: 0;
			left: 0;
		}
		#header .close_area {display: none;}
		#header .close_area.active {display: block;}
		#header .close_area {
			width: 100vw;
			height: 100vh;
			font-size: 0;
			position: fixed;
			top: 0;
			left: 0;
		}
		#header nav {display: none;}
		#header nav.active {display: block;}
		#header nav {
			box-sizing: border-box;
			width: 175px;
			height: 100vh;
			padding-left: 12px;
			padding-top: 20px;
			background-color: #f4f2ef;
			box-shadow: -30px 0 50px 0px rgba(0,0,0,0.4);
			position: absolute;
			right: 0;
			overflow: scroll;
			z-index: 10;
		}
		#header nav.active .close {display: block;}
		#header .close {
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			width: 20px;
			height: 20px;
			font-size: 0;
			border: 2px #60c1c0 solid;
			position: fixed;
			top: 20px;
			right: 20px;
			cursor: pointer;
		}
		#header .close:before,
		#header .close:after {
			content: "";
			display: inline-block;
			background-color: #60c1c0;
			transform: rotate(45deg);
			-webkit-transform: rotate(45deg);
			-moz-transform: rotate(45deg);
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			left: 0;
			margin: auto;
		}
		#header .close:before {
			height: 14px;
			width: 2px;
		}
		#header .close:after {
			height: 2px;
			width: 14px;
		}

		#header .entry a {
			width: 95px;
			height: 46px;
			line-height: 46px;
		}
		#header nav > ul {
			margin-top: 30px;
		}
		#header [class^=menu] {
			padding-left: 20px;
		}
		#header [class^=menu] > a {
			position: relative;
			display: block;
		}
		#header [class^=menu] > a:before {
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 7px 0 7px 7px;
			border-color: transparent transparent transparent #60c1bf;
			position: absolute;
			top: 3px;
			left: -32px;
		}
		#header [class^=menu] > a > span {
			font-size: 14px;
			font-weight: bold;
			color: #60c1c0;
			display: inline-block;
			padding-top: 24px;	
		}
		#header [class^=menu] > a > span:before {
			content: "";
			display: inline-block;
			width: 73px;
			height: 18px;
			background-position: center;
			position: absolute;
			top: 0;
			left: 0;
			background-repeat: no-repeat;
			background-size: 100%;
		}
		#header .menu01 > a > span:before {
			background-image: url(../images/menu01_sp.png);
		}
		#header .menu02 > a > span:before {
			background-image: url(../images/menu02_sp.png);
		}
		#header .menu03 > a > span:before {
			background-image: url(../images/menu03_sp.png);
		}
		#header .menu04 > a > span:before {
			background-image: url(../images/menu04_sp.png);
		}
		#header .sab a {
			font-size: 12px;
			color: #60c1c0;
		}

		#header .entry + ul {
			margin-top: 14px;
			padding-bottom: 100px;
		}
		#header [class^=menu] + [class^=menu] {
			margin-top: 13px;
		}


		/*-----footer-----*/
		footer .copyright {
		}
		footer {
			width: 100%;
			padding-left: 30px;
			padding-right: 30px;
		}
		footer .ftr {
			width: 260px;
			margin-left: auto;
			margin-right: auto;
			float: none;
			display: block;
		}
		footer .ftr > li {
			display: block;
		}
		footer .ftr > li + li {
			margin-left: 0;
			margin-top: 38px;
		}

		footer .footer_logo {
			float: none;
			text-align: center;
			display: block;
		}
		footer .footer_logo img {
			display: inline-block;
			text-align: center;
			width: 151px !important;
		}
		footer .copyright {
			text-align: left;
		}

		footer .footer_logo + ul {
			margin-top: 39px;	
		}
		footer div + .copyright {
			margin-top: 35px;
		}
	}


	@media only screen and (max-width: 800px) {
		.pc {
			display: none !important;
		}
		.sp {
			display: block !important;
		}
		img.sp {
			display: inline-block !important;
		}


		#wrapper {
			width: 100%;
		}
		.inner {
			width: 100%;
		}

		footer > div {
			padding-bottom: 0;
		}

		footer .ftr-inner {
			width: 100%;
		}

		footer .copyright {
			font-size: 10px;
			padding-bottom: 18px;
		}


		/*-----#contents-----*/


	}

