@charset "UTF-8";


/* SP：ウィンドウ幅が0?750pxの場合に適用するCSS */
@media screen and ( max-width:750px )
{	
	/****** INTRODUCTION ******/
	.wrapper_intro{
		width: 90vw;
		margin: 0 auto 0 auto;
	}
	
	.wrapper_intro::before,
	.wrapper_intro::after{
		content: " ";
		display: inline-block;
		width: 100%;
		height: 8px;
		background-image: url("../images/common/img_line.svg");
  	background-size: contain;
	}
	
		.box_intro{
		background: #ffffff;
		width: 100%;
		padding: 5vw;
		box-sizing: border-box;
		display: block;
		justify-content: space-between;
	}
	
	.box_intro div,
	.box_intro > img{
		width: 100%;
	}
	
	.box_intro > img{
		margin-bottom: 3vw;
	}
	
	.box_intro h2{
		margin-bottom: 5vw;
	}
	
	/****** COURSE ******/
	.wrapper_course{
		width: 100%;
		margin-bottom: 10vw;
	}
	.wrapper_course > h3{
		width: 100%;
		margin: 10vw auto 5vw auto;
		text-align: center;
	}
	.wrapper_course > h3 img{
		width: 75vw;
		height: auto;
		margin: 20px auto;
	}
	.wrapper_course > h3 p{
		display: flex;
		justify-content: center;
		align-items: center;
		background: url("../images/top/bg_ribbon_sp.png") no-repeat;
		background-size: 100% 100%;;
		width: 90vw;
		height: 12vw;
		margin-bottom: 5vw;
		box-sizing: border-box;
		font-size: 4vw;
		color: #ffffff;
	}
	.wrapper_course > p{
		display: block;
		margin: 6vw 0 10vw 0;
		text-align: center;
	}
	.box_course{
		display: flex;
		justify-content: space-between;
	}
	.box_course > ol{
		width: 85vw;
		margin: 0 auto;
		font-size: 0.875em;
	}
	.box_course > ol li{
		margin-bottom: 10px;
		font-weight: bold;
		line-height: 1.3;
	}
	.box_course > ol li a{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 10px 15px;
		box-sizing: border-box;
		border-radius: 60px;
	}
	.box_course > ol > li > a > span{
		display: block;
  width: 30px;
  height: 30px;
  border: 1px solid black;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
		color: #ffffff;
		line-height: 1;
	}
	.box_course > ol > li > a > span > span{
		display: block;
  width: 28px;
  height: 28px;
  padding-top: 5px;
		background: #000000;
  border: 2px solid #ffffff;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
	line-height: 1;
	}
	.box_course > ol li p{
		width: 100%;
		background: url("../images/common/icon_arrow_black.svg") no-repeat center right;
		padding: 0 20px 0 15px;
		color: #000000;
	}
	.box_course > ol li a:hover{
		text-decoration: none;
		opacity: 0.8;
	}
	.box_course > ol li.btn_fukushima a{
		background: #98E0F2;
	}
	.box_course > ol li.btn_ibaraki a{
		background: #C5EB8F;
	}
	
	
	/****** JOIN ******/
	.wrapper_join{
		width: 100%;
		padding: 5vw;
		box-sizing: border-box;
		border-radius: 40px;
		border: 6px solid  #E2E2E2;
		background: #fff;
	}
	.wrapper_join h3{
		width: 40vw;
		height: auto;
		margin: 0 auto 10vw auto;
	}
	.box_join{
	}
	.box_step{
		background: #EDF0B7;
		width: 100%;
		box-sizing: border-box;
		padding: 20px 20px;
		border-radius: 20px;
		position: relative;
		text-align: center;
	}
	.box_step:nth-of-type(1),
	.box_step:nth-of-type(2),
	.box_step:nth-of-type(3){
		margin-bottom: 5vw;
	}
	.box_step .box_step_num{
		position: absolute;
		top: -10px;
		left: -10px;
		display: block;
  width: 48px;
  height: 48px;
  border: 2px solid black;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
		color: #000000;
		font-size: 1.2em;
		font-weight: bold;
		line-height: 1;
	}
	.box_step .box_step_num span{
		display: block;
  width: 44px;
  height: 44px;
  padding-top: 10px;
	background: #FFDA00;
  border: 2px solid #ffffff;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
	line-height: 1;
	}
	
	.box_step p{
		width: 100%;
		padding: 0 0 15px 30px;
		box-sizing: border-box;
		font-size: 0.825em;
		font-weight: bold;
		text-align: left;
	}
	.box_step img{
		margin: 0 auto;
	}
	.box_step:nth-of-type(1) img{
		width: 60%;
		height: auto;
		margin: 0 auto 1vw auto;
	}
	.box_step:nth-of-type(2) img,
	.box_step:nth-of-type(3) img{
		width: 80%;
		height: auto;
		margin: 0 auto;
	}
	.wrapper_join dl{
		margin-top: 3vw;
		font-size: 0.75em;
		line-height: 1.4;
	}
	.wrapper_join dl dt{
		font-weight: bold;
	}
	.wrapper_join dl ol li{
		padding-left: 2.7em;
		text-indent: -2.7em;
	}
	.wrapper_join dl ul li{
		padding-left: 1em;
		text-indent: -1em;
	}
	.wrapper_join dl ul{
		margin-top: 1em;
	}
  /****** APP ******/
  .wrapper_app {
    width: 100%;
		margin: 10vw 0;
    padding: 5vw;
    box-sizing: border-box;
    border: 6px solid #62B9D5;
    background: #fff;
  }
  .wrapper_app h3 {
		margin-bottom: 5vw;
    font-size: 1.5em;
    font-weight: bold;
    color: #62B9D5;
		text-align: center;
  }
  .wrapper_app p {
		margin-bottom: 5vw;
    font-size: 0.75em;
    line-height: 1.4;
  }
  .wrapper_app ul {
		width: 80%;
		margin: 0 auto;
  }
	.wrapper_app ul li{
		margin-top: 5vw;
	}
	.wrapper_app ul li a:hover{
		opacity: 0.7;
	}
	/****** SNS ******/
	.box_sns{
		display: flex;
		justify-content: space-between;
		width: 70vw;
		margin: 0 auto;
	}
	.box_sns li{
		width: 28%;
	}
	.box_sns li a:hover{
		opacity: 0.7;
	}
}