@charset "UTF-8";
@import url("//fonts.googleapis.com/css?family=Roboto+Condensed:400,400i,700,700i&display=swap");
.center{text-align: center!important;}
.text_left{text-align: left!important;}
.text_right{text-align: right!important;}
.btm0{margin-bottom:0!important}
/*==================================================================== event
*/
.mv2 {
  background-image: url(../img/main.jpg); }

/*==================================================================== sec_about
*/
.sec_about {
  overflow: hidden; }
  .sec_about > .inr {
    position: relative;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    padding-top: 1px;
    padding-bottom: 10%; }
    /* .sec_about > .inr:before, .sec_about > .inr:after {
      position: absolute;
      top: 0;
      height: 100%;
      content: "";
      border-left: 1px solid #ccc; }
    .sec_about > .inr:before {
      left: 50%; }
    .sec_about > .inr:after {
      right: 10%; } */
  .sec_about .arw {
    position: relative;
    color: #ef444a;
    font-size: 1.15em;
    background: url(../img/arw.png) no-repeat 0 50%/contain;
    padding: 4% 0 4% 3.5%;
    margin: -2% 4%;
    z-index: 1; }
  @media only screen and (max-width: 768px) {
    .sec_about .arw {
      margin: 0 5%; }
    .sec_about > .inr {
      border: none;
      padding-bottom: 0; }
      .sec_about > .inr:before, .sec_about > .inr:after {
        display: none; } }
.sec_about .img{
  width: 310px;
  display: inline-block;
  vertical-align: middle;
  padding: 0 25px;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .sec_about .img{
    margin: 0 auto;
    width: 96%;
    max-width: 269px;
    padding: 0;
  }
}
.sec_about .img img{
  width: 100%;
}
.sec_about p{
  padding: 10px 2% 0;
}
.sec_about .about_text_bottom{
  font-size:24px;
  margin-bottom: 30px;
}
/* .sec_about .about_text_bottom b{
  display: inline-block;
  padding: 0 10px 10px;
  border-bottom: 1px solid #000;
  margin-bottom: 40px;
} */
@media only screen and (max-width: 768px) {
  .sec_about .about_text_bottom{
    font-size: 18px;
    margin-bottom: 20px;
  }
}
.sec_about .team_building_wrap{
  position: relative;
  font-size: 0;
  width: 96%;
  max-width: 960px;
  margin: 0 auto;
}

.sec_about .team_building_wrap h4{
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 10px;
}
.sec_about .team_building_wrap .text{
  font-size: 14px;
}

.sec_about .team_building_wrap .team_building_list.team_building_left,
.sec_about .team_building_wrap .team_building_list.team_building_right{
  width: 310px;
  display: inline-block;
  vertical-align: top;
  padding: 0 10px;
  box-sizing: border-box;
}
.sec_about .team_building_wrap .team_building_list.team_building_left{
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}
.sec_about .team_building_wrap .indent_list {
  margin-bottom: 20px;
  margin-top: 24px;
}
.sec_about .team_building_wrap .indent_list li{
  padding-left:1em;
  text-indent:-1em;
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  .sec_about .team_building_wrap{
    margin-bottom: 30px;
  }
  .sec_about .team_building_wrap h4{
    font-size: 16px;
    margin-bottom: 0;
  }
  .sec_about .team_building_wrap .team_building_list{
    position: static;
  }
  .sec_about .team_building_wrap .team_building_list.team_building_left,
  .sec_about .team_building_wrap .team_building_list.team_building_right{
    width: 96%;
    display: block;
    padding: 0;
  }
  .sec_about .team_building_wrap .team_building_list.team_building_left{
    border-left: 0;
    border-right: 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding-top: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .sec_about .team_building_wrap .team_building_list.team_building_left .text{
    padding-top: 0;
    margin-top: 10px;
  }
  .sec_about .team_building_wrap .indent_list{
    margin-top: 10px;
  }
  .sec_about .team_building_wrap .indent_list li{
    font-size: 12px;
  }
}
.about_reason .hl4:before{
  content: none;
}

.about_reason_list{
  text-align: center;
  font-size: 0;
}
.about_reason_list li{
  width: 32%;
  margin-right: 1.8%;
  display: inline-block;
  vertical-align: top;
  padding: 0 1%;
}
.about_reason_list li .title{
  font-size: 18px;
  font-weight: bold;
  color:#fff;
  background:#000;
  padding:5px 0;
  border-radius: 5px;
}
.about_reason_list li .image img{
  width: 100%;
  display: block;
}
.about_reason_list li .text{
  font-size: 14px;
  text-align: left;
}
.about_reason_list li:nth-last-of-type(1){
  margin-right: 0;
}
.about_reason{
  margin-top: 50px;
}
.about_reason .about_reason_list + p{
  font-size: 24px;
}
@media only screen and (max-width: 768px) {
  .about_reason{
    margin-top: 30px;
  }
  .about_reason_list{
    text-align: left;
  }
  .about_reason_list li{
    width: 48%;
    margin-right: 1.8%;
    margin-bottom: 20px;
  }
  .about_reason_list li:nth-of-type(2n){
    margin-right: 0;
  }
  .about_reason_list li:nth-last-of-type(1){
    margin-bottom: 0;
  }
  .about_reason_list li .title{
    font-size: 14px;
    text-align: center;
    padding:5px;
  }
  .about_reason_list li .text{
    font-size: 12px;
  }
  .about_reason .about_reason_list + p{
    font-size: 15px;
  }
}


.flow_the_goal .title{
  font-weight: bold;
  font-size: 20px;
}
.flow_the_goal .text_bottom{
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  .flow_the_goal .title{
    font-size: 16px;
  }
  .flow_the_goal .text_bottom{
    font-size: 14px;
  }
}

.flow_mechanism {
  margin-top: 70px;
  padding: 30px 60px;
  border: 1px solid #555;
  background: #fff;
}
.flow_mechanism .title{
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 40px;
}
.flow_mechanism .text_bottom,
.flow_mechanism .text_top{
  text-align: center;
  font-size: 16px;
}
.flow_mechanism .img{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.flow_mechanism .img img{
  width: 100%;
  display: block;
}

@media only screen and (max-width: 768px) {
  .flow_mechanism {
    margin-top: 30px;
    padding:20px 1%;
  }
  .flow_mechanism .title{
    font-size: 16px;
    margin-bottom: 20px;
  }
  .flow_mechanism .text_bottom,
  .flow_mechanism .text_top{
    font-size: 14px;
  }
  .flow_mechanism .img{
    width: 100%;
  }
}

.point_box {
  display: table;
  width: 90%;
  font-size: 1.15em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc; }
  .point_box:before {
    position: absolute;
    right: -1.3em;
    content: attr(data-text);
    font-family: "Roboto Condensed", Meiryo, "メイリオ", Meiryo UI, "メイリオ UI", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ", Arial, Helvetica, "MS PGothic", "ＭＳ Ｐゴシック", Osaka, sans-serif;
    font-size: 18vw;
    font-style: italic;
    font-weight: bold;
    line-height: 1;
    z-index: -1; }
  .point_box.before:before {
    top: -7%;
    color: whitesmoke; }
  .point_box.after:before {
    bottom: -5%;
    color: #fcdbdb; }
  .point_box .dot_list1,
  .point_box .balloon {
    display: table-cell;
    vertical-align: middle; }
  .point_box .dot_list1 {
    width: 55.6%;
    padding: 2% 0 2% 4%; }
  .point_box .balloon {
    position: relative;
    color: #fff;
    font-weight: bold;
    padding: 5%; }
    .point_box .balloon:before {
      position: absolute;
      display: inline-block;
      content: "";
      width: 0;
      height: 0;
      vertical-align: middle;
      background: no-repeat 50% 50% / contain;
      top: 50%;
      left: -14px;
      border-style: solid;
      border-width: 10px 14px 10px 0;
      border-color: transparent #333 transparent transparent;
      margin-top: -10px; }
    .point_box .balloon.bg_black {
      background-color: #333; }
    .point_box .balloon.bg_red {
      background-color: #ef444a; }
      .point_box .balloon.bg_red:before {
        border-color: transparent #ef444a transparent transparent; }
  @media only screen and (max-width: 768px) {
    .point_box {
      display: block;
      width: 100%;
      font-size: 1em;
      border: none; }
      .point_box:before {
        display: none; }
      .point_box .dot_list1,
      .point_box .balloon {
        display: block; }
      .point_box .dot_list1 {
        width: 100%; }
      .point_box .balloon:before {
        top: -4px;
        left: 50%;
        border-width: 0 10px 14px 10px;
        border-color: transparent transparent #333 transparent;
        margin-top: -10px; }
      .point_box .balloon.bg_red:before {
        border-color: transparent transparent #ef444a transparent; } }

/*==================================================================== sec_flow
*/
.sec_flow {
  background-color: whitesmoke;
  padding-bottom: 10%; }
  .sec_flow .hl4:before {
    top: 2em; }
  .sec_flow .hl4 > b {
    font-size: 3.1em;
    margin-right: 0.4em; }
  .sec_flow .flow_area {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: justify;
    align-content: space-between;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    overflow: hidden; }
    .sec_flow .flow_area.end {
      /* -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end; */
    }
      .sec_flow .flow_area.end .flow_box {
        margin-left: 2.5%;
        margin-right: 0; }
        .sec_flow .flow_area.end .flow_box:before {
          right: inherit;
          left: -6%; }
        .sec_flow .flow_area.end .flow_box:last-child:before {
          display: inline-block; }
  .sec_flow .flow_box {
    position: relative;
    width: 23%;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 1.5% 1.5% 2%;
    margin-right: 2%;
    margin-bottom: 2.5%; }
    .sec_flow .flow_box:last-of-type{
      margin-right: 0;
    }
    /* .sec_flow .flow_box:before {
      position: absolute;
      display: inline-block;
      content: "";
      width: 0;
      height: 0;
      vertical-align: middle;
      background: no-repeat 50% 50% / contain;
      top: 50%;
      right: -6.5%;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 0 10px 10px;
      border-color: transparent transparent transparent #333;
      margin-top: -10px; } */
    .sec_flow .flow_box:last-child:before {
      display: none; }
    .sec_flow .flow_box .txt {
      position: relative;
      text-align: center;
      margin: 10% 0 0; }
      .sec_flow .flow_box .txt dt {
        color: #ef444a;
        font-size: 1.43em;
        letter-spacing: 0;
        line-height: 1.2;
        margin: 0 0 4%; }
      .sec_flow .flow_box .txt i {
        position: absolute;
        top: -1.9em;
        left: 0;
        right: 0;
        display: inline-block;
        width: 1.5em;
        height: 1.5em;
        background-color: #fff;
        font-family: "Roboto Condensed", Meiryo, "メイリオ", Meiryo UI, "メイリオ UI", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ", Arial, Helvetica, "MS PGothic", "ＭＳ Ｐゴシック", Osaka, sans-serif;
        font-style: normal;
        line-height: 1.4;
        border: 1px solid #ef444a;
        border-radius: 50%;
        margin: 0 auto; }
        .sec_flow .flow_box .txt i.double01{
          left: 0;
          right: 30px;
        }
        .sec_flow .flow_box .txt i.double02{
          left: 30px;
          right: 0;
        }
  @media only screen and (max-width: 768px) {
    .sec_flow .hl4 {
      font-size: 1em; }
    .sec_flow .flow_box:before {
      right: -8%;
      border-width: 6px 0 6px 6px;
      margin-top: -6px; }
    .sec_flow .flow_box .txt {
      font-size: 0.85em; }
      .sec_flow .flow_box .txt dt {
        font-size: 1.15em; } }
  @media only screen and (max-width: 480px) {
    .sec_flow .flow_box {
      width: 100%;
      margin: 0 0 24px; }
      .sec_flow .flow_box:last-child {
        margin-bottom: 0; }
      .sec_flow .flow_box:before {
        top: 104%;
        right: 50%;
        border-width: 6px 6px 0 6px;
        border-color: #333 transparent transparent transparent;
        margin-top: 0;
        margin-right: -6px; }
    .sec_flow .flow_area.end {
      margin: 0; }
      .sec_flow .flow_area.end .flow_box {
        margin: 24px 0 0; }
        .sec_flow .flow_area.end .flow_box:before {
          top: -16px;
          left: inherit;
          right: 50%;
          border-width: 6px 6px 0 6px;
          border-color: #333 transparent transparent transparent;
          margin-top: 0;
          margin-left: 0;
          margin-right: -6px; } }

/*==================================================================== sec_voice
*/
.sec_voice {
  position: relative;
  padding-top: 0;
  margin-bottom: 6%; }
  .sec_voice:before {
    position: absolute;
    display: inline-block;
    content: "";
    width: 100%;
    height: 50%;
    vertical-align: middle;
    background: no-repeat 50% 50% / contain;
    top: 0;
    left: 0;
    background-color: #ef444a;
    z-index: -1; }
  .sec_voice .hl3 {
    color: #fff; }
    .sec_voice .hl3:after {
      border-left-color: #fff; }

.voice_area {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  background-color: #fff; }

.voice_box {
  position: relative;
  width: 50%;
  border: 1px solid whitesmoke;
  padding: 5%; }
  .voice_box .hl {
    position: relative;
    text-align: center;
    font-size: 1.15em;
    font-weight: bold; }
    .voice_box .hl:after {
      display: block;
      width: 1.2em;
      content: "";
      border-top: 1px solid #ef444a;
      margin: 0.8em auto 0; }
    .voice_box .hl > i {
      color: #ef444a;
      font-family: "Roboto Condensed", Meiryo, "メイリオ", Meiryo UI, "メイリオ UI", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ", Arial, Helvetica, "MS PGothic", "ＭＳ Ｐゴシック", Osaka, sans-serif;
      font-size: 0.85em;
      font-style: normal; }
  .voice_box img {
    display: block;
    width: 140px;
    margin: 0 auto 1em; }
  .voice_box p {
    font-size: 1.15em; }
  @media only screen and (max-width: 768px) {
    .voice_box img {
      width: 100px; }
    .voice_box br {
      display: none; } }
  @media only screen and (max-width: 480px) {
    .voice_box {
      width: 100%; } }
      .mfp-content .mfp-img{
        background:#fff;
        padding:10px;
      }
      .mfp-content button{
        color: #000;
        right: 6px;
      }


.work_area {
    background-color: #EF444A;
    padding-bottom:20px;
}

.work_contens {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.work_flex{

}

.work_img_box{

}

.work_img {
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 20px;
}

@media only screen and (min-width: 769px) {
    .work_img_box {
        display:flex;
    }


}


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

    .work_area {
        padding-top: 2%;
        padding-bottom: 5%;
    }
}