@charset "UTF-8";
/*------------------------------------------------------------------------------
    config
------------------------------------------------------------------------------*/
/***  media ***/
/***  color ***/
/*** font ***/
#header {
  background: #ffffff;
}
#mv_sp {
  display: none;
}
@media screen and (max-width: 850px) {
  #mv_sp {
    display: block;
    margin-top: 46px;
  }
}
#mv_sp .inner {
  padding: 0 20px;
  max-width: 1290px;
}
@media screen and (max-width: 850px) {
  #mv_sp .inner {
    padding: 0;
  }
}
#mv_sp a:hover {
  opacity: 1;
}
#mv_sp .mv_item_sp {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#mv_sp .mv_item_sp .mv1_sp {
  display: flex;
  align-items: flex-start;
  position: relative;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100;
}
#mv_sp .mv_item_sp .mv1_sp .txt_sp {
  width: 64.53%;
  margin-top: 36.02%;
  margin-left: 6.8%;
  animation-name: fedUp;
  /*アニメーションの定義名*/
  animation-duration: 2s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  opacity: 0;
  animation-delay: 0.5s;
}
#mv_sp .mv_item_sp .mv1_sp .mv1_btn_sp {
  cursor: pointer;
  width: 17.13%;
  height: auto;
  position: absolute;
  z-index: 999;
  left: 34.93%;
  bottom: 29.95%;
  animation-name: btnfedUp;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  opacity: 0;
  animation-delay: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv1_sp .mv1_img_sp {
  max-width: 100%;
  position: absolute;
  width: calc(100% - 40px);
  right: 20px;
  bottom: 6.47%;
  animation-name: fedUp;
  /*アニメーションの定義名*/
  animation-duration: 1.5s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  opacity: 0;
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv1_sp .mv1_item_sp {
  position: relative;
  width: 100%;
}
#mv_sp .mv_item_sp .mv2_sp {
  display: flex;
  align-items: flex-start;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp {
  position: relative;
  width: 100%;
  height: 100%;
}
#mv .mv_item .mv2 .mv2_item .mv2_btn {
  cursor: pointer;
  width: 36px;
  height: auto;
  position: absolute;
  z-index: 20;
  left: 40px;
  bottom: 16px;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_btn_sp {
  cursor: pointer;
  width: 30px;
  height: auto;
  position: absolute;
  z-index: 20;
  left: 20px;
  bottom: 20px;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_btn_start_sp {
  animation-name: btnfedUp;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 1.2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img1_sp {
  z-index: 9;
  position: absolute;
  width: calc(100% - 40px);
  right: 20px;
  bottom: 6.47%;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img1_start_sp {
  animation-name: fedUp;
  /*アニメーションの定義名*/
  animation-duration: 0.1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img1_move_sp {
  z-index: 9999999;
  animation-name: img1moveSp;
  /*アニメーションの定義名*/
  animation-duration: 0.6s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0s;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img1_back_sp {
  position: absolute;
  width: calc(100% - 40px);
  right: 20px;
  bottom: 6.47%;
  z-index: 7;
  animation-name: img1backSp;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img2_sp {
  position: absolute;
  width: calc(100% - 40px);
  right: 20px;
  bottom: 6.47%;
  z-index: 8;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img2_start_sp {
  animation-name: fedUpSp;
  /*アニメーションの定義名*/
  animation-duration: 0.2s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0.1s;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img2_move_sp {
  animation-name: img2moveSp;
  /*アニメーションの定義名*/
  animation-duration: 0.5s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img2_move_f_sp {
  animation-name: img2moveSp;
  /*アニメーションの定義名*/
  animation-duration: 0.5s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0.5;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img2_back_sp {
  position: absolute;
  width: calc(100% - 40px);
  right: 20px;
  bottom: 6.47%;
  z-index: 8;
  animation-name: img2backSp;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img3_sp {
  position: absolute;
  width: calc(100% - 40px);
  right: 20px;
  bottom: 6.47%;
  z-index: 7;
}
#mv_sp .mv_item_sp .mv2_sp .mv2_item_sp .mv2_img3_start_sp {
  animation-name: fedUpSp;
  /*アニメーションの定義名*/
  animation-duration: 0.3s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0.3s;
  animation-timing-function: ease-out;
}
#mv_sp .mv_item_sp .noplay_sp {
  opacity: 0;
}
#mv_sp .mv_item_sp .del_sp {
  display: none;
  animation-delay: 0.2s;
}
@keyframes img2moveSp {
  from {
    transform: translateY(0px);
  }
  to {
    transform: translateY(-72%);
  }
}
@keyframes img2backSp {
  from {
    transform: translateY(-72%);
  }
  to {
    transform: translateY(0px);
  }
}
@keyframes img1moveSp {
  from {
    transform: translateY(0px);
  }
  to {
    transform: translateY(-125%);
  }
}
@keyframes img1backSp {
  from {
    transform: translateY(-125%);
  }
  to {
    transform: translateY(0px);
  }
}
@keyframes btnfedUpSp {
  from {
    opacity: 1;
    transform: translateY(0px);
  }
  to {
    opacity: 1;
    transform: translateY(10px);
  }
}
@keyframes fedUpNowSp {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fedUpSp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fedOverSp {
  from {
    opacity: 1;
    transform: translateY(-10px);
  }
  to {
    opacity: 0;
    transform: translateY(0px);
  }
}
#mv_sp .mv_item_sp .hide_sp {
  animation-name: fedOverSp;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  opacity: 0 !important;
  z-index: -2;
}
#mv_sp .bg {
  width: 100%;
  height: fit-content;
}
#mv {
  margin-top: 100px;
}
@media screen and (max-width: 850px) {
  #mv {
    margin-top: 66px;
    display: none;
  }
}
#mv .inner {
  padding: 0 20px;
  max-width: 1290px;
}
@media screen and (max-width: 850px) {
  #mv .inner {
    padding: 0;
  }
}
#mv a:hover {
  opacity: 1;
}
#mv .mv_item {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#mv .mv_item .mv1 {
  display: flex;
  align-items: flex-start;
  position: relative;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100;
}
#mv .mv_item .mv1 .txt {
  max-width: 281px;
  width: 22.5%;
  margin-top: 18%;
  margin-left: 6.8%;
  animation-name: fedUp;
  /*アニメーションの定義名*/
  animation-duration: 2s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  opacity: 0;
  animation-delay: 0.5s;
}
#mv .mv_item .mv1 .mv1_btn {
  cursor: pointer;
  width: 5%;
  height: auto;
  position: absolute;
  z-index: 20;
  right: 34%;
  top: 29.6%;
  animation-name: btnfedUp;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  opacity: 0;
  animation-delay: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv1 .mv1_img {
  max-width: 877px;
  position: absolute;
  width: 70%;
  right: 2.4%;
  top: 14.7%;
  animation-name: fedUp;
  /*アニメーションの定義名*/
  animation-duration: 1.5s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  opacity: 0;
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv1 .mv1_item {
  position: relative;
  width: 100%;
}
#mv .mv_item .mv2 {
  display: flex;
  align-items: flex-start;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#mv .mv_item .mv2 .mv2_item {
  position: relative;
  width: 100%;
  height: 100%;
}
#mv .mv_item .mv2 .mv2_item .mv2_btn {
  /* cursor: pointer;
  width: 5%;
  height: auto;
  position: absolute;
  z-index: 20;
  right: 34.3%;
  top: 32.6%;
  opacity: 0; */
}
#mv .mv_item .mv2 .mv2_item .mv2_btn_start {
  animation-name: btnfedUp;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 1.2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv2 .mv2_item .mv2_img1 {
  position: absolute;
  width: 45%;
  right: 5%;
  top: 1%;
  z-index: 9;
}
#mv .mv_item .mv2 .mv2_item .mv2_img1_start {
  animation-name: fedUp;
  /*アニメーションの定義名*/
  animation-duration: 0.1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv2 .mv2_item .mv2_img2 {
  position: absolute;
  width: 45%;
  right: 5%;
  top: 18%;
  z-index: 8;
}
#mv .mv_item .mv2 .mv2_item .mv2_img2_start {
  animation-name: fedUp;
  /*アニメーションの定義名*/
  animation-duration: 0.2s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0.1s;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv2 .mv2_item .mv2_img2_move {
  animation-name: img2move;
  /*アニメーションの定義名*/
  animation-duration: 0.5s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv2 .mv2_item .mv2_img2_move_f {
  animation-name: img2move;
  /*アニメーションの定義名*/
  animation-duration: 0.5s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0.5;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv2 .mv2_item .mv2_img2_back {
  position: absolute;
  width: 46%;
  right: 5%;
  top: 18%;
  z-index: 8;
  animation-name: img2back;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv2 .mv2_item .mv2_img3 {
  position: absolute;
  width: 45%;
  right: 8.5%;
  top: 29%;
  z-index: 7;
}
#mv .mv_item .mv2 .mv2_item .mv2_img3_start {
  animation-name: fedUp;
  /*アニメーションの定義名*/
  animation-duration: 0.3s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0.3s;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv2 .mv2_item .mv2_img3_move {
  animation-name: img3move;
  /*アニメーションの定義名*/
  animation-duration: 0.6s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0s;
  animation-timing-function: ease-out;
}
#mv .mv_item .mv2 .mv2_item .mv2_img3_back {
  position: absolute;
  width: 46%;
  right: 5%;
  top: 29%;
  z-index: 7;
  animation-name: img3back;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-delay: 0;
  animation-timing-function: ease-out;
}
#mv .mv_item .noplay {
  opacity: 0;
}
#mv .mv_item .del {
  display: none;
  animation-delay: 0.2s;
}
@keyframes img2move {
  from {
    transform: translateX(0px);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes img2back {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0px);
  }
}
@keyframes img3move {
  from {
    transform: translateX(0px);
  }
  to {
    transform: translateX(-90%);
  }
}
@keyframes img3back {
  from {
    transform: translateX(-90%);
  }
  to {
    transform: translateX(0px);
  }
}
@keyframes btnfedUp {
  from {
    opacity: 1;
    transform: translateY(0px);
  }
  to {
    opacity: 1;
    transform: translateY(10px);
  }
}
@keyframes fedUpNow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fedUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fedOver {
  from {
    opacity: 1;
    transform: translateY(-10px);
  }
  to {
    opacity: 0;
    transform: translateY(0px);
  }
}
#mv .mv_item .hide {
  animation-name: fedOver;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  opacity: 0 !important;
  z-index: -2;
}
#mv .bg {
  width: 100%;
  height: fit-content;
}
#news_team .inner {
  padding-top: 130px;
  padding-bottom: 80px;
  background: url(../img/top/news_bg.png) no-repeat;
  background-size: auto 490px;
  background-position-y: bottom;
  background-position-x: center;
  max-width: 940px;
}
@media screen and (max-width: 850px) {
  #news_team .inner {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}
#news_team .frame_item {
  display: flex;
  column-gap: 60px;
}
@media screen and (max-width: 850px) {
  #news_team .frame_item {
    display: block;
  }
}
#news_team .frame_item li {
  width: calc(50% - 30px);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 850px) {
  #news_team .frame_item li {
    width: 100%;
  }
}
#news_team .frame_item li .news_list {
  width: 100%;
  margin-top: 20px;
}
#news_team .frame_item li .news_list li {
  width: 100%;
  text-align: left;
  align-items: center;
}
#news_team .frame_item li .news_list li + li {
  margin-top: 7px;
}
#news_team .frame_item li .news_list li a {
  display: flex;
  color: #3B3B3B;
  border-bottom: 1px solid #ccc;
  padding: 10px 0;
  width: 100%;
}
#news_team .frame_item li .news_list li a:hover {
  color: #004890;
  opacity: 1;
}
#news_team .frame_item li .news_list li a span {
  font-family: "Montserrat";
  margin-right: 20px;
  display: block;
  letter-spacing: 1px;
  min-width: 100px;
}
@media screen and (max-width: 850px) {
  #news_team .frame_item li .news_list li a span {
    margin-right: 10px;
    font-size: 13px;
    padding: 4px 0;
  }
}
#news_team .frame_item li .sub_ttl {
  font-size: 20px;
  color: #004890;
  text-align: left;
  margin-top: 10px;
  margin-bottom: 30px;
}
#news_team .frame_item li .news_box .ttl {
  font-size: 35px;
  font-weight: 600;
  color: #004890;
  text-align: left;
  font-family: "Montserrat";
  line-height: 100%;
}
@media screen and (max-width: 850px) {
  #news_team .frame_item li .team_box {
    margin-top: 60px;
  }
}
#news_team .frame_item li .team_box p {
  text-align: left;
  color: #004890;
  line-height: 150%;
}
@media screen and (max-width: 850px) {
  #news_team .frame_item li .team_box p {
    font-size: 16px;
  }
}
#news_team .frame_item li .team_box .btn_blue {
  margin-top: 20px;
}
#news_team .frame_item li .team_box .ttl {
  font-size: 45px;
  font-weight: 600;
  color: #004890;
  text-align: left;
  font-family: "Montserrat";
  line-height: 100%;
}
#message_support {
  background: url(../img/top/message_support_bg.jpg) no-repeat;
  background-position-y: top;
  background-position-x: center;
  background-size: cover;
}
@media screen and (max-width: 850px) {
  #message_support {
    background: none;
  }
}
#message_support .inner {
  padding-top: 180px;
  padding-bottom: 130px;
  max-width: 940px;
}
@media screen and (max-width: 850px) {
  #message_support .inner {
    padding: 30px 0 0 0 ;
  }
}
#message_support .frame_item {
  display: flex;
  column-gap: 60px;
}
@media screen and (max-width: 850px) {
  #message_support .frame_item {
    display: block;
  }
}
#message_support .frame_item li {
  width: calc(50% - 30px);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 850px) {
  #message_support .frame_item li {
    width: 100%;
  }
}
#message_support .ttl {
  font-size: 45px;
  font-weight: 500;
  color: #ffffff;
  text-align: left;
  font-family: "Montserrat";
  line-height: 100%;
  margin-bottom: 10px;
}
#message_support .sub_ttl {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  text-align: left;
  margin-bottom: 20px;
  line-height: 150%;
}
@media screen and (max-width: 850px) {
  #message_support .sub_ttl {
    margin-bottom: 15px;
  }
}
#message_support p {
  color: #ffffff;
  text-align: left;
  line-height: 150%;
}
@media screen and (max-width: 850px) {
  #message_support p {
    line-height: 160%;
  }
}
@media screen and (max-width: 850px) {
  #message_support .message {
    width: 100%;
    background: url(../img/top/message_bg_sp.png) no-repeat;
    background-position-y: top;
    background-position-x: center;
    background-size: cover;
    padding: 80px 20px 100px 20px;
  }
}
#message_support .message .btn_item {
  margin-top: 35px;
  text-align: center;
}
@media screen and (max-width: 850px) {
  #message_support .message .btn_item {
    margin-top: 25px;
  }
}
#message_support .message .btn_item .btn_white {
  margin: auto;
}
#message_support .support {
  padding-left: 130px;
}
@media screen and (max-width: 850px) {
  #message_support .support {
    width: 100%;
    background: url(../img/top/support_bg_sp.png) no-repeat;
    background-position-y: top;
    background-position-x: center;
    background-size: cover;
    padding: 80px 20px 70px 20px;
    margin-top: -20px;
  }
}
#message_support .support .btn_item {
  margin-top: 35px;
  text-align: center;
}
@media screen and (max-width: 850px) {
  #message_support .support .btn_item {
    margin-top: 25px;
  }
}
#message_support .support .btn_item .btn_white {
  margin: auto;
}
#recruit .inner {
  padding-bottom: 105px;
}
@media screen and (max-width: 850px) {
  #recruit .inner {
    padding-top: 70px;
    padding-bottom: 80px;
  }
}
#recruit .icon {
  max-width: 28px;
  margin: auto;
  margin-bottom: 10px;
}
#recruit .ttl {
  font-size: 45px;
  font-weight: 600;
  color: #004890;
  text-align: left;
  font-family: "Montserrat";
  line-height: 100%;
  margin: auto;
  width: fit-content;
}
#recruit .sub_ttl {
  font-size: 20px;
  font-weight: 500;
  color: #004890;
  text-align: left;
  margin: auto;
  width: fit-content;
  margin-top: 10px;
  margin-bottom: 20px;
  line-height: 150%;
}
@media screen and (max-width: 850px) {
  #recruit .sub_ttl {
    margin-top: 5px;
    margin-bottom: 15px;
  }
}
#recruit .btn_blue {
  margin: auto;
}
.img_item {
  z-index: -1;
  position: relative;
}
#footer {
  margin-top: -50px;
}
@media screen and (max-width: 850px) {
  #footer {
    margin-top: -20px;
  }
}
