@charset "UTF-8";
/******************************************************************************
******************************************************************************
**
** style.cssにおいて ( var.3.1.3 )
** -- baseでは基本タグとサイト大枠のCSS指定
** -- headerではヘッダーのCSS指定
** -- global navではグローバルナビのCSS指定
** -- contentではコンテント・メイン・サイドナビのCSS指定
** -- footerではフッターのCSS指定
** -- pagetopではページトップボタンのCSS指定
** -- indexではトップページのCSS指定
** -- pageでは汎用ページのCSS指定
** -- styleでは汎用ページのコンテンツ（データ入れ）で使用する基本タグのCSS指定
**
** 注意事項
** -- CSSの命名規則はApplicatsオリジナルの命名規則を採用しています。
** -- 初期フォントサイズはreset.cssにて13pxにリセットしています。
** -- 行間は1.6にリセットしています。
**        単位は不要です。(スタイル崩れする可能性有)
** -- コンテンツ内のフォントサイズ・行間は
**        [ base ]のcontentsクラスで指定しています。
**        変更する場合はこちらを変更してください。
**
******************************************************************************
******************************************************************************/
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** base
******************************************************************************
----------------------------------------------------------------------------*/
.w_base {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}

/*----------------------------------------------------------------------------
******************************************************************************
** loading
******************************************************************************
----------------------------------------------------------------------------*/
/*========= ローディング画面のためのCSS ===============*/
#splash {
  position: fixed;
  z-index: 9999999;
  width: 100%;
  height: 100%;
  background: #0084cf;
  color: #fff;
  text-align: center;
}

#splash #splash-logo {
  position: absolute;
  top: 30%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#splash #splash-logo img {
  width: 250px;
  height: auto;
}

#splash #splash-logo span {
  display: block;
}

/*========= ローディングバー ===============*/
.js-loader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity .8s, visibility .8s;
  transition: opacity .8s, visibility .8s;
  z-index: 10000;
}

.is-loaded .js-loader {
  visibility: hidden;
  opacity: 0;
}

.js-loader-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 3px;
}

.is-loaded .js-loader-progress {
  visibility: hidden;
  opacity: 0;
}

.js-loader-progress-bar {
  background: #fff;
  height: 100%;
  width: 0;
  -webkit-transition: width .4s;
  transition: width .4s;
}

.js-loader-progress-number {
  text-align: center;
  font-size: 14px;
  width: 100%;
  margin-top: 10px;
  color: #fff;
}

/*========= 画面遷移のためのCSS ===============*/
body {
  position: relative;
  /*遷移アニメーションと同じ色を指定*/
  background: #0084cf;
  /*画面遷移アニメーション*/
  /*画面遷移の後現れるコンテンツ設定*/
  /*bodyにappearクラスがついたら出現*/
}

body .splashbg1, body .splashbg2, body .sp_nav_trigger, body .ft_bg {
  display: none;
}

body #scrl_wrap {
  opacity: 0;
  /*はじめは透過0に*/
}

body #scrl_wrap.thanks {
  opacity: 1 !important;
}

body.appear {
  /*画面を開いた後の背景色を指定*/
  background: #fff;
  /*上に消えるエリア*/
  /*下に消えるエリア*/
}

body.appear .splashbg1, body.appear .splashbg2, body.appear .sp_nav_trigger, body.appear .ft_bg {
  display: block;
}

body.appear .splashbg1 {
  -webkit-animation-name: PageAnime;
          animation-name: PageAnime;
  -webkit-animation-duration: 1.4s;
          animation-duration: 1.4s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  content: "";
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  bottom: 50%;
  left: 0;
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
  background-color: #0084cf;
  /*伸びる背景色の設定*/
}

@-webkit-keyframes PageAnime {
  0% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  100% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}

@keyframes PageAnime {
  0% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  100% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}

body.appear .splashbg2 {
  -webkit-animation-name: PageAnime2;
          animation-name: PageAnime2;
  -webkit-animation-duration: 1.4s;
          animation-duration: 1.4s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  content: "";
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  top: 50%;
  left: 0;
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
  background-color: #0084cf;
  /*伸びる背景色の設定*/
}

@-webkit-keyframes PageAnime2 {
  0% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  100% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}

@keyframes PageAnime2 {
  0% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  100% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}

body.appear #scrl_wrap {
  -webkit-animation-name: PageAnimeAppear;
          animation-name: PageAnimeAppear;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*----------------------------------------------------------------------------
******************************************************************************
** global nav
******************************************************************************
----------------------------------------------------------------------------*/
.nav {
  display: none;
}

/*----------------------------------------------------------------------------
******************************************************************************
** content
******************************************************************************
----------------------------------------------------------------------------*/
.scrl_box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.scrl_box header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0%;
  width: 27.5%;
  height: 100vh;
  padding: 3.5%;
  background-color: #0084cf;
  background-image: url(../images/bg_hd_logo.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 130%;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}

.scrl_box header h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.scrl_box header h1::after {
  content: attr(data-subttl);
  display: block;
  margin-top: 10px;
  font-size: 24px;
  font-weight: 400;
}

.scrl_box header h1 .ttl_img {
  width: 100%;
  height: 67px;
}

.scrl_box main {
  position: relative;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 27.5%);
  padding: 50px;
  overflow: hidden;
}

.scrl_box main::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #0084cf;
  mix-blend-mode: multiply;
}

.scrl_box main article {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.scrl_box.zoom_up main::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: "";
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  -webkit-animation: zoom 10s 1;
  animation: zoom 10s 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
}

@keyframes zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
}

.scrl_box#home {
  background-color: rgba(51, 51, 51, 0.8) !important;
  background-image: url(../images/bg_home.png) !important;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.scrl_box#home header {
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(8px) !important;
          backdrop-filter: blur(8px) !important;
}

.scrl_box#home header h1 {
  gap: 40px;
}

.scrl_box#home header h1 .logo_img {
  width: 70%;
}

.scrl_box#home main::before {
  display: none;
}

.scrl_box#home main::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../images/bg_home_main.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  mix-blend-mode: multiply;
}

.scrl_box#home main .home_nav {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}

.scrl_box#home main .home_nav img {
  width: 100%;
  max-width: 1067px;
}

.scrl_box#home main .home_nav map area {
  position: relative;
  display: block;
}

.scrl_box#home main .home_nav map area:hover {
  opacity: 0.8;
  background: #0084cf;
}

.scrl_box#about header h1 span {
  position: relative;
}

.scrl_box#about header h1 span::before {
  position: absolute;
  top: -170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 63px;
  height: 148px;
  background: url(../images/icon_ttl_about.svg) no-repeat center center;
}

.scrl_box#about main::after {
  position: fixed;
  background-image: url(../images/bg_about.jpg);
}

.scrl_box#about main h2 {
  margin-bottom: 30px;
  font-size: 60px;
  line-height: 1.3;
}

.scrl_box#about main h3 {
  margin-bottom: 40px;
  padding-bottom: 10px;
  font-size: 36px;
  line-height: 1.3;
  border-bottom: 1px solid #fff;
}

.scrl_box#about main .about_list {
  width: 100% !important;
}

.scrl_box#about main .about_list tr {
  border-bottom: 2px solid #fff;
}

.scrl_box#about main .about_list tr th {
  padding: 0.6em 0.5em;
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}

.scrl_box#about main .about_list tr td {
  padding: 0.6em 0.5em;
  vertical-align: top;
}

.scrl_box#about main .qualification_holder {
  width: 35%;
  margin-top: -10px;
}

.scrl_box#about main .qualification_holder li {
  position: relative;
  margin: 0 0 0 1.5em;
}

.scrl_box#about main .qualification_holder li::before {
  content: '';
  position: absolute;
  top: 1.05em;
  left: -1.3em;
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: #fff;
}

.scrl_box#about main .qualification_holder li div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.5em 0;
  border-bottom: none;
}

.scrl_box#about main .qualification_holder li div span {
  display: block;
}

.scrl_box#about main .greeting {
  position: relative;
}

.scrl_box#about main .greeting .greeting_img {
  width: 100%;
}

.scrl_box#about main .greeting .greeting_img img {
  width: 100%;
}

.scrl_box#about main .greeting .greeting_txt {
  position: absolute;
  top: 20px;
  right: 20px;
  left: 20px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.25);
}

.scrl_box#activities header h1 span {
position: relative;
}
.scrl_box#activities header h1 span::before {
position: absolute;
top: -170px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
content: "";
width: 64px;
height: 150px;
background: url(../images/icon_ttl_activities.svg) no-repeat center center;
}	

.scrl_box#service header h1 span {
  position: relative;
}

.scrl_box#service header h1 span::before {
  position: absolute;
  top: -170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 38px;
  height: 149px;
  background: url(../images/icon_ttl_service.svg) no-repeat center center;
}

.scrl_box#service main::before {
  background: #0878b8 !important;
}

.scrl_box#service main::after {
  position: fixed;
  background-image: url(../images/bg_service.jpg);
}

.scrl_box#service main h2 {
  position: relative;
  margin-bottom: 20px;
  padding-left: 50px;
  font-size: 36px;
  line-height: 1.3;
}

.scrl_box#service main h2::before {
  content: "";
  position: absolute;
  top: 55%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 40px;
  height: 40px;
  background: url(../images/icon_service.png) no-repeat center center;
  background-size: contain;
}

.scrl_box#service main .service_img_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}

.scrl_box#service main .service_img_list .service_img_list_item {
  width: calc((100% - 10px * 3) / 4);
}

.scrl_box#service main .service_img_list .service_img_list_item a {
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.scrl_box#service main .service_img_list .service_img_list_item a figure {
  margin-bottom: 10px;
  overflow: hidden;
  border-radius: 5px;
}

.scrl_box#service main .service_img_list .service_img_list_item a figure img {
  width: 100%;
  height: 220px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

.scrl_box#service main .service_img_list .service_img_list_item a:hover img {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}

.scrl_box#works header h1 span {
  position: relative;
}

.scrl_box#works header h1 span::before {
  position: absolute;
  top: -170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 66px;
  height: 149px;
  background: url(../images/icon_ttl_works.svg) no-repeat center center;
}

.scrl_box#works main::after {
  position: fixed;
  background-image: url(../images/bg_works.jpg);
}

.scrl_box#works main h2 {
  margin-bottom: 20px;
  font-size: 60px;
  line-height: 1.3;
}

.scrl_box#works main h3 {
  margin-bottom: 40px;
  padding-bottom: 10px;
  font-size: 36px;
  line-height: 1.3;
  border-bottom: 1px solid #fff;
}

.scrl_box#works main h4 {
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
}

.scrl_box#works main .works_img_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}

.scrl_box#works main .works_img_list .works_img_list_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc((100% - 20px * 2) / 3);
}

.scrl_box#works main .works_img_list .works_img_list_item div {
  margin-top: auto;
}

.scrl_box#works main .works_img_list .works_img_list_item div a {
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.scrl_box#works main .works_img_list .works_img_list_item div a figure {
  margin-bottom: 10px;
  overflow: hidden;
  border-radius: 5px;
}

.scrl_box#works main .works_img_list .works_img_list_item div a figure img {
  width: 100%;
  height: 220px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

.scrl_box#works main .works_img_list .works_img_list_item div a:hover img {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}

.scrl_box#job {
  min-height: 1727px;
}

.scrl_box#job header h1 span {
  position: relative;
}

.scrl_box#job header h1 span::before {
  position: absolute;
  top: -170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 51px;
  height: 150px;
  background: url(../images/icon_ttl_job.svg) no-repeat center center;
}

.scrl_box#job header h1 span .ttl_img {
  width: 100%;
  height: 55px;
}

.scrl_box#job main::after {
  position: fixed;
  background-image: url(../images/bg_job.jpg);
}

.scrl_box#job main h2 {
  margin-bottom: 20px;
  font-size: 42px;
  line-height: 1.3;
}

.scrl_box#job main h3 {
  margin-bottom: 40px;
  padding-bottom: 10px;
  font-size: 36px;
  line-height: 1.3;
  border-bottom: 1px solid #fff;
}

.scrl_box#job main h4 {
  margin-bottom: 20px;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.3;
}

.scrl_box#job main .job_img_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}

.scrl_box#job main .job_img_list figure {
  width: calc((100% - 20px * 3) / 4);
}

.scrl_box#contact header h1 span {
  position: relative;
}

.scrl_box#contact header h1 span::before {
  position: absolute;
  top: -170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 52px;
  height: 149px;
  background: url(../images/icon_ttl_contact.svg) no-repeat center center;
}

.scrl_box#contact main::after {
  position: fixed;
  background-image: url(../images/bg_contact.jpg);
}

.scrl_box#contact main h2 {
  margin-bottom: 20px;
  font-size: 36px;
  line-height: 1.3;
}

.scrl_box#contact main form#mailformpro dl dt {
  width: 220px;
  font-size: 18px;
  font-weight: 700;
}

.scrl_box#contact main form#mailformpro dl dt.mfp_achroma, .scrl_box#contact main form#mailformpro dl dt.mfp_colored {
  background: transparent;
}

.scrl_box#contact main form#mailformpro dl dt span.must {
  margin: 3px 5px;
  background-image: none;
  font-size: 14px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.scrl_box#contact main form#mailformpro dl dd {
  border-top: solid 2px #fff;
  margin: 0px;
  padding: 10px 5px 20px 230px;
  font-size: 16px;
  line-height: 1.5em;
  text-align: left;
}

.scrl_box#contact main form#mailformpro dl dd.mfp_achroma, .scrl_box#contact main form#mailformpro dl dd.mfp_colored {
  background: transparent;
}

.scrl_box#contact main form#mailformpro dl dd input {
  width: 100% !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  border-radius: 0;
}

.scrl_box#contact main form#mailformpro dl dd input.mfp_element_checkbox {
  width: auto !important;
}

.scrl_box#contact main form#mailformpro dl dd select {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  border-radius: 0;
}

.scrl_box#contact main form#mailformpro dl dd textarea {
  width: 100% !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 0;
}

.scrl_box#contact main form#mailformpro dl dd div.mfp_err {
  margin: 5px 0px;
  padding: 3px 0px 5px 20px;
  color: #F00;
  font-size: 16px;
  font-weight: 700;
  background-position: left 10px;
}

.scrl_box#contact main form#mailformpro dl dd label.mfp_not_checked {
  padding: 10px;
}

.scrl_box#contact main form#mailformpro dl dd label.mfp_checked {
  padding: 10px;
  color: #000;
}

.scrl_box#contact main form#mailformpro .mfp_buttons button {
  padding: 15px 40px;
  background: -webkit-gradient(linear, left top, right top, from(#facc22), color-stop(50%, #f83600), to(#facc22));
  background: linear-gradient(to right, #facc22 0%, #f83600 50%, #facc22 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  color: #fff;
  font-weight: 700;
  text-shadow: none;
  border: none;
  border-radius: 100vh;
}

.scrl_box#contact main form#mailformpro .mfp_buttons button:hover {
  background-position: 99% 50%;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.scrl_box#thanks header h1 span {
  position: relative;
}

.scrl_box#thanks header h1 span::before {
  position: absolute;
  top: -170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 52px;
  height: 149px;
  background: url(../images/icon_ttl_contact.svg) no-repeat center center;
}

.scrl_box#thanks main::after {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../images/bg_contact.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  -webkit-animation: zoom 10s 1;
  animation: zoom 10s 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@keyframes zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
}

.scrl_box#thanks main h2 {
  margin-bottom: 20px;
  font-size: 36px;
  line-height: 1.3;
}

.scrl_box#thanks main .back_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}

.scrl_box#thanks main .back_top a {
  display: inline-block;
  padding: 15px 40px;
  background: -webkit-gradient(linear, left top, right top, from(#facc22), color-stop(50%, #f83600), to(#facc22));
  background: linear-gradient(to right, #facc22 0%, #f83600 50%, #facc22 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  text-shadow: none;
  border: none;
  border-radius: 100vh;
}

.scrl_box#thanks main .back_top a:hover {
  background-position: 99% 50%;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.scrl_box#access header h1 span {
  position: relative;
}

.scrl_box#access header h1 span::before {
  position: absolute;
  top: -170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 95px;
  height: 150px;
  background: url(../images/icon_ttl_access.svg) no-repeat center center;
}

.scrl_box#access main::after {
  position: fixed;
  background-image: url(../images/bg_access.jpg);
}

.scrl_box#access main .access_map {
  width: 100%;
  height: 580px;
  margin-bottom: 10px;
  border: 10px solid #fff;
  border-radius: 5px;
}

.scrl_box#access main .access_map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.scrl_box#access main address {
  font-size: 36px;
  font-weight: 700;
}

/*----- mailformpro 確認画面 -----*/
#mfp_overlay #mfp_overlay_inner {
  background: #0073b6;
}

#mfp_overlay #mfp_overlay_inner #mfp_confirm_table {
  margin-top: 20px;
}

#mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr.mfp_achroma, #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr.mfp_colored {
  background: transparent;
}

#mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr th, #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr td {
  padding: 15px 10px;
  font-size: 16px;
}

#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_send {
  padding: 15px 40px;
  background: -webkit-gradient(linear, left top, right top, from(#facc22), color-stop(50%, #f83600), to(#facc22));
  background: linear-gradient(to right, #facc22 0%, #f83600 50%, #facc22 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  color: #fff;
  font-weight: 700;
  text-shadow: none;
  border: none;
  border-radius: 100vh;
}

#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_send:hover {
  background-position: 99% 50%;
  -webkit-box-shadow: none;
          box-shadow: none;
}

#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_cancel {
  padding: 15px 40px;
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, #ccc), to(#fff));
  background: linear-gradient(to right, #fff 0%, #ccc 50%, #fff 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  color: #333;
  font-weight: 700;
  text-shadow: none;
  border: none;
  border-radius: 100vh;
}

#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_cancel:hover {
  background-position: 99% 50%;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft_bg {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 30%;
}

.ft_bg .ft {
  padding: 20px 0;
}

.ft_bg .ft .ft_copy {
  font-size: 14px;
  text-align: center;
}

/*----------------------------------------------------------------------------
******************************************************************************
** pagenation
******************************************************************************
----------------------------------------------------------------------------*/
.pagination {
  position: fixed;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  font-size: 1em;
  list-style: none;
}

.pagination li a {
  position: relative;
  display: block;
  width: 100%;
  height: 20px;
  margin-bottom: 10px;
  padding: 4px;
  color: #fff;
  font-size: 14px;
  text-align: right;
}

.pagination li a.active:after {
  -webkit-box-shadow: inset 0 0 0 5px;
          box-shadow: inset 0 0 0 5px;
}

.pagination li a .hover-text {
  position: absolute;
  top: 0;
  right: 15px;
  padding-right: 15px;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  white-space: nowrap;
}

.pagination li a:hover .hover-text {
  opacity: 1;
}

.pagination li a:after {
  position: absolute;
  top: 0;
  right: 3px;
  bottom: 0;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin: auto;
  border: 1px solid;
  border-radius: 50%;
  -webkit-transition: box-shadow 0.5s ease;
  -webkit-transition: -webkit-box-shadow 0.5s ease;
  transition: -webkit-box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease, -webkit-box-shadow 0.5s ease;
}

.pagination li:nth-of-type(2) a {
  text-decoration: none;
}

.pagination li:nth-of-type(2) a span {
  display: none;
}

.pagination li:nth-of-type(2) a::before {
  position: absolute;
  top: 0;
  right: 15px;
  content: "ABOUT US";
  display: block;
  padding-right: 15px;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  white-space: nowrap;
  font-size: 14px;
}

.pagination li:nth-of-type(2) a:hover::before {
  opacity: 1;
}

.pagination li:nth-of-type(5) a {
  text-decoration: none;
}

.pagination li:nth-of-type(5) a span {
  display: none;
}

.pagination li:nth-of-type(5) a::before {
  position: absolute;
  top: 0;
  right: 15px;
  content: "JOB INFORMATION";
  display: block;
  padding-right: 15px;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  white-space: nowrap;
  font-size: 14px;
}

.pagination li:nth-of-type(5) a:hover::before {
  opacity: 1;
}

/*----------------------------------------------------------------------------
******************************************************************************
** modaal
******************************************************************************
----------------------------------------------------------------------------*/
.hide-area {
  /*モーダル表示をする場所をあらかじめ隠す*/
  display: none;
}

.modaal-fullscreen .modaal-content-container {
  /*full画面の色設定*/
  min-height: 100vh;
  background: rgba(17, 17, 17, 0.8);
  color: #fff;
  text-align: center;
}

.modaal-fullscreen .modaal-content-container figure {
  width: 50%;
  margin: 0 auto 40px;
}

.modaal-fullscreen .modaal-content-container figure.vertical {
  max-width: 450px;
}

.modaal-fullscreen .modaal-content-container figure img {
  max-width: 100%;
  height: auto;
  border: 5px solid #fff;
  border-radius: 5px;
  vertical-align: bottom;
}

.modaal-fullscreen .modaal-close {
  /*ボタンの色、位置*/
  right: 20px;
  background: none;
}

/*クローズボタンの×の色変更*/
.modaal-close:focus:after, .modaal-close:focus:before {
  background: #666;
}

.modaal-close:hover:after, .modaal-close:hover:before {
  background: #666;
}

/*キャプション*/
.caption {
  display: block;
  padding: 10px 0;
}

.modaal-container {
  background: transparent !important;
}
/*# sourceMappingURL=style.css.map */