@charset "UTF-8";
/*--------------------------------------
共通
---------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap");
a, abbr, acronym, address, applet, big, blockquote, body, caption, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tbody, tfoot, thead, tt, ul, var, b {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  list-style: none; }

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

.clearfix {
  clear: both;
  min-height: 1px; }

* html .clearfix {
  height: 1px; }

.txt_center {
  text-align: center !important; }

.block_center {
  margin-left: auto !important;
  margin-right: auto !important; }

.txt_left {
  text-align: left !important; }

.txt_right {
  text-align: right !important; }

.fleft {
  display: block;
  float: left; }

.fright {
  display: block;
  float: right; }

.txt_red {
  color: #f33; }

.pl0 {
  padding-left: 0 !important; }

.pr0 {
  padding-right: 0 !important; }

.pt0 {
  padding-top: 0 !important; }

.pb0 {
  padding-bottom: 0 !important; }

.ml5 {
  margin-left: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mt5 {
  margin-top: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pt8 {
  padding-top: 8px !important; }

.ml10 {
  margin-left: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mt15 {
  margin-top: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.ml20 {
  margin-left: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mt20 {
  margin-top: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.ml25 {
  margin-left: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mt25 {
  margin-top: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.ml30 {
  margin-left: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mt30 {
  margin-top: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.ml35 {
  margin-left: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mt35 {
  margin-top: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.pl35 {
  padding-left: 35px !important; }

.pr35 {
  padding-right: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.ml40 {
  margin-left: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mt40 {
  margin-top: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.ml45 {
  margin-left: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mt45 {
  margin-top: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.pl45 {
  padding-left: 45px !important; }

.pr45 {
  padding-right: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.ml50 {
  margin-left: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mt50 {
  margin-top: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.mt75 {
  margin-top: 75px !important; }

* {
  box-sizing: border-box; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

img {
  max-width: 100%;
  height: auto;
  width: auto; }

@keyframes icon02_slide {
  0% {
    opacity: 0;
    transform: translateY(-50%) translateX(20px); }
  100% {
    opacity: 1;
    transform: translateY(-50%) translateX(-50%); } }
@keyframes icon03_slide {
  0% {
    opacity: 0;
    transform: translateY(-50%) translateX(-20px); }
  100% {
    opacity: 1;
    transform: translateY(-50%) translateX(-50%); } }
@media print, screen and (min-width: 768px) {
  body {
    position: relative;
    z-index: 1;
    overflow-x: hidden;
    padding-top: 61px; }

  .sp {
    display: none !important; }

  a {
    vertical-align: bottom; }

  /* CSS Document */
  /* ページトップボタン ここから */
  #page_top {
    position: fixed;
    top: 30%;
    right: 0;
    z-index: 1;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
    #page_top img {
      width: 40px; }
    #page_top a {
      transition: opacity 0.5s;
      display: block;
      padding: 24px 10px 10px 13px;
      font-size: 10px;
      letter-spacing: 1px;
      color: #fff;
      position: relative; }
      #page_top a svg {
        content: "";
        display: block;
        width: 13px;
        position: absolute;
        top: 5px;
        right: 10px; }
      #page_top a:hover {
        opacity: 0.6; }

  /* ページトップボタン ここまで */
  /* 基本のフォントサイズ等 ここから */
  p {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.84px; }

  a {
    text-decoration: none;
    color: #000; }

  /* 基本のフォントサイズ ここまで */
  /* 基本のコンテンツ部分 ここから */
  .overlay {
    padding-top: 0 !important; }
    .overlay header {
      background-color: rgba(255, 255, 255, 0.4); }

  .contens_wrp {
    padding: 80px;
    padding-bottom: 180px; } }
  @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
    .contens_wrp {
      padding: 80px 2em 180px; } }
@media print, screen and (min-width: 768px) {
    .contens_wrp .contens_inner {
      max-width: 1200px;
      margin: 0 auto; }

  .common_layout01 {
    max-width: 860px;
    width: 100%;
    margin: 0 auto; }

  .common_layout02 {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto; }

  /* 基本のコンテンツ部分 ここまで */
  /* 下層ページ共通で使うメインビジュアル01（固定ページ等） ここから */
  #common_main_visual {
    background-image: url("/lib/img/recruit/main_visual.png");
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 440px;
    position: relative; }
    #common_main_visual .common_main_visual_inner {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 80px;
      padding: 3px 15px 6px; }

  /* 下層ページ共通で使うメインビジュアル01（固定ページ等） ここまで */
  /* ボタン ここから */
  .btn01 {
    display: inline-block;
    line-height: 1;
    padding: 20px 50px;
    font-size: 13px;
    color: #fff;
    border: 1px solid #fff;
    transition: opacity 0.5s;
    letter-spacing: 0.78px; }
    .btn01:hover {
      opacity: 0.6; }

  .btn02 {
    display: inline-block;
    background-color: #000;
    border: 1px solid #000;
    width: 480px;
    text-align: center;
    color: #fff;
    font-size: 24px;
    letter-spacing: 2.16px;
    font-weight: 600;
    position: relative;
    transition: 0.5s; }
    .btn02 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all 0.3s ease 0s;
      text-decoration: none;
      padding: 25px; }
    .btn02 svg {
      position: absolute;
      content: "";
      width: 16px;
      height: 15px;
      right: 15px;
      top: 50%;
      transform: translateY(-50%); }
      .btn02 svg.hover {
        display: none; }
    .btn02:hover svg:not(.hover) {
      display: none; }
    .btn02:hover svg.hover {
      display: block; }
    .btn02:hover span {
      cursor: pointer;
      background-position: -100% 0;
      color: #000; }

  .icon01 {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
    background-color: #000;
    border: 1px solid #000;
    vertical-align: bottom; }
    .icon01 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all 0.3s ease 0s;
      text-decoration: none; }
    .icon01 svg {
      position: absolute;
      content: "";
      width: 16px;
      height: 15px;
      left: 50%;
      top: 50%;
      transform: translateY(-50%) translateX(-50%); }
      .icon01 svg.hover {
        display: none; }
    .icon01:hover svg:not(.hover) {
      display: none; }
    .icon01:hover svg.hover {
      display: block; }
    .icon01:hover span {
      cursor: pointer;
      background-position: -100% 0;
      color: #fff; }

  .icon02 {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
    background-color: #000;
    border: 1px solid #000; }
    .icon02 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all 0.3s ease 0s;
      text-decoration: none; }
    .icon02 svg {
      position: absolute;
      content: "";
      width: 16px;
      height: 15px;
      left: 50%;
      top: 50%;
      transform: translateY(-50%) translateX(-50%); }
      .icon02 svg.hover {
        display: none; }
    .icon02:hover svg:not(.hover) {
      display: none; }
    .icon02:hover svg.hover {
      display: block; }
    .icon02:hover span {
      cursor: pointer;
      background-position: -100% 0;
      color: #fff; }

  .icon03 {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
    background-color: #000;
    border: 1px solid #000; }
    .icon03 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all 0.3s ease 0s;
      text-decoration: none; }
    .icon03 svg {
      position: absolute;
      content: "";
      width: 16px;
      height: 15px;
      left: 50%;
      top: 50%;
      transform: translateY(-50%) translateX(-50%); }
      .icon03 svg.hover {
        display: none; }
    .icon03:hover svg:not(.hover) {
      display: none; }
    .icon03:hover svg.hover {
      display: block; }
    .icon03:hover span {
      cursor: pointer;
      background-position: -100% 0;
      color: #fff; }

  .icon04 {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
    background-color: #000;
    border: 1px solid #000; }
    .icon04 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all 0.3s ease 0s;
      text-decoration: none; }
    .icon04:before {
      display: block;
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 15px;
      height: 2px;
      background-color: #fff;
      transition: 0.2s;
      transform: rotate(90deg);
      -webkit-transform: rotate(90deg); }
    .icon04:after {
      display: block;
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 15px;
      height: 2px;
      background-color: #fff;
      transition: 0.3s; }

  .icon04.on span {
    cursor: pointer;
    background-position: -100% 0;
    color: #fff; }
  .icon04.on:before {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    background-color: #000; }
  .icon04.on:after {
    background-color: transparent;
    background-color: #000; }

  /* ボタン ここまで */
  /* 見出し ここから */
  .htxt01 {
    font-size: 40px;
    letter-spacing: 2.4px;
    line-height: 1.48;
    font-weight: 400;
    color: #fff; }

  .htxt02 {
    font-size: 24px;
    color: #fff;
    letter-spacing: 1.44px; }

  .htxt03 {
    font-size: 24px;
    color: #000;
    line-height: 0.67;
    letter-spacing: 1.44px; }

  .htxt04 {
    font-size: 24px;
    letter-spacing: 1.44px;
    color: #000;
    font-weight: 600; }

  .htxt05 {
    font-size: 36px;
    letter-spacing: 2.16px;
    line-height: 1.48;
    color: #000;
    font-weight: 400; }

  .htxt06 {
    font-size: 26px;
    letter-spacing: 1.44px;
    line-height: 1.48;
    color: #000;
    font-weight: 600; }

  .htxt07 {
    font-size: 32px;
    letter-spacing: 2.4px;
    line-height: 1.48;
    color: #000;
    font-weight: 600;
    text-align: center;
    position: relative;
    padding-bottom: 24px; }
    .htxt07:before {
      content: "";
      position: absolute;
      background-color: #707070;
      width: 40px;
      height: 2px;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); }

  .htxt08 {
    font-size: 40px;
    letter-spacing: 2.4px;
    line-height: 1.48;
    font-weight: 400;
    color: #fff; }

  .htxt09 {
    font-size: 24px;
    letter-spacing: 2.16px;
    line-height: 1;
    background-color: #f0f0f0;
    padding: 15px 20px; }

  .htxt10 {
    letter-spacing: 2.16px;
    color: #fff;
    line-height: 1.48;
    background-color: #000;
    font-weight: 400;
    display: inline-block;
    padding: 3px 15px; }

  /* 見出し ここまで */
  /* リスト ここから */
  .date_list li {
    display: flex;
    align-items: center;
    margin-bottom: 22px; }
    .date_list li:last-child {
      margin-bottom: 0; }
    .date_list li p {
      line-height: 1;
      font-size: 16px;
      color: #a8a8a8;
      letter-spacing: 0.96px;
      font-weight: 500;
      margin-right: 40px; }
    .date_list li a {
      line-height: 1;
      font-size: 14px;
      color: #222222; }
      .date_list li a:hover {
        text-decoration: underline; }

  .contents_list li {
    min-height: 360px; }
  .contents_list .list01 .list01_link {
    display: flex;
    min-height: 360px;
    transition: opacity 0.5s; }
    .contents_list .list01 .list01_link.col_img_txt {
      flex-direction: row-reverse; }
    .contents_list .list01 .list01_link:hover {
      opacity: 0.6; }
      .contents_list .list01 .list01_link:hover .icon01 svg:not(.hover) {
        display: none; }
      .contents_list .list01 .list01_link:hover .icon01 svg.hover {
        display: block; }
      .contents_list .list01 .list01_link:hover .icon01 span {
        cursor: pointer;
        background-position: -100% 0;
        color: #fff; }
  .contents_list .contents_list_box01 {
    width: 50%;
    background-color: #e6e6e6;
    position: relative;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center; }
    .contents_list .contents_list_box01 .contents_list_box01_txtbox {
      width: 410px; }
      .contents_list .contents_list_box01 .contents_list_box01_txtbox .htxt04 {
        margin-bottom: 20px; }
    .contents_list .contents_list_box01 .contents_list_box01_icon_wrp {
      position: absolute;
      right: 0;
      bottom: 0; }
  .contents_list .contents_list_box02 {
    width: 50%;
    background-size: cover;
    background-position: center; }

  .top_interview_wrp {
    min-height: 540px;
    padding-left: 370px;
    position: relative;
    margin-right: calc((100% - 100vw) / 2);
    margin-bottom: 80px; }
    .top_interview_wrp .top_interview_box01 {
      background-color: #e6e6e6;
      padding: 30px;
      width: 370px;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
      .top_interview_wrp .top_interview_box01 .top_interview_box01_txtbox {
        width: 240px; }
        .top_interview_wrp .top_interview_box01 .top_interview_box01_txtbox .htxt04 {
          margin-bottom: 20px; }

  .top_interview_slide li {
    background-size: cover;
    background-position: center;
    max-width: 420px;
    width: 100%;
    height: 100%;
    min-height: 540px;
    position: relative;
    transition: opacity 0.5s; }
    .top_interview_slide li:hover {
      opacity: 0.6; }
    .top_interview_slide li a {
      display: block;
      min-height: 540px; }
    .top_interview_slide li .top_interview_slide_txtbox {
      position: absolute;
      left: 30px;
      bottom: 25px; }
      .top_interview_slide li .top_interview_slide_txtbox .top_interview_slide_txtbox_txt01 {
        font-size: 13px;
        letter-spacing: 0.78px;
        line-height: 1.48;
        color: #fff;
        font-weight: 500; }
      .top_interview_slide li .top_interview_slide_txtbox .top_interview_slide_txtbox_txt02 {
        font-size: 24px;
        line-height: 1.48;
        letter-spacing: 1.44px;
        font-weight: 600;
        color: #fff;
        margin: 15px 0 5px; }
      .top_interview_slide li .top_interview_slide_txtbox .top_interview_slide_txtbox_txt03 {
        font-size: 16px;
        line-height: 1.48;
        letter-spacing: 0.96px;
        color: #fff; }
  .top_interview_slide .prev_arrow {
    position: absolute;
    bottom: 0;
    left: -120px; }
  .top_interview_slide .next_arrow {
    position: absolute;
    bottom: 0;
    left: -60px; }

  .contents_list02 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .contents_list02 li {
      width: 48.5%; }
      .contents_list02 li a {
        display: block;
        height: 100%;
        transition: opacity 0.5s; }
        .contents_list02 li a:hover {
          opacity: 0.6; }
          .contents_list02 li a:hover .icon01 svg:not(.hover) {
            display: none; }
          .contents_list02 li a:hover .icon01 svg.hover {
            display: block; }
          .contents_list02 li a:hover .icon01 span {
            cursor: pointer;
            background-position: -100% 0;
            color: #fff; }
      .contents_list02 li .htxt04 {
        margin-top: 5px; }
      .contents_list02 li .contents_list02_box {
        position: relative;
        min-height: 320px;
        height: 100%;
        background-size: cover;
        background-position: center; }
        .contents_list02 li .contents_list02_box .contents_list02_box_icon_wrp {
          position: absolute;
          right: 0;
          bottom: 0; }

  /* リスト ここまで */
  /* レコメンド ここから */
  #recommend {
    padding-top: 60px;
    padding-bottom: 120px; }
    #recommend .recommend_inner {
      max-width: 1200px;
      margin: 0 auto; }
    #recommend .htxt06 {
      text-align: center;
      margin-bottom: 55px; }

  /* レコメンド ここまで */
  /* テーブル01 2カラム 左に見出しパターン ここから */
  .table01 {
    border: 1px solid #e0e0e0;
    border-collapse: collapse;
    width: 100%; }
    .table01 tr,
    .table01 td {
      border: 1px solid #e0e0e0;
      text-align: left; }
    .table01 th {
      width: auto;
      padding: 20px;
      font-size: 14px;
      white-space: nowrap;
      width: 20%;
      background-color: #f7f7f7; }
    .table01 td {
      padding: 20px;
      font-size: 14px;
      width: 80%; }
      .table01 td a {
        color: #0093ff; }
        .table01 td a:hover {
          text-decoration: underline; }

  /* テーブル01 2カラム 左に見出しパターン ここまで */
  /* input select等カスタマイズ　ここから */
  .select_01 {
    position: relative; }
    .select_01 select {
      -webkit-appearance: none;
      appearance: none; }
      .select_01 select:-ms-expand {
        display: none; }
    .select_01:before {
      position: absolute;
      top: 50%;
      right: 0.4em;
      transform: translateY(-50%);
      width: 0;
      height: 0;
      padding: 0;
      content: "";
      border-left: 4.5px solid transparent;
      border-right: 4.5px solid transparent;
      border-top: 7px solid #707070;
      pointer-events: none; }

  /* input select等カスタマイズ　ここまで */
  /* CSS Document */
  header {
    background-color: #fff;
    padding: 8px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 61px;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 4999;
    /* ドロワーメニュー ここから */
    /* ドロワーメニュー ここまで */ }
    header .logo_wrp a {
      display: inline-block;
      transition: opacity 0.5s; }
      header .logo_wrp a:hover {
        opacity: 0.6; }
      header .logo_wrp a img {
        vertical-align: bottom;
        height: 44px;
        width: auto; }
    header .entry_btn_wrp {
      min-width: 170px;
      position: relative;
      margin-left: auto;
      margin-right: 25px; }
      header .entry_btn_wrp .entry_btn01 {
        font-size: 16px;
        color: #fff;
        letter-spacing: 0.96px;
        display: inline-block;
        background-color: #000;
        height: 45px;
        line-height: 45px;
        padding: 0 38px 0 18px;
        text-align: center;
        position: relative;
        width: 100%; }
        header .entry_btn_wrp .entry_btn01 svg {
          position: absolute;
          width: 11px;
          height: 7px;
          background-size: contain;
          background-repeat: no-repeat;
          top: 53%;
          transform: translateY(-50%);
          right: 24px; }
      header .entry_btn_wrp .entry_btn02 {
        position: absolute;
        left: 0;
        top: 45px;
        width: 100%;
        z-index: 99; }
        header .entry_btn_wrp .entry_btn02 a {
          display: block;
          min-height: 45px;
          line-height: 1.4;
          text-align: center;
          font-size: 16px;
          color: #fff;
          letter-spacing: 0.96px;
          transition: opacity 0.5s;
          padding: 10px 18px; }
        header .entry_btn_wrp .entry_btn02 .entry_btn02_01 {
          background-color: #696969; }
        header .entry_btn_wrp .entry_btn02 .entry_btn02_02 {
          background-color: #525252; }
      header .entry_btn_wrp:not(.js_entry_btn_wrp) .entry_btn01 svg {
        transform: rotate(-90deg);
        top: 45%; }
    header .btn-trigger {
      position: relative;
      width: 40px;
      height: 22px;
      cursor: pointer; }
      header .btn-trigger:hover span {
        width: 100% !important; }
    header .btn-trigger span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #000; }
      header .btn-trigger span:nth-child(2) {
        width: 60%; }
      header .btn-trigger span:nth-child(3) {
        width: 70%; }
    header .btn-trigger,
    header .btn-trigger span {
      display: inline-block;
      transition: all 0.3s;
      box-sizing: border-box; }
    header .btn-trigger span:nth-of-type(1) {
      top: 0; }
    header .btn-trigger span:nth-of-type(2) {
      top: 10px; }
    header .btn-trigger span:nth-of-type(3) {
      bottom: 0; }

  /* メインメニュー ここから */
  #main_menu {
    max-width: 975px;
    width: 100%;
    background-color: #000;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 99999999999999;
    padding: 120px 80px;
    transform: translateX(100%);
    transition: transform 0.5s; }
    #main_menu .close_btn {
      position: absolute;
      right: 30px;
      top: 30px; }
    #main_menu .main_menu_link_list {
      margin-bottom: -40px;
      width: 100%;
      justify-content: space-between;
      display: flex;
      flex-wrap: wrap;
      align-items: baseline; }
      #main_menu .main_menu_link_list::before {
        order: 1; }
      #main_menu .main_menu_link_list::before, #main_menu .main_menu_link_list::after {
        content: "";
        display: block;
        width: 200px; }
      #main_menu .main_menu_link_list li {
        width: 200px;
        margin-bottom: 40px;
        vertical-align: middle; }
        #main_menu .main_menu_link_list li a {
          font-size: 16px;
          color: #fff;
          letter-spacing: 0.96px;
          transition: opacity 0.5s; }
          #main_menu .main_menu_link_list li a:hover {
            opacity: 0.6; }
        #main_menu .main_menu_link_list li span {
          font-size: 16px;
          color: #fff;
          letter-spacing: 0.96px;
          transition: opacity 0.5s;
          display: inline-block;
          cursor: pointer;
          padding-right: 0.5em; }
        #main_menu .main_menu_link_list li .sub_menu_link_list li {
          margin-bottom: 10px; }
          #main_menu .main_menu_link_list li .sub_menu_link_list li:first-child {
            margin-top: 10px; }
          #main_menu .main_menu_link_list li .sub_menu_link_list li a {
            font-size: 0.8em; }
        #main_menu .main_menu_link_list li .sub_menu_link_list_toggle {
          display: inline-block;
          width: 15px;
          height: 15px;
          cursor: pointer; }
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle span {
            display: block;
            position: relative;
            width: 15px;
            height: 15px; }
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle span::before,
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle span::after {
            content: "";
            display: block;
            width: 15px;
            height: 2px;
            border-radius: 5px;
            background: #fff;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%); }
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle span::after {
            background: #fff;
            /* 横棒を縦にするために90℃回転させる */
            transform: translateY(-50%) rotate(90deg);
            /* プラスからマイナスへの切り替えをゆっくり行いアニメーションさせる */
            transition: 0.5s; }
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle .active::after {
            transform: translateY(-50%) rotate(0);
            transition: 0.5s; }
    #main_menu .main_menu_link_list02 li {
      margin-bottom: 20px; }
      #main_menu .main_menu_link_list02 li a {
        font-size: 14px;
        color: #fff;
        letter-spacing: 0.96px;
        transition: opacity 0.5s;
        display: block;
        text-align: right; }
        #main_menu .main_menu_link_list02 li a:hover {
          opacity: 0.6; }

  .active_menu {
    transform: translateX(0) !important; }

  /* メインメニュー ここまで */
  /* CSS Document */
  footer {
    /* フッターリンク ここから */
    /* フッターリンク ここまで */ }
    footer #cookies_alert {
      position: fixed;
      bottom: 20px;
      left: 0;
      right: 0;
      padding: 0 80px;
      margin-right: auto;
      margin-left: auto;
      z-index: 99999999; }
      footer #cookies_alert .contens_inner {
        background-color: #fff;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        max-width: 1200px;
        margin-right: auto;
        margin-left: auto;
        padding: 1em;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-radius: .25rem; }
        footer #cookies_alert .contens_inner .inner_txt {
          width: calc(100% - 104px); }
          footer #cookies_alert .contens_inner .inner_txt p {
            line-height: 1.3; }
          footer #cookies_alert .contens_inner .inner_txt a {
            text-decoration: underline; }
            footer #cookies_alert .contens_inner .inner_txt a:hover {
              text-decoration: none; }
        footer #cookies_alert .contens_inner .inner_remove #js_remove {
          background-color: #999595;
          border-radius: 5px;
          color: #fff;
          padding: 3px 15px;
          cursor: pointer;
          transition: all 0.2s; }
          footer #cookies_alert .contens_inner .inner_remove #js_remove:hover {
            background-color: rgba(153, 149, 149, 0.7); }
    footer .entry_wrp {
      display: flex;
      flex-wrap: wrap; }
      footer .entry_wrp div {
        width: 50%;
        flex-grow: 1; }
        footer .entry_wrp div a {
          width: 100%;
          height: 100%;
          display: block;
          text-align: center;
          font-size: 24px;
          letter-spacing: 1.44px;
          padding: 35px;
          color: #fff;
          font-weight: 600;
          transition: opacity 0.5s; }
          footer .entry_wrp div a:hover {
            opacity: 0.6; }
      footer .entry_wrp .entry_box01 a {
        background-color: #696969; }
      footer .entry_wrp .entry_box02 a {
        background-color: #525252; }
    footer .footer_link {
      width: 100%;
      padding: 80px;
      background-color: #1d1d1d; }
      footer .footer_link .footer_link_inner {
        display: flex;
        justify-content: space-between;
        align-items: flex-end; }
        footer .footer_link .footer_link_inner .footer_link_list {
          display: flex;
          flex-wrap: wrap;
          width: 70%;
          margin-bottom: -40px; }
          footer .footer_link .footer_link_inner .footer_link_list li {
            width: 200px;
            margin-bottom: 40px; }
            footer .footer_link .footer_link_inner .footer_link_list li a {
              font-size: 16px;
              color: #fff;
              letter-spacing: 0.96px;
              transition: opacity 0.5s; }
              footer .footer_link .footer_link_inner .footer_link_list li a:hover {
                opacity: 0.6; }
            footer .footer_link .footer_link_inner .footer_link_list li span {
              font-size: 16px;
              color: #fff;
              letter-spacing: 0.96px;
              display: inline-block;
              cursor: pointer;
              padding-right: 0.5em; }
            footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list li {
              margin-bottom: 10px; }
              footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list li:first-child {
                margin-top: 10px; }
              footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list li a {
                font-size: 0.8em; }
            footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list_toggle {
              display: inline-block;
              width: 15px;
              height: 15px;
              cursor: pointer; }
              footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list_toggle span {
                display: block;
                position: relative;
                width: 15px;
                height: 15px; }
              footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list_toggle span::before,
              footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list_toggle span::after {
                content: '';
                display: block;
                width: 15px;
                height: 2px;
                border-radius: 5px;
                background: #fff;
                position: absolute;
                right: 0;
                top: 50%;
                transform: translateY(-50%); }
              footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list_toggle span::after {
                background: #fff;
                /* 横棒を縦にするために90℃回転させる */
                transform: translateY(-50%) rotate(90deg);
                /* プラスからマイナスへの切り替えをゆっくり行いアニメーションさせる */
                transition: 0.5s; }
              footer .footer_link .footer_link_inner .footer_link_list li .sub_menu_link_list_toggle .active::after {
                transform: translateY(-50%) rotate(0);
                transition: 0.5s; }
        footer .footer_link .footer_link_inner .footer_link_list02 li {
          margin-bottom: 20px; }
          footer .footer_link .footer_link_inner .footer_link_list02 li a {
            font-size: 14px;
            color: #fff;
            letter-spacing: 0.96px;
            transition: opacity 0.5s;
            display: block;
            text-align: right; }
            footer .footer_link .footer_link_inner .footer_link_list02 li a:hover {
              opacity: 0.6; }
    footer .footer_copyright {
      text-align: center;
      background-color: #000;
      padding: 12px; }
      footer .footer_copyright p {
        font-size: 13px;
        color: #fff; }

  .content_with800px {
    background-color: #fff;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    width: 800px;
    padding: 0 80px; }

  .content_with1160px {
    background-color: #fff;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    max-width: 1160px;
    width: 100%;
    padding: 0 80px; }

  .gutenberg_content {
    line-height: 1.8;
    font-size: 14px; }
    .gutenberg_content a {
      text-decoration: underline; }
    .gutenberg_content h2 {
      font-size: 26px;
      text-align: center;
      padding-bottom: 35px;
      position: relative;
      margin-bottom: 1.5em; }
      .gutenberg_content h2::after {
        content: "";
        display: block;
        width: 40px;
        height: 2px;
        position: absolute;
        right: -100%;
        bottom: 0;
        left: -100%;
        margin-right: auto;
        margin-left: auto;
        background-color: #707070; }
    .gutenberg_content p {
      margin-bottom: 1em;
      line-height: 1.8; }
    .gutenberg_content .wp-block-image {
      text-align: center;
      margin-bottom: 1em; }
      .gutenberg_content .wp-block-image img {
        height: auto; }
    .gutenberg_content .wp-block-getwid-images-slider {
      margin-bottom: 1em; }
    .gutenberg_content .wp-block-getwid-table {
      margin-bottom: 1em;
      font-size: 14px; }
      .gutenberg_content .wp-block-getwid-table table {
        border-collapse: collapse;
        width: 100%; }
    
        .gutenberg_content .wp-block-getwid-table table th,
        .gutenberg_content .wp-block-getwid-table table td {
          padding: 0.6em 0.4em;
          border: 1px solid #E0E0E0;
          word-break: break-all; }
      .gutenberg_content .wp-block-getwid-table:not(.has-table-layout-fixed) table th,
      .gutenberg_content .wp-block-getwid-table:not(.has-table-layout-fixed) table td {
        white-space: nowrap; }
    .gutenberg_content .wp-block-image {
      text-align: center; }
      .gutenberg_content .wp-block-image figcaption {
        margin-bottom: 2px; }
    .gutenberg_content em {
      font-style: italic; }
    .gutenberg_content figcaption {
      font-size: 14px; }
    .gutenberg_content .wp-block-column:not(:first-child) {
      margin-left: 2em; }

  .wp-block-cover p {
    margin-bottom: 0; }

  #jobs .gutenberg_content h3 {
    font-weight: normal;
    margin-bottom: 24px;
    padding-left: 18px;
    font-size: 24px;
    position: relative; }
    #jobs .gutenberg_content h3::before {
      content: "";
      display: block;
      width: 4px;
      height: 100%;
      background-color: #707070;
      position: absolute;
      top: 0;
      left: 0; }

  #news .gutenberg_content h3 {
    font-weight: normal;
    background-color: #F0F0F0;
    margin-bottom: 24px;
    padding: 12px 18px;
    font-size: 24px; }
  #news .gutenberg_content .wp-block-getwid-table {
    margin-left: 0;
    margin-right: 0; }

  #pager_post {
    padding-top: 100px; }
    #pager_post .pager_post_inner .pager_post_row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 580px;
      margin-right: auto;
      margin-left: auto; }
      #pager_post .pager_post_inner .pager_post_row .pager_post_col {
        /* 前・次の記事 共通 ここから */
        /* 前・次の記事 共通 ここまで */
        /* 前の記事 ここから */
        /* 前の記事 ここまで */
        /* 前の記事 ここから */
        /* 前の記事 ここまで */
        /* 一覧に戻る ここから */
        /* 一覧に戻る ここまで */ }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow {
          width: 100px; }
          #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow .pager_post_area {
            display: flex;
            align-items: center;
            transition: all 0.2s; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow .pager_post_area:hover {
              opacity: 0.7; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow .pager_post_area svg {
              width: 23px; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow .pager_post_area .pager_post_str {
              display: block;
              width: 65px; }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_col_prev .pager_post_area svg {
          margin-right: 11px; }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_next .pager_post_area svg {
          transform: scale(-1, 1);
          margin-left: 11px; }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list {
          width: 80px; }
          #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list .pager_post_area {
            display: block;
            text-align: center;
            transition: all 0.2s; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list .pager_post_area:hover {
              opacity: 0.7; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list .pager_post_area svg {
              display: inline-block;
              margin-bottom: 10px; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list .pager_post_area .pager_post_str {
              display: block; }

  /* ここから */
  #top_contents {
    margin-bottom: 160px; }
    #top_contents .contens_wrp {
      padding-bottom: 0 !important;
      padding-top: 0 !important;
      margin: 80px 0; }

  /* ここまで */
  /* メインビジュアル ここから */
  #top_main_visual {
    background-size: cover !important;
    background-position: center !important;
    background-attachment: scroll !important;
    background-repeat: no-repeat !important;
    width: 100%;
    height: 660px;
    position: relative; }
    #top_main_visual .top_main_visual_htxt .top_main_visual_htxt_inner {
      padding: 3px 15px 6px;
      display: inline-block; }

  /* メインビジュアル ここまで */
  /* about ここから */
  .top_about {
    background-image: url("/lib/img/about_bg.png");
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 450px;
    margin-top: 80px;
    position: relative; }
    .top_about p {
      color: #fff; }
    .top_about .top_about_inner {
      width: 410px;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%); }
      .top_about .top_about_inner h2 {
        margin-bottom: 15px; }
      .top_about .top_about_inner p {
        margin-bottom: 40px; }

  /* about ここまで */
  /* news ここから */
  .top_news {
    background-color: #f2f2f2;
    padding: 45px 0; }
    .top_news .top_news_inner {
      max-width: 1200px;
      padding-left: 5%;
      margin: 0 auto;
      position: relative; }
      .top_news .top_news_inner .date_list {
        margin-top: 30px; }
      .top_news .top_news_inner .news_icon_wrp {
        position: absolute;
        right: 0;
        bottom: -45px; }

  /* news ここまで */
  #interview {
    /* インタビュー一覧 ここから */
    /* インタビュー一覧 ここまで */
    /* インタビュー詳細 ここから */
    /* メインビジュアル ここから */
    /* メインビジュアル ここまで */
    /* メインコンテンツ部 ここから */
    /* メインコンテンツ部 ここまで */
    /* 1日のスケジュール ここから */
    /* 1日のスケジュール ここまで */
    /* インタビューOTHER ここから */
    /* インタビューOTHER ここまで */
    /* インタビュー詳細 ここまで */ }
    #interview #interview_other.contens_wrp {
      padding-top: 0; }
    #interview .interview_list_wrp .interview_list01 {
      padding: 80px 60px; }
      #interview .interview_list_wrp .interview_list01 .interview_list_txt01 {
        font-size: 18px;
        line-height: 2;
        letter-spacing: 1.44px;
        text-align: center; }
    #interview .interview_list_wrp .interview_list02 {
      background-color: #f0f0f0;
      padding: 120px 80px; } }
    @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
      #interview .interview_list_wrp .interview_list02 {
        padding: 120px 40px; } }
@media print, screen and (min-width: 768px) {
      #interview .interview_list_wrp .interview_list02 .interview_list02_inner {
        max-width: 1200px;
        width: 100%;
        margin: 0 auto; }
      #interview .interview_list_wrp .interview_list02 .interview_other_slider {
        margin: 0 -20px;
        display: flex;
        flex-wrap: wrap; }
        #interview .interview_list_wrp .interview_list02 .interview_other_slider li {
          margin-bottom: 60px; }
          #interview .interview_list_wrp .interview_list02 .interview_other_slider li div {
            padding: 41.49% 0;
            width: 100%;
            position: relative;
            overflow: hidden; }
            #interview .interview_list_wrp .interview_list02 .interview_other_slider li div img {
              position: absolute;
              top: -100%;
              right: -100%;
              bottom: -100%;
              left: -100%;
              margin: auto;
              max-width: none;
              display: none; }
              #interview .interview_list_wrp .interview_list02 .interview_other_slider li div img.img_hor {
                width: auto;
                height: 100%;
                display: block; }
              #interview .interview_list_wrp .interview_list02 .interview_other_slider li div img.img_ver {
                width: 100%;
                height: auto;
                display: block; } }
      @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
        #interview .interview_list_wrp .interview_list02 .interview_other_slider li {
          width: 44%;
          margin-bottom: 40px; } }
@media print, screen and (min-width: 768px) {
    #interview #js_more_btn {
      text-align: center;
      margin-top: 3.5em; }
      #interview #js_more_btn button {
        padding: 1em 3em;
        background-color: #000;
        color: #fff;
        font-size: 1.1em;
        transition: all 0.2s; }
        #interview #js_more_btn button:hover {
          opacity: 0.7; }
    #interview #interview_main_visual {
      background-size: cover;
      background-position: top;
      width: 100%;
      height: 660px;
      position: relative; }
      #interview #interview_main_visual .interview_main_visual_htxt {
        left: 80px;
        bottom: 50px;
        position: absolute;
        padding: 3px 15px 6px; }
        #interview #interview_main_visual .interview_main_visual_htxt.txt_shadow {
          text-shadow: #333 2px 0px 2px, #333 -2px 0px 2px, #333 0px -2px 2px, #333 -2px 0px 2px, #333 2px 2px 2px, #333 -2px 2px 2px, #333 2px -2px 2px, #333 -2px -2px 2px, #333 1px 2px 2px, #333 -1px 2px 2px, #333 1px -2px 2px, #333 -1px -2px 2px, #333 2px 1px 2px, #333 -2px 1px 2px, #333 2px -1px 2px, #333 -2px -1px 2px, #333 1px 1px 2px, #333 -1px 1px 2px, #333 1px -1px 2px, #333 -1px -1px 2px; }
        #interview #interview_main_visual .interview_main_visual_htxt .interview_main_visual_htxt_txt01 {
          font-size: 20px;
          line-height: 1.48;
          letter-spacing: 1.2px;
          color: #fff;
          font-weight: 500; }
        #interview #interview_main_visual .interview_main_visual_htxt .interview_main_visual_htxt_txt02 {
          font-size: 40px;
          line-height: 1.48;
          letter-spacing: 2.4px;
          color: #fff;
          font-weight: 400;
          margin-top: 15px; }
        #interview #interview_main_visual .interview_main_visual_htxt .interview_main_visual_htxt_txt03 {
          font-size: 24px;
          letter-spacing: 1.44px;
          line-height: 1.8;
          color: #fff;
          margin-top: 35px; }
    #interview .interview_contents {
      padding-top: 60px;
      /* レイアウトパターン01 ここから */
      /* レイアウトパターン01 ここまで */
      /* レイアウトパターン02 ここから */
      /* レイアウトパターン02 ここまで */
      /* レイアウトパターン03 ここから */
      /* レイアウトパターン03 ここまで */ } }
    @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
      #interview .interview_contents {
        padding-top: 30px; } }
@media print, screen and (min-width: 768px) {
      #interview .interview_contents .interview_layout_txt01 {
        font-size: 13px;
        letter-spacing: 0.78px;
        font-weight: 600; }
      #interview .interview_contents .htxt05 {
        margin-top: 15px;
        margin-bottom: 35px; }
      #interview .interview_contents .interview_layout {
        margin-bottom: 140px; }
        #interview .interview_contents .interview_layout:last-child {
          margin-bottom: 0; }
        #interview .interview_contents .interview_layout .youtube_wrp {
          position: relative;
          padding: 28.4% 0;
          overflow: hidden; }
          #interview .interview_contents .interview_layout .youtube_wrp iframe {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            width: 100%;
            height: 100%; }
      #interview .interview_contents .interview_layout01 {
        display: flex;
        align-items: center; }
        #interview .interview_contents .interview_layout01 .interview_layout01_box01 {
          max-width: 540px;
          width: 100%;
          margin-right: 60px; } }
        @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
          #interview .interview_contents .interview_layout01 .interview_layout01_box01 {
            margin-right: 1.5em; } }
@media print, screen and (min-width: 768px) {
        #interview .interview_contents .interview_layout01 .interview_layout01_box02 {
          margin-right: -80px;
          max-width: 680px;
          width: 100%; } }
        @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
          #interview .interview_contents .interview_layout01 .interview_layout01_box02 {
            margin-right: -2em; } }
@media print, screen and (min-width: 768px) {
      #interview .interview_contents .interview_layout02 .interview_layout02_box01 {
        margin-bottom: 55px; }
      #interview .interview_contents .interview_layout02 .interview_layout02_box02 {
        max-width: 620px;
        margin: 0 auto; }
      #interview .interview_contents .interview_layout03 {
        display: flex;
        align-items: center; }
        #interview .interview_contents .interview_layout03 .interview_layout03_box01 {
          margin-left: -80px;
          max-width: 680px;
          width: 100%; } }
        @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
          #interview .interview_contents .interview_layout03 .interview_layout03_box01 {
            margin-left: -2em; } }
@media print, screen and (min-width: 768px) {
        #interview .interview_contents .interview_layout03 .interview_layout03_box02 {
          max-width: 540px;
          width: 100%;
          margin-left: 60px; } }
        @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
          #interview .interview_contents .interview_layout03 .interview_layout03_box02 {
            margin-left: 1.5em; } }
@media print, screen and (min-width: 768px) {
    #interview #interview_schedule {
      padding-bottom: 0;
      padding-top: 0;
      margin-bottom: 80px; }
      #interview #interview_schedule .contens_inner .interview_schedule_row1 {
        width: 202px; }
      #interview #interview_schedule .contens_inner .interview_schedule_row2 {
        background-color: #F7F7F7;
        padding: 0 20px; }
      #interview #interview_schedule .interview_schedule_ttl {
        background-color: #0A4B6A;
        color: #fff;
        text-align: center;
        font-weight: normal;
        line-height: 1;
        padding: 13.5px 0;
        font-size: 18px; }
      #interview #interview_schedule .interview_schedule_items {
        padding: 130px 0;
        max-width: 755px;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        position: relative; }
        #interview #interview_schedule .interview_schedule_items::before {
          content: "";
          display: block;
          width: 1px;
          height: 100%;
          position: absolute;
          top: 0;
          left: 80px;
          background-color: #0A4B6A; }
        #interview #interview_schedule .interview_schedule_items .interview_schedule_item:not(:last-child) {
          margin-bottom: 85px; }
        #interview #interview_schedule .interview_schedule_items .interview_schedule_item .interview_schedule_item_row {
          display: flex;
          justify-content: space-between;
          width: 100%; }
          #interview #interview_schedule .interview_schedule_items .interview_schedule_item .interview_schedule_item_row > .interview_schedule_item_col1 {
            min-width: 80px;
            padding-right: 20px;
            padding-top: 5px;
            position: relative; }
            #interview #interview_schedule .interview_schedule_items .interview_schedule_item .interview_schedule_item_row > .interview_schedule_item_col1::after {
              content: "";
              display: block;
              width: 11px;
              height: 11px;
              background-color: #0A4B6A;
              border-radius: 50%;
              position: absolute;
              top: 11px;
              left: 75px; }
          #interview #interview_schedule .interview_schedule_items .interview_schedule_item .interview_schedule_item_row > .interview_schedule_item_col2 {
            width: calc(100% - 80px);
            padding-left: 20px; }
        #interview #interview_schedule .interview_schedule_items .item_time {
          color: #0A4B6A;
          line-height: 1;
          font-size: 22px; }
        #interview #interview_schedule .interview_schedule_items .item_row {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          #interview #interview_schedule .interview_schedule_items .item_row > .item_col_width {
            width: 100%; }
          #interview #interview_schedule .interview_schedule_items .item_row > .item_col1 {
            max-width: calc(100% - 200px);
            width: 69.25%;
            padding-right: 15px; }
          #interview #interview_schedule .interview_schedule_items .item_row > .item_col2 {
            max-width: 200px;
            width: 30.75%; }
        #interview #interview_schedule .interview_schedule_items .item_ttl {
          font-size: 24px;
          margin-bottom: 15px;
          font-weight: normal; }
        #interview #interview_schedule .interview_schedule_items .item_txt {
          font-size: 14px; }
          #interview #interview_schedule .interview_schedule_items .item_txt p:not(:last-child) {
            margin-bottom: 8px; }
          #interview #interview_schedule .interview_schedule_items .item_txt a {
            text-decoration: underline; }
      #interview #interview_schedule .interview_schedule_time {
        color: #0A4B6A;
        font-size: 22px;
        line-height: 1; }
    #interview .interview_other_wrp {
      padding: 120px 80px;
      margin: 0 -80px; } }
    @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
      #interview .interview_other_wrp {
        padding: 120px 2em;
        margin: 0 -2em; } }
@media print, screen and (min-width: 768px) {
      #interview .interview_other_wrp .htxt06 {
        text-align: center; }
    #interview .interview_other_slider {
      position: relative;
      margin-top: 55px; }
      #interview .interview_other_slider .prev_arrow {
        position: absolute;
        top: 120px;
        left: -80px;
        z-index: 99; } }
      @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
        #interview .interview_other_slider .prev_arrow {
          left: -2em; } }
@media print, screen and (min-width: 768px) {
      #interview .interview_other_slider .next_arrow {
        position: absolute;
        top: 120px;
        right: -80px;
        z-index: 99; } }
      @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
        #interview .interview_other_slider .next_arrow {
          right: -2em; } }
@media print, screen and (min-width: 768px) {
      #interview .interview_other_slider li {
        max-width: 370px;
        width: 100%;
        margin: 0 20px; }
        #interview .interview_other_slider li a {
          transition: opacity 0.5s;
          display: block; }
          #interview .interview_other_slider li a:hover {
            opacity: 0.6; }
          #interview .interview_other_slider li a div {
            padding: 41.085% 0;
            width: 100%;
            position: relative;
            overflow: hidden; }
            #interview .interview_other_slider li a div img {
              position: absolute;
              top: -100%;
              right: -100%;
              bottom: -100%;
              left: -100%;
              margin: auto;
              max-width: none; }
              #interview .interview_other_slider li a div img.img_hor {
                width: auto;
                height: 100%; }
              #interview .interview_other_slider li a div img.img_ver {
                width: 100%;
                height: auto; }
        #interview .interview_other_slider li .interview_other_slider_txt01 {
          font-size: 13px;
          font-weight: 600;
          line-height: 1.48;
          letter-spacing: 0.78px;
          margin-top: 25px; }
        #interview .interview_other_slider li .interview_other_slider_txt02 {
          font-size: 24px;
          line-height: 1.48;
          letter-spacing: 1.44px;
          font-weight: 600;
          margin: 15px 0 5px; }
        #interview .interview_other_slider li .interview_other_slider_txt03 {
          font-size: 16px;
          line-height: 1.48;
          letter-spacing: 0.96px;
          margin-top: 5px; }

  #entry {
    /* 詳細ページ用　ここまで */
    /* 選択ボックス ここから */
    /* 選択ボックス ここまで */
    /* リスト ここから */
    /* リスト ここまで */
    /* お問い合わせ ここから */
    /* お問い合わせ ここまで */
    /* ボタンエリア ここから */
    /* ボタンエリア ここまで */
    /* 現在求人は行っておりません。 ここから*/
    /* 現在求人は行っておりません。 ここまで*/ }
    #entry .entry_form_wrp {
      max-width: 950px;
      margin: 0 auto;
      padding: 0 45px; }
    #entry .contens_wrp {
      padding-bottom: 100px; }
    #entry .recruit_select_wrp {
      background-color: #f0f0f0;
      padding: 100px 0;
      position: relative; }
      #entry .recruit_select_wrp:before {
        position: absolute;
        content: "";
        border-top: 16px solid #f0f0f0;
        border-right: 16px solid transparent;
        border-bottom: 16px solid transparent;
        border-left: 16px solid transparent;
        left: 50%;
        transform: translateX(-50%);
        bottom: -32px; }
      #entry .recruit_select_wrp .recruit_select_inner {
        display: flex;
        justify-content: center;
        padding: 0 30px; }
        #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box {
          display: flex;
          align-items: center;
          margin-right: 50px; } }
        @media print and (max-width: 1280px), screen and (min-width: 768px) and (max-width: 1280px) {
          #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box {
            margin-right: 1em; } }
@media print, screen and (min-width: 768px) {
          #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box:last-child {
            margin-right: 0; }
          #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box p {
            font-size: 18px;
            font-weight: 600;
            margin-right: 15px;
            white-space: nowrap; }
          #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box select {
            background-color: #fff;
            border: 1px solid #e0e0e0;
            padding: 8px 30px 8px 20px;
            font-size: 16px; }
    #entry .recruit_contents_list {
      margin-top: 70px; }
      #entry .recruit_contents_list li {
        position: relative;
        margin-bottom: 80px; }
        #entry .recruit_contents_list li:last-child {
          margin-bottom: 0; }
        #entry .recruit_contents_list li h3 {
          width: 100%;
          background-color: #f0f0f0;
          padding: 12px 20px; }
        #entry .recruit_contents_list li .recruit_contents_list_txtbox {
          display: flex;
          align-items: stretch;
          min-height: 58px;
          border: 1px solid #e0e0e0;
          box-sizing: border-box; }
          #entry .recruit_contents_list li .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt01 {
            background-color: #f7f7f7;
            width: 20%;
            padding: 12px 20px;
            font-size: 16px;
            font-weight: 600;
            min-height: 58px;
            border-right: 1px solid #e0e0e0; }
          #entry .recruit_contents_list li .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 {
            width: 80%;
            background-color: #fff;
            height: 100%;
            font-size: 14px;
            min-height: 58px;
            line-height: 2;
            letter-spacing: 0.84px;
            padding: 16px 30px; }
        #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 {
          padding: 0;
          display: flex;
          justify-content: space-between;
          align-items: stretch; }
          #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 .txt_inner {
            width: calc(100% - 60px);
            padding-top: 16px;
            padding-bottom: 16px;
            padding-right: 30px;
            padding-left: 30px; }
          #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 .recruit_contents_list_btn {
            width: 60px;
            margin-right: -1px;
            align-self: flex-end; }
            #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 .recruit_contents_list_btn .btn_anchor::before {
              content: "";
              display: block;
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0; }
            #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 .recruit_contents_list_btn .btn_anchor:hover .icon01 span {
              cursor: pointer;
              background-position: -100% 0;
              color: #fff; }
            #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 .recruit_contents_list_btn .btn_anchor:hover .icon01 svg:not(.hover) {
              display: none; }
            #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 .recruit_contents_list_btn .btn_anchor:hover .icon01 svg.hover {
              display: block; }
    #entry .recruit_contact {
      background-color: #f0f0f0;
      padding: 60px;
      text-align: center; }
      #entry .recruit_contact .recruit_contact_txt01 {
        font-size: 24px;
        font-weight: 600;
        letter-spacing: 2.16px;
        line-height: 1; }
      #entry .recruit_contact .recruit_contact_txt02 {
        font-size: 45px;
        font-weight: 600;
        letter-spacing: 3.6px;
        line-height: 1;
        margin: 20px 0 20px; }
        #entry .recruit_contact .recruit_contact_txt02 a:hover {
          text-decoration: underline; }
      #entry .recruit_contact .recruit_contact_txt03 {
        font-size: 14px;
        letter-spacing: 0.84px;
        line-height: 1; }
    #entry #area_btn {
      margin-top: 80px; }
      #entry #area_btn .fixed {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.7);
        padding-top: 2%;
        padding-right: 2em;
        padding-left: 2em; }
      #entry #area_btn .area_btn_shadow {
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s, visibility 0.2s; }
        #entry #area_btn .area_btn_shadow.show {
          opacity: 1;
          visibility: visible; }
        #entry #area_btn .area_btn_shadow .area_btn_items {
          display: flex;
          width: 100%;
          align-items: center;
          max-width: 860px;
          margin-right: auto;
          margin-left: auto;
          /* ボタン共通スタイル ここから */
          /* ボタン共通スタイル ここから */
          /* ボタン数1つの時 ここから */
          /* ボタン数1つの時 ここまで */
          /* ボタン数2つの時 ここから */
          /* ボタン数2つの時 ここまで */
          /* ボタン数3つの時 ここから */
          /* ボタン数3つの時 ここまで */ }
          #entry #area_btn .area_btn_shadow .area_btn_items .area_btn_item {
            background-color: #fff; }
            #entry #area_btn .area_btn_shadow .area_btn_items .area_btn_item a {
              display: block;
              text-align: center;
              padding: 22px 0;
              position: relative;
              transition: all 0.2s;
              background-color: #ccc; }
              #entry #area_btn .area_btn_shadow .area_btn_items .area_btn_item a:hover {
                opacity: 0.7; }
              #entry #area_btn .area_btn_shadow .area_btn_items .area_btn_item a .area_btn_str {
                font-size: 24px;
                color: #fff; }
              #entry #area_btn .area_btn_shadow .area_btn_items .area_btn_item a svg {
                position: absolute;
                top: 0;
                right: 8%;
                bottom: 0;
                margin-top: auto;
                margin-bottom: auto;
                width: 15px; }
          #entry #area_btn .area_btn_shadow .area_btn_items.items_num1 {
            justify-content: center; }
            #entry #area_btn .area_btn_shadow .area_btn_items.items_num1 .area_btn_item {
              width: 55.815%; }
          #entry #area_btn .area_btn_shadow .area_btn_items.items_num2 {
            justify-content: space-around; }
            #entry #area_btn .area_btn_shadow .area_btn_items.items_num2 .area_btn_item {
              width: 38.3723%; }
          #entry #area_btn .area_btn_shadow .area_btn_items.items_num3 {
            justify-content: space-between; }
            #entry #area_btn .area_btn_shadow .area_btn_items.items_num3 .area_btn_item {
              width: 30.234%; }
    #entry .htxt09 {
      margin-bottom: 30px; }
    #entry .table01_02 {
      margin-top: 30px; }
    #entry .no_posts {
      text-align: center;
      font-size: 20px;
      padding-top: 40px; }

  #faq {
    /* 目次 ここから */
    /* 目次 ここまで */
    /* リスト ここから */
    /* リスト ここまで */ }
    #faq .faq_sumally {
      padding: 80px 80px 30px; }
      #faq .faq_sumally .contens_inner {
        max-width: 1200px;
        margin: 0 auto; }
        #faq .faq_sumally .contens_inner .sumally_inner ul {
          display: flex;
          justify-content: center;
          flex-wrap: wrap; }
          #faq .faq_sumally .contens_inner .sumally_inner ul li {
            margin-bottom: 1.5em; }
            #faq .faq_sumally .contens_inner .sumally_inner ul li:not(:last-child) {
              margin-right: 3em; }
            #faq .faq_sumally .contens_inner .sumally_inner ul li a {
              display: inline-block;
              padding-right: 1.3em;
              position: relative;
              font-size: 18px; }
              #faq .faq_sumally .contens_inner .sumally_inner ul li a svg {
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                margin-top: auto;
                margin-bottom: auto;
                width: 0;
                height: 0;
                display: inline-block;
                width: 18px;
                height: 25px; }
    #faq .qa_list_wrp .qa_list {
      margin-top: 60px;
      margin-bottom: 140px; }
      #faq .qa_list_wrp .qa_list:last-child {
        margin-bottom: 0; }
      #faq .qa_list_wrp .qa_list li {
        position: relative;
        margin-bottom: 70px;
        /* クエスチョン ここから */
        /* クエスチョン ここまで */
        /* アンサー ここから */
        /* アンサー ここまで */ }
        #faq .qa_list_wrp .qa_list li .qa_list_icon_wrp {
          position: absolute;
          right: 0;
          top: 0; }
        #faq .qa_list_wrp .qa_list li .question {
          min-height: 60px;
          background-color: #f0f0f0;
          font-size: 24px;
          letter-spacing: 2.16px;
          line-height: 1.48;
          padding: 11px 0;
          padding-left: 110px;
          position: relative; }
          #faq .qa_list_wrp .qa_list li .question span {
            display: block;
            padding-right: 80px; }
          #faq .qa_list_wrp .qa_list li .question:before {
            content: "Q";
            font-size: 40px;
            line-height: 1;
            font-weight: 600;
            position: absolute;
            left: 30px;
            top: 7px; }
          #faq .qa_list_wrp .qa_list li .question:after {
            content: "";
            width: 1px;
            height: 60%;
            position: absolute;
            background-color: #000;
            left: 86px;
            top: 50%;
            transform: translateY(-50%); }
        #faq .qa_list_wrp .qa_list li .answer {
          padding-left: 110px;
          position: relative;
          margin-top: 30px; }
          #faq .qa_list_wrp .qa_list li .answer:before {
            position: absolute;
            content: "A";
            color: #fff;
            border-radius: 50%;
            width: 70px;
            height: 70px;
            background-color: #6a6a6a;
            font-size: 40px;
            text-align: center;
            font-weight: 600;
            line-height: 66px;
            text-indent: 3px;
            left: 10px;
            top: 0; }
          #faq .qa_list_wrp .qa_list li .answer p {
            font-size: 14px;
            line-height: 2;
            letter-spacing: 0.84px;
            padding-top: 10px;
            padding-right: 90px; }
          #faq .qa_list_wrp .qa_list li .answer a {
            text-decoration: underline; }
    
    

  #data {
    /* データで見る レイアウト01 ここから */
    /* データで見る レイアウト01 ここまで */
    /* データで見る レイアウト02 ここから */
    /* データで見る レイアウト02 ここまで */ }
    #data .data_contents_layout01 ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #data .data_contents_layout01 ul li {
        box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.05);
        width: 48%;
        position: relative;
        padding: 100px 0 35px;
        margin-bottom: 40px;
        background-color: #fff; } }
      @media print and (max-width: 1000px), screen and (min-width: 768px) and (max-width: 1000px) {
        #data .data_contents_layout01 ul li {
          width: 100%; } }
@media print, screen and (min-width: 768px) {
        #data .data_contents_layout01 ul li h2 {
          position: absolute;
          left: 10px;
          top: 10px;
          max-width: calc(100% - 20px); }
        #data .data_contents_layout01 ul li .data_contents_layout01_box01 {
          display: flex;
          justify-content: center;
          align-items: center;
          margin-top: auto;
          flex-wrap: wrap; }
          #data .data_contents_layout01 ul li .data_contents_layout01_box01 .data_contents_layout01_box01_box01 {
            width: 160px;
            margin-right: 40px; }
          #data .data_contents_layout01 ul li .data_contents_layout01_box01 .data_contents_layout01_box01_box02 p {
            font-family: "Oswald", sans-serif;
            font-weight: 400;
            font-size: 110px;
            line-height: 1; }
            #data .data_contents_layout01 ul li .data_contents_layout01_box01 .data_contents_layout01_box01_box02 p span {
              font-family: "Noto Sans JP", sans-serif;
              font-size: 40px;
              font-weight: 900; }
        #data .data_contents_layout01 ul li .data_contents_layout01_box02 {
          padding: 0 50px;
          width: 100%; }
        #data .data_contents_layout01 ul li .data_contents_layout01_txt01 {
          line-height: 2;
          letter-spacing: 0.84px;
          padding: 0 50px;
          margin-top: auto;
          padding-top: 35px;
          width: 100%; }
    #data .data_contents_layout02 ul {
      display: flex;
      flex-wrap: wrap;
      margin-right: -40px;
      justify-content: center; }
      #data .data_contents_layout02 ul li {
        box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.05);
        position: relative;
        max-width: 270px;
        width: 100%;
        margin-right: 40px;
        padding: 80px 0 50px;
        margin-bottom: 40px;
        background-color: #fff; }
        #data .data_contents_layout02 ul li h2 {
          position: absolute;
          left: 10px;
          top: 10px;
          max-width: calc(100% - 20px); }
        #data .data_contents_layout02 ul li p {
          font-family: "Oswald", sans-serif;
          font-weight: 500;
          font-size: 80px;
          line-height: 1;
          text-align: center; }
          #data .data_contents_layout02 ul li p span {
            padding-left: 5px;
            font-family: "Noto Sans JP", sans-serif;
            font-size: 40px;
            font-weight: 900; }

  /* 固定ページ用レイアウト */
  .fixed_contents {
    /* NEWS用レイアウト ここから */
    /* NEWS用レイアウト ここまで */
    /* 仕事紹介用レイアウト ここから */
    /* 仕事紹介用レイアウト ここまで */ }
    .fixed_contents .date_txt01 {
      font-size: 13px;
      font-weight: 600; }
    .fixed_contents h2 {
      font-size: 32px;
      font-weight: 600;
      letter-spacing: 2.16px;
      line-height: 1.48;
      border-bottom: 1px solid #000;
      padding-bottom: 15px; }
    .fixed_contents h3 {
      font-size: 24px;
      letter-spacing: 2.16px;
      line-height: 1.48;
      font-weight: 600;
      background-color: #f0f0f0;
      padding: 8px 20px 12px;
      margin-top: 80px;
      margin-bottom: 30px; }
    .fixed_contents h4 {
      font-size: 32px;
      line-height: 1;
      display: inline-block;
      padding: 10px 20px 13px;
      background-color: #000;
      color: #fff;
      font-weight: 500; }
    .fixed_contents .colmun_layout01 {
      display: flex;
      justify-content: space-between; }
      .fixed_contents .colmun_layout01 .colmun_layout01_box {
        width: 48%; }
    .fixed_contents .img_box01 {
      margin-bottom: 15px; }
      .fixed_contents .img_box01 img {
        vertical-align: bottom; }
      .fixed_contents .img_box01 p {
        font-size: 12px;
        margin-top: 2px; }
    .fixed_contents .anchor_wrp {
      padding: 80px 0; }
      .fixed_contents .anchor_wrp ul {
        display: flex;
        justify-content: center; }
        .fixed_contents .anchor_wrp ul li {
          margin: 0 25px; }
          .fixed_contents .anchor_wrp ul li a {
            font-size: 18px;
            font-weight: 600;
            position: relative;
            display: inline-block;
            padding-right: 18px;
            border-bottom: 1px solid #fff; }
            .fixed_contents .anchor_wrp ul li a:before {
              position: absolute;
              top: 11px;
              right: 0;
              width: 0;
              height: 0;
              padding: 0;
              content: '';
              border-left: 4.5px solid transparent;
              border-right: 4.5px solid transparent;
              border-top: 7px solid #707070;
              pointer-events: none; }
            .fixed_contents .anchor_wrp ul li a:hover {
              border-bottom: 1px solid #000; }
    .fixed_contents .news_layout01 {
      display: flex;
      flex-wrap: wrap;
      margin: 0 -30px;
      margin-bottom: -60px; } }
    @media print and (max-width: 875px), screen and (min-width: 768px) and (max-width: 875px) {
      .fixed_contents .news_layout01 {
        justify-content: space-between;
        margin: 0;
        margin-bottom: -30px; } }
@media print, screen and (min-width: 768px) {
      .fixed_contents .news_layout01 .news_layout01_list {
        margin: 0 30px;
        max-width: 360px;
        width: 100%;
        background-color: #fff;
        margin-bottom: 60px; } }
      @media print and (max-width: 875px), screen and (min-width: 768px) and (max-width: 875px) {
        .fixed_contents .news_layout01 .news_layout01_list {
          max-width: 100%;
          width: 48%;
          margin: 0;
          margin-bottom: 30px; } }
@media print, screen and (min-width: 768px) {
        .fixed_contents .news_layout01 .news_layout01_list a {
          display: flex;
          flex-direction: column;
          transition: opacity 0.5s;
          height: 100%; }
          .fixed_contents .news_layout01 .news_layout01_list a:hover {
            opacity: 0.6; }
            .fixed_contents .news_layout01 .news_layout01_list a:hover .icon01:before {
              background-image: url("/lib/img/plus_black.svg"); }
            .fixed_contents .news_layout01 .news_layout01_list a:hover .icon01 span {
              cursor: pointer;
              background-position: -100% 0;
              color: #fff; }
          .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box01 {
            position: relative;
            border-bottom: 1px solid #ebebeb; }
            .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box01 img {
              object-fit: cover;
              vertical-align: bottom; }
            .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box01 .news_layout01_box01_icon01_wrp {
              position: absolute;
              right: 0;
              bottom: 0; }
          .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box02 {
            padding: 30px;
            padding-bottom: 0; }
            .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt01 {
              font-size: 13px;
              letter-spacing: 0.84px;
              font-weight: 600;
              margin-bottom: 5px; }
            .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt02 {
              font-weight: 500;
              font-size: 16px;
              letter-spacing: 0.96px;
              line-height: 1.48;
              position: relative;
              padding-left: 0.8em;
              margin-bottom: 40px; }
              .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt02:before {
                position: absolute;
                content: "";
                left: 0;
                top: 50%;
                transform: translateY(-50%);
                background-color: #707070;
                width: 4px;
                height: 80%; }
          .fixed_contents .news_layout01 .news_layout01_list a .tag_list_wrp {
            margin-top: auto;
            padding: 0 30px 30px; }
    .fixed_contents .tag_list {
      margin-right: -5px; }
      .fixed_contents .tag_list li {
        line-height: 1;
        display: inline-block;
        border: 1px solid #dedede;
        background-color: #f0f0f0;
        border-radius: 24px;
        font-size: 12px;
        font-weight: 600;
        padding: 4px 8px 5px;
        margin-right: 5px; }
    .fixed_contents .news_contents_tag_list_wrp {
      margin-top: 13px; }
    .fixed_contents .main_art {
      margin-top: 30px; }
    .fixed_contents .fixed_layout {
      width: 100%; }
      .fixed_contents .fixed_layout .fixed_layout_visual {
        width: 100%;
        height: 420px;
        background-image: url("/lib/img/jobs/jobs_visual01.png");
        background-position: center;
        background-size: cover; }
      .fixed_contents .fixed_layout .fixed_layout_contents {
        max-width: 800px;
        width: 100%;
        margin: 0 auto;
        padding: 60px 80px 100px;
        text-align: left;
        background-color: #fff;
        margin-top: -145px; }
        .fixed_contents .fixed_layout .fixed_layout_contents p {
          text-align: left;
          margin-top: 30px;
          margin-bottom: 80px; }
        .fixed_contents .fixed_layout .fixed_layout_contents h4 {
          margin-bottom: 80px; }
        .fixed_contents .fixed_layout .fixed_layout_contents h5 {
          text-align: left;
          position: relative;
          padding-left: 0.8em;
          font-weight: 500;
          font-size: 24px;
          line-height: 1.48;
          letter-spacing: 1.44px; }
          .fixed_contents .fixed_layout .fixed_layout_contents h5:before {
            position: absolute;
            content: "";
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            background-color: #707070;
            width: 4px;
            height: 83%; }
        .fixed_contents .fixed_layout .fixed_layout_contents .fixed_layout_contents_img01 {
          margin-top: 20px; }
        .fixed_contents .fixed_layout .fixed_layout_contents .colmun_layout01 {
          margin-top: 20px; }
        .fixed_contents .fixed_layout .fixed_layout_contents p + .fixed_layout_contents_img01 {
          margin-top: -50px; }
        .fixed_contents .fixed_layout .fixed_layout_contents p + .colmun_layout01 {
          margin-top: -50px; }
    .fixed_contents .fixed_layout02 h5 {
      display: inline;
      padding-left: 0 !important;
      background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #d6d6d6 0%) repeat scroll 0 0; }
      .fixed_contents .fixed_layout02 h5:before {
        position: relative;
        width: 0 !important;
        height: 0 !important; }
    .fixed_contents .fixed_layout03 h5 {
      display: inline-block;
      padding-left: 0 !important; }
      .fixed_contents .fixed_layout03 h5:before {
        position: relative;
        width: 0 !important;
        height: 0 !important; }

  #jobs {
    /* 目次 ここから */
    /* 目次 ここまで */ }
    #jobs .jobs_sumally {
      padding: 80px 80px 30px; }
      #jobs .jobs_sumally .contens_inner {
        max-width: 1200px;
        margin: 0 auto; }
        #jobs .jobs_sumally .contens_inner .sumally_inner ul {
          display: flex;
          justify-content: center;
          flex-wrap: wrap; }
          #jobs .jobs_sumally .contens_inner .sumally_inner ul li {
            margin-bottom: 1.5em; }
            #jobs .jobs_sumally .contens_inner .sumally_inner ul li:not(:last-child) {
              margin-right: 3em; }
            #jobs .jobs_sumally .contens_inner .sumally_inner ul li a {
              display: inline-block;
              padding-right: 1.3em;
              position: relative;
              vertical-align: middle;
              font-size: 18px; }
              #jobs .jobs_sumally .contens_inner .sumally_inner ul li a svg {
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                margin-top: auto;
                margin-bottom: auto;
                width: 0;
                height: 0;
                display: inline-block;
                width: 18px;
                height: 25px; }
    #jobs .contens_wrp {
      padding: 80px 0 180px; }
      #jobs .contens_wrp .contens_inner {
        max-width: none; }
        #jobs .contens_wrp .contens_inner .entry_content {
          position: relative;
          padding-top: 280px; }
          #jobs .contens_wrp .contens_inner .entry_content::before {
            content: "";
            width: 100%;
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            margin-right: auto;
            margin-left: auto;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            padding: 420px 0 0; }
          #jobs .contens_wrp .contens_inner .entry_content:not(:last-child) .entry_content_inner {
            padding: 0 80px 135px; }
          #jobs .contens_wrp .contens_inner .entry_content .entry_content_inner {
            background-color: #fff;
            margin-right: auto;
            margin-left: auto;
            position: relative;
            width: 800px;
            padding: 0 80px; }
            #jobs .contens_wrp .contens_inner .entry_content .entry_content_inner .entry_content_ttl {
              text-align: center;
              padding-top: 6%;
              margin-bottom: 4.5em; }
              #jobs .contens_wrp .contens_inner .entry_content .entry_content_inner .entry_content_ttl > .ttl_inner {
                display: inline-block;
                color: #fff;
                background-color: #000;
                padding: 0.5em;
                font-size: 26px; }

  #news {
    /* NEWS用レイアウト ここから */ }
    #news .date_txt01 {
      font-size: 13px;
      font-weight: 600; }
    #news h2 {
      font-size: 32px;
      font-weight: 600;
      letter-spacing: 2.16px;
      line-height: 1.48;
      border-bottom: 1px solid #EBEBEB;
      padding-bottom: 15px; }
    #news .news_layout01 {
      display: flex;
      flex-wrap: wrap;
      margin: 0 -30px;
      margin-bottom: -60px; } }
    @media print and (max-width: 875px), screen and (min-width: 768px) and (max-width: 875px) {
      #news .news_layout01 {
        justify-content: space-between;
        margin: 0;
        margin-bottom: -30px; } }
@media print, screen and (min-width: 768px) {
      #news .news_layout01 .news_layout01_list {
        margin: 0 30px;
        max-width: 360px;
        width: 100%;
        background-color: #fff;
        margin-bottom: 60px; } }
      @media print and (max-width: 875px), screen and (min-width: 768px) and (max-width: 875px) {
        #news .news_layout01 .news_layout01_list {
          max-width: 100%;
          width: 48%;
          margin: 0;
          margin-bottom: 30px; } }
@media print, screen and (min-width: 768px) {
        #news .news_layout01 .news_layout01_list a {
          display: flex;
          flex-direction: column;
          transition: opacity 0.5s;
          height: 100%; }
          #news .news_layout01 .news_layout01_list a:hover {
            opacity: 0.6; }
            #news .news_layout01 .news_layout01_list a:hover .icon01 svg:not(.hover) {
              display: none; }
            #news .news_layout01 .news_layout01_list a:hover .icon01 svg.hover {
              display: block; }
            #news .news_layout01 .news_layout01_list a:hover .icon01 span {
              cursor: pointer;
              background-position: -100% 0;
              color: #fff; }
          #news .news_layout01 .news_layout01_list a .news_layout01_box01 {
            border-bottom: 1px solid #ebebeb;
            padding: 27.5% 0;
            width: 100%;
            position: relative;
            overflow: hidden; }
            #news .news_layout01 .news_layout01_list a .news_layout01_box01 img {
              position: absolute;
              top: -100%;
              right: -100%;
              bottom: -100%;
              left: -100%;
              margin: auto;
              max-width: none;
              display: none; }
              #news .news_layout01 .news_layout01_list a .news_layout01_box01 img.img_hor {
                width: auto;
                height: 100%;
                display: block; }
              #news .news_layout01 .news_layout01_list a .news_layout01_box01 img.img_ver {
                width: 100%;
                height: auto;
                display: block; }
            #news .news_layout01 .news_layout01_list a .news_layout01_box01 .news_layout01_box01_icon01_wrp {
              position: absolute;
              right: 0;
              bottom: 0; }
          #news .news_layout01 .news_layout01_list a .news_layout01_box02 {
            padding: 30px;
            padding-bottom: 0; }
            #news .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt01 {
              font-size: 13px;
              letter-spacing: 0.84px;
              font-weight: 600;
              margin-bottom: 5px; }
            #news .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt02 {
              font-weight: 500;
              font-size: 16px;
              letter-spacing: 0.96px;
              line-height: 1.48;
              position: relative;
              padding-left: 0.8em;
              margin-bottom: 40px; }
              #news .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt02:before {
                position: absolute;
                content: "";
                left: 0;
                top: 50%;
                transform: translateY(-50%);
                background-color: #707070;
                width: 4px;
                height: 80%; }
          #news .news_layout01 .news_layout01_list a .tag_list_wrp {
            margin-top: auto;
            padding: 0 30px 30px; }
    #news #js_more_btn {
      text-align: center;
      margin-top: 3.5em; }
      #news #js_more_btn button {
        padding: 1em 3em;
        background-color: #000;
        color: #fff;
        font-size: 1.1em;
        transition: all 0.2s; }
        #news #js_more_btn button:hover {
          opacity: 0.7; }
    #news .tag_list {
      margin-right: -5px; }
      #news .tag_list li {
        line-height: 1;
        display: inline-block;
        border: 1px solid #dedede;
        background-color: #f0f0f0;
        border-radius: 24px;
        font-size: 12px;
        font-weight: 600;
        padding: 4px 8px 5px;
        margin-right: 5px; }
    #news .news_contents_tag_list_wrp {
      margin-top: 13px; }
    #news .main_art {
      margin-top: 30px; }

  .form_wrp #common_main_visual {
    height: auto;
    margin-top: 0; }
    .form_wrp #common_main_visual .common_main_visual_inner {
      top: 0;
      transform: none; }
  .form_wrp .entry_form_wrp .contens_wrp {
    padding: 80px 0; }
  .form_wrp .entry_form_wrp .recruit_contents_list_wrp {
    padding-bottom: 0 !important;
    position: relative; }
    .form_wrp .entry_form_wrp .recruit_contents_list_wrp:before {
      position: absolute;
      width: 0;
      height: 0;
      border-left: 16px solid transparent;
      border-right: 16px solid transparent;
      border-top: 15px solid #e0e0e0;
      content: "";
      left: 50%;
      transform: translateX(-50%);
      bottom: -69px; }
  .form_wrp .entry_form_wrp .recruit_contents_list {
    margin-top: 30px !important; }
  .form_wrp .entry_form_wrp .entry_form {
    display: table;
    margin-top: 45px;
    position: relative;
    width: 100%;
    font-size: 16px; }
    .form_wrp .entry_form_wrp .entry_form .row {
      display: table-row; }
      .form_wrp .entry_form_wrp .entry_form .row:last-child .col {
        border-bottom: none !important; }
    .form_wrp .entry_form_wrp .entry_form .col {
      display: table-cell;
      padding: 15px 0;
      padding-left: 20px;
      border-bottom: 1px dotted #bfbfbf; }
      .form_wrp .entry_form_wrp .entry_form .col:first-child {
        font-weight: 600;
        vertical-align: top;
        padding-top: 24px;
        width: 180px; }
        .form_wrp .entry_form_wrp .entry_form .col:first-child .require {
          position: relative;
          padding-left: 35px;
          display: block; }
          .form_wrp .entry_form_wrp .entry_form .col:first-child .require:before {
            position: absolute;
            content: "必須";
            font-size: 12px;
            color: #fff;
            line-height: 1;
            background-color: #e35656;
            padding: 2px 3px 3px;
            left: 0;
            top: 4px;
            white-space: nowrap; }
      .form_wrp .entry_form_wrp .entry_form .col:last-child {
        width: calc(100% - 180px); }
      .form_wrp .entry_form_wrp .entry_form .col input {
        height: 45px;
        border-radius: 3px;
        border: solid 1px #e0e0e0;
        padding: 5px 11.5px;
        box-sizing: border-box;
        font-size: 16px;
        width: 310px; }
      .form_wrp .entry_form_wrp .entry_form .col select {
        height: 45px;
        border-radius: 3px;
        border: solid 1px #e0e0e0;
        padding: 5px 40px 5px 10px;
        box-sizing: border-box;
        background-color: #fff;
        -webkit-appearance: none;
        background-image: url(../img/arrow_down.svg);
        background-position: right 15px center;
        background-size: 13px 8px;
        background-repeat: no-repeat;
        font-size: 16px; }
        .form_wrp .entry_form_wrp .entry_form .col select.is_block {
          min-width: 285px;
          display: block; }
      .form_wrp .entry_form_wrp .entry_form .col textarea {
        width: 100%;
        border-radius: 3px;
        border: solid 1px #e0e0e0;
        padding: 5px 10px;
        box-sizing: border-box;
        font-size: 16px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) > p {
      display: flex;
      align-items: center;
      flex-wrap: wrap; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) .birth_span {
      padding: 0 15px 0 10px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) .timing-year input {
      width: 100px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) .timing-month input {
      width: 90px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-year"] input {
      width: 100px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-year"] .wpcf7-not-valid-tip {
      display: none; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-month"] input {
      width: 90px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-month"] .wpcf7-not-valid-tip {
      display: none; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-date"] input {
      width: 90px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-date"] .wpcf7-not-valid-tip {
      display: none; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="timing-year"] input {
      width: 100px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="timing-year"] .wpcf7-not-valid-tip {
      display: none; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) input[name="timing-month"] {
      width: 100px; }
    .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="timing-month"] .wpcf7-not-valid-tip {
      display: none; }
    .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div {
      margin-bottom: 15px; }
      .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div > p {
        display: flex;
        align-items: center; }
      .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div span[data-name="your-postal-code"].wpcf7-form-control-wrap {
        display: inline-block;
        margin: 0 10px 0 5px; }
        .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div span[data-name="your-postal-code"].wpcf7-form-control-wrap input {
          width: 140px; }
      .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div .address_search {
        font-size: 14px;
        color: #fff;
        line-height: 1;
        padding: 8px 20px 6px;
        background-color: #000;
        cursor: pointer; }
        .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div .address_search:hover {
          opacity: 0.6; }
    .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div {
      display: flex;
      align-items: center;
      flex-wrap: wrap; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(1) {
        margin-bottom: 15px; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(1) span:first-child {
          width: 60px; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(2) {
        margin-bottom: 15px; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(2) span:first-child {
          width: 60px; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:first-child {
        display: inline-block; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:first-child input {
          width: 120px; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:first-child .wpcf7-not-valid-tip {
          display: none; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:nth-child(2) {
        padding: 0 15px; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:nth-child(4) {
        margin-left: 10px; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:nth-child(4) select {
          width: 130px; }
    .form_wrp .entry_form_wrp .entry_form .file .col > div {
      margin-top: 8px; }
    .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) input {
      border: none; }
    .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) input[type="file"] {
      display: none;
      opacity: 0;
      visibility: hidden;
      height: 0;
      padding: 0; }
    .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) label {
      height: 30px;
      width: 144px;
      color: #ffffff;
      background-color: #000;
      cursor: pointer;
      display: inline-block;
      position: relative;
      white-space: nowrap; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) label:before {
        content: "ファイルを選択";
        color: #fff;
        position: absolute;
        left: 50%;
        top: 48%;
        transform: translateY(-50%) translateX(-50%);
        font-size: 13px; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) label .wpcf7-not-valid-tip {
        margin-top: 9px; }
    .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) p {
      display: inline-block;
      vertical-align: top; }
    .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) ul {
      padding-top: 10px; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) ul li {
        font-size: 12px;
        margin-bottom: 4px; }
        .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) ul li:last-child {
          margin-bottom: 0; }
    .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) .wpcf7-form-control-wrap + br {
      display: none; }
  .form_wrp .entry_form_wrp .privacy_box {
    width: 100%;
    background-color: #f7f7f7;
    height: 244px;
    margin-top: 60px;
    padding: 20px 0; }
    .form_wrp .entry_form_wrp .privacy_box .privacy_box_inner {
      overflow-y: auto;
      height: 100%; }
    .form_wrp .entry_form_wrp .privacy_box .gutenberg_content {
      padding: 0 40px 20px; }
    .form_wrp .entry_form_wrp .privacy_box .privacy_ttl {
      padding: 20px 40px; }
  .form_wrp .entry_form_wrp .confirm_box {
    margin-top: 60px;
    text-align: center; }
    .form_wrp .entry_form_wrp .confirm_box p {
      text-align: center;
      font-size: 12px; }
    .form_wrp .entry_form_wrp .confirm_box .agree-privacy label span {
      font-size: 16px;
      font-weight: 600; }
    .form_wrp .entry_form_wrp .confirm_box .agree-privacy label input[type="checkbox"] {
      display: none; }
      .form_wrp .entry_form_wrp .confirm_box .agree-privacy label input[type="checkbox"]:checked {
        display: none; }
    .form_wrp .entry_form_wrp .confirm_box .agree-privacy label {
      box-sizing: border-box;
      cursor: pointer;
      display: inline-block;
      padding: 5px 30px;
      position: relative;
      width: auto; }
    .form_wrp .entry_form_wrp .confirm_box .agree-privacy .wpcf7-list-item-label::before {
      content: "";
      height: 18px;
      width: 18px;
      border-radius: 3px;
      border: solid 1px #e0e0e0;
      left: 5px;
      top: 4px; }
    .form_wrp .entry_form_wrp .confirm_box .agree-privacy .wpcf7-list-item-label::after {
      border-left: 3px solid #ed7a9c;
      border-bottom: 3px solid #ed7a9c;
      top: -2px;
      left: 9px; }
    .form_wrp .entry_form_wrp .confirm_box .agree-privacy .wpcf7-not-valid-tip {
      margin-right: auto;
      margin-left: auto; }
    .form_wrp .entry_form_wrp .confirm_box .submit_btn {
      display: inline-block;
      background-color: #000;
      border: 1px solid #000;
      width: 480px;
      text-align: center;
      color: #fff;
      font-size: 24px;
      letter-spacing: 2.16px;
      font-weight: 600;
      position: relative;
      transition: 0.5s;
      margin-top: 55px; }
      .form_wrp .entry_form_wrp .confirm_box .submit_btn p {
        display: -webkit-inline-box;
        width: 100%;
        margin-bottom: 0; }
      .form_wrp .entry_form_wrp .confirm_box .submit_btn input {
        border: none;
        margin: 0;
        width: 100%;
        height: 100%;
        display: block;
        background: none;
        background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
        background-position: 0 0;
        background-size: 200% auto;
        transition: all 0.3s ease 0s;
        text-decoration: none;
        padding: 25px;
        color: #fff;
        font-size: 24px;
        letter-spacing: 2.16px;
        font-weight: 600; }
      .form_wrp .entry_form_wrp .confirm_box .submit_btn svg {
        position: absolute;
        content: "";
        width: 16px;
        height: 15px;
        right: 15px;
        top: 50%;
        transform: translateY(-50%); }
        .form_wrp .entry_form_wrp .confirm_box .submit_btn svg.hover {
          display: none; }
      .form_wrp .entry_form_wrp .confirm_box .submit_btn:hover svg:not(.hover) {
        display: none; }
      .form_wrp .entry_form_wrp .confirm_box .submit_btn:hover svg.hover {
        display: block; }
      .form_wrp .entry_form_wrp .confirm_box .submit_btn:hover input {
        cursor: pointer;
        background-position: -100% 0;
        color: #000; }
      .form_wrp .entry_form_wrp .confirm_box .submit_btn .wpcf7-spinner {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -60px; }
    .form_wrp .entry_form_wrp .confirm_box .wpcf7-not-valid-tip {
      margin-right: auto;
      margin-left: auto; }
  .form_wrp .entry_form_wrp input[type="radio"] {
    appearance: none;
    display: none;
    opacity: 0;
    width: 1px;
    position: absolute;
    height: 1px; }
  .form_wrp .entry_form_wrp input[type="radio"] + span {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    padding: 10px 11px 8px 23px;
    border-radius: 4px;
    font-weight: 500;
    font-size: 14px; }
  .form_wrp .entry_form_wrp input[type="radio"] + span::before,
  .form_wrp .entry_form_wrp input[type="radio"] + span::after {
    position: absolute;
    content: "";
    display: block;
    border-radius: 50%;
    top: 2px;
    bottom: 0;
    margin: auto 10px auto 0;
    box-sizing: border-box; }
  .form_wrp .entry_form_wrp input[type="radio"] + span::before {
    width: 14px;
    height: 14px;
    background: #fff;
    border: 1px solid #e0e0e0;
    left: 0; }
  .form_wrp .entry_form_wrp input[type="radio"] + span::after {
    width: 8px;
    height: 8px;
    background: #999999;
    left: 3px;
    opacity: 0; }
  .form_wrp .entry_form_wrp input[type="radio"]:checked + span::before {
    border: 1px solid #e0e0e0; }
  .form_wrp .entry_form_wrp input[type="radio"]:checked + span::after {
    background: #000;
    opacity: 1; }
  .form_wrp .entry_form_wrp input[type="checkbox"] {
    appearance: none;
    display: none;
    opacity: 0;
    width: 1px;
    position: absolute;
    height: 1px; }
  .form_wrp .entry_form_wrp input[type="checkbox"] + span {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    padding: 10px 11px 8px 32px;
    border-radius: 4px;
    font-weight: 500;
    font-size: 14px; }
  .form_wrp .entry_form_wrp input[type="checkbox"] + span::before,
  .form_wrp .entry_form_wrp input[type="checkbox"] + span::after {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    margin: auto 10px auto 0;
    box-sizing: border-box; }
  .form_wrp .entry_form_wrp input[type="checkbox"] + span::before {
    width: 14px;
    height: 14px;
    background: #fff;
    border: 1px solid #e0e0e0;
    left: 0; }
  .form_wrp .entry_form_wrp input[type="checkbox"] + span::after {
    width: 12px;
    height: 8px;
    background-color: transparent;
    border-left: 3px solid #000;
    border-bottom: 3px solid #000;
    top: -5px;
    left: 3px;
    opacity: 0;
    transform: rotate(-45deg); }
  .form_wrp .entry_form_wrp input[type="checkbox"]:checked + span::before {
    border: 1px solid #e0e0e0; }
  .form_wrp .entry_form_wrp input[type="checkbox"]:checked + span::after {
    opacity: 1; }
  .form_wrp .entry_form_wrp .wpcf7-custom-item-error {
    width: 100%; }
  .form_wrp .entry_form_wrp .wpcf7-not-valid-tip {
    color: #cc0000;
    padding: 5px 10px;
    background: #f4e4e4;
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    margin-top: 0.5em;
    min-width: 310px; }
  .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control {
    display: block; }
    .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:first-child {
      margin-left: 0; }
    .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label {
      display: flex;
      align-items: center; }
    .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control.item_block .wpcf7-list-item, .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control.item_block_pc .wpcf7-list-item {
      display: block;
      margin-left: 0; }
  .form_wrp .entry_form_wrp .wpcf7-form-control.wpcf7-not-valid {
    display: block !important; }

  #block_404 .layout_container {
    width: 1005px;
    margin-right: auto;
    margin-left: auto; }
  #block_404 .page_404 {
    width: 800px;
    margin: 70px auto;
    padding: 50px;
    background-color: #eee; }
  #block_404 .page_404_txt2 {
    margin-bottom: 50px; }
  #block_404 .page_404_txt3 {
    margin-bottom: 15px; }
  #block_404 .txt1_page_404 {
    font-size: 48px;
    font-weight: bold;
    text-align: center; }
  #block_404 .txt2_page_404 {
    text-align: center; }
  #block_404 .txt3_page_404 {
    text-align: center; }
  #block_404 .link_page_404 {
    text-align: center; }
    #block_404 .link_page_404 a {
      display: inline-block;
      transition: all 0.2s; }
      #block_404 .link_page_404 a:after {
        content: "";
        display: inline-block;
        margin-left: 6px;
        transition: all 0.2s; }
      #block_404 .link_page_404 a:hover {
        color: #7F7F7F; } }
@media screen and (max-width: 767px) {
  body {
    position: relative;
    z-index: 2;
    overflow-x: hidden;
    padding-top: 56px;
    -webkit-text-size-adjust: 100%; }

  .pc {
    display: none !important; }

  a {
    vertical-align: bottom; }

  /* CSS Document */
  /* ページトップボタン ここから */
  #page_top {
    display: none !important; }

  /* ページトップボタン ここまで */
  /* 基本のフォントサイズ等 ここから */
  p {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.84px; }

  a {
    text-decoration: none;
    color: #000; }

  /* 基本のフォントサイズ ここまで */
  /* 基本のコンテンツ部分 ここから */
  .overlay {
    padding-top: 0 !important; }
    .overlay header {
      background-color: rgba(255, 255, 255, 0.4); }

  .contens_wrp .contens_inner {
    max-width: 1200px;
    margin: 0 auto; }

  /* 基本のコンテンツ部分 ここまで */
  /* 下層ページ共通で使うメインビジュアル01（固定ページ等） ここから */
  #common_main_visual {
    background-image: url("/lib/img/recruit/main_visual.png");
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 160px;
    position: relative; }
    #common_main_visual .common_main_visual_inner {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 20px;
      padding: 3px 15px 6px; }

  /* 下層ページ共通で使うメインビジュアル01（固定ページ等） ここまで */
  /* ボタン ここから */
  .btn01 {
    display: inline-block;
    line-height: 1;
    padding: 20px 50px;
    font-size: 13px;
    color: #fff;
    border: 1px solid #fff;
    transition: opacity 0.5s;
    letter-spacing: 0.78px; }

  .btn02 {
    display: inline-block;
    background-color: #000;
    border: 1px solid #000;
    width: 100%;
    text-align: center;
    padding: 15px;
    color: #fff;
    font-size: 20px;
    letter-spacing: 2.16px;
    font-weight: 600;
    position: relative;
    transition: 0.5s; }
    .btn02 svg {
      position: absolute;
      content: "";
      width: 16px;
      height: 15px;
      right: 15px;
      top: 50%;
      transform: translateY(-50%); }

  .icon01 {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
    background-color: #000;
    border: 1px solid #000;
    vertical-align: bottom; }
    .icon01 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all .3s ease 0s;
      text-decoration: none; }
    .icon01 svg {
      position: absolute;
      content: "";
      width: 16px;
      height: 15px;
      left: 50%;
      top: 50%;
      transform: translateY(-50%) translateX(-50%); }
      .icon01 svg.hover {
        display: none; }

  .icon02 {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
    background-color: #000;
    border: 1px solid #000; }
    .icon02 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all .3s ease 0s;
      text-decoration: none; }
    .icon02 svg {
      position: absolute;
      content: "";
      width: 16px;
      height: 15px;
      left: 50%;
      top: 50%;
      transform: translateY(-50%) translateX(-50%); }
      .icon02 svg.hover {
        display: none; }

  .icon03 {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
    background-color: #000;
    border: 1px solid #000; }
    .icon03 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all .3s ease 0s;
      text-decoration: none; }
    .icon03 svg {
      position: absolute;
      content: "";
      width: 16px;
      height: 15px;
      left: 50%;
      top: 50%;
      transform: translateY(-50%) translateX(-50%); }
      .icon03 svg.hover {
        display: none; }

  .icon04 {
    display: inline-block;
    width: 50px;
    height: 50px;
    position: relative;
    background-color: #000;
    border: 1px solid #000; }
    .icon04 span {
      width: 100%;
      height: 100%;
      display: block;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
      background-position: 0 0;
      background-size: 200% auto;
      transition: all .3s ease 0s;
      text-decoration: none; }
    .icon04:before {
      display: block;
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 15px;
      height: 2px;
      background-color: #fff;
      transition: .2s;
      transform: rotate(90deg);
      -webkit-transform: rotate(90deg); }
    .icon04:after {
      display: block;
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 15px;
      height: 2px;
      background-color: #fff;
      transition: .3s; }

  .icon04.on span {
    cursor: pointer;
    background-position: -100% 0;
    color: #fff; }
  .icon04.on:before {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    background-color: #000; }
  .icon04.on:after {
    background-color: transparent;
    background-color: #000; }

  /* ボタン ここまで */
  /* 見出し ここから */
  .htxt01 {
    font-size: 40px;
    line-height: 1.48;
    font-weight: 400;
    color: #fff; }

  .htxt02 {
    font-size: 24px;
    color: #fff;
    letter-spacing: 1.44px; }

  .htxt03 {
    font-size: 24px;
    color: #000;
    line-height: 0.67;
    letter-spacing: 1.44px; }

  .htxt04 {
    font-size: 24px;
    letter-spacing: 1.44px;
    color: #000;
    font-weight: 600; }

  .htxt05 {
    font-size: 26px;
    letter-spacing: 1.44px;
    line-height: 1.48;
    color: #000;
    font-weight: 400; }

  .htxt06 {
    font-size: 26px;
    letter-spacing: 1.44px;
    line-height: 1.48;
    color: #000;
    font-weight: 600; }

  .htxt07 {
    font-size: 24px;
    letter-spacing: 1.44px;
    line-height: 1.48;
    color: #000;
    font-weight: 600;
    text-align: center;
    position: relative;
    padding-bottom: 15px; }
    .htxt07:before {
      content: "";
      position: absolute;
      background-color: #707070;
      width: 40px;
      height: 2px;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); }

  .htxt08 {
    font-size: 26px;
    line-height: 1.48;
    font-weight: 400;
    color: #fff; }

  .htxt09 {
    font-size: 20px;
    letter-spacing: 2.16px;
    line-height: 1;
    background-color: #f0f0f0;
    padding: 15px 20px; }

  .htxt10 {
    letter-spacing: 1.44px;
    color: #fff;
    line-height: 1.48;
    background-color: #000;
    font-weight: 400;
    display: inline-block;
    padding: 3px 15px; }

  /* 見出し ここまで */
  /* リスト ここから */
  .date_list li {
    margin-bottom: 20px; }
    .date_list li:last-child {
      margin-bottom: 0; }
    .date_list li p {
      line-height: 1;
      font-size: 16px;
      color: #a8a8a8;
      letter-spacing: 0.96px;
      font-weight: 500;
      margin-bottom: 3px; }
    .date_list li a {
      line-height: 1;
      font-size: 14px;
      color: #222222; }
      .date_list li a:hover {
        text-decoration: underline; }

  .contents_list li {
    margin-bottom: 60px; }
  .contents_list .list01 .list01_link {
    display: flex; }
    .contents_list .list01 .list01_link.col_txt_img {
      flex-direction: column; }
    .contents_list .list01 .list01_link.col_img_txt {
      flex-direction: column-reverse; }
  .contents_list .contents_list_box01 {
    width: 100%;
    background-color: #e6e6e6;
    position: relative;
    padding: 30px;
    padding-bottom: 85px;
    display: flex;
    align-items: center;
    justify-content: center; }
    .contents_list .contents_list_box01 .contents_list_box01_txtbox .htxt04 {
      margin-bottom: 20px; }
    .contents_list .contents_list_box01 .contents_list_box01_icon_wrp {
      position: absolute;
      right: 0;
      bottom: 0; }
  .contents_list .contents_list_box02 {
    width: 100%;
    height: 300px;
    background-size: cover;
    background-position: center; }

  .top_interview_wrp {
    position: relative;
    margin: 0 -20px;
    margin-bottom: 80px; }
    .top_interview_wrp .top_interview_box01 {
      background-color: #e6e6e6;
      padding: 60px 50px 40px;
      width: 100%;
      height: 100%; }
      .top_interview_wrp .top_interview_box01 .top_interview_box01_txtbox .htxt04 {
        margin-bottom: 20px; }

  .top_interview_slide li {
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
    min-height: 500px;
    position: relative; }
    .top_interview_slide li a {
      min-height: 500px;
      display: block; }
    .top_interview_slide li .top_interview_slide_txtbox {
      position: absolute;
      left: 30px;
      bottom: 25px; }
      .top_interview_slide li .top_interview_slide_txtbox .top_interview_slide_txtbox_txt01 {
        font-size: 13px;
        letter-spacing: 0.78px;
        line-height: 1.48;
        color: #fff;
        font-weight: 500; }
      .top_interview_slide li .top_interview_slide_txtbox .top_interview_slide_txtbox_txt02 {
        font-size: 24px;
        line-height: 1.48;
        letter-spacing: 1.44px;
        font-weight: 600;
        color: #fff;
        margin: 15px 0 5px; }
      .top_interview_slide li .top_interview_slide_txtbox .top_interview_slide_txtbox_txt03 {
        font-size: 16px;
        line-height: 1.48;
        letter-spacing: 0.96px;
        color: #fff; }
  .top_interview_slide .prev_arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 99; }
  .top_interview_slide .next_arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 99; }

  .contents_list02 li {
    width: 100%;
    margin-bottom: 60px; }
    .contents_list02 li a {
      display: block;
      height: 100%; }
    .contents_list02 li:last-child {
      margin-bottom: 0; }
    .contents_list02 li .htxt04 {
      margin-top: 5px; }
    .contents_list02 li .contents_list02_box {
      position: relative;
      min-height: 320px;
      height: 100%;
      background-size: cover;
      background-position: center; }
      .contents_list02 li .contents_list02_box .contents_list02_box_icon_wrp {
        position: absolute;
        right: 0;
        bottom: 0; }

  /* リスト ここまで */
  /* レコメンド ここから */
  #recommend {
    padding: 80px 20px; }
    #recommend .htxt06 {
      text-align: center;
      margin-bottom: 40px; }

  /* レコメンド ここまで */
  /* テーブル01 2カラム 左に見出しパターン ここから */
  .table01 {
    border: 1px solid #e0e0e0;
    border-collapse: collapse;
    width: 100%; }
    .table01 tr, .table01 td {
      border: 1px solid #e0e0e0;
      text-align: left; }
    .table01 th {
      display: block;
      width: auto;
      padding: 20px;
      font-size: 14px;
      white-space: nowrap;
      width: 100%;
      background-color: #f7f7f7; }
    .table01 td {
      display: block;
      padding: 20px;
      font-size: 14px;
      width: 100%;
      border: none;
      border-top: 1px solid #e0e0e0; }
      .table01 td a {
        color: #0093ff; }
        .table01 td a:hover {
          text-decoration: underline; }

  /* テーブル01 2カラム 左に見出しパターン ここまで */
  /* input select等カスタマイズ　ここから */
  .select_01 {
    position: relative; }
    .select_01 select {
      -webkit-appearance: none;
      appearance: none; }
      .select_01 select:-ms-expand {
        display: none; }
    .select_01:before {
      position: absolute;
      top: 50%;
      right: 0.4em;
      transform: translateY(-50%);
      width: 0;
      height: 0;
      padding: 0;
      content: '';
      border-left: 4.5px solid transparent;
      border-right: 4.5px solid transparent;
      border-top: 7px solid #707070;
      pointer-events: none; }

  /* input select等カスタマイズ　ここまで */
  /* CSS Document */
  header {
    background-color: #fff;
    padding: 8px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 4999;
    /* ドロワーメニュー ここから */
    /* ドロワーメニュー ここまで */ }
    header .logo_wrp a {
      display: inline-block;
      transition: opacity 0.5s; }
      header .logo_wrp a:hover {
        opacity: 0.6; }
      header .logo_wrp a img {
        vertical-align: bottom;
        height: 44px;
        width: auto; }
    header .btn-trigger {
      position: relative;
      width: 40px;
      height: 22px;
      cursor: pointer; }
      header .btn-trigger:hover span {
        width: 100% !important; }
    header .btn-trigger span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #000; }
      header .btn-trigger span:nth-child(2) {
        width: 60%; }
      header .btn-trigger span:nth-child(3) {
        width: 70%; }
    header .btn-trigger,
    header .btn-trigger span {
      display: inline-block;
      transition: all 0.3s;
      box-sizing: border-box; }
    header .btn-trigger span:nth-of-type(1) {
      top: 0; }
    header .btn-trigger span:nth-of-type(2) {
      top: 10px; }
    header .btn-trigger span:nth-of-type(3) {
      bottom: 0; }

  /* メインメニュー ここから */
  #main_menu {
    width: 100%;
    background-color: #000;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9999999999999;
    padding: 60px 20px;
    transform: translateX(100%);
    transition: transform 0.5s;
    text-align: center;
    overflow-y: scroll; }
    #main_menu .close_btn {
      position: absolute;
      right: 20px;
      top: 20px; }
    #main_menu .main_menu_link_list {
      width: auto;
      margin: 0 auto;
      display: inline-block; }
      #main_menu .main_menu_link_list li {
        margin-bottom: 30px;
        display: block;
        text-align: left;
        position: relative; }
        #main_menu .main_menu_link_list li a {
          font-size: 18px;
          color: #fff;
          letter-spacing: 0.96px;
          transition: opacity 0.5s;
          font-weight: 600; }
          #main_menu .main_menu_link_list li a:hover {
            opacity: 0.6; }
        #main_menu .main_menu_link_list li > span {
          font-size: 18px;
          color: #fff;
          letter-spacing: 0.96px;
          transition: opacity 0.5s;
          font-weight: 600;
          display: inline-block;
          padding-right: 0.5em; }
        #main_menu .main_menu_link_list li .sub_menu_link_list li {
          margin-bottom: 10px; }
          #main_menu .main_menu_link_list li .sub_menu_link_list li:first-child {
            margin-top: 10px; }
          #main_menu .main_menu_link_list li .sub_menu_link_list li a {
            font-size: 0.8em; }
        #main_menu .main_menu_link_list li .sub_menu_link_list_toggle {
          display: inline-block;
          width: 15px;
          height: 15px; }
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle span {
            display: block;
            position: relative;
            width: 15px;
            height: 15px; }
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle span::before,
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle span::after {
            content: "";
            display: block;
            width: 15px;
            height: 3px;
            border-radius: 5px;
            background: #fff;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%); }
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle span::after {
            background: #fff;
            /* 横棒を縦にするために90℃回転させる */
            transform: translateY(-50%) rotate(90deg);
            /* プラスからマイナスへの切り替えをゆっくり行いアニメーションさせる */
            transition: 0.5s; }
          #main_menu .main_menu_link_list li .sub_menu_link_list_toggle .active::after {
            transform: translateY(-50%) rotate(0);
            transition: 0.5s; }
    #main_menu .main_menu_link_list02 {
      display: flex;
      justify-content: center;
      margin-top: 30px; }
      #main_menu .main_menu_link_list02 li {
        margin-bottom: 20px; }
        #main_menu .main_menu_link_list02 li:first-child {
          margin-right: 25px; }
        #main_menu .main_menu_link_list02 li a {
          font-size: 14px;
          color: #fff;
          letter-spacing: 0.96px;
          transition: opacity 0.5s;
          display: block;
          text-align: right;
          font-weight: 600; }
          #main_menu .main_menu_link_list02 li a:hover {
            opacity: 0.6; }
    #main_menu .main_menu_link_list03 {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #main_menu .main_menu_link_list03 li {
        width: 48%;
        flex-grow: 1;
        margin: 0 1% 2%; }
        #main_menu .main_menu_link_list03 li a {
          width: 100%;
          font-weight: 600;
          font-size: 18px;
          color: #fff;
          letter-spacing: 0.96px;
          display: inline-block;
          padding: 20px 10px;
          height: 100%;
          display: flex;
          align-items: center;
          justify-content: center; }
        #main_menu .main_menu_link_list03 li .entry_btn02_01 {
          background-color: #696969; }
        #main_menu .main_menu_link_list03 li .entry_btn02_02 {
          background-color: #525252; }

  .active_menu {
    transform: translateX(0) !important; }

  /* メインメニュー ここまで */
  /* CSS Document */
  footer #cookies_alert {
    position: fixed;
    bottom: 20px;
    left: 0;
    right: 0;
    padding: 0 10px;
    margin-right: auto;
    margin-left: auto;
    z-index: 99999999; }
    footer #cookies_alert .contens_inner {
      background-color: #fff;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
      padding: 1em;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-radius: .25rem; }
      footer #cookies_alert .contens_inner .inner_txt {
        width: calc(100% - 6em); }
        footer #cookies_alert .contens_inner .inner_txt p {
          line-height: 1.3;
          font-size: 0.8em; }
        footer #cookies_alert .contens_inner .inner_txt a {
          text-decoration: underline; }
      footer #cookies_alert .contens_inner .inner_remove #js_remove {
        background-color: #999595;
        border-radius: 5px;
        color: #fff;
        padding: 0.5em 1em;
        font-size: 0.8em; }
  footer .footer_copyright {
    text-align: center;
    background-color: #000;
    padding: 12px; }
    footer .footer_copyright p {
      font-size: 13px;
      color: #fff; }

  .content_with800px,
  .content_with1160px {
    background-color: #fff;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    padding: 0 0 25%; }

  .gutenberg_content {
    line-height: 1.8;
    font-size: 14px; }
    .gutenberg_content a {
      text-decoration: underline; }
    .gutenberg_content h2 {
      font-size: 26px;
      text-align: center;
      padding-bottom: 35px;
      position: relative;
      margin-bottom: 1.5em; }
      .gutenberg_content h2::after {
        content: "";
        display: block;
        width: 40px;
        height: 2px;
        position: absolute;
        right: -100%;
        bottom: 0;
        left: -100%;
        margin-right: auto;
        margin-left: auto;
        background-color: #707070; }
    .gutenberg_content p {
      margin-bottom: 1em;
      line-height: 1.8; }
    .gutenberg_content .wp-block-image {
      text-align: center;
      margin-bottom: 1em; }
      .gutenberg_content .wp-block-image img {
        height: auto; }
      .gutenberg_content .wp-block-image figcaption {
        margin-bottom: 2px; }
    .gutenberg_content .wp-block-getwid-table {
      margin-bottom: 1em;
      font-size: 14px;
    position: relative;
    overflow: auto;}
    
    .gutenberg_content .wp-block-getwid-table::after {
      content: "スクロールできます";
        display: block;
        padding: 10px 0px;
	}
    
      .gutenberg_content .wp-block-getwid-table table {
        border-collapse: collapse;
        width: 100%;
    }
        .gutenberg_content .wp-block-getwid-table table th,
        .gutenberg_content .wp-block-getwid-table table td {
          padding: 0.6em 0.4em;
          border: 1px solid #E0E0E0;
          word-break: break-all; }
      .gutenberg_content .wp-block-getwid-table:not(.has-table-layout-fixed) table th,
      .gutenberg_content .wp-block-getwid-table:not(.has-table-layout-fixed) table td {
        white-space: nowrap; }
    .gutenberg_content em {
      font-style: italic; }
    .gutenberg_content figcaption {
      font-size: 14px; }

  .wp-block-cover p {
    margin-bottom: 0; }

  #jobs .gutenberg_content h3 {
    font-weight: normal;
    margin-bottom: 24px;
    padding-left: 18px;
    font-size: 24px;
    position: relative; }
    #jobs .gutenberg_content h3::before {
      content: "";
      display: block;
      width: 4px;
      height: 100%;
      background-color: #707070;
      position: absolute;
      top: 0;
      left: 0; }

  #news .gutenberg_content h3 {
    font-weight: normal;
    background-color: #F0F0F0;
    margin-bottom: 24px;
    padding: 12px 18px;
    font-size: 24px; }

  #pager_post {
    padding-top: 50px; }
    #pager_post .pager_post_inner .pager_post_row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 580px;
      margin-right: auto;
      margin-left: auto;
      font-size: 14px; }
      #pager_post .pager_post_inner .pager_post_row .pager_post_col {
        /* 前・次の記事 共通 ここから */
        /* 前・次の記事 共通 ここまで */
        /* 前の記事 ここから */
        /* 前の記事 ここまで */
        /* 前の記事 ここから */
        /* 前の記事 ここまで */
        /* 一覧に戻る ここから */
        /* 一覧に戻る ここまで */ }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow {
          width: 100px; }
          #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow .pager_post_area {
            display: flex;
            align-items: center; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow .pager_post_area svg {
              width: 23px; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_arrow .pager_post_area .pager_post_str {
              display: block;
              width: 65px; }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_col_prev .pager_post_area svg {
          margin-right: 11px; }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_col_prev .pager_post_area .pager_post_str {
          text-align: left; }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_next .pager_post_area svg {
          transform: scale(-1, 1);
          margin-left: 11px; }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_next .pager_post_area .pager_post_str {
          text-align: right; }
        #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list {
          width: 80px; }
          #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list .pager_post_area {
            display: block;
            text-align: center; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list .pager_post_area svg {
              display: inline-block;
              margin-bottom: 10px; }
            #pager_post .pager_post_inner .pager_post_row .pager_post_col.pager_post_list .pager_post_area .pager_post_str {
              display: block; }

  /* ここから */
  #contents {
    margin-bottom: 100px; }
    #contents .contens_wrp {
      padding-bottom: 0 !important;
      padding-top: 0 !important;
      margin: 40px 0; }

  #top_contents .contens_wrp .contens_inner {
    padding: 0 20px; }

  /* ここまで */
  /* メインビジュアル ここから */
  #top_main_visual {
    background-size: cover !important;
    background-position: center !important;
    background-attachment: scroll !important;
    background-repeat: no-repeat !important;
    width: 100%;
    height: 520px;
    position: relative; }
    #top_main_visual .top_main_visual_htxt .top_main_visual_htxt_inner {
      padding: 3px 15px 6px;
      display: inline-block; }

  /* メインビジュアル ここまで */
  /* about ここから */
  .top_about {
    background-image: url("/lib/img/about_bg.png");
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 450px;
    margin-top: 80px;
    position: relative; }
    .top_about p {
      color: #fff; }
    .top_about .top_about_inner {
      width: 100%;
      max-width: 410px;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      padding: 0 25px; }
      .top_about .top_about_inner h2 {
        margin-bottom: 15px; }
      .top_about .top_about_inner p {
        margin-bottom: 40px; }

  /* about ここまで */
  /* news ここから */
  .top_news {
    background-color: #f2f2f2;
    padding: 45px 0;
    padding-bottom: 90px; }
    .top_news .top_news_inner {
      max-width: 1200px;
      padding: 0 40px;
      margin: 0 auto;
      position: relative; }
      .top_news .top_news_inner .date_list {
        margin-top: 30px; }
      .top_news .top_news_inner .news_icon_wrp {
        position: absolute;
        right: 0;
        bottom: -90px; }

  /* news ここまで */
  #interview {
    /* インタビュー一覧 ここから */
    /* インタビュー一覧 ここまで */
    /* インタビュー詳細 ここから */
    /* メインビジュアル ここから */
    /* メインビジュアル ここまで */
    /* メインコンテンツ部 ここから */
    /* メインコンテンツ部 ここまで */
    /* 1日のスケジュール ここから */
    /* 1日のスケジュール ここまで */
    /* インタビューOTHER ここから */
    /* インタビューOTHER ここまで */
    /* インタビュー詳細 ここまで */ }
    #interview .contens_wrp .contens_inner {
      padding-right: 20px;
      padding-left: 20px; }
    #interview .interview_list_wrp .interview_list01 {
      padding: 40px 20px; }
      #interview .interview_list_wrp .interview_list01 .interview_list_txt01 {
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: 0.96px;
        text-align: center; }
    #interview .interview_list_wrp .interview_list02 {
      background-color: #f0f0f0;
      padding: 60px 20px; }
      #interview .interview_list_wrp .interview_list02 .interview_list02_inner {
        width: 100%;
        margin: 0 auto; }
      #interview .interview_list_wrp .interview_list02 .interview_other_slider li {
        width: 100%;
        margin-bottom: 30px; }
        #interview .interview_list_wrp .interview_list02 .interview_other_slider li div {
          padding: 41.49% 0;
          width: 100%;
          position: relative;
          overflow: hidden; }
          #interview .interview_list_wrp .interview_list02 .interview_other_slider li div img {
            position: absolute;
            top: -100%;
            right: -100%;
            bottom: -100%;
            left: -100%;
            margin: auto;
            max-width: none;
            display: none; }
            #interview .interview_list_wrp .interview_list02 .interview_other_slider li div img.img_hor {
              width: auto;
              height: 100%;
              display: block; }
            #interview .interview_list_wrp .interview_list02 .interview_other_slider li div img.img_ver {
              width: 100%;
              height: auto;
              display: block; }
    #interview .interview_list_wrp #js_more_btn {
      text-align: center;
      margin-top: 3.5em;
      padding-bottom: 3.5em; }
      #interview .interview_list_wrp #js_more_btn button {
        padding: 1em 3em;
        background-color: #000;
        color: #fff;
        font-size: 1.1em;
        transition: all 0.2s; }
    #interview #interview_main_visual {
      background-size: cover;
      background-position: center;
      width: 100%;
      height: 520px;
      position: relative; }
      #interview #interview_main_visual .interview_main_visual_htxt {
        left: 20px;
        bottom: 20px;
        position: absolute;
        padding: 3px 15px 6px; }
        #interview #interview_main_visual .interview_main_visual_htxt.txt_shadow {
          text-shadow: #333 2px 0px 2px, #333 -2px 0px 2px, #333 0px -2px 2px, #333 -2px 0px 2px, #333 2px 2px 2px, #333 -2px 2px 2px, #333 2px -2px 2px, #333 -2px -2px 2px, #333 1px 2px 2px, #333 -1px 2px 2px, #333 1px -2px 2px, #333 -1px -2px 2px, #333 2px 1px 2px, #333 -2px 1px 2px, #333 2px -1px 2px, #333 -2px -1px 2px, #333 1px 1px 2px, #333 -1px 1px 2px, #333 1px -1px 2px, #333 -1px -1px 2px; }
        #interview #interview_main_visual .interview_main_visual_htxt .interview_main_visual_htxt_txt01 {
          font-size: 20px;
          line-height: 1.48;
          letter-spacing: 1.2px;
          color: #fff;
          font-weight: 500; }
        #interview #interview_main_visual .interview_main_visual_htxt .interview_main_visual_htxt_txt02 {
          font-size: 34px;
          line-height: 1.48;
          letter-spacing: 2.16px;
          color: #fff;
          font-weight: 400;
          margin-top: 10px; }
        #interview #interview_main_visual .interview_main_visual_htxt .interview_main_visual_htxt_txt03 {
          font-size: 20px;
          letter-spacing: 1.2px;
          line-height: 1.48;
          color: #fff;
          margin-top: 10px; }
    #interview .interview_contents {
      /* レイアウトパターン01 ここから */
      /* レイアウトパターン01 ここまで */
      /* レイアウトパターン02 ここから */
      /* レイアウトパターン02 ここまで */
      /* レイアウトパターン03 ここから */
      /* レイアウトパターン03 ここまで */ }
      #interview .interview_contents .interview_layout_txt01 {
        font-size: 13px;
        letter-spacing: 0.78px;
        font-weight: 600; }
      #interview .interview_contents .htxt05 {
        margin-top: 15px;
        margin-bottom: 25px; }
      #interview .interview_contents .interview_layout {
        margin-bottom: 80px; }
        #interview .interview_contents .interview_layout:last-child {
          margin-bottom: 0; }
        #interview .interview_contents .interview_layout .youtube_wrp {
          position: relative;
          padding: 28.4% 0;
          overflow: hidden; }
          #interview .interview_contents .interview_layout .youtube_wrp iframe {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            width: 100%;
            height: 100%; }
      #interview .interview_contents .interview_layout01 .interview_layout01_box01 {
        width: 100%;
        margin-bottom: 25px; }
      #interview .interview_contents .interview_layout01 .interview_layout01_box02 {
        width: 100%; }
      #interview .interview_contents .interview_layout02 .interview_layout02_box01 {
        margin: 0 -20px;
        margin-bottom: 25px; }
      #interview .interview_contents .interview_layout02 .interview_layout02_box02 {
        width: 100%; }
      #interview .interview_contents .interview_layout03 .interview_layout03_box01 {
        width: 100%;
        margin-bottom: 25px; }
      #interview .interview_contents .interview_layout03 .interview_layout03_box02 {
        width: 100%; }
    #interview #interview_schedule .contens_inner .interview_schedule_row1 {
      width: 202px; }
    #interview #interview_schedule .contens_inner .interview_schedule_row2 {
      background-color: #F7F7F7;
      padding: 60px 30px; }
    #interview #interview_schedule .interview_schedule_ttl {
      background-color: #0A4B6A;
      color: #fff;
      text-align: center;
      font-weight: normal;
      line-height: 1;
      padding: 12.5px 0;
      font-size: 16px; }
    #interview #interview_schedule .interview_schedule_items .interview_schedule_item:not(:last-child) {
      margin-bottom: 50px; }
    #interview #interview_schedule .interview_schedule_items .interview_schedule_item .interview_schedule_item_row > .interview_schedule_item_col1 {
      margin-bottom: 15px; }
    #interview #interview_schedule .interview_schedule_items .item_time {
      color: #0A4B6A;
      line-height: 1;
      font-size: 20px; }
    #interview #interview_schedule .interview_schedule_items .item_row > .item_col1 {
      margin-bottom: 10px; }
    #interview #interview_schedule .interview_schedule_items .item_row .item_ttl {
      font-size: 24px;
      font-weight: normal;
      margin-bottom: 10px; }
    #interview #interview_schedule .interview_schedule_items .item_row .item_txt {
      font-size: 13px; }
      #interview #interview_schedule .interview_schedule_items .item_row .item_txt p:not(:last-child) {
        margin-bottom: 8px; }
      #interview #interview_schedule .interview_schedule_items .item_row .item_txt a {
        text-decoration: underline; }
    #interview #interview_schedule .interview_schedule_time {
      color: #0A4B6A;
      font-size: 20px;
      line-height: 1; }
    #interview .interview_other_wrp {
      padding: 80px 20px;
      margin: 0 -20px;
      margin-top: 80px; }
      #interview .interview_other_wrp .htxt06 {
        text-align: center; }
    #interview .interview_other_slider {
      position: relative;
      margin-top: 35px; }
      #interview .interview_other_slider .prev_arrow {
        position: absolute;
        top: 120px;
        left: -20px;
        z-index: 999; }
      #interview .interview_other_slider .next_arrow {
        position: absolute;
        top: 120px;
        right: -20px;
        z-index: 999; }
      #interview .interview_other_slider li {
        width: 100%; }
        #interview .interview_other_slider li div {
          padding: 41.085% 0;
          width: 100%;
          position: relative;
          overflow: hidden; }
          #interview .interview_other_slider li div img {
            position: absolute;
            top: -100%;
            right: -100%;
            bottom: -100%;
            left: -100%;
            margin: auto;
            max-width: none; }
            #interview .interview_other_slider li div img.img_hor {
              width: auto;
              height: 100%; }
            #interview .interview_other_slider li div img.img_ver {
              width: 100%;
              height: auto; }
        #interview .interview_other_slider li .interview_other_slider_txt01 {
          font-size: 13px;
          font-weight: 600;
          line-height: 1.48;
          letter-spacing: 0.78px;
          margin-top: 20px; }
        #interview .interview_other_slider li .interview_other_slider_txt02 {
          font-size: 24px;
          line-height: 1.48;
          letter-spacing: 1.44px;
          font-weight: 600;
          margin: 10px 0 5px; }
        #interview .interview_other_slider li .interview_other_slider_txt03 {
          font-size: 16px;
          line-height: 1.48;
          letter-spacing: 0.96px;
          margin-top: 5px; }

  #entry {
    /* 詳細ページ用　ここから */
    /* 詳細ページ用　ここまで */
    /* 選択ボックス ここから */
    /* 選択ボックス ここまで */
    /* リスト ここから */
    /* リスト ここまで */
    /* お問い合わせ ここから */
    /* お問い合わせ ここまで */
    /* ボタンエリア ここから */
    /* ボタンエリア ここまで */
    /* 現在求人は行っておりません。 ここから*/
    /* 現在求人は行っておりません。 ここまで*/ }
    #entry #contents {
      margin-bottom: 60px; }
      #entry #contents .contens_wrp {
        margin: 0;
        padding: 55px 15px 0 !important; }
    #entry .reruit_btn02_bg {
      background-color: rgba(0, 0, 0, 0.7);
      height: 225px;
      width: 100%;
      position: fixed;
      bottom: 0;
      left: 0; }
    #entry .recruit_select_wrp {
      background-color: #f0f0f0;
      padding: 50px 0;
      position: relative; }
      #entry .recruit_select_wrp:before {
        position: absolute;
        content: "";
        border-top: 16px solid #f0f0f0;
        border-right: 16px solid transparent;
        border-bottom: 16px solid transparent;
        border-left: 16px solid transparent;
        left: 50%;
        transform: translateX(-50%);
        bottom: -32px; }
      #entry .recruit_select_wrp .recruit_select_inner {
        padding: 0 15px;
        display: flex;
        flex-direction: column;
        justify-content: center; }
        #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box {
          display: flex;
          align-items: center;
          justify-content: center;
          margin-bottom: 20px; }
          #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box:last-child {
            margin-bottom: 0; }
          #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box p {
            width: 80px;
            font-size: 18px;
            font-weight: 600;
            margin-right: 15px;
            white-space: nowrap; }
          #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box .select_01 {
            width: calc(100% - 80px); }
            #entry .recruit_select_wrp .recruit_select_inner .recruit_select_box .select_01 select {
              background-color: #fff;
              border: 1px solid #e0e0e0;
              padding: 8px 30px 8px 20px;
              font-size: 16px;
              width: 100%; }
    #entry .recruit_contents_list {
      margin-top: 40px; }
      #entry .recruit_contents_list li {
        position: relative;
        margin-bottom: 80px; }
        #entry .recruit_contents_list li:last-child {
          margin-bottom: 0; }
        #entry .recruit_contents_list li h3 {
          width: 100%;
          background-color: #f0f0f0;
          padding: 12px 20px; }
        #entry .recruit_contents_list li .recruit_contents_list_txtbox {
          min-height: 58px;
          border: 1px solid #e0e0e0;
          box-sizing: border-box; }
          #entry .recruit_contents_list li .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt01 {
            background-color: #f7f7f7;
            width: 100%;
            padding-left: 20;
            padding: 12px 20px;
            font-size: 16px;
            font-weight: 600;
            min-height: 58px;
            border-bottom: 1px solid #e0e0e0; }
          #entry .recruit_contents_list li .recruit_contents_list_txtbox .recruit_contents_list_txtbox_txt02 {
            width: 100%;
            background-color: #fff;
            height: 100%;
            font-size: 13px;
            min-height: 58px;
            line-height: 2;
            letter-spacing: 0.84px;
            padding: 15px 20px; }
        #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox_txt02 {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 0; }
          #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox_txt02 .txt_inner {
            width: calc(100% - 60px);
            padding-top: 15px;
            padding-bottom: 15px;
            padding-right: 20px;
            padding-left: 20px; }
          #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox_txt02 .recruit_contents_list_btn {
            width: 60px;
            margin-right: -1px;
            align-self: flex-end; }
            #entry .recruit_contents_list li.have_entry_btn .recruit_contents_list_txtbox_txt02 .recruit_contents_list_btn .btn_anchor::before {
              content: "";
              display: block;
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0; }
    #entry .recruit_contact {
      background-color: #f0f0f0;
      padding: 30px;
      text-align: center; }
      #entry .recruit_contact .recruit_contact_txt01 {
        font-size: 20px;
        font-weight: 600;
        letter-spacing: 1.44px;
        line-height: 1; }
      #entry .recruit_contact .recruit_contact_txt02 {
        font-size: 32px;
        font-weight: 600;
        letter-spacing: 2.16px;
        line-height: 1;
        margin: 20px 0 20px; }
        #entry .recruit_contact .recruit_contact_txt02 a {
          word-wrap: break-word;
          overflow-wrap: break-word; }
      #entry .recruit_contact .recruit_contact_txt03 {
        font-size: 13px;
        letter-spacing: 0.84px;
        line-height: 1; }
    #entry #area_btn {
      margin-top: 60px; }
      #entry #area_btn .fixed {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.7);
        padding-top: 5%;
        padding-right: 20px;
        padding-left: 20px; }
      #entry #area_btn .area_btn_shadow {
        margin: 0 -15px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s, visibility 0.2s; }
        #entry #area_btn .area_btn_shadow.show {
          opacity: 1;
          visibility: visible; }
        #entry #area_btn .area_btn_shadow .area_btn_items {
          display: flex;
          width: 100%;
          align-items: center;
          max-width: 860px;
          margin-right: auto;
          margin-left: auto;
          /* ボタン共通スタイル ここから */
          /* ボタン共通スタイル ここから */
          /* ボタン数1つの時 ここから */
          /* ボタン数1つの時 ここまで */
          /* ボタン数2つの時 ここから */
          /* ボタン数2つの時 ここまで */
          /* ボタン数3つの時 ここから */
          /* ボタン数3つの時 ここまで */ }
          #entry #area_btn .area_btn_shadow .area_btn_items .area_btn_item {
            background-color: #fff; }
            #entry #area_btn .area_btn_shadow .area_btn_items .area_btn_item a {
              display: block;
              text-align: center;
              background-color: #ccc; }
              #entry #area_btn .area_btn_shadow .area_btn_items .area_btn_item a .area_btn_str {
                font-size: 4vw;
                color: #fff; }
          #entry #area_btn .area_btn_shadow .area_btn_items.items_num1 {
            justify-content: center; }
            #entry #area_btn .area_btn_shadow .area_btn_items.items_num1 .area_btn_item {
              width: calc(100% - 40px); }
              #entry #area_btn .area_btn_shadow .area_btn_items.items_num1 .area_btn_item a {
                padding: 8.6% 0;
                position: relative; }
                #entry #area_btn .area_btn_shadow .area_btn_items.items_num1 .area_btn_item a svg {
                  position: absolute;
                  top: 0;
                  right: 8%;
                  bottom: 0;
                  margin-top: auto;
                  margin-bottom: auto;
                  width: 15px; }
          #entry #area_btn .area_btn_shadow .area_btn_items.items_num2 {
            justify-content: space-between; }
            #entry #area_btn .area_btn_shadow .area_btn_items.items_num2 .area_btn_item {
              width: 50%; }
              #entry #area_btn .area_btn_shadow .area_btn_items.items_num2 .area_btn_item a {
                padding: 15% 0;
                position: relative; }
                #entry #area_btn .area_btn_shadow .area_btn_items.items_num2 .area_btn_item a .area_btn_str {
                  font-size: 4vw;
                  color: #fff; }
                #entry #area_btn .area_btn_shadow .area_btn_items.items_num2 .area_btn_item a svg {
                  position: absolute;
                  top: 0;
                  right: 8%;
                  bottom: 0;
                  margin-top: auto;
                  margin-bottom: auto;
                  width: 15px; }
          #entry #area_btn .area_btn_shadow .area_btn_items.items_num3 {
            justify-content: space-between; }
            #entry #area_btn .area_btn_shadow .area_btn_items.items_num3 .area_btn_item {
              width: calc(100% / 3); }
              #entry #area_btn .area_btn_shadow .area_btn_items.items_num3 .area_btn_item a {
                padding: 16% 0; }
                #entry #area_btn .area_btn_shadow .area_btn_items.items_num3 .area_btn_item a .area_btn_str {
                  display: block;
                  margin-bottom: 5px; }
                #entry #area_btn .area_btn_shadow .area_btn_items.items_num3 .area_btn_item a svg {
                  display: block;
                  height: 13px;
                  margin-left: auto;
                  margin-right: auto; }
    #entry .htxt09 {
      margin-bottom: 30px; }
    #entry .table01_02 {
      margin-top: 30px; }
    #entry .no_posts {
      text-align: center;
      font-size: 17px; }

  #faq {
    /* 目次 ここから */
    /* 目次 ここまで */
    /* リスト ここから */
    /* リスト ここまで */ }
    #faq #contents {
      margin-bottom: 0; }
      #faq #contents .contens_wrp {
        padding: 0 20px; }
    #faq .faq_sumally {
      padding: 40px 20px;
      text-align: center; }
      #faq .faq_sumally .sumally_inner ul li:not(:last-child) {
        margin-bottom: 1.5em; }
      #faq .faq_sumally .sumally_inner ul li a {
        display: inline-block;
        padding-right: 1.3em;
        position: relative;
        font-size: 18px; }
        #faq .faq_sumally .sumally_inner ul li a svg {
          content: "";
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          margin-top: auto;
          margin-bottom: auto;
          width: 0;
          height: 0;
          display: inline-block;
          width: 12px;
          height: 20px; }
    #faq .qa_list_wrp .qa_list {
      margin-top: 40px;
      margin-bottom: 70px; }
      #faq .qa_list_wrp .qa_list:last-child {
        margin-bottom: 0; }
      #faq .qa_list_wrp .qa_list li {
        position: relative;
        margin-bottom: 40px;
        /* クエスチョン ここから */
        /* クエスチョン ここまで */
        /* アンサー ここから */
        /* アンサー ここまで */ }
        #faq .qa_list_wrp .qa_list li .qa_list_icon_wrp {
          position: absolute;
          right: 0;
          top: 0; }
        #faq .qa_list_wrp .qa_list li .question {
          background-color: #f0f0f0;
          font-size: 18px;
          letter-spacing: 1.44px;
          line-height: 1.48;
          padding: 12px 0;
          padding-left: 80px;
          position: relative;
          padding-right: 60px;
          cursor: pointer; }
          #faq .qa_list_wrp .qa_list li .question span {
            display: block; }
          #faq .qa_list_wrp .qa_list li .question:before {
            content: "Q";
            font-size: 32px;
            line-height: 1;
            font-weight: 600;
            position: absolute;
            left: 20px;
            top: 8px; }
          #faq .qa_list_wrp .qa_list li .question:after {
            content: "";
            width: 1px;
            height: 60%;
            position: absolute;
            background-color: #000;
            left: 63px;
            top: 50%;
            transform: translateY(-50%); }
        #faq .qa_list_wrp .qa_list li .answer {
          padding-left: 80px;
          position: relative;
          margin-top: 20px; }
          #faq .qa_list_wrp .qa_list li .answer:before {
            position: absolute;
            content: "A";
            color: #fff;
            border-radius: 50%;
            width: 50px;
            height: 50px;
            background-color: #6a6a6a;
            font-size: 32px;
            text-align: center;
            font-weight: 600;
            line-height: 46px;
            text-indent: 2px;
            left: 8px;
            top: 0; }
          #faq .qa_list_wrp .qa_list li .answer p {
            font-size: 14px;
            line-height: 2;
            letter-spacing: 0.84px;
            padding-top: 10px; }
          #faq .qa_list_wrp .qa_list li .answer a {
            text-decoration: underline; }

  #data {
    /* データで見る レイアウト01 ここから */
    /* データで見る レイアウト01 ここまで */
    /* データで見る レイアウト02 ここから */
    /* データで見る レイアウト02 ここまで */ }
    #data #contents {
      margin-bottom: 0; }
      #data #contents .contens_wrp {
        margin: 0;
        padding: 40px 20px !important; }
    #data .data_contents_layout01 ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #data .data_contents_layout01 ul li {
        box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.05);
        width: 100%;
        position: relative;
        padding: 80px 0 20px;
        margin-bottom: 30px;
        display: flex;
        flex-direction: column;
        align-items: center;
        background-color: #fff; }
        #data .data_contents_layout01 ul li h2 {
          position: absolute;
          left: 10px;
          top: 10px;
          max-width: calc(100% - 20px); }
        #data .data_contents_layout01 ul li .data_contents_layout01_box01 {
          display: flex;
          justify-content: center;
          align-items: center;
          margin-top: auto;
          flex-wrap: wrap; }
          #data .data_contents_layout01 ul li .data_contents_layout01_box01 .data_contents_layout01_box01_box01 {
            width: 100px;
            margin-right: 20px; }
          #data .data_contents_layout01 ul li .data_contents_layout01_box01 .data_contents_layout01_box01_box02 p {
            font-family: "Oswald", sans-serif;
            font-weight: 400;
            font-size: 80px;
            line-height: 1; }
            #data .data_contents_layout01 ul li .data_contents_layout01_box01 .data_contents_layout01_box01_box02 p span {
              font-family: "Noto Sans JP", sans-serif;
              font-size: 40px;
              font-weight: 900; }
        #data .data_contents_layout01 ul li .data_contents_layout01_box02 {
          padding: 0 20px;
          width: 100%; }
        #data .data_contents_layout01 ul li .data_contents_layout01_txt01 {
          line-height: 2;
          letter-spacing: 0.84px;
          padding: 0 20px;
          margin-top: auto;
          padding-top: 20px;
          width: 100%; }
    #data .data_contents_layout02 ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      #data .data_contents_layout02 ul li {
        box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.05);
        position: relative;
        width: 100%;
        padding: 80px 0 20px;
        margin-bottom: 30px;
        background-color: #fff; }
        #data .data_contents_layout02 ul li h2 {
          position: absolute;
          left: 10px;
          top: 10px;
          max-width: calc(100% - 20px); }
        #data .data_contents_layout02 ul li p {
          font-family: "Oswald", sans-serif;
          font-weight: 500;
          font-size: 80px;
          line-height: 1;
          text-align: center; }
          #data .data_contents_layout02 ul li p span {
            padding-left: 5px;
            font-family: "Noto Sans JP", sans-serif;
            font-size: 40px;
            font-weight: 900; }

  /* 固定ページ用レイアウト */
  .fixed_contents {
    /* NEWS用レイアウト ここから */
    /* NEWS用レイアウト ここまで */
    /* 仕事紹介用レイアウト ここから */
    /* 仕事紹介用レイアウト ここまで */ }
    .fixed_contents p {
      margin-bottom: 15px; }
    .fixed_contents .date_txt01 {
      font-size: 12px;
      font-weight: 600; }
    .fixed_contents h2 {
      font-size: 26px;
      font-weight: 600;
      letter-spacing: 2.16px;
      line-height: 1.48;
      border-bottom: 1px solid #000;
      padding-bottom: 6px; }
    .fixed_contents h3 {
      font-size: 18px;
      letter-spacing: 1.44px;
      line-height: 1.48;
      font-weight: 600;
      background-color: #f0f0f0;
      padding: 6px 15px 8px;
      margin-top: 40px;
      margin-bottom: 15px; }
    .fixed_contents h4 {
      font-size: 26px;
      line-height: 1;
      display: inline-block;
      padding: 5px 10px 8px;
      background-color: #000;
      color: #fff;
      font-weight: 500; }
    .fixed_contents .colmun_layout01 .colmun_layout01_box {
      width: 100%; }
    .fixed_contents .img_box01 {
      margin-top: 15px; }
      .fixed_contents .img_box01 img {
        vertical-align: bottom; }
      .fixed_contents .img_box01 p {
        font-size: 12px;
        margin-top: 2px; }
    .fixed_contents .anchor_wrp {
      padding: 40px 0; }
      .fixed_contents .anchor_wrp ul {
        text-align: center; }
        .fixed_contents .anchor_wrp ul li {
          margin: 0 25px;
          margin-bottom: 35px; }
          .fixed_contents .anchor_wrp ul li:last-child {
            margin-bottom: 0; }
          .fixed_contents .anchor_wrp ul li a {
            font-size: 18px;
            font-weight: 600;
            position: relative;
            display: inline-block;
            padding-right: 18px;
            border-bottom: 1px solid #fff; }
            .fixed_contents .anchor_wrp ul li a:before {
              position: absolute;
              top: 11px;
              right: 0;
              width: 0;
              height: 0;
              padding: 0;
              content: '';
              border-left: 4.5px solid transparent;
              border-right: 4.5px solid transparent;
              border-top: 7px solid #707070;
              pointer-events: none; }
    .fixed_contents .news_layout01 {
      justify-content: space-between; }
      .fixed_contents .news_layout01 .news_layout01_list {
        width: 100%;
        background-color: #fff;
        margin-bottom: 30px; }
        .fixed_contents .news_layout01 .news_layout01_list a {
          display: flex;
          flex-direction: column;
          transition: opacity 0.5s;
          height: 100%; }
          .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box01 {
            position: relative;
            border-bottom: 1px solid #ebebeb; }
            .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box01 img {
              object-fit: cover;
              vertical-align: bottom; }
            .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box01 .news_layout01_box01_icon01_wrp {
              position: absolute;
              right: 0;
              bottom: 0; }
          .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box02 {
            padding: 15px;
            padding-bottom: 0; }
            .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt01 {
              font-size: 13px;
              letter-spacing: 0.84px;
              font-weight: 600;
              margin-bottom: 5px; }
            .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt02 {
              font-weight: 500;
              font-size: 16px;
              letter-spacing: 0.96px;
              line-height: 1.48;
              position: relative;
              padding-left: 0.8em;
              margin-bottom: 20px; }
              .fixed_contents .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt02:before {
                position: absolute;
                content: "";
                left: 0;
                top: 50%;
                transform: translateY(-50%);
                background-color: #707070;
                width: 2px;
                height: 80%; }
          .fixed_contents .news_layout01 .news_layout01_list a .tag_list_wrp {
            margin-top: auto;
            padding: 0 15px 15px; }
    .fixed_contents .tag_list {
      margin-right: -5px; }
      .fixed_contents .tag_list li {
        line-height: 1;
        display: inline-block;
        border: 1px solid #dedede;
        background-color: #f0f0f0;
        border-radius: 24px;
        font-size: 12px;
        font-weight: 600;
        padding: 4px 8px 5px;
        margin-right: 5px; }
    .fixed_contents .news_contents_tag_list_wrp {
      margin-top: 10px; }
    .fixed_contents .main_art {
      margin-top: 15px; }
    .fixed_contents .fixed_layout {
      width: 100%; }
      .fixed_contents .fixed_layout .fixed_layout_visual {
        width: 100%;
        height: 330px;
        background-image: url("/lib/img/jobs/jobs_visual01.png");
        background-position: center;
        background-size: cover; }
      .fixed_contents .fixed_layout .fixed_layout_contents {
        margin: 0 20px;
        padding: 30px 0 60px;
        text-align: left;
        background-color: #fff;
        margin-top: -60px; }
        .fixed_contents .fixed_layout .fixed_layout_contents p {
          text-align: left;
          margin-top: 30px;
          margin-bottom: 60px; }
        .fixed_contents .fixed_layout .fixed_layout_contents h4 {
          margin-bottom: 50px; }
        .fixed_contents .fixed_layout .fixed_layout_contents h5 {
          text-align: left;
          position: relative;
          padding-left: 0.8em;
          font-weight: 500;
          font-size: 20px;
          line-height: 1.48;
          letter-spacing: 1.44px; }
          .fixed_contents .fixed_layout .fixed_layout_contents h5:before {
            position: absolute;
            content: "";
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            background-color: #707070;
            width: 2px;
            height: 95%; }
        .fixed_contents .fixed_layout .fixed_layout_contents .fixed_layout_contents_img01 {
          margin-top: 20px; }
        .fixed_contents .fixed_layout .fixed_layout_contents .colmun_layout01 {
          margin-top: 20px; }
        .fixed_contents .fixed_layout .fixed_layout_contents p + .fixed_layout_contents_img01 {
          margin-top: -30px; }
        .fixed_contents .fixed_layout .fixed_layout_contents p + .colmun_layout01 {
          margin-top: -30px; }
    .fixed_contents .fixed_layout02 h5 {
      display: inline;
      padding-left: 0 !important;
      background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #d6d6d6 0%) repeat scroll 0 0; }
      .fixed_contents .fixed_layout02 h5:before {
        position: relative;
        width: 0 !important;
        height: 0 !important; }
    .fixed_contents .fixed_layout03 h5 {
      display: inline-block;
      padding-left: 0 !important; }
      .fixed_contents .fixed_layout03 h5:before {
        position: relative;
        width: 0 !important;
        height: 0 !important; }

  #jobs {
    /* メインビジュアル ここから */
    /* メインビジュアル ここまで */
    /* 目次 ここから */
    /* 目次 ここまで */ }
    #jobs #common_main_visual {
      height: 160px; }
    #jobs .jobs_sumally {
      padding: 40px 20px;
      text-align: center; }
      #jobs .jobs_sumally .sumally_inner ul li:not(:last-child) {
        margin-bottom: 1.5em; }
      #jobs .jobs_sumally .sumally_inner ul li a {
        display: inline-block;
        padding-right: 1.3em;
        position: relative;
        vertical-align: middle;
        font-size: 18px; }
        #jobs .jobs_sumally .sumally_inner ul li a svg {
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          margin-top: auto;
          margin-bottom: auto;
          width: 0;
          height: 0;
          display: inline-block;
          width: 12px;
          height: 20px; }
    #jobs .contens_wrp {
      padding: 40px 0; }
      #jobs .contens_wrp .contens_inner {
        max-width: none; }
        #jobs .contens_wrp .contens_inner .entry_content {
          position: relative;
          padding-top: 90%; }
          #jobs .contens_wrp .contens_inner .entry_content::before {
            content: "";
            width: 100%;
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            margin-right: auto;
            margin-left: auto;
            background-repeat: no-repeat;
            background-position: top center;
            background-size: auto 100%;
            padding: 50% 0; }
          #jobs .contens_wrp .contens_inner .entry_content:not(:last-child) .entry_content_inner {
            padding-bottom: 25%; }
          #jobs .contens_wrp .contens_inner .entry_content .entry_content_inner {
            background-color: #fff;
            margin-right: auto;
            margin-left: auto;
            padding-right: 15px;
            padding-left: 15px;
            position: relative;
            width: calc(100% - 40px); }
            #jobs .contens_wrp .contens_inner .entry_content .entry_content_inner .entry_content_ttl {
              text-align: center;
              padding-top: 6%;
              margin-bottom: 4.5em; }
              #jobs .contens_wrp .contens_inner .entry_content .entry_content_inner .entry_content_ttl > .ttl_inner {
                display: inline-block;
                color: #fff;
                background-color: #000;
                padding: 0.5em;
                font-size: 26px; }

  #news {
    /* NEWS用レイアウト ここから */
    /* NEWS用レイアウト ここまで */ }
    #news .date_txt01 {
      font-size: 12px;
      font-weight: 600;
      margin-bottom: 15px; }
    #news h2 {
      font-size: 26px;
      font-weight: 600;
      letter-spacing: 2.16px;
      line-height: 1.48;
      border-bottom: 1px solid #EBEBEB;
      padding-bottom: 6px; }
    #news .contens_wrp {
      padding-bottom: 40px !important;
      padding-top: 40px !important;
      padding-right: 20px;
      padding-left: 20px;
      margin: 0; }
      #news .contens_wrp .news_layout01 {
        justify-content: space-between; }
        #news .contens_wrp .news_layout01 .news_layout01_list {
          width: 100%;
          background-color: #fff;
          margin-bottom: 30px; }
          #news .contens_wrp .news_layout01 .news_layout01_list a {
            display: flex;
            flex-direction: column;
            transition: opacity 0.5s;
            height: 100%; }
            #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box01 {
              border-bottom: 1px solid #ebebeb;
              padding: 27.5% 0;
              width: 100%;
              position: relative;
              overflow: hidden; }
              #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box01 img {
                position: absolute;
                top: -100%;
                right: -100%;
                bottom: -100%;
                left: -100%;
                margin: auto;
                max-width: none;
                display: none; }
                #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box01 img.img_hor {
                  width: auto;
                  height: 100%;
                  display: block; }
                #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box01 img.img_ver {
                  width: 100%;
                  height: auto;
                  display: block; }
              #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box01 .news_layout01_box01_icon01_wrp {
                position: absolute;
                right: 0;
                bottom: 0; }
            #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box02 {
              padding: 15px;
              padding-bottom: 0; }
              #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt01 {
                font-size: 13px;
                letter-spacing: 0.84px;
                font-weight: 600;
                margin-bottom: 5px; }
              #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt02 {
                font-weight: 500;
                font-size: 16px;
                letter-spacing: 0.96px;
                line-height: 1.48;
                position: relative;
                padding-left: 0.8em;
                margin-bottom: 20px; }
                #news .contens_wrp .news_layout01 .news_layout01_list a .news_layout01_box02 .news_layout01_box02_txt02:before {
                  position: absolute;
                  content: "";
                  left: 0;
                  top: 50%;
                  transform: translateY(-50%);
                  background-color: #707070;
                  width: 2px;
                  height: 80%; }
            #news .contens_wrp .news_layout01 .news_layout01_list a .tag_list_wrp {
              margin-top: auto;
              padding: 0 15px 15px; }
    #news #js_more_btn {
      text-align: center;
      margin-top: 3.5em;
      padding-bottom: 3.5em; }
      #news #js_more_btn button {
        padding: 1em 3em;
        background-color: #000;
        color: #fff;
        font-size: 1.1em;
        transition: all 0.2s; }
    #news .tag_list {
      margin-right: -5px; }
      #news .tag_list li {
        line-height: 1;
        display: inline-block;
        border: 1px solid #dedede;
        background-color: #f0f0f0;
        border-radius: 24px;
        font-size: 12px;
        font-weight: 600;
        padding: 4px 8px 5px;
        margin-right: 5px; }
    #news .news_contents_tag_list_wrp {
      margin-top: 10px; }
    #news .main_art {
      margin-top: 15px; }

  .form_wrp #common_main_visual {
    height: auto;
    margin-top: 0; }
    .form_wrp #common_main_visual .common_main_visual_inner {
      top: 0;
      transform: none; }
  .form_wrp .entry_form_wrp {
    max-width: 950px;
    margin: 0 auto;
    padding: 0 20px; }
    .form_wrp .entry_form_wrp .contens_wrp {
      padding: 40px 0;
      margin-bottom: 120px; }
    .form_wrp .entry_form_wrp .recruit_contents_list_wrp {
      padding-bottom: 0 !important;
      margin-bottom: 0;
      position: relative; }
      .form_wrp .entry_form_wrp .recruit_contents_list_wrp:before {
        position: absolute;
        width: 0;
        height: 0;
        border-left: 16px solid transparent;
        border-right: 16px solid transparent;
        border-top: 15px solid #e0e0e0;
        content: "";
        left: 50%;
        transform: translateX(-50%);
        bottom: -47px; }
    .form_wrp .entry_form_wrp .recruit_contents_list {
      margin-top: 30px !important; }
    .form_wrp .entry_form_wrp .entry_form {
      margin-top: 15px;
      position: relative;
      width: 100%;
      overflow: hidden;
      font-size: 16px; }
      .form_wrp .entry_form_wrp .entry_form .row {
        border-bottom: 1px dotted #bfbfbf; }
        .form_wrp .entry_form_wrp .entry_form .row:last-child {
          border-bottom: none !important; }
      .form_wrp .entry_form_wrp .entry_form .col {
        display: block;
        padding: 15px 0;
        position: relative; }
        .form_wrp .entry_form_wrp .entry_form .col:first-child {
          font-weight: 600;
          vertical-align: top;
          padding-top: 24px;
          padding-bottom: 0; }
          .form_wrp .entry_form_wrp .entry_form .col:first-child .require {
            position: relative;
            padding-left: 35px; }
            .form_wrp .entry_form_wrp .entry_form .col:first-child .require:before {
              position: absolute;
              content: "必須";
              font-size: 12px;
              color: #fff;
              line-height: 1;
              background-color: #e35656;
              padding: 2px 3px 3px;
              left: 0;
              top: 50%;
              transform: translateY(-50%); }
        .form_wrp .entry_form_wrp .entry_form .col input {
          height: 45px;
          border-radius: 3px;
          border: solid 1px #e0e0e0;
          padding: 5px 11.5px;
          box-sizing: border-box;
          width: 100%;
          font-size: 16px; }
          .form_wrp .entry_form_wrp .entry_form .col input:focus {
            outline: none; }
        .form_wrp .entry_form_wrp .entry_form .col select {
          height: 45px;
          border-radius: 3px;
          border: solid 1px #e0e0e0;
          padding: 5px 40px 5px 10px;
          box-sizing: border-box;
          background-color: #fff;
          color: #000;
          background-image: url(../img/arrow_down.svg);
          background-position: right 15px center;
          background-size: 13px 8px;
          background-repeat: no-repeat;
          -webkit-appearance: none;
          font-size: 16px; }
          .form_wrp .entry_form_wrp .entry_form .col select:focus {
            outline: none; }
          .form_wrp .entry_form_wrp .entry_form .col select.is_block {
            display: block;
            width: 100%; }
        .form_wrp .entry_form_wrp .entry_form .col textarea {
          width: 100%;
          border-radius: 3px;
          border: solid 1px #e0e0e0;
          padding: 5px 10px;
          box-sizing: border-box;
          font-size: 16px; }
          .form_wrp .entry_form_wrp .entry_form .col textarea:focus {
            outline: none; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) > p {
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) .birth_span {
        padding: 0 5px; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) .timing-year input {
        width: 100px; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) .timing-month input {
        width: 45px; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-year"] input {
        width: 100px; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-year"] .wpcf7-not-valid-tip {
        display: none; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-month"] input {
        width: 65px; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-month"] .wpcf7-not-valid-tip {
        display: none; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-date"] input {
        width: 65px; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="your-birth-date"] .wpcf7-not-valid-tip {
        display: none; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="timing-year"] input {
        width: 100px; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="timing-year"] .wpcf7-not-valid-tip {
        display: none; }
      .form_wrp .entry_form_wrp .entry_form .birth .col:nth-child(2) span[data-name="timing-month"] .wpcf7-not-valid-tip {
        display: none; }
      .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div {
        margin-bottom: 15px; }
        .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div > p {
          display: flex;
          align-items: center;
          flex-wrap: wrap; }
        .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div span[data-name="your-postal-code"].wpcf7-form-control-wrap {
          display: inline-block;
          margin: 0 0 0 10px;
          width: calc(100% - 28px); }
          .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div span[data-name="your-postal-code"].wpcf7-form-control-wrap .wpcf7-form-control {
            width: 190px; }
        .form_wrp .entry_form_wrp .entry_form .address .col:nth-child(2) div .address_search {
          font-size: 14px;
          color: #fff;
          line-height: 1;
          padding: 8px 20px 6px;
          background-color: #000;
          cursor: pointer;
          margin-top: 15px;
          position: absolute;
          top: 23px;
          left: 223px;
          width: 110px;
          margin-top: 0;
          text-align: center; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div > p {
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(1) {
        margin-bottom: 15px; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(1) span {
          display: inline-block;
          padding-bottom: 5px; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(2) {
        margin-bottom: 15px; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(2) span {
          display: inline-block;
          padding-bottom: 5px; }
      .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span {
        display: block; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:first-child {
          display: inline-block; }
          .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:first-child input {
            width: 120px; }
          .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:first-child .wpcf7-not-valid-tip {
            display: none; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:nth-child(2) {
          margin: 10px 5px 10px; }
        .form_wrp .entry_form_wrp .entry_form .final_education .col:nth-child(2) div:nth-child(3) span:nth-child(4) select {
          width: 130px; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) input {
        border: none; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) input[type="file"] {
        display: none;
        opacity: 0;
        visibility: hidden;
        height: 0;
        padding: 0; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) label {
        cursor: pointer;
        display: block; }
        .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) label br {
          display: none; }
        .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) label:before {
          color: #ffffff;
          background-color: #000;
          height: 30px;
          width: 110px;
          content: "ファイルを選択";
          color: #fff;
          font-size: 13px;
          display: flex;
          align-items: center;
          justify-content: center; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) p {
        display: block;
        vertical-align: top;
        margin: 3px 0 0 0;
        font-size: 13px;
        position: relative; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) .your-resume1_file,
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) .your-resume2_file {
        position: absolute;
        top: 17px;
        left: 120px;
        width: calc(100% - 120px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
      .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) ul {
        padding-top: 10px; }
        .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) ul li {
          font-size: 12px;
          margin-bottom: 4px;
          word-break: break-all;
          white-space: normal; }
          .form_wrp .entry_form_wrp .entry_form .file .col:nth-child(2) ul li:last-child {
            margin-bottom: 0; }
    .form_wrp .entry_form_wrp .privacy_box {
      width: 100%;
      background-color: #f7f7f7;
      height: 244px;
      margin-top: 30px;
      padding: 15px 0; }
      .form_wrp .entry_form_wrp .privacy_box .privacy_box_inner {
        overflow-y: auto;
        height: 100%; }
      .form_wrp .entry_form_wrp .privacy_box .gutenberg_content {
        padding: 0 20px 15px; }
      .form_wrp .entry_form_wrp .privacy_box .privacy_ttl {
        padding: 15px 20px; }
    .form_wrp .entry_form_wrp .confirm_box {
      margin-top: 30px;
      text-align: center; }
      .form_wrp .entry_form_wrp .confirm_box p {
        text-align: center;
        font-size: 12px; }
      .form_wrp .entry_form_wrp .confirm_box .agree-privacy label span {
        font-size: 16px;
        font-weight: 600; }
      .form_wrp .entry_form_wrp .confirm_box .agree-privacy label input[type="checkbox"] {
        display: none; }
        .form_wrp .entry_form_wrp .confirm_box .agree-privacy label input[type="checkbox"]:checked {
          display: none; }
      .form_wrp .entry_form_wrp .confirm_box .agree-privacy label {
        box-sizing: border-box;
        cursor: pointer;
        display: inline-block;
        padding: 5px 30px;
        position: relative;
        width: auto; }
      .form_wrp .entry_form_wrp .confirm_box .agree-privacy .wpcf7-list-item-label::before {
        content: "";
        height: 18px;
        width: 18px;
        border-radius: 3px;
        border: solid 1px #e0e0e0;
        left: 5px;
        top: 4px; }
      .form_wrp .entry_form_wrp .confirm_box .agree-privacy .wpcf7-list-item-label::after {
        border-left: 3px solid #ed7a9c;
        border-bottom: 3px solid #ed7a9c;
        top: -2px;
        left: 9px; }
      .form_wrp .entry_form_wrp .confirm_box .agree-privacy .active_label:after {
        opacity: 1; }
      .form_wrp .entry_form_wrp .confirm_box .submit_btn {
        display: inline-block;
        background-color: #000;
        border: 1px solid #000;
        max-width: 480px;
        text-align: center;
        width: 100%;
        color: #fff;
        font-size: 24px;
        letter-spacing: 2.16px;
        font-weight: 600;
        position: relative;
        transition: 0.5s;
        margin-top: 45px; }
        .form_wrp .entry_form_wrp .confirm_box .submit_btn p {
          display: -webkit-inline-box;
          width: 100%;
          margin-bottom: 0; }
        .form_wrp .entry_form_wrp .confirm_box .submit_btn input {
          border: none;
          margin: 0;
          width: 100%;
          height: 100%;
          display: block;
          background: none;
          background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #fff 50%);
          background-position: 0 0;
          background-size: 200% auto;
          transition: all 0.3s ease 0s;
          text-decoration: none;
          padding: 15px 25px;
          color: #fff;
          font-size: 18px;
          letter-spacing: 1.44px;
          font-weight: 600; }
        .form_wrp .entry_form_wrp .confirm_box .submit_btn svg {
          position: absolute;
          content: "";
          width: 16px;
          height: 15px;
          right: 15px;
          top: 50%;
          transform: translateY(-50%); }
        .form_wrp .entry_form_wrp .confirm_box .submit_btn .wpcf7-spinner {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          top: -40px;
          margin: 0; }
    .form_wrp .entry_form_wrp input[type="radio"] {
      appearance: none;
      display: none;
      opacity: 0;
      width: 1px;
      position: absolute;
      height: 1px; }
    .form_wrp .entry_form_wrp input[type="radio"] + span {
      position: relative;
      display: inline-block;
      vertical-align: middle;
      cursor: pointer;
      padding: 10px 11px 8px 23px;
      border-radius: 4px;
      font-weight: 500;
      font-size: 14px; }
    .form_wrp .entry_form_wrp input[type="radio"] + span::before,
    .form_wrp .entry_form_wrp input[type="radio"] + span::after {
      position: absolute;
      content: "";
      display: block;
      border-radius: 50%;
      top: 2px;
      bottom: 0;
      margin: auto 10px auto 0;
      box-sizing: border-box; }
    .form_wrp .entry_form_wrp input[type="radio"] + span::before {
      width: 14px;
      height: 14px;
      background: #fff;
      border: 1px solid #e0e0e0;
      left: 0; }
    .form_wrp .entry_form_wrp input[type="radio"] + span::after {
      width: 8px;
      height: 8px;
      background: #999999;
      left: 3px;
      opacity: 0; }
    .form_wrp .entry_form_wrp input[type="radio"]:checked + span::before {
      border: 1px solid #e0e0e0; }
    .form_wrp .entry_form_wrp input[type="radio"]:checked + span::after {
      background: #000;
      opacity: 1; }
    .form_wrp .entry_form_wrp input[type="checkbox"] {
      appearance: none;
      display: none;
      opacity: 0;
      width: 1px;
      position: absolute;
      height: 1px; }
    .form_wrp .entry_form_wrp input[type="checkbox"] + span {
      position: relative;
      display: inline-block;
      vertical-align: middle;
      cursor: pointer;
      padding: 10px 11px 8px 32px;
      border-radius: 4px;
      font-weight: 500;
      font-size: 14px; }
    .form_wrp .entry_form_wrp input[type="checkbox"] + span::before,
    .form_wrp .entry_form_wrp input[type="checkbox"] + span::after {
      position: absolute;
      content: "";
      display: block;
      top: 0;
      bottom: 0;
      margin: auto 10px auto 0;
      box-sizing: border-box; }
    .form_wrp .entry_form_wrp input[type="checkbox"] + span::before {
      width: 14px;
      height: 14px;
      background: #fff;
      border: 1px solid #e0e0e0;
      left: 3px; }
    .form_wrp .entry_form_wrp input[type="checkbox"] + span::after {
      width: 12px;
      height: 8px;
      background-color: transparent;
      border-left: 3px solid #000;
      border-bottom: 3px solid #000;
      top: -5px;
      left: 5px;
      opacity: 0;
      transform: rotate(-45deg); }
    .form_wrp .entry_form_wrp input[type="checkbox"]:checked + span::before {
      border: 1px solid #e0e0e0; }
    .form_wrp .entry_form_wrp input[type="checkbox"]:checked + span::after {
      opacity: 1; }
    .form_wrp .entry_form_wrp .wpcf7-custom-item-error {
      width: 100%; }
    .form_wrp .entry_form_wrp .wpcf7-not-valid-tip {
      color: #cc0000;
      padding: 5px 10px;
      background: #f4e4e4;
      display: inline-block;
      font-size: 14px;
      font-weight: bold;
      margin-top: 0.5em;
      width: calc(100vw - 40px); }
    .form_wrp .entry_form_wrp .wpcf7-form-control-wrap {
      width: 100%; }
      .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control {
        display: block;
        width: 100%; }
        .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:first-child {
          margin-left: 0; }
        .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label {
          display: flex;
          align-items: center; }
        .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control.item_block .wpcf7-list-item, .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control.item_block_sp .wpcf7-list-item {
          display: block;
          margin-left: 0; }
    .form_wrp .entry_form_wrp .use-floating-validation-tip .wpcf7-not-valid-tip {
      position: absolute;
      left: 0;
      top: 1rem; }
    .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control {
      display: block; }
      .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label {
        display: flex;
        align-items: center; }
      .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control.item_block .wpcf7-list-item, .form_wrp .entry_form_wrp .wpcf7-form-control-wrap .wpcf7-form-control.item_block_sp .wpcf7-list-item {
        display: block; }
    .form_wrp .entry_form_wrp .wpcf7-form-control.wpcf7-not-valid {
      display: block !important; }

  #block_404 .layout_container {
    width: calc(100% - 40px);
    margin-right: auto;
    margin-left: auto; }
  #block_404 .page_404 {
    margin: 70px auto;
    padding: 25px;
    background-color: #eee; }
  #block_404 .page_404_txt2 {
    margin-bottom: 25px; }
  #block_404 .page_404_txt3 {
    margin-bottom: 7.5px; }
  #block_404 .txt1_page_404 {
    font-size: 24px;
    font-weight: bold;
    text-align: center; }
  #block_404 .txt2_page_404 {
    text-align: center;
    font-size: 15px; }
  #block_404 .txt3_page_404 {
    font-size: 15px; }
  #block_404 .link_page_404 {
    text-align: center; }
    #block_404 .link_page_404 a {
      display: inline-block;
      transition: all 0.2s; }
      #block_404 .link_page_404 a:after {
        content: "";
        display: inline-block;
        margin-left: 6px;
        transition: all 0.2s; } }
