.mainbg{
 background: url(../img/academy/bg_l.gif) no-repeat left -900px top 350px , url(../img/academy/bg_r.gif) no-repeat right -900px top 350px;
 background-size: auto 85%;
}

#sec_mv{
 background: url(../img/academy/mv_bg.png) repeat-x;
 background-size: auto 100%;
 height: 549px;
 display: flex;
 align-items: center;
 justify-content: center;
 box-sizing: border-box;
 position: relative;
 overflow: hidden;
 z-index: 3;
}
#sec_mv .inner{
 background: url(../) no-repeat left bottom;
 box-sizing: border-box;
}
#sec_mv h1 img{
 padding-bottom: 8%;
}
#sec_mv .img{
 position: absolute;
 bottom: 0px;
 left: 50%;
 transform: translateX(-230%);
}

.box{
 border: solid 2px #51433B;
 border-radius: 20px;
 padding: 30px 30px 100px;
 overflow: hidden;
 position: relative;
 background: #fff;
}
.box:before{
 display: block;
 content: "";
 background: url(../img/academy/mv_img.png) no-repeat;
 background-size: cover;
 width: 100px;
 height: 100px;
 position: absolute;
 right: 30px;
 bottom: 0px;
}
.box .option{
 margin-top: 25px;
 padding-top: 25px;
 border-top:solid 1px #ccc;
}

.box2{
 display: inline-block;
}
.box2:before{
 display: block;
 content: "";
 height: 60px;
 background: url(../img/academy/frame_head.png) no-repeat center center;
 background-size: auto 100%;
}
.box2 .inner{
 padding: 30px 80px;
 background: url(../img/academy/frame_l.png) no-repeat left center , url(../img/academy/frame_r.png) no-repeat right center , #D79D45;
 border-radius: 15px;
 box-shadow: 0px 10px 0px #9A6C29;
 min-height: 250px;
}
.box2 .inner h3{
 padding: 0px 1em;
}
.box2 .secList{
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}
.box2 .secList li{
 text-align: center;
}
.box2 .secList img{
 width: 100px;
 height: 100px;
 border-radius: 50%;
 border: solid 3px var(--main-color);
 margin: 10px;
}

.border{
 border: solid 2px var(--main-color);
}

/*
===================================================
	sp
===================================================
*/
@media screen and (max-width: 1257px) {
 .mainbg{
  background: none;
  width: 100%;
  overflow-x: hidden;
 }
 #sec_mv{
  height: 40vw;
 }
 #sec_mv h1 img{
  width: 70%;
  height: auto;
  max-width: none;
 }
 #sec_mv h1 img{
  padding-bottom: 3%;
 }
 #sec_mv .img{
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-230%);
  width: 20%;
  height: auto;
 }
 #sec_01,
 #sec_02,
 #sec_03,
 #sec_04{
  position: relative;
  width: 100%;
 }
 #sec_01 .inner,
 #sec_02 .inner,
 #sec_03 .inner,
 #sec_04 .inner{
  position: relative;
  z-index: 3;
 }
 #sec_01:before,
 #sec_01:after,
 #sec_02:before,
 #sec_02:after,
 #sec_03:before,
 #sec_03:after,
 #sec_04:before,
 #sec_04:after{
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
 }
 #sec_01:before{
  background: url(../img/academy/bg_sp_l1.gif) no-repeat;
  width: 185px;
  height: 146px;
  left: -80px;
  top: -50px;
 }
 #sec_01:after{
  background: url(../img/academy/bg_sp_r1.gif) no-repeat;
  width: 185px;
  height: 143px;
  right: -80px;
  top: -50px;
 }
 #sec_02:before{
  background: url(../img/academy/bg_sp_l2.gif) no-repeat;
  width: 192px;
  height: 146px;
  left: -80px;
  top: 0px;
 }
 #sec_02:after{
  background: url(../img/academy/bg_sp_r2.gif) no-repeat;
  width: 184px;
  height: 143px;
  right: -80px;
  top: 0px;
 }
 #sec_03:before{
  background: url(../img/academy/bg_sp_l3.gif) no-repeat;
  width: 185px;
  height: 146px;
  left: -80px;
  top: 0px;
 }
 #sec_03:after{
  background: url(../img/academy/bg_sp_r3.gif) no-repeat;
  width: 185px;
  height: 143px;
  right: -80px;
  top: 0px;
 }
 #sec_04:before{
  background: url(../img/academy/bg_sp_l4.gif) no-repeat;
  width: 185px;
  height: 143px;
  left: -80px;
  top: 0px;
 }
 #sec_04:after{
  background: url(../img/academy/bg_sp_r4.gif) no-repeat;
  width: 185px;
  height: 146px;
  right: -80px;
  top: 0px;
 }

 .box{
  padding: 15px 15px 100px;
 }
 .box:before{
  right: 20px;
 }
 .box2 .inner{
  padding: 20px 15px;
  background: url(../img/academy/frame_l.png) no-repeat left center , url(../img/academy/frame_r.png) no-repeat right center , #D79D45;
  border-radius: 15px;
  box-shadow: 0px 10px 0px #9A6C29;
  min-height: 250px;
  min-width: 300px;
 }
 .box2 .secList img{
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: solid 3px var(--main-color);
  margin: 5px;
 }
}


/*
===================================================
	sp small
===================================================
*/
@media screen and (max-width: 350px) {
 .box2 .inner{
  padding: 15px 10px;
  background: url(../img/academy/frame_l.png) no-repeat left center , url(../img/academy/frame_r.png) no-repeat right center , #D79D45;
  border-radius: 15px;
  box-shadow: 0px 10px 0px #9A6C29;
  min-height: 220px;
  min-width: 280px;
 }
}