@-webkit-keyframes imageSlideCrossFade{
	25%{
		opacity: 1;
	}
	40%{
		opacity: 0;
	}
}

@keyframes imageSlideCrossFade{
	25%{
		opacity: 1;
	}
	40%{
		opacity: 0;
	}
}

@media all and (min-width: 769px){
	.flow-index .page-title{
		background-image: url(../img/pc/_pag_ttl_bg.jpg);
	}
	.flow-index main .heading-text{
		width: 1040px;
		margin-right: auto;
		margin-left: auto;
		padding-top: 100px;
	}
	.flow-index main .heading-text h2{
		font-family: 'Noto Serif JP', serif;
		font-size: 30px;
		text-align: center;
		line-height: 48px;
	}
	.flow-index main .heading-text .lead{
		margin-top: 50px;
		font-size: 16px;
		line-height: 34px;
	}
	.flow-index main .heading-text .flow{
		position: relative;
		margin-top: 80px;
		margin-bottom: 100px;
	}
	.flow-index main .heading-text .flow .arrow1{
		position: absolute;
		bottom: 54px;
		left: 40px;
		width: 50px;
		height: 74px;
		border-bottom: 1px solid #b3bbc5;
		border-left: 1px solid #b3bbc5;
	}
	.flow-index main .heading-text .flow .arrow1::after{
		display: block;
		position: absolute;
		right: -14px;
		bottom: -8px;
		width: 0;
		height: 0;
		margin-top: -7px;
		border-width: 7.5px 0 7.5px 14px;
		border-style: solid;
		border-color: transparent transparent transparent #b3bbc5;
		content: '';
	}
	.flow-index main .heading-text .flow .arrow2{
		position: absolute;
		right: 53px;
		bottom: 54px;
		width: 50px;
		height: 60px;
		border-right: 1px solid #b3bbc5;
		border-bottom: 1px solid #b3bbc5;
	}
	.flow-index main .heading-text .flow .arrow2::after{
		display: block;
		position: absolute;
		top: -8px;
		right: -8px;
		width: 0;
		height: 0;
		margin-top: -7px;
		border-width: 0 7px 15px 7px;
		border-style: solid;
		border-color: transparent transparent #b3bbc5 transparent;
		content: '';
	}
	.flow-index main .heading-text .flow ul{
		position: relative;
		width: 1040px;
		height: 238px;
	}
	.flow-index main .heading-text .flow ul li{
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		position: absolute;
		width: 208px;
		border-top: 1px solid #b3bbc5;
		border-right: 1px solid #b3bbc5;
		border-bottom: 1px solid #b3bbc5;
		background: #ffffff;
		text-align: center;
	}
	.flow-index main .heading-text .flow ul li a{
		display: block;
		color: #333333;
	}
	.flow-index main .heading-text .flow ul li dl{
		/* flex */
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		        flex-direction: column;
		height: 82px;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		-webkit-box-direction: normal;
		-webkit-box-orient: vertical;
		-webkit-box-pack: center;
		-ms-flex-align: center;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.flow-index main .heading-text .flow ul li dl dt{
		margin-bottom: 5px;
		color: #a7b2bd;
		font-family: 'Bree Serif', serif;
		font-size: 14px;
		letter-spacing: 0.04em;
	}
	.flow-index main .heading-text .flow ul li dl dd{
		font-family: 'Noto Serif JP', serif;
		font-size: 20px;
		font-weight: 500;
	}
	.flow-index main .heading-text .flow ul li .arw{
		/* flex */
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		height: 27px;
		background-color: #f5f7f9;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		-webkit-box-pack: center;
		-ms-flex-align: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.flow-index main .heading-text .flow ul li .arw::before{
		display: block;
		width: 7px;
		height: 7px;
		margin-top: -2px;
		border-bottom: 2px solid #004ea2;
		border-left: 2px solid #004ea2;
		content: '';
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
	.flow-index main .heading-text .flow ul li.f1{
		top: 0;
		left: 416px;
	}
	.flow-index main .heading-text .flow ul li.f2{
		top: 0;
		left: 208px;
	}
	.flow-index main .heading-text .flow ul li.f3{
		top: 0;
		left: 0;
	}
	.flow-index main .heading-text .flow ul li.f4{
		top: 128px;
		left: 104px;
	}
	.flow-index main .heading-text .flow ul li.f5{
		top: 128px;
		left: 312px;
	}
	.flow-index main .heading-text .flow ul li.f6{
		top: 128px;
		left: 520px;
	}
	.flow-index main .heading-text .flow ul li.f7{
		top: 128px;
		left: 728px;
	}
	.flow-index main .heading-text .flow ul li.f8{
		top: 0;
		left: 832px;
	}
	.flow-index main .heading-text .flow ul li.f9{
		top: 0;
		left: 624px;
	}
	.flow-index main .heading-text .flow ul li.f3,
	.flow-index main .heading-text .flow ul li.f4{
		border-left: 1px solid #b3bbc5;
	}
	.flow-index main .heading-text .flow ul li.f1::before,
	.flow-index main .heading-text .flow ul li.f2::before,
	.flow-index main .heading-text .flow ul li.f8::before,
	.flow-index main .heading-text .flow ul li.f9::before{
		display: block;
		position: absolute;
		z-index: 10;
		top: 50%;
		left: -9px;
		width: 0;
		height: 0;
		margin-top: -7px;
		border-width: 7.5px 14px 7.5px 0;
		border-style: solid;
		border-color: transparent #b3bbc5 transparent transparent;
		content: '';
	}
	.flow-index main .heading-text .flow ul li.f5::before,
	.flow-index main .heading-text .flow ul li.f6::before,
	.flow-index main .heading-text .flow ul li.f7::before{
		display: block;
		position: absolute;
		z-index: 10;
		top: 50%;
		left: -6px;
		width: 0;
		height: 0;
		margin-top: -7px;
		border-width: 7.5px 0 7.5px 14px;
		border-style: solid;
		border-color: transparent transparent transparent #b3bbc5;
		content: '';
	}
	.flow-index main .contents-block{
		width: 1160px;
		margin-top: -150px;
		margin-right: auto;
		margin-bottom: 60px;
		margin-left: auto;
		padding-top: 150px;
		padding-bottom: 60px;
		border-bottom: 1px solid #e4e6e7;
	}
	.flow-index main .contents-block .heading-contents{
		/* flex */
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		width: 100%;
		height: 440px;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		-webkit-box-pack: start;
		-ms-flex-align: center;
		-ms-flex-pack: start;
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
	}
	.flow-index main .contents-block .heading-contents .inner .num{
		margin-left: -5px;
		color: #e8ecf0;
		font-family: 'Noto Serif JP', serif;
		font-size: 80px;
		font-weight: 700;
		font-style: italic;
		line-height: 1;
		letter-spacing: -0.06em;
	}
	.flow-index main .contents-block .heading-contents .inner dl{
		margin-top: -48px;
		padding-left: 65px;
	}
	.flow-index main .contents-block .heading-contents .inner dl dt{
		margin-bottom: 35px;
		color: #004ea2;
		font-family: 'Noto Serif JP', serif;
		font-size: 45px;
		font-weight: 700;
		line-height: 1;
	}
	.flow-index main .contents-block .heading-contents .inner dl dt span{
		display: inline-block;
		margin-bottom: 13px;
		color: #6a9fd9;
		font-family: 'Bree Serif', serif;
		font-size: 30px;
		font-weight: normal;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd{
		color: #ffffff;
		font-family: 'Noto Serif JP', serif;
		font-size: 36px;
		font-weight: 500;
		line-height: 52px;
		letter-spacing: 0.03em;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd span{
		display: inline-block;
		padding: 5px 8px;
		background-color: #004ea2;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd span.kerning-left,
	.flow-index main .contents-block .heading-contents .inner dl dd span.kerning-right,
	.flow-index main .contents-block .heading-contents .inner dl dd span.kerning-center{
		background-color: transparent;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd.pc{
		display: block;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd.sp{
		display: none;
	}
	.flow-index main .contents-block#sales .heading-contents{
		background: url(../img/_ph_sales.jpg) right top no-repeat;
	}
	.flow-index main .contents-block#plan .heading-contents{
		background: url(../img/_ph_planning.jpg) right top no-repeat;
	}
	.flow-index main .contents-block#eng .heading-contents{
		background: url(../img/_ph_engineering.jpg) right top no-repeat;
	}
	.flow-index main .contents-block#proc .heading-contents{
		background: url(../img/_ph_procurement.jpg) right top no-repeat;
	}
	.flow-index main .contents-block#cons .heading-contents{
		background: url(../img/_ph_construction.jpg) right top no-repeat;
	}
	.flow-index main .contents-block#comp .heading-contents{
		background: url(../img/_ph_completion.jpg) right top no-repeat;
	}
	.flow-index main .contents-block#ope .heading-contents{
		background: url(../img/_ph_operation.jpg) right top no-repeat;
	}
	.flow-index main .contents-block#mainte .heading-contents{
		background: url(../img/_ph_maintenance.jpg) right top no-repeat;
	}
	.flow-index main .contents-block#repren .heading-contents{
		background: url(../img/_ph_repren.jpg) right top no-repeat;
	}
	.flow-index main .contents-block .description{
		margin-top: 50px;
		padding-left: 60px;
		font-size: 16px;
		line-height: 34px;
	}
}

@media all and (max-width: 768px){
	.flow-index .page-title{
		background-image: url(../img/sp/_pag_ttl_bg.jpg);
	}
	.flow-index main .heading-text{
		margin-right: auto;
		margin-left: auto;
		padding-top: 12vw;
	}
	.flow-index main .heading-text h2{
		font-family: 'Noto Serif JP', serif;
		font-size: 4.8vw;
		font-weight: 400;
		text-align: center;
		line-height: 8vw;
	}
	.flow-index main .heading-text .lead{
		margin-top: 40px;
		font-size: 13px;
		line-height: 23px;
	}
	.flow-index main .heading-text .flow{
		position: relative;
		width: 76vw;
		margin-top: 8vw;
		margin-right: auto;
		margin-bottom: 13.33333vw;
		margin-left: auto;
	}
	.flow-index main .heading-text .flow .arrow1{
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		position: absolute;
		top: 30px;
		right: -4vw;
		width: 4vw;
		height: calc(100% - 60px);
		border-top: 0.53333vw solid #b3bbc5;
		border-right: 0.53333vw solid #b3bbc5;
		border-bottom: 0.53333vw solid #b3bbc5;
	}
	.flow-index main .heading-text .flow .arrow1::before{
		display: block;
		position: absolute;
		top: -9px;
		left: 0;
		width: 0;
		height: 0;
		border-width: 8.5px 9px 8.5px 0;
		border-style: solid;
		border-color: transparent #b3bbc5 transparent transparent;
		content: '';
	}
	.flow-index main .heading-text .flow .arrow2{
		display: none;
	}
	.flow-index main .heading-text .flow ul{
		/* flex */
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		        flex-direction: column;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		-webkit-box-direction: normal;
		-webkit-box-orient: vertical;
		-webkit-box-pack: center;
		-ms-flex-align: center;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		-ms-flex-pack: center;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.flow-index main .heading-text .flow ul li{
		position: relative;
		width: 100%;
		border-top: 0.26667vw solid #b3bbc5;
		border-right: 0.26667vw solid #b3bbc5;
		border-left: 0.26667vw solid #b3bbc5;
		text-align: center;
	}
	.flow-index main .heading-text .flow ul li::before{
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		width: 0;
		height: 0;
		margin-left: -9px;
		border-width: 9px 8.5px 0 8.5px;
		border-style: solid;
		border-color: #b3bbc5 transparent transparent transparent;
		content: '';
	}
	.flow-index main .heading-text .flow ul li:last-child{
		border-bottom: 1px solid #b3bbc5;
	}
	.flow-index main .heading-text .flow ul li:first-child::before{
		display: none;
	}
	.flow-index main .heading-text .flow ul li a{
		display: block;
		color: #333333;
	}
	.flow-index main .heading-text .flow ul li dl{
		/* flex */
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		        flex-direction: column;
		height: 60px;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		-webkit-box-direction: normal;
		-webkit-box-orient: vertical;
		-webkit-box-pack: center;
		-ms-flex-align: center;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.flow-index main .heading-text .flow ul li dl dt{
		color: #a7b2bd;
		font-family: 'Bree Serif', serif;
		font-size: 13px;
	}
	.flow-index main .heading-text .flow ul li dl dd{
		font-family: 'Noto Serif JP', serif;
		font-size: 17px;
		font-weight: 500;
	}
	.flow-index main .heading-text .flow ul li .arw{
		/* flex */
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		position: absolute;
		top: 50%;
		right: 15px;
		width: 23px;
		height: 23px;
		margin-top: -12px;
		border-radius: 100%;
		background-color: #f5f7f9;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		-webkit-box-pack: center;
		-ms-flex-align: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.flow-index main .heading-text .flow ul li .arw::before{
		display: block;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-bottom: 2px solid #004ea2;
		border-left: 2px solid #004ea2;
		content: '';
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
	.flow-index main .contents-block{
		width: 92%;
		margin-top: -30px;
		margin-right: auto;
		margin-bottom: 30px;
		margin-left: auto;
		padding-top: 30px;
		padding-bottom: 30px;
		border-bottom: 1px solid #e4e6e7;
	}
	.flow-index main .contents-block:last-of-type{
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
	.flow-index main .contents-block .heading-contents{
		padding-top: 62.03%;
	}
	.flow-index main .contents-block .heading-contents .inner{
		padding-top: 10px;
	}
	.flow-index main .contents-block .heading-contents .inner .num{
		color: #e8ecf0;
		font-family: 'Noto Serif JP', serif;
		font-size: 45px;
		font-weight: 700;
		font-style: italic;
		text-align: center;
		line-height: 1;
	}
	.flow-index main .contents-block .heading-contents .inner dl{
		margin-top: -20px;
	}
	.flow-index main .contents-block .heading-contents .inner dl dt{
		color: #004ea2;
		font-family: 'Noto Serif JP', serif;
		font-size: 27px;
		font-weight: 700;
		text-align: center;
		line-height: 1;
	}
	.flow-index main .contents-block .heading-contents .inner dl dt span{
		display: inline-block;
		margin-bottom: 10px;
		color: #6a9fd9;
		font-family: 'Bree Serif', serif;
		font-size: 18px;
		font-weight: normal;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd{
		margin-top: 5.33333vw;
		color: #ffffff;
		font-family: 'Noto Serif JP', serif;
		font-size: 5.6vw;
		font-weight: 500;
		text-align: center;
		line-height: 8vw;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd span{
		display: inline-block;
		padding: 3px 8px;
		background-color: #004ea2;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd span.kerning-left,
	.flow-index main .contents-block .heading-contents .inner dl dd span.kerning-right,
	.flow-index main .contents-block .heading-contents .inner dl dd span.kerning-center{
		background-color: transparent;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd.pc{
		display: none;
	}
	.flow-index main .contents-block .heading-contents .inner dl dd.sp{
		display: block;
	}
	.flow-index main .contents-block#sales .heading-contents{
		background: url(../img/_ph_sales.jpg) center top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block#plan .heading-contents{
		background: url(../img/_ph_planning.jpg) right top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block#eng .heading-contents{
		background: url(../img/_ph_engineering.jpg) right top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block#proc .heading-contents{
		background: url(../img/_ph_procurement.jpg) right top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block#cons .heading-contents{
		background: url(../img/_ph_construction.jpg) right top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block#comp .heading-contents{
		background: url(../img/_ph_completion.jpg) right top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block#ope .heading-contents{
		background: url(../img/_ph_operation.jpg) right top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block#mainte .heading-contents{
		background: url(../img/_ph_maintenance.jpg) right top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block#repren .heading-contents{
		background: url(../img/_ph_repren.jpg) right top no-repeat;
		background-size: 100% auto;
	}
	.flow-index main .contents-block .description{
		margin-top: 30px;
		font-size: 13px;
		line-height: 23px;
	}
}
