@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/
/* for Scroll Fix Header */

header {
	background: url(../img/main_bg.jpg) center center no-repeat;
	background-size: cover;
	width:100%;
	height: 100vh;
	text-align: center;
}
header .header-wrap {
	width: 950px;
	margin: 0 auto;
	padding: 20px 0;
}

.main-menu .menu-btn {
	display: none;
}
.main-menu ul {
	padding:0;
	list-style: none;
}
.main-menu ul li {
	margin:10px 30px 10px 0;
}
.main-menu ul li a {
	padding-bottom: 5px;
	font-size: 1.7rem;
	letter-spacing: 2px;
}
.main-menu ul li a,
.main-menu ul li a:visited,
.main-menu ul li a:hover {
	position: relative;
	color: #fff;
	text-decoration: none;
}
.main-menu ul li a:hover:before {
	position: absolute;
	content: '';
	display: block;
	background: #fff;
	height: 1px;
	width: 100%;
	left: 0;
	bottom: 0;
}

.fix-header {
	background-color: rgba( 51, 51, 51, 0.6);
	top: -66px;
	left: 0;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	color: #fff;
	position: fixed;
	opacity:0;
	z-index: 9;
}

.fix-header-contents {
	width: 950px;
	margin: 0 auto;
	padding: 20px 0;
}
.fix-header ul {
	padding:0;
	list-style: none;
}
.fix-header ul li {
	margin:10px 30px 10px 0;
}
.fix-header ul li a {
	padding-bottom: 5px;
	font-size: 1.7rem;
	letter-spacing: 2px;
}
.fix-header ul li a,
.fix-header ul li a:visited,
.fix-header ul li a:hover {
	position: relative;
	color: #fff;
	text-decoration: none;
}
.fix-header ul li a:hover:before {
	position: absolute;
	content: '';
	display: block;
	background: #fff;
	height: 1px;
	width: 100%;
	left: 0;
	bottom: 0;
}

header .lead-text {
	position: absolute;
	top: 50%;
	left: calc(50% - 317px);
}


/* ----------------------------------------------------------------------------------------------------
*  footer
* --------------------------------------------------------------------------------------------------*/
footer {
	background: #5a9675;
	padding: 40px 0;
}
footer .footer-wrap {
	width: 950px;
	margin: 0 auto 65px;
}

footer .footer-wrap ul li {
	margin:10px 30px 10px 0;
}
footer .footer-wrap ul li a {
	padding-bottom: 5px;
	color: #fff;
	font-size: 1.7rem;
	letter-spacing: 2px;
}
footer .footer-wrap ul li a,
footer .footer-wrap ul li a:visited,
footer .footer-wrap ul li a:hover {
	position: relative;
	color: #fff;
	text-decoration: none;
}
footer .footer-wrap ul li a:hover:before {
	position: absolute;
	content: '';
	display: block;
	background: #fff;
	height: 1px;
	width: 100%;
	left: 0;
	bottom: 0;
}
footer small {
	display: block;
	color: #fff;
	text-align: center;
}
footer small span + span {
	margin-left: 3rem;
}

/* ----------------------------------------------------------------------------------------------------
*  main
* --------------------------------------------------------------------------------------------------*/
main {
	overflow: hidden;
}
main section {
	padding: 100px 0;
}
main section .contents-wrap {
	width: 870px;
	margin: 0 auto;
}
main section h2 {
	position: relative;
	margin-bottom: 45px;
	padding-bottom: 8px;
	color: #5a9675;
	font-size: 2.7rem;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 2px;
}
main section h2:before {
	position: absolute;
	content: '';
	display: block;
	background: #5a9675;
	height: 3px;
	width: 120px;
	left: calc( 50% - 60px);
	bottom: 0;
}
main section .lead-text {
	margin-bottom: 70px;
	line-height: 175%;
	text-align: center;
	font-weight: bold;
}

/* ----------------------------------------------------------------------------------------------------
*  business
* --------------------------------------------------------------------------------------------------*/
#business {
	background: #f2f2f2 url(../img/bg_business.png) right 10% bottom 0 no-repeat;
}
#business ul li {
	display: table;
	background: #5a9675;
	width: 215px;
	height: 215px;
	border-radius: 50%;
}
#business ul li p {
	display: table-cell;
	color: #fff;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
}

/* ----------------------------------------------------------------------------------------------------
*  access
* --------------------------------------------------------------------------------------------------*/
#access {
	padding: 0;
	line-height: 0;
}
#access iframe {
	width: 100%;
	height: 445px;
	border: 0;
}

/* ----------------------------------------------------------------------------------------------------
*  company
* --------------------------------------------------------------------------------------------------*/
main section#company .contents-wrap {
	width: 1000px;
}
#company dl dt p,
#company dl dd p {
	padding: .75rem 0;
	font-size: 1.7rem;
}
#company dl dt {
	float: left;
}
#company dl dd {
	padding-left: 130px;
}
#company dl dt p {
	font-weight: bold;
	color: #5a9675;
}

/* ----------------------------------------------------------------------------------------------------
*  SP
* --------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	/* -------------------------------------------------------------------------------------------------
	*  header
	* -----------------------------------------------------------------------------------------------*/
	header .header-wrap {
		width: 100%;
		padding: 0;
	}
	header .header-wrap .column {
		position: relative;
		padding: 15px 5%;
		z-index: 99;
		box-sizing: border-box;
	}
	.logo {
		width: 40vw;
	}
	.main-menu .menu-btn,
	.main-menu .menu-btn02 {
		position: relative;
		display: block;
		z-index: 100;
	}
	.menu-btn a,
	.menu-btn02 a {
		display: inline-block;
		text-decoration: none;
	}
	.btn-open:after {
		content: '';
		display: inline-block;
		width: 5vw;
		height: 5vw;
		vertical-align: middle;
		background: url(../img/sp/menu_open.png);
		background-size: 5vw 5vw;

		-webkit-transition: all .2s linear 0s;
		-moz-transition: all .2s linear 0s;
		-o-transition: all .2s linear 0s;
		transition-property: all .2s linear 0s;
	}
	.btn-close:after {
		content: '';
		display: inline-block;
		width: 5vw;
		height: 5vw;
		vertical-align: middle;
		background: url(../img/sp/menu_close.png);
		background-size: 5vw 5vw;

		-webkit-transition: all .2s linear 0s;
		-moz-transition: all .2s linear 0s;
		-o-transition: all .2s linear 0s;
		transition-property: all .2s linear 0s;
	}
	.overlay,
	.overlay02 {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		overflow: auto;
		width: 100%;
		height: 100%;
		background-color: rgba(21,28,21,0.8);
	}
	header .header-wrap .column .main-menu  ul {
		position: absolute;
		margin: 0;
		padding: 0;
		width: 100%;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
	}
	.main-menu  ul li {
		padding: 20px 0;
		list-style: none;
		text-align: center;
		text-transform: uppercase;
		float: none;
		margin-bottom: 50px;
		width: 100%;
	}
	.main-menu  ul li a {
		color: #fff;
		font-weight: bold;
		font-size: 20px;
	}
	.main-menu ul li a:before {
		position: absolute;
		content: '';
		display: block;
		background: #fff;
		height: 1px;
		width: 80%;
		left: 10%;
		bottom: 0;
	}
	.fix-header ul li a:hover:before {
		width: 80%;
		left: 10%;
	}
	.main-menu ul li a:hover:before {
		content: none;
	}

	header .header-wrap .column.fix-header-contents {
		width: 100%;
		padding: 15px 5%;
	}

	header .lead-text {
		width: 80%;
		left: 10%;
	}

	/* -------------------------------------------------------------------------------------------------
	*  footer
	* -----------------------------------------------------------------------------------------------*/
	footer {
		position: relative;
		padding: 25px 0;
	}
	footer .footer-wrap {
		width: 90%;
		margin-bottom: 3rem;
	}
	footer .footer-wrap .logo {
		width: 50vw;
		margin: 0 auto 20px;
		text-align: center;
	}
	footer .footer-wrap .column {
		flex-wrap: wrap;
		justify-content: center;
	}
	footer .footer-wrap ul li {
		width: 50%;
		margin: 10px 0;
		text-align: center;
	}
	footer small {
		font-size: 1rem;
	}

	footer .pagetop a {
		display: block;
		width: 100%;
		height: 100%;
	}
	footer .pagetop {
		position: absolute;
		display: inline-block;
		vertical-align: middle;
		text-decoration: none;
		font-size: 15px;
		background: #fff;
		width: 10vw;
		height: 10vw;
		bottom: 0;
		right: 0;
	}
	footer .pagetop span {
		position: relative;
	}
	footer .pagetop span::before {
		position: absolute;
		content: "";
		top: 4vw;
		left: 3vw;
		width: 4vw;
		height: 4vw;
		margin: auto;
		vertical-align: middle;
		border-top: 2px solid #7a0;
		border-right: 2px solid #7a0;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	/* -------------------------------------------------------------------------------------------------
	*  main
	* -----------------------------------------------------------------------------------------------*/
	main section {
		padding: 5rem 5%;
	}
	main section .contents-wrap {
		width: 100%;
		margin: 0 auto;
	}
	main section .lead-text {
		 margin-bottom: 3rem;
	 }

	/* -------------------------------------------------------------------------------------------------
	*  business
	* -----------------------------------------------------------------------------------------------*/
	#business {
		background: #f2f2f2 url(../img/sp/bg_business.png) right bottom no-repeat;
		background-size: 100%;
	}

	#business ul {
		flex-wrap: wrap;
		justify-content: space-around;
	}
	#business ul li {
		width: 38vw;
		height: 38vw;
	}
	#business ul li:first-of-type {
		order: 2;
	}
	#business ul li:nth-of-type(2) {
		margin: 0 20vw 2rem;
		order: 1;
	}
	#business ul li:nth-of-type(3) {
		order: 3;
	}

	/* -------------------------------------------------------------------------------------------------
	*  company
	* -----------------------------------------------------------------------------------------------*/
	main section#company .contents-wrap {
		width: 90%;
	}
	#company dl dd {
		margin-bottom: .5em;
		padding-left: 10rem;
	}
	#company dl dt p,
	#company dl dd p {
		padding: .5rem 0;
		font-size: 1.5rem;
	}
	#company dl dd p a {
		font-size: 1.5rem;
	}

	/* --------------------------------------------------------------------------------------------------*/
}