@charset "utf-8";

/* ============================================================================================== */
/* Layout                                                                                         */
/* ============================================================================================== */

.catch {
	text-align: center;
	font-size: 2.5rem;
	font-weight: 600;
	letter-spacing: .05em;
	margin-bottom: 70px;
}

/* ourpolicy -------------------- */

.ourpolicy {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	-webkit-align-items: center;
	        align-items: center;
}

.ourpolicy .illustration-area,
.ourpolicy .description-area {
	width: 50%;
}

.ourpolicy .illustration-area img {
	width: 100%;
}

.flow-item {
	border: dotted 2px rgba(0,0,0,1);
	box-sizing: border-box;
	margin-bottom: 20px;
	padding: 10px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	        align-items: center;
	position: relative;
}

.flow-item:after {
	content: "";
	display: block;
	width: 35px;
	height: 40px;
	background: url(../images/ourpolicy/arrow_down.png) no-repeat left top;
	background-size: 100% 100%;
	position: absolute;
	left: calc(50% - 17px);
	bottom: -30px;
	z-index: 10;
}

.flow-item:last-child:after {
	content: none;
}

.flow-item .badge {
	width: 40px;
	height: 40px;
	line-height: 40px;
	border: solid 2px rgba(0,0,0,1);
	border-radius: 50%;
	background-color: #fff;
	font-size: 1.3rem;
	font-weight: 600;
	color: rgba(0,0,0,1);
	text-align: center;
}

.flow-item .txt {
	width: calc(100% - 40px);
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.3;
	color: rgba(0,0,0,1);
	margin-left: .5em;
}

.ourpolicy .description {
	line-height: 1.8;
}

.ourpolicy .part-title {
	margin-bottom: 1.2em;
}

/* loopslider -------------------- */

#loopslider {
	width: 100%;
	height: 250px;
	position: relative;
	overflow: hidden;
}
 
#loopslider ul {
	height: 100%;
	float: left;
	display: inline;
	overflow: hidden;
}
 
#loopslider ul li {
	width: 333px;
	height: 100%;
	float: left;
	display: inline;
	overflow: hidden;
}

#loopslider ul li img {
	width: 100%;
	height: 100%;
}

/* symbolmark -------------------- */

.basic-bg {
	padding: 100px 0;
}

.symbolmark {
	background-color: #fff;
	padding: 60px;
	box-sizing: border-box;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	-webkit-align-items: center;
	        align-items: center;
}

.symbolmark .mark {
	width: 250px;
}

.symbolmark .mark img {
	width: 100%;
	vertical-align: bottom;
}

.symbolmark .description {
	width: calc(100% - 300px);
}

.symbolmark .description p {
	line-height: 1.8;
}

/* ============================================================================================== */
/* Media query                                                                                    */
/* ============================================================================================== */

@media screen and (max-width: 960px) {

	.catch {
		font-size: 1.8rem;
		text-align: justify;
		margin-bottom: 30px;
	}

	.catch br {
		display: none;
	}

	/* ourpolicy -------------------- */

	.ourpolicy {
		-webkit-flex-direction: column;
		        flex-direction: column;
	}

	.ourpolicy .illustration-area,
	.ourpolicy .description-area {
		width: 100%;
	}

	.ourpolicy .illustration-area {
		text-align: center;
		margin-bottom: 20px;
	}

	.ourpolicy .illustration-area img {
		width: 60%;
	}

	/* symbolmark -------------------- */

	.symbolmark {
		-webkit-flex-direction: column;
		        flex-direction: column;
	}

	.symbolmark .mark,
	.symbolmark .description {
		width: 100%;
	}

	.symbolmark .mark {
		text-align: center;
		margin-bottom: 30px;
	}

	.symbolmark .mark img {
		width: 40%;
	}

	.symbolmark .description p {
		text-align: justify;
	}

	.symbolmark .description p.indent br {
		display: none;
	}

}

@media screen and (max-width: 600px) {

	.catch {
		font-size: 1.3rem;
		margin-bottom: 20px;
	}

	/* ourpolicy -------------------- */

	.ourpolicy .illustration-area img {
		width: 80%;
	}

	.flow-item .txt {
		font-size: 1.4rem;
	}

	.flow-item .badge {
		width: 30px;
		height: 30px;
		line-height: 30px;
		font-size: 1.1rem;
	}

	/* symbolmark -------------------- */

	.basic-bg {
		padding: 60px 0;
	}

	.symbolmark {
		padding: 30px;
	}

	.symbolmark .mark {
		margin-bottom: 15px;
	}

}

@media screen and (max-width: 320px) {


}

