/*
* benefits.css
*
*/
@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 300;
  font-style: normal;

  src: url("/files/font/NotoSansCJKjp-DemiLight.woff") format("woff"), url("/files/font/NotoSansCJKjp-DemiLight.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 400;
  font-style: normal;

  src: url("/files/font/NotoSansCJKjp-Regular.woff") format("woff"), url("/files/font/NotoSansCJKjp-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 500;
  font-style: normal;

  src: url("/files/font/NotoSansCJKjp-Medium.woff") format("woff"), url("/files/font/NotoSansCJKjp-Medium.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 700;
  font-style: normal;

  src: url("/files/font/NotoSansCJKjp-Bold.woff") format("woff"), url("/files/font/NotoSansCJKjp-Bold.ttf") format("truetype");
}

/* --------------------------------
common
-------------------------------- */
.m-section_heading_title {
  opacity: 0;
  -webkit-transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
}
.is-active .m-section_heading_title {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

@media screen and (min-width: 769px) {
  .m-mv {
    background-image: url(/files/img/corporate/benefits/mv_bg.jpg);
  }
}

@media screen and (max-width: 768px) {
  .m-mv {
    background-image: url(/files/img/corporate/benefits/mv_bg_sp.jpg);
  }
}

/* -------------------------------
benefit
-------------------------------- */
@media screen and (min-width: 769px) {
  .benefit {
    margin-top: 70px;
    margin-bottom: 95px;
  }
}

@media screen and (max-width: 768px) {
  .benefit {
    margin-top: 11.46667vw;
  }
}

@media screen and (min-width: 769px) {
  .benefit_inner + .benefit_inner {
    padding-top: 83px;
  }
}

@media screen and (max-width: 768px) {
  .benefit_inner + .benefit_inner {
    padding-top: 15.46667vw;
  }
}

.benefit_txt {
  opacity: 0;
  -webkit-transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
  text-align: center;
}
.is-active .benefit_txt {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
.benefit_txt.is-active {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 769px) {
  .benefit_txt {
    margin-top: 50px;
    font-size: 14px;
    line-height: 2.14286;
  }
}
@media screen and (max-width: 768px) {
  .benefit_txt {
    margin: 6.66667vw auto 0;
    width: 82.857142857%;
    font-size: 3.2vw;
    line-height: 2;
  }
}

@media screen and (min-width: 769px) {
  + .benefit_block_left_title {
    padding-top: 80px; 
    border-top: 1px solid #efefef;
  }
}

@media screen and (max-width: 768px) {
  + .benefit_block_left_title {
    margin-top: 11.46667vw;
  }
}

.benefit_block {
  border-bottom: 1px solid #efefef; 
  width: 100%;
}
.benefit_block:last-child {
  border-bottom: none;
}
.benefit_block-noclm .benefit_block_left {
  margin-right: 0; 
  width: 100%;
}
.benefit_block-voice {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .benefit_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 80px 0;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block {
    padding: 13.33333vw 0 15.73333vw;
  }
  .benefit_block:first-of-type {
    padding: 6.13333vw 0 15.73333vw;
  }
}

.benefit_block_left {
  opacity: 0;
  -webkit-transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
}
.is-active .benefit_block_left {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 769px) {
  .benefit_block_left {
    margin-right: 6.896551724%; 
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_left {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .benefit_block_left_title {
    margin-top: calc((1 - (31 / 22)) * 0.5em);
    letter-spacing: 0.08em; 
    font-size: 22px;
    line-height: 1.40909;
  }
  .benefit_block_left_title span {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .benefit_block_left_title {
    margin-top: calc((1 - (52 / 30)) * 0.5em);
    letter-spacing: 0.06em; 
    font-size: 4vw;
    line-height: 1.73333;
  }
}

.benefit_block_left_txt {
  margin-top: 1em;
}
@media screen and (min-width: 769px) {
  .benefit_block_left_txt + .benefit_block_left_title {
    padding-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_left_txt + .benefit_block_left_title {
    margin-top: 9.33333vw;
  }
}
@media screen and (min-width: 769px) {
  .benefit_block_left_txt {
    font-size: 14px;
    line-height: 2.14286;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_left_txt {
    margin-top: 2.4vw; 
    font-size: 3.2vw;
    line-height: 2;
  }
}

.benefit_block_right {
  opacity: 0;
  -webkit-transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
}
.is-active .benefit_block_right {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
.benefit_block_right.is-active .benefit_block_right {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 769px) {
  .benefit_block_right {
    width: 43.103448276%;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_right {
    margin-top: 9.33333vw; 
    width: 100%;
  }
}

.benefit_block_right_inner picture {
  display: block;
}

.benefit_block_right_list {
  position: relative;
}
.benefit_block_right_list .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 0;
  width: 100%; 

  -webkit-box-pack: center; 

      -ms-flex-pack: center; 

          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  .benefit_block_right_list .slick-dots {
    bottom: -30px;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_right_list .slick-dots {
    bottom: -6.66667vw;
  }
}
.benefit_block_right_list .slick-dots li {
  position: relative;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: background 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75);
  transition: background 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75); 
  background-color: #bfbfbf;
}
@media screen and (min-width: 769px) {
  .benefit_block_right_list .slick-dots li {
    margin: 0 5px; 
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_right_list .slick-dots li {
    margin: 0 1.33333vw; 
    width: 2.66667vw;
    height: 2.66667vw;
  }
}
.benefit_block_right_list .slick-dots li.slick-active,
.touchevents .benefit_block_right_list .slick-dots li.is-touched,
.no-touchevents .benefit_block_right_list .slick-dots li:hover {
  background-color: #009bb5;
}
.benefit_block_right_list .slick-dots li:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .benefit_block_right_list .slick-dots li:after {
    left: -2.5px;
    width: 15px;
    height: 15px;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_right_list .slick-dots li:after {
    left: -0.66667vw;
    width: 4vw;
    height: 4vw;
  }
}
.benefit_block_right_list .slick-dots li button {
  display: none;
}

.benefit_block_title {
  letter-spacing: 0.08em;
}
@media screen and (min-width: 769px) {
  .benefit_block_title {
    margin-top: calc((1 - (52 / 22)) * 0.5em); 
    width: 71.896551724%;
    font-size: 22px;
    line-height: 2.36364;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_title {
    margin-top: calc((1 - (52 / 30)) * 0.5em); 
    width: 100%;
    font-size: 4vw;
    line-height: 1.73333;
  }
}

@media screen and (min-width: 769px) {
  .benefit_block_txt {
    width: 71.896551724%;
    font-size: 14px;
    line-height: 2.14286;
  }
  .benefit_block_txt span {
    position: absolute;
    top: 6px;
    right: -33.1%; 
    width: 25.899280576%;
  }
}

@media screen and (max-width: 768px) {
  .benefit_block_txt {
    margin-top: 1.86667vw; 
    width: 100%;
    font-size: 3.2vw;
    line-height: 2;
  }
  .benefit_block_txt span {
    display: block;
    float: right;
    margin: 0.4em 0 5.46667vw 4vw; 
    width: 28.26667vw;
  }
}

.benefit_block_voice {
  opacity: 0;
  -webkit-transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
  background-color: #f5f5f5;
}
.is-active .benefit_block_voice {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 769px) {
  .benefit_block_voice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 13px; 
    padding: 30px;
    width: 50%;
  }
  .benefit_block_voice picture {
    margin-right: 4.406130268%; 
    width: 21.923076923%;
  }
}
@media screen and (max-width: 768px) {
  .benefit_block_voice {
    position: relative;
    margin-top: 13.33333vw; 
    padding: 6.66667vw;
    width: 100%;
  }
  .benefit_block_voice picture {
    position: absolute;
    top: 6.66667vw;
    left: 6.66667vw;
    width: 17.33333vw;
  }
}

@media screen and (min-width: 769px) {
  .benefit_block_voice_inner {
    width: 73.670792809%;
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 768px) {
  .benefit_block_voice_inner {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .benefit_block_voice_lead {
    margin-top: calc((1 - (24 / 14)) * 0.5em); 
    font-size: 14px;
    line-height: 1.71429;
  }
}

@media screen and (max-width: 768px) {
  .benefit_block_voice_lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 21.33333vw;
    width: 100%;
    height: 21.33333vw;
    font-size: 5.33333vw;
    line-height: 1;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .benefit_block_voice_lead span {
    display: block;
    margin-top: 0.5em;
    width: 100%;
    font-size: 4vw;
    line-height: 1;
  }
}

@media screen and (min-width: 769px) {
  .benefit_block_voice_txt {
    margin-top: 12px; 
    font-size: 12px;
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .benefit_block_voice_txt {
    margin-top: 2.66667vw;
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .benefit_banner {
    margin-top: 13px;
  }
}

@media screen and (max-width: 768px) {
  .benefit_banner {
    padding: 0 5.33333vw;
  }
}

.benefit_banner_list {
  opacity: 0;
  -webkit-transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
}
.is-active .benefit_banner_list {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

.plan_inner {
  opacity: 0;
  margin: 50px auto 0;
  padding: 0 30px;
  width: 100%;
  max-width: 1086px;
  -webkit-transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 0.8s, transform 1.4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
}
.is-active .plan_inner {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
.plan_inner br {
  display: none;
}
@media screen and (max-width: 768px) {
  .plan_inner {
    margin: 6.4vw auto 0; 
    padding: 0 5.33333vw;
  }
  .plan_inner br {
    display: block;
  }
}

.plan_lead {
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .plan_lead {
    font-size: 4.8vw;
    line-height: 1.388888889;
  }
}

.plan_txt {
  margin-top: 23px;
  margin-bottom: 30px;
  font-size: 14px;
  line-height: 1.714285714;
}
@media screen and (max-width: 768px) {
  .plan_txt {
    margin-top: 2.93333vw;
    margin-bottom: 5.06667vw;
    letter-spacing: 0.08em;
    font-size: 3.2vw;
    line-height: 1.75;
  }
}

.plan_link + .plan_link {
  margin-top: 8px;
}

.plan_link a {
  padding-bottom: 3px;
  border-bottom: 1px solid #009bb5;
  -webkit-transition: opacity 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75);
  transition: opacity 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75); 
  color: #009bb5;
  font-size: 16px;
  line-height: 2.125;
}
.plan_link a:hover {
  opacity: 0.6;
  color: #009bb5;
}
.plan_link a:visited {
  color: #009bb5;
}

@media screen and (max-width: 768px) {
  .plan_link + .plan_link {
    margin-top: 6.66667vw;
  }
  .plan_link a {
    font-size: 3.73333vw;
    line-height: 1.78571;
  }
}