@charset "UTF-8";
/* =================================================================
Reset Styles
================================================================= */
*,
*:before,
*:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
img,
small,
strong,
dl,
dt,
dd,
ol,
ul,
li,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
figure,
footer,
header,
menu,
nav,
section,
summary,
time,
audio,
video {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  background: transparent;
}

html {
  -webkit-overflow-scrolling: touch;
  /* overflow-scrolling: touch; */
}

body {
  font-family: " ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #000;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0em;
  background-color: #fff;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
table,
input,
textarea,
select,
option {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

br {
  letter-spacing: 0;
}

nav,
ol,
ul {
  list-style: none;
}

img {
  display: block;
  width: 100%;
  height: auto;
  font-size: 0;
  line-height: 0;
  /* vertical-align: bottom; */
  border-style: none;
}

video {
  width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  display: block;
  color: inherit;
  font: inherit;
}

a,
a:link,
a:hover,
a:visited,
a:focus {
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* =================================================================
Reset Form Styles
================================================================= */
form,
input,
button,
textarea,
select,
option {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input::-ms-clear {
  visibility: hidden;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input::-ms-reveal {
  visibility: hidden;
}

input:focus {
  outline: 0;
}

input,
select {
  vertical-align: middle;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-transition: background-color 9999s;
  transition: background-color 9999s;
}

textarea {
  overflow: auto;
}

select::-ms-expand {
  display: none;
}

button,
input[type=submit],
input[type=reset] {
  cursor: pointer;
}

:-ms-input-placeholder {
  color: #9d9d9d;
}

::-moz-placeholder {
  color: #9d9d9d;
}

::-webkit-input-placeholder {
  color: #9d9d9d;
  opacity: 1;
}

:placeholder-shown {
  color: #9d9d9d;
}

::placeholder {
  color: #9d9d9d;
  opacity: 1;
}

/* =================================================================
Base Styles
================================================================= */
html {
  position: relative;
  min-height: 100%;
}

body {
  font-family: "Noto Sans JP", sans-serif, " ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  background: url("/common/img/common_bg_texture.webp");
}

.f-Staatliches {
  font-family: "Staatliches";
}

a,
a:link,
a:hover,
a:focus,
a:visited {
  transition: all 0.3s ease-in-out;
}

@media screen and (min-width: 1000px) {
  a:hover {
    opacity: 0.5;
  }
}
/* =================================================================
Layout Styles
================================================================= */
/* Header
-------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  transition: all 0.3s ease-in-out;
}

/* Main
-------------------- */
.l-main {
  padding: 0 16px 1137px;
  display: block;
  width: 100%;
  min-height: 100vh;
}
.l-main-contact {
  padding: 0 16px 758px;
}

@media screen and (min-width: 1000px) {
  .l-main {
    padding: 0 0 790px;
    overflow: hidden;
  }
  .l-main-contact {
    padding: 0 0 411px;
  }
}
/* Section
-------------------- */
.l-section {
  margin: -100px auto 100px;
  padding-top: 100px;
  width: 100%;
}
.l-section:last-child {
  margin: -100px auto 120px;
}

@media screen and (min-width: 1000px) {
  .l-section {
    max-width: 1000px;
  }
  .l-section-topic {
    max-width: none;
  }
}
/* Footer
-------------------- */
.l-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

/* =================================================================
Module Styles
================================================================= */
/* Header
-------------------- */
.headerWrap {
  padding: 0 16px;
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.headerWrap .headerLogo {
  width: 80px;
}
.headerWrap .headerMenuBtn {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  height: 16px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.headerWrap .headerMenuBtn_line {
  display: block;
  height: 1px;
  background: #fff;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
.headerWrap .headerMenuBtn_line:nth-child(1) {
  width: 24px;
}
.headerWrap .headerMenuBtn_line:nth-child(2) {
  width: 32px;
}
.headerWrap .headerMenuBtn_line:nth-child(3) {
  width: 40px;
}
.headerWrap .headerNavWrap {
  position: fixed;
  top: 60px;
  left: 0;
  display: none;
  width: 100%;
  height: calc(100% - 60px);
  background: #fff;
}
.headerWrap .headerNavWrap .headerNav {
  margin-bottom: 16px;
  color: #222;
  font-size: 12px;
}
.headerWrap .headerNavWrap .headerNav_item {
  border-bottom: 1px solid rgba(34, 34, 34, 0.2);
}
.headerWrap .headerNavWrap .headerNav_item-link {
  position: relative;
  padding: 0 16px;
  display: flex;
  align-items: center;
  width: 100%;
  height: 54px;
}
.headerWrap .headerNavWrap .headerNav_item-link:before {
  content: "";
  position: absolute;
  right: 16px;
  width: 12px;
  height: 12px;
  border-top: 1px solid rgba(34, 34, 34, 0.2);
  border-right: 1px solid rgba(34, 34, 34, 0.2);
  transform: rotate(45deg);
}
.headerWrap .headerNavWrap .headerNav_item-linkEn {
  margin-right: 8px;
  font-size: 18px;
}
.headerWrap .headerNavWrap .headerBtnNav_item {
  margin: 0 auto 8px;
  width: calc(100% - 81px);
  font-size: 18px;
}
.headerWrap .headerNavWrap .headerBtnNav_item:last-child {
  margin-bottom: 0;
}
.headerWrap .headerNavWrap .headerBtnNav_item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  transform: skewX(-15deg);
}
.headerWrap .headerNavWrap .headerBtnNav_item-link:before {
  content: "";
  margin-right: 8px;
  display: inline-block;
  transform: skewX(15deg);
}
.headerWrap .headerNavWrap .headerBtnNav_item-recruit {
  background: #133185;
}
.headerWrap .headerNavWrap .headerBtnNav_item-recruit:before {
  width: 18px;
  height: 20px;
  background: url(/common/img/common_icon_recruit@2x.webp) center center/cover no-repeat;
}
.headerWrap .headerNavWrap .headerBtnNav_item-contact {
  background: #0f2965;
}
.headerWrap .headerNavWrap .headerBtnNav_item-contact:before {
  width: 22px;
  height: 14px;
  background: url(/common/img/common_icon_contact@2x.webp) center center/cover no-repeat;
}
.headerWrap .headerNavWrap .headerBtnNav_item-txt {
  transform: skewX(15deg);
}

@media screen and (min-width: 500px) {
  .headerWrap .headerNavWrap .headerBtnNav_item {
    max-width: 484px;
  }
}
@media screen and (min-width: 1000px) {
  .headerWrap {
    padding: 0 24px;
    height: 80px;
  }
  .headerWrap .headerLogo {
    width: 120px;
  }
  .headerWrap .headerMenuBtn {
    display: none;
  }
  .headerWrap .headerNavWrap {
    position: relative;
    top: auto;
    left: auto;
    display: flex !important;
    align-items: center;
    width: auto;
    height: auto;
    background: none;
  }
  .headerWrap .headerNavWrap .headerNav {
    margin-bottom: 0;
    display: flex;
    color: #fff;
  }
  .headerWrap .headerNavWrap .headerNav_item {
    position: relative;
    border-bottom: none;
  }
  .headerWrap .headerNavWrap .headerNav_item:last-child:before {
    display: none;
  }
  .headerWrap .headerNavWrap .headerNav_item:last-child .headerNav_item-link:before {
    display: none;
  }
  .headerWrap .headerNavWrap .headerNav_item:before {
    content: "";
    position: absolute;
    right: 0;
    width: auto;
    height: 100%;
    border-right: 1px solid #fff;
    transform: rotate(15deg);
  }
  .headerWrap .headerNavWrap .headerNav_item-link {
    padding: 0 24px;
    flex-direction: column;
    height: auto;
  }
  .headerWrap .headerNavWrap .headerNav_item-link:before {
    display: none;
  }
  .headerWrap .headerNavWrap .headerNav_item-linkEn {
    margin-right: 0;
  }
  .headerWrap .headerNavWrap .headerBtnNav {
    margin-left: 10px;
    display: flex;
  }
  .headerWrap .headerNavWrap .headerBtnNav_item {
    margin: 0 16px 0 0;
    width: 157px;
    max-width: none;
  }
  .headerWrap .headerNavWrap .headerBtnNav_item:last-child {
    margin: 0 8px 0 0;
  }
  .headerWrap .headerNavWrap .headerBtnNav_item-link {
    position: relative;
    height: 50px;
    overflow: hidden;
  }
  .headerWrap .headerNavWrap .headerBtnNav_item-link .hoverAni {
    left: -20px;
    height: 50px;
  }
  .headerWrap .headerNavWrap .headerBtnNav_item-link:hover {
    opacity: 1;
  }
  .headerWrap .headerNavWrap .headerBtnNav_item-link:hover .hoverAni {
    left: 157px;
  }
  .headerWrap .headerNavWrap .headerBtnNav_item-recruit {
    background: none;
    border: 1px solid #fff;
  }
  .headerWrap .headerNavWrap .headerBtnNav_item-contact {
    background: none;
    border: 1px solid #fff;
  }
}
/* Head
-------------------- */
/* Under */
.mainHeadWrap {
  margin: 0 -16px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 300px;
}
.mainHeadWrap-company {
  background: url(/common/img/company_img_head.webp) center center/cover no-repeat;
}
.mainHeadWrap-member {
  background: url(/common/img/member_img_head.webp) center center/cover no-repeat;
}
.mainHeadWrap-contact {
  background: url(/common/img/contact_img_head.webp) center center/cover no-repeat;
}
.mainHeadWrap-recruit {
  background: url(/common/img/recruit_img_head.webp) center center/cover no-repeat;
}
.mainHeadWrap-privacy {
  background: url(/common/img/privacypolicy_img_head.webp) center center/cover no-repeat;
}

@media screen and (min-width: 1000px) {
  .mainHeadWrap {
    margin: 0;
  }
  .mainHeadWrap-member {
    background: url(/common/img/member_img_head.webp) center 30%/cover no-repeat;
  }
  .mainHeadWrap-recruit {
    background: url(/common/img/recruit_img_head.webp) center 30%/cover no-repeat;
  }
}
/* TOP*/
.topMvWrap {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 -16px;
  padding: 0 16px;
  height: 520px;
  background: url(/common/img/top_img_manvisial.webp) 60% center/cover no-repeat;
  overflow: hidden;
}
.topMvWrap:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -80px;
  width: 100px;
  height: 520px;
  background: url("/common/img/common_bg_texture.webp");
  transform: skewX(-15deg);
}
.topMvWrap .topMv {
  position: relative;
  width: 100%;
  z-index: 1;
}
.topMvWrap .topMv .bodyTtl {
  position: relative;
  padding-left: 28px;
  font-size: 14px;
}
.topMvWrap .topMv .bodyTtl:before {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 50%;
  left: 0;
  width: 20px;
  height: 2px;
  background: #fff;
  transform: translateY(-50%);
}
.topMvWrap .topMv .bodyTxt {
  margin-top: 8px;
  font-size: 57px;
  line-height: 1;
}
.topMvWrap .mvScroll {
  position: absolute;
  bottom: 32px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
  width: 16px;
  height: 60px;
}
.topMvWrap .mvScroll:before, .topMvWrap .mvScroll:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
}
.topMvWrap .mvScroll:before {
  bottom: 1px;
  width: 1px;
  height: 59px;
  background: #fff;
}
.topMvWrap .mvScroll:after {
  bottom: 0;
  width: 16px;
  height: 12px;
  background: url(/common/img/common_icon_triangle.svg) center center/cover no-repeat;
}

.topMvDeco {
  position: relative;
  margin: 0 -16px;
}
.topMvDeco:before {
  content: "";
  position: absolute;
  bottom: -50px;
  left: 0;
  display: block;
  width: 100%;
  height: 268px;
  background: url(/common/img/top_deco_main_fire.webp) 76% center/cover no-repeat;
}

@media screen and (min-width: 1000px) {
  .topMvWrap {
    margin: 0;
    padding: 0;
    height: 720px;
    background: url(/common/img/top_img_manvisial.webp) -400px center/cover no-repeat;
  }
  .topMvWrap:after {
    right: -150px;
    width: 660px;
    height: 720px;
  }
  .topMvWrap .topMv {
    margin-left: calc(100% / 2);
  }
  .topMvWrap .topMv .bodyTxt {
    margin-top: 8px;
    font-size: 100px;
  }

  .topMvDeco {
    margin: 0;
  }
  .topMvDeco:before {
    bottom: -50px;
    left: 0;
    display: block;
    height: 375px;
    background: url(/common/img/top_deco_main_fire.webp) center bottom/contain repeat-x;
  }
}
/* Service */
.serviceMvWrap {
  position: relative;
  margin: 0 -16px;
  padding: 0 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 600px;
  background: url(/common/img/service_img_head.webp) 22% center/cover no-repeat;
  overflow: hidden;
}
.serviceMvWrap:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -100px;
  width: 100px;
  height: 600px;
  background: url("/common/img/common_bg_texture.webp");
  transform: skewX(-15deg);
}
.serviceMvWrap .serviceMv {
  position: relative;
  width: 100%;
  z-index: 1;
}
.serviceMvWrap .serviceMv .bodyTxt {
  margin-bottom: 24px;
  font-size: 32px;
  letter-spacing: 0;
  line-height: 1.4;
}

@media screen and (min-width: 1000px) {
  .serviceMvWrap {
    margin: 0;
    padding: 0;
    background: url(/common/img/service_img_head.webp) left top/82% no-repeat;
  }
  .serviceMvWrap:after {
    right: -90px;
    width: 660px;
  }
  .serviceMvWrap .serviceMv {
    margin-left: auto;
    width: 50%;
  }
}
/* Heading
-------------------- */
.hd2 {
  text-align: center;
}
.hd2_en {
  display: block;
  font-size: 64px;
}
.hd2-service {
  position: relative;
  margin-bottom: 50px;
  text-align: left;
  line-height: 1;
}
.hd2-service:after {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 0;
  width: 40px;
  height: 2px;
  background: #fff;
}

.hd3 {
  position: relative;
  padding-bottom: 18px;
  font-size: 32px;
  text-align: center;
  line-height: 1.5;
}
.hd3:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 40px;
  height: 2px;
  background: #fff;
}
.hd3-jp {
  font-size: 24px;
  font-weight: bold;
}
.hd3-privacy {
  padding-bottom: 0;
  font-size: 24px;
  text-align: left;
  font-weight: bold;
}
.hd3-privacy:after {
  display: none;
}

.hd4 {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}

.hd5 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

/* Text
-------------------- */
.txt {
  width: 100%;
  line-height: 1.75;
  letter-spacing: 0;
}

/* Button
-------------------- */
.btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80px;
  color: #fff;
  font-size: 24px;
  border: 1px solid #fff;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
.btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}

@media screen and (min-width: 1000px) {
  .btn {
    margin: 0 auto;
    max-width: 400px;
  }
}
/* Breadcrumb
-------------------- */
.breadcrumb {
  position: relative;
  margin: 0 -16px 52px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  height: 68px;
  background: #133185;
}
.breadcrumb:after {
  content: "";
  position: absolute;
  top: 0;
  right: -10px;
  z-index: -1;
  width: 20px;
  height: 68px;
  background: #133185;
  transform: skewX(-15deg);
}
.breadcrumb_item {
  position: relative;
  margin-right: 38px;
}
.breadcrumb_item:after {
  content: "";
  position: absolute;
  top: 5px;
  right: -20px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.breadcrumb_item:last-child {
  margin-right: 0;
}
.breadcrumb_item:last-child::after {
  display: none;
}
.breadcrumb_item-link {
  text-decoration: underline !important;
}

@media screen and (min-width: 1000px) {
  .breadcrumb {
    margin: 0 0 52px;
    padding-left: calc((100% - 1000px) / 2);
  }
}
/* Top
-------------------- */
/* Message */
.messageWrap {
  position: relative;
  margin: 60px auto 100px;
}
.messageWrap:before {
  content: "MESSAGE";
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
  width: 270px;
  color: rgba(255, 255, 255, 0.05);
  font-size: 87px;
  font-family: "Staatliches";
}
.messageWrap .messageTtl {
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 24px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.messageWrap .messageTtl:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 40px;
  height: 2px;
  background: #fff;
}

@media screen and (min-width: 1000px) {
  .messageWrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 826px;
  }
  .messageWrap:before {
    top: 40px;
    left: -230px;
    right: auto;
    margin: 0;
    width: 430px;
    font-size: 140px;
    letter-spacing: 0.03em;
  }
  .messageWrap .messageTtl {
    margin-bottom: 0;
    padding-bottom: 0;
    width: 276px;
    text-align: left;
    line-height: 1.7;
  }
  .messageWrap .messageTtl:after {
    top: -60px;
    bottom: auto;
    left: auto;
    right: 60px;
    margin: 0;
    width: 2px;
    height: 190px;
    transform: rotate(15deg);
  }
  .messageWrap .messageTxt {
    width: 550px;
    flex-shrink: 0;
  }
}
/* Navigation */
.topNavList {
  margin: 0 -16px;
}
.topNavList_item {
  margin-bottom: 120px;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
}
.topNavList_item:last-child {
  margin-bottom: 0;
}
.topNavList_item:nth-child(odd) .topNavItem_img {
  left: -180px;
}
.topNavList_item .topNavItem_img {
  position: relative;
  width: 500px;
  height: 300px;
}
.topNavList_item .topNavItem_content {
  position: relative;
  padding: 0 16px;
}
.topNavList_item .topNavItem_content:before {
  content: "";
  position: absolute;
  top: -310px;
  z-index: -1;
  display: block;
}
.topNavList_item .topNavItem_content-company:before {
  left: 0;
  width: 473px;
  height: 500px;
  background: url(/common/img/top_deco_company_fire.webp) center center/cover no-repeat;
}
.topNavList_item .topNavItem_content-service:before {
  left: -170px;
  width: 480px;
  height: 500px;
  background: url(/common/img/top_deco_service_fire.webp) center center/cover no-repeat;
}
.topNavList_item .topNavItem_content-member:before {
  left: 0;
  width: 538px;
  height: 500px;
  background: url(/common/img/top_deco_member_fire.webp) center center/cover no-repeat;
}
.topNavList_item .topNavItem_content-recruit:before {
  left: -370px;
  width: 664px;
  height: 500px;
  background: url(/common/img/top_deco_recruit_fire.webp) center center/cover no-repeat;
}
.topNavList_item .topNavItem_content .topNavContent_ttl {
  position: relative;
  margin: -40px 0 24px;
  padding-bottom: 24px;
  font-weight: bold;
}
.topNavList_item .topNavItem_content .topNavContent_ttl-en {
  display: block;
  font-size: 64px;
}
.topNavList_item .topNavItem_content .topNavContent_ttl:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: #fff;
}
.topNavList_item .topNavItem_content .txt {
  margin-bottom: 24px;
}
.topNavList_item .topNavItem_content .btn {
  padding: 0 40px;
  justify-content: start;
}
.topNavList_item .topNavItem_content .btn:after {
  content: "";
  position: absolute;
  top: 44%;
  right: 40px;
  width: 10px;
  height: 10px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .topNavList_item:nth-child(odd) .topNavItem_img {
    left: 0;
  }
  .topNavList_item .topNavItem_content-company:before {
    left: 200px;
  }
  .topNavList_item .topNavItem_content-service:before {
    left: 200px;
  }
  .topNavList_item .topNavItem_content-member:before {
    left: 200px;
  }
  .topNavList_item .topNavItem_content-recruit:before {
    left: 200px;
  }
}
@media screen and (min-width: 1000px) {
  .topNavList {
    margin: 0;
  }
  .topNavList_item {
    margin-bottom: 200px;
    flex-direction: row;
    align-items: center;
    overflow: visible;
  }
  .topNavList_item:nth-child(odd) .topNavItem_img {
    margin-left: -120px;
  }
  .topNavList_item:nth-child(odd) .topNavItem_content {
    margin-left: -80px;
  }
  .topNavList_item:nth-child(even) {
    flex-direction: row-reverse;
  }
  .topNavList_item:nth-child(even) .topNavItem_img {
    margin-right: -120px;
  }
  .topNavList_item:nth-child(even) .topNavItem_content {
    margin-right: -80px;
  }
  .topNavList_item .topNavItem_img {
    width: 750px;
    height: 450px;
    flex-shrink: 0;
  }
  .topNavList_item .topNavItem_content {
    padding: 0;
    width: 450px;
    flex-shrink: 0;
  }
  .topNavList_item .topNavItem_content:before {
    top: -280px;
  }
  .topNavList_item .topNavItem_content-company:before {
    top: -240px;
    left: 70px;
    width: 523px;
    height: 552px;
  }
  .topNavList_item .topNavItem_content-service:before {
    top: -270px;
    left: -130px;
    width: 525px;
    height: 557px;
  }
  .topNavList_item .topNavItem_content-member:before {
    top: -270px;
    left: -40px;
    width: 634px;
    height: 589px;
  }
  .topNavList_item .topNavItem_content-recruit:before {
    top: -240px;
    left: -140px;
    width: 664px;
    height: 525px;
  }
  .topNavList_item .topNavItem_content .topNavContent_ttl {
    margin: 0 0 24px;
  }
  .topNavList_item .topNavItem_content .btn {
    max-width: 450px;
  }
  .topNavList_item .topNavItem_content .btn .hoverAni {
    left: -30px;
    height: 80px;
    transform: skewX(-15deg);
  }
  .topNavList_item .topNavItem_content .btn:hover {
    opacity: 1;
  }
  .topNavList_item .topNavItem_content .btn:hover .hoverAni {
    left: 460px;
  }
}
/* Topic */
.topicTtl {
  position: relative;
  z-index: 1;
  font-weight: bold;
}
.topicTtl-en {
  display: block;
  font-size: 58px;
}

.topicDeco {
  margin-top: -56px;
}

.topicList {
  margin: 0 -16px;
  padding: 80px 16px;
  background: #133185;
}
.topicList_item {
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.topicList_item .topicItem_date {
  margin-bottom: 8px;
  font-family: "Staatliches";
  color: rgba(255, 255, 255, 0.5);
  font-size: 18px;
}
.topicList_item .topicItem_txt {
  width: 100%;
  line-height: 1.75;
  letter-spacing: 0;
}
.topicList_item .topicItem_txt a {
  text-decoration: underline !important;
}

@media screen and (min-width: 1000px) {
  .topicTtl {
    padding-left: calc((100% - 1000px) / 2);
  }

  .topicDeco {
    display: flex;
  }
  .topicDeco:before {
    content: "";
    display: block;
    width: calc((100% - 1000px) / 2);
    background: #133185;
    flex-shrink: 0;
  }
  .topicDeco:after {
    content: "";
    position: relative;
    left: -380px;
    z-index: -1;
    display: block;
    width: 500px;
    background: #133185;
    transform: skewX(-15deg);
    flex-shrink: 0;
  }

  .topicList {
    margin: 0;
    padding: 80px 0;
    width: 1000px;
    flex-shrink: 0;
  }
  .topicList_item {
    display: flex;
  }
  .topicList_item .topicItem_date {
    margin-bottom: 0;
    width: 120px;
    flex-shrink: 0;
    line-height: 1.75;
  }
}
/* Compayny
-------------------- */
/* Philosophy */
.philosophyBody {
  margin: -24px -16px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 350px;
  background: url(/common/img/company_deco_fire@2x.webp) center center/330px 350px no-repeat;
}
.philosophyBody_txt {
  position: relative;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
}
.philosophyBody_txt:before, .philosophyBody_txt:after {
  position: absolute;
  display: block;
  color: rgba(255, 255, 255, 0.2);
  font-size: 60px;
}
.philosophyBody_txt:before {
  content: "“";
  top: -30px;
  left: -20px;
}
.philosophyBody_txt:after {
  content: "”";
  bottom: -70px;
  right: -20px;
}

.philosophyTxt {
  margin-top: -20px;
}
.philosophyTxt .txt {
  text-align: center;
}
.philosophyTxt .txt + .txt {
  margin-top: 24px;
}

.philosophyList {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
}
.philosophyList_item {
  margin-bottom: 24px;
  padding: 40px 16px;
  text-align: center;
  background: #133185;
}
.philosophyList_item:last-child {
  margin-bottom: 0;
}
.philosophyList_item .philosophyItem_ttl {
  font-size: 12px;
  font-weight: bold;
}
.philosophyList_item .philosophyItem_ttl-en {
  display: block;
  font-size: 60px;
}
.philosophyList_item .philosophyItem_txt {
  margin-top: 20px;
}
.philosophyList_item .philosophyItem_sub {
  margin-top: 4px;
  font-size: 10px;
}

@media screen and (min-width: 1000px) {
  .philosophyBody {
    margin: -24px 0 0;
  }
  .philosophyBody_txt:before {
    left: -50px;
  }
  .philosophyBody_txt:after {
    right: -50px;
  }

  .philosophyList {
    flex-direction: row;
    justify-content: center;
  }
  .philosophyList_item {
    margin-bottom: 0;
    margin-right: 20px;
    width: 400px;
  }
  .philosophyList_item:last-child {
    margin-right: 0;
  }
}
/* Guideline */
.guidelineList {
  counter-reset: number 0;
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.guidelineList_item {
  position: relative;
  margin-bottom: 72px;
  padding: 40px 16px;
  text-align: center;
  background: #133185;
}
  .guidelineList_item:last-child {
    margin-bottom: 0;
  }
.guidelineList_item:before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: -36px;
  left: 40px;
  font-family: "Staatliches";
  font-size: 80px;
  line-height: 1;
}

.guidelineList_item .guidelineItem_ttl {
  font-size: 20px;
  font-weight: bold;
}
.guidelineList_item .guidelineItem_txt {
  margin-top: 16px;
  line-height: 1.75;
}

@media screen and (min-width: 1000px) {
  .guidelineList {
    flex-direction: row;
    justify-content: center;
  }
  .guidelineList_item {
    /* margin-bottom: 0; */
    margin-left: 20px;
    margin-right: 20px;
    width: 320px;
  }
  .guidelineList_item:nth-child(3) {
    margin-bottom: 0;
  }
}
/* Greeting */
.greetingWrap {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
}
.greetingWrap_img {
  margin: 0 auto;
  width: 100%;
  max-width: 288px;
}
.greetingWrap_message {
  width: 100%;
}
.greetingWrap_message .greetingMessage_catch {
  margin: 32px auto 0;
  width: 100%;
  max-width: 510px;
}
.greetingWrap_message .txt {
  margin-top: 24px;
}
.greetingWrap_message .greetingMessage_name {
  margin-top: 24px;
  width: 100%;
  max-width: 237px;
}
.greetingWrap_message .greetingMessage_nameEn {
  margin-top: 8px;
  width: 100%;
  max-width: 160px;
}

@media screen and (min-width: 1000px) {
  .greetingWrap {
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .greetingWrap_img {
    margin: 80px 0 0;
    width: 450px;
    max-width: none;
  }
  .greetingWrap_message {
    width: 510px;
  }
  .greetingWrap_message .greetingMessage_catch {
    margin: 0;
  }
  .greetingWrap_message .greetingMessage_nameWrap {
    display: flex;
    align-items: center;
  }
  .greetingWrap_message .greetingMessage_nameWrap .greetingMessage_name {
    margin-right: 24px;
    width: 100%;
    max-width: 237px;
  }
  .greetingWrap_message .greetingMessage_nameWrap .greetingMessage_nameEn {
    margin-top: 0;
  }
}
/* Overview / Access */
.infoTable {
  margin-top: 40px;
  width: 100%;
}
.infoTable_item {
  display: block;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.infoTable_item:first-child {
  padding-top: 0;
}
.infoTable_head, .infoTable_content {
  display: block;
  text-align: left;
  letter-spacing: 0;
}
.infoTable_head {
  font-weight: bold;
}
.infoTable_content {
  margin-top: 8px;
  line-height: 1.7;
}
.infoTable_content-link {
  padding-right: 24px;
  display: flex;
  align-items: center;
  text-decoration: underline !important;
}
.infoTable_content-link:after {
  content: "";
  margin-left: 8px;
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url(/common/img/common_icon_outside.svg) center center/cover no-repeat;
}

.googleMap {
  margin-top: 40px;
  width: 100%;
  height: 400px;
}

.companyInfo {
  display: flex;
  flex-direction: column;
}
.companyInfo_access {
  margin-top: 24px;
}
.companyInfo_access-office {
  font-weight: bold;
}
.companyInfo_access-station {
  margin-top: 8px;
  line-height: 1.4;
  letter-spacing: 0;
}
.companyInfo .btn {
  margin-top: 24px;
  height: 56px;
  font-size: 16px;
}

@media screen and (min-width: 1000px) {
  .infoTable_head, .infoTable_content {
    display: table-cell;
  }
  .infoTable_head {
    width: 260px;
  }

  .companyInfo {
    flex-direction: row;
    justify-content: space-between;
  }
  .companyInfo + .infoTable {
    margin-top: 48px;
  }
  .companyInfo .btn {
    margin: 24px 0 0;
    max-width: 240px;
  }
  .companyInfo .btn .hoverAni {
    left: -30px;
    height: 56px;
    transform: skewX(-15deg);
  }
  .companyInfo .btn:hover {
    opacity: 1;
  }
  .companyInfo .btn:hover .hoverAni {
    left: 250px;
  }
}
/* History */
.historyList {
  margin-top: 40px;
  width: 100%;
}
.historyList_item {
  display: flex;
}
.historyList_item:first-child .historyList_head:before {
  top: 50%;
}
.historyList_item:last-child .historyList_head:before {
  top: -50%;
}
.historyList_item:last-child .historyList_content {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.historyList_head, .historyList_content {
  position: relative;
  letter-spacing: 0;
}
.historyList_head {
  margin-right: 24px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: 48px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 1.7;
  overflow: hidden;
}
.historyList_head:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
}
.historyList_content {
  padding: 24px 16px;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: none;
}
.historyList_content:before, .historyList_content:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 50%;
  transform: translateY(-50%);
}
.historyList_content:before {
  left: -16px;
  border: 8px solid transparent;
  border-right: 8px solid #102e6c;
  z-index: 2;
}
.historyList_content:after {
  left: -18px;
  border: 9px solid transparent;
  border-right: 9px solid rgba(255, 255, 255, 0.2);
  z-index: 1;
}

@media screen and (min-width: 1000px) {
  .historyList_head {
    margin-right: 0;
    flex-shrink: 0;
    width: 240px;
    font-size: 16px;
    text-align: left;
  }
  .historyList_head:before {
    left: 64px;
    margin: 0 auto;
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
  }
  .historyList_head:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 50%;
    right: 0;
    left: 64px;
    margin: 0 auto;
    width: 12px;
    height: 12px;
    background: #102e6c;
    border: 2px solid #fff;
    border-radius: 100%;
    transform: translateY(-50%);
  }
}
/* Service HR
-------------------- */
/* Service HR Head */
.serviceHead {
  width: 100%;
  height: 400px;
}
.serviceHead:first-child {
  margin-top: 40px;
}
.serviceHead-change {
  background: url(/common/img/service_img_tenshoku.webp) center center/cover no-repeat;
}
.serviceHead-kyarimo {
  background: url(/common/img/service_img_kyarimo.webp) center center/cover no-repeat;
}
.serviceHead-rvenge {
  background: url(/common/img/service_img_rvenge.webp) center center/cover no-repeat;
}
.serviceHead-highq {
  background: url(/common/img/service_img_highq.webp) center center/cover no-repeat;
}
.serviceHead-jobx {
  background: url(/common/img/service_img_jobx.webp) center center/cover no-repeat;
}
.serviceHead-housing {
  background: url(/common/img/service_img_housing.webp) left top/cover no-repeat;
}

/* Service HR Contact */
.serviceContent {
  position: relative;
  margin: -80px auto 0;
  padding: 100px 8px 80px;
  width: calc(100% - 24px);
}
.serviceContent:before {
  content: "";
  position: absolute;
  top: -73px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 146px;
  height: 146px;
  border-radius: 100%;
}
.serviceContent-change {
  background: #133185;
}
.serviceContent-change:before {
  background: #fff url(/common/img/service_logo_tenshoku@2x.webp) center center/100px 32px no-repeat;
}
.serviceContent-kyarimo {
  background: #80ae1f;
}
.serviceContent-kyarimo:before {
  background: #fff url(/common/img/service_logo_kyarimo@2x.webp) center center/100px 32px no-repeat;
}
.serviceContent-rvenge {
  background: #80ae1f;
}
.serviceContent-rvenge:before {
  background: #fff url(/common/img/service_logo_rvenge@2x.webp) center center/100px 39px no-repeat;
}
.serviceContent-highq {
  background: #7f0f84;
}
.serviceContent-highq:before {
  background: #fff url(/common/img/service_logo_highq@2x.webp) center center/100px 41px no-repeat;
}
.serviceContent-jobx {
  background: #c79e0a;
}
.serviceContent-jobx:before {
  background: #fff url(/common/img/trying_yellow.webp) center center/100px 28px no-repeat;
}
.serviceContent-housing {
  background: #158447;
}
.serviceContent-housing:before {
  background: #fff url(/common/img/service_logo_housing.webp) center center/100px 28px no-repeat;
}
.serviceContent .hd4 {
  margin-bottom: 40px;
}
.serviceContent .hd4 + .txt {
  margin-bottom: 40px;
}
.serviceContent .txt + .hd5 {
  margin-bottom: 32px;
}
.serviceContent .serviceList {
  margin-bottom: 80px;
  display: flex;
  flex-direction: column;
}
.serviceContent .serviceList_item {
  margin-bottom: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.serviceContent .serviceList_item:last-child {
  margin-bottom: 0;
}
.serviceContent .serviceList_item .serviceItem_icon {
  margin-bottom: 16px;
  width: 100px;
  height: 100px;
  background: center center/cover no-repeat;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 100%;
}
.serviceContent .serviceList_item .serviceItem_icon-change1 {
  background-image: url(/common/img/service_icon_tenshoku_01@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-change2 {
  background-image: url(/common/img/service_icon_tenshoku_02@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-change3 {
  background-image: url(/common/img/service_icon_tenshoku_03@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-kyarimo1 {
  background-image: url(/common/img/service_icon_kyarimo_01@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-kyarimo2 {
  background-image: url(/common/img/service_icon_kyarimo_02@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-kyarimo3 {
  background-image: url(/common/img/service_icon_kyarimo_03@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-rvenge1 {
  background-image: url(/common/img/service_icon_rvenge_01@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-rvenge2 {
  background-image: url(/common/img/service_icon_rvenge_02@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-rvenge3 {
  background-image: url(/common/img/service_icon_rvenge_03@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-highq1 {
  background-image: url(/common/img/service_icon_highq_01@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-highq2 {
  background-image: url(/common/img/service_icon_highq_02@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-highq3 {
  background-image: url(/common/img/service_icon_highq_03@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-jobx1 {
  background-image: url(/common/img/building.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-jobx2 {
  background-image: url(/common/img/human.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-jobx3 {
  background-image: url(/common/img/pdca.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-housing1 {
  background-image: url(/common/img/service_icon_housing_01@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-housing2 {
  background-image: url(/common/img/service_icon_housing_02@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_icon-housing3 {
  background-image: url(/common/img/service_icon_housing_03@2x.webp);
}
.serviceContent .serviceList_item .serviceItem_ttl {
  margin-bottom: 16px;
  width: 100%;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.5;
  font-size: 120%;
}

@media screen and (min-width: 1000px) {
  .serviceContent {
    padding: 100px 40px 80px;
    width: calc(100% - 48px);
  }
  .serviceContent .serviceList {
    flex-direction: row;
    justify-content: space-between;
  }
  .serviceContent .serviceList_item {
    margin-bottom: 0;
    width: 280px;
  }
  .serviceContent .serviceList_item .serviceItem_ttl {
    min-height: 58px;
  }
  .serviceContent .btn .hoverAni {
    left: -40px;
    height: 80px;
    transform: skewX(-15deg);
  }
  .serviceContent .btn:hover {
    opacity: 1;
  }
  .serviceContent .btn:hover .hoverAni {
    left: 410px;
  }
}
/* Member
-------------------- */
.memberNavList {
  counter-reset: number 0;
  margin-bottom: 160px;
  display: flex;
  flex-wrap: wrap;
}
.memberNavList_item {
  position: relative;
  width: calc(100% / 4);
}
.memberNavList_item-img {
  position: relative;
}
.memberNavList_item-img:before {
  counter-increment: number;
  content: counter(number, decimal-leading-zero);
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 4px;
  font-family: "Staatliches";
  font-size: 40px;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
}

.memberList {
  counter-reset: number 0;
}
.memberList_item {
  margin-top: -100px;
  margin-bottom: 160px;
  padding-top: 100px;
}
.memberList_item:nth-child(even) .memberWrap_img:before {
  right: auto;
  left: 16px;
}
.memberList_item .memberWrap_img {
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 288px;
}
.memberList_item .memberWrap_img:before {
  counter-increment: number;
  content: counter(number, decimal-leading-zero);
  position: absolute;
  top: -50px;
  right: 16px;
  font-family: "Staatliches";
  font-size: 100px;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  line-height: 1;
}
.memberList_item .memberWrap_data {
  margin-top: 32px;
}
.memberList_item .memberWrap_data .memberDepartmen {
  display: flex;
}
.memberList_item .memberWrap_data .memberDepartmen_belong {
  margin-left: 16px;
  padding-left: 16px;
  display: inline-block;
  width: calc(100% - 52px);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}
.memberList_item .memberWrap_data .memberName {
  margin-top: 24px;
  font-size: 47px;
  font-weight: bold;
}
.memberList_item .memberWrap_data .memberName_en {
  display: block;
  font-size: 24px;
}
.memberList_item .memberWrap_data .txt {
  margin-top: 32px;
}
.memberList_item .memberWrap_data .txt.txt {
  margin-top: 24px;
}
.memberList_item .memberWrap_data .memberChartWrap {
  margin-top: 32px;
}
.memberList_item .memberWrap_data .memberChartWrap .memberChart {
  width: 100%;
  height: 200px;
}

@media screen and (min-width: 1000px) {
  .memberNavList {
    flex-wrap: nowrap;
    margin: 0 auto 160px;
    max-width: 1000px;
  }
  .memberNavList_item {
    width: calc(100% / 6);
    overflow: hidden;
  }
  .memberNavList_item:before, .memberNavList_item:after {
    content: "";
    position: absolute;
    z-index: 1;
    display: block;
    transition: all 0.3s ease-in-out;
  }
  .memberNavList_item:before {
    bottom: 18px;
    right: -30px;
    width: 1px;
    height: 60px;
    background: #fff;
  }
  .memberNavList_item:after {
    bottom: 16px;
    right: -38px;
    width: 17px;
    height: 12px;
    background: url(/common/img/common_icon_triangle.svg) center center/cover no-repeat;
  }
  .memberNavList_item:hover::before {
    right: 20px;
  }
  .memberNavList_item:hover::after {
    right: 12px;
  }
  .memberNavList_item-img:before {
    left: 4px;
    font-size: 40px;
  }
  .memberNavList_item-img::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: -120px;
    display: block;
    width: 70px;
    height: 224px;
    background: #0f2965;
    transform: skewX(-15deg);
    transition: all 0.3s ease-in-out;
  }
  .memberNavList_item-img:hover::after {
    right: -40px;
  }
  .memberNavList:nth-child(even) .memberNavList-img::before {
    top: 0;
    bottom: auto;
  }

  .memberList_item:nth-child(odd) .memberWrap {
    flex-direction: row-reverse;
  }
  .memberList_item .memberWrap {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    width: 1000px;
  }
  .memberList_item .memberWrap .memberWrap_img {
    margin: 0;
    max-width: 458px;
  }
  .memberList_item .memberWrap .memberWrap_data {
    margin-top: 0;
    max-width: 482px;
  }
  .memberList_item .memberWrap .memberWrap_data .memberChartWrap {
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.2);
  }
  .memberList_item .memberWrap .memberWrap_data .memberChartWrap .memberChart {
    height: 227px;
  }
}
/* Recruit
-------------------- */
/* Page Link */
.pageNav {
  margin-bottom: 100px;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.pageNav_item {
  position: relative;
  margin-bottom: 24px;
  width: 100%;
}
.pageNav_item:last-child {
  margin-bottom: 0;
}
.pageNav_item:after {
  content: "";
  position: absolute;
  top: 38%;
  right: 16px;
  width: 10px;
  height: 10px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.pageNav_item-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  border: 1px solid #fff;
}

@media screen and (min-width: 1000px) {
  .pageNav {
    margin: 0 auto 100px;
    flex-direction: row;
    justify-content: space-between;
    max-width: 1000px;
  }
  .pageNav_item {
    margin-bottom: 0;
    width: calc((100% - 32px) / 3);
  }
  .pageNav_item-btn {
    position: relative;
    overflow: hidden;
  }
  .pageNav_item-btn .hoverAni {
    left: -30px;
    height: 60px;
    transform: skewX(-15deg);
  }
  .pageNav_item-btn:hover {
    opacity: 1;
  }
  .pageNav_item-btn:hover .hoverAni {
    left: 330px;
  }
}
/* Foreword */
.l-section-recruit .hd3 + .txt {
  margin-top: 24px;
}

@media screen and (min-width: 1000px) {
  .l-section-recruit .hd3 + .txt {
    text-align: center;
  }
}
/* Candidate */
.candidateList {
  margin: 40px 0 80px;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.candidateList_item {
  margin-bottom: 32px;
  width: 100%;
}
.candidateList_item:last-child {
  margin-bottom: 0;
}
.candidateList_item .candidateItem_img {
  margin-bottom: 16px;
  width: 100%;
}
.candidateList_item .candidateItem_ttl {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: bold;
}
.candidateList_item .candidateItem_ttl-sub {
  margin-top: 4px;
  display: block;
  font-size: 12px;
  letter-spacing: 0;
}
.candidateList_item .personList {
  margin-left: 1.5em;
  list-style: decimal;
}
.candidateList_item .personList_item {
  letter-spacing: 0;
  line-height: 1.7;
}

@media screen and (min-width: 1000px) {
  .candidateList {
    flex-direction: row;
    justify-content: space-between;
  }
  .candidateList_item {
    margin-bottom: 0;
    max-width: 484px;
  }
  .candidateList + .btn .hoverAni {
    left: -30px;
    height: 80px;
    transform: skewX(-15deg);
  }
  .candidateList + .btn:hover {
    opacity: 1;
  }
  .candidateList + .btn:hover .hoverAni {
    left: 410px;
  }
}
/* Recruitment */
.recruitToggle {
  margin: 40px 0 80px;
  width: 100%;
}
.recruitToggle_item {
  margin-bottom: 12px;
  width: 100%;
  background: #133185;
}
.recruitToggle_item:last-child {
  margin-bottom: 0;
}
.recruitToggle_item-ttl {
  position: relative;
  padding: 24px 80px 24px 16px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  cursor: pointer;
}
.recruitToggle_item-ttl:before, .recruitToggle_item-ttl:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 50%;
  right: 16px;
  width: 30px;
  height: 2px;
  background: #fff;
}
.recruitToggle_item-ttl:before {
  transform: translateY(-50%);
}
.recruitToggle_item-ttl:after {
  transition: all 0.3s ease-in-out;
  transform: rotate(-90deg) translateY(-50%);
}
.recruitToggle_item-ttl.active:after {
  transform: rotate(0) translateY(-50%);
}
.recruitToggle_item .recruitList {
  display: none;
  width: 100%;
}
.recruitToggle_item .recruitList_item {
  padding: 24px 16px;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.recruitToggle_item .recruitList_item .recruitItem_head-ttl {
  font-weight: bold;
  line-height: 1.7;
}
.recruitToggle_item .recruitList_item .recruitItem_content {
  margin-top: 24px;
}
.recruitToggle_item .recruitList_item .recruitItem_content .txt + .txt {
  margin-top: 24px;
}
.recruitToggle_item .recruitList_item .recruitItem_content .indent1 {
  padding-left: 1em;
  display: block;
  text-indent: -1em;
}
.recruitToggle_item .recruitList_item .recruitItem_content .indent2 {
  padding-left: 2em;
  display: block;
  text-indent: -2em;
}
.recruitToggle_item .recruitList_item .recruitItem_content .indent3 {
  padding-left: 3em;
  display: block;
  text-indent: -3em;
}
.recruitToggle + .txt {
  margin-bottom: 24px;
  text-align: center;
}

@media screen and (min-width: 1000px) {
  .recruitToggle_item-ttl {
    padding: 24px 80px 24px 24px;
  }
  .recruitToggle_item .recruitList_item {
    padding: 24px 40px;
    display: flex;
  }
  .recruitToggle_item .recruitList_item .recruitItem_head {
    width: 240px;
    flex-shrink: 0;
  }
  .recruitToggle_item .recruitList_item .recruitItem_content {
    margin-top: 0;
  }
  .recruitToggle ~ .btn .hoverAni {
    left: -30px;
    height: 80px;
    transform: skewX(-15deg);
  }
  .recruitToggle ~ .btn:hover {
    opacity: 1;
  }
  .recruitToggle ~ .btn:hover .hoverAni {
    left: 410px;
  }
}
/* Welfare */
.welfareList {
  counter-reset: number 0;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
}
.welfareList_item {
  position: relative;
  margin-bottom: 72px;
  padding: 48px 32px;
  background: #133185;
}
.welfareList_item:before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: -36px;
  left: 32px;
  font-family: "Staatliches";
  font-size: 80px;
  line-height: 1;
}
.welfareList_item:last-child {
  margin-bottom: 0;
}
.welfareList_item .welfareItem_ttl {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.welfareList_item .welfareItem_txt {
  margin-top: 16px;
  line-height: 1.75;
  letter-spacing: 0;
}

@media screen and (min-width: 1000px) {
  .welfareList {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .welfareList:after {
    content: "";
    display: block;
    width: calc((100% - 40px) / 3);
  }
  .welfareList_item {
    width: calc((100% - 40px) / 3);
  }
  .welfareList_item:nth-child(3n+1):nth-last-child(-n+3), .welfareList_item:nth-child(3n+1):nth-last-child(-n+3) ~ .welfareList_item {
    margin-bottom: 0;
  }
}
/* Contact
-------------------- */
#thxMessage {
  display: none;
}

.contactBox_item {
  margin-bottom: 24px;
}
.contactBox_item:last-child {
  margin-bottom: 0;
}
.contactBox_item-label {
  display: flex;
  align-items: center;
  font-weight: bold;
}
.contactBox_item-label .label-required {
  margin-left: 8px;
  padding: 1px 6px;
  font-size: 14px;
  font-weight: bold;
  background: #ff0000;
}
.contactBox_item-consentLabel {
  margin-top: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.contactBox_item-inputWrap {
  margin-top: 12px;
}
.contactBox_item-inputWrapSelect {
  position: relative;
}
.contactBox_item-inputWrapSelect:after {
  content: "";
  position: absolute;
  top: 28px;
  right: 16px;
  border: 5px solid transparent;
  border-bottom: none;
  border-top: 8px solid #fff;
}
.contactBox_item-inputWrapSelect select {
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.contactBox_item-inputWrapSelect select option {
  color: #fff;
}
.contactBox_item-inputWrapSelect select option:first-child {
  color: rgba(255, 255, 255, 0.2);
}
.contactBox_item-inputWrapConsent {
  text-align: center;
}
.contactBox_item input, .contactBox_item textarea, .contactBox_item select {
  font-size: 16px;
}
.contactBox_item-input {
  padding: 16px;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  background: #133185;
  color: #fff;
  border: 1px solid #133185;
  resize: vertical;
  caret-color: #fff;
}
.contactBox_item-input:-webkit-autofill {
  -webkit-text-fill-color: #fff !important;
}
.contactBox_item-input-des {
  color: rgba(255, 255, 255, 0.2);
}
.contactBox_item-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.2);
}
.contactBox_item-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.2);
}
.contactBox_item-input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.2);
  opacity: 1;
}
.contactBox_item-input:placeholder-shown {
  color: rgba(255, 255, 255, 0.2);
}
.contactBox_item-input::placeholder {
  color: rgba(255, 255, 255, 0.2);
}
.contactBox_item-inputError {
  border: 1px solid #ff0000;
}
.contactBox_item-inputCheck {
  display: none;
}
.contactBox_item .inputCheck-IE {
  position: relative;
  margin-right: 12px;
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid #fff;
}
.contactBox_item [type=checkbox]:checked + .inputCheck-IE::before, .contactBox_item [type=checkbox]:checked + .inputCheck-IE::after {
  position: absolute;
  top: 4px;
  left: 13px;
  content: "";
  display: block;
  background: #fff;
  height: 16px;
  width: 2px;
  transform: rotate(45deg);
}
.contactBox_item [type=checkbox]:checked + .inputCheck-IE::after {
  position: absolute;
  top: 11px;
  left: 5px;
  height: 8px;
  transform: rotate(-45deg);
}
.contactBox_item .errorText {
  margin-top: 8px;
  padding: 8px 16px;
  color: #ff0000;
  font-size: 14px;
  background: #ffacac;
  border-radius: 4px;
}
.contactBox_item-submit {
  margin-top: 40px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.contactBox_item-submit .btn {
  font-size: 27px;
  letter-spacing: 0.06em;
}
.contactBox_item-submit .btn:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 50%;
  right: 26px;
  width: 28px;
  height: 26px;
  background: url(/common/img/contact_icon_send.svg) center center/cover no-repeat;
  transform: translateY(-50%);
}
.contactBox .txt {
  margin-top: 40px;
  text-align: center;
}
.contactBox .txt-link {
  display: inline-block;
  color: #fff;
  text-decoration: underline !important;
}
.contactBox-complete .hd3 {
  padding-bottom: 0;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0;
}
.contactBox-complete .hd3:after {
  display: none;
}
.contactBox-complete .txt {
  margin-top: 40px;
}
.contactBox-complete .txt + .txt {
  margin-top: 20px;
}
.contactBox-complete .txt-thxMail {
  color: #00b9ff;
  word-break: break-all;
}
.contactBox-complete .btn {
  margin-top: 40px;
  height: 60px;
  font-size: 16px;
}

@media screen and (min-width: 1000px) {
  .contactBox_item-submit .btn .hoverAni {
    left: -30px;
    height: 80px;
    transform: skewX(-15deg);
  }
  .contactBox_item-submit .btn:hover {
    opacity: 1;
  }
  .contactBox_item-submit .btn:hover .hoverAni {
    left: 410px;
  }
  .contactBox-complete .txt {
    text-align: center;
  }
  .contactBox-complete .btn .hoverAni {
    left: -30px;
    height: 60px;
    transform: skewX(-15deg);
  }
  .contactBox-complete .btn:hover .hoverAni {
    left: 410px;
  }
}
/* Privacy Policy
-------------------- */
.privacyBoxTxt {
  margin-bottom: 16px;
  padding: 24px 21px;
  border: 1px solid #fff;
  line-height: 1.75;
}

.privacyList {
  width: 100%;
}
.privacyList_item {
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.privacyList_item-link {
  display: inline-block;
  text-decoration: underline !important;
}
.privacyList_item .hd3 + .txt {
  margin-top: 16px;
}

.privacy2ndList {
  margin-left: 3em;
  list-style: disc;
}
.privacy2ndList_item {
  line-height: 1.75;
}

/* Footer
-------------------- */
/* Footer Contact */
.footerContactWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 380px;
  background: url(/common/img/common_img_contact@2x.webp) center center/cover no-repeat;
}
.footerContactWrap .footerContact_hd {
  margin-bottom: 32px;
  font-size: 24px;
  font-weight: bold;
}
.footerContactWrap .footerContact_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 60px);
  max-width: 576px;
  height: 100px;
  font-size: 32px;
  border: 2px solid #fff;
  transform: skewX(-15deg);
}
.footerContactWrap .footerContact_btn:before, .footerContactWrap .footerContact_btn:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 50%;
  display: block;
  transform: skewX(15deg) translateY(-50%);
}
.footerContactWrap .footerContact_btn:before {
  right: 15px;
  width: 40px;
  height: 2px;
  background: #fff;
}
.footerContactWrap .footerContact_btn:after {
  right: 12px;
  width: 12px;
  height: 14px;
  background: url(/common/img/common_icon_contact_arow.svg) center center/cover no-repeat;
}
.footerContactWrap .footerContact_btn-txt {
  transform: skewX(15deg);
}

@media screen and (min-width: 1000px) {
  .footerContactWrap .footerContact_hd {
    font-size: 32px;
  }
  .footerContactWrap .footerContact_btn {
    position: relative;
    font-size: 40px;
    overflow: hidden;
  }
  .footerContactWrap .footerContact_btn:before {
    right: 40px;
    width: 80px;
  }
  .footerContactWrap .footerContact_btn:after {
    right: 36px;
  }
  .footerContactWrap .footerContact_btn .hoverAni {
    left: -20px;
    height: 100px;
  }
  .footerContactWrap .footerContact_btn:hover {
    opacity: 1;
  }
  .footerContactWrap .footerContact_btn:hover .hoverAni {
    left: 576px;
  }
}
/* Footer */
.footerWrap {
  padding: 40px 16px 16px;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.footerWrap_upper {
  margin-bottom: 32px;
}
.footerWrap_upper .footerNavWrap {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 500px;
}
.footerWrap_upper .footerNavWrap .footerNav {
  margin-bottom: 32px;
  width: 50%;
  font-size: 14px;
}
.footerWrap_upper .footerNavWrap .footerNav_item {
  position: relative;
  margin: 0 0 16px 24px;
}
.footerWrap_upper .footerNavWrap .footerNav_item:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 50%;
  left: -24px;
  display: block;
  width: 8px;
  height: 1px;
  background: #fff;
  transform: translateY(-50%);
}
.footerWrap_upper .footerNavWrap .footerNav_item:first-child {
  margin-left: 0;
  font-size: 16px;
  font-weight: bold;
}
.footerWrap_upper .footerNavWrap .footerNav_item:last-child {
  margin-bottom: 0;
}
.footerWrap_upper .footerNavWrap .footerNav_item-link {
  display: inline-block;
}
.footerWrap_upper .footerNavWrap .footerBtnNav {
  width: 100%;
}
.footerWrap_upper .footerNavWrap .footerBtnNav_item {
  margin-bottom: 8px;
  width: 100%;
  font-size: 18px;
  border: 1px solid #fff;
}
.footerWrap_upper .footerNavWrap .footerBtnNav_item:last-child {
  margin-bottom: 0;
}
.footerWrap_upper .footerNavWrap .footerBtnNav_item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
}
.footerWrap_upper .footerNavWrap .footerBtnNav_item-link:before {
  content: "";
  margin-right: 8px;
  display: inline-block;
}
.footerWrap_upper .footerNavWrap .footerBtnNav_item-recruit:before {
  width: 18px;
  height: 20px;
  background: url(/common/img/common_icon_recruit@2x.webp) center center/cover no-repeat;
}
.footerWrap_upper .footerNavWrap .footerBtnNav_item-contact:before {
  width: 22px;
  height: 14px;
  background: url(/common/img/common_icon_contact@2x.webp) center center/cover no-repeat;
}
.footerWrap_lower {
  padding-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.footerWrap_lower .footerLogo {
  margin-bottom: 36px;
  width: 120px;
}
.footerWrap_lower .footerLink {
  margin-bottom: 36px;
  font-size: 14px;
}
.footerWrap_lower .footerCopy {
  font-size: 12px;
  opacity: 0.5;
}

@media screen and (min-width: 500px) {
  .footerWrap_upper .footerNavWrap .footerNav {
    width: calc(100% / 3);
  }
}
@media screen and (min-width: 1000px) {
  .footerWrap {
    padding: 80px 24px 16px;
  }
  .footerWrap_upper .footerNavWrap {
    flex-wrap: nowrap;
    max-width: 1000px;
  }
  .footerWrap_upper .footerNavWrap .footerNav {
    margin-bottom: 0;
    width: 230px;
  }
  .footerWrap_upper .footerNavWrap .footerBtnNav {
    margin-left: auto;
    width: 220px;
  }
  .footerWrap_upper .footerNavWrap .footerBtnNav_item-link {
    position: relative;
    overflow: hidden;
  }
  .footerWrap_upper .footerNavWrap .footerBtnNav_item-link .hoverAni {
    left: -30px;
    height: 60px;
    transform: skewX(-15deg);
  }
  .footerWrap_upper .footerNavWrap .footerBtnNav_item-link:hover {
    opacity: 1;
  }
  .footerWrap_upper .footerNavWrap .footerBtnNav_item-link:hover .hoverAni {
    left: 230px;
  }
  .footerWrap_lower {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
  }
  .footerWrap_lower .footerLogo {
    margin-bottom: 0;
  }
  .footerWrap_lower .footerLink {
    margin-bottom: 0;
  }
  .footerWrap_lower .footerCopy {
    margin-top: 16px;
    width: 100%;
    text-align: center;
  }
}
/* Footer Page Top */
.pageTopBtn {
  margin: 0 auto 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 500px;
  height: 60px;
  border: 1px solid #fff;
  transition: auto !important;
}
.pageTopBtn:before {
  content: "";
  position: relative;
  top: 6px;
  width: 20px;
  height: 20px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(-45deg);
}

@media screen and (min-width: 1000px) {
  .pageTopBtn {
    position: relative;
    position: fixed;
    bottom: 100px;
    right: 40px;
    z-index: 9999;
    margin: 0;
    width: 60px;
    max-width: none;
    height: 60px;
    overflow: hidden;
  }
  .pageTopBtn .hoverAni {
    left: -30px;
    height: 60px;
    transform: skewX(-15deg);
  }
  .pageTopBtn:hover {
    opacity: 1;
  }
  .pageTopBtn:hover .hoverAni {
    left: 70px;
  }
}
/* JS Control
-------------------- */
/* Body,html */
.body-menuOpen {
  height: 100%;
  overflow: hidden;
}

/* Header Menu Scroll */
.l-header-scroll {
  background: #fff;
}
.l-header-scroll .headerWrap .headerMenuBtn_line {
  background: #222;
}

@media screen and (min-width: 1000px) {
  .l-header-scroll .headerWrap .headerNavWrap .headerNav {
    color: #222;
  }
  .l-header-scroll .headerWrap .headerNavWrap .headerNav_item:before {
    border-right: 1px solid rgba(34, 34, 34, 0.2);
  }
  .l-header-scroll .headerWrap .headerNavWrap .headerBtnNav_item-recruit {
    background: #133185;
    border: none;
  }
  .l-header-scroll .headerWrap .headerNavWrap .headerBtnNav_item-contact {
    background: #0f2965;
    border: none;
  }
}
/* Header Menu Active */
.l-header-active {
  background: #fff;
}
.l-header-active .headerMenuBtn {
  align-items: center;
  width: 22px;
  height: 22px;
}
.l-header-active .headerMenuBtn_line {
  background: #222;
}
.l-header-active .headerMenuBtn_line:nth-child(1) {
  width: 28px;
  transform: translateY(10px) rotate(-45deg);
}
.l-header-active .headerMenuBtn_line:nth-child(2) {
  opacity: 0;
}
.l-header-active .headerMenuBtn_line:nth-child(3) {
  width: 28px;
  transform: translateY(-10px) rotate(45deg);
}

/* Hover Animation
-------------------- */
@media screen and (min-width: 1000px) {
  .hoverAni {
    position: absolute;
    top: 0;
    width: 20px;
    background: linear-gradient(#fff, #ccc);
    opacity: 0.2;
    transition: all 0.3s ease-in-out;
  }
}
/* Helper
-------------------- */
.dis-pc {
  display: none;
}

.dis-sp {
  display: block;
}

@media screen and (min-width: 1000px) {
  .dis-pc {
    display: block;
  }

  .dis-sp {
    display: none;
  }
}
