@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/*===============================================================*/
/*  Copyright (C) 2009 Branding Technology All Rights Reserved.  */
/*===============================================================*/
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 160%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.8em;
}

img {
    vertical-align: bottom;
    flex-shrink: 0;
    max-width: 100%;
}

a {
    color: #003879;
    text-decoration: underline;
    transition: all 0.2s;
}

a:hover {
    text-decoration: none;
}

table {
    width: 100%;
}

p {
    margin-bottom: 1.85em;
    line-height: 2em;
}

p:last-child {
    margin-bottom: 0;
}

dd,
td,
th,
li {
    line-height: 1.8em;
}

button {
    cursor: pointer;
    border: solid 1px #333;
    border-radius: 0;
    outline: none;
    box-shadow: none;
}
:root {
    --gothic-font: "Noto Sans JP", sans-serif;
    --mincho-font: "Noto Serif JP", serif;
    --lato-font: "Lato", sans-serif;
    --color-lblue: #d1d6e3;
    --color-blue: #173375;
    --color-pink: #d30056;
    --color-dpink: #a01052;
}
.section {
    padding: 0 0 0 0;
    margin: 0 0 100px 0;
}

.section .section {
    padding: 0 0 0;
    margin: 0 0 30px 0;
}

.section:last-child {
    margin-bottom: 0 !important;
}

.image-l {
    float: left;
    margin: 0 60px 20px 0;
}

.image-r {
    float: right;
    margin: 0 0 20px 60px;
}

.d-flex {
    display: flex;
}

.d-flex-column {
    display: flex;
    flex-direction: column;
}

.flex-wrap {
    display: flex;
    flex-wrap: wrap;
}

.flex-center-all {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.list_icon01 {
}
.list_icon01 li {
    position: relative;
    padding-left: 15px;
    margin-bottom: 5px;
}
.list_icon01 li:last-child {
    margin-bottom: 0;
}
.list_icon01 li::before {
    content: '';
    width: 5px;
    height: 5px;
    background: var(--color-blue);
    position: absolute;
    left: 0;
    top: 12px;
}
.list_icon01.pink li::before {
    background: var(--color-pink);
}
/*=============================G L O B A L=============================*/
html {
    background: #fff;
}

body {
    color: #000000;
    -webkit-text-size-adjust: none;
    min-width: 320px;
    font-family: var(--gothic-font);
}

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

#wrapper {
    max-width: 1920px;
    min-width: 1260px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0 auto;
}

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

.to-top {
    position: fixed;
    z-index: 100;
    width: 60px;
    height: 60px;
    background: #fff;
    bottom: 20px;
    right: 20px;
    border-radius: 4px;
    cursor: pointer;
    border: solid 1px #003879;
    transition: all 0.2s;
    transform-origin: 50% 100%;
    transform: scale(0.5);
    opacity: 0;
    visibility: hidden;
}

.to-top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}

.to-top:before {
    content: "";
    width: 14px;
    height: 14px;
    border-top: solid 3px #003879;
    border-right: solid 3px #003879;
    transform: rotateZ(-45deg);
    position: absolute;
    left: 0;
    top: 20px;
    right: 0;
    margin: auto;
}

.to-top:after {
    content: "";
    width: 14px;
    height: 14px;
    border-top: solid 3px #003879;
    border-right: solid 3px #003879;
    transform: rotateZ(-45deg);
    position: absolute;
    left: 0;
    top: 30px;
    right: 0;
    margin: auto;
}

/*============================= H_E_A_D_E_R =============================*/
header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    height: 90px;
    z-index: 200;
    transition: 0.2s linear;
}

header.fixed {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);    
    background: rgba(0, 0, 0, 0.8);    
}
header.fixed #logo img {
  filter: brightness(0) invert(1);
}
header.fixed #menu-toggle span {
    background: #fff !important;
}
#recruit #menu-toggle span {
    background: var(--color-blue);
}
#menu-toggle span {
    display: block;
    position: absolute;
    height: 2px;
    width: 90%;
    background: #fff;
    border-radius: 0;
    opacity: 1;
    left: 10%;
    transform: rotate(0deg);
    transition: 0.25s ease-in-out;
}
header .inner{
    max-width: 100%;
    height: 100%;
    padding: 0 2%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header #logo{
    margin-bottom: 0;
}
header #logo img{
    width: 404px;
}
#menu-toggle {
    width: 40px;
    height: 40px;
    position: relative;
    margin: 0 0;
    transform: rotate(0deg);
    transition: 0.5s ease-in-out;
    cursor: pointer;
    z-index: 1300;
}

#menu-toggle span {
    display: block;
    position: absolute;
    height: 2px;
    width: 90%;
    background: #fff;
    border-radius: 0;
    opacity: 1;
    left: 10%;
    transform: rotate(0deg);
    transition: 0.25s ease-in-out;
}

#menu-toggle span:nth-child(1) {
    top: 6px;
}

#menu-toggle span:nth-child(2),
#menu-toggle span:nth-child(3) {
    top: 16px;
}

#menu-toggle span:nth-child(4) {
    top: 26px;
}

#menu-toggle.open span:nth-child(1) {
    top: 16px;
    width: 0%;
    left: 50%;
}

#menu-toggle.open span:nth-child(2) {
    transform: rotate(45deg);
}

#menu-toggle.open span:nth-child(3) {
    transform: rotate(-45deg);
}

#menu-toggle.open span:nth-child(4) {
    top: 20px;
    width: 0%;
    left: 50%;
}
#gnavi{
    width: 100%;
    height: 0;
    opacity: 1;
    visibility: visible;
    position: fixed;
    top: 70px;
    background: rgba(0, 0, 0, 0.8);
    overflow-y: auto;
}
#gnavi ul{
    height: 0;
    visibility: hidden;
    opacity: 0;
}
.open-nav #gnavi ul{
    height: auto;
    opacity: 1;
    visibility: visible;
}
.open-nav #gnavi{
    max-height: calc(100% - 310px);
    width: 100%;
    height: auto;
    opacity: 1;
    visibility: visible;
    position: fixed;
    top: 90px;
    background: rgba(0, 0, 0, 0.8);    
}
#gnavi ul li{
}
#gnavi ul li:first-child a{
    border-top: 1px solid #fff;
}
#gnavi ul li a{
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 20px 10px;
    border-bottom: 1px solid #fff;
}
/* =========================================================
   COMMON
========================================================= */
main{
    width: 100%;
    overflow-x: hidden; 
}
#recruit_sales main, #recruit_office main{
    width: 100%;
    overflow-x: hidden; 
    padding-bottom: 110px;
}
.inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.cont {
}

.box_ttl {
    
}

.box_ttl h3 {    
    font-size: 42px;
    font-weight: 500;
}

.box_ttl .sub {
    color: #d1d6e3;
}
.box_ttl .en {
    font-family: var(--lato-font);
    font-weight: 700;
}
.box_ttl.vertical {
}

.box_ttl.vertical h3 {
}

.box_ttl.vertical h3 span {
}

.ttl_vertical {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
}

.en {
    font-family: var(--lato-font);
}

.large {
}

.sm {
}

.mid {
}

.num {
}

.note {
}

/* =========================================================
   recruit MAINVISUAL
========================================================= */

#recruit #mainvisual {
    background: url("../images/recruit/recruit_mainvisual_bg.jpg") no-repeat center 0 / cover;
    height: 640px;
    padding-top: 100px;
}
#recruit #mainvisual .inner {
    max-width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    color: #fff;
    padding: 0 3% 3%;
}
#recruit #mainvisual h2 {
    font-family: var(--mincho-font);
    font-size: 38px;
    font-weight: 700;
    color: var(--color-blue);
}

#recruit #mainvisual h2 span.large {
    font-size: 60px;
    display: block;
    margin-bottom: 20px;
}
#recruit #mainvisual p {
    font-size: 20px;
    color: #000;
    font-weight: 500;
}
#recruit #mainvisual ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#recruit #mainvisual ul li{
    width: 180px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255,0.5);
    color: var(--color-blue);
    border: 2px solid var(--color-lblue);
    border-radius: 6px;
    font-weight: 500;
}

/* =========================================================
   top_consult
========================================================= */
.top_consult{
    padding: 30px 0;
    background: #0f2a5f;
}
.list_consult{
    display: flex;
    justify-content: center;
    gap: 1%;
}
.list_consult .entry_but {
    max-width: 500px;
    height: 80px;
    width: 30%;
}
.list_consult .entry_but a{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(135deg, #b30000 50%, #ea0000 50%);
    border-radius: 40px;
    color: #fff;
    font-size: 26px;
    font-weight: 500;
    text-decoration: none;
    overflow: hidden;
    position: relative;
}
.list_consult .entry_but a img{
    width: 36px;
    height: 36px;
    margin-right: 10px;
}
.list_consult .entry_but a::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  transition: none;
  animation: shine 2s infinite;
}
.list_consult .entry_but.pink a{
    background: linear-gradient(130deg, #ff2775 50%, #ff5291 50%);
}
.list_consult .entry_but.blue a{
    background: linear-gradient(130deg, #1e5bd6 50%, #4b7cde 50%);
}
/* =========================================================
   recruit_mess
========================================================= */
.recruit_mess{
    
}
.recruit_mess .inner{
    padding: 120px 0 0;
}
.recruit_mess .box_ttl {
    margin-bottom: 20px;
}
.recruit_mess .box_ttl h3 {
    font-size: 42px;
    font-weight: 700;
    color: var(--color-blue);
    line-height: 1.6;
}
.recruit_mess .box_ttl .sub {
    color: #000;
    font-size: 16px;
    font-weight: 500;
}
.recruit_mess .flexbox{
    display: flex;
    justify-content: space-between;
    padding: 0 40px;
    margin: 80px 0 0;
}
.recruit_mess .flexbox .col_mess{
    position: relative;
    width: calc(50% - 20px);
    max-width: 900px;
}
.recruit_mess .flexbox .col_mess a{
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 3;
    top: 0;
    left: 0;
}
.recruit_mess .flexbox .col_mess .img{
    margin: 0;
}
.recruit_mess .flexbox .col_mess .cont{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    padding: 30px 0 60px;
    text-align: left;
}
.recruit_mess .flexbox .col_mess .box_ttl{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 140px;
    order: 2;    
}
.recruit_mess .flexbox .col_mess .box_ttl .inn{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.recruit_mess .flexbox .col_mess .box_ttl::after{
    content: '';
    width: 50px;
    height: 50px;
    background: url("../images/recruit/arrow03.svg") no-repeat 0 0 / 100%;
    display: block;
    margin-top: 30px;
}
.recruit_mess .flexbox .col_mess .box_ttl h4{
    font-size: 48px;
    line-height: 1.4;
    font-weight: 500;
    height: fit-content;
}
.recruit_mess .flexbox .col_mess .box_ttl .sub{
    color: #000;
    font-weight: 500;
    height: fit-content;
}
.recruit_mess .flexbox .col_mess .txt{
    width: calc(100% - 140px);
    order: 1;
    border-right: 1px solid #ccc;
    height: fit-content;
    padding-right: 20px;
}
.recruit_mess .flexbox .col_mess .txt p{
    font-size: 14px;
    letter-spacing: 0;
    font-weight: 500;
}
.recruit_mess .flexbox .col_mess.left .txt p{
    margin-left: auto;
}
.recruit_mess .flexbox .col_mess.right .box_ttl{
    order: 1;    
}
.recruit_mess .flexbox .col_mess.right .txt{
    order: 2;
    border-right: none;
    border-left: 1px solid #ccc;
    padding-right: 0;
    padding-left: 20px;
}
.recruit_mess .flexbox .col_mess .txt span{
    display: block;
}
.recruit_mess .flexbox .col_mess .txt span.rotage{
    -webkit-writing-mode: horizontal-tb;
    -moz-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;

    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    display: inline-block;
    line-height: 1.2;
}
.recruit_mess .flexbox .col_mess ul{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 30px;
}
.recruit_mess .flexbox .col_mess ul li{
    max-width: 160px;
    height: 40px;
    width: 19%;
    background: rgba(0,0,0,.3);
    border: 1px solid #fff;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    border-radius: 4px;
} 
/* =========================================================
   recruit_growth
========================================================= */
.recruit_growth {
}

.recruit_growth .inner {
    padding-top: 120px;
}

.recruit_growth .box_ttl {
    margin-bottom: 20px;
}

.recruit_growth .box_ttl h3 {
    font-size: 42px;
    font-weight: 700;
    color: var(--color-blue);
    line-height: 1.6;
}

.recruit_growth .box_ttl .sub {
    color: #000;
    font-size: 16px;
    font-weight: 500;
}

.recruit_growth > .inner > p {
}

.recruit_growth .item_num {
    background: #dce0ea;
    border-radius: 10px;
}

.recruit_growth .item_num.full {
    padding: 40px 60px;
    margin-top: 80px;
    position: relative;
}

.recruit_growth .item_num.full .ttl {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 20px 50px;
    color: var(--color-blue);
}

.recruit_growth .item_num.full .listin01 {
    display: flex;
    justify-content: space-between;
}

.recruit_growth .item_num.full .listin01 li {
    width: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 10px;    
}
.recruit_growth .item_num.full .listin01 li.has_bg {
    background: #e8ebf1;
    padding: 20px;
    border-radius: 10px;
}
.recruit_growth .item_num.full .listin01 li.has_bg img {
    width: 130px;
}
.recruit_growth .item_num.full .listin01 li img {
    width: 160px;
    margin-bottom: 20px;
}

.recruit_growth .item_num.full .listin01 li span {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}

.recruit_growth .item_num.full .listin01 li .bold {
    font-weight: 700;
}

.recruit_growth .item_num.full .listin01 li .large {
    font-size: 26px;
    line-height: 1.2;
    position: relative;
    bottom: -2px;
    font-weight: 700;
}

.recruit_growth .sm_note {
    font-size: 14px;
    width: fit-content;
    float: right;
}

.recruit_growth .list_item {
    width: calc(100% + 44px);
    margin: 70px -22px 55px;
    display: flex;
    flex-wrap: wrap;    
}
.recruit_growth .list_item .item_num {
    width: calc(100% / 3 - 44px);
    margin: 0 22px 45px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}
.recruit_growth .item_num.full .number,
.recruit_growth .list_item .item_num .number {
    font-size: 40px;
    font-weight: 900;
    color: var(--color-blue);
    font-family: var(--lato-font);
    position: absolute;
    left: 20px;
    top: -40px;
    width: fit-content;
    line-height: 2em;
    display: flex;
}
.recruit_growth .item_num.full .number::after,
.recruit_growth .list_item .item_num .number::after {
    content: '';
    width: 2px;
    height: 70px;
    background: var(--color-blue);
    position: relative;
    bottom: -20px;
    right: -5px;
    transform: rotate(45deg);
}
.recruit_growth .list_item .item_num .img {
    width: 170px;
    margin-bottom: 0;
}

.recruit_growth .list_item .item_num .img img {
}

.recruit_growth .list_item .item_num .ttl {
    font-weight: 700;
    color: var(--color-blue);
    font-size: 28px;
    margin-bottom: 0;
}

.recruit_growth .list_item .item_num p {
    font-size: 18px;
    text-align: center;
    font-weight: 500;
    line-height: 1.6;
}
.recruit_growth .list_item .item_num .bold {
    font-weight: 700;
}

.recruit_growth .list_item .item_num .large {
    font-weight: 700;
    font-size: 28px;
    position: relative;
    bottom: -2px;
}
.recruit_growth .list_item .item_num .large.txt {
    font-size: 26px;
}
/* =========================================================
   recruit_reason
========================================================= */
.recruit_reason {
    background: url("../images/recruit/bg_recruit-reason.jpg") no-repeat 0 0;
    background-size: cover;
    padding: 100px 0;
}

.recruit_reason .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.recruit_reason .box_ttl {
    width: 35%;
}

.recruit_reason .box_ttl .sub2 {
    font-size: 32px;
    font-weight: 700;
    color: #000;
    font-family: var(--mincho-font);
    margin-bottom: 20px;
    line-height: 1.6;
}

.recruit_reason .box_ttl h3 {
    font-size: 56px;
    font-weight: 700;
    color: var(--color-blue);
    margin-bottom: 0;
    line-height: 1.3;
}

.recruit_reason .box_ttl .sub {
    font-weight: 700;
    color: #000;
}

.recruit_reason .col_r {
    width: 65%;
}

.recruit_reason .col_r .item {
    width: 100%;
    padding: 20px 10px 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 0 8px rgba(0, 0, 0, .2);
    border-radius: 10px;
    margin-bottom: 30px;
}

.recruit_reason .col_r .item .number {
    font-size: 40px;
    font-weight: 900;
    color: var(--color-blue);
    font-family: var(--lato-font);
    position: relative;
    margin: 0;
    line-height: 2em;
    width: 80px;
    margin-bottom: 10px;
}
.recruit_reason .col_r .item .number::after {
    content: '';
    width: 1px;
    height: 70px;
    background: var(--color-blue);
    position: absolute;
    right: 25px;
    bottom: -10px;
    transform: rotate(45deg);
}
.recruit_reason .col_r .item dl {
    width: calc(100% - 100px);
}

.recruit_reason .col_r .item dl dt {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
}

.recruit_reason .col_r .item dl dd {
}
/* =========================================================
   recruit_consult
========================================================= */
.recruit_consult {
    background: url("../images/recruit/bg_recruit-consult.jpg") no-repeat center;
    background-size: cover;
    padding: 80px 0;
}
.recruit_consult .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    color: #fff;
}
.recruit_consult .col_l {
    max-width: 500px;
    width: 45%;
}
.recruit_consult .col_l .list_consult {
    flex-direction: column;
    gap: 20px;
}
.recruit_consult .col_l .list_consult li{
    width: 100%;
}
.recruit_consult .col_r {
    max-width: 600px;
    width: 55%;
}

.recruit_consult .col_r h4 {
    font-size: 42px;
    font-weight: 500;
    font-family: var(--mincho-font);
    letter-spacing: -0.05em;
    line-height: 1.4;
    margin-bottom: 30px;
}
.recruit_consult .col_r .list_check {
    margin-bottom: 10px;
}
.recruit_consult .col_r .list_check li {
    border-bottom: 1px solid #fff;
    background: url(../images/recruit/icon_check01.svg) no-repeat left 12px;
    background-size: 20px;
    padding: 8px 5px 8px 25px;
}
.recruit_consult .col_r > p {
}
/* =========================================================
   recruit_sale MAINVISUAL
========================================================= */

#recruit_sales #mainvisual {
    background: url("../images/recruit/mainvisual_bg.jpg") no-repeat center 0 / cover;
    height: 640px;
    padding-top: 100px;
}
#recruit_sales #mainvisual .inner {
    max-width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    color: #fff;
    padding: 0 3% 3%;
}
#recruit_sales #mainvisual h2 {
    font-family: var(--mincho-font);
    font-size: 38px;
    font-weight: 700;
    color: #fff;
}

#recruit_sales #mainvisual h2 span.large {
    font-size: 50px;
    display: block;
    margin-bottom: 20px;
}
#recruit_sales #mainvisual p {
    font-size: 20px;
}

#recruit_sales #mainvisual .entry_but {
    width: 506px;
    height: 80px;
}
#recruit_sales #mainvisual .entry_but a{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(135deg, #b30000 50%, #ea0000 50%);
    border-radius: 40px;
    color: #fff;
    font-size: 26px;
    font-weight: 500;
    text-decoration: none;
    overflow: hidden;
    position: relative;

}
#recruit_sales #mainvisual .entry_but a::before{
    content: '';
    background: url("../images/recruit/icon_entry.svg") no-repeat 0 0 / 100%;
    width: 40px;
    height: 40px;
    display: block;
    margin-right: 10px;
}
#recruit_sales #mainvisual .entry_but a::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  transition: none;
  animation: shine 2s infinite;
}
/* =========================================================
   ACHIEVEMENT
   数字で見る主な実績
========================================================= */

#achie_block {
    background: #173375;
    padding: 120px 0 80px;
}

#achie_block .inner {
    display: flex;
    justify-content: space-between;
}

#achie_block .box_ttl{
    display: flex;
    color: #fff;
    width: 110px;
    position: relative;
}
#achie_block .cont{
    width: calc(100% - 190px);
    max-width: 980px;
}
#achie_block .box_ttl::after{
    content: '';
    width: 1px;
    height: 120px;
    background: #fff;
    position: absolute;
    right: 0;
    top: 0;
}

#achie_block h3 {
    letter-spacing: 0.05em;
    line-height: 1.4;
}

#achie_block .sub {
    font-weight: 700;
    letter-spacing: 0.1em;
}

#achie_block .list_achie {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#achie_block .list_achie dl {
    width: calc(100% / 3 - 30px);
    height: 280px;
    background: #fff;
    border-radius: 10px;
    font-family: var(--mincho-font);
    font-weight: 700;
    color: #173375;
    margin-bottom: 40px;
}

#achie_block .list_achie dt {
    width: 100%;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    background: #e8ebf1;
    border-radius: 10px 10px 0 0;
}

#achie_block .list_achie dt img {
    width: 100px;
    height: 100px;
}

#achie_block .list_achie dd {
    height: 160px;
    padding: 20px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    line-height: 1.6;
}

#achie_block .list_achie dd .sm {
    font-size: 20px;
}

#achie_block .list_achie dd .mid {
    font-size: 22px;
    line-height: 1.3;
}

#achie_block .list_achie dd .large {
    font-size: 30px;
}

#achie_block .list_achie dd .note {
    font-family: var(--gothic-font);
    font-size: 14px;
    color: #000;
    text-align: center;
    line-height: 1.4;
    font-weight: 500;
    margin-top: 5px;
}


/* =========================================================
   worries_block
   こんな悩みありませんか？
========================================================= */

#worries_block {
    background: url("../images/recruit/worries_bg.jpg") no-repeat 0 0;
    background-size: cover;
    padding: 100px 0;
}

#worries_block .inner {
    display: flex;
    align-items: center;
}

#worries_block .box_ttl {
    width: 50%;
}

#worries_block .box_ttl h3 {
    color: #fff;
}

#worries_block .box_ttl .sub {
    font-size: 16px;
}

#worries_block .cont {
    width: 50%;
}

#worries_block .cont ul {
}

#worries_block .cont li {
    display: flex;
    color: #fff;
    border-top: 1px solid #ccc;    
    padding: 10px 0 12px;
    font-size: 18px;
    line-height: 1.45;
}

#worries_block .cont li .num {
    background: var(--color-lblue);
    color: var(--color-blue);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    padding-bottom: 2px;
}
#worries_block .cont li .txt {
    width: calc(100% - 40px);
}
#worries_block .cont li:last-child {
    border-bottom: 1px solid #fff;
}


/* =========================================================
   movie_block
========================================================= */

#movie_block {
    padding: 100px 0;
    overflow-x: hidden;
}

#movie_block .inner {
    display: flex;
    align-items: center;
    position: relative;
}
#movie_block .inner::after {
    content: '';
    width: calc(100% + 690px);
    height: 1px;
    background: #000;
    position: absolute;
    left: 690px;
    bottom: 0;
}
#movie_block .outer_video {
    max-width: 640px;
    width: 100%;
    aspect-ratio: 16 / 9;
    
}
#movie_block .outer_video iframe{
    width: 100%;
    height: 100%;
    display: block;
}

#movie_block h3 {
    font-family: var(--mincho-font);
    font-size: 56px;
    font-weight: 700;
    margin-left: 50px;
    letter-spacing: 0;
    padding-bottom: 20px;
}


/* =========================================================
   message_block
   代表メッセージ
========================================================= */

#message_block {
    padding: 100px 0;
}

#message_block .inner {
    display: flex;
    position: relative;
}

#message_block .box_ttl {
    width: 370px;
}

#message_block .box_ttl h3 {
    color: var(--color-blue);
    font-weight: 700;
}

#message_block .box_ttl h3 span {
}

#message_block .box_ttl .sub {
    color: #000;
}

#message_block .cont {
    width: calc(100% - 370px);
}

#message_block .mess_slider {
}

#message_block .mess_box {
}

#message_block .mess_box .ttl {
    font-size: 18px;
    font-weight: 700;
}

#message_block .mess_box .blue {
    color: var(--color-blue);
    font-size: 24px;
    margin-right: 20px;
    padding-right: 20px;
    position: relative;
}
#message_block .mess_box .blue::after {
    content: '';
    width: 1px;
    height: 22px;
    transform: rotate(45deg);
    background: #000;
    position: absolute;
    right: 0;
    bottom: 2px;
}

#message_block .mess_box p {
    font-weight: 400;
}
#message_block .mess_slider .slick-dots{
    position: absolute;
    display: flex;
    flex-direction: column;
    left: -350px;
    top: 150px;
}
#message_block .mess_slider .slick-dots li button{
    border: none;
    background: #ccc;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    text-indent: 99999px;
}
#message_block .mess_slider .slick-dots .slick-active button{
    background: #b30000;
}
/* =========================================================
   REASONS
   営業職が稼げる5つの理由
========================================================= */

#reasons_block {
    display: flex;
    justify-content: space-between;
    padding: 0 0 100px calc(50% - 600px);
    max-width: 1920px;
}

#reasons_block .box_ttl {
    display: flex;
    color: #fff;
    width: 110px;
    position: relative;
    margin-top: 55px;    
}
#reasons_block .box_ttl::after{
    content: '';
    width: 1px;
    height: 120px;
    background: var(--color-blue);
    position: absolute;
    right: 0;
    top: 0;
}

#reasons_block .box_ttl h3 {
    line-height: 1.3;
    color: var(--color-blue);
}

#reasons_block .box_ttl .sub {
    font-weight: 700;
    color: #000;
    font-size: 20px;
}

#reasons_block .cont{
    width: 1520px;
    margin-right: -180px;
}

#reasons_block .reasons_slider {
    width: 100%;
}
#reasons_block .slick-slide {
    padding: 0 20px;
}
#reasons_block .reason_box {
    position: relative;
    max-width: 480px;    
    aspect-ratio: 480 / 590;
}

#reasons_block .reason_box > span {
    font-size: 40px;
    font-weight: 700;
    color: var(--color-blue);
    font-family: var(--lato-font);
    position: relative;
    bottom: -25px;
    margin: 0 0 0 10px;
}
#reasons_block .reason_box > span::after {
    content: '';
    width: 1px;
    height: 80px;
    background: var(--color-blue);
    position: absolute;
    right: -10px;
    bottom: -35px;
    transform: rotate(45deg);
}

#reasons_block .reason_box .img {
}

#reasons_block .reason_box .img img {
    border-radius: 10px;
}

#reasons_block .reason_box .txt {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px;
}

#reasons_block .reason_box .txt .ttl {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-blue);
    margin-bottom: 15px;
    line-height: 1.4;
}

#reasons_block .reason_box .txt p {
}

#reasons_block .reason_box .txt ul {
}

#reasons_block .reason_box .txt li {
    position: relative;
    padding-left: 15px;
    margin-bottom: 5px;
}
#reasons_block .reason_box .txt li::before {
    content: '';
    width: 5px;
    height: 5px;
    background: #808080;
    position: absolute;
    left: 0;
    top: 12px;
}
/* Slick navigation */
#reasons_block .reasons_slider {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#reasons_block .reasons_slider .slick-list {
    order: 1;
    margin-bottom: 30px;
}
/* arrows */
.reasons_slider .slick-prev,
.reasons_slider .slick-next {
    width: 12px;
    height: 12px;
    padding: 0;
    border: 0;
    background: none;
    font-size: 0;
    z-index: 10;
    cursor: pointer;
    margin-top: 12px;
}
/* hide default slick arrow */
.reasons_slider .slick-prev::before,
.reasons_slider .slick-next::before {
    display: none;
}

/* left arrow */
.reasons_slider .slick-prev {
    order: 2;
    margin-left: 20px;
    position: unset;
}
.reasons_slider .slick-prev::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-left: 1px solid #d92828;
    border-bottom: 1px solid #d92828;
    transform: rotate(45deg);
}
/* right arrow */
.reasons_slider .slick-next {
    order: 4;
    position: unset;
}
.reasons_slider .slick-next::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 1px solid #d92828;
    border-right: 1px solid #d92828;
    transform: rotate(45deg);
}
/* dots */
.reasons_slider .slick-dots {
    order: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;    
    width: auto;
    padding: 0;
    list-style: none;
    margin: 0 10px;
    position: unset;
}
.reasons_slider .slick-dots li {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.reasons_slider .slick-dots li button {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    font-size: 0;
}
.reasons_slider .slick-dots li button::before {
    display: none;
}
/* active dot */
.reasons_slider .slick-dots li.slick-active button {
    background: #b30000;
}
/* =========================================================
   REAL
   この仕事のリアル
========================================================= */

#real_block {
    background: url("../images/recruit/real_bg.jpg") no-repeat center;
    background-size: cover;
    padding: 100px 0;
}

#real_block .inner {
}


#real_block .bg {
    width: fit-content;
    background: rgba(255,255,255,0.8);
    padding: 30px 40px;
}

#real_block h3 {
    color: var(--color-blue);
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 5px;
}

#real_block .sub {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    color: #000;
}

#real_block .txt_bold {
    font-size: 20px;
    font-weight: 700;
    margin: 40px 0 10px;
    
}

#real_block ul {
}

#real_block li {
    position: relative;
    padding-left: 15px;
    margin-bottom: 5px;
}
#real_block li::before {
    content: '';
    width: 5px;
    height: 5px;
    background: var(--color-blue);
    position: absolute;
    left: 0;
    top: 12px;
}
#recruit_office #real_block {
    background: url("../images/recruit/office_real_bg.jpg") no-repeat center;
    background-size: cover;
    padding: 120px 0;
}
#recruit_office #real_block .bg {
    padding: 60px;
    background: rgba(255,255,255,0.9);
}
#recruit_office #real_block li::before {
    background: var(--color-pink);
}
/* =========================================================
   STEPS BEGINNER
   未経験者 / 経験者
========================================================= */

#steps_block {
    padding: 100px 0;
}

#steps_block .box_ttl {
    font-family: var(--mincho-font);
    font-weight: 700;
    padding-bottom: 100px;
}

#steps_block .box_ttl .sub {
    color: #000;
    font-size: 40px;
    margin-bottom: 0;
    letter-spacing: 0;
}

#steps_block .box_ttl h3 {
    color: #000;
    font-size: 48px;
}

#steps_block .box_ttl h3 .large {
    font-size: 120%;
}

#steps_block .tabs_box {
    border-top: 1px solid #000;
    padding: 0;
    position: relative;
    
}

#steps_block .tabs_box .list_tabs {
    display: flex;
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

#steps_block .tabs_box .list_tabs li {
    flex: 1;
    height: 80px;
    color: #333;
    background: #f2f2f2;
    border-bottom: 5px solid #f2f2f2;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: 700;
    font-size: 24px;
    cursor: pointer;
}
#steps_block .tabs_box ul li.active {
    color: var(--color-blue);
    background: #fff;
    border-bottom: 5px solid var(--color-blue);
}
#steps_block .tabs_box .inner {
    position: relative;
    z-index: 2;
}
#steps_block .tab01,
#steps_block .tab02{
    background: var(--color-blue);
    padding-top: 100px;
    position: relative;
}
#steps_block .tabs_box .tab01 .bg_text,
#steps_block .tabs_box .tab02 .bg_text{
    position: absolute;
    font-size: 140px;
    line-height: 1.2;
    font-weight: 700;
    left: 20px;
    top: 80px;
    color: #233d7c;
    letter-spacing: 0.05em;
    z-index: 1;
}
#steps_block .tab02{
    background: #b30000;
    display: none;
}
#steps_block .tabs_box .tab02 .bg_text{
    right: 20px;
    top: 80px;
    color: #bb1919;
    text-align: right;
}

#steps_block .tab01 .inner, #steps_block .tab02 .inner{
    display: flex;
    justify-content: space-between;
}
#steps_block .tab02 .inner{
    flex-direction: row-reverse;
}
#steps_block .tab01 .box_ttl,
#steps_block .tab02 .box_ttl{
    display: flex;
    width: 160px;
    color: #fff;
    font-family: var(--gothic-font);
}
#steps_block .ttl_vertical {
    font-size: 26px;
}

#steps_block .ttl_vertical.large {
    font-size: 46px;
    font-weight: 700;
    position: relative;
    margin-right: 10px;
}
#steps_block .ttl_vertical.large::after {
    content: '';
    width: 1px;
    height: 260px;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
}
#steps_block .tab01 .cont,
#steps_block .tab02 .cont{
    width: calc(100% - 160px);
    max-width: 920px;
}


#steps_block dl {
    background: #fff;
    padding: 0 40px 40px;
    margin-bottom: 60px;
    border-radius: 10px;
}

#steps_block dl dt {
    padding: 5px 20px 8px;
    background: #000;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    width: fit-content;
    border-radius: 60px;
    letter-spacing: 0.05em;
    position: relative;
    top: -25px;
    left: -20px;
    z-index: 2;
}

#steps_block dl dd {
    padding-left: 40px;
    position: relative;
}
#steps_block dl dd::before {
    content: '';
    width: 36px;
    height: calc(100% + 115px);
    background: url("../images/recruit/line_dotted.svg") repeat-y center 0, url("../images/recruit/arrow01.svg") no-repeat center bottom;
    background-size: 4px , 36px auto;
    position: absolute;
    left: -10px;
    top: -40px;
    z-index: 1;
}
#steps_block dl:last-child dd::before {
    height: calc(100% + 85px);
    background: url("../images/recruit/line_dotted.svg") repeat-y center 0, url("../images/recruit/dot01.svg") no-repeat center bottom;
    background-size: 4px, 10px;
}
#steps_block dl dd ul:not(:last-child) {
    margin-bottom: 30px;
}

#steps_block dl dd li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
}
#steps_block dl dd li:last-child {
    margin-bottom: 0;
}
#steps_block dl dd li::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--color-blue);
    position: absolute;
    left: 0;
    top: 11px;
}
#steps_block dl dd ul.has_note {
    position: relative;
    padding-left: 30px;
}
#steps_block dl dd ul.has_note::before {
    content: '※';
    position: absolute;
    left: 0;
    top: 0;
}
#steps_block dl dd ul.has_note li::before {
    background: #808080;
}
#steps_block dl dd .img {
}

#steps_block dl dd .img img {
}

#steps_block dl dd .has_note {
}

#recruit_office #steps_block {
    padding: 100px 0 0;
}

#recruit_office #steps_block .box_ttl.mar_left {
    position: relative;
    left: 240px;
    border-bottom: 1px solid var(--color-pink);
    width: calc(100% + 240px);
    padding-bottom: 50px;
    margin-bottom: 100px;
}
#recruit_office #steps_block .box_ttl.mar_left h3{
    max-width: 960px;
}
#recruit_office #steps_block .box_ttl.mar_left .sub {
    font-size: 38px;
}
#recruit_office #steps_block .box_edu {
    background: #f2f2f2;
    padding: 100px 0;
}
#recruit_office #steps_block .box_edu .inner{
    display: flex;
}
#recruit_office #steps_block .box_edu .box_ttl{
    width: calc(100% - 720px);
}
#recruit_office #steps_block .box_edu .cont{
    width: 720px;
}

#recruit_office #steps_block .box_edu .box_ttl h3 {
    font-size: 42px;
    font-family: var(--gothic-font);
    line-height: 1.6;
    margin-bottom: 10px;
    color: var(--color-pink);
}
#recruit_office #steps_block .box_edu .box_ttl .sub {
    font-size: 16px;
}

#recruit_office #steps_block .box_edu .cont .bg_wh{
    background: #fff;
    border-radius: 10px;
    padding: 40px;
    overflow: hidden;
    margin-bottom: 30px;
}

#recruit_office #steps_block .box_edu .cont .bg_wh .ttl{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    color: #51102e;
    position: relative;
    padding-left: 30px;
}
#recruit_office #steps_block .box_edu .cont .bg_wh .ttl::before{
    content: '';
    width: 1px;
    height: calc(100% + 40px);
    background: var(--color-pink);
    position: absolute;
    left: 0;
    top: -40px;
}
#recruit_office #steps_block .tab01{
    background: var(--color-dpink);
    padding-bottom: 60px;
}
#recruit_office #steps_block .tabs_box .tab01 .bg_text{
    color: #a92863;
    font-weight: 900;
}
#recruit_office #steps_block .tabs_box .tab01 .bg_text{
    top: 0;
}
#recruit_office #steps_block .cont .wh{
    color: #fff;
    margin-bottom: 60px;
}
#recruit_office #steps_block .cont .ttl_bur{
    color: #51102e;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

#recruit_office #steps_block dl dd li::before {
  background: var(--color-pink);
}

#recruit_office #steps_block dl dd::before {
    background: url("../images/recruit/line_dotted_pink.svg") repeat-y center 0, url("../images/recruit/arrow01_pink.svg") no-repeat center bottom;
    background-size: 4px , 36px auto;
}
#recruit_office #steps_block dl:last-child dd::before {
    background: url(../images/recruit/line_dotted_pink.svg) repeat-y center 0, url(../images/recruit/dot_pink.svg) no-repeat center bottom;
    background-size: 4px, 10px;
}
#recruit_office #steps_block .stepline{
    display: flex;
}
#recruit_office #steps_block .stepline li{
    position: relative;
    width: 180px;
    height: 60px;
    padding: 0;
    background: linear-gradient(to right, #ff2775 75%, #fff 75%);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    padding-right: 16px;
    padding-bottom: 2px;
}
#recruit_office #steps_block .stepline li:nth-child(2n){
    background: linear-gradient(to right, #ff5291 75%, #fff 75%);
}
#recruit_office #steps_block .stepline li:last-child{
    background: #ff2775;
    border-radius: 0 4px 4px 0;
    padding-right: 0;
}
#recruit_office #steps_block .stepline li:first-child{
    border-radius: 4px 0 0 4px;
}
#recruit_office #steps_block .stepline li::after{
    content: '';
    background: url("../images/recruit/bg_step01.svg") no-repeat 0 0 / 100% 100%;
    width: 60px;
    height: 60px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}
#recruit_office #steps_block .stepline li:nth-child(2n)::after{
    background: url("../images/recruit/bg_step02.svg") no-repeat 0 0 / 100%;
}
#recruit_office #steps_block .stepline li:last-child::after{
    display: none;
}
#recruit_office #steps_block .stepline li::before{
    display: none;
}
#recruit_office #steps_block .stepline li span{
    position: relative;
    color: #fff;
    z-index: 2;
}
/* =========================================================
   JOB DESCRIPTION
========================================================= */

#job_des_block {
    padding-bottom: 100px;
}

#job_des_block .inner {
    display: flex;
    justify-content: space-between;
}

#job_des_block .box_ttl {
    width: calc(100% - 860px);
}

#job_des_block .box_ttl h3 {
    font-weight: 700;
    color: var(--color-blue);
}

#job_des_block .box_ttl .sub {
    color: #000;
    font-weight: 700;
}

#job_des_block .cont {
    width: 860px;
}

#job_des_block .block {
    margin-bottom: 50px;
    padding-bottom: 60px;
    border-bottom: 1px solid #111;
}

#job_des_block .ttl {
    font-size: 24px;
    color: var(--color-blue);
    margin-bottom: 20px;
    font-weight: 500;
}

#job_des_block .list_img {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

#job_des_block .list_img li {
    position: relative;
}

#job_des_block .list_img li img {
}

#job_des_block .list_img li span {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 5px 12px;
    background: #fff;
    border-radius: 0 10px 0 0;
    font-size: 18px;
}

#recruit_office #job_des_block{
    background: #f2f2f2;
    padding: 100px 0 60px;
}
#recruit_office #job_des_block h3{
    color: var(--color-pink);
}
#recruit_office #job_des_block .ttl {
    font-size: 28px;
    color: var(--color-dpink);
    font-weight: 500;
    font-family: var(--mincho-font);
    border-bottom: 1px solid #cccccc;
    margin-bottom: 40px;
}
#recruit_office #job_des_block .ttl2 {
    font-size: 24px;
    color: #51102e;
    font-weight: 500;
    margin-bottom: 20px;
}
#recruit_office #job_des_block .block {
    margin-bottom: 40px;
}
.list_exam{
    
}
.list_exam .item{
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 10px;
    margin-bottom: 40px;
}
.list_exam .item .img{
    width: 260px;
    height: 100%;
    border-radius: 10px 0 0 10px;
    overflow: hidden;
    margin: 0 0 0;
}
.list_exam .item dl{
    width: calc(100% - 280px);
    height: 100%;
    padding: 10px;
}
.list_exam .item dt{
    display: flex;
    font-weight: 500;
    font-size: 20px;
    margin-bottom: 20px;
}
.list_exam .item dt .txt{
    width: calc(100% - 100px);
}
.list_exam .item dt .no{
    width: 80px;
    color: var(--color-pink);
    display: flex;
    align-items: center;  
}
.list_exam .item dt .no::after {
    content: '';
    width: 2px;
    height: 18px;
    background: var(--color-pink);
    transform: skewX(-45deg);
    display: block;
    margin-left: 20px;
    margin-top: 3px;
}
.list_exam .item dd{
    
}
/* =========================================================
   PURPOSE
   仕事の目的
========================================================= */

#purpose_block {
    background: url("../images/recruit/purpose_bg.jpg") no-repeat 0 0;
    background-size: cover;
}
#purpose_block .inner {
    display: flex;
    justify-content: flex-end;
}
#purpose_block .bg {
    width: fit-content;
    background: rgba(255,255,255,0.8);
    padding: 100px 60px;
    max-width: 680px;
}
#purpose_block .box_ttl {
    margin-bottom: 40px;
}
#purpose_block h3 {
    color: var(--color-blue);
    font-weight: 800;
}
#purpose_block .sub {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    color: #000;
}
#purpose_block .bg > p {
}
#recruit_office #purpose_block {
    background: url("../images/recruit/recruit_purpose_bg.jpg") no-repeat center 0;
    background-size: cover;
}
#recruit_office #purpose_block .bg {
    max-width: 680px;
    padding: 100px 80px;
}
/* =========================================================
   exp_reason
========================================================= */

#exp_reason_block {
    padding: 100px 0;
}

#exp_reason_block .inner {
    display: flex;
    justify-content: space-between;
}

#exp_reason_block .box_ttl {
    position: relative;
    width: 140px;
}
#exp_reason_block .box_ttl::after {
    content: '';
    width: 1px;
    height: 260px;
    background: var(--color-blue);
    position: absolute;
    top: 0;
    right: 0;
}
#exp_reason_block .box_ttl h3 {
    display: flex;
    color: var(--color-blue);
    font-weight: 700;
    line-height: 1.4;
}

#exp_reason_block .box_ttl h3 span {
}

#exp_reason_block .cont {
    width: calc(100% - 140px);
    max-width: 940px;
    position: relative;
}

#exp_reason_block .cont h4 {
    font-size: 54px;
    font-family: var(--mincho-font);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 40px;
}

#exp_reason_block .cont .list_num {
    padding-right: 300px;
}

#exp_reason_block .cont .list_num li {
    display: flex;
    justify-content: space-between;  
    margin-bottom: 15px;
    font-weight: 500;
}

#exp_reason_block .cont .list_num li .num {
    width: 36px;
    color: var(--color-blue);
    font-weight: 900;
    font-family: var(--lato-font);
}

#exp_reason_block .cont .list_num li > span:last-child {
    width: calc(100% - 36px);
}
#exp_reason_block .imgbox {
    position: absolute;
    display: flex;
    justify-content: space-between;
    width: 500px;
    height: 420px;
    right: -240px;
    top: -20px;
}
#exp_reason_block .img01 {
    margin-top: auto;
}
#exp_reason_block .img02 {
    
}
#exp_reason_block .img01 img,
#exp_reason_block .img02 img {
    border-radius: 10px;
}


/* =========================================================
   GROWTH ENVIRONMENT
========================================================= */

#growth_env_block {
    background: #f5f5f5;
    padding: 100px 0;
    position: relative;
}
#growth_env_block::before {
    content: '';
    width: 100%;
    height: 520px;
    background: #f2f2f2;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}
#growth_env_block .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#growth_env_block .box_ttl {
    width: 380px;
}

#growth_env_block .box_ttl h3 {
    font-weight: 700;
    color: var(--color-blue);
}

#growth_env_block .box_ttl .sub {
    color: #000;
    font-weight: 700;
}

#growth_env_block .cont {
    width: calc(100% - 380px);
    max-width: 760px;
    padding-left: 80px;
    position: relative;
}
#growth_env_block .cont::before {
    content: '';
    width: 1px;
    height: calc(100% + 100px);
    position: absolute;
    left: 0;
    top: -100px;
    background: #ccc;
}
#growth_env_block .cont dl {
    background: #fff;
    border-radius: 10px;
    display: flex;
    margin-bottom: 40px;
}
#growth_env_block .cont dl:last-child {
    margin-bottom: 0;
}
#growth_env_block .cont dt {
    max-width: 270px;
    border-radius: 10px 0 0 10px;
    overflow: hidden;
    display: flex;
    width: 40%;
}

#growth_env_block .cont dt img {
    object-fit: cover;
}

#growth_env_block .cont dd {
    width: 60%;
    padding: 10px 10px 10px 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#growth_env_block .cont dd .num {
    color: var(--color-blue);
    font-weight: 900;
    font-family: var(--lato-font);
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}
#growth_env_block .cont dd .num::after {
    content: '';
    width: 2px;
    height: 14px;
    background: var(--color-blue);
    transform: skewX(-45deg);
    display: block;
    margin-left: 12px;
}
#growth_env_block .cont dd p {
}


/* RED ITEMS */

#growth_env_block .red_items {
    width: calc(100% - 380px);
    max-width: 760px;
    padding-left: 80px;
    margin: 80px 0 0 auto;
    position: relative;
    z-index: 2;
}

#growth_env_block .red_items ul {
    width: calc(100% + 10px);
    margin: 0 -5px 10px;
    display: flex;
    flex-wrap: wrap;
}

#growth_env_block .red_items li {
    width: calc(100% / 3 - 10px);
    height: 140px;
    margin: 0 5px 10px;
    background: #b30000;
    color: #fff;
    font-family: var(--mincho-font);
    font-weight: 700;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#growth_env_block .red_items li .ttl {
    margin-bottom: 5px;
    padding-bottom: 12px;
    position: relative;
}
#growth_env_block .red_items li .ttl::after {
    content: '';
    width: 60px;
    height: 1px;
    position: absolute;
    left: calc(50% - 30px);
    bottom: 0;
    background: #fff;
}
#growth_env_block .red_items li .large {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
}

#growth_env_block .red_items li > span:not(.ttl):not(.large) {
}

#growth_env_block .red_items > p {
}


/* =========================================================
   FIT CHECK
   向いている人・向いていない人
========================================================= */

#fit_check_block {
    padding: 100px 0;
}

#fit_check_block .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

#fit_check_block .box_ttl {
    position: relative;
    width: 210px;
    display: flex;
    justify-content: flex-end;
}
#fit_check_block .box_ttl::after {
    content: '';
    width: 1px;
    height: 120px;
    background: var(--color-blue);
    position: absolute;
    top: 0;
    left: 0;
}
#fit_check_block .box_ttl h3 {
    display: flex;
    flex-direction: row-reverse;
    color: var(--color-blue);
    font-weight: 700;
    line-height: 1.4;
}

#fit_check_block .box_ttl h3 span {
}

#fit_check_block .box_ttl .sub {
    color: #000;
    font-weight: 700;
    font-size: 20px;
}

#fit_check_block .cont {
    width: calc(100% - 210px);
    max-width: 900px;
    display: flex;
    justify-content: space-between;
}

#fit_check_block .boxlist {
    max-width: 430px;
    padding: 20px 40px 40px;
    border-radius: 10px;
    width: 48%;
}

#fit_check_block .boxlist.blue {  
    background: #f7f7f7;
}

#fit_check_block .boxlist.grey {
    background: #f2f2f2;
}

#fit_check_block .boxlist .ttl {
    background: #4d4d4d;
    border-radius: 40px;
    padding: 3px 15px 6px;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin: -48px 0 30px;
}
#fit_check_block .boxlist.blue .ttl {
    background: var(--color-blue);
}
#fit_check_block .boxlist ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
}
#fit_check_block .boxlist ul li:last-child {
    margin-bottom: 0;
}
#fit_check_block .boxlist ul li::before {
    content: '';
    width: 5px;
    height: 5px;
    background: var(--color-blue);
    position: absolute;
    left: 0;
    top: 11px;
}
/* =========================================================
   STAFF INTERVIEW
========================================================= */

#staff_block {
    background: #eceff4;
    padding: 100px 0;
}

#staff_block > .box_ttl {
    margin: 0 auto 40px;
    width: fit-content;
    text-align: center;
}

#staff_block > .box_ttl h3 {
    font-weight: 700;
    color: var(--color-blue);
}

#staff_block > .box_ttl .sub {
    font-weight: 700;
    color: #000;
}

.staff_slider {
}

.staff_slider .item {
    padding: 0 30px;
}
.staff_slider .item .bg{
    width: 100%;
    background: #fff;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    position: relative;
    border-radius: 10px;
}
.staff_slider .item .bg .subttl {
    padding-left: 20px;
    border-bottom: 1px solid var(--color-blue);
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
    color: var(--color-blue);
    position: absolute;
    left: 0;
    top: 20px;
}
.staff_slider .item .bg .img {
    width: 200px;
    height: 280px;
    background: #f4f4f4;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    overflow: hidden;
}

.staff_slider .item .bg .img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}
.staff_slider .item .bg .cont {
    width: calc(100% - 230px);
}
.staff_slider .item .bg p{
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.4;
}
.staff_slider .item .bg .ttl1 {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-blue);
    margin-bottom: 15px;
}

.staff_slider .item .bg .ttl2 {    
    display: flex;
    margin-bottom: 10px;
    line-height: 2.0em;
}

.staff_slider .item .bg .ttl2 .num {
    width: 20px;
    font-size: 20px;
    font-family: var(--lato-font);
    font-weight: 900;
    color: #b30000;
}
.staff_slider .item .bg .ttl2 .txt {
    width: calc(100% - 20px);
    font-weight: 500;
}
.staff_slider .item .bg .cont > p:not(.ttl1):not(.ttl2):not(.link) {
}

.staff_slider .item .bg .link {
    text-align: right;
    margin-bottom: 0;
}

.staff_slider .item .bg .link a {
    background: url("../images/recruit/arrow02.svg") no-repeat left 3px / 14px;
    padding: 0 0 3px 25px;
    text-decoration: none;
    border-bottom: 2px solid var(--color-blue);
    font-weight: 700;
}

.staff_slider .item .bg .link a span {
}
/* Slick navigation */
#staff_block .staff_slider {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
#staff_block .staff_slider .slick-list {
    order: 1;
    margin-bottom: 30px;
}
/* arrows */
.staff_slider .slick-prev,
.staff_slider .slick-next {
    width: 12px;
    height: 12px;
    padding: 0;
    border: 0;
    background: none;
    font-size: 0;
    z-index: 10;
    cursor: pointer;
}
/* hide default slick arrow */
.staff_slider .slick-prev::before,
.staff_slider .slick-next::before {
    display: none;
}

/* left arrow */
.staff_slider .slick-prev {
    order: 2;
    margin-left: 20px;
}
.staff_slider .slick-prev::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-left: 1px solid #d92828;
    border-bottom: 1px solid #d92828;
    transform: rotate(45deg);
}
/* right arrow */
.staff_slider .slick-next {
    order: 4;
}
.staff_slider .slick-next::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 1px solid #d92828;
    border-right: 1px solid #d92828;
    transform: rotate(45deg);
}
/* dots */
.staff_slider .slick-dots {
    order: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;    
    width: auto;
    padding: 0;
    list-style: none;
    margin: 0 10px;
}
.staff_slider .slick-dots li {
    margin: 0;
    display: flex;
    align-items: center;
}
.staff_slider .slick-dots li button {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    font-size: 0;
}
.staff_slider .slick-dots li button::before {
    display: none;
}
/* active dot */
.staff_slider .slick-dots li.slick-active button {
    background: #b30000;
}

/* =========================================================
   SALARY / TREATMENT
========================================================= */

#interview_block {
    padding: 100px 0;
}

#interview_block .inner {
    display: flex;
    justify-content: space-between;
}

#interview_block .box_ttl {
    min-width: 190px;
}

#interview_block .box_ttl h3 {
    font-weight: 700;
    color: var(--color-blue);
}

#interview_block .box_ttl .sub {
    color: #000;
    font-weight: 700;
}

#interview_block .cont {
    width: 820px;
}

.salary-table {
    width: 100%;
    border-collapse: collapse;
}

.salary-table tbody {
}

.salary-table tr th, .salary-table tr td{
    border-left: none; 
    border-right: none;
    border-color: var(--color-blue); 
    padding: 20px 30px;
}

.salary-table th {    
    background: #d1d6e3;
    width: 20%;
    color: var(--color-blue);
    text-align: left;
}


#recruit_office .salary-table tr th, #recruit_office .salary-table tr td{
    border-left: none; 
    border-right: none;
    border-color: #9f1052; 
    padding: 20px 30px;
}

#recruit_office .salary-table th {    
    background: #ebcfdc;
    width: 20%;
    color: #9f1052;
    text-align: left;
}


/* =========================================================
   FAQ
========================================================= */

#faq_block {
    padding: 100px 0;
    background: #f2f2f2;
}

#faq_block .inner {
    display: flex;
    justify-content: space-between;
}

#faq_block .box_ttl{
    display: flex;
    color: var(--color-blue);
    width: 110px;
    position: relative;
}
#faq_block .box_ttl::after{
    content: '';
    width: 1px;
    height: 120px;
    background: var(--color-blue);
    position: absolute;
    right: 0;
    top: 0;
}

#faq_block h3 {
    letter-spacing: 0.05em;
    line-height: 1.4;
}

#faq_block .sub {
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #000;
}

#faq_block .cont {
    width: calc(100% - 110px);
    max-width: 920px;
}

.faq_box {
}

.faq_box dl {
    background: #fff;
    border-radius: 10px;
    padding: 20px 30px;
    margin-bottom: 20px;
}
.faq_box dl:last-child {
    margin-bottom: 0;
}
.faq_box dt{
    padding: 6px 10px 25px 70px;
    position: relative;
    margin-bottom: 15px;
    border-bottom: 1px solid #ccc;
    color: var(--color-blue);
    font-weight: 700;
}
.faq_box dt::before,
.faq_box dd::before{
    content: 'Q';
    background: var(--color-blue);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    font-family: var(--lato-font);
    font-weight: 900;
    font-size: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    top: 0;
    padding-bottom: 3px;
}
.faq_box dd {
    padding: 6px 10px 10px 70px;
    position: relative;
}
.faq_box dd::before {
    content: 'A';
    background: #b30000;
}
#recruit_office .faq_box dt{
    color: #9f1052;
}
#recruit_office .faq_box dt::before{
    background: #4d4d4d;
}
#recruit_office .faq_box dd::before {
    background: #d20055;
}
/* =========================================================
   FINAL earn_msg
========================================================= */
#earn_msg_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 100px 0 100px calc(50% - 600px);
}
#earn_msg_block .ttl {
    font-size: 48px;
    font-family: var(--mincho-font);
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 0;
}

#earn_msg_block .ttl .sm {
    display: block;
}

#earn_msg_block .ttl > span:not(.sm) {
    font-size: 54px;
}

#earn_msg_block .img {
    
}

#earn_msg_block .img img {
    border-radius: 10px 0 0 10px;
}


/* =========================================================
   FOOTER
========================================================= */


footer {
    background: #000;
    color: #fff;
    padding: 10px 0;
    width: 100%;
    text-align: center;
}
footer .inner {
}

footer#submit_entry {
    background: url("../images/recruit/footer_bg.jpg") no-repeat center;
    background-size: cover;
    padding: 20px 0;
    width: 100%;
    transition: 0.2s ease;
    position: fixed;
    left: 0;
    bottom: -220px;
}
footer#submit_entry.fixed {
    bottom: 0;
    z-index: 99;
}
footer#submit_entry .entry_but {
    max-width: 90%;
    width: 750px;
    height: 70px;
    margin: 0 auto 0;
}
footer#submit_entry .entry_but a{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(135deg, #b30000 50%, #ea0000 50%);
    border-radius: 60px;
    color: #fff;
    font-size: 28px;
    font-weight: 500;
    text-decoration: none;
    padding-bottom: 5px;
    overflow: hidden;
    position: relative;
}
footer#submit_entry .entry_but a::before{
    content: '';
    background: url("../images/recruit/icon_entry.svg") no-repeat 0 0 / 100%;
    width: 36px;
    height: 36px;
    display: block;
    margin-right: 10px;
}
footer#submit_entry .entry_but a::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  transition: none;
  animation: shine 2s infinite;
}
/* =========================================================
   office MAINVISUAL
========================================================= */
#recruit_office h3{
    color: var(--color-pink) !important;
    font-weight: 700;
}
#recruit_office #mainvisual {
    background: url("../images/recruit/recruit_office_mainvisual_bg.jpg") no-repeat center 0 / cover;
    height: 840px;
    padding-top: 100px;
}
#recruit_office #mainvisual .inner {
    max-width: 100%;
    height: calc(100% - 200px);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    color: #fff;
    padding: 0 3%;
}
#recruit_office #mainvisual h2 {
    font-family: var(--mincho-font);
    font-size: 38px;
    font-weight: 700;
    color: var(--color-pink);
}

#recruit_office #mainvisual h2 span.large {
    font-size: 60px;
    display: block;
    margin-bottom: 20px;
}
#recruit_office #mainvisual .subh2 {
    font-family: var(--mincho-font);
    font-size: 28px;
    font-weight: 700;
    color: var(--color-pink);
    line-height: 1.6;
    margin-bottom: 15px;
}
#recruit_office #mainvisual p {
    font-size: 20px;
    color: #000;
    font-weight: 500;
    margin-bottom: 20px;
}
#recruit_office #mainvisual ul.list01 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 1140px;
    margin-bottom: 40px;
}
#recruit_office #mainvisual ul.list01 li{
    width: 180px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(211,0,86,0.5);
    color: #fff;
    border-radius: 6px;
    font-weight: 500;
}
#recruit_office #mainvisual ul.list_consult {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1%;
    height: 200px;
    background: rgba(0,0,0,0.5);
}
/* =========================================================
   recruit_recommend
========================================================= */
#recruit_recommend{
    background: url("../images/recruit/recruit_recommend_bg.jpg") no-repeat center 0 / cover;
    margin: 120px 0 0;
}
#recruit_recommend .bg_wh{
    background: #fff;
    padding: 0 80px;
    width: fit-content;
}
#recruit_recommend .box_ttl{
    margin-bottom: 30px;
}
#recruit_recommend .box_ttl h3{
    line-height: 1.4;
}
#recruit_recommend .box_ttl .sub{
    color: #000;
}
#recruit_recommend .subttl{
    font-size: 20px;
    font-weight: 700;
}
#recruit_recommend .recommend_list {
    counter-reset: item;
    margin-bottom: 30px;
}
#recruit_recommend .recommend_list li {
    counter-increment: item;
    display: flex;
    color: #fff;
    border-top: 1px solid #ccc;    
    padding: 10px 0 12px 40px;
    font-size: 18px;
    line-height: 1.45;
    position: relative;
    color: #000;
}

#recruit_recommend .recommend_list  li::before {
    content: counter(item, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 10px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffd4e3;
    color: var(--color-pink);
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 2px;
}
#recruit_recommend .recommend_list li:last-child {
    border-bottom: 1px solid #ccc;
}
/* =========================================================
   recruit_sales_office
========================================================= */

#recruit_sales_office {
    padding: 120px 0;
}

#recruit_sales_office .inner {
    display: flex;
    justify-content: space-between;
    position: relative;
}

#recruit_sales_office .box_ttl {
    position: relative;
    width: 160px;
}
#recruit_sales_office .box_ttl::after {
    content: '';
    width: 1px;
    height: 260px;
    background: var(--color-blue);
    position: absolute;
    top: 0;
    right: 0;
}
#recruit_sales_office .box_ttl h3 {
    display: flex;
    line-height: 1.4;
}

#recruit_sales_office .cont {
    width: calc(100% - 160px);
    position: relative;
    padding-left: 60px;
}

#recruit_sales_office .cont h4 {
    font-size: 40px;
    font-family: var(--mincho-font);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 20px;
    color: var(--color-dpink);
}

/*#recruit_sales_office .cont .list_num {
    padding-right: 300px;
}

#recruit_sales_office .cont .list_num li {
    display: flex;
    justify-content: space-between;  
    margin-bottom: 15px;
    font-weight: 500;
}

#recruit_sales_office .cont .list_num li .num {
    width: 36px;
    color: var(--color-blue);
    font-weight: 900;
    font-family: var(--lato-font);
}

#recruit_sales_office .cont .list_num li > span:last-child {
    width: calc(100% - 36px);
}*/
#recruit_sales_office .imgbox {
    position: absolute;
    display: flex;
    justify-content: space-between;
    width: 390px;
    height: 340px;
    right: -190px;
    top: 0;
}
#recruit_sales_office .img01 {    
}
#recruit_sales_office .img02 {
    margin-top: auto;
}
#recruit_sales_office .img01 img,
#recruit_sales_office .img02 img {
    border-radius: 10px;
}
/* =========================================================
   ease_work
========================================================= */
#ease_work{
    padding: 80px 0 40px;
}

#ease_work .inner{
    display: flex;
    justify-content: space-between;
}

#ease_work .box_ttl{
    width: calc(100% - 760px);
}

#ease_work .box_ttl h3{
    margin-bottom: 0;
}
#ease_work .box_ttl .sub.en{
    margin-bottom: 40px;
    color: #000;
}
#ease_work .box_ttl .sub2{
    font-size: 20px;
    font-weight: 700;
}

#ease_work .cont{
    width: 740px;
}

#ease_work .ease_work_list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: calc(100% + 60px);
    margin: 40px -30px 0;
}

#ease_work .ease_work_list .item{
    width: calc(100%/2 - 60px);
    margin: 0 30px 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #fbe5ee;
    border-radius: 10px;
    padding: 25px;
    position: relative;
}

#ease_work .ease_work_list .item .number {
    font-size: 40px;
    font-weight: 900;
    color: var(--color-pink);
    font-family: var(--lato-font);
    width: fit-content;
    line-height: 2em;
    position: absolute;
    left: -20px;
    top: -40px;
    display: flex;
}
#ease_work .ease_work_list .item .number::after {
    content: '';
    width: 2px;
    height: 70px;
    background: var(--color-pink);
    position: relative;
    right: -8px;
    bottom: -18px;
    transform: rotate(45deg);
}

#ease_work .ease_work_list .item .img{
    margin-bottom: 0;
}

#ease_work .ease_work_list .item .img img{}

#ease_work .ease_work_list .item .ttl{
    color: var(--color-pink);
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
}
#ease_work .ease_work_list .item p{
    line-height: 1.6;
}

/*-----------------------------------------------------------
recruit_interview posttype
------------------------------------------------------------*/
#recruit.recruit_interview #content{
    background: #eceff4;
}
#recruit #mainvisual.under {
    height: 420px;
}
#recruit #mainvisual.under h2 .large{
    line-height: 1.4;
    margin-bottom: 0;
}
#recruit #mainvisual.under .sub_h2{
    font-size: 24px;
}
.recruit_interview .ttl_interview{
    font-size: 72px;
    font-weight: 900;
    color: var(--color-blue);
    margin-bottom: 0;
}
.first_info{
    margin-bottom: 40px;
    width: fit-content;
    max-width: 520px;
}
.year_of_joining{
    margin-bottom: 0;
    color: var(--color-pink);
}
.year_of_joining span{font-weight: 500;font-size: 20px;}
.name{
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 500;
}
.name span{color: var(--color-blue);font-size: 160%;}
.career{
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}
.career span{
    background: #eceff4;
    position: relative;
    padding: 0 10px 0 0;
    color: var(--color-blue);
    font-weight: 500;
    font-size: 20px;
}
.career::before{
    content: '';
    width: 100%;
    height: 1px;
    background: #ccc;
    position: absolute;
    left: 0;
    bottom: 15px;
}
.job_title{
    margin-bottom: 0;
}
.prev_job{}

.block_first{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    position: relative;
    margin-bottom: 200px;
}
.block_first::before{
    content: 'Meet Our Team';
    font-size: 140px;
    position: absolute;
    right: -350px;
    top: -120px;
    font-weight: 900;
    /*opacity: 0.1;*/
    line-height: 1.0;
    letter-spacing: -0.05em;
    color: #fff;
}
.block_first .img{
    width: 800px;
    margin-right: -300px;
    position: relative;
}
.block_first .block_text{
    width: calc(100% - 560px);
}
.block_first .block_text h3{
    font-size: 36px;
    color: var(--color-blue);
    font-weight: 700;
    margin-bottom: 30px;
}
.block_first .block_text > div{}
.block_stories{
    display: flex;
    justify-content: space-between;
    position: relative;
}
.block_stories::before{
    content: 'Our Stories';
    font-size: 170px;
    position: absolute;
    left: -350px;
    top: -135px;
    font-weight: 900;
    line-height: 1.0;
    letter-spacing: -0.05em;
    color: #fff;
}
.block_stories .img{
    width: 800px;
    margin-left: -300px;
    position: relative;
}
.block_stories .img img{}
.block_stories .block_text{
    width: calc(100% - 560px);
}
.block_stories .block_text h3{
    font-size: 36px;
    color: var(--color-blue);
    font-weight: 700;
    margin-bottom: 30px;
}
.block_stories .block_text > div{}

.outer_recruit_uner{
    padding: 100px 0;
}
.interview_block{
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 100px;
}
.interview_block_img{
    width: 800px;
    margin-left: -300px;
}
.interview_block_text{
    width: calc(100% - 560px);
}
.interview_block.right{
    flex-direction: row-reverse;
}
.interview_block.right .interview_block_img{
    width: 800px;
    margin-left: unset;
    margin-right: -300px;
}
.interview_block_text h4{
    font-size: 32px;
    color: var(--color-blue);
    font-weight: 500;
    margin-bottom: 30px;
}
.interview_block_text .article{}

.post-related-pagination{
    display: flex;
    justify-content: space-between;
    padding-bottom: 100px;
}
.post-related-pagination li{width: 240px;height: 60px;margin: 0 auto;}
.post-related-pagination li a{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--color-blue);
    border-radius: 3px;
    color: var(--color-blue);
    text-decoration:none;
    transition: 0.2s ease;    
}
.post-related-pagination li a:hover{
    background: var(--color-blue);
    color: #fff;
}
.post-related-pagination li.hidden{}
.interview_category ul{
    display: flex;
    justify-content: space-between;
    width: calc(100% + 20px);
    margin: 0 -10px 40px;
}
.interview_category ul li{
    width: calc(100% / 3 - 20px);
    margin: 0 10px 20px;
    height: 60px;    
}
.interview_category ul li a{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--color-blue);
    border-radius: 3px;
    background: var(--color-blue);
    color: #fff;
    font-size: 18px;
    text-decoration:none;
    transition: 0.2s ease;    
}
.interview_category li a:hover{
    background: #fff;
    color: var(--color-blue);
}
.interview_category li a.active{
    pointer-events: none;
    background: #fff;
    color: var(--color-blue);
}
.list_interviews {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 20px);
    margin: 0 -10px;
}
.list_interviews .item{
    width: calc(100% / 2 - 20px);
    margin: 0 10px 20px;
    background: #fff;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    position: relative;
    border-radius: 10px;
}
.list_interviews .item .subttl {
    padding-left: 20px;
    border-bottom: 1px solid var(--color-blue);
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
    color: var(--color-blue);
    position: absolute;
    left: 0;
    top: 20px;
}
.list_interviews .item .img {
    width: 200px;
    height: 280px;
    background: #f4f4f4;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    overflow: hidden;
}
.list_interviews .item .img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}
.list_interviews .item .cont {
    width: calc(100% - 230px);
}
.list_interviews .item p{
    font-size: 14px;
    margin-bottom: 10px;
    line-height: 1.4;
}
.list_interviews .item .cate{
    background: var(--color-blue);
    padding: 2px 5px;
    border-radius: 3px;
    color: #fff;
    margin-bottom: 5px;
    width: fit-content;
}
.list_interviews .item .ttl1 {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-blue);
    margin-bottom: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.list_interviews .item .ttl2 {    
    display: flex;
    margin-bottom: 5px;
    line-height: 2.0em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.list_interviews .item .ttl2 .num {
    width: 20px;
    font-size: 18px;
    font-family: var(--lato-font);
    font-weight: 900;
    color: #b30000;
}
.list_interviews .item .ttl2 .txt {
    width: calc(100% - 20px);
    font-weight: 500;
}
.list_interviews .item .link {
    text-align: right;
    margin-bottom: 0;
}
.list_interviews .item .link a {
    background: url("../images/recruit/arrow02.svg") no-repeat left 3px / 14px;
    padding: 0 0 3px 25px;
    text-decoration: none;
    border-bottom: 2px solid var(--color-blue);
    font-weight: 700;
}
.pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-family: var(--lato-font);
    margin-top: 20px;
}
.pagination .current {
    background-color: #003879;
    color: #fff;
}
.pagination a, .pagination span {
    display: flex;
    width: 30px;
    height: 30px;
    margin: 3px;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;    
    background: #fff;
    text-decoration: none;
    color: #111;
    font-weight: bold;
    box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
}

.pagination  a.active {
    cursor: default;
    background: #004290;
    color: #fff;
    font-weight: 400;
}
/*-----------------------------------------------------------
recruit_entry
------------------------------------------------------------*/
.recruit_under{
    
}
.recruit_under .box_ttl{
    margin-bottom: 30px;
}
.recruit_under .box_ttl h3{
    color: var(--color-blue);
    font-weight: 700;
}
.contact-btn {
    text-align: center;
    margin-top: 30px;
}

.contact-btn button {
    position: relative;
    font-size: 18px;
    padding: 7px 15px 8px;
    background-color: #003879;
    color: #fff;
    border: 0;
    outline: 0;
    width: 250px;
    max-width: 100%;
    height: 50px;
    transition: 0.2s linear;
    font-family: 'Noto Sans JP', sans-serif;
    z-index: 1;
}
.contact-btn button {
    position: relative;
    font-size: 18px;
    padding: 7px 15px 8px;
    background-color: #003879;
    color: #fff;
    border: 0;
    outline: 0;
    width: 250px;
    max-width: 100%;
    height: 50px;
    transition: 0.2s linear;
    font-family: 'Noto Sans JP', sans-serif;
    z-index: 1;
}
.contact-btn button::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    transform: rotateZ(45deg);
    position: absolute;
    top: 20px;
    right: 15px;
    margin: auto;
}

.contact-btn button[name='submitBack']::before {
    transform: rotateZ(-135deg);
    right: unset;
    left: 15px;
}

.mw_wp_form_send_error {
    font-size: 20px;
}
.btn-back {
    display: none;
    position: relative;
    font-size: 18px;
    padding: 12px 15px 8px;
    background-color: #353535;
    color: #fff;
    border: 0;
    outline: 0;
    width: 250px;
    max-width: 100%;
    height: 50px;
    transition: 0.2s linear;
    font-family: 'Noto Sans JP', sans-serif;
    z-index: 1;
    cursor: pointer;
}

.btn-back::before {
    content: '';
    width: 12px;
    height: 12px;
    border-bottom: solid 3px #fff;
    border-left: solid 3px #fff;
    transform: rotateZ(45deg);
    position: absolute;
    top: 20px;
    left: 15px;
    margin: auto;
}
.entryform.confirm .btn-back{
    display: block !important;
}
.entryform.confirm .contact-btn {
    display: flex;
    justify-content: center;
    gap: 10px;
}
.entryform .form_note {
    display: block;
}
.entryform.confirm .form_note {
    display: none;
}
/*-----------------------------------------------------------
recruit_form table
------------------------------------------------------------*/
.recruit_form {
}
.recruit_form dl{
    width: 100%;
    border-collapse: collapse;
    display: flex;
    background-color: #fff;
    border-radius: 20px;
    padding: 20px 15px;
    box-shadow: 0 0 6px #ccc;
    margin-bottom: 30px;
}
.recruit_form dt{
    width: 30%;
    position: relative;
    font-size: 18px;
    font-weight: 700;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding-right: 20px;
    margin-bottom: 0;
    z-index: 1;
    color: #000 !important;
}
.recruit_form dt::before {
    content: '';
    position: absolute;
    background: url(../images/line-dash.png) center top repeat-y;
    width: 1px;
    height: 100%;
    background-size: contain;
    right: 0;
    top: 0;
}
.recruit_form dd{
    width: 70%;
    padding-left: 20px;
}
.recruit_form dd input{
    font-size: 16px;
    line-height: 1.8em;
    padding: 3px;
    max-width: 100%;
}
.recruit_form dd .mwform-radio-field{
    font-size: 16px;
}
.required {
    font-size: 12px !important;
    background-color: red;
    color: #fff;
    border-radius: 30px;
    padding: 1px 10px 3px;
    margin-left: 5px;
    margin-top: 2px;
}
.ui-widget.ui-widget-content {
    width: 290px;
}
#recruit .ui-datepicker .ui-datepicker-title select {
    font-size: 16px !important;
    padding: 2px 0;
}
#recruit .ui-datepicker .ui-datepicker-prev, #recruit .ui-datepicker .ui-datepicker-next {
    width: 20px;
    height: 20px;
    top: 5px;
}
@-webkit-keyframes shine {
100% {left: 100%;}
}

@keyframes shine {
100% {left: 100%;}
}

/* IE STUPID CSS */
@media screen\0 {

}