@charset "UTF-8";
/* CSS Document */


/* ----------------------------------------------
	トップ概要
------------------------------------------------- */
#strengths {}
#strengths::after {
	/*background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4)), url("../images/img_main.jpg");*/
	background-image: url("../images/img_main.jpg");
}
#strengths .stageWrap {
	display: grid;
	place-items: center;
}
#strengths .stageWrap h2 {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	line-height: 1em;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
#strengths .stageWrap h2::after {
	content: "";
	background-color: #016f9c;
	display: block;
	height: 5px;
	width: 1.5em;
	margin: 10px auto 0;
	border-radius: 5px;
}
#strengths .stageWrap > p {
	position: absolute;
	z-index: 10;
	color: #fff;
	font-weight: bold;
	font-family: "Vollkorn", serif;
	text-stroke: 1px #F8F8F8;
	-webkit-text-stroke: 1px #F8F8F8;
	text-shadow: 0px 1px 4px #083b50;
}
#strengths .stageWrap .strengths_in p:first-of-type {
	padding-bottom: 20px;
}
#strengths .stageWrap .strengths_in p:last-of-type {
	padding-top: 20px;
}
#strengths .stageWrap .strengths_in ol {
	counter-reset: listnum;
}
#strengths .stageWrap .strengths_in ol li {
	margin: 10px 0;
	font-weight: bold;
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	place-items: center left;
	gap: 10px;
}
#strengths .stageWrap .strengths_in ol li span {
	order: 2;
}
#strengths .stageWrap .strengths_in ol li::before {
	counter-increment: listnum;
	content: counter(listnum);
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	background: linear-gradient(90deg, rgba(12,153,32,1) 0%, rgba(177,242,93,1) 100%);
	border-radius: 50%;
	text-align:center;
	color: #fff;
	font-weight: bold;
	line-height: 1.5em;
	order: 1;
}
#strengths .stageWrap .strengths_in ol li::after {
	content: "Strong point";
	color: #0c9920;
	position: absolute;
	bottom: calc(50% - 0.5em);
	left: 0;
	font-size: 14px;
	border-bottom: solid 1px #0c9920;
	z-index: -1;
	display: inline-block;
	order: 1;
}


/* ----------------------------------------------
	仕様詳細
------------------------------------------------- */
#contents {
	background-color: #e7f5e8;
	display: grid;
	gap: 50px;
}
#contents .stageWrap {
	background-color: #fff;
	border-radius: 30px;
}
#contents .stageWrap h3 {
	text-align: center;
	font-weight: bold;
	padding-bottom: 50px;
}
#contents .stageWrap h3::after {
	content: "";
	background-color: #0e981f;
	display: block;
	height: 5px;
	width: 1.5em;
	margin: 10px auto 0;
	border-radius: 5px;
}
#contents .stageWrap .contents_in {
	display: grid;
	gap: 20px;
}
#contents .stageWrap .contents_in .strongpoint {}
#contents .stageWrap .contents_in .strongpoint dt {
	background: linear-gradient(90deg, rgba(12,153,32,1) 0%, rgba(177,242,93,1) 100%);
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	display: grid;;
	place-items: center;
	text-align: center;
}
#contents .stageWrap .contents_in .process {
	display: grid;
	gap: 20px;
}
#contents .stageWrap .contents_in .process::before {
	content: "";
	/*background-image: url("../images/img_01.jpg");*/
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
#contents .stageWrap:nth-of-type(1) .contents_in .process::before {
	background-image: url("../images/img_01.jpg");
}
#contents .stageWrap:nth-of-type(2) .contents_in .process::before {
	background-image: url("../images/img_02.jpg");
}

#contents .stageWrap .contents_in .process dl dt {
	border-bottom: solid 1px #0c9920;
	color: #0c9920;
	font-weight: bold;
	margin-bottom: 1em;
}
#contents .stageWrap .contents_in .process dl dd ol {
	counter-reset: listnum;
}
#contents .stageWrap .contents_in .process dl dd ol li {
	text-indent: -2em;
	padding: 5px 0;
	padding-left: 2em;
}
#contents .stageWrap .contents_in .process dl dd ol li::before {
	counter-increment: listnum;
	content: counter(listnum);
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	border: solid 1px #0c9920;
	border-radius: 50%;
	margin-right: 0.5em;
	text-align:center;
	color: #0c9920;
	line-height: 1.5em;
	text-indent: 0;
}

/*-
	PC版（821px以上）ここから
------------------------------------------------- */
@media screen and (min-width:821px), print{
	
	/* ----------------------------------------------
		シブヤだからできること
	------------------------------------------------- */
	#strengths {}
	#strengths .stageWrap > p {
		/*top: calc(200px - 3em);
		left: calc(50% - 1100px / 2 + 170px);*/
		top: 150px;
		font-size: 50px;
	}
	#strengths .stageWrap .strengths_in {
		width: 800px;
	}
	#strengths .stageWrap .strengths_in ol li {
		font-size: 30px;
		padding-left: 100px;
	}
	#strengths .stageWrap .strengths_in ol li::after {
		width: 130px;
	}
	
	
	/* ----------------------------------------------
		仕様詳細
	------------------------------------------------- */
	#contents {}
	#contents .stageWrap {
		width: 800px;
		padding: 50px;
	}
	#contents .stageWrap h3 {
		font-size: 30px;
	}
	#contents .stageWrap .contents_in .strongpoint {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 20px;
		place-items: center;
	}
	#contents .stageWrap .contents_in .strongpoint dt {
		width: 90px;
		height: 90px;
		border-radius: 50%;
	}
	#contents .stageWrap .contents_in .process {
		grid-template-columns: repeat(2, 1fr);
	}
	
	
}


/*-
	SP版（820px以下）ここから
------------------------------------------------- */
@media screen and (max-width: 820px) {
	
	/* ----------------------------------------------
		シブヤだからできること
	------------------------------------------------- */
	#strengths {}
	#strengths .stageWrap > p {
		top: calc(150px - 3em);
		font-size: 24px;
		text-align: center;
		display: block;
		width: calc(100% - 30px);
		margin: auto;
	}
	#strengths .stageWrap .strengths_in {
		width: 100%;
	}
	#strengths .stageWrap .strengths_in ol li {
		font-size: 18px;
		padding-left: 90px;
	}
	#strengths .stageWrap .strengths_in ol li::after {
		width: 100px;
	}
	
	/* ----------------------------------------------
		仕様詳細
	------------------------------------------------- */
	#contents {}
	#contents .stageWrap {
		padding: 20px;
	}
	#contents .stageWrap h3 {
		font-size: 24px;
	}
	#contents .stageWrap .contents_in .strongpoint {
	}
	#contents .stageWrap .contents_in .strongpoint dt {
		width: 100%;
		height: auto;
		border-radius: 50px;
		margin-bottom: 10px;
	}
	#contents .stageWrap .contents_in .process dl dt {
		text-align: center;
	}
	#contents .stageWrap .contents_in .process::before {
		order: 2;
		height: 200px;
	}
	#contents .stageWrap .contents_in .process dl {
		order: 1;
	}
	
	
}

