@charset "UTF-8";
/****************************************************
 * Stylesheet
 *
 * 1.リセット
 * 2.共通設定
 * 3.レイアウト設定
 * 4.テンプレートスタイル
 * 5.コンテンツスタイル
 * 6.装飾
 * 7.印刷用調整
 * 
 ****************************************************/
/****************************************************
 * 1.リセット
 ****************************************************/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  color: #000;
  background: #FFF;
  line-height: 1.5;
}

*, *::before, *::after {
  box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img, svg {
  border: 0;
}

address, caption, cite, dfn, em, strong, th {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

abbr {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

input[type=submit], input[type=button], input[type=reset] {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

article, aside, footer, header, nav, section {
  display: block;
}

img, svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a, a:focus, a:hover {
  text-decoration: none;
  color: inherit;
  outline: none;
}

/****************************************************
 * 2.共通
 ****************************************************/
html {
  background-color: transparent;
  background-image: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  color: #222222;
}
@media only screen and (max-width: 1099px) {
  html {
    font-size: 9px;
  }
}
@media only screen and (max-width: 780px) {
  html {
    height: 100%;
    font-size: 10px;
  }
}

body {
  font-size: 1.5rem;
  background-color: #F7F7F7;
}
@media only screen and (max-width: 780px) {
  body {
    font-size: 1.4rem;
    -webkit-text-size-adjust: 100%;
  }
}

a {
  color: #222222;
}
a[href^="tel:"] {
  cursor: default;
}
a[href^="tel:"]:hover {
  text-decoration: none;
}

@media only screen and (max-width: 900px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (max-width: 1279px) {
  .pc2 {
    display: none !important;
  }
}

@media only screen and (max-width: 780px) {
  .pc_tb {
    display: none !important;
  }
}

@media only screen and (min-width: 901px) {
  .tb_sp {
    display: none !important;
  }
}

@media only screen and (min-width: 781px) {
  .sp {
    display: none !important;
  }
}

.inner {
  width: 96%;
  max-width: 1050px;
  margin: 0 auto;
}

.btn01 {
  width: 19.7rem;
  padding: 0.8rem 0;
  font-size: 1.06em;
  text-align: center;
  color: #ffffff !important;
  background: linear-gradient(to right, #FA2600, #FA2600 50%, #FF6C00);
  background-size: 200% 100% !important;
  background-position: 100% 0 !important;
  border-radius: 99px;
  box-shadow: 0.2rem 0.2rem 0.3rem rgba(0, 0, 0, 0.2);
  display: inline-block;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .btn01 {
    transition: background-position 0.3s;
  }
  .btn01:hover {
    background-position: 0 0 !important;
  }
}
.btn01:after {
  width: 2.5rem;
  height: 2.5rem;
  margin-top: -1.25rem;
  content: "";
  background-color: #ffffff;
  background-image: url("../img/icon_arrow_orange.png");
  background-size: cover;
  border: solid 0.5rem #ffffff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 0.9rem;
}

.midashi01 {
  margin-bottom: 0.5em;
  font-size: 6rem;
  font-weight: 900;
  line-height: 1.13;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .midashi01 {
    margin-bottom: 0.75em;
    font-size: 3rem;
  }
}
.midashi01 span {
  margin-top: 1em;
  font-size: 1.6rem;
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  color: #004AD5;
  display: block;
}
.midashi01.white {
  color: #ffffff;
}
.midashi01.white span {
  color: #ffffff;
}
.midashi01.center {
  text-align: center;
}

/*タブ切り替え　ベース*/
.tab_content .tab_body > * {
  animation: tabDisp 1s;
}
.tab_content .tab_body > *:not(.current) {
  display: none;
  opacity: 0;
}
@keyframes tabDisp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*フォームベース*/
.wpcf7-text, .input-text {
  width: 100%;
  padding: 0.75em;
  background-color: #F7F7F7;
  border-radius: 0.4rem;
}
.wpcf7-text::-moz-placeholder, .input-text::-moz-placeholder {
  color: #BFBFBF;
}
.wpcf7-text::placeholder, .input-text::placeholder {
  color: #BFBFBF;
}

.wpcf7-textarea, .input-textarea {
  width: 100%;
  height: 16em;
  padding: 0.75em;
  background-color: #F7F7F7;
  border-radius: 0.4rem;
}
@media only screen and (max-width: 780px) {
  .wpcf7-textarea, .input-textarea {
    height: 8em;
  }
}
.wpcf7-textarea::-moz-placeholder, .input-textarea::-moz-placeholder {
  color: #BFBFBF;
}
.wpcf7-textarea::placeholder, .input-textarea::placeholder {
  color: #BFBFBF;
}

.wpcf7-select, .input-select {
  width: 100%;
  padding: 0.75em;
  background-color: #F7F7F7;
  background-image: url("../img/form_select_icon.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  background-size: 2rem auto;
  border-radius: 0.4rem;
}

.wpcf7-radio, .radio_group {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.wpcf7-radio > *, .radio_group > * {
  display: inline-block;
  letter-spacing: normal;
}
.wpcf7-radio > *, .radio_group > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.wpcf7-radio label input, .radio_group label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.wpcf7-radio label input:checked + span:after, .radio_group label input:checked + span:after {
  content: "";
}
.wpcf7-radio label input + span, .radio_group label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.wpcf7-radio label input + span:before, .radio_group label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #BFBFBF;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
.wpcf7-radio label input + span:after, .radio_group label input + span:after {
  width: 1.4rem;
  height: 1.4rem;
  content: none;
  background-color: #000000;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}

.wpcf7-checkbox, .wpcf7-acceptance, .check_group {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.wpcf7-checkbox > *, .wpcf7-acceptance > *, .check_group > * {
  display: inline-block;
  letter-spacing: normal;
}
.wpcf7-checkbox > *, .wpcf7-acceptance > *, .check_group > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.wpcf7-checkbox label input, .wpcf7-acceptance label input, .check_group label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.wpcf7-checkbox label input:checked + span:after, .wpcf7-acceptance label input:checked + span:after, .check_group label input:checked + span:after {
  content: "";
}
.wpcf7-checkbox label input + span, .wpcf7-acceptance label input + span, .check_group label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.wpcf7-checkbox label input + span:before, .wpcf7-acceptance label input + span:before, .check_group label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #BFBFBF;
  position: absolute;
  top: 0;
  left: 0;
}
.wpcf7-checkbox label input + span:after, .wpcf7-acceptance label input + span:after, .check_group label input + span:after {
  width: 1.6rem;
  height: 1rem;
  content: none;
  border-left: solid 0.2rem #000000;
  border-bottom: solid 0.2rem #000000;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  transform: rotate(-45deg);
}

/*ページネーション*/
.pagination {
  text-align: center;
  letter-spacing: -0.4em;
}
.pagination > * {
  display: inline-block;
  letter-spacing: normal;
}
.pagination > * {
  width: 4.3rem;
  height: 4.3rem;
  margin: 0 0.4rem;
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  line-height: 4.3rem;
  text-align: center;
  color: #ffffff !important;
  background-color: #222222;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .pagination > * {
    width: 3.6rem;
    height: 3.6rem;
    margin: 0.4rem !important;
    line-height: 3.6rem;
  }
}
.pagination .current {
  background-color: #004AD5;
}
.pagination a:hover {
  opacity: 0.6;
}

/* ブロックエディタ用基本CSS */
.editor-area:after {
  content: "";
  display: block;
  clear: both;
}
.editor-area > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area p {
  margin-bottom: 2em;
}
.editor-area h3 {
  margin-bottom: 0.8em;
  padding-bottom: 0.5em;
  font-size: 1.5em;
  font-weight: 900;
  border-bottom: solid 1px #D1D1D1;
}
.editor-area h4 {
  margin-bottom: 0.7em;
  font-size: 1.25em;
  font-weight: 700;
}
.editor-area h5 {
  margin-bottom: 0.6em;
  font-size: 1em;
  font-weight: 700;
}
.editor-area ul {
  margin-bottom: 2em;
}
.editor-area ul li {
  margin-bottom: 0.5em;
  padding-left: 3rem;
}
.editor-area ul li:before {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 1.4rem 0 -3rem;
  content: "";
  background-image: url("../img/news/check.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.1em;
}
.editor-area ol {
  margin-bottom: 2em;
  counter-reset: num;
}
.editor-area ol li {
  margin-bottom: 0.5em;
  padding-left: 3rem;
  counter-increment: num;
}
.editor-area ol li:before {
  width: 2rem;
  margin: 0 1rem 0 -3rem;
  content: counter(num) ".";
  color: #004AD5;
  font-weight: 700;
  display: inline-block;
  vertical-align: 0;
}
.editor-area .wp-block-image {
  margin-bottom: 2em;
}
.editor-area .alignleft {
  max-width: 50%;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 2em;
}
.editor-area .alignright {
  max-width: 50%;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 2em;
}
.editor-area .aligncenter {
  margin-bottom: 2em;
}
.editor-area .aligncenter img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.editor-area .has-text-align-center {
  text-align: center;
}
.editor-area .has-text-align-right {
  text-align: right;
}
.editor-area blockquote {
  margin-bottom: 2.5em;
  margin-left: 0;
  padding: 1.2em 1.2em 1.2em 6rem;
  background-color: #ffffff;
  border-left: 0.25em solid #004AD5;
  position: relative;
  display: block;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote {
    padding-left: 4rem;
  }
}
.editor-area blockquote:before {
  width: 4rem;
  height: 4rem;
  content: "";
  background-color: #004AD5;
  background-image: url("../img/news/innyou.png");
  background-size: 2.4rem auto;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote:before {
    width: 3rem;
    height: 3rem;
    background-size: 2rem;
  }
}
.editor-area blockquote > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area table {
  width: 100%;
  margin-bottom: 2em;
  background-color: #ffffff;
  border-collapse: collapse;
}
.editor-area table td, .editor-area table th {
  border: 1px solid #BFBFBF;
  padding: 0.5em;
}
.editor-area table th {
  background-color: #D1D1D1;
}
.editor-area .wp-block-columns {
  display: flex;
  margin-bottom: 2em;
}
.editor-area .wp-block-column {
  flex-grow: 1;
  margin-left: 0.625em;
  margin-right: 0.625em;
}
.editor-area .wp-block-media-text {
  display: grid;
}
.editor-area a {
  color: blue;
  text-decoration: underline;
  word-break: break-all;
}
.editor-area strong, .editor-area b {
  font-weight: bold;
}
.editor-area em, .editor-area i {
  font-style: italic;
}
.editor-area .wp-block-spacer {
  clear: both;
}

/*画像横スクロール*/
.img-scroll {
  width: 100%;
  overflow: hidden;
}
.img-scroll ul {
  display: flex;
  animation: img-scroll 30s linear infinite both;
}
.img-scroll ul li {
  padding: 0 0.5rem;
  flex: 0 0 42.7rem;
}
@media only screen and (max-width: 780px) {
  .img-scroll ul li {
    padding: 0 0.25rem;
    flex: 0 0 21.3rem;
  }
}

@keyframes img-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-1 * var(--ul-width) / 2));
  }
}
/* フェードイン */
.fadeIn {
  opacity: 0;
  visibility: hidden;
  animation: fadeIn 1s ease-out forwards;
  animation-delay: 0.5s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 右からフェードイン */
.fadeInRight {
  opacity: 0;
  visibility: hidden;
  animation: fadeInRight 1s ease-out forwards;
  animation-delay: 0.5s;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/* 左からフェードイン */
.fadeInLeft {
  opacity: 0;
  visibility: hidden;
  animation: fadeInLeft 1s ease-out forwards;
  animation-delay: 0.5s;
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/* 下からフェードイン */
.fadeInUp {
  opacity: 0;
  visibility: hidden;
  animation: fadeInUp 1s ease-out forwards;
  animation-delay: 0.5s;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 横にスッと伸びる */
.expandWidth {
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  animation: expandFade 0.5s ease-out forwards;
  animation-delay: 0.5s;
}
.expandWidth.center {
  transform-origin: center center;
}

@keyframes expandFade {
  0% {
    opacity: 0;
    transform: scaleX(0);
  }
  100% {
    opacity: 1;
    transform: scaleX(1);
  }
}
/* 遅延クラス（0.5秒ごと追加） */
.delay-1 {
  animation-delay: 1s;
}

.delay-2 {
  animation-delay: 1.5s;
}

.delay-3 {
  animation-delay: 2s;
}

/****************************************************
 * 3.レイアウト設定
 ****************************************************/
.container {
  width: 100%;
  padding-top: 9rem;
  overflow: hidden;
}
@media only screen and (max-width: 900px) {
  .container {
    padding-top: 6.4rem;
  }
}

/****************************************************
 * 4.テンプレートスタイル
 ****************************************************/
/*ヘッダーブロック*/
#header {
  width: 100%;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}
#header .inner {
  max-width: 1200px;
  height: 9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 900px) {
  #header .inner {
    width: 100%;
    height: 6.4rem;
    padding-left: 1.2rem;
  }
}
#header .logo {
  width: 26.5rem;
}
@media only screen and (max-width: 1279px) {
  #header .logo {
    width: 22.3rem;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right {
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .sp_menu_btn {
    width: 6.4rem;
    height: 6.4rem;
    background-image: url("../img/sp_menu_open.png");
    background-size: cover;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .sp_menu_btn.open {
    background-image: url("../img/sp_menu_close.png");
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .sp_menu_btn.open + .navi {
    left: 0;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right .navi {
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .navi {
    width: 100%;
    height: calc(100vh - 6.4rem);
    background-color: #222222;
    position: absolute;
    top: 100%;
    left: 100%;
    transition: left 0.3s;
  }
  #header .header_right .navi:after {
    content: "";
    display: block;
    clear: both;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right .navi ul {
    margin-right: 2.6rem;
    letter-spacing: -0.4em;
  }
  #header .header_right .navi ul > * {
    display: inline-block;
    letter-spacing: normal;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right .navi ul {
    margin-right: 1.5rem;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .navi ul {
    margin-bottom: 2em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right .navi ul li:after {
    margin: 0 1em;
    content: "|";
    display: inline-block;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right .navi ul li:after {
    margin: 0 0.5em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right .navi ul li:last-child:after {
    content: none;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .navi ul li {
    border-bottom: solid 1px #ffffff;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .navi ul li a {
    padding: 0.75em 0.5em;
    font-size: 1.8rem;
    color: #ffffff;
    display: block;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right .navi ul li a:hover {
    color: #004AD5;
  }
}
#header .header_right .navi .btn_recruit .btn01 {
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 1.73em;
  line-height: 1;
  background: linear-gradient(to right, #004AD5, #004AD5 50%, #0088D0);
}
#header .header_right .navi .btn_recruit .btn01:after {
  background-image: url("../img/icon_arrow_blue.png");
}
@media only screen and (max-width: 900px) {
  #header .header_right .navi .btn_recruit {
    width: 50%;
    text-align: center;
    float: left;
  }
  #header .header_right .navi .btn_recruit .btn01 {
    width: 17rem !important;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right .navi .btn_contact {
    margin-left: 2rem;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right .navi .btn_contact {
    margin-left: 1rem;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .navi .btn_contact {
    width: 50%;
    text-align: center;
    float: right;
  }
  #header .header_right .navi .btn_contact .btn01 {
    width: 17rem !important;
  }
}
#header .header_right .navi .btn_contact .btn01 {
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 1.73em;
  line-height: 1;
}

body.page-recruit #header .header_right .navi .btn_recruit .btn01 {
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 1.73em;
  line-height: 1;
  background: linear-gradient(to right, #D10000, #D10000 50%, #AA0000);
}
body.page-recruit #header .header_right .navi .btn_recruit .btn01:after {
  background-image: url("../img/icon_arrow_red.png");
}
body.page-recruit #header .header_right .navi .btn_contact .btn01 {
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 1.73em;
  line-height: 1;
  background: linear-gradient(to right, #004AD5, #004AD5 50%, #0088D0);
}
body.page-recruit #header .header_right .navi .btn_contact .btn01:after {
  background-image: url("../img/icon_arrow_blue.png");
}

/*フッターブロック*/
#footer {
  padding: 7.26rem 0 5.6rem 0;
  color: #ffffff;
  background-color: #222222;
}
@media only screen and (max-width: 780px) {
  #footer {
    padding: 3rem 0;
  }
}
@media only screen and (min-width: 901px) {
  #footer .pagetop {
    width: 5.9rem;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 99;
  }
}
@media only screen and (min-width: 781px) {
  #footer .navi {
    margin-bottom: 5rem;
    text-align: center;
    letter-spacing: -0.4em;
  }
  #footer .navi > * {
    display: inline-block;
    letter-spacing: normal;
  }
}
@media only screen and (max-width: 780px) {
  #footer .navi {
    margin-bottom: 3rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 1rem;
  }
}
#footer .navi a {
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  #footer .navi a {
    margin: 0 1em;
    font-size: 1.4rem;
  }
  #footer .navi a:hover {
    text-decoration: underline;
  }
}
@media only screen and (max-width: 780px) {
  #footer .navi a {
    padding: 0.5em;
    text-align: center;
    border: solid 1px #ffffff;
  }
}
#footer .logo {
  width: 26.5rem;
  margin: 0 auto 2rem auto;
}
@media only screen and (max-width: 780px) {
  #footer .logo {
    width: 22.3rem;
  }
}
#footer .copyright {
  text-align: center;
  color: #5F5F5F;
}

#footer_recruit {
  padding: 6.8rem 0 8rem 0;
  color: #ffffff;
  background-color: #D10000;
}
@media only screen and (max-width: 780px) {
  #footer_recruit {
    padding: 3rem 0;
  }
}
@media only screen and (min-width: 781px) {
  #footer_recruit .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#footer_recruit .navi {
  margin-bottom: 3rem;
}
@media only screen and (min-width: 781px) {
  #footer_recruit .navi {
    order: 2;
    letter-spacing: -0.4em;
  }
  #footer_recruit .navi > * {
    display: inline-block;
    letter-spacing: normal;
  }
}
@media only screen and (max-width: 780px) {
  #footer_recruit .navi {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 1rem;
  }
}
#footer_recruit .navi a {
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  #footer_recruit .navi a {
    font-size: 1.8rem;
    font-weight: 700;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1279px) {
  #footer_recruit .navi a {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 781px) {
  #footer_recruit .navi a + a {
    margin-left: 1em;
  }
  #footer_recruit .navi a:hover {
    color: #000000;
  }
}
@media only screen and (max-width: 780px) {
  #footer_recruit .navi a {
    padding: 0.5em;
    text-align: center;
    border: solid 1px #ffffff;
  }
}
@media only screen and (min-width: 781px) {
  #footer_recruit .navi a span {
    font-family: "Staatliches", sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    display: block;
  }
}
@media only screen and (min-width: 781px) {
  #footer_recruit .logo {
    width: 29.4rem;
    order: 1;
    letter-spacing: -0.4em;
  }
  #footer_recruit .logo > * {
    display: inline-block;
    letter-spacing: normal;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1099px) {
  #footer_recruit .logo {
    width: 26.5rem;
  }
}
@media only screen and (max-width: 780px) {
  #footer_recruit .logo {
    width: 22.3rem;
    margin: 0 auto 2rem auto;
  }
}
@media only screen and (min-width: 781px) {
  #footer_recruit .copyright {
    width: 100%;
    order: 3;
    text-align: right;
  }
}
@media only screen and (max-width: 780px) {
  #footer_recruit .copyright {
    text-align: center;
  }
}

/****************************************************
 * 5.コンテンツスタイル
 ****************************************************/
/*TOPページ*/
.p-top__mv {
  width: 100%;
  height: 65rem;
  padding-top: 20.6rem;
}
@media only screen and (max-width: 780px) {
  .p-top__mv {
    height: 58.5rem;
    padding-top: 36rem;
  }
}
.p-top__mv .inner {
  max-width: 1200px;
}
.p-top__mv h1 .ja {
  font-size: 6rem;
  font-weight: 900;
  line-height: 1.8;
}
@media only screen and (max-width: 780px) {
  .p-top__mv h1 .ja {
    font-size: 3rem;
  }
}
.p-top__mv h1 .ja span {
  padding: 0 0.25em 0.15em 0.25em;
  background-color: #ffffff;
}
.p-top__mv h1 .en {
  margin-top: 1rem;
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 3rem;
  color: #ffffff;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__mv h1 .en {
    width: 65%;
    font-size: 2.3rem;
    line-height: 1;
  }
}
.p-top__bigining {
  padding: 5rem 0 18rem 0;
  background-image: url("../img/top/bigining_bg01.jpg");
  background-size: cover;
  background-position: 80% bottom;
}
@media only screen and (max-width: 780px) {
  .p-top__bigining {
    padding: 3rem 0 10rem 0;
  }
}
.p-top__bigining h2 {
  width: 100%;
  margin-bottom: 2.8rem;
}
@media only screen and (min-width: 781px) {
  .p-top__bigining .text {
    width: 60rem;
    margin-left: 4rem;
  }
}
.p-top__bigining h3 {
  margin-bottom: 0.4em;
  font-size: 6rem;
  font-weight: 900;
  line-height: 1.13;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-top__bigining h3 {
    font-size: 3rem;
  }
}
.p-top__bigining p {
  margin-bottom: 1em;
}
@media only screen and (min-width: 781px) {
  .p-top__bigining p {
    line-height: 2.26;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__bigining p {
    line-height: 1.8;
  }
}
.p-top__bigining ul {
  letter-spacing: -0.4em;
}
.p-top__bigining ul > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-top__bigining ul {
    text-align: center;
  }
}
.p-top__bigining ul li {
  width: 16rem;
  margin-right: 1.6rem;
}
@media only screen and (max-width: 780px) {
  .p-top__bigining ul li {
    width: 10rem;
  }
}
.p-top__recruit_bnr {
  height: 0;
}
.p-top__recruit_bnr .inner {
  max-width: 1000px;
  position: relative;
  z-index: 2;
}
.p-top__recruit_bnr a {
  width: 100%;
  background-color: #ffffff;
  box-shadow: 2rem 2rem 3rem rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (min-width: 781px) {
  .p-top__recruit_bnr a img {
    transition: opacity 0.3s;
  }
  .p-top__recruit_bnr a img:hover {
    opacity: 0.8;
  }
}
.p-top__business {
  padding: 19.2rem 0 12.5rem 0;
  background-image: url("../img/top/business_bg01.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .p-top__business {
    padding: 10rem 0 5rem 0;
  }
}
.p-top__business .business_list > li + li {
  margin-top: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li + li {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__business .business_list > li .headding {
    margin-bottom: 4.5rem;
    display: flex;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li .headding {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__business .business_list > li .headding .text {
    width: 50%;
    position: relative;
    z-index: 1;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li .headding .text {
    margin-bottom: 2rem;
  }
}
.p-top__business .business_list > li .headding .text h3 {
  font-size: 5rem;
  font-weight: 900;
  line-height: 1.7;
  color: #002977;
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li .headding .text h3 {
    font-size: 2.4rem;
  }
}
.p-top__business .business_list > li .headding .text h3 span {
  padding: 0 0.25em 0.15em 0.25em;
  background-color: #ffffff;
}
.p-top__business .business_list > li .headding .text h4 {
  margin-top: 2rem;
  font-size: 3.2rem;
  font-weight: 700;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li .headding .text h4 {
    margin-top: 1rem;
    font-size: 2rem;
  }
}
.p-top__business .business_list > li .headding .text h4 span {
  background: linear-gradient(to bottom, transparent 96%, #ffffff 96%, #ffffff 100%);
}
.p-top__business .business_list > li .headding .text p {
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-top__business .business_list > li .headding .text p {
    max-width: 32rem;
    margin-top: 3rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li .headding .text p {
    margin-top: 1rem;
    line-height: 1.8;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__business .business_list > li .headding .img {
    width: 58%;
    margin-left: -8%;
    padding-top: 0.6rem;
    position: relative;
  }
}
.p-top__business .business_list > li ul {
  display: flex;
  flex-wrap: wrap;
}
.p-top__business .business_list > li ul li {
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-top__business .business_list > li ul li {
    width: 15.7%;
    margin: 0 5.375% 2rem 0;
  }
  .p-top__business .business_list > li ul li:nth-child(5n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li ul li {
    width: 32%;
    margin: 0 2% 2% 0;
  }
  .p-top__business .business_list > li ul li:nth-child(3n) {
    margin-right: 0;
  }
}
.p-top__business .business_list > li ul li .img {
  width: 100%;
  height: auto;
  margin-bottom: 1.2rem;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 0.5rem;
}
.p-top__business .business_list > li ul li .img > img,
.p-top__business .business_list > li ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top__business .business_list > li ul li h5 {
  margin-bottom: 0.5em;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.18;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li ul li h5 {
    font-size: 1.6rem;
  }
}
.p-top__business .business_list > li ul li h5:after {
  width: 4em;
  height: 0.3rem;
  margin: 0.5em auto 0 auto;
  content: "";
  background-color: #ffffff;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__business .business_list > li ul li p {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__business .business_list > li:nth-child(2n) .headding {
    flex-direction: row-reverse;
  }
  .p-top__business .business_list > li:nth-child(2n) .headding .text {
    width: 40%;
  }
  .p-top__business .business_list > li:nth-child(2n) .headding .img {
    margin-left: 0;
    margin-right: 2%;
  }
}
.p-top__strength {
  padding: 8.3rem 0;
  background-image: url("../img/top/strength_bg01.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .p-top__strength {
    padding: 4rem 0;
  }
}
.p-top__strength .inner {
  max-width: 1200px;
  padding: 4rem 5rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__strength .inner {
    padding: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__strength .headding {
    margin-bottom: 8rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__strength .headding {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__strength .headding .midashi01 {
    width: 30rem;
    margin-right: 6rem;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__strength .headding p {
    width: calc(100% - 36rem);
    font-size: 2.4rem;
    line-height: 1.3;
  }
}
.p-top__strength ol {
  margin-bottom: -10rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 780px) {
  .p-top__strength ol {
    margin-bottom: -3rem;
  }
}
.p-top__strength ol li {
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-top__strength ol li {
    width: 31%;
    margin: 0 3.5% 10rem 0;
  }
  .p-top__strength ol li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__strength ol li {
    width: 48%;
    margin: 0 4% 3rem 0;
  }
  .p-top__strength ol li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-top__strength ol li .num {
  width: 6.4rem;
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 5rem;
  line-height: 1.3;
  text-align: center;
  color: #ffffff;
  background-color: #222222;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 780px) {
  .p-top__strength ol li .num {
    width: 3.2rem;
    font-size: 2.5rem;
  }
}
.p-top__strength ol li p {
  margin-top: 1em;
  font-size: 2.4rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.125;
}
@media only screen and (max-width: 780px) {
  .p-top__strength ol li p {
    font-size: 1.3rem;
  }
}
.p-top_area_bg01 {
  padding: 7rem 0 25rem 0;
  background-image: url("../img/top/area_bg01.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .p-top_area_bg01 {
    padding: 3rem 0 12rem 0;
  }
}
.p-top_area_bg01 + .p-top__recruit_bnr a {
  transform: translateY(-75%);
}
.p-top__area {
  margin-bottom: 6.5rem;
}
@media only screen and (max-width: 780px) {
  .p-top__area {
    margin-bottom: 3.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__area .inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__area .text {
    width: 45%;
    padding-top: 1rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__area .text {
    margin-bottom: 2rem;
  }
}
.p-top__area .text h3 {
  margin-top: 1em;
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: normal;
  color: #004AD5;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .p-top__area .text h3 {
    font-size: 2rem;
  }
}
.p-top__area .text h3 span {
  display: inline-block;
  position: relative;
}
.p-top__area .text h3 span:after {
  width: 999px;
  height: 1px;
  content: "";
  background-color: #C6C6C6;
  position: absolute;
  top: 50%;
  left: 105%;
}
.p-top__area .text h4 {
  margin: 1em 0;
  font-size: 2.9rem;
  font-weight: 900;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-top__area .text h4 {
    font-size: 2rem;
  }
}
.p-top__area .text p {
  line-height: 2;
}
.p-top__area .map {
  border: solid 0.5rem #0088D0;
  position: relative;
  box-shadow: 1rem 1rem 2rem rgba(0, 0, 0, 0.05);
}
@media only screen and (min-width: 781px) {
  .p-top__area .map {
    width: 50%;
    margin-right: -5%;
  }
}
.p-top__area .map img {
  width: 100%;
}
.p-top__area .map .other {
  width: 15.7rem;
  position: absolute;
  right: 2.5rem;
  bottom: 3.5rem;
}
@media only screen and (max-width: 780px) {
  .p-top__area .map .other {
    width: 10rem;
    right: 1.5rem;
    bottom: 2rem;
  }
}
.p-top__news .tab_content .tab_head {
  margin-bottom: 3rem;
  letter-spacing: -0.4em;
}
.p-top__news .tab_content .tab_head > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-top__news .tab_content .tab_head {
    text-align: center;
  }
}
.p-top__news .tab_content .tab_head li {
  width: 15.8rem;
  padding: 0.3em;
  font-size: 1.06em;
  text-align: center;
  color: #004AD5;
  background-color: #ffffff;
  border: solid 0.2rem #004AD5;
  border-radius: 99px;
}
@media only screen and (max-width: 780px) {
  .p-top__news .tab_content .tab_head li {
    width: 12rem;
  }
}
.p-top__news .tab_content .tab_head li + li {
  margin-left: 2rem;
}
.p-top__news .tab_content .tab_head li.current, .p-top__news .tab_content .tab_head li:hover {
  color: #ffffff;
  background-color: #004AD5;
}
@media only screen and (min-width: 781px) {
  .p-top__news .tab_content .tab_body ul {
    margin-bottom: 5rem;
    display: flex;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__news .tab_content .tab_body ul {
    margin-bottom: 3rem;
  }
}
.p-top__news .tab_content .tab_body ul li {
  box-shadow: 1rem 1rem 3rem rgba(0, 0, 0, 0.05);
}
@media only screen and (min-width: 781px) {
  .p-top__news .tab_content .tab_body ul li {
    width: 32%;
    margin: 0 2% 0 0;
  }
  .p-top__news .tab_content .tab_body ul li:last-child {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__news .tab_content .tab_body ul li + li {
    margin-top: 3rem;
  }
}
.p-top__news .tab_content .tab_body ul li a {
  padding: 1rem;
  background-color: #ffffff;
  display: block;
}
.p-top__news .tab_content .tab_body ul li a:hover .img img {
  transform: scale(1.2);
}
.p-top__news .tab_content .tab_body ul li .img {
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
  aspect-ratio: 320/190;
  overflow: hidden;
  position: relative;
}
.p-top__news .tab_content .tab_body ul li .img > img,
.p-top__news .tab_content .tab_body ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top__news .tab_content .tab_body ul li .img img {
  transition: transform 0.3s;
}
.p-top__news .tab_content .tab_body ul li .img span {
  padding: 0.1em 0.25em;
  font-size: 1.4rem;
  color: #ffffff;
  background-color: #222222;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top__news .tab_content .tab_body ul li .text .date {
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 1.06em;
  color: #BFBFBF;
}
.p-top__news .tab_content .tab_body ul li .text p {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.27;
}
.p-top__news .tab_content .tab_body .btn {
  text-align: center;
}
.p-top__message {
  padding: 12.3rem 0 7.5rem 0;
  background-image: url("../img/top/message_bg01.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .p-top__message {
    padding: 6rem 0 4rem 0;
  }
}
.p-top__message .img {
  position: relative;
  z-index: 1;
}
.p-top__message .img:before {
  content: "";
  background-image: url("../img/top/message_text01.png");
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  transform: translate(25%, -30%);
}
@media only screen and (min-width: 781px) {
  .p-top__message .img:before {
    width: 40rem;
    height: 35.7rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__message .img:before {
    width: 20rem;
    height: 17.8rem;
  }
}
.p-top__message .img:after {
  content: "";
  background-image: url("../img/top/message_text02.png");
  background-size: cover;
  position: absolute;
}
@media only screen and (min-width: 781px) {
  .p-top__message .img:after {
    width: 10.8rem;
    height: 35.8rem;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 780px) {
  .p-top__message .img:after {
    width: auto;
    height: 90%;
    aspect-ratio: 108/358;
    top: 5%;
    left: 1rem;
  }
}
.p-top__message .img img {
  width: 100%;
}
.p-top__message .text {
  margin-top: -20rem;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 780px) {
  .p-top__message .text {
    margin-top: 2rem;
  }
}
.p-top__message .text h3 {
  margin-bottom: 0.5em;
  margin-left: -0.75em;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.7;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__message .text h3 {
    margin-left: 0;
    font-size: 2rem;
  }
}
.p-top__message .text h3 span {
  padding: 0 0.25em 0.15em 0.25em;
  background-color: #222222;
}
.p-top__message .text h4 {
  margin-bottom: 1.25em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.9;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__message .text h4 {
    font-size: 1.8rem;
  }
}
.p-top__message .text h4 span {
  padding-bottom: 0.2em;
  background: linear-gradient(to bottom, transparent 94%, #ffffff 94%, #ffffff 100%);
}
.p-top__message .text p {
  margin-bottom: 2em;
  font-weight: 700;
  line-height: 2.3;
}
.p-top__message .text p span {
  padding: 0.2em 0.5em;
  background-color: #ffffff;
}
.p-top__message .text .name {
  text-align: right;
  color: #ffffff;
}
.p-top__message .text .name span {
  margin-left: 0.5em;
  font-size: 1.625em;
  font-weight: 700;
  display: inline-block;
  vertical-align: -0.1em;
}
.p-top__company {
  padding: 10.7rem 0 12rem 0;
}
@media only screen and (max-width: 780px) {
  .p-top__company {
    padding: 5rem 0;
  }
}
.p-top__company .inner {
  max-width: 1000px;
}
.p-top__company table {
  width: 100%;
  border-top: solid 1px #D1D1D1;
}
@media only screen and (max-width: 780px) {
  .p-top__company table {
    font-size: 1.3rem;
  }
}
.p-top__company table th {
  width: 24.5%;
  padding: 1.36em 0 1.36em 1.53em;
  font-size: 1.46em;
  font-weight: 700;
  vertical-align: top;
  border-bottom: solid 1px #D1D1D1;
}
@media only screen and (max-width: 780px) {
  .p-top__company table th {
    width: 35%;
    padding-left: 0;
  }
}
.p-top__company table td {
  padding: 1.77em 0;
  font-size: 1.2em;
  vertical-align: top;
  border-bottom: solid 1px #D1D1D1;
}
.p-top__contact {
  padding: 5rem 0;
  background-image: url("../img/top/contact_bg01.jpg");
  background-size: cover;
  background-position: center center;
}
.p-top__contact .box {
  padding: 4rem 5rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .box {
    padding: 2rem;
  }
}
.p-top__contact .box .form_area .input_field_area {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .box .form_area .input_field_area {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__contact .box .form_area .input_field_area.table .input_field {
    width: 100%;
    margin-bottom: 0;
    display: table;
  }
  .p-top__contact .box .form_area .input_field_area.table .input_field > * {
    display: table-cell;
  }
  .p-top__contact .box .form_area .input_field_area.table .input_field .input_label {
    width: 30%;
    margin-bottom: 0;
    padding: 1em;
    vertical-align: top;
  }
  .p-top__contact .box .form_area .input_field_area.table .input_field .input_area {
    padding: 1em;
    vertical-align: top;
  }
}
.p-top__contact .box .form_area .input_field_area .input_field {
  margin-bottom: 2em;
}
.p-top__contact .box .form_area .input_field_area .input_field .input_label {
  margin-bottom: 0.75em;
  font-size: 1.06em;
  font-weight: 700;
}
.p-top__contact .box .form_area .input_field_area .input_field .input_label span {
  margin-left: 1em;
  font-size: 0.8125em;
  font-weight: 500;
  color: #E34F00;
  display: inline-block;
  vertical-align: 0;
}
.p-top__contact .box .form_area .input_field_area .input_field .input_area.row {
  display: flex;
  justify-content: space-between;
}
.p-top__contact .box .form_area .input_field_area .input_field .input_area.row .col {
  width: 48%;
  display: flex;
  align-items: center;
}
.p-top__contact .box .form_area .input_field_area .input_field .input_area.row .col .label {
  margin-right: 0.5em;
}
.p-top__contact .box .form_area .input_field_area .input_field .input_area .annotation {
  margin-top: 1em;
  font-size: 0.875em;
}
.p-top__contact .box .form_area .submit {
  text-align: center;
}
.p-top__contact .box .form_area .submit span {
  font-size: 1.06em;
  text-align: center;
  color: #ffffff !important;
  background: linear-gradient(to right, #FA2600, #FA2600 50%, #FF6C00);
  background-size: 200% 100% !important;
  background-position: 100% 0 !important;
  border-radius: 99px;
  box-shadow: 0.2rem 0.2rem 0.3rem rgba(0, 0, 0, 0.2);
  overflow: hidden;
  display: inline-block;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-top__contact .box .form_area .submit span {
    transition: background-position 0.3s;
  }
  .p-top__contact .box .form_area .submit span:hover {
    background-position: 0 0 !important;
  }
}
.p-top__contact .box .form_area .submit span:after {
  width: 2.5rem;
  height: 2.5rem;
  margin-top: -1.25rem;
  content: "";
  background-color: #ffffff;
  background-image: url("../img/icon_arrow_orange.png");
  background-size: cover;
  border: solid 0.5rem #ffffff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 0.9rem;
}
.p-top__contact .box .form_area .submit span input[type=submit] {
  width: 19.7rem;
  padding: 0.9rem 0;
  position: relative;
  z-index: 10;
}
.p-top__contact .box .form_area .submit span input[type=submit]:disabled {
  background-color: rgba(255, 255, 255, 0.8) !important;
}

/*下層ページ*/
.pagetitle {
  margin-bottom: 6rem;
  padding: 4rem 0;
  background-image: url("../img/pagetitle_bg.jpg");
  background-size: cover;
}
@media only screen and (max-width: 780px) {
  .pagetitle {
    margin-bottom: 4rem;
    padding: 2rem 0;
  }
}
.pagetitle h1 {
  font-size: 5rem;
  font-weight: 900;
  line-height: 1.13;
  letter-spacing: normal;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .pagetitle h1 {
    font-size: 2.4rem;
  }
}
.pagetitle h1 span {
  margin-top: 0.8em;
  font-size: 1.6rem;
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  display: block;
}

.p-news__list {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-news__list {
    margin-bottom: 4rem;
  }
}
.p-news__list .cate {
  margin-bottom: 3rem;
  letter-spacing: -0.4em;
}
.p-news__list .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-news__list .cate {
    text-align: center;
  }
}
.p-news__list .cate li + li {
  margin-left: 2rem;
}
.p-news__list .cate li a {
  width: 15.8rem;
  padding: 0.3em;
  font-size: 1.06em;
  text-align: center;
  color: #004AD5;
  background-color: #ffffff;
  border: solid 0.2rem #004AD5;
  border-radius: 99px;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-news__list .cate li a {
    width: 12rem;
  }
}
.p-news__list .cate li a:hover {
  color: #ffffff;
  background-color: #004AD5;
}
.p-news__list .cate li.current-cat a {
  color: #ffffff;
  background-color: #004AD5;
}
@media only screen and (min-width: 781px) {
  .p-news__list .list {
    margin-bottom: 5rem;
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .p-news__list .list {
    margin-bottom: 3rem;
  }
}
.p-news__list .list li {
  box-shadow: 1rem 1rem 3rem rgba(0, 0, 0, 0.05);
}
@media only screen and (min-width: 781px) {
  .p-news__list .list li {
    width: 32%;
    margin: 0 2% 5rem 0;
  }
  .p-news__list .list li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-news__list .list li + li {
    margin-top: 3rem;
  }
}
.p-news__list .list li a {
  padding: 1rem;
  background-color: #ffffff;
  display: block;
}
.p-news__list .list li a:hover .img img {
  transform: scale(1.2);
}
.p-news__list .list li .img {
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
  aspect-ratio: 320/190;
  overflow: hidden;
  position: relative;
}
.p-news__list .list li .img > img,
.p-news__list .list li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-news__list .list li .img img {
  transition: transform 0.3s;
}
.p-news__list .list li .img span {
  padding: 0.1em 0.25em;
  font-size: 1.4rem;
  color: #ffffff;
  background-color: #222222;
  position: absolute;
  top: 0;
  left: 0;
}
.p-news__list .list li .text .date {
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 1.06em;
  color: #BFBFBF;
}
.p-news__list .list li .text p {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.27;
}
.p-news__post {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-news__post {
    margin-bottom: 4rem;
  }
}
.p-news__post .news_headding {
  margin-bottom: 4rem;
}
.p-news__post .news_headding .cate {
  display: inline-block;
  letter-spacing: -0.4em;
}
.p-news__post .news_headding .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-news__post .news_headding .cate span {
  margin-right: 1rem;
  padding: 0.1em 0.25em;
  font-size: 1.4rem;
  color: #ffffff;
  background-color: #222222;
}
.p-news__post .news_headding .date {
  margin-right: 1rem;
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-size: 1.06em;
  color: #BFBFBF;
  display: inline-block;
}
.p-news__post .news_headding h2 {
  margin-top: 1em;
  font-size: 2.4rem;
  font-weight: 900;
}
.p-news__post .news_headding .icatch {
  margin-top: 1.2em;
}
.p-news__post .bottom_btn {
  margin-top: 5rem;
  text-align: center;
}

.p-privacy__content {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-privacy__content {
    margin-bottom: 4rem;
  }
}
.p-privacy__content h3 {
  margin-bottom: 1em;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-privacy__content h3 {
    font-size: 1.6rem;
  }
}
.p-privacy__content h4 {
  margin-bottom: 0.5em;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.p-privacy__content p {
  margin-bottom: 2em;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}

/*採用特設ページ*/
.page-recruit {
  background-color: #DEDEDE;
}

.p-recruit__mv {
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv {
    background-image: url("../img/recruit/mv_bg.jpg");
    position: relative;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv {
    background-image: url("../img/recruit/mv_bg_sp.jpg");
  }
}
.p-recruit__mv .inner {
  max-width: 1200px;
  height: 69rem;
  padding-top: 10rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .inner {
    height: auto;
    padding: 3.2rem 0;
  }
}
.p-recruit__mv .text {
  position: relative;
  z-index: 10;
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .text {
    width: 54.3%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .text {
    width: 96%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .text h1 {
    width: 92%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .text h1 {
    width: 100%;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .text .eng {
    width: 87.5%;
    margin: 3.2rem 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .text .eng {
    width: 100%;
    margin: 1rem 0 2rem 0;
  }
}
.p-recruit__mv .text p {
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .text p {
    font-size: 1.2em;
  }
}
.p-recruit__mv .text p span {
  padding: 0.2em 0.5em;
  line-height: 2.2;
  white-space: nowrap;
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .img {
    width: 45.7%;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .img {
    width: 100%;
  }
}
.p-recruit__mv .img .img-scroll ul li {
  padding: 0;
  flex: 0 0 43.3rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .img .img-scroll ul li {
    padding: 0;
    flex: 0 0 19.3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__begining {
    margin-bottom: 21rem;
    padding: 4rem 0 9.6rem 0;
    background-size: 1920px auto;
    background-position: center top;
    background-image: url("../img/recruit/begining_bg01.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__begining {
    margin-bottom: 10rem;
    padding: 3rem 0;
  }
}
.p-recruit__begining .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-recruit__begining .text {
    max-width: 102rem;
    padding-right: 7rem;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1099px) {
  .p-recruit__begining .text {
    padding-right: 4rem;
  }
}
.p-recruit__begining .text h2 {
  margin-bottom: 2.7rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__begining .text h2 {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__begining .text dl {
    margin-bottom: 3.4rem;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__begining .text dl {
    width: 80%;
    margin: 0 auto 2rem auto;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__begining .text dl dt {
    width: 50%;
    padding-right: 6rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__begining .text dl dt {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__begining .text dl dd {
    width: 50%;
  }
}
.p-recruit__begining .text p {
  font-size: 1.33em;
  font-weight: 700;
  line-height: 2;
}
@media only screen and (max-width: 780px) {
  .p-recruit__begining .text p {
    font-size: 1.06em;
  }
}
.p-recruit__case {
  margin-bottom: 10rem;
  padding-bottom: 16.8rem;
  background-image: url("../img/recruit/case_bg01.jpg");
  background-size: cover;
  background-position: center top;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-recruit__case {
    margin-bottom: 4rem;
    padding-bottom: 4rem;
  }
}
.p-recruit__case .img-scroll {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-54%);
}
.p-recruit__case .inner {
  max-width: 1200px;
  position: relative;
  z-index: 10;
}
.p-recruit__case .text01 {
  width: 72.75%;
  margin-bottom: 9rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__case .text01 {
    width: 90%;
    margin-bottom: 3rem;
  }
}
.p-recruit__case h2 {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__case h2 {
    margin-bottom: 4rem;
  }
}
.p-recruit__case ol li {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.p-recruit__case ol li .eng {
  position: absolute;
  z-index: -1;
}
.p-recruit__case ol li .num {
  position: absolute;
}
.p-recruit__case ol li .ttl {
  position: absolute;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li .sub_ttl {
    position: absolute;
    z-index: 1;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li .sub_ttl {
    width: 80%;
    margin: 0 auto 2rem auto;
  }
}
.p-recruit__case ol li .img {
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li .img {
    width: 100%;
  }
}
.p-recruit__case ol li .text {
  position: relative;
  z-index: 1;
}
.p-recruit__case ol li .text p {
  font-size: 1.33em;
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li .text p {
    font-size: 1.06em;
  }
}
.p-recruit__case ol li .text p span {
  padding: 0.2em 0.5em;
  font-weight: 700;
  line-height: 2.2;
  background-color: #ffffff;
}
.p-recruit__case ol li .text p b {
  padding-bottom: 0.2em;
  font-size: 1.6em;
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(to bottom, transparent 94%, #ffffff 94%, #ffffff 100%);
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li .text p b {
    font-size: 1.3em;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case01 {
    margin-bottom: 27.5rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case01 {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case01 .eng {
    width: 28.25%;
    top: 0;
    right: 0;
    transform: translateY(-30%);
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case01 .num {
    width: 29%;
    bottom: 2.9rem;
    right: 17%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case01 .num {
    width: 15%;
    bottom: 1rem;
    right: 1rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case01 .ttl {
    width: 21.6%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-5.5rem);
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case01 .ttl {
    width: 13rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case01 .sub_ttl {
    width: 37.25%;
    top: 0;
    left: 50%;
    transform: translateY(-50%);
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case01 .img {
    width: 50%;
    transform: translateX(10%);
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case01 .img {
    margin-bottom: 6rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case01 .text {
    width: 50%;
    padding-top: 8.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case02 {
    margin-bottom: 18.5rem;
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case02 {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case02 .eng {
    width: 28.25%;
    top: 0;
    left: 0;
    transform: translate(-20%, -20%);
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case02 .num {
    width: 13.28%;
    top: 0;
    right: 0;
    transform: translateY(-15%);
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case02 .num {
    width: 3rem;
    top: -1rem;
    right: 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case02 .ttl {
    width: 34.5%;
    top: 0;
    left: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case02 .ttl {
    width: 26rem;
    top: 50vw;
    left: 1rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case02 .sub_ttl {
    width: 30.8%;
    top: 0;
    left: 39.5%;
    transform: translateY(-50%);
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case02 .img {
    width: 53.3%;
    margin-left: -53.3%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case02 .img {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case02 .text {
    width: 100%;
    padding-top: 32.2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case03 .eng {
    width: 28.25%;
    top: 0;
    right: 0;
    transform: translateY(-20%);
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case03 .num {
    width: 13.28%;
    top: 0;
    left: 1rem;
    transform: translateY(-15%);
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case03 .num {
    width: 3rem;
    top: -1rem;
    left: 1rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case03 .ttl {
    width: 66%;
    top: 5rem;
    left: 33.3%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case03 .ttl {
    width: 33rem;
    top: 50vw;
    left: 1rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case03 .sub_ttl {
    width: 28.6%;
    top: 0;
    left: 33.3%;
    transform: translateY(-50%);
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case03 .img {
    width: 50%;
    margin-right: -50%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__case ol li.case03 .img {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__case ol li.case03 .text {
    width: 100%;
    padding-top: 35.6rem;
  }
}
.p-recruit__system .inner {
  max-width: 1200px;
}
.p-recruit__system h2 {
  width: 91.6%;
  margin-bottom: 4rem;
}
.p-recruit__system p {
  font-size: 1.33em;
}
@media only screen and (max-width: 780px) {
  .p-recruit__system p {
    font-size: 1.06em;
  }
}
.p-recruit__system p span {
  padding: 0.2em 0.5em;
  font-weight: 700;
  line-height: 2.2;
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul {
    margin-top: 13.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__system ul {
    margin-top: 5rem;
  }
}
.p-recruit__system ul li {
  background-size: cover;
  background-position: center center;
}
.p-recruit__system ul li + li {
  margin-top: 2rem;
}
.p-recruit__system ul li .inner {
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul li h3 {
    position: absolute;
  }
}
.p-recruit__system ul li:nth-child(1) {
  background-image: url("../img/recruit/system_bg01.jpg");
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul li:nth-child(1) .inner {
    padding: 23.4rem 0 8rem 18vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__system ul li:nth-child(1) .inner {
    padding: 5rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul li:nth-child(1) h3 {
    width: 70.9%;
    top: -3.6rem;
    left: 18vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__system ul li:nth-child(1) h3 {
    width: 80%;
    margin-bottom: 2rem;
  }
}
.p-recruit__system ul li:nth-child(2) {
  background-image: url("../img/recruit/system_bg02.jpg");
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul li:nth-child(2) .inner {
    padding: 26.2rem 0 5.4rem 5rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__system ul li:nth-child(2) .inner {
    padding: 4rem 0;
    display: flex;
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul li:nth-child(2) h3 {
    width: 22%;
    top: 3.8rem;
    right: 4%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__system ul li:nth-child(2) h3 {
    width: 30%;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul li:nth-child(2) p {
    width: 72%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__system ul li:nth-child(2) p {
    width: 70%;
  }
}
.p-recruit__system ul li:nth-child(3) {
  background-image: url("../img/recruit/system_bg03.jpg");
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul li:nth-child(3) .inner {
    padding: 22.3rem 0 9.4rem 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__system ul li:nth-child(3) .inner {
    padding: 4rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__system ul li:nth-child(3) h3 {
    width: 58%;
    top: 7.6rem;
    right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__system ul li:nth-child(3) h3 {
    width: 80%;
    margin-bottom: 2rem;
  }
}
.p-recruit__benefit {
  padding: 9.8rem 0 12rem 0;
  background-image: url("../img/recruit/benefit_bg01.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .p-recruit__benefit {
    padding: 4rem 0;
  }
}
.p-recruit__benefit .inner {
  max-width: 1200px;
}
.p-recruit__benefit h2 {
  width: 67%;
  margin-bottom: 3.7rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__benefit h2 {
    width: 80%;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__benefit ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__benefit ul li {
    width: 48.3%;
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__benefit ul li {
    margin-bottom: 2rem;
  }
}
.p-recruit__benefit ul li .img {
  width: 100%;
  height: auto;
  aspect-ratio: 580/369;
  overflow: hidden;
}
.p-recruit__benefit ul li .img > img,
.p-recruit__benefit ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-recruit__benefit ul li .text p {
  margin-top: -1em;
  font-size: 2em;
  font-weight: 900;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__benefit ul li .text p {
    font-size: 1.33em;
  }
}
.p-recruit__benefit ul li .text p span {
  padding: 0.1em 0.5em;
  color: #ffffff;
  background-color: #D10000;
  display: inline-block;
}
.p-recruit__benefit ul li .text .annotation {
  margin-top: 0.5em;
  font-size: 1.33em;
}
@media only screen and (max-width: 780px) {
  .p-recruit__benefit ul li .text .annotation {
    font-size: 1em;
  }
}
.p-recruit__message {
  padding: 10rem 0;
  background-image: url("../img/recruit/message_bg.jpg");
  background-size: cover;
  background-position: center center;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__message {
    padding: 6rem 0 4rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__message .eng {
    width: 57rem;
    position: absolute;
    top: 4.3rem;
    right: 80%;
    z-index: -1;
  }
}
.p-recruit__message h2 {
  width: 60%;
  margin-bottom: 5.4rem;
}
.p-recruit__message .img {
  position: relative;
  z-index: 1;
}
.p-recruit__message .img:before {
  content: "";
  background-image: url("../img/recruit/message_text02.png");
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  transform: translate(25%, -30%);
}
@media only screen and (min-width: 781px) {
  .p-recruit__message .img:before {
    width: 40rem;
    height: 35.7rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__message .img:before {
    width: 20rem;
    height: 17.8rem;
  }
}
.p-recruit__message .img:after {
  content: "";
  background-image: url("../img/recruit/message_text03.png");
  background-size: cover;
  position: absolute;
}
@media only screen and (min-width: 781px) {
  .p-recruit__message .img:after {
    width: 6.5rem;
    height: 35.6rem;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__message .img:after {
    width: auto;
    height: 90%;
    aspect-ratio: 108/358;
    top: 5%;
    left: 1rem;
  }
}
.p-recruit__message .img img {
  width: 100%;
}
.p-recruit__message .text {
  margin-top: -20rem;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 780px) {
  .p-recruit__message .text {
    margin-top: 2rem;
  }
}
.p-recruit__message .text h3 {
  margin-bottom: 0.5em;
  margin-left: -0.75em;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.7;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-recruit__message .text h3 {
    margin-left: 0;
    font-size: 2rem;
  }
}
.p-recruit__message .text h3 span {
  padding: 0 0.25em 0.15em 0.25em;
  background-color: #D10000;
}
.p-recruit__message .text h4 {
  margin-bottom: 1.25em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.9;
}
@media only screen and (max-width: 780px) {
  .p-recruit__message .text h4 {
    font-size: 1.8rem;
  }
}
.p-recruit__message .text h4 span {
  padding-bottom: 0.2em;
  background: linear-gradient(to bottom, transparent 94%, #222222 94%, #222222 100%);
}
.p-recruit__message .text p {
  margin-bottom: 2em;
  font-weight: 700;
  line-height: 2.3;
}
.p-recruit__message .text p span {
  padding: 0.2em 0.5em;
  background-color: #ffffff;
}
.p-recruit__message .text .name {
  text-align: right;
}
.p-recruit__message .text .name span {
  margin-left: 0.5em;
  font-size: 1.625em;
  font-weight: 700;
  display: inline-block;
  vertical-align: -0.1em;
}
.p-recruit__closing {
  padding: 11rem 0 6.8rem 0;
  background-color: #D10000;
}
@media only screen and (max-width: 780px) {
  .p-recruit__closing {
    padding: 4rem 0;
  }
}
.p-recruit__closing .inner {
  max-width: 1200px;
}
.p-recruit__closing h2 img {
  width: 100%;
}
.p-recruit__closing p {
  margin-top: -2em;
  font-size: 1.33em;
}
@media only screen and (max-width: 780px) {
  .p-recruit__closing p {
    margin-top: 1rem;
    font-size: 1.06em;
  }
}
.p-recruit__closing p span {
  padding: 0.2em 0.5em;
  line-height: 2.2;
  white-space: nowrap;
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-recruit__closing ul {
    margin-top: 7.2rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__closing ul {
    margin-top: 3rem;
  }
}
.p-recruit__closing ul li {
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-recruit__closing ul li {
    width: 48.3%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__closing ul li + li {
    margin-top: 2rem;
  }
}
.p-recruit__closing ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-recruit__closing ul li a {
    transition: opacity 0.3s;
  }
  .p-recruit__closing ul li a:hover {
    opacity: 0.8;
  }
}

/****************************************************
 * 6.装飾
 ****************************************************/
.underline {
  text-decoration: underline;
}

.bold {
  font-weight: 700;
}

.colorRed {
  color: #D10000;
}

/****************************************************
 * 7.印刷用調整
 ****************************************************/
@media print {
  @page {
    /* A4縦サイズ */
    size: 210mm 297mm;
  }
  html {
    font-size: 10pt !important;
  }
  body {
    margin: 0 !important;
    padding: 0 !important;
  }
  * {
    -webkit-print-color-adjust: exact;
  }
  .container {
    padding: 0 !important;
  }
  #header {
    position: static !important;
  }
  img {
    display: block !important;
  }
}