@charset "UTF-8";
/* --------------------------------
	style_sp.css
--------------------------------
flowページ用のcssです。
-------------------------------- */

#flow_top {
	background: url(../images/bg_flow.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
	height: 120px;
	width: 100%;
	text-align: center;
}
#flow_top h1 {
	padding-top: 23px;
	box-sizing: border-box;
	font-size: 2.0rem;
	color: #fff;
	font-weight: bold;
	text-shadow: 1px 2px 5px #333333;
	margin: 0;
}

#flow_top p {
	width: 100%;
	text-align: center;
	padding-top: 5px;
	box-sizing: border-box;
	font-size: 1.1rem;
	color: #fff;
	font-weight: bold;
	text-shadow: 1px 2px 5px #333333;
	margin: 0;
	font-family: 'Montserrat', sans-serif;
}

#step {
	margin: 0px auto;
	text-align:center;
	white-space: nowrap;
	background-color:#fbd8d8;
	padding: 5px 0;
}

#step img{
	vertical-align: middle;
}
img.stepM {
	max-width: 100px;
	width : -moz-calc((100% / 5) - 10px);
	width : -webkit-calc((100% / 5) - 10px);
	width : calc((100% / 5) - 10px);
}

img.stepA {
	width: 5px;
	margin: 0;
}

img.stepB {
	width: 50px;
	margin: 0 0px 0 0;
	vertical-align: middle;
}

#step a:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

#step img.stepM:hover {
	animation: flip 1.5s linear;
	animation-iteration-count: 1;
	transform-style: preserve-3d;
}

@keyframes flip {
 0% {
transform: translateY(0px);
}
 75% {
transform: translateY(-5px);
}
 100% {
transform: translateY(0px);
}
}

#step img.stepM:hover {
	animation: flip 1.5s linear;
	animation-iteration-count: 1;
	transform-style: preserve-3d;
}

#step_contents {
	margin: 0px auto;
	box-sizing: border-box;
	font-size: 1.4rem;
	line-height: 1;
	color: #4d4d4d;
	font-family: 'Montserrat', sans-serif;
}
#step_contents p{
	line-height: 1.8;
}

#step_contents h2{
	color: #c04768;
	font-size: 2.0rem;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 12px;
}

#step_contents h2 .step_tit:before {
			content: "\A" ;
			white-space: pre ;
}
#step_contents h2 .step_tit{
	color: #000;
	font-size: 1.6rem;
	margin: 0px 0px 0 20px;
}

#step_contents h3{
	border: solid 1px #c04768;
	padding: 3px;
	display: inline-block;
	font-weight: normal;
	background-color: #c04768;
	color: #fff;
	margin: 0px 0 3px;
}



.step_contentsA {
	background-color:#fff;
	padding: 0 10px;
	position:relative;
	z-index: 100;
}

.step_contentsB {
	background-color:#fbd8d8;
	padding: 0 10px;
	position:relative;
	z-index: 100;
}

.s_inner{
	max-width: 1200px;
	margin: 0px auto;
	padding: 30px 0;
	box-sizing: border-box;
	overflow:hidden;
	width: 100%;
}

.s_inner .box01{
	width: 50%;
	margin: 0 auto;
}

.s_inner .box02{
	width: 100%;
	padding: 0px;
	box-sizing: border-box;
}

img.imgEN {
	border-radius: 50%;
	max-width: 400px;
	vertical-align: top;
	width: 100%;
}


.step_arrow{
	width: 50px;
	margin: 0 auto;
	position:absolute;
	top: -14px;
	z-index: 1000;
	left: calc(50% - 25px);
}

.step_arrow img{
	width: 50px;
}
