@charset "utf-8";
/* CSS Document */

/*----------------------------------------------------
	☆PC
----------------------------------------------------*/

/*--- history ---*/
#contents .historyRoad ul{
	background: url("../images/bg_road.svg") center top /49px 59px repeat-y;
	padding-top: 30px;
}
#contents .historyRoad li{
	display: flex;
	align-items: flex-start;
	width: 45%;
	position: relative;
}
#contents .historyRoad li:nth-child(even){
	flex-direction: row-reverse;
}
#contents .historyRoad li:nth-child(odd){
	margin-left: 55%;
}
#contents .historyRoad li .info{
	width: 68.5%;
	background: #E2F2F2;
	box-shadow: 0 8px 12px rgb(35 49 104 / 30%);
	position: relative;
	padding: 9% 11% 8% 6%;
	z-index: 0;
}
#contents .historyRoad li:nth-child(even) .info{
	padding: 9% 6% 8% 11%;
}
#contents .historyRoad li .info .num{
	position: absolute;
	width: 43.2%;
	left: 0;
	top: 0;
	margin: -7% 0 0 8%;
}
#contents .historyRoad li:nth-child(even) .info .num{
	margin: -7% 0 0 16%;
}
#contents .historyRoad li .info .title{
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 1.75;
}
#contents .historyRoad li .info .text{
	text-align: justify;
	font-size: 14px;
	line-height: 1.75;
}
#contents .historyRoad li .image{
	width: 37%;
	margin-top: -30px;
	margin-left: -5.555%;
	position: relative;
	z-index: 1;
	box-shadow: 0 8px 12px rgb(35 49 104 / 30%);
}
#contents .historyRoad li:nth-child(even) .image{
	margin-right: -5.555%;
	margin-left: 0;
}
#contents .historyRoad li .deco{
	position: absolute;
	left: 0;
	top: 0;
	margin: 0 0 0 0;
}
#contents .historyRoad li::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 67px;
	height: 17px;
}
#contents .historyRoad li:nth-child(odd)::before{
	background: url("../images/line_l.svg") left top / contain no-repeat;
	left: 0;
	margin: 30px 0 0 -12.5%;
}
#contents .historyRoad li:nth-child(even)::before{
	background: url("../images/line_r.svg") left top / contain no-repeat;
	right: 0;
	margin: 30px -12.5% 0 0;
}
#contents .historyRoad li .deco{
	position: absolute;
}
#contents .historyRoad li .deco01{
	width: 80px;
	left: 0; top: 0;
	margin: 20px 0 0 -55.6%;
}
#contents .historyRoad li .deco02{
	width: 80px;
	left: 0; bottom: -100px; top: auto;
}
#contents .historyRoad li .deco03{
	width: 80px;
	right: 0; bottom: -107px; top: auto; left: auto;
}
#contents .historyRoad li .deco04{
	width: 120px;
	left: 0; bottom: -133px; top: auto;
}
#contents .historyRoad li .deco05{
	width: 120px;
	right: 0; bottom: -144px; top: auto; left: auto;
	margin: 0 -12% 0 0;
}
#contents .historyRoad li .deco06{
	width: 182px;
	left: 0; bottom: -118px; top: auto;
}
#contents .historyRoad .future{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 870px;
	width: 90%;
	margin: 0 auto;
}
#contents .historyRoad .future .image{
	width: 50%;
}
#contents .historyRoad .future .info{
	width: 45%;
	line-height: 1.75;
}
#contents .historyRoad .future .info .title{
	font-size: 40px;
	margin-bottom: 10px;
}
#contents .historyRoad .future .info .title span{
	font-size: 18px;
	display: block;
}

/*--- company ---*/
#contents .company {
	position: relative;
}
#contents .company .head01{
	position: absolute;
	text-align: center;
	width: 80%;
	left: 10%;
	top: -20px;
}
#contents .companyContainer{
	display: flex;
	justify-content: space-between;
	padding: 180px 0 70px;
}
#contents .companyBox{
	width: 48%;
}
#contents .companyBox .head02{
	margin-bottom: 10px;
}
#contents .companyBox .companyBoxInr{
	background: url("../images/bg_comInfo_top.png") left top / contain no-repeat, url("../images/bg_comInfo_bottom.png") left bottom / contain no-repeat;
	padding: 13.11% 0;
}
#contents .companyBox .companyBoxInr2{
	background: url("../images/bg_comInfo_middle.png") left top / contain repeat-y;
	padding: 0 13% 7%;
}
#contents .companyBox .logo{
	width: 38%;
	margin: 0 auto 50px;
}
#contents .companyBox .infoList dl{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #ccc;
	padding-bottom: 20px;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.75;
}
#contents .companyBox .infoList dl:last-child{
	margin-bottom: 0;
}
#contents .companyBox .infoList dl dt{
	font-weight: bold;
	color: #21B7B6;
	width: 25%;
}
#contents .companyBox .infoList dl dd{
	width: 70%;
	text-align: justify;
}

/*--- message ---*/

#contents .messageInr{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#contents .messageInr .info{
	/* width: 44%; 写真ありの場合 */
	width: 100%;
}
#contents .messageInr .info .text p{
	text-align: justify;
	margin-bottom: 10px;
}
#contents .messageInr .info p.name{
	font-weight: bold;
	font-size: 16px;
	margin: 30px 0 0 0;
}
#contents .messageInr .image{
	width: 54%;
	position: relative;
}
#contents .messageInr .image .deco{
	position: absolute;
	width: 21%;
	right: 0;
	bottom: 0;
}

/*----------------------------------------------------
	☆Under 768px
----------------------------------------------------*/
@media screen and (max-width:768px) {

	/*--- history ---*/
	#contents .historyRoad ul{
		background: url("../images/bg_road.svg") center top / 30px auto repeat-y;
	}
	#contents .historyRoad .future .info .title{
		font-size: 20px;
	}
	#contents .historyRoad .future .info .title span{
		font-size: 12px;
	}
}

/*----------------------------------------------------
	☆Under 640px
----------------------------------------------------*/
@media screen and (max-width:640px) {

	/*--- history ---*/
	#contents .historyRoad ul{
		background: url("../images/bg_road.svg") left top / 24px auto repeat-y;
		padding-top: 30px;
	}
	#contents .historyRoad li{
		width: calc(100% - 44px);
		margin-bottom: 60px;
	}
	#contents .historyRoad li:nth-child(even){
		flex-direction: row;
	}
	#contents .historyRoad li,
	#contents .historyRoad li:nth-child(odd){
		margin-left: 44px;
	}
	#contents .historyRoad li:nth-child(even) .info{
		padding: 9% 11% 8% 6%;
	}
	#contents .historyRoad li .info .num,
	#contents .historyRoad li:nth-child(even) .info .num{
		width: 43.2%;
		margin: -7% 0 0 8%;
	}
	#contents .historyRoad li .info .title{
		font-size: 15px;
	}
	#contents .historyRoad li .info .text{
		font-size: 12px;
	}

	#contents .historyRoad li:nth-child(even) .image,
	#contents .historyRoad li .image{
		margin-top: -15px;
		margin-left: -5.555%;
	}
	#contents .historyRoad li::before{
		width: 44px;
		height: 11px;
	}
	#contents .historyRoad li:nth-child(even)::before,
	#contents .historyRoad li:nth-child(odd)::before{
		background: url("../images/line_l.svg") left top / contain no-repeat;
		left: 0;
		margin: 31px 0 0 -36px;
	}

	#contents .historyRoad li .deco{
		display: none;
	}
	#contents .historyRoad .future{
		flex-direction: column-reverse;
		width: 100%;
	}
	#contents .historyRoad .future .image{
		width: 70%;
		margin: 20px auto 0;
	}
	#contents .historyRoad .future .info{
		width: 100%;
		text-align: center;
	}

	/*--- company ---*/
	#contents .company{
		padding: 50px 0;
	}
	#contents .company .head01{
		position: relative;
		width: 100%;
		left: 0;
		top: 0;
	}
	#contents .companyContainer{
		flex-direction: column;
		padding: 0;
	}
	#contents .companyBox{
		width: 100%;
	}

	#contents .companyBox + .companyBox{
		margin-top: 20px;
	}

	#contents .companyBox .head02{
		margin-bottom: 5px;
	}
	#contents .companyBox .logo{
		margin: 0 auto 20px;
	}
	#contents .companyBox .infoList dl{
		font-size: 12px;
	}

	/*--- message ---*/

	#contents .messageInr{
		flex-direction: column;
	}
	#contents .messageInr .info{
		width: 100%;
		margin-bottom: 20px;
	}
	#contents .messageInr .info .name{
		font-size: 15px;
		margin: 20px 0 0 0;
	}
	#contents .messageInr .image{
		width: 100%;
	}
}
