@charset "UTF-8";

.sp {
  display: none !important;
}

.pc {
  display: block !important;
}

@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }

  .pc {
    display: none !important;
  }
}

.l-main {
  position: relative;
  display: block;
  background-color: #FFFFFF;
  color: #000000;
  /* font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; */
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-weight: 500;
  overflow-x: hidden;
}

.l-main * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-main a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.l-main figure {
  margin: 0;
}

.l-main img {
  display: block;
  height: auto;
  width: 100%;
  max-width: 100%;
}

.l-inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  .l-inner {
    width: 94%;
  }
}


@media screen and (max-width: 767px) {
  .l-inner {
    width: calc(100% - 18.75vw);
  }
}

.c-bg-ptn01 {
  background-image: url(../img/common/bg_dot_left.svg), url(../img/common/bg_dot_right.svg);
  background-size: 740px auto, 740px auto;
  background-repeat: no-repeat, no-repeat;
  background-position: top left, bottom right;
}

@media screen and (max-width: 767px) {
  .c-bg-ptn01 {
    background-size: 100% auto, 100% auto;
  }
}

.c-bg-ptn02 {
  background-image: url(../img/common/bg_dot_right.svg);
  background-size: 740px auto;
  background-repeat: no-repeat;
  background-position: bottom right;
}

@media screen and (max-width: 767px) {
  .c-bg-ptn02 {
    background-size: 100% auto;
  }
}

.c-bg-ptn03 {
  background-image: url(../img/common/bg_dot_left.svg);
  background-size: 740px auto;
  background-repeat: no-repeat;
  background-position: top left;
}

@media screen and (max-width: 767px) {
  .c-bg-ptn03 {
    background-size: 100% auto;
  }
}

.text_gradation {
  background: rgb(54, 129, 196);
  background: linear-gradient(130deg, rgb(54, 129, 196) 0%, rgb(50, 155, 206) 30%, rgb(46, 184, 218) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.text_gradation02 {
  background: rgb(121, 197, 227);
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, rgb(121, 197, 227)), to(rgb(131, 201, 126)));
  background: linear-gradient(90deg, rgb(121, 197, 227) 10%, rgb(131, 201, 126) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.base_gradation {
  background: rgb(54, 129, 196);
  background: -webkit-gradient(linear, left top, right top, from(rgb(54, 129, 196)), color-stop(20%, rgb(50, 150, 204)), color-stop(45%, rgb(48, 168, 211)), color-stop(70%, rgb(46, 180, 216)), to(rgb(46, 184, 218)));
  background: linear-gradient(90deg, rgb(54, 129, 196) 0%, rgb(50, 150, 204) 20%, rgb(48, 168, 211) 45%, rgb(46, 180, 216) 70%, rgb(46, 184, 218) 100%);
}

.base_gradation02 {
  background: rgb(54, 129, 196);
  background: linear-gradient(130deg, rgb(54, 129, 196) 0%, rgb(50, 150, 204) 20%, rgb(48, 168, 211) 45%, rgb(46, 180, 216) 70%, rgb(46, 184, 218) 100%);
}

.border_gradation {
  border: 2px solid rgb(54, 129, 196);
  -o-border-image: linear-gradient(to right, #3681c4, #2eb8da);
  border-image: -webkit-gradient(linear, left top, right top, from(#3681c4), to(#2eb8da));
  border-image: linear-gradient(to right, #3681c4, #2eb8da);
  border-image-slice: 1;
}





.contents .big-shoulders-700 {
  font-family: "Big Shoulders", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.contents .mv {
  color: #fff;
}

@media print,
only screen and (min-width: 1181px) {

  /* メインタイトル */
  .contents .mv {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 400px;
    background: url(../img/data/mv_bg_pc.png) repeat center center/cover;

  }

  .contents .ttl_mv {
    font-size: 104px;
    text-align: center;
    line-height: 1;
  }

  .contents .ttl_mv_sub {
    display: block;
    font-size: 20px;
    margin-top: 25px;
  }

}


@media only screen and (max-width: 1180px) and (min-width: 769px) {

  /* メインタイトル */
  .contents .mv {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 33.8983050847vw;
    background: url(../img/data/mv_bg_pc.png) repeat center center/cover;
  }

  .contents .ttl_mv {
    font-size: 8.813559322vw;
    text-align: center;
    line-height: 1;
  }

  .contents .ttl_mv_sub {
    display: block;
    font-size: 1.6949152542vw;
    margin-top: 2.1186440678vw;
  }
}



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

  /* メインタイトル */
  .contents .mv {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56vw;
    padding-top: 10.6666666667vw;
    background: url(../img/data/mv_bg_sp.png) repeat center center/cover;
  }

  .contents .ttl_mv {
    font-size: 11.7333333333vw;
    text-align: center;
    line-height: 1;
  }

  .contents .ttl_mv_sub {
    display: block;
    font-size: 3.4666666667vw;
    margin-top: 3.3333333333vw;
  }


}