@charset "UTF-8";
/*トップ*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-height: 0%; }

html, body {
  min-width: 1200px; }

body {
  font-family: 'Noto Sans Japanese', sans-serif,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8em;
  color: #111;
  font-feature-settings: "palt"; }

.inner {
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }

.vs {
  display: none; }

a {
  text-decoration: none; }
  a:focus {
    outline: none; }

ul, ol {
  list-style: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main, picture, source {
  display: block; }

img {
  height: auto;
  border: 0;
  vertical-align: top;
  max-width: 100%;
  margin: 0;
  display: block; }

.mv_slider {
  display: none; }

.mv_slider.slick-initialized {
  display: block; }

.inview {
  opacity: 0;
  -webkit-transform: translate(0, 80px);
  -ms-transform: translate(0, 80px);
  transform: translate(0, 80px); }

.inview_active {
  opacity: 1; }

.fadeup.inview_active {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.fadeup02.inview_active {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: .3s; }

.theader {
  position: absolute;
  top: 0;
  right: 50%;
  transform: translateX(50%);
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-width: 1200px;
  max-width: 1400px;
  z-index: 2; }
  .theader .h01 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 40px;
    height: 100px; }
    .theader .h01 h1 {
      width: 275px;
      background: #44BDFF; }
      .theader .h01 h1 img {
        mix-blend-mode: multiply; }
    .theader .h01 .h01_txt {
      color: #fff;
      line-height: 1.4em;
      margin-left: 23px;
      margin-top: 5px;
      font-size: 18px;
      font-weight: bold;
      /*        span {
                  color: #FFFB86;
                  font-weight:bold;
              }*/ }
  .theader .h02 {
    display: flex;
    justify-content: flex-start;
    height: 100px;
    padding: 0 40px 0 65px;
    align-items: center;
    background: url(../images/ikt.png) left 0 top 27px/46px no-repeat; }
    .theader .h02 .num {
      font-size: 40px;
      margin-top: 5px;
      font-family: 'Josefin Sans', sans-serif; }
      .theader .h02 .num span {
        display: inline-block;
        vertical-align: middle; }
      .theader .h02 .num span.l {
        padding-bottom: 8px; }
    .theader .h02 .txt {
      font-size: 12px;
      margin-left: 12px;
      line-height: 1.5em;
      font-weight: 600; }

.mv {
  position: relative;
  padding: 100px 0 75px;
  background: linear-gradient(to right, #44BDFF 0px, #44BDFF 60%, #fff 60%, #fff 100%); }
  .mv .mv_slider_wrap {
    padding-left: calc( 50% - 410px ); }
    .mv .mv_slider_wrap .mv_slider {
      background: #fff;
      position: relative; }
      .mv .mv_slider_wrap .mv_slider img {
        width: 100%; }
      .mv .mv_slider_wrap .mv_slider .slick-dots {
        bottom: -30px;
        text-align: left; }
      .mv .mv_slider_wrap .mv_slider .slick-dots button {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: none;
        outline: none;
        background: #005BAC;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        text-indent: -9999px; }
      .mv .mv_slider_wrap .mv_slider .slick-dots button:focus {
        border: none;
        outline: none; }
      .mv .mv_slider_wrap .mv_slider .slick-dots li {
        margin: 0 6px; }
      .mv .mv_slider_wrap .mv_slider .slick-dots .slick-active button {
        background: #005BAC;
        width: 8px;
        height: 8px;
        border: none;
        outline: none; }
      .mv .mv_slider_wrap .mv_slider .slick-dots li.slick-active button:before {
        border: 0;
        width: 0;
        height: 0; }
      .mv .mv_slider_wrap .mv_slider .slick-dots li button {
        background: #fff;
        width: 8px;
        height: 8px; }
      .mv .mv_slider_wrap .mv_slider .slick-dots li button:before {
        border: 0;
        width: 0;
        height: 0; }
  .mv .mv_txt_wrap {
    position: absolute;
    top: 165px;
    left: calc( 50% - 600px ); }
    .mv .mv_txt_wrap .mv_txt01 {
      font-weight: 600;
      line-height: 1.4em;
      font-family: 'Josefin Sans', sans-serif;
      font-size: 74px;
      color: #fff; }
      .mv .mv_txt_wrap .mv_txt01 span {
        font-family: 'Noto Sans Japanese', sans-serif,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
        font-weight: 600;
        background: #005BAC;
        padding: 0 15px;
        display: inline-block;
        font-size: 48px;
        margin-left: 15px;
        line-height: 1.6em; }
    .mv .mv_txt_wrap .t_mask {
      margin-bottom: 0.6em;
      display: inline-block;
      position: relative;
      background: #fff;
      line-height: 1.5em;
      font-size: 28px;
      padding: 7px 15px;
      transition: all 0s 1.2s ease;
      opacity: 0; }
      .mv .mv_txt_wrap .t_mask.txt01 {
        margin-top: 25px;
        color: #005BAC; }
      .mv .mv_txt_wrap .t_mask span {
        color: #005BAC;
        font-weight: 600; }
        .mv .mv_txt_wrap .t_mask span.num {
          font-family: 'Josefin Sans', sans-serif;
          font-size: 40px; }
      .mv .mv_txt_wrap .t_mask:after {
        display: inline;
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        transform: scaleX(0);
        background: #005BAC; }
      .mv .mv_txt_wrap .t_mask.inview_active {
        opacity: 1; }
        .mv .mv_txt_wrap .t_mask.inview_active:after {
          animation: curtain 0.7s ease 0.9s 1 normal both running; }
    .mv .mv_txt_wrap .htag {
      display: flex;
      justify-content: flex-start;
      margin-top: 20px; }
      .mv .mv_txt_wrap .htag li {
        color: #fff; }
        .mv .mv_txt_wrap .htag li:nth-of-type(n+2) {
          margin-left: 35px; }
        .mv .mv_txt_wrap .htag li a {
          color: #fff; }
          .mv .mv_txt_wrap .htag li a:hover {
            text-decoration: underline; }
  .mv .mv_btn01 {
    position: absolute;
    display: inline-block;
    bottom: 47px;
    right: calc( 50% - 600px );
    border-radius: 40px;
    background: #fff url(../images/ty01.png) right 20px top 50%/13px no-repeat;
    box-shadow: rgba(0, 0, 0, 0.13) 0px 4px 8px;
    transition: .3s; }
    .mv .mv_btn01 a {
      display: block;
      color: #111;
      line-height: 1.2em;
      padding: 18px 58px 18px 40px;
      text-align: center; }
    .mv .mv_btn01:hover {
      background: #005BAC url(../images/ty02.png) right 20px top 50%/13px no-repeat; }
      .mv .mv_btn01:hover a {
        color: #fff; }
  .mv:before {
    content: "";
    position: absolute;
    bottom: -40px;
    left: calc( 50% - 4px );
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    z-index: 3;
    animation: circlemove 1.6s ease-in-out infinite,cirlemovehide 1.6s ease-out infinite; }
  .mv:after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    width: 1px;
    height: 80px;
    background: linear-gradient(to bottom, #fff 0px, #fff 50%, #005BAC 50%, #005BAC 100%);
    z-index: 2; }

.workplace .workplace_ttl {
  position: relative;
  margin: 145px auto 0;
  width: 646px;
  font-size: 28px;
  color: #005BAC; }
  .workplace .workplace_ttl .workplace_ttl_txt {
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: 35px;
    left: 50%;
    transform: translate(-50%);
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%); }
.workplace h2 {
  text-align: center;
  font-weight: 600;
  line-height: 1.2em;
  position: relative;
  font-size: 64px;
  padding-bottom: 40px;
  margin: 20px 0 47px 0; }
  .workplace h2:after {
    position: absolute;
    content: "";
    bottom: 0;
    left: calc( 50% - 28px );
    width: 56px;
    height: 4px;
    background: #005BAC; }
.workplace .workplace_txt01 {
  text-align: center;
  line-height: 2.2em; }
.workplace .logo-hatarakiyasui {
  padding-top: 20px; }
  .workplace .logo-hatarakiyasui img {
    margin: 0 auto; }

.about {
  margin-top: 145px;
  background: linear-gradient(to bottom, #fff 0px, #fff 21.4vw, #44BDFF 21.4vw, #44BDFF 83%, transparent 83%, transparent 100%), url(../images/about_bg.png);
  background-size: calc( 50% + 462px ) 100%, 578px auto;
  background-position: right top,bottom left;
  background-repeat: no-repeat,no-repeat;
  position: relative;
  padding-bottom: 120px; }
  .about img {
    width: 100%; }
  .about .txt_wrap {
    position: absolute;
    top: 39.3vw;
    right: calc( 50% - 600px );
    color: #fff; }
    .about .txt_wrap h2 {
      font-family: 'Josefin Sans', sans-serif;
      font-size: 120px;
      font-weight: 700;
      line-height: 1.0em; }
    .about .txt_wrap .txt_box {
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
      margin-top: 20px; }
      .about .txt_wrap .txt_box .txt01 {
        font-size: 36px;
        font-weight: 600;
        line-height: 1.2em; }
      .about .txt_wrap .txt_box .txt02 {
        font-family: 'Josefin Sans', sans-serif;
        font-size: 80px;
        margin-left: 20px;
        font-weight: 700;
        line-height: 1.3em; }
  .about .about_list {
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 80px auto 0; }
    .about .about_list li {
      background: #fff;
      box-shadow: rgba(0, 0, 0, 0.13) 0px 4px 8px;
      padding: 50px 0 0 0;
      text-align: center;
      width: 276px;
      height: 500px;
      line-height: 1.0em; }
      .about .about_list li:nth-of-type(2) {
        margin-top: 80px; }
      .about .about_list li:nth-of-type(3) {
        margin-top: 160px; }
        .about .about_list li:nth-of-type(3) .txt03 {
          line-height: 1.5em; }
      .about .about_list li:nth-of-type(4) {
        margin-top: 240px; }
      .about .about_list li .icon {
        width: 50px;
        margin: 0 auto; }
      .about .about_list li .txt02 {
        font-size: 28px;
        color: #005BAC;
        margin-top: 25px;
        line-height: 1.6em; }
      .about .about_list li .txt03 {
        font-family: 'Josefin Sans', sans-serif;
        font-size: 100px;
        font-weight: 600;
        margin-top: 25px;
        line-height: 1.0em; }
        .about .about_list li .txt03 .inview {
          -webkit-transform: none;
          -ms-transform: none;
          transform: none; }
        .about .about_list li .txt03 .stxt {
          font-size: 60px; }
      .about .about_list li .txt04 {
        font-size: 28px;
        line-height: 1.9em;
        margin-bottom: 10px; }
      .about .about_list li .txt05 {
        font-size: 20px;
        line-height: 2.0em; }
      .about .about_list li .txt06 {
        margin-top: 20px; }

.phil {
  margin-top: 108px;
  position: relative;
  padding-top: 260px; }
  .phil .ttl_box {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    line-height: 1.5em;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    letter-spacing: 0.08em;
    position: absolute;
    top: 0;
    left: calc( 50% - 600px );
    width: 450px;
    z-index: 3; }
    .phil .ttl_box span {
      display: block; }
    .phil .ttl_box .ttl01 {
      font-size: 64px;
      font-weight: 600;
      line-height: 1.4em; }
    .phil .ttl_box .ttl02 {
      color: #45BDFF;
      font-weight: 700;
      font-size: 24px;
      line-height: 1.4em;
      font-family: 'Josefin Sans', sans-serif; }
  .phil .pic01 {
    width: 300px;
    position: absolute;
    left: calc( 50% - 320px );
    top: 0;
    z-index: 2; }
  .phil .pic02 {
    width: calc( 50% - 20px );
    left: calc( 50% - 700px );
    max-width: 680px;
    z-index: 2;
    position: relative; }
    .phil .pic02 img {
      width: 100%; }
  .phil .txt_wrap {
    width: calc( 50% + 360px );
    position: absolute;
    right: 0;
    top: 110px;
    background: #005BAC;
    color: #fff;
    padding: 70px 0;
    z-index: 1; }
    .phil .txt_wrap .txt01 {
      width: 540px;
      position: relative;
      left: 400px;
      text-align: justify;
      font-size: 18px;
      line-height: 2.2em; }
  .phil .circle {
    width: 542px;
    top: 600px;
    right: calc( 50% - 600px );
    position: absolute; }
  .phil .happy_pic {
    width: 665px;
    bottom: -20px;
    right: calc( 50% - 600px );
    position: absolute;
    z-index: 3; }

.phil_slide_wrap {
  margin-top: 100px;
  background: url(../images/phil_slide_bg01.png) no-repeat;
  background-size: 698px;
  background-position: calc( 50% - 500px ) 3vw; }
  .phil_slide_wrap .phil_slide li {
    margin: 0 10px; }
  .phil_slide_wrap .phil_slide li img {
    width: 100% !important; }
  .phil_slide_wrap .mission {
    display: flex;
    width: 1200px;
    margin: 145px auto 0;
    justify-content: space-between; }
    .phil_slide_wrap .mission .item {
      width: 580px; }
      .phil_slide_wrap .mission .item .ttl01 {
        font-family: 'Josefin Sans', sans-serif;
        padding: 40px 40px 0;
        font-size: 24px;
        font-weight: 700;
        line-height: 1.4em;
        color: #44BDFF; }
      .phil_slide_wrap .mission .item .ttl02 {
        font-size: 64px;
        font-weight: 600;
        line-height: 1.4em;
        padding: 0 40px; }
      .phil_slide_wrap .mission .item .txt {
        font-size: 18px;
        line-height: 2.1em;
        margin-top: 15px;
        padding: 0 40px;
        margin-bottom: 30px;
        text-align: justify; }
      .phil_slide_wrap .mission .item:nth-of-type(1) .ttl01, .phil_slide_wrap .mission .item:nth-of-type(1) .ttl02 {
        text-align: right; }

@keyframes curtain {
  0% {
    transform-origin: left center;
    transform: scaleX(0); }
  49.999% {
    transform-origin: left center;
    transform: scaleX(1); }
  50% {
    transform-origin: right center;
    transform: scaleX(1); }
  100% {
    transform-origin: right center;
    transform: scaleX(0); } }
/*staff動画追加*/
.staff_movie {
  margin-top: 115px; }
  .staff_movie .staff_ttl {
    font-size: 42px;
    font-weight: 600;
    text-align: center;
    line-height: 1.6em; }
  .staff_movie .ttl01 {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4em;
    color: #44BDFF;
    text-align: center; }
  .staff_movie .staff_itv_wrap {
    width: 1200px;
    margin: 60px auto 0;
    display: flex;
    justify-content: flex-start; }
    .staff_movie .staff_itv_wrap li {
      width: 392px; }
      .staff_movie .staff_itv_wrap li:nth-of-type(1) {
        padding: 0 22px 8px 0; }
      .staff_movie .staff_itv_wrap li:nth-of-type(2) {
        width: 416px;
        border-left: 1px solid #DEDEDE;
        border-right: 1px solid #DEDEDE;
        padding: 0 23px 8px; }
      .staff_movie .staff_itv_wrap li:nth-of-type(3) {
        padding: 0 0 8px 22px; }
      .staff_movie .staff_itv_wrap li .txt01 {
        text-align: center;
        line-height: 1.6em;
        font-size: 22px;
        font-weight: 600;
        color: #005BAC; }
      .staff_movie .staff_itv_wrap li .itv_box {
        margin: 25px auto 0;
        display: flex;
        justify-content: space-between; }
        .staff_movie .staff_itv_wrap li .itv_box .itv_l {
          width: 217px; }
          .staff_movie .staff_itv_wrap li .itv_box .itv_l .n_box {
            display: flex;
            justify-content: flex-start;
            align-items: center; }
            .staff_movie .staff_itv_wrap li .itv_box .itv_l .n_box .n_box01 {
              font-size: 14px;
              line-height: 1.0em;
              padding: 8px 15px;
              background: #45BDFF;
              color: #fff;
              font-weight: 600; }
            .staff_movie .staff_itv_wrap li .itv_box .itv_l .n_box .n_box02 {
              font-size: 18px;
              font-weight: 600;
              margin-left: 15px;
              line-height: 1.0em; }
          .staff_movie .staff_itv_wrap li .itv_box .itv_l .txt02 {
            text-align: justify;
            margin-top: 18px;
            font-size: 16px;
            line-height: 1.7em; }
        .staff_movie .staff_itv_wrap li .itv_box .itv_r {
          width: 137px; }
      .staff_movie .staff_itv_wrap li .movie_box {
        position: relative;
        margin-top: 25px;
        width: 100%;
        padding-top: 56.25%; }
        .staff_movie .staff_itv_wrap li .movie_box iframe {
          position: absolute;
          top: 0;
          right: 0;
          width: 100% !important;
          height: 100% !important; }

/*//staff動画追加*/
.movie_wrap {
  margin-top: 160px;
  padding-bottom: 70px;
  background: linear-gradient(to bottom, #fff 0px, #fff 230px, transparent 230px, transparent 100%), linear-gradient(to bottom, #005bac, #45bdff), linear-gradient(to bottom, #005bac, #45bdff); }
  .movie_wrap .movie_box_wrap {
    width: 840px;
    margin: 0 auto; }
    .movie_wrap .movie_box_wrap .movie_box {
      width: 100%;
      margin: 0 auto;
      position: relative;
      padding-top: 56.25%; }
      .movie_wrap .movie_box_wrap .movie_box iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important; }
      .movie_wrap .movie_box_wrap .movie_box .youtube_none {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important; }
        .movie_wrap .movie_box_wrap .movie_box .youtube_none img {
          width: 100%; }
  .movie_wrap .movie_txt_wrap {
    display: flex;
    justify-content: space-between;
    width: 840px;
    margin: 70px auto 0;
    color: #fff; }
    .movie_wrap .movie_txt_wrap .l {
      width: 180px;
      text-align: center;
      display: flex;
      flex-direction: column; }
      .movie_wrap .movie_txt_wrap .l .l_txt {
        margin-top: 22px; }
        .movie_wrap .movie_txt_wrap .l .l_txt .txt01 {
          font-size: 14px;
          line-height: 1.2em; }
        .movie_wrap .movie_txt_wrap .l .l_txt .txt02 {
          font-size: 20px;
          font-weight: 600;
          margin-top: 8px;
          line-height: 1.2em; }
    .movie_wrap .movie_txt_wrap .r {
      width: 580px;
      text-align: justify;
      font-size: 18px;
      line-height: 1.9em; }

.cm {
  margin-top: 225px;
  background: url("../images/cm_bg01.jpg") left 0 top 105px no-repeat;
  background-size: cover;
  padding-bottom: 30px; }
  .cm .inner {
    display: flex;
    justify-content: space-between; }
    .cm .inner .item {
      width: 500px; }
      .cm .inner .item.item01.fadeup.inview_active {
        transition-delay: 0.3s; }
      .cm .inner .item dt {
        position: relative; }
        .cm .inner .item dt .event_icon {
          position: absolute;
          left: 0;
          bottom: -30px;
          width: 143px; }
        .cm .inner .item dt .ac_icon {
          position: absolute;
          left: 0;
          width: 207px;
          bottom: -30px; }
      .cm .inner .item dd {
        padding: 50px 30px 0; }
        .cm .inner .item dd .ttl {
          line-height: 1.5em;
          text-align: center;
          font-size: 30px;
          font-weight: 600; }
        .cm .inner .item dd .txt {
          margin-top: 35px;
          text-align: justify;
          font-size: 18px;
          line-height: 2.0em; }
      .cm .inner .item.item01 {
        margin-top: 168px; }
    .cm .inner .ttl_box {
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      -o-writing-mode: vertical-rl;
      writing-mode: vertical-rl;
      line-height: 1.5em;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      letter-spacing: 0.1em;
      width: 110px; }
      .cm .inner .ttl_box .ttl01 {
        color: #45BDFF;
        font-weight: 700;
        font-size: 24px;
        line-height: 1.4em;
        font-family: 'Josefin Sans', sans-serif; }
      .cm .inner .ttl_box .ttl02 {
        font-size: 64px;
        font-weight: 600;
        line-height: 1.4em; }

.our {
  margin-top: 150px; }
  .our .ttl_txt {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #44BDFF;
    text-align: center; }
  .our h2 {
    text-align: center;
    font-size: 64px;
    font-weight: 600;
    line-height: 1.2em; }
    .our h2 span {
      font-family: 'Josefin Sans', sans-serif;
      font-weight: 700;
      font-size: 120px;
      color: #005BAC; }
  .our .our_list {
    margin-top: 65px;
    overflow: hidden; }
    .our .our_list li {
      padding: 60px 0; }
      .our .our_list li:nth-of-type(1) {
        background: url(../images/our01_p.jpg) center center/cover no-repeat; }
      .our .our_list li:nth-of-type(2) {
        background: url(../images/our02_p.jpg) center center/cover no-repeat; }
      .our .our_list li:nth-of-type(3) {
        background: url(../images/our03_p.jpg) center center/cover no-repeat; }
      .our .our_list li .txt_box {
        background: #fff;
        width: 580px;
        min-height: 340px;
        padding: 40px;
        position: relative;
        margin: 0 0 0 auto; }
        .our .our_list li .txt_box .ttl {
          text-align: center;
          font-size: 30px;
          font-weight: 600;
          line-height: 1.5em;
          padding-top: 10px; }
        .our .our_list li .txt_box .txt01 {
          font-size: 18px;
          line-height: 2.0em;
          margin-top: 20px;
          text-align: justify; }
        .our .our_list li .txt_box .num {
          position: absolute;
          top: -40px;
          right: -50px;
          font-size: 140px;
          font-family: 'Josefin Sans', sans-serif;
          color: #005BAC;
          font-weight: 600;
          line-height: 1.0em; }
      .our .our_list li:nth-of-type(even) .txt_box {
        margin: 0 auto 0 0; }
        .our .our_list li:nth-of-type(even) .txt_box .num {
          right: auto;
          left: -55px; }
      .our .our_list li:nth-of-type(3) .txt_box .ttl {
        padding-top: 10px; }

.msg {
  position: relative;
  margin-top: 235px;
  padding-bottom: 85px;
  background: #ebebeb; }
  .msg:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 540px;
    background: url(../images/msg_bg01.jpg) center center/cover no-repeat;
    z-index: 0; }
  .msg:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 540px;
    background: linear-gradient(to bottom, rgba(0, 91, 172, 0.6), rgba(69, 189, 255, 0.6));
    z-index: 0; }
  .msg .inner {
    position: relative;
    z-index: 2; }
    .msg .inner .sanko {
      position: absolute;
      top: -79px;
      width: 158px;
      left: calc( 50% - 79px ); }
    .msg .inner h2 {
      font-size: 64px;
      line-height: 1.2em;
      color: #fff;
      font-weight: 600;
      padding-top: 150px;
      text-align: center; }
    .msg .inner dl {
      display: flex;
      justify-content: flex-start;
      margin-top: 70px; }
      .msg .inner dl dt {
        width: 540px; }
      .msg .inner dl dd {
        position: relative;
        width: 660px;
        background: #fff;
        padding: 110px 45px 0 55px;
        font-size: 18px;
        line-height: 2.1em;
        text-align: justify; }
        .msg .inner dl dd .massage {
          position: absolute;
          top: 10px;
          left: -25px;
          width: 183px; }
  .msg .gmap {
    width: 1200px;
    margin: 40px auto 0;
    height: 569px;
    overflow: hidden;
    position: relative;
    border: 2px solid #fff; }
    .msg .gmap iframe {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%; }
  .msg .hs_wrap {
    width: 1200px;
    margin: 50px auto 0; }
    .msg .hs_wrap dl {
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      .msg .hs_wrap dl dt {
        width: 360px;
        text-align: center;
        font-size: 30px;
        font-weight: 600;
        line-height: 1.6em; }
      .msg .hs_wrap dl dd {
        width: 840px; }
        .msg .hs_wrap dl dd .hash_list {
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap; }
          .msg .hs_wrap dl dd .hash_list li {
            margin: 10px 20px;
            line-height: 1.4em; }
            .msg .hs_wrap dl dd .hash_list li a {
              color: #111;
              text-decoration: underline; }
              .msg .hs_wrap dl dd .hash_list li a:hover {
                text-decoration: none; }

.recruit {
  background: #005BAC;
  padding: 80px 0; }
  .recruit h2 {
    color: #fff;
    font-size: 72px;
    font-weight: 700;
    line-height: 1.0em;
    text-align: center;
    font-family: 'Josefin Sans', sans-serif; }
  .recruit .recruit_ttl_txt {
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: 600; }
  .recruit .recruit_box {
    margin-top: 55px;
    background: #fff;
    border-radius: 7px;
    padding: 30px 90px 45px 90px; }
  .recruit dl {
    display: flex;
    justify-content: space-between;
    padding: 15px 0; }
    .recruit dl:not(:nth-last-of-type(1)) {
      border-bottom: 1px solid #EBEBEB; }
    .recruit dl dt {
      font-weight: 600;
      width: 154px; }
    .recruit dl dd {
      width: calc( 100% - 154px );
      padding-right: 100px;
      line-height: 1.7em;
      text-align: justify; }
      .recruit dl dd ul li {
        display: inline;
        position: relative; }
        .recruit dl dd ul li:not(:nth-last-of-type(1)):after {
          content: "\FF5C";
          color: #005BAC; }
        .recruit dl dd ul li a {
          color: #005BAC;
          opacity: 1; }
          .recruit dl dd ul li a:hover {
            text-decoration: underline; }

.foot_fix {
  width: 100%;
  background: #fff; }
  .foot_fix.st {
    position: static;
    bottom: auto;
    width: 100%;
    z-index: 1;
    border-top: none; }
  .foot_fix.fixed {
    position: fixed;
    bottom: 0;
    width: 100%;
    min-width: 1200px;
    z-index: 10;
    border-top: 2px solid #d0d0d0; }
  .foot_fix ul {
    display: flex;
    justify-content: flex-start;
    width: 100%; }
    .foot_fix ul li a {
      padding: 24px 0;
      transition: .3s; }
      .foot_fix ul li a .txt01 {
        font-size: 28px;
        color: #005BAC;
        font-weight: 600;
        line-height: 1.4em;
        margin: 0 auto; }
      .foot_fix ul li a .txt02 {
        font-size: 16px;
        font-weight: 600;
        /*          line-height: 1.4em;*/
        line-height: 40px;
        color: #111;
        display: block;
        width: 240px;
        height: 40px;
        text-align: center;
        background: url(../images/foot_y03.png) no-repeat;
        margin: 0 auto; }
    .foot_fix ul li:nth-of-type(1) {
      width: 35%;
      text-align: center; }
      .foot_fix ul li:nth-of-type(1) a {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding-right: 80px;
        padding-left: calc( 100% - 400px );
        /*background: url(../images/foot_y01.png) right 28px top 50%/37px no-repeat;*/
        border-right: 2px solid #D0D0D0; }
        .foot_fix ul li:nth-of-type(1) a:hover {
          /*background: #005BAC  url(../images/foot_y02.png) right 28px top 50%/37px no-repeat;*/
          background: #005BAC; }
          .foot_fix ul li:nth-of-type(1) a:hover .txt01 {
            color: #fff; }
          .foot_fix ul li:nth-of-type(1) a:hover .txt02 {
            color: #111; }
    .foot_fix ul li:nth-of-type(2) {
      width: 25%;
      text-align: center; }
      .foot_fix ul li:nth-of-type(2) a {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        /*padding-left:40px;*/
        /*background: url(../images/foot_y01.png) right 28px top 50%/37px no-repeat;*/
        border-right: 2px solid #D0D0D0; }
        .foot_fix ul li:nth-of-type(2) a:hover {
          /*background: url(../images/foot_y02.png) right 28px top 50%/37px no-repeat;*/
          /*background: #005BAC  url(../images/foot_y02.png) right 28px top 50%/37px no-repeat;*/
          background: #005BAC; }
          .foot_fix ul li:nth-of-type(2) a:hover .txt01 {
            color: #fff; }
          .foot_fix ul li:nth-of-type(2) a:hover .txt02 {
            color: #111; }
    .foot_fix ul li:nth-of-type(3) {
      display: flex;
      align-items: center;
      background: url(../images/ikt.png) left 30px center/62px no-repeat;
      width: 40%; }
      .foot_fix ul li:nth-of-type(3) .h02 {
        display: flex;
        justify-content: flex-start;
        padding: 0 0 0 110px;
        align-items: center; }
        .foot_fix ul li:nth-of-type(3) .h02 .num {
          font-size: 53px;
          margin-top: 5px;
          font-family: 'Josefin Sans', sans-serif; }
          .foot_fix ul li:nth-of-type(3) .h02 .num span {
            display: inline-block;
            vertical-align: middle; }
          .foot_fix ul li:nth-of-type(3) .h02 .num span.l {
            padding-bottom: 8px; }
        .foot_fix ul li:nth-of-type(3) .h02 .txt {
          font-size: 16px;
          margin-left: 12px;
          line-height: 1.5em;
          font-weight: 600; }
  .foot_fix.add_foot_fix {
    min-width: 1200px; }
    .foot_fix.add_foot_fix ul li:nth-of-type(1) {
      width: 58%; }
      .foot_fix.add_foot_fix ul li:nth-of-type(1) a {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        height: 100%;
        padding-right: 100px;
        padding-left: calc( 100% - 830px );
        /*background: url(../images/foot_y01.png) right 28px top 50%/37px no-repeat;*/
        border-right: 2px solid #D0D0D0;
        min-height: 126px; }
        .foot_fix.add_foot_fix ul li:nth-of-type(1) a .txt01 {
          margin-left: 20px; }
        .foot_fix.add_foot_fix ul li:nth-of-type(1) a:hover {
          /*background: #005BAC  url(../images/foot_y02.png) right 28px top 50%/37px no-repeat;*/ }
          .foot_fix.add_foot_fix ul li:nth-of-type(1) a:hover .txt01 {
            color: #fff; }
          .foot_fix.add_foot_fix ul li:nth-of-type(1) a:hover .txt02 {
            color: #111; }
    .foot_fix.add_foot_fix ul li:nth-of-type(2) {
      display: flex;
      align-items: center;
      background: url(../images/ikt.png) left 30px center/62px no-repeat;
      width: 42%;
      min-height: 126px; }
      .foot_fix.add_foot_fix ul li:nth-of-type(2) .h02 {
        display: flex;
        justify-content: flex-start;
        padding: 0 0 0 110px;
        align-items: center; }
        .foot_fix.add_foot_fix ul li:nth-of-type(2) .h02 .num {
          font-size: 53px;
          margin-top: 5px;
          font-family: 'Josefin Sans', sans-serif; }
          .foot_fix.add_foot_fix ul li:nth-of-type(2) .h02 .num span {
            display: inline-block;
            vertical-align: middle; }
          .foot_fix.add_foot_fix ul li:nth-of-type(2) .h02 .num span.l {
            padding-bottom: 8px; }
        .foot_fix.add_foot_fix ul li:nth-of-type(2) .h02 .txt {
          font-size: 16px;
          margin-left: 12px;
          line-height: 1.5em;
          font-weight: 600; }

.foot_btm {
  background: #111;
  color: #fff;
  padding: 38px 0;
  line-height: 1.6em; }
  .foot_btm .foot_list {
    display: flex;
    justify-content: space-between;
    width: 530px;
    margin: 0 auto;
    font-size: 14px; }
    .foot_btm .foot_list li a {
      opacity: 1;
      color: #fff; }
      .foot_btm .foot_list li a:hover {
        text-decoration: underline; }
  .foot_btm .cpr {
    text-align: center;
    font-size: 14px;
    margin-top: 20px; }
    .foot_btm .cpr small {
      font-size: 14px; }

@media (max-width: 1310px) {
  .foot_fix ul li:nth-of-type(1) {
    width: 34%; }

  .foot_fix ul li:nth-of-type(2) {
    width: 28%; }

  .foot_fix ul li:nth-of-type(3) {
    width: 42%;
    background: url(../images/ikt.png) left 20px center/55px no-repeat; }

  .foot_fix ul li:nth-of-type(3) .h02 {
    padding: 0 0 0 90px; }

  .foot_fix ul li:nth-of-type(3) .h02 .num, .foot_fix.add_foot_fix ul li:nth-of-type(2) .h02 .num {
    font-size: 48px;
    margin-top: 5px; } }
@keyframes circlemove {
  0% {
    bottom: 40px; }
  100% {
    bottom: -40px; } }
@keyframes cirlemovehide {
  0% {
    opacity: 0; }
  20% {
    opacity: 1; }
  90% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
@media (max-width: 767px) {
  html, body {
    width: 100%;
    min-width: auto; }

  body {
    font-size: 3.8vw;
    font-weight: 400; }

  img {
    width: 100%; }

  .vp {
    display: none; }

  .vs {
    display: block; }

  .inner {
    width: 100%;
    padding: 0 5vw; }

  .theader {
    position: absolute;
    top: 0;
    left: 0;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 100%;
    min-width: 100%;
    width: 100%;
    z-index: 2;
    padding: 5.3vw 6vw; }
    .theader .h01 {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      padding: 0;
      height: auto; }
      .theader .h01 h1 {
        width: 43.2vw;
        background: #fff; }
      .theader .h01 .h01_txt {
        color: #111;
        line-height: 1.4em;
        margin-left: 5vw;
        margin-top: 0;
        font-size: 2.66vw; }
        .theader .h01 .h01_txt span {
          color: #FFFB86;
          font-weight: bold; }
    .theader .h02 {
      display: none;
      height: 0;
      padding: 0;
      background: none; }

  .mv {
    position: relative;
    padding: 21.33vw 0 14.13vw;
    background: linear-gradient(to right, #fff 0px, #fff 100%), linear-gradient(to bottom, #fff 0px, #fff 39vw, #44BDFF 39vw, #44BDFF 100%);
    background-size: 25.4vw,100%;
    background-position: right top,left top;
    background-repeat: no-repeat,no-repeat; }
    .mv .mv_slider_wrap {
      padding-left: 18.14vw; }
      .mv .mv_slider_wrap .mv_slider .slick-dots {
        bottom: -25px;
        text-align: right;
        padding-right: 5vw; }
      .mv .mv_slider_wrap .mv_slider .slick-dots button {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: none;
        outline: none;
        background: #005BAC;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        text-indent: -9999px; }
      .mv .mv_slider_wrap .mv_slider .slick-dots li button {
        background: #EBEBEB; }
    .mv .mv_txt_wrap {
      position: absolute;
      top: 82.6vw;
      left: 5vw; }
      .mv .mv_txt_wrap .mv_txt01 {
        font-size: 10.66vw;
        font-weight: 700; }
        .mv .mv_txt_wrap .mv_txt01 span {
          padding: 0 2.66vw;
          font-size: 9.3vw;
          margin-left: 0;
          line-height: 1.6em; }
      .mv .mv_txt_wrap .t_mask {
        margin-bottom: 0.6em;
        font-size: 5.3vw;
        padding: 1.5vw 3vw; }
        .mv .mv_txt_wrap .t_mask.txt01 {
          margin-top: 3vw; }
        .mv .mv_txt_wrap .t_mask span.num {
          font-family: 'Josefin Sans', sans-serif;
          font-size: 7.46vw; }
      .mv .mv_txt_wrap .htag {
        display: flex;
        justify-content: flex-start;
        margin-top: 2vw; }
        .mv .mv_txt_wrap .htag li:nth-of-type(n+2) {
          margin-left: 4vw; }
    .mv .mv_btn01 {
      position: relative;
      display: block;
      width: 80%;
      margin: 22vw auto 0;
      bottom: auto;
      right: auto;
      border-radius: 40px;
      background: #fff url(../images/ty01.png) right 5.3vw top 50%/3vw no-repeat; }
      .mv .mv_btn01 a {
        padding: 5vw 9.5vw 5vw 6vw; }
      .mv .mv_btn01:hover {
        background: #fff url(../images/ty02.png) right 5.3vw top 50%/3vw no-repeat; }
    .mv:before {
      content: "";
      position: absolute;
      bottom: -30px;
      left: calc( 50% - 4px );
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #fff;
      z-index: 3;
      animation: circlemove 1.6s ease-in-out infinite,cirlemovehide 1.6s ease-out infinite; }
    .mv:after {
      content: "";
      position: absolute;
      bottom: -30px;
      left: 50%;
      width: 1px;
      height: 60px;
      background: linear-gradient(to bottom, #fff 0px, #fff 50%, #005BAC 50%, #005BAC 100%);
      z-index: 2; }

  .workplace .workplace_ttl {
    margin: 12vw auto 0;
    width: 92vw;
    font-size: 4.26vw; }
    .workplace .workplace_ttl .workplace_ttl_txt {
      bottom: 4vw;
      left: 50%; }
  .workplace h2 {
    font-size: 7.9vw;
    padding-bottom: 9vw;
    margin: 5.33vw 0 6.9vw 0; }
    .workplace h2:after {
      position: absolute;
      content: "";
      bottom: 0;
      left: calc( 50% - 3.23vw );
      width: 7.46vw; }
  .workplace .workplace_txt01 {
    text-align: justify;
    line-height: 2.0em;
    width: 74vw;
    margin: 0 auto; }

  @keyframes circlemove {
    0% {
      bottom: 30px; }
    100% {
      bottom: -30px; } }
  @keyframes cirlemovehide {
    0% {
      opacity: 0; }
    20% {
      opacity: 1; }
    90% {
      opacity: 1; }
    100% {
      opacity: 0; } }
  .about {
    margin-top: 12vw;
    background: linear-gradient(to bottom, #fff 0px, #fff 37.3vw, #44BDFF 37.3vw, #44BDFF 100%);
    background-size: 100%;
    padding-bottom: 5vw; }
    .about .txt_wrap {
      position: absolute;
      top: 71vw;
      right: 5vw; }
      .about .txt_wrap h2 {
        font-size: 11.2vw; }
      .about .txt_wrap .txt_box {
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        margin-top: 2vw; }
        .about .txt_wrap .txt_box .txt01 {
          font-size: 3.2vw;
          line-height: 1.2em; }
        .about .txt_wrap .txt_box .txt02 {
          font-size: 7.8vw;
          margin-left: 3vw; }
    .about .about_list {
      display: flex;
      justify-content: space-between;
      width: 90vw;
      flex-wrap: wrap;
      margin: 22.3vw auto 0; }
      .about .about_list li {
        padding: 5vw 0 0 0;
        width: 42vw;
        height: 80vw;
        margin-bottom: 6vw; }
        .about .about_list li:nth-of-type(2) {
          margin-top: 10vw; }
        .about .about_list li:nth-of-type(3) {
          margin-top: -10vw; }
        .about .about_list li:nth-of-type(4) {
          margin-top: 0; }
        .about .about_list li .icon {
          width: 9.6vw; }
        .about .about_list li .txt02 {
          font-size: 4.26vw;
          margin-top: 4vw; }
        .about .about_list li .txt03 {
          font-size: 15vw;
          margin-top: 4vw; }
          .about .about_list li .txt03 .stxt {
            font-size: 7.5vw; }
        .about .about_list li .txt04 {
          font-size: 5.3vw;
          line-height: 1.9em;
          margin-bottom: 3vw; }
        .about .about_list li .txt05 {
          font-size: 3.7vw;
          line-height: 2.0em; }
        .about .about_list li .txt06 {
          margin-top: 3vw;
          font-size: 3vw; }

  .phil {
    margin-top: 12.5vw;
    position: relative;
    padding-top: 44.26vw; }
    .phil .ttl_box {
      position: absolute;
      top: 0;
      left: 5vw;
      width: 80vw;
      z-index: 3; }
      .phil .ttl_box .ttl01 {
        font-size: 10.66vw; }
      .phil .ttl_box .ttl02 {
        color: #45BDFF;
        font-size: 3.46vw; }
    .phil .pic01 {
      width: 49.86vw;
      position: absolute;
      left: auto;
      right: 0;
      top: 0;
      z-index: 2; }
    .phil .pic02 {
      width: 100%;
      left: auto;
      max-width: 100%;
      z-index: 1;
      position: relative; }
    .phil .txt_wrap {
      width: 90vw;
      position: absolute;
      right: 5vw;
      top: 113vw;
      padding: 5vw;
      z-index: 2; }
      .phil .txt_wrap .txt01 {
        width: 100%;
        position: relative;
        left: auto;
        text-align: justify;
        font-size: 3.7vw;
        font-weight: 600;
        line-height: 1.8em; }
    .phil .circle {
      width: 90vw;
      margin: 60vw auto 0;
      top: auto;
      right: auto;
      position: static; }
    .phil .happy_pic {
      width: 90vw;
      margin: 6.66vw auto 0;
      bottom: auto;
      right: auto;
      position: static; }

  .phil_slide_wrap {
    background: url(../images/phil_slide_bg02.png) right 0 top 74vw/64vw no-repeat;
    margin-top: 8.5vw; }
    .phil_slide_wrap .phil_slide li {
      margin: 0 2vw; }
    .phil_slide_wrap .mission {
      display: flex;
      width: 100vw;
      margin: 8vw auto 0; }
      .phil_slide_wrap .mission .item {
        width: 48vw; }
        .phil_slide_wrap .mission .item .ttl01 {
          font-family: 'Josefin Sans', sans-serif;
          padding: 0;
          font-size: 3.46vw; }
        .phil_slide_wrap .mission .item .ttl02 {
          font-size: 6.4vw;
          padding: 0; }
        .phil_slide_wrap .mission .item .txt {
          font-size: 3.7vw;
          line-height: 1.8em;
          margin-top: 4vw;
          padding: 0 0 0 5vw;
          margin-bottom: 8vw;
          text-align: justify; }
        .phil_slide_wrap .mission .item:nth-of-type(2) .ttl01 {
          margin-top: 8vw; }
        .phil_slide_wrap .mission .item:nth-of-type(2) .txt {
          padding: 0 5vw 0 0; }

  /*staff動画追加*/
  .staff_movie {
    margin-top: 14.6vw; }
    .staff_movie .staff_ttl {
      font-size: 7.4vw; }
    .staff_movie .ttl01 {
      font-size: 3.46vw; }
    .staff_movie .staff_itv_wrap {
      width: 90vw;
      margin: 8vw auto 0;
      flex-direction: column; }
      .staff_movie .staff_itv_wrap li {
        width: 100%;
        border-bottom: 1px solid #DEDEDE; }
        .staff_movie .staff_itv_wrap li:nth-of-type(1) {
          padding: 0 0 6vw 0; }
        .staff_movie .staff_itv_wrap li:nth-of-type(2) {
          margin-top: 4vw;
          width: 100%;
          border-left: none;
          border-right: none;
          padding: 0 0 6vw 0; }
        .staff_movie .staff_itv_wrap li:nth-of-type(3) {
          margin-top: 4vw;
          padding: 0 0 6vw 0;
          border-bottom: none; }
        .staff_movie .staff_itv_wrap li .txt01 {
          text-align: left;
          font-size: 5.3vw; }
        .staff_movie .staff_itv_wrap li .itv_box {
          margin: 5.3vw auto 0; }
          .staff_movie .staff_itv_wrap li .itv_box .itv_l {
            width: 48vw; }
            .staff_movie .staff_itv_wrap li .itv_box .itv_l .n_box .n_box01 {
              font-size: 3.7vw;
              line-height: 1.0em;
              padding: 2.13vw 3vw; }
            .staff_movie .staff_itv_wrap li .itv_box .itv_l .n_box .n_box02 {
              font-size: 4.26vw;
              margin-left: 3vw; }
            .staff_movie .staff_itv_wrap li .itv_box .itv_l .txt02 {
              margin-top: 4vw;
              font-size: 3.7vw; }
          .staff_movie .staff_itv_wrap li .itv_box .itv_r {
            width: 36.5vw; }
        .staff_movie .staff_itv_wrap li .movie_box {
          margin-top: 6.66vw; }

  /*//staff動画追加*/
  .movie_wrap {
    margin-top: 13.3vw;
    padding-bottom: 10vw;
    background: linear-gradient(to bottom, #fff 0px, #fff 24vw, transparent 24vw, transparent 100%), linear-gradient(to bottom, #005bac, #45bdff), linear-gradient(to bottom, #005bac, #45bdff); }
    .movie_wrap .movie_box_wrap {
      width: 90vw;
      margin: 0 auto; }
    .movie_wrap .movie_txt_wrap {
      display: flex;
      flex-direction: column;
      width: 90vw;
      margin: 5.33vw auto 0; }
      .movie_wrap .movie_txt_wrap .l {
        width: 64vw;
        margin: 6vw auto 0;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center; }
        .movie_wrap .movie_txt_wrap .l .pic {
          width: 26.66vw; }
        .movie_wrap .movie_txt_wrap .l .l_txt {
          margin-top: 0;
          width: 26.66vw; }
          .movie_wrap .movie_txt_wrap .l .l_txt .txt01 {
            font-size: 3.2vw; }
          .movie_wrap .movie_txt_wrap .l .l_txt .txt02 {
            font-size: 5.6vw;
            font-weight: 600;
            margin-top: 2vw; }
      .movie_wrap .movie_txt_wrap .r {
        width: 100%;
        margin-top: 7vw;
        font-size: 3.7vw;
        line-height: 1.9em; }

  .cm {
    margin-top: 0;
    background: url("../images/cm_bg02.jpg") center center no-repeat;
    background-size: cover;
    padding: 10vw 0 6vw; }
    .cm .inner {
      display: flex;
      flex-direction: column; }
      .cm .inner .item {
        width: 100%; }
        .cm .inner .item.item01.fadeup.inview_active {
          transition-delay: 0s; }
        .cm .inner .item dt {
          position: relative; }
          .cm .inner .item dt .event_icon {
            position: absolute;
            left: 3vw;
            bottom: -4vw;
            width: 21.6vw; }
          .cm .inner .item dt .ac_icon {
            position: absolute;
            left: 3vw;
            width: 34.9vw;
            bottom: -5vw; }
        .cm .inner .item dd {
          padding: 6.5vw 0; }
          .cm .inner .item dd .ttl {
            line-height: 1.5em;
            text-align: center;
            font-size: 5.3vw;
            font-weight: 600; }
          .cm .inner .item dd .txt {
            margin-top: 5.33vw;
            font-size: 3.8vw;
            line-height: 1.8em; }
        .cm .inner .item.item01 {
          margin-top: 0;
          order: 3; }
        .cm .inner .item.item02 {
          order: 2;
          margin-top: 8vw; }
      .cm .inner .ttl_box {
        order: 1;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        -o-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        line-height: 1.5em;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        letter-spacing: 0;
        width: 100%;
        text-align: center; }
        .cm .inner .ttl_box .ttl01 {
          font-size: 3.46vw;
          line-height: 1.4em; }
        .cm .inner .ttl_box .ttl02 {
          font-size: 9.6vw;
          font-weight: 600;
          line-height: 1.4em; }

  .our {
    margin-top: 9vw; }
    .our .ttl_txt {
      font-size: 3.2vw; }
    .our h2 {
      font-size: 9.6vw; }
      .our h2 span {
        font-size: 17vw; }
    .our .our_list {
      margin-top: 9vw; }
      .our .our_list li {
        padding: 14.6vw 0 5.86vw; }
        .our .our_list li:nth-of-type(1) {
          background: url(../images/our01_s.jpg) center center/cover no-repeat; }
        .our .our_list li:nth-of-type(2) {
          background: url(../images/our02_s.jpg) center center/cover no-repeat; }
        .our .our_list li:nth-of-type(3) {
          background: url(../images/our03_s.jpg) center center/cover no-repeat; }
        .our .our_list li .txt_box {
          background: #fff;
          width: 100%;
          min-height: auto;
          padding: 5vw;
          margin: 0; }
          .our .our_list li .txt_box .ttl {
            font-size: 5.2vw;
            padding-top: 5vw; }
            .our .our_list li .txt_box .ttl .smoji {
              font-size: 4.4vw; }
          .our .our_list li .txt_box .txt01 {
            font-size: 3.7vw;
            line-height: 1.8em;
            margin-top: 4vw; }
          .our .our_list li .txt_box .num {
            position: absolute;
            font-weight: 700;
            top: -4vw;
            left: 50%;
            right: auto;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            font-size: 10.6vw; }
        .our .our_list li:nth-of-type(even) .txt_box {
          margin: 0; }
          .our .our_list li:nth-of-type(even) .txt_box .num {
            left: 50%;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%); }
        .our .our_list li:nth-of-type(3) .txt_box .ttl {
          padding-top: 3vw; }

  .msg {
    margin-top: 15.46vw;
    padding-bottom: 12vw; }
    .msg:before {
      position: absolute;
      content: "";
      left: 0;
      top: 0;
      width: 100%;
      height: 78.93vw;
      background: url(../images/msg_bg02.jpg) center center/cover no-repeat;
      z-index: 0; }
    .msg:after {
      position: absolute;
      content: "";
      left: 0;
      top: 0;
      width: 100%;
      height: 78.93vw;
      background: linear-gradient(to bottom, rgba(0, 91, 172, 0.6), rgba(69, 189, 255, 0.6));
      z-index: 0; }
    .msg .inner {
      position: relative;
      z-index: 2; }
      .msg .inner .sanko {
        position: absolute;
        width: 21.3vw;
        top: -10.65vw;
        left: calc( 50% - 10.65vw ); }
      .msg .inner h2 {
        font-size: 7.5vw;
        padding-top: 16vw; }
      .msg .inner dl {
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        position: relative;
        margin-top: 5vw; }
        .msg .inner dl dt {
          width: 48%;
          margin: 0 auto;
          z-index: 2; }
        .msg .inner dl dd {
          position: relative;
          top: -8vw;
          width: 100%;
          padding: 18vw 5vw 5vw 5vw;
          font-size: 3.7vw;
          line-height: 1.8em; }
          .msg .inner dl dd .massage {
            position: absolute;
            z-index: 3;
            top: 3vw;
            left: calc( 50% - 16.4vw );
            width: 32.8vw; }
    .msg .gmap {
      margin-top: 2vw;
      width: 100%;
      height: 69.3vw;
      overflow: hidden;
      position: relative; }
    .msg .hs_wrap {
      width: 80vw;
      margin: 10vw auto 0; }
      .msg .hs_wrap dl {
        display: flex;
        flex-direction: column; }
        .msg .hs_wrap dl dt {
          width: 100%;
          font-size: 4.26vw;
          line-height: 1.4em; }
        .msg .hs_wrap dl dd {
          width: 100%;
          margin-top: 3vw; }
          .msg .hs_wrap dl dd .hash_list {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap; }
            .msg .hs_wrap dl dd .hash_list li {
              margin: 2.5vw 3vw 2.5vw;
              line-height: 1.4em;
              font-size: 3.2vw; }

  .recruit {
    padding: 15vw 0; }
    .recruit h2 {
      color: #fff;
      font-size: 12.8vw; }
    .recruit .recruit_ttl_txt {
      font-size: 4.8vw; }
    .recruit .recruit_box {
      margin: 11vw auto 0;
      padding: 4vw 5vw 8vw 5vw;
      width: 90vw; }
    .recruit dl {
      display: flex;
      justify-content: space-between;
      flex-direction: column;
      padding: 4vw 0; }
      .recruit dl dt {
        width: 100%; }
      .recruit dl dd {
        width: 100%;
        margin-top: 3vw;
        padding-right: 0; }

  .foot_fix.fixed {
    border-top: 1px solid #d0d0d0;
    min-width: 100%; }
  .foot_fix ul {
    display: flex;
    justify-content: flex-start;
    width: 100%; }
    .foot_fix ul li {
      height: 32vw; }
      .foot_fix ul li a {
        height: 100%;
        padding: 0; }
        .foot_fix ul li a .txt01 {
          font-size: 4.8vw;
          line-height: 1.3em;
          text-align: center;
          order: 1;
          padding-top: 4vw; }
        .foot_fix ul li a .txt02 {
          font-size: 3.2vw;
          text-align: center;
          order: 2;
          padding-top: 1vw;
          background-image: none;
          margin: inherit; }
    .foot_fix ul li:nth-of-type(1) {
      width: calc( 100% / 3 ); }
      .foot_fix ul li:nth-of-type(1) a {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        padding-right: 0;
        padding-left: 0;
        background: url(../images/foot_y01.png) center bottom 3vw/4.26vw no-repeat;
        border-right: 1px solid #D0D0D0; }
        .foot_fix ul li:nth-of-type(1) a:hover {
          background: url(../images/foot_y01.png) center bottom 3vw/4.26vw no-repeat; }
          .foot_fix ul li:nth-of-type(1) a:hover .txt01 {
            color: #D0D0D0; }
          .foot_fix ul li:nth-of-type(1) a:hover .txt02 {
            color: #D0D0D0; }
    .foot_fix ul li:nth-of-type(2) {
      width: calc( 100% / 3 ); }
      .foot_fix ul li:nth-of-type(2) a {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        padding-left: 0;
        background: url(../images/foot_y01.png) center bottom 3vw/4.26vw no-repeat;
        border-right: 1px solid #D0D0D0; }
        .foot_fix ul li:nth-of-type(2) a:hover {
          background: url(../images/foot_y01.png) center bottom 3vw/4.26vw no-repeat; }
          .foot_fix ul li:nth-of-type(2) a:hover .txt01 {
            color: #005BAC; }
          .foot_fix ul li:nth-of-type(2) a:hover .txt02 {
            color: #111; }
    .foot_fix ul li:nth-of-type(3) {
      width: calc( 100% / 3 );
      background: #005BAC; }
      .foot_fix ul li:nth-of-type(3) a {
        width: calc( 100vw / 3 );
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        background: none;
        color: #fff;
        text-align: center; }
        .foot_fix ul li:nth-of-type(3) a .pic {
          width: 5.06vw;
          margin: 0 auto; }
        .foot_fix ul li:nth-of-type(3) a .txt01 {
          color: #fff;
          font-weight: 600;
          font-size: 4.26vw;
          line-height: 1.2em;
          margin-top: 3vw;
          order: 1;
          padding-top: 0vw; }
        .foot_fix ul li:nth-of-type(3) a .txt02 {
          color: #fff;
          font-size: 2.66vw;
          line-height: 1.4em;
          order: 2;
          padding-top: 2vw;
          background-image: none;
          margin: inherit; }
  .foot_fix.add_foot_fix ul {
    display: flex;
    justify-content: flex-start;
    width: 100%; }
    .foot_fix.add_foot_fix ul li {
      height: 32vw; }
      .foot_fix.add_foot_fix ul li a {
        height: 100%;
        padding: 0; }
        .foot_fix.add_foot_fix ul li a .txt01 {
          font-size: 4.8vw;
          line-height: 1.3em;
          text-align: center;
          order: 1;
          padding-top: 0; }
        .foot_fix.add_foot_fix ul li a .txt02 {
          font-size: 3.2vw;
          text-align: center;
          order: 2;
          padding-top: 0;
          background-image: none;
          margin: inherit; }
    .foot_fix.add_foot_fix ul li:nth-of-type(1) {
      width: 60vw; }
      .foot_fix.add_foot_fix ul li:nth-of-type(1) a {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        padding-right: 0;
        padding-left: 0;
        background: url(../images/foot_y01.png) center bottom 3vw/4.26vw no-repeat;
        border-right: 1px solid #D0D0D0;
        min-height: 32vw;
        height: 100%; }
        .foot_fix.add_foot_fix ul li:nth-of-type(1) a .txt01 {
          margin: 0 auto;
          padding-top: 9vw; }
        .foot_fix.add_foot_fix ul li:nth-of-type(1) a .txt02 {
          margin-top: 1vw;
          background-image: none;
          margin: inherit; }
        .foot_fix.add_foot_fix ul li:nth-of-type(1) a:hover {
          background: url(../images/foot_y01.png) center bottom 3vw/4.26vw no-repeat; }
          .foot_fix.add_foot_fix ul li:nth-of-type(1) a:hover .txt01 {
            color: #005BAC; }
          .foot_fix.add_foot_fix ul li:nth-of-type(1) a:hover .txt02 {
            color: #111; }
    .foot_fix.add_foot_fix ul li:nth-of-type(2) {
      width: 40vw;
      background: #005BAC;
      min-height: auto; }
      .foot_fix.add_foot_fix ul li:nth-of-type(2) a {
        width: 40vw;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        background: none;
        color: #fff;
        text-align: center;
        border-right: none; }
        .foot_fix.add_foot_fix ul li:nth-of-type(2) a .pic {
          width: 5.06vw;
          margin: 0 auto; }
        .foot_fix.add_foot_fix ul li:nth-of-type(2) a .txt01 {
          color: #fff;
          font-weight: 600;
          font-size: 4.26vw;
          line-height: 1.2em;
          margin-top: 3vw;
          order: 1;
          padding-top: 0vw; }
        .foot_fix.add_foot_fix ul li:nth-of-type(2) a .txt02 {
          color: #fff;
          font-size: 2.66vw;
          line-height: 1.4em;
          order: 2;
          padding-top: 2vw;
          background-image: none;
          margin: inherit; }

  .foot_btm {
    padding: 38px 0;
    line-height: 1.6em; }
    .foot_btm .foot_list {
      text-align: center;
      flex-wrap: wrap;
      justify-content: space-between;
      text-align: center;
      width: 100%;
      font-size: 3.2vw;
      line-height: 2.4em; }
      .foot_btm .foot_list li:nth-of-type(4) {
        width: 100%;
        text-align: center; }
    .foot_btm .cpr {
      font-size: 3.2vw;
      margin-top: 5vw; }
      .foot_btm .cpr small {
        font-size: 3.2vw; } }
