/*
Theme Name:lexa-theme
Theme URI: https://lexa.co.jp
Author: Lexa inc.
Author URI: https://lexa.co.jp
Version: 1.0.0
*/
/**********************
- COLOR
- BASE
- GENERAL
-- FONT
-- ALIGN
-- FLEX
-- LIST
-- OTHER
- NAVI
- BREADCRUMB
- CONTAINER
- MARGIN
- HEADING
- BUTTON
- HEADER
- FOOTER
- FV
- ARCHIVE
- SINGLE
- FORM
- PAGE PARTS
- LOADING
- ANIMATION
- RESPONSIVE
***********************/

/**********************
* ブレイクポイント
* 560px/960px
**********************/


/*********************
COLOR
**********************/
:root {
   --black-dark: #000000;
   --black-main: #222222;
   --black-sub: #1A1A1A;
   --black-light: #575757;
   --bg-black: #464646;
   --bg-gray: #FAFAFA;

   --baige-main: #C1B373;
   --baige-sub: #D1C89D;
   --red: #C75D5D;
   --gradient: linear-gradient(70deg, #5DC5F7, #FA966B);

   --futura: futura-pt, 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
   --light: 300;
   --normal: 400;
   --medium: 500;
   --bold: 700;

   --wide-article: 540px;
   --wide-small: 700px;
   --wide-medium: 820px;
   --wide-large: 1140px;

   --font-material: 'Material Icons Round';
}

.bg-white {
   background-color: #fff;
}

.bg-gray {
   background-color: var(--bg-gray);
}

.bg-black {
   background: var(--bg-black);
}

.color-black {
   color: #000;
}

.gradient {
   color: #5DC5F7;
   background: -webkit-linear-gradient(19deg, #5DC5F7, #FA966B);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
}



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

html {
   font-size: 62.5%;
}

body {
   background-color: #FFFFFF;
   color: var(--black-main);
   font-family: futura-pt, 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
   font-weight: var(--normal);
   font-size: 1.6rem;
   letter-spacing: 0.05em;
   line-height: 1.7;
   margin: 0 auto;
}

section {
   position: relative;
   width: 100%;
}

h1,
h2,
h3 {
   color: var(--black-dark);
   font-weight: var(--medium);
}

h1:first-child,
h2:first-child,
h3:first-child {
   margin-top: 0;
}

p {
   margin: 0 0 1em;
}

img {
   width: 100%;
   height: auto;
   border: none;
   line-height: 0;
   vertical-align: bottom;
}

a {
   color: var(--baige-main);
   transition: all 0.3s;
}

a:hover {
   opacity: 0.7;
}

table{
   border: none;
   border-collapse: collapse;
}

tr{
   border-bottom: solid 1px #F6F4EB;
   border: none;
}

th,
td{
   padding: 1em 1.5em;
   border-right: none;
   border-bottom: none;
}

th {
   background-color: transparent;
}

ol,
ul {
   padding: 0;
}

ol li {
   margin: 0 0 1em 1.5em;
}

ul li {
   margin: 0 0 1em 1.2em;
}

dl,
dt,
dd {
   margin: 0;
}



@media only screen and (max-width: 560px) {
   body {
      font-size: 1.4rem;
   }

   th,
   td {
      display: block;
      width: 100%;
   }

   th {
      border: none;
      padding-bottom: 0;
   }

   td {
      padding-left: 0;
      padding-top: .5em;
   }
}


/*********************
GENERAL
*********************/

/*FONT*/
.futura {
   font-family: var(--futura);
}

.catamaran {
   font-family: var(--catamaran);
}

.small {
   font-size: .85em;
}

.large {
   font-size: 1.2em;
}

.strong {
   font-weight: bold;
}

.uppercase {
   text-transform: uppercase;
}

.line-heighter,
.line-heighter * {
   line-height: 2.1;
}

.line-heighter-2,
.line-heighter-2 * {
   line-height: 2.5;
}

.line-heighter p,
.line-heighter-2 p{
   margin: 0 0 2em;
}


@media only screen and (max-width: 560px) {

}


/*ALIGN*/
.center {
   text-align: center;
}

.center > * {
   margin-left: auto;
   margin-right: auto;
}

.left {
   text-align: left;
}

.right {
   text-align: right;
}


/*IMAGE*/
.img-circle {
   border-radius: 50%;
}

.img-radius {
   border-radius: 15px;
}

.section-image{
   position: relative;
   width: 70%;
   overflow: hidden;
}

.section-image::before{
   content: '';
   display: block;
   padding-top: 40%;
}

.section-image img {
   position: absolute;
   top: 0;
   left: 0;
}

@media only screen and (max-width: 560px) {
   .section-image{
      width: 80%;
   }

   .section-image::before{
      padding-top: 60%;
   }
}


/*FLEX*/
.flex {
   display: -webkit-flex;
   display: -ms-flexbox;
   display: -moz-box;
   display: flex;
   -webkit-flex-wrap: wrap;
   flex-wrap: wrap;
   justify-content: space-between;
}

.flex-reverse {
   flex-direction: row-reverse;
}

.nowrap {
   -webkit-flex-wrap: nowrap;
   flex-wrap: nowrap;
}

.space-around {
   justify-content: space-around;
}

.justify-start {
   justify-content: flex-start;
}

.justify-end {
   justify-content: flex-end;
}

.items-center {
   align-items: center;
}

.cell {
   position: relative;
}

.cell img {
   display: block;
   width: 100%;
}

.cell > *:last-child {
   margin-bottom: 0;
}

.cell--1-2 {
   width: 48%;
}

.cell--1-3 {
   width: 30%;
}

.cell--1-4 {
   width: 23%;
}

.cell--2-3 {
   width: 60%;
}

.cell--3-4 {
   width: 70%;
}


@media only screen and (max-width: 560px) {

   .flex {
      flex-direction: column;
   }

   .cell--1-2,
   .cell--1-3,
   .cell--1-4,
   .cell--2-3,
   .cell--3-4{
      margin-bottom: 1em;
      width: 100%;
   }

   .order0 {
      order: 0;
   }

   .order1 {
      order: 1;
   }
}


/*LIST*/
.list-none {
   list-style: none;
   padding-left: 0;
   margin: 0;
}

.list-dot li {
   list-style: none;
   letter-spacing: 0.1em;
   padding-left: 1em;
   text-indent: -1em;
   margin: 0 0 1em;
}

.list-dot li::before {
   content: '';
   background-color: var(--baige-main);
   border-radius: 50%;
   display: inline-block;
   width: 9px;
   height: 9px;
   margin-right: .5em;
}


/*OTHER*/
.relative {
   position: relative;
}

.block {
   display: block;
}

.shadow {
   box-shadow: 0 0 1.8rem -1rem rgb(0 0 0 / 27%);
}

.marker {
   background:linear-gradient(transparent 60%, var(--pink-light) 60%);
}

.box {
   padding: 30px;
}

.box > *:last-child {
   margin-bottom: 0;
}

.box-card {
   background-color: #fff;
   border-radius: 15px; 
}

.box-border {
   border: 1px solid #C6C6C6;
   border-radius: 5px;
}

.box-hastittle {
   position: relative;
   padding-top: 36px;
}

.box-hastittle  > h3 {
   position: absolute;
   margin: 0;
   top: -0.7em;
   background-color: #fff;
   padding: 0 0.5em;
   margin-left: -0.5em;
}

.wrap-number {
   counter-reset: count;
}

.has-number {
   padding-left: 5rem;
   position: relative;
}

.box-hastittle > h3.has-number {
   padding-left: 5rem;
}

.has-number::before {
   color: var(--baige-main);
   content: counter(count)".";
   counter-increment: count;
   font-family: var(--catamaran);
   font-size: 4rem;
   font-weight: 600;
   position: absolute;
   left: 5px;
   top: 50%;
   transform: translateY(-52%);
   letter-spacing: .1em;
}

.has-border {
   border-bottom: 1px dotted var(--black-main);
   padding-bottom: .5em;
}

.filter {
   position: relative;
   z-index: 1;
}

.filter::before {
   content: "";
   height: 100%;
   width: 100%;
   position: absolute;
   top: 0;
   left: 0;
   z-index: -1;
}

.filter-dark::before {
   background-color: rgb(0 0 0 / 22%);
}

.filter-light::before {
   background-color: rgb(255 255 255 / 48%);
}



@media only screen and (max-width: 960px) {

}

@media only screen and (max-width: 560px) {  
   .box {
      padding: 2rem;
   }

   .box-hastittle {
      padding-top: 3rem;
   }


   .list-note li {
      font-size: .9em;
   } 

   .list-dot li::before {
      top: 7px;
   }  

   .has-number {
      padding-left: 3.5rem;
   }

   .box-hastittle > h3.has-number {
      padding-left: 3.5rem;
   }

   .culture-about h3.has-number,
   .selection-tips h3.has-number,
   .work-flow h3.has-number{
      padding-left: 0;
   }
   .work-flow h3.has-number {
      text-align: center;
   }

   .has-number::before {
      font-size: 3rem;
   }
   .work-flow h3.has-number::before {
      margin-right: 5px;
   }

}



/*********************
NAVI
*********************/
.header {
   padding: 15px 2.5%;
   position: sticky;
   top: 0;
   width: 100%;
   z-index: 100;
   transition: all 0.3s;
}

.header-inner {
 max-width: 1920px;
 margin: 0 auto;
 display: flex;
 align-items: center;
 justify-content: space-between;
}

.header.scrolled {
   background-color: #FFFFFF;
}

.header-title {
   margin: 0;
}

.header-title a {
   display: block;
}

.header-title img {
   display: block;
   height: 38px;
}

#drawer-input {
   display: none;
}

.header-nav-item {
   list-style: none;
}

#menu-item-329 {
	display: none;
}

.header-nav-link {
   color: var(--black-main);
   display: block;
   font-family: var(--futura);
   letter-spacing: 0.1em;
   position: relative;
   text-decoration: none;
}


@media only screen and (min-width: 961px) {
   .header-nav-list {
      display: flex;
      margin: 0;
      padding: 0;
   }

   .header-nav-item {
      margin: 0 0 0 4rem;
   }

   .header-nav-item:first-child {
      display: none;
   }

   .header-nav-item:nth-child(2) {
      margin-left: 0;
   }

   .header-nav-link span {
      display: none;
   }

   .drawer-logo {
      display: none;
   }
}

@media only screen and (max-width: 960px) {
   .header {
      padding: 10px;
      position: fixed;
   }

   .header-logo {
      width: 100%;
   }

   .header-title {
      width: 100px;
      margin: 0 auto;
   }

   #drawer-content {
      display: flex;
      justify-content: center;
      align-items: center;
      background: #fff;
      opacity: 0;
      visibility: hidden;
      overflow: auto;
      padding: 35px 30px 0;
      position: fixed;
      top: 0;
      left: 0;
      transition: 0.3s ease-in-out;
      height: 100%;
      width: 100%;
      z-index: -1;
   }

   #drawer-open {
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 50%;
      left: 3%;
      height: 15px;
      width: 22px;
      outline: none;
      z-index: 1000;
      transform: translateY(-50%);
   }

   #drawer-open span {
      content: '';
      background-color: #222;
      display: block;
      height: 1px;
      position: absolute;
      left: 0;
      transition: 0.3s ease-in-out;
      transform-origin: right;
   }

   #drawer-open span.top {
      width: 22px;
      top: 0;
   }

   #drawer-open span.middle {
      width: 11px;
      top: 7px;
   }

   #drawer-open span.bottom {
      width: 17px;
      bottom: 0;
   }

   #drawer-input:checked ~ #drawer-open span.top {
      transform: rotate(-45deg);
   }

   #drawer-input:checked ~ #drawer-open span.middle {
      display: none;
   }

   #drawer-input:checked ~ #drawer-open span.bottom {
      width: 22px;
      bottom: -1px;
      transform: rotate(45deg);
   }

   #drawer-input:checked ~ #drawer-content {
      opacity: 1;
      visibility: visible;
      z-index: 999;
   }

   .drawer-logo {
      position: absolute;
      top: 22px;
   }

   .drawer-logo img {
      height: 35px;
   }

   .header-nav-list {
      font-size: 2.4vh;
      margin: 0;
      text-align: center;
   }

   .header-nav-item {
      margin: 0;
      padding: 1rem 0;
   }

   .header-nav-link {
      padding: .5rem 0;
      width: 100%;
   }

   .header-nav-link span {
      display: block;
      font-size: 1.2vh;
      line-height: 1;
   }
}

@media only screen and (max-width: 560px) {
}





/*********************
BREADCRUMBS
*********************/
#breadcrumb {
   background-color: #fff;
   padding: 2.8rem 0 1rem;
}

.page_noimg #breadcrumb {
   display: none;
}

.header-page_content #breadcrumb {
   padding-top: 0;
}


.breadcrumb-list {
   padding: 0;
   margin: 0;
}

.breadcrumb-item {
   color: var(--black-main);
   font-size: 1.2rem;
   font-family: var(--futura);
   line-height: 1;
   list-style: none;
   display: inline-block;
   margin: 0;
}

.breadcrumb-item:not(:last-of-type)::after {
   content: '';
   display: inline-block;
   width: 1px;
   height: 15px;
   background-color: #B2B2B2;
   margin: 0 2em;
   vertical-align: sub;
}

.breadcrumb-item a {
   color: var(--black-light);
   font-weight: var(--normal);
   text-decoration: none;
}

@media only screen and (max-width: 560px) {
   .single-news #breadcrumb{
      padding: 5.8rem 0 1rem;
   }
}




/*********************
CONTAINER
*********************/
.site-content{
   margin-top: 0;
   margin-bottom: 0;
   padding-top: 30px;
}

.page-id-22 .site-content,
.page-id-26 .site-content {
   padding-top: 0;
}

.section-wrap {
   padding-top: 130px;
   padding-bottom: 130px;
   position: relative;
}

.container {
   max-width: calc(1680px + 5%);
   padding-right: 2.5%;
   padding-left: 2.5%;
   position: relative;
   margin: 0 auto;
   width: 100%;
}

.container-l {
   max-width: 1140px;
   margin: 0 auto;
}

.container-m {
   max-width: 820px;
   margin: 0 auto;
}

.container-s {
   max-width: 700px;
   margin: 0 auto;
}

.container-ss {
   max-width: 480px;
}

.map-wrap {
   position: relative;
}

.map-wrap::before {
   content: "";
   display: block;
   padding-top: 50%;
}

.map-wrap iframe {
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
}


@media only screen and (max-width: 960px) {
   .site-content {
      padding-top: 0;
   }
}

@media only screen and (max-width: 560px) {
   .section-wrap {
      padding-top: 80px;
      padding-bottom: 80px;
   }
   .container {
      padding-right: 4%;
      padding-left: 4%;
   }
}



/*********************
MARGIN
*********************/
.margin-intro {
   margin-bottom: 130px;
}
.margin-section {
   margin-bottom: 240px;
}
.margin-content {
   margin-bottom: 160px;
}
.margin-card {
   margin-bottom: 110px;
}
.margin-box {
   margin-bottom: 80px;
}
.margin-text {
   margin-bottom: 200px;
}


@media only screen and (max-width: 560px) {
   .margin-intro{
      margin-bottom: 80px;
   }
   .margin-section {
      margin-bottom: 140px;
   }
   .margin-content{
      margin-bottom: 100px;
   }
   .margin-card{
      margin-bottom: 80px;
   }
   .margin-box{
      margin-bottom: 60px;
   }
   .margin-text{
      margin-bottom: 120px;
   }
}



/*********************
HEADING
*********************/
.h1-page,
.h2-top {
   font-size: 3rem;/**/
   font-weight: var(--medium);/**/
   letter-spacing: 0.1em;
   margin-bottom: 1em;
}

.h1-page-inner,
.h2-top-inner {
  font-size: 3rem;
  font-weight: var(--medium);
  margin: 0;
}

.h1-page span,
.h2-top span {
   font-family: var(--futura);
   font-size: 2rem;
   font-weight: var(--light);
   display: block;
   letter-spacing: .2em;
   line-height: 1;
   margin-bottom: .5em;
}

.h2-page {
   font-size: 1.4rem;
   font-weight: var(--normal);
   position: relative;
   padding-bottom: 90px;
   text-align: center;
}

.h2-page-inner {
  font-size: 1.4rem;
  font-weight: var(--normal);
  margin: 0;
}

.h2-page span {
   font-family: var(--futura);
   font-size: 3rem;
   font-weight: var(--medium);
   text-transform: uppercase;
   display: block;
   letter-spacing: 0.2em;
   line-height: 1;
   margin-bottom: .35em;   
}

.h2-page::after {
   content: '';
   background-color: var(--black-main);
   display: block;
   height: 68px;
   width: 1px;
   position: absolute;
   left: 50%;
   bottom: 0;
   transform: translate3d(-50%, 0, 0);
}

.h2-jponly {
   font-size: 3rem;
   font-weight: var(--medium);
   letter-spacing: 0.12em;
   line-height: 1.6;
   margin-bottom: 1.8em;
}

/*沈みバージョン*/
.h2-page_sink {
   margin-bottom: -40px;
   z-index: 1;
}

.h3-page {
   font-size: 2rem;
   font-weight: var(--medium);
   margin-bottom: 1em;
}

.h3-page-inner {
   font-size: 2rem;
   font-weight: var(--medium);
    margin: 0;
}

.h3-page span {
   color: var(--black-light);
   display: block;;
   font-size: 1.2rem;
}

.h3-with-en {
  font-size: 3rem;
  font-family: var(--futura);
  font-weight: var(--normal);
  letter-spacing: 0.08em;
  margin-bottom: 1em;
}

.h3-with-en-inner {
  font-size: 3rem;
  font-weight: var(--normal);
  margin: 0;
}

.h3-with-en span {
   font-size: 2rem;
   font-weight: var(--light);
   display: block;
}


@media only screen and (max-width: 960px) {
   .h1-page,
   .h2-top,
   .h1-page-inner,
   .h2-top-inner,
   .h3-with-en,
   .h3-with-en-inner {
      font-size: 2.5rem;
   }

   .h1-page span,
   .h2-top span,
   .h3-with-en span {
      font-size: 1.5rem;
   }
}


@media only screen and (max-width: 560px) {
   .h1-page,
   .h2-top,
    .h1-page-inner,
   .h2-top-inner,
   .h3-with-en,
   .h3-with-en-inner {
      font-size: 2.2rem;
   }

   .h1-page span,
   .h2-top span,
   .h3-with-en span {
      font-size: 1.4rem;
   }

   .h2-page span {
      font-size: 2.2rem; 
   }

   .h2-jponly {
      font-size: 2.2rem;
   }

   .h3-page,
   .h3-page-inner {
      font-size: 1.8rem;
   }

   .h3-page span {
      font-size: 1.15rem;
      margin-bottom: .25em;
   }

}



/*********************
BUTTON
*********************/
.btn-wrap {
   margin-top: 1.5em;
   width: 100%;
}

.btn {
   color: var(--black-main);
   display: inline-block;
   font-size: 1em;
   font-weight: normal;
   line-height: 1;
   position: relative;
   transition: all .3s;
   z-index: 1;
}

.btn-main {
   background-color: var(--baige-main);
   border: 1px solid var(--baige-main);
   border-radius: 30px;
   color: #fff;
   display: inline-block;
   font-size: 1.7rem;
   font-weight: 900;
   padding: 1em 0;
   text-align: center;
   text-decoration: none;
   transition: all .3s;
   width: 100%;
   letter-spacing: .2em;
}

.btn-sub { 
   color: var(--baige-main);
   padding-right: 2em;
   text-decoration: none;
}
.btn-sub::after {
   content: "\e5c8";
   font-family: var(--font-material);
   font-size: 2rem;
   font-weight: 400;
   line-height: 3rem;
   height: 3rem;
   width: 3rem;
   position: absolute;
   top: 50%;
   right: 0;
   transform: translateY(-50%);
   transition: all .3s;
   text-align: center;
}

.btn-top {
   color: var(--baige-main);
   font-size: 1.4rem;
   font-family: var(--futura);
   font-weight: var(--medium);
   letter-spacing: 0.08em;
   text-transform: uppercase;
   text-decoration: none;
   padding-bottom: 4px;
}

.btn-top::before {
   content: '';
   display: block;
   width: 100%;
   height: 1px;
   background-color: var(--baige-main);
   position: absolute;
   left: 0;
   bottom: 0;
}

.btn-top::after {
   content: "\e5c8";
   font-family: var(--font-material);
   font-size: 2.4rem;
   position: absolute;
   top: 50%;
   right: 0;
   transform: translate( calc(100% + 6px), calc(-50% - 2px) );
   transition: all .3s;
   text-align: center;
}


@media only screen and (min-width: 961px) {
   .btn-main:hover {
      opacity: 1;
      background-color: #fff;
      color: var(--baige-main);
   }

   .btn-sub:hover {
      opacity: 1;
   }

   .btn-sub:hover::after {
      right: -.25em;
   }

   .btn-top:hover {
      opacity: 1;
   }

   .btn-top:hover::after {
      transform: translate( calc(100% + 10px), calc(-50% - 2px) );
   }
}



/*********************
HEADER
*********************/
.header-page{
 align-items: center;
 position: relative;
 width: 100%;
 padding-bottom: 8%;
}
.img-header_page{
   border-radius: 30px 0 0 30px;
   width: 50%;
   padding-top: 30%;
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center;
   position: absolute;
   z-index: 1;
}
.page_about {
   background-image: url(../../uploads/gallery_03-min.jpg);
}
.page_culture {
   background-image: url(../../uploads/header-image-culture.jpg);
}
.page_work {
   background-image: url(../../uploads/page_header_work-min.jpg);
}
.page_interview {
   background-image: url(../../uploads/gallery_04-min.jpg);
}
.page_selection {
   background-image: url(../../uploads/page_header_selection-min.jpg);
}
.page_requirement {
   background-image: url(../../uploads/page_header_requirement-min.jpg);
}

.header-page_content{
   background-color: var(--bg-gray);
   width: 100%;
}

.header-page_content .inner{
   max-width: 510px;
   padding: 75px 50px;
}

.page-template-page-job-php .header-page_content .inner {
	max-width: 50%;
}

.page-template-page-job-php .header-page_content p {
	line-height: 2.1;
}

.header-page_content p {
   margin-bottom: 0;
}

.page_noimg {
 height: auto;
 padding: 0;
}
.page_noimg .header-page_content {
   background-color: transparent;
   padding-bottom: 0;
}
.page_noimg .inner {
   padding-top: 120px;
   padding-bottom: 120px;
}


@media only screen and (min-width: 961px) {

}

@media only screen and (max-width: 960px) {
  .header-page{
   padding-bottom: 0;
}
.img-header_page {
   position: relative;
   height: 360px;
   width: 100%;
   padding-top: 0;
   border-radius: 0;
}
.header-page_content {
   margin-top: 0.5em;
   width: 100%;
   max-width: unset;
   z-index: -1;
}
.header-page_content .inner{
   padding: 44px 20px 44px;
}
.page-template-page-job-php .header-page_content .inner {
	max-width: 100%;
}
.page_noimg .inner {
   padding: 160px 0 0;
}
}

@media only screen and (max-width:560px) {
   .img-header_page {
      height: 210px;
   }
}



/*********************
FOOTER
*********************/
#footer {
   position: relative;
}

.footer-cta {
   padding: 100px 0;
   position: relative;
}

.page-id-20 .footer-cta,
.parent-pageid-20 .footer-cta,
.page-id-22 .footer-cta,
.page-id-26 .footer-cta {
   display: none;
}

.footer-cta::before{
   content: "";
   background-color: var(--bg-gray);
   border-radius: 15px 0 0 0;
   display: block;
   height: 70%;
   width: 68%;
   position: absolute;
   bottom: 0;
   right: 0;
   z-index: 0;
}

.cta-content {
   align-items: end;
}
.cell--left {
   padding-left: 8vw;
   padding-right: 8vw;
   width: 45%;
}
.cell--right {
   width: 55%;
}
.cell--right img {
   border-radius: 15px;
}

.footer-cta .gradient {
   display: inline-block;
   margin: 0px;
}

.text-cta {
   margin-bottom: 60px;
}

.site-footer{
   background-color: #FFFFFF;
}

.footer-main{
   background-color: var(--bg-black);
   color: #fff;
   padding: 120px 0 40px;
   position: relative;
}

.footer-main a {
   color: #FFFFFF;
   font-family: var(--futura);
   letter-spacing: 0.2em;
   text-decoration: none;
}

.footer-main_content {
   position: relative;
}

.footer-main_content::before {
   content: "";
   background-color: #fff;
   height: 70%;
   width: 1px;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate3d(-50%, -50%, 0);
}

.footer-main_logo a{
   display: inline-block;
   width: 125px;
}

.footer-main_menu {
   width: 40%;
}

.footer-main_menu li {
   margin: 0 0 1.2em;
   width: 48%;
}

.footer-main_menu li span {
   display: none;
}

.footer-main_menu .nav-corp {
   margin-bottom: 0;
}

.footer-main_menu .nav-corp a::after {
	content: "\e89e";
	font-family: var(--font-material);
	font-size: 1.6rem;
	vertical-align: bottom;
	margin-left: .2em;
}

.copyright{
   margin: 6em 0 0;
}

.copyright a {
   font-size: 1.3rem;
   font-weight: var(--light);
}


@media only screen and (max-width:960px) {
   .footer-cta {
      padding: 85px 0;
   }

   .footer-cta::before {
      width: 80%;
   }

   .cta-content {
      flex-direction: column-reverse;
      padding: 0 1.5em;
   }

   .cell--left,
   .cell--right {
      padding: 0;
      width: 100%;
   }

   .cell--left {
      margin-top: 30px;
   }

   .cell--right .cell--1-2:last-child {
      display: none;
   }

   .text-cta {
      max-width: 320px;
   }
}

@media only screen and (max-width:560px) {
   .text-cta {
      max-width: unset;
   }

   .footer-main_content {
      align-items: center;
      padding-left: 10vw;
      padding-right: 10vw;
   }

   .footer-main_content::before {
      content: none;
   }

   .footer-main_menu {
      margin-top: 80px;
      width: 100%;
   }

   .footer-main_menu .ul-nav {
      flex-direction: row;
   }

   .footer-main_menu li {
      padding-left: 1em;
      margin-bottom: 1em;
   }
   
   .footer-main_menu .nav-corp a::after {
    font-size: 1.4rem;
 }

}



/*********************
FV
*********************/
.fv {
   position: relative;
}

.img-fv {
   width: 88%;
   height: 75vh;
   border-radius: 30px 0 0 30px;
   background-image: url(../../uploads/IMG_9191-min.jpg);
   background-size: cover;
   background-repeat: no-repeat;
   margin-right: 0;
   margin-left: auto;
   z-index: -1;
}

.fv .container {
   margin-top: -50px;
}

.catch-fv {
   font-family: var(--futura);
   font-size: 5.8rem;
   font-weight: var(--light);
   letter-spacing: 0.15em;
   line-height: 1.3;
   margin: 0;
}

.p-fv {
   font-size: 1.4rem;
   letter-spacing: 0.1em;
   margin: 1em 0 0;
}

.scroll-fv {
   color: var(--black-dark);
   font-size: 1.8rem;
   letter-spacing: 0.1em;
   padding-bottom: 140px;
   margin: 0;
   bottom: -100px;
   right: 2.5%;
   transform: translateX(50%);
   writing-mode: vertical-rl;
   -webkit-writing-mode: vertical-rl;
   -ms-writing-mode: tb-rl;
   position: absolute;
}

.scroll-fv::after {
   content: '';
   display: block;
   width: 1px;
   height: 120px;
   background-color: var(--black-dark);
   position: absolute;
   right: 50%;
   bottom: 0;
   animation: scroll 2.5s ease-in-out infinite;
}

@keyframes scroll {
   0% {
      transform: scale(1,0);
      transform-origin: top;
   }
   40% {
      transform: scale(1,1);
      transform-origin: top;
   }
   55% {
      transform: scale(1,1);
      transform-origin: bottom;
   }
   100% {
      transform: scale(1,0);
      transform-origin: bottom;
   }
}

@media only screen and (max-width: 960px) {
   .img-fv {
      height: 68vw;
      border-radius: 0 0 0 30px;
   }

   .fv .container-l {
      padding-left: 40px;
   }

   .copyright-fv {
      top: 40%;
   }

   .scroll-fv {
      font-size: 1.3rem;
      padding-bottom: 116px;
      bottom: -50px;
   }

   .scroll-fv::after {
      width: 1px;
      height: 100px;
   }


}


@media only screen and (max-width:560px) {
   .fv .container-l {
      padding-left: 0;
   }

   .catch-fv {
      font-size: 4rem;
   }


}


/*********************
ARCHIVE
*********************/
.archive-wrap {
   margin-bottom: 50px;
}

.top-interview-inner a,
.archive-wrap a {
   color: var(--black-main);
   text-decoration: none;
}

.image-archive {
   width: 100%;
   aspect-ratio: 5/3;
   border-radius: 15px;
   overflow: hidden;
   position: relative;
   transition: all 0.3s;
}

.image-archive::before {
   content: "";
   position: absolute;
   bottom: 0;
   right: 0;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 0 120px 120px;
   border-color: transparent transparent #ffffff transparent;
   z-index: 1;
   opacity: 0;
   transition: all 0.3s;
}

.image-archive::after {
   content: "MORE";
   position: absolute;
   bottom: 22px;
   right: 5px;
   z-index: 2;
   opacity: 0;
   transition: all 0.3s;
   transform: rotate(-45deg);
   font-weight: var(--bold);
   color: var(--baige-main);
   letter-spacing: 0.2em;
}

.image-archive figure {
   width: 100%;
   height: 100%;
   margin: 0;
   position: relative;
}

.image-archive img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: all 0.3s;
}

h2.archive-title,
h3.archive-title {
   font-size: 2rem;
   font-weight: var(--medium);
   margin: 1em 0 1.6em;
}

.archive--name {
   margin-bottom: 6px;
}

.archive--job {
   color: var(--black-light);
   font-size: 1.4rem;
   margin-bottom: 0;
}

@media only screen and (min-width: 961px) {
   .archive-card:hover .image-archive {
      box-shadow: 0 3px 40px rgb(189 195 199 / 70%);
   }

   .archive-card:hover .image-archive::before,
   .archive-card:hover .image-archive::after {
      opacity: 1;
   }

   .archive-wrap .image-archive:hover {
      color: var(--black-main);
   }

   .archive-card:hover img {
      transform: scale(1.1);
   }

}

/*PAGENATION*/

/* リンクの枠 */
.pagination .nav-links {

}

/* 数字のリンク */
.pagination .page-numbers {
   display: flex;
   justify-content: center;
   margin: 0;
}

.pagination .page-numbers li {
   list-style: none;
   display: inline-block;
   margin: 0 1.5em;
}

.pagination .page-numbers li:first-of-type {
   margin-left: 0;
}

.pagination .page-numbers li:last-of-type {
   margin-right: 0;
}

.pagination .page-numbers a {
   color: var(--black-sub);
   font-family: var(--lato);
   font-weight: var(--normal);
   text-decoration: none;
}

/* 前へ、次へボタン */
.pagination .nav-links .prev {
   background-image: url(../../uploads/arrow-left.svg);
}

.pagination .nav-links .next {
   background-image: url(../../uploads/arrow-right.svg);
}

/* ドット */
.pagination .nav-links .dots {

}

/* 現在のページ */
.pagination .nav-links .current {
   text-decoration: underline;
}


@media only screen and (max-width: 560px) {
   h2.archive-title,
   h3.archive-title {
      font-size: 1.6rem;
   }

}



/*********************
SINGLE
*********************/
.header-single {
   height: 500px;
   position: relative;
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center center;
}

.text-header_single {
 color: #FFFFFF;
 width: 65%;
 position: absolute;
 left: 5%;
 bottom: 50px;
}

.title-single {
   color: #FFFFFF;
   font-size: 3rem;
   font-weight: var(--medium);
   margin-bottom: 1.4em;
}

.name-single{
   font-family: var(--futura);
   font-weight: var(--medium);
   margin-bottom: 0.5em;
}

.job-single{
   font-size: 1.4rem;
   margin-bottom: 0;
}

.question-interview {
   font-size: 2rem;
   font-weight: var(--medium);
   margin-top: 4em;
   margin-bottom: 1.5em;
   padding-left: 5rem;
   position: relative;
}

.question-interview::before {
   color: var(--baige-main);
   content: "Q.";
   font-family: var(--catamaran);
   font-size: 4rem;
   font-weight: 600;
   position: absolute;
   left: 0;
   top: 50%;
   transform: translateY(-50%);
   letter-spacing: .1em;
}

.img-interview-wrap {
   width: 100%;
   aspect-ratio: 2/1;
}

.img-interview {
   height: 100%;
   object-fit: cover;
}

@media only screen and (max-width: 960px) {
	.text-header_single {
		width: 90%;
	}
}


@media only screen and (max-width: 560px) {
   .header-single{
      height: 400px;
   }

   .title-single{
      font-size: 2.2rem;
   }

   .question-interview {
      font-size: 1.8rem;
      line-height: 1.5;
      padding-top: 4.5rem;
      padding-left: 0;
   }

   .question-interview::before{
      font-size: 3.2rem;
      top: 0;
      transform: none;
   }
}




/*********************
FORM
*********************/
.page-id-22 {
   background-color: var(--bg-gray);
}

.page-id-22 .box {
   padding: 60px;
}

input[type=email],
input[type=text],
input[type=tel],
input[type=file],
input[type=url],
input[type=number],
input[type=date],
input[type=submit],
select,
textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}

input[type=email],
input[type=text],
input[type=tel],
input[type=file],
input[type=url],
input[type=number],
input[type=date],
select,
textarea {
   color: inherit;
   font-size: 1.6rem;
   display: inline-block;
   line-height: 1.7;
   width:100%;
}

input[type=email],
input[type=text],
input[type=tel],
input[type=url],
input[type=number],
input[type=date],
select,
textarea {
   border: 1px solid #DBDBDB;
   border-radius: 5px;
   line-height: 1.7;
   padding: 1rem .9rem;
}

input[type=number] {
   margin-right: .5rem;
   padding: .5rem 1rem;
   width: calc(4em + 2rem);
}

input[type=checkbox],
input[type=radio],
.wpcf7-list-item-label {
   vertical-align: middle;
}

input[type=file] {
   border: none;
}

input[type=file],
select {
   cursor: pointer;
}

input:focus,
select:focus,
textarea:focus {
   outline: 0;
}

/*select*/
select {
   background: center / cover no-repeat url();
}
.select-wrap {
   position: relative;
}
.select-wrap::after {
   content: "\e5cf";
   font-family: var(--font-material);
   font-size: 2rem;
   font-weight: 400;
   pointer-events: none;
   position: absolute;
   top: 50%;
   right: .9rem;
   transform: translateY(-50%);
}
/*select end*/

input[type=submit] {
   background-color: var(--baige-main);
   border: 1px solid var(--baige-main);
   border-radius: 30px;
   color: #fff;
   display: inline-block;
   font-size: 2rem;
   font-weight: 900;
   padding: 1em 0;
   text-align: center;
   text-decoration: none;
   transition: all .3s;
   width: 500px;
   letter-spacing: .2em;
   cursor: pointer;
}

input[type=submit]:hover{
   color: #fff;
}

.number-month,
.number-date {
   margin-left: 1em;
}

.wpcf7-list-item {
   margin: 0 1em 0 0;
}

.wpcf7-list-item:last-child {
   margin: 0;
}

.table-contact {
   width: 100%;
}

.table-contact tr {
   border-bottom: none;
   margin-bottom: 2rem;
}

.table-contact th,
.table-contact td {
   border: none;
   display: block;
   padding: 0;
   width: 100%;
}

.table-contact th {
   font-size: 1.8rem;
   font-weight: var(--normal);
   text-align: left;
}

.table-contact td {
   padding-top: 8px;
   padding-bottom: 50px;
}

.contact-label {
   background-color: var(--red);
   border-radius: 2px;
   color: #fff;
   display: inline-block;
   font-size: 12px;
   margin-left: 10px;
   padding: 5px 8px;
   line-height: 1;
   vertical-align: text-bottom;
}

::placeholder {
   color: #ddd;
   font-size: 1.6rem;
   letter-spacing: .15rem;
   line-height: 1.5;
}

.wpcf7-checkbox .wpcf7-list-item {
   display: block;
   margin-bottom: .5em;
}

.wpcf7-acceptance .wpcf7-list-item {
   margin: 0;
}

/*送信ボタン横の空白*/
.wpcf7-spinner {
   display: none;
}

/*送信完了メッセージ*/
.wpcf7 form.sent .wpcf7-response-output {
   background-color: #fff;
   border-color: #4a84af;
   margin-top: 3em;
   padding: 2em; 
}

/*Google CAPCHA*/
.grecaptcha-badge {
   visibility: hidden;
}
.reCAPTCHA {
   font-size: 1.4rem;
   text-align: center;
   padding-top: 2em;
}


@media only screen and (max-width: 560px) {
   .page-id-22 .box {
      padding: 40px 20px;
   }

   input[type=file] {
      font-size: 1.4rem;
   }

   input[type=email],
   input[type=text],
   input[type=tel],
   input[type=url],
   input[type=number],
   input[type=date],
   select,
   textarea {
      padding: 0.8rem 0.8rem;
   }

   input[type=number] {
      width: 60%;
      margin-bottom: 1rem;
   }

   .number-month,
   .number-date {
      margin-left: 0;
   }

   input[type=submit] {
      width: 100%;
      padding: 0.8em 0;
   }

   .wpcf7-list-item {
      display: block;
      margin: 0 0 0.4rem;
   }

   .table-contact th {
      font-size: 1.6rem;
   }

   .table-contact td {
      padding: 10px 0 30px;
   }

   .contact-label {
      font-size: 1.1rem;
   }

   ::placeholder {
      font-size: 1em;
   }

   .wpcf7-list-item-label {
      font-size: 1.4rem;
   }

   .wpcf7-text,
   .wpcf7-textarea {
      font-size: 1.6rem;
   }
}



/*********************
PAGE PARTS
*********************/
/*top*/
.top-message .container-ss {
   margin-left: 90px;
}

.top-message .container-l {
   position: relative;
}

.top-message img {
   width: 32%;
   position: absolute;
   right: 0;
   bottom: -40px;
}

.img-top {
   width: 50%;
   height: 50vw;
   max-height: 720px;
   overflow: hidden;
}

.top-about .img-top,
.top-work .img-top {
   border-radius: 0 30px 30px 0;
}

.top-culture .img-top {
   border-radius: 30px 0 0 30px;
}

.img-top img {
   height: 100%;
   object-fit: cover;
}

.top-about .img-top img {
   object-position: left center;
}

.text-top {
   width: 50%;
}

.text-top-inner {
   max-width: 400px;
   margin: 0 auto;
}

.text-top p {
   color: var(--black-light);
   width: 320px;
   margin-bottom: 2.5em;
}

.top-interview .h1-page {
   margin-bottom: 2em;
}

.top-interview-inner {
   width: 100%;
   display: flex;
   justify-content: space-evenly;
}

.top-interview-inner .post-archive {
   width: 42%;
}

@media only screen and (max-width: 960px) {
   .top-message .container-ss {
      margin-left: 40px;
   }

   .top-message .container-l {
      padding-bottom: 10vw;
   }

   .top-message img {
      width: 40%;
      bottom: -30px;
   }

   .img-top {
      width: 70%;
      height: 46vw;
      margin-bottom: 50px;
   }

   .text-top {
      width: 100%;
   }

   .text-top-inner {
      width: 80%;
      max-width: unset;
   }

   .text-top p {
      width: auto;
   }

   .top-interview-inner .post-archive {
      width: 70%;
      padding: 0 3%;
   }


}

@media only screen and (max-width: 560px) {
   .top-message .container-ss {
      margin-left: 0;
   }

   .img-top {
      width: 80%;
      height: 54vw;
   }

   .top-about .img-top,
   .top-work .img-top {
      margin-left: 0;
      margin-right: 20%;
   }

   .top-culture .img-top {
      margin-right: 0;
      margin-left: 20%;
   }

   .text-top-inner {
      width: 90%;
   }

}

/*top end*/

/*about*/
.about-service {
 max-width: 1280px;
 margin-right: auto;
 margin-left: auto;
}

.section-bgimg-wrap {
   padding-bottom: 180px;
}

.section-bgimg-wrap:last-of-type {
   padding-bottom: 0;
}

.section-bgimg {
   margin-top: 140px;
   position: relative;
   width: 100%;
}
.section-bgimg::before {
   content: '';
   width: 46%;
   height: 100%;
   position: absolute;
   bottom: 0;
   right: 0;
   background-size: contain;
   background-repeat: no-repeat;
}

.section-lexadesign {
   background-color: #ECF0F2; 
}
.section-lexadesign::before{
   background: left top / cover no-repeat url(../../uploads/image-lexadesign.png);
   width: 60%;
}

.section-lexaec {
   background-color: #ECF2EC;
}
.section-lexaec::before{
   background-image: url(../../uploads/image-lexaec.png);
   background-position: center;
   height: 135%;
   transform: scale(-1, 1);
}
.section-lexarecruit {
   background-color: #F7F7F3;
}
.section-lexarecruit::before{
   background-image: url(../../uploads/image-lexarecruit.png);
   background-position: center bottom;
   width: 51%;
}
.section-support {
   background-color: #F4F4F4;
}
.section-support::before{
   background-image: url(../../uploads/image-lexasupport.svg);
   background-position: right bottom;
   height: 43%;
   right: 60px;
   bottom: 60px;
}
.section-bgimg .box {
   border-radius: 0 30px 30px 0;
   padding: 75px;
   position: relative;
   transform: translateY(-140px);
   width: 54%;
}

.section-bgimg-wrap:nth-child(even) .section-bgimg::before {
   right: auto;
   left: 0;
}
.section-bgimg-wrap:nth-child(even) .box {
   border-radius: 30px 0 0 30px;
   margin-left: auto;
   margin-right: 0;
}

.about-design .h1-page {
   margin-bottom: 2.4em;
}

.about-design .uppercase {
   display: inline;
}

.illust-design {
   display: block;
   width: 980px;
   max-width: 100%;
   margin: 0 auto 160px;
}

.table-profile {
   width: 100%;
}

.table-profile tr {
   border-bottom: solid 1px #F6F4EB;
}

.table-profile th {
   font-weight: var(--medium);
   text-align: left;
   vertical-align: top;
   width: 28%;
}

.table-profile td {
   font-family: var(--catamaran);
   width: 72%;
}

.table-profile th,
.table-profile td {
   padding: 1.5em 0.5em;
}

.about-profile li {
   margin: 0 0 1em;
}

.about-message .h2-page {
   margin-bottom: 68px;
}

.about-message p:not(:last-of-type) {
   margin-bottom: 3em;
}

@media only screen and (max-width: 960px) {
   .section-bgimg-wrap {
      padding-bottom: 135px;
   }
   .section-bgimg {
      margin-top: 0;
      padding-bottom: 350px;
   }  
   .section-bgimg::before {
      height: 350px;
      width: 100%;
      bottom: 0;
      z-index: 1;
   }
   .section-lexaec::before {height: 420px;}
   .section-support::before {height: 190px;}
   .section-bgimg .box {
      width: 100%;
      border-radius: 0;
      padding: 50px;
      transform: none;
   }
   .section-bgimg-wrap:nth-child(even) .box {
      border-radius: 0;
   }
}

@media only screen and (max-width: 960px) and (min-width: 561px) {
   .section-lexadesign::before {background-size: contain;}
   .section-lexaec::before {background-position: 18% 50%;}
}

@media only screen and (max-width: 560px) {
   .table-profile th {
      width: 100%;
      padding: 1em 0;
   }

   .table-profile td {
      width: 100%;
      padding: 0 0 1em;
   }

   .section-bgimg {
      padding-bottom: 270px;
   }  
   .section-bgimg::before {
      height: 270px;
   }

   .section-lexaec::before {
      height: 310px;
   }

   .section-support::before {
      height: 170px;
      right: 0;
   }

   .section-bgimg .box {
      padding: 10px 20px 50px 20px;
   }
}
/*about end*/

/*culture*/
.culture-about .container-ss {
   margin-left: 90px;
}

.container-credo .cell--1-2 {
   position: relative;
   width: 44%;
}
.container-credo::after {
   content: "";
   display: block;
   background: center / contain no-repeat url(../../uploads/credo-pc.svg);
   position: absolute;
   width: 54px;
   height: 60px;
   top: 50%;
   left: 50%;
   transform: translate3d(-50%, -50%, 0);
}


.culture-benefit p {
   font-size: 1.4rem;
}

.culture-gallery .h2-page {
   margin-bottom: 4em;
}

.wrap-gallery {
   display: grid;
   grid-template-columns: 3fr 1fr 2fr;
   grid-template-rows: auto auto auto auto auto auto;
   grid-column-gap: 15px;
   grid-row-gap: 15px;
}

.item-gallery {
   position: relative;
   overflow: hidden;
}

.item-gallery-1 {
   grid-area: 1 / 1 / 2 / 4;
   padding-top: 40%;
}

.item-gallery-2 {
   grid-area: 2 / 1 / 3 / 3;
   padding-top: 60%;
}

.item-gallery-3 {
   grid-area: 2 / 3 / 3 / 4;
}

.item-gallery-4 {
   grid-area: 3 / 1 / 4 / 2;
   padding-top: 50%;
}

.item-gallery-5 {
   grid-area: 4 / 1 / 5 / 2;
   padding-top: 75%;
}

.item-gallery-6 {
   grid-area: 3 / 2 / 5 / 4;
}

.item-gallery-7 {
   grid-area: 5 / 1 / 7 / 2;
}

.item-gallery-8 {
   grid-area: 5 / 2 / 6 / 4;
   padding-top: 50%;
}

.item-gallery-9 {
   grid-area: 6 / 2 / 7 / 4;
   padding-top: 75%;
}

.item-gallery img {
   width: 100%;
   height: 100%;
   object-position: center;
   object-fit: cover;
   position: absolute;
   top: 0;
   left: 0;
}

@media only screen and (max-width: 960px) {
   .culture-about .container-ss {
      margin-left: 40px;
   }

   .container-credo .cell--1-2 {
      padding: 20px;
   }
}

@media only screen and (max-width: 560px) {
   .culture-about .container-ss {
      margin-left: 0;
   }

   .container-credo::after {
      background: center / contain no-repeat url(../../uploads/credo-sp.svg);
   }

   .container-credo .cell--1-2 {
      width: 100%;
   }

   .container-credo .cell--1-2:first-child {
      margin-bottom: 45px;
   }
   .container-credo .cell--1-2:last-child {
      margin-top: 50px;
   }

   .container-credo .cell--1-2:first-child::after {
      transform: translate3d(50%, 0, 0) rotate(90deg);
      right: 50%;
      top: auto;
      bottom: calc( 2.5rem - 2.5em );
   }

   .wrap-gallery {
      grid-column-gap: 10px;
      grid-row-gap: 10px;
   }

}
/*culture end*/


/*work*/
.work-jobtype .box {
   padding: 48px 48px 24px;
   margin-bottom: 40px;
}

.work-jobtype .box:last-of-type {
   margin-bottom: 0;
}

.work-jobtype .h3-page {
   margin-bottom: 2em;
}

.work-flow .container-l {
   padding: 240px 0 0;
}

.work-flow .h2-page {
   text-align: left;
   padding: 0;
   margin: 0 0 80px;
   position: sticky;
   top: 110px;
}

.work-flow .h2-page::after {
   content: none;
}

.img-work_flow-pc {
   display: block;
   opacity: 0;
   position: sticky;
   top: 250px;
   z-index: -1;
   transition: all 0.6s;
}

.img-work_flow-pc.is-active {
   opacity: 1;
}

.img-work_flow-sp {
   display: none;
}

.work-flow .box {
   padding: 30px 44px 44px;
}

.work-jobtype p,
.work-flow p {
   font-size: 1.5rem;
}

.work-flow p {
   margin: 1.5em 0 0;
}

@media only screen and (max-width: 960px) {
   .work-flow .box {
      padding: 30px;
   }

}

@media only screen and (max-width: 560px) {
   .work-flow .container-l {
      padding-top: 120px;
   }
   .work-flow .h2-page {
      margin: 0 0 60px;
      position: static;
      top: unset;
   }

   .img-work_flow-pc {
      display: none;
   }

   .img-work_flow-sp {
      display: block;
      margin-bottom: 60px;
   }

   .work-jobtype .box {
      padding: 36px;
   }

   .work-jobtype p,
   .work-flow p {
      font-size: 1.4rem;
   }

   .work-jobtype img {
      margin: 0 auto;
      width: 48%;
   }
}
/*work end*/

/*selection*/
.selection-process .h2-page {
   margin-bottom: 6em;
}

.selection-process .box {
   margin-bottom: 4.8rem;
}

.text-selection {
   text-align: right;
}

@media only screen and (max-width: 960px) {
   .text-selection {
      text-align: left;
   }
}

/*selection end*/

/*requirement*/
.item-requirement {
   text-decoration: none;
   position: relative;
   display: block;
   aspect-ratio: 5/3;
   border-radius: 15px;
   overflow: hidden;
}

.item-requirement::before {
   z-index: 2;
}

.item-requirement img {
   object-fit: cover;
   transition: all 0.3s;
}

.text-requirement {
   color: var(--black-dark);
   font-family: var(--catamaran);
   text-transform: uppercase;
   text-align: center;
   position: absolute;
   top: 50%;
   left: 50%;
   width: 100%;
   z-index: 3;
   transform: translate(-50%,-50%);
}

.text-requirement p {
   font-weight: var(--light);
   letter-spacing: 0.2em;
   margin: 0;  
}

.text-requirement h2 {
   font-weight: var(--normal);
   letter-spacing: 0.12em;
   margin: 0;
}

/*requirement end*/

/*require-job*/
.job-process .h2-page,
.job-process .box {
   margin-bottom: 4.8rem;
}

.job-requirement .box {
   padding: 60px;
}

.job-entry .container-ss {
   margin: 0 auto;
}

@media only screen and (min-width: 961px) {
   .item-requirement:hover {
      opacity: 1;
      box-shadow: 0 3px 40px rgb(189 195 199 / 70%);
   }

   .item-requirement:hover img {
      transform: scale(1.1);
   }

}

@media only screen and (max-width: 560px) {
   .job-requirement .box {
      padding: 40px 40px 60px;
   }

}

/*require-job end*/


/*********************
LOADING
*********************/
#loading,
#loading_logo {
   display: none;
}

.home #loading {
   background-color: #fff;
   display: block;
   position: fixed;
   left: 0;
   text-align:center;
   width: 100%;
   height: 100%;
   z-index: 999;
}

.home #loading_logo {
   display: block;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate3d(-50%, -50%, 0);
}

#loading_logo img {
   width:210px;
}




/*********************
ANIMATION
*********************/
.fadein {
   opacity: 0;
   transform: translateY(30px);
   transition-property: transform, opacity;
   transition-duration: 0.8s;
   transition-delay: 0s;
}

.fadein.is-active {
   opacity: 1;
   transform: translateY(0);
}

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

.delay--3 {
   transition-delay: .6s;
}

.delay--4 {
   transition-delay: .9s;
}


@media only screen and (min-width: 561px) {

}


/*********************
RESPONSIVE
*********************/
@media only screen and (min-width: 961px) {
   .tb_only { display: none !important; }
   .sp_only { display: none !important; }
   .sp_tb { display: none !important; }
}

@media only screen and (min-width: 561px) and (max-width: 960px) {
   .pc_only { display: none !important; }
   .sp_only { display: none !important; }
   .sp_pc { display: none !important; }
}

@media only screen and (max-width: 560px) {
   .pc_only { display: none !important; }
   .tb_only { display: none !important; }
   .tb_pc { display:none!important; }
}

@media only screen and (max-width: 320px) {
   html { font-size: .58em; }
}

.capitalize {
	text-transform: capitalize;
}