@charset "utf-8";
/* CSS Document */

/* --------------------------------------------------------------
HOMEPAGE
-------------------------------------------------------------- */
section {
	text-align: center;
	margin-top: 150px;
	position:relative;
	opacity: 0;
	top: 150px;
}

section:first-child {
	margin-top: 0;
}

section > *:last-child {
	margin-bottom: 0;
}

p.btn {
	width: 168px;
	margin: 0 auto 50px;
}

p.btn a {
	border: 2px solid #29abe2;
	font-size: 1.6rem;
	color: #29abe2;
	text-indent: 0.2em;
	text-decoration: none;
	text-align: center;
	padding: 5px;
	display: block;
}

p.btn a:hover {
	background-color: #29abe2;
	color: #fff;
}


/*__________ TAB-SP __________*/
@media screen and (max-width: 959px) {}


/*__________ TAB __________*/
@media screen and (max-width: 959px) and (min-width: 768px) {}


/*__________ SP __________*/
@media screen and (max-width: 767px) {

	section {
		margin-top: 100px;
	}

}


/* --------------------------------------------------------------
-------------------------------------------------------------- */
#mainVisual {
	border-bottom: 2px solid #fff;
	position: relative;
	min-height: 100dvh;
	overflow: hidden;
}

#mainVisual video#mainMv {
	width: 100%;
	height: 100dvh;
	object-fit: cover;
	display: block;
}

#homeContentsArea {
	width: 866px;
	margin: 0 auto;
	padding: 150px 10px;
	letter-spacing: 0.2em;
}

#banner {
	text-align: center;
}

#banner + section {
	margin-top: 100px;
}

#banner img.bnrIg {
	width: 530px;
}

#homeLead {
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	line-height: 2.3;
	padding: 150px 0;
}

#homeLead h2 {
	margin-bottom: 100px;
}

#homePhilosophy {
	background: url("../images/home/bgPhilosophy.svg") #29abe2 no-repeat top 75px right 0 / 272px 56px;
	border-radius: 30px;
	padding: 60px;
	font-size: 2.0rem;
	line-height: 2;
	color: #fff;
	text-align: left;
}

#homePhilosophy h2 {
	font-size: 3.6rem;
	line-height: 1.8;
	color: #fff;
	text-align: left;
}


/*__________ TAB-SP __________*/
@media screen and (max-width: 959px) {

	#homeContentsArea {
		width: auto;
		min-width: 320px;
		max-width: 678px;
		padding: 100px 10px;
	}

}


/*__________ TAB __________*/
@media screen and (max-width: 959px) and (min-width: 768px) {}


/*__________ SP __________*/
@media screen and (max-width: 767px) {

	#homeLead {
		padding: 100px 0;
		font-size: 1.4rem;
	}

	#homeLead h2 {
		margin-bottom: 50px;
	}

	#homePhilosophy {
		background-position: top 38px right 0;
		background-size: 165px 34px;
		padding: 100px 40px 40px;
		font-size: 1.8rem;
	}

	#homePhilosophy h2 {
		font-size: 2.2rem;
	}

}