@charset "utf-8";



/* トップページ
-----------------------------------------------------------------------------------------*/
.index_box01 {
	letter-spacing: -0.5em;
	margin: 0 auto;
	padding: 0 0 80px 0;
	width:100%;
	max-width:1200px;
	text-align:center;
}
.index_box01 * {
	letter-spacing: normal;
}
.index_box01 article {
	display:inline-block;
	margin: 0;
	padding: 0 20px;
	width:calc(50% - 40px);
	vertical-align:top;
}
.index_box02 {
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 980px){
	.index_box01 {
		padding: 0;
	}
	.index_box01 article {
		margin-bottom:40px;
		width:calc(100% - 40px);
		max-width:660px;
	}
	.index_box02 {
		margin: 0;
		padding: 20px 0 0 0;
	}
}

#index01 {
	display:block;
	position:relative;
	margin: 0 auto;
	padding: 0;
	width:100%;
}
#index01 > p {
	margin: 0;
	padding: 0;
}
#index01 > p img {
	width:100%;
	height:auto;
}
#index01 div {
	position: absolute;
	bottom:0;
	z-index:2;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
	margin: 0;
	padding: 0;
	width:100%;
	height:240px;
}
#index01 div h2 {
	margin: 0;
	padding: 50px 20px 10px 20px;
	font-size:1.8em;
	line-height:160%;
	color:#ffffff;
	text-align:center;
}
#index01 div p {
	margin: 0;
	padding: 0;
	text-align:center;
}
@media screen and (max-width: 980px){
	#index01 > p {
		height:420px;
	}
	#index01 > p img {
		height:420px;
		object-fit: cover;
	}
	#index01 div {
		position: static;
		background:#ffffff;
		padding: 30px 0 20px 0;
		height:auto;
	}
	#index01 div h2 {
		padding: 0 20px 10px 20px;
		font-size:1.4em;
		line-height:140%;
		color:#000000;
	}
}

#index02 {
	display:block;
	background:#EFEFEF;
	margin: 0;
	padding: 20px;
	text-align:center;
}
#index02 > dl {
	display:inline-block;
	margin: 0;
	padding: 0;
	width:calc(100% - 170px);
	max-width:700px;
	vertical-align:middle;
}
#index02 > dl > dt {
	display:inline-block;
	margin: 0;
	padding: 0;
	width:100px;
	vertical-align:middle;
}
#index02 > dl > dd {
	display:inline-block;
	margin: 0 20px;
	padding: 0;
	max-width:calc(100% - 100px - 40px);
	vertical-align:middle;
}
#index02 > dl > dd a {
	color:#000000;
}
#index02 > dl > dd a:hover {
	color:#999999;
}
#index02 > dl > dd dl {
	display:inline-block;
	background:#ffffff;
	margin: 0;
	padding: 12px 20px;
	vertical-align:middle;
}
#index02 > dl > dd dl dt {
	display:inline-block;
	margin: 0;
	padding: 0;
	width:100px;
	text-align:left;
	vertical-align:middle;
}
#index02 > dl > dd dl dd {
	display:inline-block;
	margin: 0;
	padding: 0;
	width:calc(100% - 100px);
	line-height:160%;
	text-align:left;
	vertical-align:middle;
}
#index02 > p {
	display:inline-block;
	margin: 0;
	padding: 0;
	width:200px;
	vertical-align:middle;
}
#index02 > p a {
	margin:0;
	width:100%;
}
@media screen and (max-width: 980px){
	#index02 {
		margin: 0 0 40px 0;
	}
	#index02 > dl {
		display:block;
		margin-bottom:20px;
		width:100%;
		max-width:none;
	}
	#index02 > dl > dt {
		display:block;
		margin-bottom:10px;
		width:100%;
	}
	#index02 > dl > dd {
		display:block;
		margin: 0 auto;
		width:100%;
		max-width:660px;
	}
	#index02 > dl > dd dl {
		padding: 20px;
	}
	#index02 > dl > dd dl dt {
		display:block;
		margin-bottom:10px;
		width:100%;
		text-align:center;
	}
	#index02 > dl > dd dl dd {
		display:block;
		width:100%;
	}
}

#index03 p.image,
#index04 p.image {
	margin: 0;
	padding: 0;
}
#index03 p.image img,
#index04 p.image img {
	margin: 0 auto 40px auto;
	padding: 0;
	max-width:100%;
	height:auto;
}
#index03 p.text,
#index04 p.text {
	margin: 50px auto 0 auto;
	padding: 0;
	max-width:460px;
	font-size:1.1em;
	line-height:200%;
	text-align:left;
}
#index03 p.button,
#index04 p.button {
	margin: 40px 0 0 0;
	padding: 0;
	text-align:center;
}
@media screen and (max-width: 980px){
	#index03 p.image img,
	#index04 p.image img {
		margin: 0 auto 30px auto;
	}
	#index03 p.image img {
		max-width:260px;
	}
	#index03 p.text,
	#index04 p.text {
		margin: 20px auto 0 auto;
		font-size:1.0em;
		line-height:160%;
	}
	#index03 p.button,
	#index04 p.button {
		margin: 20px 0 0 0;
	}
}

#index05 dl,
#index06 dl {
	margin: 0;
	padding: 0;
}
#index05 dl dt,
#index06 dl dt {
	margin: 0 0 20px 0;
	padding: 0;
}
#index05 dl dt:after,
#index06 dl dt:after {
	content : "";
	display : block;
	height : 0;
	clear : both;
}
#index05 dl dt span,
#index06 dl dt span {
	display:inline-block;
	margin: 0;
	font-size:1.6em;
	line-height:100%;
	font-weight:bold;
	float:left;
}
#index05 dl dt span {
	background: url(../IMAGES/index_people.svg) left center no-repeat;
	padding: 10px 0 10px 40px;
}
#index06 dl dt span {
	background: url(../IMAGES/index_know.svg) left center no-repeat;
	padding: 10px 0 10px 60px;
}
#index05 dl dt p,
#index06 dl dt p {
	margin:0;
	padding:0;
	float:right;
}
#index05 dl dt a,
#index06 dl dt a {
	margin:0;
}
#index05 dl dd,
#index06 dl dd {
	margin: 0;
	padding: 0;
}

#index05 dl dd ul,
#index06 dl dd ul {
	letter-spacing: -0.5em;
	margin: 0;
	padding: 0;
	width:100%;
	text-align:left;
	list-style:none;
}
#index05 dl dd ul *,
#index06 dl dd ul * {
	letter-spacing: normal;
}
#index05 dl dd ul > li,
#index06 dl dd ul > li {
	display:inline-block;
	margin: 0 0 30px 40px;
	padding: 0;
	width:calc((100% - 40px) / 2);
	vertical-align:top;
}
#index05 dl dd ul > li:first-child,
#index06 dl dd ul > li:first-child {
	margin: 0 0 30px 0;
}
#index05 dl dd ul > li a,
#index06 dl dd ul > li a {
	display:block;
}
#index05 dl dd ul > li a img,
#index06 dl dd ul > li a img {
	width:100%;
	height:auto;
}
#index05 dl dd ul > li a:hover img,
#index06 dl dd ul > li a:hover img {
	opacity:0.6;
}
#index05 dl dd ul > li a p,
#index06 dl dd ul > li a p {
	margin: 0;
	padding: 0 0 8px 0;
}
#index05 dl dd ul > li a strong,
#index06 dl dd ul > li a strong {
	line-height:160%;
	color:#000000;
}
@media screen and (max-width: 400px){
	#index05 dl,
	#index06 dl {
		position:relative;
		margin: 0 0 20px 0;
		padding: 0 0 30px 0;
	}
	#index05 dl dt,
	#index06 dl dt {
		margin: 0 0 20px 0;
		padding: 0;
		text-align:center;
	}
	#index05 dl dt span,
	#index06 dl dt span {
		float:none;
	}
	#index05 dl dt p,
	#index06 dl dt p {
		position:absolute;
		bottom:0;
		width:100%;
		text-align:center;
		float:none;
	}
	#index05 dl dd ul,
	#index06 dl dd ul {
		margin: 0 0 40px 0;
		padding: 0;
	}
	#index05 dl dd ul > li,
	#index06 dl dd ul > li {
		display:block;
		width:100%;
	}
	#index05 dl dd ul > li:last-child,
	#index06 dl dd ul > li:last-child {
		display:none;
	}
	#index05 dl dd ul > li:first-child,
	#index06 dl dd ul > li:first-child {
		margin: 0 0 10px 0;
	}
}


#index07,
#index08,
#index09 {
	letter-spacing: -0.5em;
	display:block;
	margin: 0;
	padding: 0;
	width:100%;
}
#index07 *,
#index08 *,
#index09 * {
	letter-spacing: normal;
}
#index07 > p,
#index08 > p,
#index09 > p {
	display:inline-block;
	margin: 0;
	padding: 0;
	width:50%;
	vertical-align:middle;
}
#index07 > p img,
#index08 > p img,
#index09 > p img {
	width:100%;
	height:auto;
}
#index07 dl,
#index08 dl,
#index09 dl {
	display:inline-block;
	margin: 0;
	padding: 0 60px;
	width:calc(50% - 120px);
	vertical-align:middle;
}
#index07 dl dt,
#index08 dl dt,
#index09 dl dt {
	margin: 0 0 40px 0;
	padding: 0;
	font-size:1.6em;
	font-weight:bold;
	line-height:180%;
}
#index07 dl dd,
#index08 dl dd,
#index09 dl dd {
	margin: 0;
	padding: 0;
	line-height:180%;
}
#index07 dl dd p,
#index08 dl dd p,
#index09 dl dd p {
	margin: 20px 0 0 0;
	padding: 0;
}
@media screen and (max-width: 980px){
	#index07,
	#index08,
	#index09 {
		display:block;
		margin: 0 auto;
		padding: 0 20px;
		width:calc(100% - 40px);
		max-width:660px;
	}
	#index07 > p,
	#index08 > p,
	#index09 > p {
		display:block;
		width:100%;
	}
	#index07 dl,
	#index08 dl,
	#index09 dl {
		display:block;
		padding: 0 0 20px 0;
		width:100%;
	}
	#index07 dl dt,
	#index08 dl dt,
	#index09 dl dt {
		margin: 10px 0 0 0;
		font-size:1.0em;
		line-height:140%;
	}
	#index07 dl dd,
	#index08 dl dd,
	#index09 dl dd {
		display:none;
	}
}
