
/* CSS Document */

/*==================================================

add-style
=================================================*/

/* flow */

.flow {
	
}
.flow .inner {
	background-image: url(../../flow/images/flow_21.png);
	background-position: center top;
	background-repeat: repeat-y;
	background-size: auto;
	margin-top: 60px;
}
.flow .inner h2 {
	line-height: 180%;
}
.flow .flow-head {
	width: 100%;
	color: #FFF;
	text-align: center;
	position: relative;
	background-color: #2b7ebe;
	padding: 3%;
}
.flow .flow-head:before {
	content: " ";
	width: 61px;
	height: 35px;
	display: block;
	position: absolute;
	background-image: url(../../flow/images/arrow0.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	left: 50%;
	bottom: 0;
	-webkit-transform: translate(-50%, 100%); 
	transform: translate(-50%, 100%);
	z-index: 0;
}
.flow .flow-head p {
	font-size: 2rem;
	text-align: center;
	margin-top: 20px;
}
.flow .flow-head .tel {
	font-family: 'Roboto', sans-serif;
}
.flow .flow-head .tel strong {
	font-size: 5rem;
	font-weight: 500;
	line-height: 100%;
}
.flow .inner > dl {
	width: 100%;
	max-width: 1000px;
	display: table;
	position: relative;
	background-color: #666;
	margin: 100px auto 0;
}
.flow .inner > dl:nth-of-type(1) {
	background-color: #0099cc;
}
.flow .inner > dl:nth-of-type(1):before {
	content: " ";
	width: 61px;
	height: 35px;
	display: block;
	position: absolute;
	background-image: url(../../flow/images/arrow1.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	left: 50%;
	bottom: 0;
	-webkit-transform: translate(-50%, 100%); 
	transform: translate(-50%, 100%);
	z-index: 0;
}
.flow .inner > dl:nth-of-type(2) {
	background-color: #0078cc;
}
.flow .inner > dl:nth-of-type(2):before {
	content: " ";
	width: 61px;
	height: 35px;
	display: block;
	position: absolute;
	background-image: url(../../flow/images/arrow2.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	left: 50%;
	bottom: 0;
	-webkit-transform: translate(-50%, 100%); 
	transform: translate(-50%, 100%);
	z-index: 0;
}
.flow .inner > dl:nth-of-type(3) {
	background-color: #005bcc;
}
.flow .inner > dl:nth-of-type(3):before {
	content: " ";
	width: 61px;
	height: 35px;
	display: block;
	position: absolute;
	background-image: url(../../flow/images/arrow3.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	left: 50%;
	bottom: 0;
	-webkit-transform: translate(-50%, 100%); 
	transform: translate(-50%, 100%);
	z-index: 0;
}
.flow .inner > dl:nth-last-of-type(1) {
	background-color: #4d00cc;
}
.flow .inner > dl dt {
	width: 50%;
	display: table-cell;
	vertical-align: middle;
	overflow: hidden;
}
.flow .inner > dl dd {
	width: 50%;
	display: table-cell;
	position: relative;
	color: #FFF;
	vertical-align: middle;
	text-align: center;
	padding: 5% 1em;
}
.flow .inner > dl dd .att {
	width: 80%;
	position: absolute;
	font-size: 1.8rem;
	line-height: 160%;
	color: #FFF;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: 6px;
	left: 50%;
	bottom: 5%;
	-webkit-transform: translate(-50%, 0); 
	transform: translate(-50%, 0);
	padding: 5px 1em;
}
.flow .flow-section {
	width: 100%;
	max-width: 1000px;
	position: relative;
	color: #FFF;
	text-align: center;
	background-color: #0030cc;
	margin: 100px auto 0;
	padding: 3%;
}
.flow .flow-section:before {
	content: " ";
	width: 61px;
	height: 35px;
	display: block;
	position: absolute;
	background-image: url(../../flow/images/arrow4.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	left: 50%;
	bottom: 0;
	-webkit-transform: translate(-50%, 100%); 
	transform: translate(-50%, 100%);
	z-index: 0;
}
.flow .flow-branch {
	width: 80%;
	max-width: 895px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row nowrap;
	flex-flow: row nowrap;
	
	border: 10px solid #e0e0e0;
	margin: 80px auto;
	padding: 60px 0;
}
.flow .flow-branch dl {
	width: 33.33%;
	position: relative;
	background-color: #0030cc;
}
.flow .flow-branch dl:before {
	content: " ";
	width: 61px;
	height: 35px;
	display: block;
	position: absolute;
	background-image: url(../../flow/images/arrow4.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	left: 50%;
	bottom: 0;
	-webkit-transform: translate(-50%, 100%); 
	transform: translate(-50%, 100%);
	z-index: 0;
}
.flow .flow-branch dl:nth-of-type(1) {
	-webkit-transform: translate(-51.5%, 0); 
	transform: translate(-51.5%, 0);
}
.flow .flow-branch dl:nth-of-type(3) {
	-webkit-transform: translate(51.5%, 0); 
	transform: translate(51.5%, 0);
}
.flow .flow-branch dl dd {
	color: #FFF;
	text-align: center;
	padding: 10% 1em;
}

/* img */
.flow img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

@media only screen and (min-width:1px) and (max-width: 768px) {
	
	.flow .inner {
		margin-top: 8%;
	}
	.flow .flow-head:before {
		width: 40px;
		height: 20px;
	}
	.flow .flow-head p {
		font-size: 1.6rem;
		margin-top: 0;
	}
	.flow .flow-head .tel {
		margin-top: 5px;
	}
	.flow .flow-head .tel strong {
		font-size: 3.5rem;
		font-weight: 500;
		line-height: 100%;
	}
	.flow .inner > dl {
		margin: 10% auto 0;
	}
	.flow .inner > dl:nth-of-type(1):before {
		width: 40px;
		height: 20px;
	}
	.flow .inner > dl:nth-of-type(2):before {
		width: 40px;
		height: 20px;
	}
	.flow .inner > dl:nth-of-type(3):before {
		width: 40px;
		height: 20px;
	}
	.flow .inner > dl:nth-of-type(3) dt img {
		width: 125%;
		max-width: 125%;
		height: auto;
	}
	.flow .inner > dl dd .att {
		width: 100%;
		position: relative;
		font-size: 1.4rem;
		line-height: 160%;
		left: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, 0);
		-webkit-transform: translate(0, 0); 
		transform: translate(0, 0);
		padding: 0;
	}
	.flow .flow-section {
		margin: 10% auto 0;
	}
	.flow .flow-section:before {
		width: 40px;
		height: 20px;
	}
	.flow .flow-branch {
		width: 80%;
		margin: 8% auto;
		padding: 6% 0;
	}
	.flow .flow-branch dl:before {
		width: 40px;
		height: 20px;
	}
	.flow .flow-branch dl:nth-of-type(1) {
		-webkit-transform: translate(-53%, 0); 
		transform: translate(-53%, 0);
	}
	.flow .flow-branch dl:nth-of-type(3) {
		-webkit-transform: translate(53%, 0); 
		transform: translate(53%, 0);
	}
	.flow .flow-branch dl dd {
		padding: 10% .5em;
	}
	.flow .flow-branch dl dd h3 {
		font-size: 2.2vw;
		line-height: 3.6vw;
	}
	
}

@media only screen and (min-width:1px) and (max-width: 568px) {
	
	.flow .inner h2 {
		font-size: 1.6rem;
	}

}
	
@media only screen and (min-width:1px) and (max-width: 480px) {
	

}

