@charset "UTF-8";


  @import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;700&display=swap');


html{
  font-size: 100%;
}
body{
  font-size: 20px;
  color: #765129;
  letter-spacing: 0em;
  line-height: 1.87em;
  background: #fff;
  font-weight: 700;
  text-align: justify;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.tb ,.tbsp ,.sp{
  display: none;
}
@media screen and (max-width: 834px) {
  .tb{
    display: block;
  }
  .tbsp{
    display: block;
  }
  .pc{
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .sp{
    display: block;
  }
  .pc , .tb{
    display: none;
  }
  .pctb{
    display: none;
  }
}
figure{
  line-height: 0;
}
img{
  width: 100%;
}
h2{
  font-size: 40px;
  text-align: center;
  line-height: 1.78em;
  font-weight: 700;
}
h3{
  font-size: 33px;
  line-height: 1.78em;
  font-weight: 700;
}
h4{
  font-size: 27px;
  font-weight: 700;
  line-height: 1.5em;
}
span.red{
  color: #F74F6C;
}
span.fontL{
  font-size: 60px;
}
span.fontM{
  font-size: 38px;
}
span.marker{
  background:linear-gradient(transparent 60%, #FCFD0F 60%);
}
.ttlBox{
  margin-bottom: 50px;
}
p{
  font-size: 20px;
  color: #765129;
  letter-spacing: 0em;
  line-height: 1.78em;
  font-weight: 700;
  text-align: justify;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
ul li{
  font-size: 20px;
  color: #765129;
  letter-spacing: 0em;
  line-height: 1.78em;
  font-weight: 700;
  text-align: justify;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
@media screen and (max-width: 640px) {
  p{
    font-size: 14px;
  }
  ul li{
    font-size: 14px;
  }

  h2{
    font-size: 22px;
  }
  h3{
    font-size: 20px;
  }
   h4{
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5em;
  }
  .ttlBox{
    margin-bottom: 30px;
  }
  span.fontL{
    font-size: 42px;
  }
  span.fontM{
    font-size: 30px;
  }

}
a{
  text-decoration: none;
  transition-duration: .5s;

}
a:hover{
  transition-duration: .5s;
}
img{
  width: 100%;
}
li{
  list-style: none;
}
.main{
  width: 100%;
  max-height: 700px;
  /* max-width: 1558px;
  padding-top: 80px; */
  background: url(../img/bg.jpg) top left no-repeat;
  background-size: cover;
}
.mainFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90%;
  margin-left: auto;
}
.mainFlex .detailBox{
  max-width: 634px;
  width: 37%;
  padding: 93px 0 0;
}
.mainFlex .photoBox{
  width: 62%;
}
.mainFlex .photoBox img{
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1920px) {
  .mainFlex .photoBox img{
    height: 700px;
    object-fit: cover;
  }
}
.btnMain{
  max-width: 406px;
  position: relative;
  margin: 0 auto;
  width: 90%;
  margin-top: 75px;
}
.btnMain a {
  width: 100%;
  text-align: center;
  background:#F74F6C url(../img/ico_triangle_white.svg) left 93% center no-repeat;
  background-size: 12px auto;
  display: inline-block;
  padding: 15px 10px;
  box-sizing: border-box;
  font-size: 24px;
  border-radius: 50px;
  border: 1px #F74F6C solid;
  color: #fff;
}
.btnMain a:hover {
  background:#fff url(../img/ico_triangle_pink.svg) left 93% center no-repeat;
  background-size: 12px auto;
  color: #F74F6C;
}
.btnMain::before{
  position: absolute;
  background: url(../img/btntxt_main.svg)  center no-repeat;
  background-size: 100% auto;
  display: block;
  content: "";
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 377px;
  height: 22px;
  z-index: 10;
}
.btnLine{
  max-width: 406px;
  position: relative;
  margin: 0 auto;
  width: 90%;
  margin-top: 75px;
}
.btnLine a {
  width: 100%;
  text-align: center;
  background:#04C755 url(../img/ico_triangle_white.svg) left 93% center no-repeat;
  background-size: 12px auto;
  display: inline-block;
  padding: 15px 10px;
  box-sizing: border-box;
  font-size: 24px;
  border-radius: 50px;
  border: 1px #04C755 solid;
  color: #fff;
}
.btnLine a:hover {
  background:#fff url(../img/ico_triangle_green.svg) left 93% center no-repeat;
  background-size: 12px auto;
  color: #04C755;
}
.btnCv{
  max-width: 455px;
  position: relative;
  margin: 0 auto;
  width: 100%;
}
.btnCv a {
  width: 100%;
  text-align: center;
  background:#fff url(../img/ico_triangle_pink.svg) left 98% center no-repeat;
  background-size: 12px auto;
  display: inline-block;
  padding: 15px 10px;
  box-sizing: border-box;
  font-size: 24px;
  border-radius: 50px;
  border: 3px #F74F6C solid;
  color: #F74F6C;
}
.btnCv a:hover {
  background:#F74F6C url(../img/ico_triangle_white.svg) left 98% center no-repeat;
  background-size: 12px auto;
  color: #fff;
  border: 3px #fff solid;
}
.btnCv::before{
  position: absolute;
  background: url(../img/btntxt_cv.svg)  center no-repeat;
  background-size: 100% auto;
  display: block;
  content: "";
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 368px;
  height: 28px;
  z-index: 10;
}
@media screen and (max-width: 1440px) {
  .mainFlex .detailBox{
    width: 34%;
    padding: 60px 0 0;
  }
}
@media screen and (max-width: 1200px) {
  .mainFlex .detailBox{
    width: 34%;
    padding: 50px 0 0;
  }
  .btnMain{
    margin-top: 60px;
  }
  .btnMain::before{
    background-size: 80% auto;
    top: -30px;
  }
  .btnLine{
    margin-top: 60px;
  }
}
@media screen and (max-width: 1000px) {
  .mainFlex{
    align-items: center;
  }
  .mainFlex .detailBox{
    padding: 0;
  }
  .btnMain{
    margin-top: 50px;
  }
  .btnMain::before{
    background-size: 70% auto;
    top: -30px;
  }
  .btnMain{
    margin-top: 50px;
  }
  .btnMain a {
    background:#F74F6C url(../img/ico_triangle_white.svg) left 93% center no-repeat;
    background-size: 12px auto;
    padding: 5px;
    font-size: 20px;
  }
  .btnLine{
    margin-top: 50px;
  }
  .btnLine a {
    background:#04C755 url(../img/ico_triangle_white.svg) left 93% center no-repeat;
    background-size: 12px auto;
    padding: 5px;
    font-size: 20px;
  }
}
@media screen and (max-width: 834px) {
  .btnMain::before{
    background-size: 55% auto;
    top: -20px;
  }
  .btnMain{
    margin-top: 50px;
  }
  .btnMain a {
    background:#F74F6C url(../img/ico_triangle_white.svg) left 96% center no-repeat;
    background-size: 8px auto;
    padding: 10px;
    font-size: 18px;
    line-height: 1em;
  }
  .btnMain a:hover {
    background:#fff url(../img/ico_triangle_pink.svg) left 96% center no-repeat;
    background-size: 8px auto;
  }
  .btnLine{
    margin-top: 50px;
  }
  .btnLine a {
    background:#04C755 url(../img/ico_triangle_white.svg) left 96% center no-repeat;
    background-size: 8px auto;
    padding: 10px;
    font-size: 18px;
    line-height: 1em;
  }
  .btnLine a:hover {
    background:#fff url(../img/ico_triangle_green.svg) left 96% center no-repeat;
    background-size: 8px auto;
  }
}
@media screen and (max-width: 640px) {
  .main{
    width: 100%;
    background: none;
    max-height: none;
  }
  .mainFlex{
    display: block;
    width: 100%;
    background: url(../img/bg.jpg) top left no-repeat;
    background-size: cover;
  }
  .mainFlex .detailBox{
    width: 90%;
    padding: 50px 0 30px;
    margin: 0 auto;
  }
  .mainFlex .photoBox{
    width: 96%;
    margin-left: auto;
  }
  .mainFlex .photoBox img{
    height: 100%;
    object-fit: cover;
  }
  .btnMain::before{
    background-size: 70% auto;
    width: 300px;
  }
  .btnCv{
    max-width: 455px;
    position: relative;
    margin: 0 auto;
    width: 100%;
  }
  .btnCv a {
    background:#fff url(../img/ico_triangle_pink.svg) left 98% center no-repeat;
    background-size: 8px auto;
    padding: 10px ;
    font-size: 18px;
    line-height: 1em;
  }
  .btnCv a:hover {
    background:#F74F6C url(../img/ico_triangle_white.svg) left 98% center no-repeat;
    background-size: 8px auto;
  }
  .btnCv::before{
    position: absolute;
    background: url(../img/btntxt_cv.svg)  center no-repeat;
    background-size: 70% auto;
    top: -25px;
  }
}

/* intro */
.intro{
  width: 100%;
  padding: 80px 0px 30px 0px;
}
.intro__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 835px;
}
.introFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.introFlex figure{
  width: 30%;
}
.reviewBox{
  margin-top: 50px;
}
.reviewFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 15px;
}
.reviewFlex figure{
  width: 14%;
}
.reviewFlex .detailBox{
  width: 82%;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  border-radius: 10px;
  padding: 30px 20px;
  box-sizing: border-box;
  position: relative;
}
.reverse .detailBox{
  order: -1;
}
.reviewFlex .detailBox::before{
  position: absolute;
  background: url(../img/ico_good.svg)  center no-repeat;
  background-size: 100% auto;
  display: block;
  content: "";
  top: -25px;
  left: -50px;
  width: 84px;
  height: 66px;
}
.reverse .detailBox::before{
  position: absolute;
  background: url(../img/ico_good.svg)  center no-repeat;
  background-size: 100% auto;
  display: block;
  content: "";
  top: -25px;
  right: 5px;
  left: inherit;
  width: 84px;
  height: 66px;
}
 .reviewFlex .up::before{
  position: absolute;
  background: url(../img/ico_up.svg)  center no-repeat;
  background-size: 100% auto;
  display: block;
  content: "";
  top: -25px;
  right: 5px;
  left: inherit;
  width: 84px;
  height: 66px;
}
 .reviewFlex .up2::before{
  position: absolute;
  background: url(../img/ico_up.svg)  center no-repeat;
  background-size: 100% auto;
  display: block;
  content: "";
  top: -25px;
  right: inherit;
  left: -50px;
  width: 84px;
  height: 66px;
}

@media screen and (max-width: 834px) {
  .reviewFlex{
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 640px) {
  .intro{
    padding: 50px 0px 20px 0;
  }
  .introFlex figure{
    width: 70%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  .reviewBox{
    margin-top: 30px;
  }
  .reviewFlex{
    margin-bottom: 10px;
  }
  .reviewFlex figure{
    width: 30%;
    margin: 0 auto;
    margin-bottom: 10px;
  }
  .reviewFlex .detailBox{
    width: 100%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    border-radius: 10px;
    padding: 20px 10px;
    box-sizing: border-box;
    position: relative;
  }
  .reverse .detailBox{
    order: 1;
  }
  .reviewFlex .detailBox::before{
    position: absolute;
    background: url(../img/ico_good.svg) top left no-repeat;
    background-size: 80% auto;
    top: -25px;
    left: 0px;
  }
  .reverse .detailBox::before{
    position: absolute;
    background: url(../img/ico_good.svg)  top right no-repeat;
    background-size: 80% auto;
    right: 0px;
    left: inherit;
  }
   .reviewFlex .up::before{
    position: absolute;
    background: url(../img/ico_up.svg)  top right no-repeat;
    background-size: 80% auto;
    right: 0px;
    left: inherit;
  }
   .reviewFlex .up2::before{
    position: absolute;
    background: url(../img/ico_up.svg)  top left no-repeat;
    background-size: 80% auto;
    right: inherit;
    left: 0px;
  }
}
.cv{
  width: 100%;
  background: #F74F6C;
}
.cv__inner{
  width: 90%;
  margin: 0 auto;
  position: relative;
}
.cv__inner figure{
  max-width: 1200px;
  width: 100%;
  margin:0 auto;
}
.cv__inner .btnBox{
  position: absolute;
  bottom: 11%;
  left: 50%;
  width: 455px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media screen and (max-width: 1200px) {
  .cv__inner{
    width: 100%;
    margin: 0 auto;
    position: relative;
  }
}
@media screen and (max-width: 1200px) {
  .cv__inner .btnBox{
    bottom: 8%;
  }
}
@media screen and (max-width: 834px) {
  .cv__inner .btnBox{
    position: relative;
    margin-top: 20px;
    width: 90%;
  }
  .cv__inner .cvPhoto{
    width: 50%;
    margin-top: 20px;
  }
}

/* worries but */
.worries{
  width: 100%;
  padding: 80px 0px;
}
.worries__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 835px;
}
.but{
  width: 100%;
  padding: 80px 0px;
  background: #E3E3E3;
}
.but__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 835px;
}
.but__inner .butBox{
  margin: 0px 0 30px;
}
.butBox p{
  font-size: 40px;
  line-height: 1.3em;
  text-align: center;
}
.butFlex{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.butFlex figure{
  width: 31%;
}
@media screen and (max-width: 640px) {
  .worries{
    padding: 50px 0px;
  }
  .but{
    padding: 50px 0px;
  }
  .but__inner .butBox{
    margin: 0px 0 20px;
  }
  .butBox p{
    font-size: 22px;
    line-height: 1.5em;
  }
  .butFlex figure{
    width: 80%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}
/* cause */
.cause{
  width: 100%;
  padding: 80px 0px;
  background: rgba(255, 189, 163, .14);
}
.cause__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.causeFlex{
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 70px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.causeFlex .photoBox{
  width: 40%;
}
.causeFlex .detailBox{
  width: 54.5%;
}
.causeFlex .detailBox h3{
  margin-bottom: 30px;
}
.causeFlex2 .detailBox h3{
  margin-bottom: 30px;
}
.causeFlex2{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.causeFlex2 .photoBox{
  width: 26%;
}
.causeFlex2 .detailBox{
  order: -1;
  width: 70.5%;
}
@media screen and (max-width: 834px) {
  .causeFlex{
    margin-bottom: 70px;
  }
  .causeFlex .photoBox{
    width: 100%;
    margin-bottom: 20px;
  }
  .causeFlex .detailBox{
    width: 100%;
  }
  .causeFlex .detailBox h3{
    margin-bottom: 10px;
  }
  .causeFlex2 .detailBox h3{
    margin-bottom: 10px;
  }
  .causeFlex2 .photoBox{
    width: 50%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  .causeFlex2 .detailBox{
    order: 1;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .cause{
    padding: 50px 0px;
  }
  .cause__inner .causeBox{
    margin: 0px 0 20px;
  }
  .causeFlex{
    margin-bottom: 40px;
  }
  .causeFlex2 .photoBox{
    width: 100%;
  }
  .causeFlex2 .photoBox{
    width: 70%;
  }
}
/* check */
.check{
  width: 100%;
  padding: 80px 0px;
}
.check__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.check__inner .ttlBox{
  margin: 0;
}
.check__inner .ttlBox h2{
  position: relative;
}
.check__inner .ttlBox h2::after{
  position: absolute;
  background: url(../img/ico_star02.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: 16px;
  right: 0;
  width: 82px;
  height: 84px;
  z-index: -1;
}
.check__inner .ttlBox h2::before{
  position: absolute;
  background: url(../img/ico_star01.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: 0;
  left: -20px;
  width: 82px;
  height: 84px;
  z-index: -1;
}
.check__inner ul{
  max-width: 835px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 80px;
  position: relative;
}
.check__inner ul::after{
  position: absolute;
  background: url(../img/ico_next.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 45px;
  height: 44px;
}
.check__inner ul li{
  font-size: 22px;
  font-weight: 700;
  line-height: 1.78em;
  background: url(../img/ico_check.svg) left top 7px no-repeat;
  background-size: 28px auto;
  padding-left: 40px;
  margin-bottom: 10px;
}
@media screen and (max-width: 834px) {
  .check__inner .ttlBox h2::before{
    left: 0px;
  }
  .check__inner .ttlBox h2::after{
    top: inherit;
    bottom: 0;
    right: 0;
  }
  .check__inner ul li{
    font-size: 19px;
  }
}
@media screen and (max-width: 640px) {
  .check{
    padding: 50px 0px;
  }
  .check__inner .checkBox{
    margin: 0px 0 20px;
  }
  .check__inner .ttlBox h2::after{
    top: inherit;
    bottom: 0;
    width: 42px;
    height: 44px;
  }
  .check__inner .ttlBox h2::before{
    left: 0px;
    width: 42px;
    height: 44px;
  }
  .check__inner ul::after{
    background-size:auto 70%;
  }
  .check__inner ul li{
    font-size: 18px;
    background: url(../img/ico_check.svg) left top 6px no-repeat;
    background-size: 22px auto;
    padding-left: 28px;
  }
}

/* point */
.point{
  width: 100%;
  padding: 80px 0px;
  background: #FFF8E5;
}
.point__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.point__inner .ttlBox{
  margin-bottom: 70px;
}
.pointFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.pointFlex .pointSet{
  width: 30.7%;
  border-radius: 10px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
  background: #fff;
  padding: 30px 15px;
  position: relative;
  box-sizing: border-box;
}
.pointFlex .pointSet::before{
  position: absolute;
  background: url(../img/ico_point01.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -25px;
  left: -25px;
  width: 105px;
  height: 105px;
}
.pointFlex .point02::before{
  position: absolute;
  background: url(../img/ico_point02.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -25px;
  left: -25px;
  width: 105px;
  height: 105px;
}
.pointFlex .point03::before{
  position: absolute;
  background: url(../img/ico_point03.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -25px;
  left: -25px;
  width: 105px;
  height: 105px;
}
.pointSet figure{
  width: 100%;
  max-width: 250px;
  margin: 0 auto;
  margin-bottom: 15px;
}
.pointSet p.strong{
  margin-bottom: 10px;
  text-align: center;
}
@media screen and (max-width: 834px) {
  .pointFlex .pointSet{
    width: 100%;
    border-radius: 10px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
    background: #fff;
    padding: 30px 20px;
    position: relative;
    margin-bottom: 40px;
  }
  .pointSet figure{
    width: 60%;
    max-width: none;
  }

}
@media screen and (max-width: 640px) {
  .point{
    padding: 50px 0px;
  }
  .point__inner .ttlBox{
    margin-bottom: 30px;
    }
  .pointFlex .pointSet{
    padding: 20px 15px;
  }
  .pointFlex .pointSet p.strong{
    margin-bottom: 5px;
  }
  .pointSet figure{
    width: 70%;
    margin-bottom: 10px;
  }
  .pointFlex .pointSet:last-child{
    margin-bottom: 0;
  }
  .pointFlex .pointSet::before{
    top: -10px;
    left: -10px;
    width: 85px;
    height: 85px;
  }
  .pointFlex .point02::before{
    top: -10px;
    left: -10px;
    width: 85px;
    height: 85px;
  }
  .pointFlex .point03::before{
    top: -10px;
    left: -10px;
    width: 85px;
    height: 85px;
  }
}
/* step */
.step{
  width: 100%;
  padding: 80px 0px;
}
.step__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.stepFlexSp{
  display: none;
}
.stepTtlFlexPc{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.stepTtlFlexPc figure{
  width: 28.3%;
}
.stepPhotoFlexPc{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.stepPhotoFlexPc figure{
  position: relative;
  width: 28.3%;
}
.stepPhotoFlexPc figure::before{
  position: absolute;
  background: url(../img/ico_step.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: 50%;
  right:-20%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 46px;
  height: 43px;
}
.stepPhotoFlexPc figure:last-child:before{
  display: none;
}
.afterBox .ttlBox{
  margin-bottom: 60px;
}
@media screen and (max-width: 834px) {
  .stepPhotoFlexPc figure::before{
    width: 26px;
    height: 23px;
  }

}
@media screen and (max-width: 640px) {
  .step{
    padding: 50px 0px;
  }
  .stepPhotoFlexPc , .stepTtlFlexPc{
    display: none;
  }
  .stepFlexSp{
    display: block;
  }
  .stepFlexSp .stepSet{
    margin-bottom: 70px;
    position: relative;
  }
  .stepFlexSp .stepSet figure{
    width: 80%;
    margin: 0 auto;
  }
  .stepFlexSp .stepSet figure:first-child{
    margin-bottom: 20px;
  }
  .stepFlexSp .stepSet::before{
    position: absolute;
    background: url(../img/ico_next.svg)  center no-repeat;
    background-size:auto 100%;
    display: block;
    content: "";
    bottom: -8%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 36px;
    height: 33px;
  }
  .stepFlexSp .stepSet:last-child:before{
    display: none;
  }
  .stepFlexSp .stepSet:last-child{
    margin-bottom: 40px;
  }
  .afterBox .ttlBox{
    margin-bottom: 30px;
  }
}
/* comparison */
.comparison{
  width: 100%;
  padding: 80px 0px;
  background: rgba(255, 189, 163, .14);

}
.comparison__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
@media screen and (max-width: 834px) {
  .comparisonPhotoFlexPc figure::before{
    width: 26px;
    height: 23px;
  }
  .comparison .tableBox{
    overflow-x: auto;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
  }
  .comparison .tableBox img{
    max-width: 100%;
    min-width: 1000px;
    vertical-align: top;
  }
p.tbsp{
    font-size: 18px;
  }
/*===========
scrollbar
===========*/
.scroll-box::-webkit-scrollbar {
  height: 7px;
}
.scroll-box::-webkit-scrollbar-track {
  background: #eee;
}
.scroll-box::-webkit-scrollbar-thumb {
  background: #aaa;
  border: none;
}
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #999;
}
}
@media screen and (max-width: 640px) {
  .comparison{
    padding: 50px 0px;
  }
  .comparison .tableBox img{
    min-width: 700px;
  }
   p.tbsp{
    font-size: 13px;
  }
}

/* english */
.english{
  width: 100%;
  padding: 80px 0px;
}
.english__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.english__inner h4{
  text-align: center;
}
.englishFlex{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.englishFlex .englishSet{
  width: 46.8%;
  margin-bottom: 90px;
}
.englishFlex .englishSet h3{
  padding-bottom: 10px;
  padding-left: 95px;
  border-bottom: 1px dashed #F74F6C ;
  background: url(../img/ico01.svg) left center no-repeat;
  background-size: 70px auto;
  line-height: 1.54em;
  margin-bottom: 15px;
}
.englishFlex .ttl02 h3{
  background: url(../img/ico02.svg) left center no-repeat;
  background-size: 87px auto;
}
.englishFlex .ttl03 h3{
  background: url(../img/ico03.svg) left center no-repeat;
  background-size: 85px auto;
  height: 100px;
  line-height: 2.7em;
}
.englishFlex .ttl04 h3{
  background: url(../img/ico04.svg) left center no-repeat;
  background-size: 88px auto;
  height: 100px;
  line-height: 2.7em;
}
@media screen and (max-width: 1440px) {
  .englishFlex .ttl03 h3{
    height: 80px;
  }
  .englishFlex .ttl04 h3{
    height: 80px;
  }
}
@media screen and (max-width: 834px) {
  .englishFlex .englishSet h3{
    padding-bottom: 10px;
    padding-left: 95px;
    border-bottom: 1px dashed #F74F6C ;
    background: url(../img/ico01.svg) left center no-repeat;
    background-size: 70px auto;
    line-height: 1.54em;
    margin-bottom: 15px;
  }
  .englishFlex .ttl02 h3{
    background: url(../img/ico02.svg) left center no-repeat;
    background-size: 87px auto;
  }
  .englishFlex .ttl03 h3{
    background: url(../img/ico03.svg) left center no-repeat;
    background-size: 85px auto;
    height: 80px;
    line-height: 2.5em;
  }
  .englishFlex .ttl04 h3{
    background: url(../img/ico04.svg) left center no-repeat;
    background-size: 88px auto;
    height: 80px;
    line-height: 2.5em;
  }
}
@media screen and (max-width: 640px) {
  .english{
    padding: 50px 0px;
  }
  .englishFlex .englishSet{
    margin-bottom: 40px;
    width: 100%;
  }
  .englishFlex .englishSet h3{
    padding-bottom: 10px;
    padding-left: 50px;
    background-size: 40px auto;
    line-height: 1.54em;
    margin-bottom: 10px;
  }
  .englishFlex .ttl03 h3{
    height: 40px;
    line-height: 1.9em;
  }
  .englishFlex .ttl04 h3{
    height: 40px;
    line-height: 1.9em;
  }
}
/* obsession */
.obsession{
  width: 100%;
  padding: 80px 0px;
}
.obsession__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.obsessionBox figure{
  margin-bottom: 25px;
}
.obsessionFlex{
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 120px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.obsessionFlex .photoBox{
  width: 46.6%;
}
.obsessionFlex:nth-of-type(even) .detailBox{
  order: -1;
}
.obsessionFlex .detailBox{
  width: 46.8%;
  position: relative;
}
.obsessionFlex .detailBox::before{
  position: absolute;
  background: url(../img/ico_obsession.svg)  center no-repeat;
  background-size:100% auto;
  display: block;
  content: "";
  top: -70px;
  left: 40px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 229px;
  height: 90px;
}
.obsessionFlex .detailBox h3{
  padding-bottom: 10px;
  padding-left: 95px;
  border-bottom: 1px dashed #F74F6C ;
  background: url(../img/ico01.svg) left center no-repeat;
  background-size: 70px auto;
  line-height: 1.54em;
  margin-bottom: 15px;
}
.ttl02 .detailBox h3{
  background: url(../img/ico02.svg) left center no-repeat;
  background-size: 87px auto;
}
.ttl03 .detailBox h3{
  background: url(../img/ico03.svg) left center no-repeat;
  background-size: 85px auto;
}
.ttl04 .detailBox h3{
  background: url(../img/ico04.svg) left center no-repeat;
  background-size: 88px auto;
}
.ttl05 .detailBox h3{
  background: url(../img/ico05.svg) left center no-repeat;
  background-size: 87px auto;
}
@media screen and (max-width: 1300px) {
  .obsessionFlex .detailBox::before{
    left: 70px;
  }
  .obsessionFlex .photoBox{
    width: 43.6%;
  }
  .obsessionFlex .detailBox{
    width: 49.8%;
    position: relative;
  }
}
@media screen and (max-width: 834px) {
  .obsessionFlex{
    margin-bottom: 90px;
  }
  .obsessionFlex .photoBox{
    width: 100%;
    margin-bottom: 80px;
  }
  .obsessionFlex:nth-of-type(even) .detailBox{
    order: 1;
  }
  .obsessionFlex .detailBox{
    width: 100%;
    position: relative;
  }
  .obsessionFlex .detailBox::before{
    left: 80px;
  }
  .obsessionFlex .detailBox h3{
    padding-bottom: 10px;
    padding-left: 95px;
    border-bottom: 1px dashed #F74F6C ;
    background: url(../img/ico01.svg) left center no-repeat;
    background-size: 70px auto;
    line-height: 1.54em;
    margin-bottom: 15px;
  }
  .ttl02 .detailBox h3{
    background: url(../img/ico02.svg) left center no-repeat;
    background-size: 87px auto;
  }
  .ttl03 .detailBox h3{
    background: url(../img/ico03.svg) left center no-repeat;
    background-size: 85px auto;
  }
  .ttl04 .detailBox h3{
    background: url(../img/ico04.svg) left center no-repeat;
    background-size: 88px auto;
  }
  .ttl05 .detailBox h3{
    background: url(../img/ico05.svg) left center no-repeat;
    background-size: 87px auto;
  }
}
@media screen and (max-width: 640px) {
  .obsession{
    padding: 50px 0px;
  }
  .obsessionFlex{
    margin-bottom: 40px;
  }
  .obsessionFlex:last-child{
    margin-bottom: 0;
  }
  .obsessionFlex .photoBox{
    width: 100%;
    margin-bottom: 50px;
  }
  .obsessionFlex:nth-of-type(even) .detailBox{
    order: 1;
  }
  .obsessionFlex .detailBox{
    width: 100%;
    position: relative;
  }
  .obsessionFlex .detailBox::before{
    left: 53px;
    width: 129px;
    height: 51px;
    top: -40px;
  }
  .obsessionFlex .detailBox h3{
    padding-bottom: 10px;
    padding-left: 50px;
    background-size: 40px auto;
    line-height: 1.54em;
    margin-bottom: 10px;
  }
  .ttl02 .detailBox h3{
    background: url(../img/ico02.svg) left center no-repeat;
    background-size: 47px auto;
  }
  .ttl03 .detailBox h3{
    background: url(../img/ico03.svg) left center no-repeat;
    background-size: 45px auto;
  }
  .ttl04 .detailBox h3{
    background: url(../img/ico04.svg) left center no-repeat;
    background-size: 48px auto;
  }
  .ttl05 .detailBox h3{
    background: url(../img/ico05.svg) left center no-repeat;
    background-size: 47px auto;
  }
}

/* instructor */
.instructor{
  width: 100%;
  padding: 80px 0px;
}
.instructor__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.instructorBox{
  max-width: 835px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 30px;
}
.instructorBox figure{
  margin-bottom: 20px;
}
.commentBox{
  margin-bottom: 80px;
}
.commentFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  max-width: 835px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 30px;
}
.commentFlex figure{
  width: 14%;
}
.commentBox .commentFlex:last-child .detailBox{
  order: -1;
}
.commentFlex .detailBox{
  width: 82%;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  border-radius: 10px;
  padding: 30px 20px;
  box-sizing: border-box;
  position: relative;
}
.instructorSet .instructorFlex{
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 120px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.instructorSet .instructorFlex .photoBox{
  width: 46.6%;
}
.instructorSet .instructorFlex:nth-of-type(odd) .detailBox{
  order: -1;
}
.instructorSet .instructorFlex .detailBox{
  width: 49.8%;
  position: relative;
}
.instructorSet .instructorFlex .detailBox h3{
  padding-left: 50px;
  background: url(../img/ico_hint.svg) left center no-repeat;
  background-size:auto 48px;
  line-height: 1.54em;
  margin-bottom: 20px;
}
.instructorSet .instructorFlex .detailBox li{
  padding-left: 20px;
  background: url(../img/ico_circle.svg) left center no-repeat;
  background-size:auto 10px;
  margin-bottom: 5px;
}
.instructorSet .instructorFlex:last-child  {
  align-items: flex-start;
  margin-bottom: 40px;
}
.instructorSet .instructorFlex:last-child .detailBox {
  width: 68.8%;
}
.instructorSet .instructorFlex:last-child .detailBox h3{
  background: none;
  padding: 0;
}
.instructorSet .instructorFlex:last-child .photoBox {
  width: 27.9%;
}
.instructor__inner .photoSet{
  max-width: 514px;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 1300px) {
  .instructorSet .instructorFlex .photoBox{
    width: 43.6%;
  }
  .instructorSet .instructorFlex .detailBox{
    width: 49.8%;
    position: relative;
  }
}
@media screen and (max-width: 834px) {
  .instructorSet .instructorFlex{
    margin-bottom: 70px;
  }
  .instructorSet .instructorFlex .photoBox{
    width: 100%;
    margin-bottom: 20px;
  }
  .instructorSet .instructorFlex:nth-of-type(odd) .detailBox{
    order: 1;
  }
  .instructorSet .instructorFlex .detailBox{
    width: 100%;
    position: relative;
  }
  .instructorSet .instructorFlex:last-child .detailBox {
    width: 100%;
  }
  .instructorSet .instructorFlex:last-child .photoBox {
    width: 50%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 640px) {
  .instructor{
    padding: 50px 0px;
  }
  .instructorSet .instructorFlex{
    margin-bottom: 40px;
  }
  .instructorSet .instructorFlex .photoBox{
    width: 100%;
    margin-bottom: 20px;
  }
  .instructorSet .instructorFlex .detailBox{
    width: 100%;
    position: relative;
  }
  .instructorSet .instructorFlex .detailBox h3{
    padding-left: 30px;
    background-size: 20px auto;
    margin-bottom: 10px;
  }
  .commentBox{
    margin-bottom: 50px;
  }
  .commentFlex{
    margin-bottom: 30px;
  }
  .commentFlex figure{
    width: 30%;
    margin: 0 auto;
    margin-bottom: 10px;
  }
  .commentFlex .detailBox{
    width: 100%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    border-radius: 10px;
    padding: 20px 10px;
    box-sizing: border-box;
    position: relative;
  }
  .commentBox .commentFlex:last-child .detailBox{
    order: 1;
  }
  .instructorSet .instructorFlex .detailBox li{
    padding-left: 15px;
    background: url(../img/ico_circle.svg) left top 7px no-repeat;
    background-size:auto 7px;
    margin-bottom: 5px;
    line-height: 1.5em;
  }
  .instructorSet .instructorFlex:last-child .photoBox {
    width: 70%;
    margin-bottom: 20px;
  }
}

/* voice */
.voice{
  width: 100%;
  padding: 80px 0px 30px 0px;
  background: #FFF8E5;
}
.voice__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.voiceFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 20px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  border-radius: 10px;
  background: #fff;
  padding: 40px 30px;
  box-sizing: border-box;
  position: relative;
}
.voiceFlex .photoBox{
  width: 16.4%;
}
.voiceFlex .detailBox{
  width: 81.3%;
}
.voiceFlex .detailBox h4{
  margin-bottom: 20px;
}
.voiceFlex::before{
  position: absolute;
  background: url(../img/voice_new_01.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -40px;
  left: -50px;
  width: 198px;
  height: 101px;
}
.voice02::before{
  position: absolute;
  background: url(../img/voice_new_02.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -40px;
  left: -50px;
  width: 203px;
  height: 101px;
}
.voice03::before{
  position: absolute;
  background: url(../img/voice_new_03.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -40px;
  left: -50px;
  width: 203px;
  height: 101px;
}
.voice04::before{
  position: absolute;
  background: url(../img/voice_new_04.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -40px;
  left: -50px;
  width: 203px;
  height: 101px;
}
.voice05::before{
  position: absolute;
  background: url(../img/voice_new_05.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -40px;
  left: -50px;
  width: 203px;
  height: 101px;
}
.voiceFlex:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1300px) {
  .voiceFlex::before{
    background-size:auto 80%;
  }
  .voice02::before{
    background-size:auto 80%;
  }
  .voice03::before{
    background-size:auto 80%;
  }
}
@media screen and (max-width: 834px) {

  .voiceFlex{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 15px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    border-radius: 10px;
    background: #fff;
    padding: 40px 30px;
    box-sizing: border-box;
    position: relative;
  }
  .voiceFlex .photoBox{
    width: 40%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  .voiceFlex .detailBox{
    width: 100%;
  }
  .voiceFlex .detailBox h4{
    text-align: center;
  }
  .voiceFlex::before{
    top: -20px;
    left: -30px;
    background-size:auto 100%;
  }
  .voice02::before{
    top: -20px;
    left: -20px;
    background-size:auto 100%;
  }
  .voice03::before{
    top: -20px;
    left: -20px;
    background-size:auto 100%;
  }
}
@media screen and (max-width: 640px) {
  .voice{
    padding: 50px 0 10px 0;
  }
  .instructor{
    padding: 50px 0px;
  }
  .voiceFlex {
    padding: 20px 15px;
  }
  .voiceFlex .photoBox{
    margin-bottom: 10px;
  }
  .voiceFlex .detailBox h4{
    text-align: left;
    margin-bottom: 10px;
  }
  .voiceFlex::before{
    top: -35px;
    left: -40px;
    background-size:auto 70%;
  }
  .voice02::before{
    top: -35px;
    left: -40px;
    background-size:auto 70%;
  }
  .voice03::before{
    top: -35px;
    left: -40px;
    background-size:auto 70%;
  }
}

/* record */
.record{
  width: 100%;
  padding: 80px 0px;
}
.record__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.record__inner .ttlBox{
  margin: 50px 0;
}
.record__inner .ttlBox h4{
  text-align: center;
}
.recordBox{
  max-width: 500px;
  margin: 0 auto;
}
.recordFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
}
.recordFlex figure{
  width: 48%;
}
@media screen and (max-width: 640px) {
.record{
  padding: 50px 0px 20px;
}
.record__inner .ttlBox{
  margin: 30px 0;
}
.recordBox{
  width: 100%;
}
.recordFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
}
.recordFlex figure{
  width: 80%;
  margin: 0 auto;
  margin-bottom: 30px;
}
}
/* present */
.present{
  width: 100%;
  padding: 80px 0px;
}
.present__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.present__inner p.strong{
  font-size: 27px;
  text-align: center;
}
.present__inner .presentBox h4,
.present__inner .stepFlexBox h4{
  text-align: center;
  margin-bottom: 50px;
  line-height: 1.78em;
}
.presentBox{
  margin-bottom: 70px;
}
.present__inner .btnMain::before{
  display: none;
}
.present__inner .btnFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 835px;
  margin: 0 auto;
  margin-bottom: 80px;
}
.present__inner .btnFlex .btnMain ,
.present__inner .btnFlex .btnLine{
  width: 47%;
  margin-top: 0;
}
.stepFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.stepFlex .stepSet{
  width: 30.7%;
  border-radius: 10px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
  background: #fff;
  padding: 30px 15px;
  position: relative;
  box-sizing: border-box;
}
.stepFlex .stepSet p{
  text-align: center;
}
.stepFlex .stepSet::before{
  position: absolute;
  background: url(../img/ico_present01.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -25px;
  left: -25px;
  width: 105px;
  height: 105px;
}
.stepFlex .step02::before{
  position: absolute;
  background: url(../img/ico_present02.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -25px;
  left: -25px;
  width: 105px;
  height: 105px;
}
.stepFlex .step03::before{
  position: absolute;
  background: url(../img/ico_present03.svg)  center no-repeat;
  background-size:auto 100%;
  display: block;
  content: "";
  top: -25px;
  left: -25px;
  width: 105px;
  height: 105px;
}
.stepSet figure{
  width: 100%;
  max-width: 250px;
  margin: 0 auto;
  margin-bottom: 15px;
}
.steplastFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 50px;
}
.steplastFlex .detailBox{
  order: -1;
  width: 63.3%;
}
.steplastFlex .detailBox p.strong{
  font-size: 25px;
  margin-bottom: 20px;
  text-align: left;
}
.steplastFlex .photoBox{
  width: 34.4%;
}
@media screen and (max-width: 834px) {
  .stepFlex .stepSet{
    width: 100%;
    border-radius: 10px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
    background: #fff;
    padding: 30px 20px;
    position: relative;
    margin-bottom: 40px;
  }
  .stepSet figure{
    width: 70%;
    max-width: none;
  }
  .steplastFlex .detailBox{
    order: 1;
    width: 100%;
  }
  .steplastFlex .photoBox{
    width: 100%;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 640px) {
  .present{
    padding: 50px 0px;
  }
  .point{
    padding: 50px 0px;
  }
  .point__inner .ttlBox{
    margin-bottom: 30px;
    }
  .stepFlex .stepSet{
    padding: 20px 15px;
  }
  .present__inner p.strong{
    font-size: 19px;
  }
  .present__inner .btnFlex{
    margin-bottom: 50px;
  }
  .stepSet figure{
    width: 70%;
    margin-bottom: 10px;
  }
  .stepFlex .stepSet::before{
    top: -10px;
    left: -10px;
    width: 85px;
    height: 85px;
  }
  .stepFlex .step02::before{
    top: -10px;
    left: -10px;
    width: 85px;
    height: 85px;
  }
  .stepFlex .step03::before{
    top: -10px;
    left: -10px;
    width: 85px;
    height: 85px;
  }
  .stepFlex{
    margin-bottom: 0;
  }
  .presentBox{
    margin-bottom: 30px;
  }
  .presentBox figure{
    width: 80%;
    margin: 0 auto;
  }
  .present__inner .presentBox h4,
  .present__inner .stepFlexBox h4{
    margin-bottom: 30px;
  }
  .present__inner .btnFlex .btnMain ,
  .present__inner .btnFlex .btnLine{
    width: 100%;
    margin-top: 0;
    margin-bottom: 20px;
  }
  .steplastFlex{
    margin-top: 30px;
  }
  .steplastFlex .detailBox p.strong{
    font-size: 19px;
    margin-bottom: 10px;
  }
}
/* price */
.price{
  width: 100%;
  padding: 80px 0px;
  background: rgba(255, 189, 163, .14);

}
.price__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.price__inner h2{
  margin-bottom: 45px;
}
.price__inner h4{
  text-align: center;
}
.priceFlex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 50px;
}
.priceFlex figure{
  width: 30%;
}
figure.banner{
  margin-top: 50px;
}

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

}
@media screen and (max-width: 640px) {
  .price{
    padding: 50px 0px;
  }
  .price__inner h2{
    margin-bottom: 30px;
  }
  .priceFlex figure{
    width: 70%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  .price__inner .ttlBox h4 br{
    display: none;
  }
  .price__inner .ttlBox h4 br.sp{
    display: block;
  }
  .priceFlex{
    margin-bottom: 30px;
  }
  figure.banner{
    margin-top: 30px;
  }
   .price__inner figure.table{
    overflow-x: auto;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
  }
   .price__inner figure.table img{
    max-width: 100%;
    min-width: 500px;
    vertical-align: top;
  }
}

/* concept */
.concept{
  width: 100%;
  padding: 80px 0px;
}
.concept__inner{
  width: 90%;
  margin: 0 auto;
  max-width: 835px;
}
.concept__inner .btnMain::before{
  display: none;
}
.conceptBox figure{
  margin-bottom: 25px;
}
.relationshipBox{
  margin-bottom: 70px;
}
.relationshipBox figure{
  max-width: 511px;
  margin: 40px auto;
}
.relationshipBox p{
  margin-bottom: 20px;
}
.conceptFlex{
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 120px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.conceptFlex .photoBox{
  width: 40%;
}
.conceptFlex .detailBox{
  width: 55.9%;
}
.conceptFlex .detailBox p.strong{
  font-size: 25px;
  margin-bottom: 10px;
}
.conceptFlex .detailBox h3{
  line-height: 1.54em;
  margin-bottom: 20px;
}
@media screen and (max-width: 1300px) {
  .conceptFlex .photoBox{
    width: 43.6%;
  }
  .conceptFlex .detailBox{
    width: 49.8%;
    position: relative;
  }
}
@media screen and (max-width: 834px) {
  .conceptFlex{
    margin-bottom: 70px;
  }
  .conceptFlex .photoBox{
    width: 100%;
    margin-bottom: 20px;
  }
  .conceptFlex .detailBox{
    width: 100%;
    position: relative;
  }
}
@media screen and (max-width: 640px) {
  .concept{
    padding: 50px 0px;
  }
  .conceptFlex{
    margin-bottom: 40px;
  }
  .conceptFlex .photoBox{
    width: 100%;
    margin-bottom: 20px;
  }
  .conceptFlex .detailBox{
    width: 100%;
    position: relative;
  }
  .conceptFlex .detailBox h3{
    padding-left: 30px;
    background-size: 20px auto;
    margin-bottom: 10px;
  }
  .conceptFlex .detailBox p.strong{
    font-size: 18px;
    margin-bottom: 10px;
  }
  .relationshipBox figure{
    margin: 30px auto;
  }
  .relationshipBox p{
    margin-bottom: 10px;
  }
  .relationshipBox{
    margin-bottom: 40px;
  }
}

/* animetion */
.box{
	opacity: 0;
}
.fadeUp {
  animation-name:fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity: 0;
  }
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(50px);
    }
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }

/* ----------------- フッター ここから ----------------------*/
footer{
	text-align: center;
	padding-top: 0px;
  margin-top:0px;
  margin-bottom: 10px;
}

.footer_link_pc {
  text-align: center;
	background-color: #fff;
  padding: 10px 0;
  font-size: 18px;
}

.footer_link_sp {
  display: none;
}

.footer_hover_color a{
    color: #444;
    text-decoration: none;
}
.footer_hover_color a:hover{
    color:#F74F6C !important;
    text-decoration: none;
}
.footer_hover_color a:visited{
    color: #444;
    text-decoration: none;
}

.copy_pc{
    display: block;
    text-align: center;
    background-color:  #fff;
    padding: 15px 0;
    font-size: 16px;
    color: #444;
}

.copy_sp{
    display: none;
}

@media screen and (max-width: 640px) { /*--スマホここから--*/

	footer{
		text-align: center;
		font-size: 14px;
		padding-top: 0px;
		margin-top:0px;
		margin-bottom: 10px;
	}

  .footer_link_pc {
    display: none;
	}

	.footer_link_sp {
    display: block;
		background-color: #fff;
		padding: 6px 0;
    text-align: center;
    font-size: 13px !important;
	}

  .copy_pc{
    display: none;
  }

	.copy_sp{
    display: block;
		padding: 10px 10px;
		font-size: 14px !important;
    color: #444;
    text-align: center;
	}
}/*--スマホここから--*/
/* ----------------- フッター ここまで ----------------------*/

/* ----------------------------------------------------

    免責事項表現

---------------------------------------------------- */
.disclaimer_content{
	margin: 0px auto 30px auto;
}

.disclaimer_content2{
	margin: 0px auto 45px auto;
}

.disclaimer_content3{
	margin: 0px auto 70px auto;
}


.disclaimer_text{ /* 免責事項テキスト*/
	font-size: 14px;
	text-align: justify;
	color: #aaa;
	line-height: 1.5;
	position: relative;
	padding-left: 16px;
}

.disclaimer_text::before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

	@media screen and (max-width: 640px) {/*スマホ対応ここから*/
		.disclaimer_content{
			width: 100%;
			margin: 10px auto 45px auto;
		}

		.disclaimer_content2{
			width: 100%;
			margin: 0px auto 45px auto;
		}

    .disclaimer_content3{
			width: 100%;
			margin: 0px auto 50px auto;
		}

		.disclaimer_text{ /* 免責事項テキスト*/
			font-size: 13px;
			text-align: justify;
			line-height: 1.5;
			position: relative;
			padding-left: 15px;
		}

		.disclaimer_text::before{
			content: "※";
			position: absolute;
			top: 0;
			left: 0;
		}
	}
/*--------------- 免責事項表現 ここまで ---------------*/
