@charset "utf-8";

/* CSS Document */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);


/* ------------------------------------------
	reset
--------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, hr, 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, main, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after {
	content: "";
	content: none;
}

q:before, q:after {
	content: "";
	content: none;
}

abbr {
	text-decoration: none;
}

mark {
	background: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th {
	text-align: left;
}

img {
	vertical-align: top;
}

hr {
	height: 0;
}

html {
	font-size: 62.5%;
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

body {
	min-width: 1080px;
	font-size: 14px;
	line-height: 28px;
	font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Verdana, sans-serif;
	color: #333;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-break: break-all;
	letter-spacing: 1px;
	-webkit-font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

.pc-hide{
	display:none;
}


/* ------------------------------------------
	header
--------------------------------------------- */

.header {
	position: fixed;
	z-index: 3;
	width: 100%;
	left: 0;
	top: 0;
	padding: 15px 0;
	transition: all .8s 0s ease;
}

.header.bg_white {
	background:#000;
}

.header-inner {
	position: relative;
	width: 1200px;
	margin: 0 auto;
}

.header-inner nav .nav_inner {
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.header-inner nav ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 80px;
	position: relative;
}

.header-inner nav ul li a {
	font-size: 18px;
	font-weight:400;
	letter-spacing:2px;
	text-decoration: none;
	display: inline-block;
	color: #fff;
	position:relative;
	z-index:2;
}

.header-inner nav a {
	transition: all 0.3s ease 0s;
}


.header-inner nav a:hover {
	opacity:0.8;
}


/* ------------------------------------------
	footer
--------------------------------------------- */

.footer{
	color:#fff;
	line-height:2rem;
	text-align:center;
	padding:10px;
	font-size:1rem;
	background: #4bc0c8; /* Old browsers */
	background: -moz-linear-gradient(left, #4bc0c8 0%, #c779d0 50%, #feac5e 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #4bc0c8 0%,#c779d0 50%,#feac5e 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #4bc0c8 0%,#c779d0 50%,#feac5e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bc0c8', endColorstr='#feac5e',GradientType=1 ); /* IE6-9 */
}


/* ------------------------------------------
	mainVisual
--------------------------------------------- */

.mainVisual{
	width: 100%;
	height: 100vh;
	position: relative;
	top:0;
	left:0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mainVisual .text{
	color:#fff;
	font-weight:500;
	text-shadow:2px 4px 3px rgba(0,0,0,0.30);
}

.mainVisual .text .lead{
	font-size:32px;
	line-height:24px;
	padding-bottom:20px;
}

.mainVisual .text .copy{
	font-size:15px;
	line-height:32px;
}

.mainVisual .ca3-scroll-down-link {
	cursor: pointer;
	height: 60px;
	width: 80px;
	margin: 0px 0 0 -40px;
	line-height: 60px;
	position: absolute;
	left: 50%;
	bottom: 120px;
	color: #FFF;
	text-align: center;
	font-size: 70px;
	z-index: 100;
	text-decoration: none;
	text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.4);
	-webkit-animation: ca3_fade_move_down 2s ease-in-out infinite;
	-moz-animation: ca3_fade_move_down 2s ease-in-out infinite;
	animation: ca3_fade_move_down 2s ease-in-out infinite;
}

.mainVisual .ca3-scroll-down-arrow:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -28px;
	width: 32px;
	height: 32px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateY(-50%);
}

/*animated scroll arrow animation*/

@-webkit-keyframes ca3_fade_move_down {
	0%	 { -webkit-transform:translate(0,-20px); opacity: 0; }
	50%	{ opacity: 1;	}
	100% { -webkit-transform:translate(0,20px); opacity: 0; }
}

@-moz-keyframes ca3_fade_move_down {
	0%	 { -moz-transform:translate(0,-20px); opacity: 0; }
	50%	{ opacity: 1;	}
	100% { -moz-transform:translate(0,20px); opacity: 0; }
}

@keyframes ca3_fade_move_down {
	0%	 { transform:translate(0,-20px); opacity: 0; }
	50%	{ opacity: 1;	}
	100% { transform:translate(0,20px); opacity: 0; }
}


/* ------------------------------------------
	parallax
--------------------------------------------- */

.parallax {
	background-image: url(../img/mainvisual.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
}

.parallax.parallax_accent {
	background-image: url(../img/accent_img.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.parallax_photbox{
	height:200px;
}


/* ------------------------------------------
	section
--------------------------------------------- */

.section{
	padding:60px 40px;
	background:#fff;
}

.section + .section{
	margin-top:-60px;
}

.section .title-lv2{
	margin-bottom:40px;
	text-align:center;
	font-size:38px;
	letter-spacing: 8px;
	font-weight: 300;
}

.section .title-lv2 span{
	background-image: linear-gradient(to right, #4bc0c8 0%, #4bc0c8 0%, #4bc0c8 0%, #c779d0 33%, #feac5e 66%, #feac5e 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.section .lead{
	text-align:center;
	font-size:14px;
	line-height:30px;
	padding-bottom:40px;
}

.section .btn{
	background: #4C9207;
	border:1px solid #4C9207;
	border-radius: 5px;
	color: #fff;
	display: inline-block;
	font-size: 16px;
	letter-spacing: .5px;
	line-height: 1;
	min-width: 300px;
	padding: 20px 25px;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: all .5s 0s ease;
}

.section .btn::after {
	content: "";
	display: block;
	position: absolute;
	top: 49%;
	right: 18px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg) translateY(-50%);
	transition: all .5s 0s ease;
}

.section .btn:hover{
	/* opacity:0.8; */
	background: #fff;
	border:1px solid #fff;
	border-radius: 5px;
	color: #4C9207;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .5px;
	line-height: 1;
	min-width: 300px;
	padding: 20px 25px;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: all .5s 0s ease;
}

.section .btn:hover::after {
}


/* ------------------------------------------
	service
--------------------------------------------- */

#service{
}

#service .title-lv2{
	margin-bottom:60px;
}

#service .service_content{
	width:1200px;
	margin:0 auto;
	max-width:100%;
	background: url(../img/service_bg.jpg) no-repeat center;
	text-align:center;
	padding:60px 110px;
	color:#fff;
}

#service .service_content_inner .text{
	font-size:14px;
	line-height:30px;
	padding-bottom:50px;
}


/* ------------------------------------------
	principles
--------------------------------------------- */

#principles{
	text-align:center;
}


/* ------------------------------------------
profile, values
--------------------------------------------- */

#profile table, #values table{
	margin:0 auto;
}

#values table{
	text-align: center;
}

#profile table tr, #values table tr{
	border-bottom:1px solid #ddd;
}

#profile table tr:last-child, #values table tr:last-child{
	border-bottom:none;
}

#profile table th,#profile table td, #values table th,#values table td{
	padding:20px 0;
}

#profile table tr:first-child th,#profile table tr:first-child td, #values table tr:first-child th,#values table tr:first-child td{
	padding-top: 0;
}

#profile table th, #values table th{
	padding-right:75px ;
}


/* ------------------------------------------
map
--------------------------------------------- */

.map{
	background:#fff;
	position: relative;
	padding-bottom: 25%;
	height: 0;
	overflow: hidden;
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}


/* ------------------------------------------
	accordion
--------------------------------------------- */

.acMenu{
	pointer-events: none;
}

.acContent[style="display: none;"]{
	display:block !important;
}


/* ========================================================
	 for SP
===========================================================*/
@media screen and (max-width: 640px){

	body {
		min-width: 0;
		font-size: 12px;
		line-height: 20px;
		overflow-x:hidden;
	}

	.pc-hide{
		display:block;
	}

	.sp-hide{
		display:none;
	}


	/* ------------------------------------------
		header
	--------------------------------------------- */

	.header {
		height:60px;
		padding:0;
		background:#000;
	}


	.header-inner {
		position: relative;
		width: 100%;
		margin: 0 auto;
	}

	.header-inner nav ul {
		display: block;
		justify-content: center;
		align-items: left;
		height: auto;
		position: relative;
	}

	.header-inner nav ul {
		text-align: left;
	}

	.header-inner nav ul li.logo{
		display:none;
	}

	.header-inner nav ul li.logo:after {
		content: none;
	}

	.header-inner nav ul li a {
		display:block;
		color: #333;
		position:relative;
		z-index:2;
		font-size: 14px;
	}

	.header-inner .tel {
		color: #fff;
		border: 1px solid;
	}

	.header-inner > .logo{
		display:block;
		position: absolute;
		top: 15px;
		left: 20px;
	}

	.header-inner > .logo img{
		width:145px;
		height:auto;
	}


	/* ------------------------------------------
		footer
	--------------------------------------------- */

	.footer{
		padding:10px;
	}


	/* ------------------------------------------
		mainVisual
	--------------------------------------------- */

	.mainVisual{
		align-items: center;
		padding: 15px;
		text-align: center;
	}

	.mainVisual .text .lead {
		font-size: 16px;
		line-height: 24px;
		padding-bottom: 20px;
	}

	.mainVisual .text .copy {
		font-size: 12px;
		line-height: 18px;
	}


	/* ------------------------------------------
		section
	--------------------------------------------- */

	.section{
		padding:30px 15px;
	}

	.section + .section {
		margin-top: -30px;
	}

	.section .title-lv2{
		font-size: 22px;
		line-height: 28px;
		margin-bottom: 25px;
	}

	.section .lead{
		font-size:12px;
		line-height:24px;
		padding-bottom:20px;
	}

	.section .btn{
		max-width: 100%;
		min-width: 240px;
	}

	.section .btn::after {
	}

	.section .btn:hover{
	}

	.section .btn:hover::after {
	}


	/* ------------------------------------------
		service
	--------------------------------------------- */

	#service{
	}

	#service .title-lv2{
		margin-bottom:20px;
	}

	#service .service_content{
		width:100%;
		margin:0 auto;
		background-size: cover;
		padding:15px;
	}

	#service .service_content_inner .text{
		font-size:12px;
		line-height:26px;
		padding-bottom:20px;
	}


	/* ------------------------------------------
		principles
	--------------------------------------------- */

	#principles{
		text-align:center;
	}


	/* ------------------------------------------
		profile, values
	--------------------------------------------- */

	#profile table, #values table{
		margin:0 auto;
	}

	#values table{
		text-align: center;
	}

	#profile table tr, #values table tr{
		border-bottom:1px solid #ddd;
	}

	#profile table tr:last-child, #values table tr:last-child{
		border-bottom:none;
	}

	#profile table th,#profile table td, #values table th,#values table td{
		padding:10px 0;
	}

	#profile table th, #values table th{
		padding-right:20px ;
		white-space:nowrap;
	}


	/* ------------------------------------------
		map
	--------------------------------------------- */

	.map{
		background:#fff;
		position: relative;
		padding-bottom: 45%;
		height: 0;
		overflow: hidden;
	}

	.map iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100% !important;
		height: 100% !important;
	}


	/* ------------------------------------------
		accordion
	--------------------------------------------- */

	.acMenu{
		pointer-events: auto;
	}

	.acContent{
		display:none ;
	}

	.acContent[style="display: none;"]{
		display:none !important;
	}

}