@charset "utf-8";
/*------------------------------------------------------------
	message
------------------------------------------------------------*/
#main .flexBox {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
#main .flexBox .textBox {
	width: 60rem;
}
#main .textBox .heading {
	margin-bottom: 1.7em;
	font-size: 3.8rem;
	font-weight: 400;
	line-height: 1.526;
	 font-family: "Shippori Mincho", serif;
}
#main .textBox .heading .num {
	display: block;
	font-size: 4.8rem;
	line-height: 1.1;
	margin-bottom: 1.1rem;
}
#main .textBox p {
	margin-bottom: 3rem;
	line-height: 2;
}
#main .textBox p:last-child {
	margin-bottom: 0;
}
#main .colTxt {
	color: #0d0907;
}
#main .flexBox .infoList {
	width: 53.4rem;
}
#main .flexBox .infoList li {
	display: flex;
	align-items: center;
	gap: 2.5rem;
}
#main .flexBox .infoList li:nth-child(2n) {
	flex-direction: row-reverse;
}
#main .flexBox .infoList li + li {
	margin-top: 10.7rem;
}
#main .flexBox .infoList .photo01 {
	width: 24rem;
}
#main .flexBox .infoList .text {
	flex: 1;
}
#main .flexBox .infoList .year {
	margin-bottom: 0.5rem;
	font-size: 2.6rem;
}
#main .flexBox .infoList .year .mincho {
	font-size: 2.2rem;
}
#main .flexBox .infoList p {
	line-height: 1.666;
	letter-spacing: 0;
}
#main .history {
	padding: 11rem 0 17.6rem;
	position: relative;
}
#main .energy {
	position: relative;
}
#main .energy::after {
	width: 100%;
	height: 53rem;
	content: "";
	position: absolute;
	left: 0;
	top: calc(100% - 1px);
	background: linear-gradient(to top,#0d0907 0%, #9aa9b9 49.75%, #fff 100%);
}
#main .energy .headLine03 {
	text-align: left;
}
#main .energy .flexBox {
	align-items: flex-end;
	flex-direction: row;
	position: relative;
	z-index: 4;
}
#main .energy .photo02 {
	margin: 0 -25.7rem -4.5rem 0;
	width: 74.5rem;
}
#main .vision {
	padding: 22.8rem 0 17rem;
	position: relative;
}
#main .vision .content {
	position: relative;
	z-index: 4;
}
#main .vision::after {
	content: "";
	width: 232.7rem;
	height: 81.4rem;
	position: absolute;
	left: 50%;
	transform: translateX(-64.7%);
	top: 53.3rem;
	z-index: 2;
	pointer-events: none;
	background: url(../img/message/bg01.png) no-repeat center top / 100%;
}
#main .vision .flexBox {
	align-items: center;
	flex-direction: row-reverse;
}
#main .vision .photo03 {
	margin-top: 20.2rem;
	width: 52rem;
}
#main .vision .headLine03 {
	text-align: left;
}
#main .bottomBox {
	padding-bottom: 1.2rem;
	background: linear-gradient(to bottom,#0d0907 0%, #9aa9b9 100%, #fff 100%);
}
#main .bottomBox .heading {
	margin-bottom: 15.8rem;
	text-align: center;
	font-weight: 400;
	font-size: 4.2rem;
	line-height: 1.666;
	position: relative;
}
#main .bottomBox .largeText {
	margin-top: 5rem;
}
#main .bottomBox .scrollText p {
	color: #0d0907;
}
.ribbon01 {
	width: 600rem;
	left: calc(50% - 314rem);
  	top: -39.4rem;
	opacity: 1;
}
.ribbon02 {
	width: 284.8rem;
	left: calc(50% - 5rem);
  	top: -40.7rem;
	opacity: 0.5;
}
@media all and (min-width: 897px) {
	#main .flexBox .infoList .item {
		align-items: flex-end;
	}
	#main .flexBox .infoList .item .photo01 {
		margin: -3rem 0 7.3rem;
	}
}
@media all and (max-width: 896px) {
	#main .history {
		padding: 8.3rem 0 17.6rem;
	}
	#main .flexBox {
		display: block;
	}
	#main .flexBox .infoList {
		margin-bottom: 4.1rem;
		width: 100%;
	}
	#main .flexBox .infoList .photo01 {
		width: 39.466vw;
	}
	#main .flexBox .infoList .year .mincho {
		font-size: 1.8rem;
	}
	#main .flexBox .infoList p {
		line-height: 1.692;
	}
	#main .flexBox .infoList .year {
		margin: 0;
		line-height: 1.5;
		font-size: 2.2rem;
	}
	#main .flexBox .infoList li {
		gap: 1.5rem;
		color: #0d0907;
	}
	#main .flexBox .infoList li + li {
		margin-top: 2.4rem;
	}
	#main .flexBox .textBox {
		width: auto;
	}
	#main .textBox .heading {
		margin-bottom: 1.6rem;
		font-size: 2.2rem;
		line-height: 1.454;
	}
	#main .textBox .heading .num {
		margin-bottom: 0.9rem;
		font-size: 2.6rem;
	}
	#main .textBox p {
		margin-bottom: 2.3rem;
		line-height: 1.769;
	}
	#main .history {
		padding-bottom: 8rem;
	}
	#main .energy::after {
		height: 24rem;
	}
	#main .energy .photo02 {
		margin: 3.8rem -8.9rem 0 auto;
		width: 87.2vw;
	}
	#main .energy .photo02 img {
		width: 100%;
	}
	#main .vision {
		padding: 8.4rem 0 14.9rem;
	}
	#main .vision .photo03 {
		margin-top: 4.1rem;
		width: 100%;
	}
	#main .bottomBox {
		padding-bottom: 0.3rem;
		z-index: 2;
        position: relative;
	}
	#main .bottomBox .heading {
		margin-bottom: 6.6rem;
		font-size: 2.4rem;
		line-height: 1.833;
	}
	#main .bottomBox .largeText {
		margin-top: 3rem;
	}
	#main .vision::after {
		width: 343rem;
		height: 120rem;
		transform: translateX(-50%);
		top: 32rem;
	}
	.ribbon01 {
		width: 150rem;
		left: calc(50% - 78.7rem);
		top: -2.3rem;
		opacity: 1;
	}
	.ribbon02 {
		width: 136.8rem;
		left: calc(50% - 79rem);
		top: -12.7rem;
		opacity: 0.75;
		transform: none;
	}
}
