.icon_box h3{
	margin-top: 15px;
}
.preparation_contents{
    text-align: center;
	background-color: #fff;
}

.main-inner{
	max-width: 1350px;
	padding: 0px 20px;
	width: 100%;
	margin: 0 auto;
}

#sec1{
	padding-top: 100px;
	padding-bottom: 100px;
}
#sec1 .preparation_t_ttl{
	font-size: 40px;
    font-weight: bold;
    margin-bottom: 45px;
	color: #65116e;
}
#sec1 .preparation_t_txt{
	font-size: 23px;
    font-weight: bold;
	color: #59505b;
}

#sec2{
    /*padding-top: 100px;*/
    padding-bottom: 100px;
}

#sec2 .preparation_step_list{
	position: relative;
	margin-top: 150px;
}
#sec2 .preparation_step_list:first-child{
	margin-top: 0px;
}
	#sec2 .p_step_ttl{
		display: flex;
	    justify-content: center;
	    align-items: center;
		width: 135px;
	    height: 135px;
	    background: #fff;
	    border: 2px solid #d097c7;
	    border-radius: 50%;
		/*position: absolute;*/
		position: relative;
	    z-index: 0;
	    /*top: -95px;*/
	    /*left: -85px;*/
	    
	}
		#sec2 .p_step_ttl p{
			width: 200px;
		    line-height: 60px;
		    text-align: left;
		    color: #ac3188;
		    font-size: 24px;
		    font-weight: bold;
		    background: #fff;
		    position: absolute;
		    z-index: 2;
		    left: 35%;
		}
		#sec2 .step2 .p_step_ttl p{
			left: 20%;
		}
		#sec2 .step3 .p_step_ttl p{
			left: 20%;
		}
			#sec2 .p_step_ttl p span{
				font-size: 32px;
			}
	#sec2 .p_step_contents{
	    position: relative;
		max-width: 1000px;
		/*margin: 0 auto;*/
	    margin-left: 150px;
	    margin-right: 150px;
	    margin-top: -30px;
		border-top: 1px dotted #65116e;
	}
		#sec2 .step_txt{
		    text-align: left;
		    margin: 24px auto 0px auto;
		    color: #59505b;
		    font-size: 23px;
		    font-weight: bold;
		}
		#sec2 .step_flex{
		    display: flex;
		    flex-direction: row;
		    flex-wrap: nowrap;
		    justify-content: center;
		    margin-top: 55px;
		}
			#sec2 .step_left{
			    display: flex;
			    flex-direction: column;
			    align-items: center;
			    justify-content: flex-start;
			    max-width: 330px;
			    margin-right: 50px;
			    width: 100%;
			}
				#sec2 .step_left a{
				    width: 100%;
				    padding: 30px 0px;
				    color: #d097c7;
				    font-size: 20px;
				    font-weight: bold;
				    border: 1px solid #d097c7;
				    border-radius: 15px;
					background-image: url(../images/preparation/step_a_icon.png);
				    background-repeat: no-repeat;
					background-position: right 10px top 49%;
				    box-shadow: 2px 2px 5px #0000006b;
				}
				#sec2 .step_left a:hover{
					color: #fff;
					background-color: #d097c7;
					background-image: url(../images/preparation/step_a_icon_hover.png);
				}
				
				#sec2 .step_left a:nth-child(2){
				    margin: 45px 0px;
					opacity: 1 !important;
				}
			#sec2 .step_right{
				max-width: 495px;
			    width: 100%;
			}
				#sec2 .step_right img{
					max-width: 495px;
				    width: 100%;
				}
			
			#sec2 .step_line{
				margin: 0px;
			    border: 0px;
			    position: absolute;
			    width: 2px;
			    height: 70%;
			    background: #d097c7;
			    bottom: 0px;
			    left: 70px;
			}
			
			#sec2 .step3 .step_flex{
				display: flex;
			    flex-direction: column;
			    align-items: center;
			}
			#sec2 .step3 .step_banner{
				max-width: 960px;
			    margin: 50px auto 0px auto;
			}
			#sec2 .step3 .step_banner img{
				width: 100%;
			}
			
.sp_480_show{
	display: none;
}

@media screen and (max-width: 1100px){
	
}
@media screen and (max-width: 820px){
	#sec2{
		/*padding-top: 40px;*/
	}
	#sec2 .p_step_contents{
		margin-right: 50px;
	}
	#sec2 .step_flex{
		display: flex;
	    flex-direction: column;
	    flex-wrap: nowrap;
	    justify-content: center;
	    align-items: center;
	}
	#sec2 .step_left{
		margin-right: 0px;
	}
	#sec2 .step_right{
		margin-top: 30px;
	}
	#sec2 .step_line{
		height: 75%;
	}
	#sec2 .preparation_step_list{
		margin-top: 75px;
	}
}
@media screen and (max-width: 768px){
	
}
@media screen and (max-width: 480px){
	.sp_480_show{
		display: block;
	}
	.icon_box img{
		max-width: 60px;
	}
	.icon_box h3{
		margin-top: 5px;
	}
	#sec1{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	#sec1 .preparation_t_ttl{
		font-size: 26px;
	    margin-bottom: 25px;
	}
	#sec1 .preparation_t_txt{
		font-size: 16px;
	}
	#sec2 .p_step_ttl{
		width: 90px;
	    height: 90px;
	}
	#sec2 .p_step_ttl p{
	    font-size: 20px;
	    line-height: 45px;
	}
	#sec2 .p_step_ttl p span{
		font-size: 24px;
	}
	#sec2 .p_step_contents{
		margin-top: -15px;
	    margin-left: 30px;
	    margin-right: 15px;
	    border-top: 0px;
	}
	#sec2 .step_txt{
		font-size: 16px;
		margin-top: 0px;
	    padding-top: 40px;
	    position: relative;
	}
	#sec2 .step_line {
	    height: 88%;
	    left: 10px;
	}
	#sec2 .step_txt:after{
		content: '';
	    display: block;
	    width: 100%;
	    height: 1px;
	    border-top: 1px dotted #65116e;
	    position: absolute;
	    top: -1px;
	    right: 0px;
	    width: 80%;
	}
}
@media screen and (max-width: 375px){
	
}