@charset "utf-8";
/*------------------------------------------------------------
	projectstory01
------------------------------------------------------------*/
#main {
	padding-bottom: 7.7rem;
	color: #fff;
	background-color: #0080C8;
}
.comBtmBox {
	margin-bottom: 12.2rem;
}
#main .mainImg {
	margin: -27.4rem 0 -14.2rem;
	position: relative;
}
#main .mainImg img {
	width: 100%;
}
#main .mainImg .ttl {
	width: 33.82%;
	position: absolute;
	right: 6.2%;
	bottom: 31.2%;
}
#main .mainImg .title {
	width: 48.04%;
	position: absolute;
	left: 6%;
    bottom: -9.5%;
}
#main .fixList li {
	margin-bottom: 3.4rem;
	font-size: 1.7rem;
	letter-spacing: 0.08em;
	line-height: 1.29;
}
#main .fixList .rokkitt {
	display: block;
	font-size: 1.5rem;
}
#main .fixList a {
	padding-left: 1.9rem;
	position: relative;
	display: inline-block;
	color: #fff;
}
#main .fixList a::before {
	position: absolute;
	left: 0;
	top: 0.4rem;
	width: 0.8rem;
	height: 0.8rem;
	background-color: #fff;
	border-radius: 100%;
	content: "";
	transition: .3s;
}
#main .fixList .on a::before {
	background-color: #000;
}
#main .comLineBox::before {
	height: 1px;
	background-color: #FFF;
}
#main .comLineBox:after {
	top: 0;
	width: 1px;
	bottom: 0;
	background-color: #FFF;
	z-index: 2;
}
#main .topBox {
	margin-bottom: 9.3rem;
	padding: 10.3rem 3.9rem 4.6rem 0;
	position: relative;
}
#main .topBox .title {
	margin-bottom: 14.3rem;
	text-align: right;
	font-size: 2.25rem;
	font-weight: 400;
	letter-spacing: 0.08em;
}
#main .topLink li {
	position: relative;
}
#main .topLink .ttl {
	position: absolute;
	left: 0;
	top: -2.9rem;
	width: 19.7rem;
}
#main .topLink p {
	margin: -1.2rem -4rem 0;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.53;
	letter-spacing: 0.08em;
}
#main .topLink p span {
	display: block;
	font-size: 1.8rem;
}
#main .topBox .line {
	width: 92.4rem;
	position: absolute;
	right: -30rem;
	bottom: -8.5rem;
}
#main .phase {
	margin-bottom: 20.2rem;
	position: relative;
}
#main .phase:last-of-type {
	margin-bottom: 0 !important;
}
#main .phase .ttl {
	margin: 0 0 -18.1rem 0.7rem;
	width: 55rem;
}
#main .phase .imgBox {
	padding: 28.5rem 0 0 0.7rem;
	position: relative;
}
#main .phase .imgBox::after {
	bottom: 22.4rem;
}
#main .phase .imgBox .photo {
	margin-bottom: 9.8rem;
}
#main .phase .imgBox .photo:last-of-type {
	margin-bottom: 0 !important;
}
#main .phase .textBox {
	position: absolute;
	left: 6.7rem;
	top: 27.2rem;
	right: 0;
    z-index: 1;
}
#main .phase .textBox p {
	margin-bottom: 13.3rem;
	line-height: 2.56;
	letter-spacing: 0.06em;
}
#main .phase .textBox p:last-child {
	margin-bottom: 0 !important;
}
#main .phase .imgInfo {
	margin-top: -18.5rem;
	padding: 9rem 4.7rem 0 0.6rem;
}
#main .phase .imgInfo .title {
	margin-bottom: 2.6rem;
	text-align: right;
	font-size: 2.45rem;
	font-weight: 400;
	letter-spacing: 0.08em;
}
#main .phase .imgInfo .title .jp {
	margin: 0 -0.2rem 0.1rem;
	display: block;
	font-size: 2rem;
}
#main .phase .imgInfo .title .en {
	margin-left: 0.4rem;
	display: inline-block;
	font-size: 2.68rem;
}
#main .phase .imgInfo .pho {
	width: 35.3rem;
	margin-top: 7.5rem;
}
#main .phase .imgInfo .textInfo {
	width: 36rem;
}
#main .phase .imgInfo p {
	text-align: justify;
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: 0.03em;
}
#main .phase .line {
	position: absolute;
	pointer-events: none;
}
#main .phase .line01 {
	width: 70.3rem;
	left: -43.1rem;
	top: -11.9rem;
}
#main .phase04 .line03 {
	left: -43.1rem;
	bottom: -11rem;
	width: 70.3rem;
}
#main .phase .line02 {
	width: 92.5rem;
	left: -68.9rem;
	top: -11rem;
}
#main .phase .img {
	width: 67.3rem;
	padding: 1.3rem 0 14.7rem;
}
#main .btmText {
	margin: 7.4rem -1rem 0;
	text-align: right;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
}
@media all and (min-width: 897px) {
	#main .mainBox {
		width: 112rem;
		margin: 0 auto;
	}
	#main .fixList {
		width: 26rem;
		margin-top: 33.1rem;
		position: relative;
	}
	#main .fixList ul {
		position: sticky;
		left: 0;
		top: 13rem;
	}
	#main .fixList a:hover::before {
		background-color: #000;
	}
	#main .mainInfo {
		width: 82rem;
	}
	#main .comLineBox:before {
		right: -1.5rem;
		top: 11.2rem;
		width: 84.3rem;
	}
	#main .topLink {
		margin: -4.1rem 13.6rem 0 18.3rem;
	}
	#main .topLink li {
		width: 19.1rem;
		margin-top: 4.1rem;
	}
	#main .topLink li:nth-child(2n) {
		margin-top: -3rem;
	}
	#main .phase02 {
		margin-bottom: 17.7rem;
	}
	#main .phase02 .ttl {
		margin-bottom: -20.2rem;
		width: 51.4rem;
	}
	#main .phase02 .imgBox {
		padding-top: 0.2rem;
	}
	#main .phase02 .textBox {
		top: 37.4rem;
	}
	/* #main .phase02 .imgInfo {
		margin-top: -3rem;
	} */
	#main .phase03 {
		margin-bottom: 11rem;
	}
	#main .phase03 .ttl {
		width: 60.6rem;
	}
	#main .phase04 {
		margin-bottom: 20.6rem;
	}
	#main .phase04 .ttl {
		margin-bottom: -19.2rem;
		width: 53.1rem;
	}
	#main .phase04 .line01 {
		left: 43.1rem;
		top: -27.9rem;
	}
	#main .phase05 .ttl {
		margin-bottom: -19.2rem;
		width: 68.2rem;
	}
	#main .phase05 .line01 {
		left: 32.9rem;
		top: 7.2rem;
	}
	#main .phase05 .imgInfo {
		margin-top: -3.6rem;
	}
	#main .phase05 .line02 {
		left: -65.1rem;
		top: auto;
		bottom: -16rem;
	}
	#main .phase06 .ttl {
		margin-bottom: -19.5rem;
		width: 64.4rem;
	}
	#main .phase06 .line01 {
		left: 32.9rem;
		top: 5.6rem;
	}
}
@media all and (max-width: 896px) {
	#main {
		padding: 3rem 0 3.8rem;
	}
	.comBtmBox {
		margin: 10rem 6rem 7.2rem;
	}
	#main .mainImg {
		margin: 0 0 -0.9rem;
	}
	#main .mainImg .ttl {
		width: 21.6rem;
		right: 1.5rem;
		bottom: 8.5rem;
	}
	#main .mainImg .title {
		width: 30.7rem;
		left: 1.6rem;
		bottom: -5rem;
	}
	#main .mainBox {
		display: block;
	}
	#main .fixList {
		position: fixed;
		left: 0;
		top: 8rem;
		padding: 0.5rem 1rem 0;
		width: 100%;
		background-color: #0080C8;
		z-index: 9;
	}
	#main .fixList::before,
	#main .fixList::after {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		width: 7.7rem;
		background: linear-gradient(90deg, rgba(0,128,200, 0) 0%, rgba(0,128,200, 1) 96%);
		content: "";
		z-index: 1;
		pointer-events: none;
	}
	#main .fixList::after {
		right: auto;
		left: 0;
		background: linear-gradient(-90deg, rgba(0,128,200, 0) 0%, rgba(0,128,200, 1) 96%);
	}
	#main .fixList.left::after {
		opacity: 0;
	}
	#main .fixList.right::before {
		opacity: 0;
	}
	#main .fixList ul {
		padding-bottom: 0.5rem;
		width: fit-content;
		display: flex;
		overflow-y: scroll;
	}
	#main .fixList li {
		margin: 0 1.2rem 0 0;
		flex-shrink: 0;
		font-size: 1.3rem;
		letter-spacing: 0.02em;
	}
	#main .fixList .rokkitt {
		margin-right: 0.5rem;
		font-size: 1.4rem;
	}
	#main .fixList a {
		padding-left: 0.8rem;
		display: flex;
	}
	#main .fixList a::before {
		top: 0.6rem;
		width: 0.5rem;
		height: 0.5rem;
	}
	#main .comLineBox {
		margin-right: 1.5rem;
	}
	#main .comLineBox:before {
		top: 4.7rem;
		left: 0.8rem;
		height: 0.1rem;
	}
	#main .comLineBox::after {
		width: 0.1rem;
	}
	#main .topBox {
		margin-bottom: 4.2rem;
		padding: 5.7rem 1.5rem 4.9rem 0;
	}
	#main .topBox .title {
		margin-bottom: 9.3rem;
		font-size: 1.65rem;
	}
	#main .topLink .ttl {
		top: -2.4rem;
		width: 14.5rem;
	}
	#main .topLink {
		margin: -4.8rem 2.9rem 0 3.5rem;
	}
	#main .topLink li {
		width: 12.4rem;
		margin-top: 4.8rem;
	}
	#main .topLink li:nth-child(2n) {
		margin-top: 0.6rem;
	}
	#main .topLink p {
		margin: -0.9rem -3rem 0;
		font-size: 1.25rem;
		line-height: 1.44;
		letter-spacing: 0.02em;
	}
	#main .topLink p span {
		margin-bottom: 0.2rem;
		font-size: 1.55rem;
	}
	#main .topBox .line {
		width: 44.7rem;
		right: -12rem;
		bottom: -2.9rem;
	}
	#main .phase {
		margin-bottom: 13.1rem;
	}
	#main .phase .ttl {
		margin: 0 0 -6.9rem 1.5rem;
		width: 30.2rem;
	}
	#main .phase .imgBox {
		padding: 39.9rem 0 0 1.5rem;
	}
	#main .phase .imgBox::after {
		bottom: 9.6rem;
	}
	#main .phase .imgBox .photo {
		margin-bottom: 30.4rem;
	}
	#main .phase .textBox {
		left: 3.4rem;
		top: 11.3rem;
		right: -1rem;
	}
	#main .phase .textBox p {
		margin-bottom: 7.7rem;
		line-height: 2.6;
		letter-spacing: 0.05em;
	}
	#main .phase .imgInfo {
		margin-top: 5.3rem;
		padding: 6.1rem 2rem 0.6rem 3.5rem;
	}
	#main .phase .imgInfo .title {
		margin-bottom: 3.4rem;
		font-size: 1.92rem;
	}
	#main .phase .imgInfo .title .jp {
		margin-bottom: 0.2rem;
		font-size: 1.65rem;
	}
	#main .phase .imgInfo .title .en {
		font-size: 2.1rem;
	}
	#main .phase .imSub {
		display: block;
	}
	#main .phase .imgInfo .pho {
		width: auto;
		margin: 0 0 3.3rem;
	}
	#main .phase .imgInfo .textInfo {
		width: auto;
	}
	#main .phase .imgInfo p {
		font-size: 1.3rem;
		line-height: 1.96;
	}
	#main .phase .line01 {
		width: 34.3rem;
		left: -16.7rem;
		top: -7.6rem;
	}
	#main .phase .line02 {
		width: 44.9rem;
		left: -29.2rem;
		top: -16.7rem;
	}
	#main .phase02 {
		margin-bottom: 23.6rem;
	}
	#main .phase02 .ttl {
		margin-bottom: -7.9rem;
		width: 28.2rem;
	}
	#main .phase02 .imgBox {
		padding-top: 0;
	}
	#main .phase02 .imgBox .photo {
		margin-bottom: 43rem;
	}
	#main .phase03 .ttl {
		margin-bottom: -7.6rem;
		width: 33.3rem;
	}
	#main .phase03 {
		margin-bottom: 13.5rem;
	}
	#main .phase03 .imgBox {
		padding-top: 20rem;
	}
	#main .phase03 .imgBox .photo {
		margin-bottom: 36.6rem;
	}
	#main .phase04 {
		margin-bottom: 24.7rem;
	}
	#main .phase04 .ttl {
		margin-bottom: -7.5rem;
		width: 29.2rem;
	}
	#main .phase04 .imgBox {
		padding-top: 19.8rem;
	}
	#main .phase04 .line01 {
		left: 14.7rem;
		top: -15.8rem;
	}
	#main .phase04 .imgBox .photo {
		margin-bottom: 51.2rem;
	}
	#main .phase05 {
		margin-bottom: 13.8rem;
	}
	#main .phase05 .ttl {
		margin-bottom: -7.5rem;
		width: 27.8rem;
	}
	#main .phase05 .line01 {
		left: -16.7rem;
		top: -18rem;
	}
	#main .phase05 .line02 {
		width: 34.3rem;
		left: 16.7rem;
		top: 9.5rem;
	}
	#main .phase05 .imgBox {
		padding-top: 15.7rem;
	}
	#main .phase05 .imgBox .photo {
		margin-bottom: 77.7rem;
	}
	#main .phase06 .line02 {
		left: -29.2rem;
		top: -9rem;
	}
	#main .phase06 .line01 {
		left: 16.7rem;
		top: 8.2rem;
	}
	#main .phase06 .ttl {
		width: 25.3rem;
	}
	#main .phase06 .imgBox {
		padding-top: 15.6rem;
	}
	#main .phase06 .imgBox .photo {
		margin-bottom: 27.1rem;
	}
	#main .phase .img {
		width: auto;
		padding: 0;
		margin: -5.2rem 1rem 4.9rem -1.9rem;
	}
	#main .btmText {
		margin: 5.3rem 1rem 0;
		font-size: 0.9rem;
	}
}
/*------------------------------------------------------------
	projectstory02
------------------------------------------------------------*/
@media all and (min-width: 897px) {
	#main.projectstory02 .mainImg .ttl {
		bottom: 30.3%;
	}
	#main.projectstory02 .mainImg .title {
		width: 70.93%;
	}
	#main.projectstory02 .topBox {
		margin-bottom: 10rem;
		padding-bottom: 0.1rem;
	}
	#main.projectstory02 .topBox .title {
		margin-bottom: 19.4rem;
	}
	#main.projectstory02 .topLink {
		margin: -4.1rem 4rem -0.6rem 0.7rem;
		position: relative;
	}
	#main.projectstory02 .topLink::after {
		content: "";
		width: 19.1rem;
	}
	#main.projectstory02 .topLink .li03 {
		margin-top: -10.1rem;
	}
	#main.projectstory02 .topLink .li02 {
		margin-top: -3rem;
	}
	#main.projectstory02 .topLink .li04 {
		margin-top: 8.1rem;
	}
	#main.projectstory02 .topLink .li05 {
		margin-top: 0.9rem;
	}
	#main.projectstory02 .topLink .ttl {
		top: -3.7rem;
		width: 20.6rem;
	}
	#main.projectstory02 .topLink .li02 .ttl {
		top: -5rem;
		width: 25.5rem;
	}
	#main.projectstory02 .topLink .li04 .ttl {
		top: -7.6rem;
		width: 34.4rem;
	}
	#main.projectstory02 .phase01 {
		margin-bottom: 21.4rem;
	}
	#main.projectstory02 .phase01 .ttl {
		margin-bottom: -18.4rem;
		width: 61.5rem;
	}
	#main.projectstory02 .phase01 .imgBox {
		padding-top: 28.1rem;
	}
	#main.projectstory02 .phase01 .textBox p {
		letter-spacing: 0.05em;
	}
	#main.projectstory02 .phase01 .imgInfo {
		margin-top: -5.8rem;
	}
	#main.projectstory02 .phase02 {
		margin-bottom: 20.8rem;
	}
	#main.projectstory02 .phase02 .line01 {
		left: -43.1rem;
		top: -16.3rem;
	}
	#main.projectstory02 .phase02 .line04 {
		width: 92.4rem;
		left: 17rem;
		top: 13.5rem;
	}
	#main.projectstory02 .phase02 .ttl {
		margin-bottom: -19.5rem;
		width: 59.2rem;
	}
	#main.projectstory02 .phase02 .imgBox {
		padding-top: 28.5rem;
	}
	#main.projectstory02 .phase02 .textBox {
		top: 27.3rem;
	}
	#main.projectstory02 .phase02 .imgInfo {
		margin-top: -18.5rem;
	}
	#main.projectstory02 .phase03 {
		margin-bottom: 20.8rem;
	}
	#main.projectstory02 .phase03 .ttl {
		margin-bottom: -19.1rem;
		width: 57.5rem;
	}
	#main.projectstory02 .phase03 .line02 {
		top: -23.4rem;
	}
	#main.projectstory02 .phase03 .line01 {
		left: 40.1rem;
		top: 73.1rem;
	}
	#main.projectstory02 .phase04 {
		margin-bottom: 15rem;
	}
	#main.projectstory02 .phase04 .ttl {
		margin-bottom: -19.3rem;
		width: 74.8rem;
	}
	#main.projectstory02 .phase04 .imgBox {
		padding-top: 0;
	}
	#main.projectstory02 .phase04 .textBox {
		top: 31rem;
	}
	#main.projectstory02 .phase04 .line01 {
		left: -43.1rem;
		top: -18.8rem;
	}
	#main.projectstory02 .phase04 .line02 {
		left: 12.9rem;
		top: 50.3rem;
	}
	#main.projectstory02 .phase05 .ttl {
		margin-bottom: -20.1rem;
		width: 55.4rem;
	}
	#main.projectstory02 .phase05 .imgBox {
		padding-top: 22.7rem;
	}
	#main.projectstory02 .phase05 .line01 {
		top: 5.4rem;
	}
	#main.projectstory02 .phase05 .imgInfo {
		margin-top: -18.6rem;
	}
	#main.projectstory02 .phase05 .line02 {
		bottom: -22rem;
	}
}
@media all and (max-width: 896px) {
	#main.projectstory02 .mainImg {
		margin-bottom: 7.8rem;
	}
	#main.projectstory02 .mainImg .ttl {
		width: 22.5rem;
		right: 0.6rem;
	}
	#main.projectstory02 .mainImg .title {
		width: 24.5rem;
		bottom: -13.5rem;
	}
	#main.projectstory02 .topBox {
		margin-bottom: 6.9rem;
		padding-bottom: 3.9rem;
	}
	#main.projectstory02 .topBox .title {
		margin-bottom: 6.8rem;
	}
	#main.projectstory02 .topLink .ttl {
		top: -3rem;
		width: 15rem;
	}
	#main.projectstory02 .topLink li:nth-child(3) .ttl {
		top: -4rem;
		width: 18.6rem;
	}
	#main.projectstory02 .topLink li:nth-child(5) .ttl {
		top: -5.7rem;
		width: 25.2rem;
	}
	#main.projectstory02 .topLink {
		margin-top: -7.3rem;
	}
	#main.projectstory02 .topLink li {
		margin-top: 7.3rem;
	}
	#main.projectstory02 .topLink li:nth-child(2n) {
		margin-top: 3rem;
	}
	#main.projectstory02 .topBox .line {
		bottom: -4.4rem;
	}
	#main.projectstory02 .phase01 {
		margin-bottom: 13.2rem;
	}
	#main.projectstory02 .phase01 .ttl {
		margin-bottom: -7.6rem;
		width: 20.8rem;
	}
	#main.projectstory02 .phase01 .imgBox .photo {
		margin-bottom: 56.4rem;
	}
	#main.projectstory02 .phase01 .imgInfo {
		margin-top: 0.8rem;
	}
	#main.projectstory02 .phase02 {
		margin-bottom: 25.1rem;
	}
	#main.projectstory02 .phase02 .ttl {
		margin-bottom: -7.5rem;
		width: 32.6rem;
	}
	#main.projectstory02 .phase02 .imgBox .photo {
		margin-bottom: 47.8rem;
	}
	#main.projectstory02 .phase02 .imgInfo {
		margin-top: 0.9rem;
	}
	#main.projectstory02 .phase03 .ttl {
		margin-bottom: -8rem;
		width: 31.7rem;
	}
	#main.projectstory02 .phase03 {
		margin-bottom: 13.2rem;
	}
	#main.projectstory02 .phase03 .imgBox .photo {
		margin-bottom: 27.2rem;
	}
	#main.projectstory02 .phase03 .imgInfo {
		margin-top: 1rem;
	}
	#main.projectstory02 .phase04 {
		margin-bottom: 10.9rem;
	}
	#main.projectstory02 .phase04 .ttl {
		margin-bottom: -7.5rem;
		width: 22.2rem;
	}
	#main.projectstory02 .phase04 .imgBox {
		padding-top: 0;
	}
	#main.projectstory02 .phase04 .line01 {
		left: -16.7rem;
		top: -6.5rem;
	}
	#main.projectstory02 .phase04 .imgBox .photo {
		margin-bottom: 17.1rem;
	}
	#main.projectstory02 .phase04 .imgInfo {
		margin-top: 1.3rem;
	}
	#main.projectstory02 .phase04 .line02 {
		left: 14.7rem;
		top: 46.3rem;
		width: 34.3rem;
	}
	#main.projectstory02 .phase05 .ttl {
		margin-bottom: -6.2rem;
		width: 30.5rem;
	}
	#main.projectstory02 .phase05 .line01 {
		left: 16.7rem;
		top: 5.8rem;
	}
	#main.projectstory02 .phase05 .line02 {
		top: auto;
		bottom: -16rem;
		left: -29.1rem;
		width: 44.9rem;
	}
	#main.projectstory02 .phase05 .imgBox {
		padding-top: 8.5rem;
	}
	#main.projectstory02 .phase05 .imgBox .photo {
		margin-bottom: 19.6rem;
	}
	#main.projectstory02 .phase05 .imgInfo {
		margin-top: 1.4rem;
	}
	#main.projectstory02 .btmText {
		margin-top: 8.2rem;
	}
}
