@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
  --base-pc-width:1500;
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeOutQuint:cubic-bezier(.25, .46, .45, .94);
  --easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
  --easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
  --easeInCirc:cubic-bezier(0.55, 0, 1, 0.45);
  --theme-color:#d9c888;
  --theme-color02:#169a5a;
  --theme-color03:#2D96C1;
  --base-text-color:#1b140b;
  --base-border-color:#46443c;
  --base-border-color02:#e9e2c4;
  --menu-border-color01:#f36251;
  --menu-border-color02:#fead39;
  --menu-border-color03:#fead39;
  --base-color-orange:#ef8222;
  --base-color-blue:#65bac4;
  --base-color-sand:#d9c989;
  --base-color-green:#23684a;
  --base-color-green02:#62a768;
  --base-color-green03:#026736;
  --border:1px solid var(--base-border-color);
  --base-shadow:1px 1px 0 black,-1px 1px 0 black,1px -1px 0 black,-1px -1px 0 black;
  --hanten:scale(-1, 1); }

@media screen and (max-width: 800px) {
  :root {
    --fz10:clamp(10px,calc((10/400)*100vw),12px);
    --fz12:clamp(12px,calc((12/400)*100vw),14px);
    --fz13:clamp(13px,calc((13/400)*100vw),14px);
    --fz14:clamp(14px,calc((14/400)*100vw),16px);
    --fz15:clamp(15px,calc((15/400)*100vw),17px);
    --fz16:clamp(16px,calc((16/400)*100vw),18px);
    --fz17:clamp(17px,calc((17/400)*100vw),19px);
    --fz18:clamp(18px,calc((18/400)*100vw),20px);
    --fz19:clamp(19px,calc((19/400)*100vw),21px);
    --fz20:clamp(20px,calc((20/400)*100vw),22px);
    --fz21:clamp(21px,calc((21/400)*100vw),23px);
    --fz22:clamp(22px,calc((22/400)*100vw),24px);
    --fz24:clamp(24px,calc((24/400)*100vw),26px);
    --fz25:clamp(25px,calc((25/400)*100vw),27px);
    --fz26:clamp(26px,calc((26/400)*100vw),28px);
    --fz27:clamp(27px,calc((27/400)*100vw),29px);
    --fz28:clamp(28px,calc((28/400)*100vw),30px);
    --fz32:clamp(32px,calc((23/400)*100vw),35px);
    --fz35:clamp(35px,calc((25/400)*100vw),39px);
    --fz36:clamp(36px,calc((36/400)*100vw),40px);
    --fz38:clamp(38px,calc((38/400)*100vw),42px);
    --fz40:clamp(40px,calc((40/400)*100vw),44px);
    --fz45:clamp(45px,calc((45/400)*100vw),49px);
    --fz56:clamp(56px,calc((56/400)*100vw),60px); } }
/* ==========================================================================
	hasei_fv
========================================================================== */
#hasei_fv h1 {
  width: 590px; }

@media screen and (max-width: 800px) {
  #hasei_fv h1 {
    width: 77.5%; } }
/* ==========================================================================
	intro
========================================================================== */
.intro {
  position: relative;
  padding-top: 200px;
  padding-bottom: 150px;
  z-index: 5; }
  .intro .top_area {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto 190px;
    z-index: 5; }
    .intro .top_area .img_area {
      position: relative;
      width: 65.3333333333%;
      border-radius: 0 5px 5px 0;
      z-index: 10; }
      .intro .top_area .img_area img {
        border-radius: 0 5px 5px 0;
        border: 1px solid var(--base-border-color);
        border-left: none; }
    .intro .top_area .text_area {
      position: relative;
      z-index: 10;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 34.6666666667%; }
      .intro .top_area .text_area h2 {
        font-size: clamp(52px, 3.6vw, 64.8px);
        line-height: calc(84/54); }
        .intro .top_area .text_area h2 span {
          color: var(--base-color-green); }
    .intro .top_area .illust {
      position: absolute;
      width: 434px;
      right: -160px;
      top: 424px;
      z-index: 1; }
  .intro .middle_area {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: clamp(780px, 86.6666666667vw, 1664px);
    margin: 0 auto 13.3333333333%;
    z-index: 10; }
    .intro .middle_area .n_txt {
      font-size: clamp(20px, 1.4666666667vw, 26.4px);
      --lh: 2;
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      width: 65.3846153846%; }
      .intro .middle_area .n_txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .intro .middle_area .n_txt::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
      .intro .middle_area .n_txt:not(:first-child) {
        margin-top: 4vw; }
    .intro .middle_area .img_area {
      width: 32.3076923077%;
      aspect-ratio: 420/640;
      max-width: 450px;
      position: absolute;
      top: 0;
      right: -3.8461538462%; }
      .intro .middle_area .img_area img {
        border-radius: 5px;
        border: 1px solid var(--base-border-color); }
  .intro .welfare_area {
    position: relative;
    background: #fff;
    padding: 100px 0;
    border-radius: 50px;
    z-index: 20; }
    .intro .welfare_area .bado {
      position: absolute;
      top: -139px;
      right: 10.3846153846%;
      width: 199px;
      opacity: 0;
      -webkit-transition: all 0.4s var(--easeInOutCubic);
      transition: all 0.4s var(--easeInOutCubic); }
      .intro .welfare_area .bado:after {
        content: "";
        display: block;
        position: absolute;
        width: 120px;
        height: 71px;
        top: -70px;
        right: -65px;
        background: url(../img/recruit/welfare_bado-bubble.png);
        background-size: cover;
        opacity: 0;
        -webkit-transform: translateY(30px);
                transform: translateY(30px);
        -webkit-transition: all 0.4s var(--easePopUp);
        transition: all 0.4s var(--easePopUp);
        -webkit-transition-delay: .4s;
                transition-delay: .4s; }
      .intro .welfare_area .bado.move {
        opacity: 1; }
        .intro .welfare_area .bado.move:after {
          opacity: 1;
          -webkit-transform: translateY(0);
                  transform: translateY(0); }
    .intro .welfare_area .inr {
      position: relative;
      width: 85%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      z-index: 20; }
    .intro .welfare_area .title_area {
      width: 31.8181818182%;
      min-width: 280px; }
      .intro .welfare_area .title_area h3 {
        font-size: 80px;
        font-weight: 900;
        color: var(--base-color-green); }
      .intro .welfare_area .title_area p {
        font-size: 24px;
        line-height: calc(44/24); }
        .intro .welfare_area .title_area p span {
          color: var(--base-color-green); }
    .intro .welfare_area .num_area {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      .intro .welfare_area .num_area li {
        display: block;
        margin-bottom: 20px; }
        .intro .welfare_area .num_area li .o-bg_txt {
          display: inline-block;
          padding: 2px 15px;
          background: var(--base-color-orange);
          font-size: 17px;
          font-weight: 500;
          color: #fff;
          text-shadow: var(--base-shadow);
          border: 1px solid var(--base-border-color);
          margin-right: 18px;
          border-radius: 17px; }
        .intro .welfare_area .num_area li h4 {
          display: inline-block;
          font-weight: 500;
          font-size: 26px;
          --b_color:var(--base-border-color);
          background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
          background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
          background-repeat: no-repeat;
          background-position: 0px 90%;
          background-size: 100% 2px; }
    .intro .welfare_area .forest {
      position: absolute;
      right: 75px;
      bottom: 0;
      width: 555px;
      opacity: 0;
      -webkit-transition: all 0.4s var(--easeInOutCubic);
      transition: all 0.4s var(--easeInOutCubic); }
      .intro .welfare_area .forest.move {
        opacity: 1; }

@media screen and (max-width: 1150px) {
  .intro .welfare_area .inr {
    width: 680px;
    margin: 0 auto;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }

  .intro .welfare_area .num_area {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 360px; }

  .intro .welfare_area .num_area li .o-bg_txt {
    display: table; } }
@media screen and (max-width: 800px) {
  .intro {
    padding-top: 20%;
    padding-bottom: 0; }
    .intro .top_area {
      display: block;
      margin: 0 auto 50px; }
      .intro .top_area .img_area {
        position: relative;
        width: 92.5%;
        margin-left: 7.5%;
        border-radius: 2.5px 0 0 2.5px;
        margin-bottom: 90px; }
        .intro .top_area .img_area img {
          border-radius: 2.5px 0 0 2.5px;
          border-right: none;
          border-left: 1px solid var(--base-border-color); }
      .intro .top_area .text_area {
        display: block;
        width: 82.5%;
        margin: 0 auto; }
        .intro .top_area .text_area h2 {
          font-size: var(--fz27);
          line-height: calc(84/54); }
      .intro .top_area .illust {
        width: 190px;
        right: -75px;
        top: 28vw;
        z-index: 30; }
    .intro .middle_area {
      width: 100%;
      margin: 0 auto calc(21.25vw + 95px);
      z-index: 10; }
      .intro .middle_area .n_txt {
        font-size: var(--fz16);
        --lh: 2;
        width: 82.5%;
        margin: 0 auto; }
        .intro .middle_area .n_txt:not(:first-child) {
          margin-top: 10vw; }
        .intro .middle_area .n_txt:nth-child(2) {
          width: 100%;
          padding-left: 8.75%;
          padding-right: 8.75%;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box; }
        .intro .middle_area .n_txt img {
          display: inline-blck !Important;
          width: 47.5%;
          float: right;
          border-radius: 2.5px 0 0 2.5px;
          border: 1px solid var(--base-border-color);
          border-right: none;
          margin-left: -3.5vw;
          -webkit-transform: translateX(8.75vw);
                  transform: translateX(8.75vw); }
      .intro .middle_area .img_area {
        margin-top: 10vw;
        width: 47.5%;
        position: relative;
        top: auto;
        right: auto; }
        .intro .middle_area .img_area img {
          border-radius: 5px 0 0 5px;
          border-right: 0; }
    .intro .welfare_area.-w1400 {
      width: 100%;
      padding: 60px 0 120px;
      border-radius: 25px 25px 0 0;
      border: 1px solid var(--base-border-color);
      border-bottom: none;
      z-index: 20; }
      .intro .welfare_area.-w1400 .bado {
        top: -93px;
        right: calc(50% - 125px);
        width: 133px; }
        .intro .welfare_area.-w1400 .bado:after {
          width: 110px;
          height: 60px;
          top: 0;
          right: calc(100% + 1px);
          background-image: url(../img/recruit/welfare_bado-bubble_sp.png); }
      .intro .welfare_area.-w1400 .inr {
        width: 85%;
        display: block; }
      .intro .welfare_area.-w1400 .title_area {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 100%;
        min-width: 10px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        margin-bottom: 10vw; }
        .intro .welfare_area.-w1400 .title_area h3 {
          font-size: var(--fz40);
          -webkit-transform: translateX(-15px);
                  transform: translateX(-15px); }
        .intro .welfare_area.-w1400 .title_area p {
          font-size: var(--fz19);
          line-height: calc(64/38); }
      .intro .welfare_area.-w1400 .num_area {
        display: block;
        width: 100%;
        border-radius: 5px;
        border: 1px solid var(--base-border-color);
        overflow: hidden; }
        .intro .welfare_area.-w1400 .num_area li {
          display: block;
          text-align: center;
          padding: 25px 10px 30px;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          margin-bottom: 0; }
          .intro .welfare_area.-w1400 .num_area li:nth-child(odd) {
            background: #f2f2f2; }
          .intro .welfare_area.-w1400 .num_area li:not(:last-child) {
            border-bottom: 1px solid var(--base-border-color); }
          .intro .welfare_area.-w1400 .num_area li .o-bg_txt {
            padding: 2px 10px;
            font-size: var(--fz13);
            margin: 0 auto 15px; }
          .intro .welfare_area.-w1400 .num_area li h4 {
            font-size: var(--fz22);
            background: none; }
      .intro .welfare_area.-w1400 .forest {
        right: calc(50% - 137px);
        width: 277px; } }
/* ==========================================================================
	recruit
========================================================================== */
.recruit {
  position: relative;
  background: var(--base-color-green);
  z-index: 20; }
  .recruit .tit_area {
    position: relative;
    padding-top: 380px;
    padding-bottom: 98px;
    z-index: 5; }
    .recruit .tit_area h2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-size: 80px;
      width: 620px;
      height: 115px;
      background: #fff;
      font-weight: 500;
      color: var(--base-color-green);
      margin-bottom: 70px; }
    .recruit .tit_area p {
      font-size: 22px;
      color: #fff;
      --lh:calc(36/22);
      font-weight: 500; }
    .recruit .tit_area .forest {
      position: absolute;
      left: -250px;
      top: -310px;
      width: 606px;
      z-index: 5; }
    .recruit .tit_area .illust {
      position: absolute;
      right: 60px;
      bottom: -5px;
      width: 429px;
      aspect-ratio: 429/415; }
      .recruit .tit_area .illust img {
        position: relative;
        z-index: 10; }
      .recruit .tit_area .illust:before {
        content: "";
        display: block;
        position: absolute;
        top: -147px;
        right: -110px;
        width: 662px;
        height: 662px;
        background: url(../img/recruit/recruit_bado-circle.png);
        background-size: cover;
        z-index: 1;
        -webkit-animation: rotateRight 30s linear infinite;
                animation: rotateRight 30s linear infinite; }
      .recruit .tit_area .illust:after {
        content: "";
        display: block;
        position: absolute;
        top: -70px;
        right: -5px;
        width: 140px;
        height: 70px;
        background: url(../img/recruit/recruit_bado-bubble.png);
        background-size: cover;
        z-index: 10;
        opacity: 0;
        -webkit-transform: translateY(30px);
                transform: translateY(30px);
        -webkit-transition: all 0.4s var(--easePopUp);
        transition: all 0.4s var(--easePopUp);
        -webkit-transition-delay: .4s;
                transition-delay: .4s; }
      .recruit .tit_area .illust.move:after {
        opacity: 1;
        -webkit-transform: translateY(0);
                transform: translateY(0); }
  .recruit .job_list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 常に3列に設定 */
    grid-auto-rows: auto;
    /* 行の高さを自動調整 */
    gap: 0;
    /* 隙間なし */
    z-index: 20; }
    .recruit .job_list a {
      position: relative;
      background: #fff;
      border-radius: 5px;
      border-top: 1px solid var(--base-border-color);
      border-right: 1px solid var(--base-border-color);
      border-bottom: 1px solid var(--base-border-color);
      padding: 20px 20px 60px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      /* 枠線を含むサイズ調整 */
      -webkit-transition: background 0.4s var(--easeOutQuad);
      transition: background 0.4s var(--easeOutQuad); }
      .recruit .job_list a:first-child, .recruit .job_list a:nth-child(3n+1) {
        border-left: 1px solid var(--base-border-color);
        /*各行一番左に左線を引く*/ }
      .recruit .job_list a:not(:last-child):not(:nth-last-child(-n+3)) {
        border-bottom: none;
        /* 最後の行以外、下線を削除して重なりを防ぐ */ }
      .recruit .job_list a .img_area {
        width: 100%;
        aspect-ratio: 426/310;
        border-radius: 5px;
        border: 1px solid var(--base-boder-color);
        overflow: hidden; }
      .recruit .job_list a .text_area {
        position: relative;
        padding-top: 55px;
        padding-bottom: 105px;
        width: 84.5070422535%;
        margin: 0 auto;
        z-index: 10; }
        .recruit .job_list a .text_area .num {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          position: absolute;
          left: 0;
          right: 0;
          top: -15px;
          margin: auto;
          width: 155px;
          height: 42px;
          border-radius: 22px;
          border: 1px solid var(--base-border-color);
          background: var(--theme-color);
          font-size: 18px;
          color: #fff;
          text-shadow: var(--base-shadow); }
        .recruit .job_list a .text_area h3 {
          font-size: clamp(38px, 2.6666666667vw, 48px);
          text-align: center;
          --lh:1.5;
          position: relative;
          /*
          overflow: hidden;
          */
          line-height: calc(var(--lh)* 1em);
          padding-top: .1px;
          padding-bottom: .1px;
          -webkit-transition: color 0.4s var(--easeOutQuad);
          transition: color 0.4s var(--easeOutQuad);
          margin-bottom: 25px; }
          .recruit .job_list a .text_area h3::before {
            content: '';
            display: block;
            height: 0;
            width: 0;
            /*
            margin-top: calc((1 - var(--lh)) * 0.5em);
            */
            margin-top: calc((1 - var(--lh))* .5em); }
          .recruit .job_list a .text_area h3::after {
            content: '';
            display: block;
            height: 0;
            width: 0;
            margin-bottom: calc((1 - var(--lh))* .5em); }
        .recruit .job_list a .text_area .b_txt {
          font-size: clamp(16px, 1.2vw, 21.6px);
          --lh:calc(30/18);
          position: relative;
          /*
          overflow: hidden;
          */
          line-height: calc(var(--lh)* 1em);
          padding-top: .1px;
          padding-bottom: .1px;
          -webkit-transition: color 0.4s var(--easeOutQuad);
          transition: color 0.4s var(--easeOutQuad); }
          .recruit .job_list a .text_area .b_txt::before {
            content: '';
            display: block;
            height: 0;
            width: 0;
            /*
            margin-top: calc((1 - var(--lh)) * 0.5em);
            */
            margin-top: calc((1 - var(--lh))* .5em); }
          .recruit .job_list a .text_area .b_txt::after {
            content: '';
            display: block;
            height: 0;
            width: 0;
            margin-bottom: calc((1 - var(--lh))* .5em); }
      @media (hover: hover) {
        .recruit .job_list a:hover {
          background: var(--theme-color02); }
          .recruit .job_list a:hover h3, .recruit .job_list a:hover .b_txt {
            color: #fff; }
          .recruit .job_list a:hover .link_btn .arrow img {
            -webkit-animation: to-lb02 1s steps(2) infinite;
                    animation: to-lb02 1s steps(2) infinite; } }
    .recruit .job_list .link_btn {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 60px;
      margin: auto;
      max-width: calc(100% - 40px); }

@media screen and (min-width: 1101px) and (max-width: 1300px) {
  .recruit .tit_area .illust {
    right: -55px;
    bottom: -145px;
    width: 428px; }
    .recruit .tit_area .illust:before {
      display: none; } }
@media screen and (min-width: 801px) and (max-width: 1100px) {
  .recruit .tit_area .illust {
    display: none; }

  .recruit .job_list {
    grid-template-columns: repeat(2, 1fr); }
    .recruit .job_list a {
      border-top: 1px solid var(--base-border-color);
      border-right: 1px solid var(--base-border-color);
      border-bottom: 1px solid var(--base-border-color);
      padding: 20px 20px 60px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      /* 枠線を含むサイズ調整 */ }
      .recruit .job_list a:first-child, .recruit .job_list a:nth-child(3n+1) {
        border-left: none; }
      .recruit .job_list a:nth-child(odd) {
        border-left: 1px solid var(--base-border-color);
        /*各行一番左に左線を引く*/ }
      .recruit .job_list a:not(:last-child):not(:nth-last-child(-n+2)) {
        border-bottom: none;
        /* 最後の行以外、下線を削除して重なりを防ぐ */ } }
@media screen and (max-width: 800px) {
  .recruit .tit_area {
    padding-top: 75px;
    padding-bottom: 225px; }
    .recruit .tit_area h2 {
      display: table;
      margin: 0 auto 40px;
      font-size: var(--fz45);
      width: auto;
      height: auto;
      padding: 5px 15px; }
    .recruit .tit_area p {
      font-size: var(--fz16);
      --lh:calc(52/30);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      text-align: center; }
      .recruit .tit_area p::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .recruit .tit_area p::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .recruit .tit_area .illust {
      right: calc(50% - 112px);
      bottom: -57px;
      width: 215px; }
      .recruit .tit_area .illust:before {
        top: -12px;
        right: -75px;
        width: 375px;
        height: 375px; }
      .recruit .tit_area .illust:after {
        top: -20px;
        right: -50px;
        width: 120px;
        height: 60px;
        background-image: url(../img/recruit/recruit_bado-bubble.png); }
  .recruit .job_list {
    grid-template-columns: repeat(1, 1fr); }
    .recruit .job_list a {
      border-radius: 0;
      border-left: 1px solid var(--base-border-color);
      border-bottom: none;
      padding: 10px 10px 40px; }
      .recruit .job_list a:first-child {
        border-radius: 2.55px 2.55px 0 0; }
      .recruit .job_list a:last-child {
        border-radius: 0 0 2.5px 2.5px;
        border-bottom: 1px solid var(--base-border-color); }
      .recruit .job_list a:not(:last-child):not(:nth-last-child(-n+3)) {
        border-bottom: none; }
      .recruit .job_list a .img_area {
        border-radius: 2.5px; }
      .recruit .job_list a .text_area {
        padding-top: 45px;
        padding-bottom: 0;
        width: 90.2777777778%;
        z-index: 10; }
        .recruit .job_list a .text_area .num {
          top: -14px;
          margin: auto;
          width: 120px;
          height: 27px;
          font-size: 14px; }
        .recruit .job_list a .text_area h3 {
          font-size: var(--fz27);
          margin-bottom: 25px; }
        .recruit .job_list a .text_area .b_txt {
          font-size: var(--fz15);
          --lh:calc(50/30);
          margin-bottom: 22px; }
    .recruit .job_list .link_btn {
      position: relative;
      width: 90.2777777778%;
      bottom: auto;
      max-width: 100%; } }
/* ==========================================================================
	contact
========================================================================== */
.contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1500px;
  margin: 150px auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .contact .tit_area {
    position: relative;
    width: 35.7142857143%; }
    .contact .tit_area h2 {
      font-size: 70px;
      --lh:1.5;
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      margin-bottom: 25px; }
      .contact .tit_area h2::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .contact .tit_area h2::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .contact .tit_area .en {
      display: block;
      font-size: 22px;
      --lh:1.5;
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      color: var(--theme-color02);
      margin-bottom: 45px; }
      .contact .tit_area .en::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .contact .tit_area .en::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .contact .tit_area .b_txt {
      font-size: 22px;
      font-weight: 500;
      --lh:1.5;
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px; }
      .contact .tit_area .b_txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .contact .tit_area .b_txt::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
  .contact .contact-info {
    position: relative;
    background: #fff;
    width: 58%;
    padding: 60px 20px 50px;
    border: 1px solid var(--base-border-color);
    text-align: center;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .contact .contact-info:before, .contact .contact-info:after {
      content: "";
      dsplay: block;
      position: absolute;
      top: 20px;
      width: 30px;
      height: 30px;
      background: url(../img/common/bolt.png);
      background-size: cover; }
    .contact .contact-info:before {
      left: 20px; }
    .contact .contact-info:after {
      right: 20px; }
    .contact .contact-info .gb_txt {
      display: inline-block;
      font-size: 16px;
      color: #fff;
      padding: 4px 24px 0;
      height: 34px;
      background: var(--theme-color02);
      border-radius: 22px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-transform: translateY(-5px);
              transform: translateY(-5px);
      margin-right: 20px; }
    .contact .contact-info .en {
      position: relative;
      display: inline-block;
      padding-left: 50px;
      font-size: 44px;
      letter-spacing: -0.02em;
      color: var(--theme-color02);
      padding-bottom: 5px; }
      .contact .contact-info .en:before {
        content: "";
        display: block;
        position: absolute;
        left: 0px;
        bottom: 15px;
        width: 43px;
        height: 18px;
        background: url(../img/recruit/info_tel.png);
        background-size: cover; }
      .contact .contact-info .en.fax:before {
        width: 40px;
        height: 15px;
        background-image: url(../img/common/fax_icon.png); }
    .contact .contact-info .c_txt {
      font-size: 18px;
      color: var(--theme-color02);
      margin-top: 8px; }

@media screen and (max-width: 1050px) {
  .contact {
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .contact .tit_area {
      width: 100%;
      text-align: center;
      margin-bottom: 50px; }
    .contact .contact-info {
      width: 100%; } }
@media screen and (max-width: 800px) {
  .contact {
    margin: 75px auto; }
    .contact .tit_area {
      width: 100%;
      margin-bottom: 50px; }
      .contact .tit_area h2 {
        font-size: var(--fz40);
        margin-bottom: 15px; }
      .contact .tit_area .en {
        font-size: var(--fz16);
        margin-bottom: 38px; }
      .contact .tit_area .b_txt {
        font-size: var(--fz16); }
    .contact .contact-info {
      width: 100%;
      padding: 40px 20px 50px;
      border-radius: 15px; }
      .contact .contact-info:before, .contact .contact-info:after {
        top: 10px; }
      .contact .contact-info:before {
        left: 10px; }
      .contact .contact-info:after {
        right: 10px; }
      .contact .contact-info .gb_txt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font-size: 14px;
        padding: 0;
        width: 150px;
        height: 30px;
        -webkit-transform: translateY(0);
                transform: translateY(0);
        margin: 0 auto 12px; }
      .contact .contact-info .en {
        padding-left: 45px;
        font-size: 27px;
        padding-bottom: 5px; }
        .contact .contact-info .en:before {
          bottom: 15px;
          width: 33px;
          height: 14px;
          background-image: url(../img/recruit/info_tel_sp.png); }
      .contact .contact-info .c_txt {
        font-size: 14px;
        margin-top: 0; } }

/*# sourceMappingURL=recruit.css.map */