@charset "utf-8";

.fat-nav{
z-index: 20 !important;
}
.mid-career__jobinfo-hero,
.mid-career__jobinfo-hero *,
.mid-career__jobinfo-innerlink,
.mid-career__jobinfo-body *,
.mid-career__jobinfo-body-white *,
.mid-career__jobinfo-innerlink *,
.mid-career__jobinfo-body,
.mid-career__jobinfo-cta,
.mid-career__jobinfo-body *,
.mid-career__jobinfo-cta *{
box-sizing: border-box;
font-family: "Noto Sans JP", "Yu Gothic UI", "Noto Sans", sans-serif;
}
:root {
--mcBlue1: #005dac;
--mcBlue2: #009cd5;
--mcLightBlue1: #f5f7fc;
--mcGray1: #222222;
--mcGray2: #444444;
--mcGray3: #666666;
--mcGray4: #888888;
--mcGray5: #AAAAAA;
--mcWhite: #FFFFFF;
}
.showSP{
display: none;
}

/**************************/
@media screen and (min-width: 751px) {
body {
min-width: auto;
}
}
/* ==================================================
Hero
================================================== */
.mid-career__jobinfo-hero{
background:
linear-gradient(
135deg,
var(--mcWhite) 0%,
var(--mcLightBlue1) 100%
);
padding: 60px 0 40px;
overflow: hidden;
margin-top: 70px;
position: relative;
z-index: 5;
}
.mid-career__jobinfo-hero-inner{
max-width: 1220px;
margin: 0 auto;
padding: 0 20px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 80px;

}
.mid-career__jobinfo-hero-content{
flex: 1;
max-width: 480px;
}
.mid-career__jobinfo-breadcrumb{
font-size: 14px;
line-height: 1.5;
color: var(--mcGray3);
margin-bottom: 40px;
}
.mid-career__jobinfo-breadcrumb a,
.mid-career__jobinfo-breadcrumb a:link,
.mid-career__jobinfo-breadcrumb a:visited{
color: var(--mcGray2);
}
.mid-career__jobinfo-breadcrumb a:hover{
color: var(--mcBlue2);
}
.mid-career__jobinfo-title-label{
display: inline-block;
font-size: clamp(22px, calc(22px + 6 * ((100vw - 768px) / 507)), 28px);
font-weight: 700;
line-height: 1;
color: var(--mcGray1);
margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 768px) / 507)), 20px);
}
.mid-career__jobinfo-title{
margin-bottom: 40px;
}
.mid-career__jobinfo-title-text{
position: relative;
padding-top: 30px;
}
.mid-career__jobinfo-title-text::before{
content: "";
display: block;
width: 120px;
height: 2px;
background-color: var(--mcBlue1);
position: absolute;
top: 0;
left: 0;
}

/**** animation h1 ****/
.mid-career__jobinfo-title .line{
display:block;
position:relative;
overflow:hidden;
margin-bottom:.15em;
}
.mid-career__jobinfo-title .text{
display:inline-block;
opacity:0;
font-size: clamp(24px, 4vw, 36px);
font-weight: 700;
line-height: 1.35;
font-feature-settings: "palt";
letter-spacing: 0.04em;
color: var(--mcBlue1);
}
.mid-career__jobinfo-title .cover{
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
background:var(--mcBlue1);
background:linear-gradient(
90deg,
var(--mcBlue1),
var(--mcBlue2)
);
transform:translateX(-101%);
}

body.is-loaded .mid-career__jobinfo-title .line:nth-child(1) .cover{
animation: cover-slide .8s ease forwards;
}
body.is-loaded .mid-career__jobinfo-title .line:nth-child(1) .text{
animation: text-show .01s linear .45s forwards;
}
body.is-loaded .mid-career__jobinfo-title .line:nth-child(2) .cover{
animation: cover-slide .8s ease .25s forwards;
}
body.is-loaded .mid-career__jobinfo-title .line:nth-child(2) .text{
animation: text-show .01s linear .7s forwards;
}
body.is-loaded .mid-career__jobinfo-title .line:nth-child(3) .cover{
animation: cover-slide .8s ease .5s forwards;
}
body.is-loaded .mid-career__jobinfo-title .line:nth-child(3) .text{
animation: text-show .01s linear .95s forwards;
}
body.is-loaded .mid-career__jobinfo-title .line:nth-child(4) .cover{
animation: cover-slide .8s ease .75s forwards;
}
body.is-loaded .mid-career__jobinfo-title .line:nth-child(4) .text{
animation: text-show .01s linear 1.20s forwards;
}

@keyframes cover-slide{
0%{
transform:translateX(-101%);
}
50%{
transform:translateX(0);
}
100%{
transform:translateX(101%);
}
}
@keyframes text-show{
from{
opacity:0;
}
to{
opacity:1;
}
}


/* ==================================================
Hero Image
================================================== */
.mid-career__jobinfo-hero-image{
position: absolute;
inset: 0 0 0 auto;
z-index: -1;
}
.mid-career__jobinfo-hero-image img{
height: 100%;
width: auto;
}

/* ==================================================
Hero SP
================================================== */
@media screen and (max-width: 767px){
.mid-career__jobinfo-hero{
padding: 50px 0 60px;
}
.mid-career__jobinfo-hero-inner{
flex-direction: column-reverse;
gap: 40px;
}
.mid-career__jobinfo-hero-content{
max-width: none;
width: 100%;
}
.mid-career__jobinfo-hero-image img{
opacity: .3;
object-fit: cover;
}
}

/* ==================================================
inner link
================================================== */
.mid-career__jobinfo-innerlink{
max-width: 1220px;
margin: 0 auto;
padding: 30px 0;
}
.mid-career__jobinfo-innerlink-inner{
max-width: 800px;
margin: 0 auto;
padding: 0 20px;
display: flex;
align-items: center;
justify-content: center;
gap: 80px;
}
.mid-career__jobinfo-innerlink a{
display: block;
border: 1px solid var(--mcBlue1);
border-radius: 4px;
padding: 15px 60px;
width: 50%;
text-align: center;
font-size: 20px;
font-weight: 700;
line-height: 1.5;
letter-spacing: 0.04em;
color: var(--mcBlue1);
position: relative;
transition: color .3s, border-color .3s;
}
.mid-career__jobinfo-innerlink a:hover{
color: var(--mcBlue2);
border-color: var(--mcBlue2);
}
.mid-career__jobinfo-innerlink a.button-flow::before,
.mid-career__jobinfo-innerlink a.button-flow::after,
.mid-career__jobinfo-innerlink a.button-info::before,
.mid-career__jobinfo-innerlink a.button-info::after{
content: "";
display: block;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.mid-career__jobinfo-innerlink a.button-flow::after,
.mid-career__jobinfo-innerlink a.button-info::after{
width: 20px;
height: 20px;
background: url(../images/jobinfo/mc_icon_arrow_down.svg) no-repeat;
background-size: 20px 20px;
right: 20px;
}
.mid-career__jobinfo-innerlink a.button-flow::before{
width: 20px;
height: 20px;
background: url(../images/jobinfo/mc_icon_arrow_down.svg) no-repeat;
background-size: 20px 20px;
left: 40px;
}
.mid-career__jobinfo-innerlink a.button-flow::before{
width: 50px;
height: 50px;
background: url(../images/jobinfo/mc_icon_flow.svg) no-repeat;
background-size: 50px 50px;
left: 40px;
}
.mid-career__jobinfo-innerlink a.button-info::before{
width: 40px;
height: 40px;
background: url(../images/jobinfo/mc_icon_buil.svg) no-repeat;
background-size: 40px 40px;
left: 40px;
}

/* ==================================================
Jobinfo Body
================================================== */
.mid-career__jobinfo-body,
.mid-career__jobinfo-body-white{
max-width: 1220px;
margin: 0 auto;
padding: 30px 30px 40px;
background-color: var(--mcLightBlue1);
scroll-margin-top: 120px;
}
.mid-career__jobinfo-body{
margin-bottom: 60px;
}
.mid-career__jobinfo-body-white{
background-color: var(--mcWhite);
}
h2.mid-career__jobinfo-h2{
font-family: 'Manrope', sans-serif;
font-size: 40px;
font-weight: 700;
color: var(--mcBlue1);
display: flex;
align-items: center;
gap: 20px;
margin-bottom: 20px;
}
h2.mid-career__jobinfo-h2 span{
font-family: "Noto Sans JP", "Yu Gothic UI", "Noto Sans", sans-serif;
font-size: 20px;
font-weight: 600;
color: var(--mcGray2);
}

/* Flow
----------------------------------- */
.mid-career__jobinfo-flow{
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 40px;
}
.mid-career__jobinfo-flow-item{
background-color: var(--mcWhite);
border-radius: 6px;
box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
display: grid;
grid-template-rows: auto 60px 4.6em 1fr;/* STEP  アイコン  ラベル  説明文 */
gap: 15px;
justify-items: center;
align-items: start;
min-width: 0;
padding: 20px;
position: relative;
}
.mid-career__jobinfo-flow-item::before{
display: block;
content: "";
width: 30px;
height: 30px;
background: url(../../assets/images/jobinfo/mc_icon_arrow_right.svg) no-repeat;
background-size: 30px;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: -35px;
}
.mid-career__jobinfo-flow-item:last-child:before{
display: none;
}
.mid-career__jobinfo-flow-item-setp{
font-family: 'Manrope', sans-serif;
font-size: 16px;
text-align: center;
color: var(--mcBlue1);
}
.mid-career__jobinfo-flow-item-setp span{
display: block;
font-family: 'Manrope', sans-serif;
font-size: 36px;
font-weight: 500;
}
.mid-career__jobinfo-flow-item-icon{
width: 50px;
height: 50px;
}
.mid-career__jobinfo-flow-item:nth-child(3) .mid-career__jobinfo-flow-item-icon,
.mid-career__jobinfo-flow-item:nth-child(4) .mid-career__jobinfo-flow-item-icon{
width: 70px;
height: 50px;
}
.mid-career__jobinfo-flow-item-label{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
font-size: 20px;
font-weight: 700;
line-height: 1.4;
color: var(--mcGray1);
text-align: center;
}
.mid-career__jobinfo-flow-item-text{
width: 100%;
margin: 0;
font-size: 14px;
line-height: 1.8;
text-align: center;
color: var(--mcGray1);
}

/* RECRUITMENT INFO
----------------------------------- */
.mid-career__jobinfo-recinfo-text{
font-size: 18px;
line-height: 1.8em;
color: var(--mcGray1);
text-align: center;
margin-top: 40px;
margin-bottom: 60px;
}
.table-recinfo{
width: 100%;
border-collapse: collapse;
margin-bottom: 60px;
}
.table-recinfo *{
font-feature-settings: "palt";
letter-spacing: 0.04em;
}
.table-recinfo tr{
border-top: 1px solid var(--mcGray3);
}
.table-recinfo tr:last-child{
border-bottom: 1px solid var(--mcGray3);
}
.table-recinfo th{
vertical-align: middle;
padding: 30px 15px;
font-size: 16px;
font-weight: 600;
color: var(--mcGray2);
}
.table-recinfo td{
padding: 30px 15px;
}
.mid-career__jobinfo-category-list {
margin: 0;
padding: 0;
list-style: none;
}
.mid-career__jobinfo-category-item {
display: grid;
grid-template-columns: 7em minmax(0, 1fr);
column-gap: 1.5em;
align-items: start;
}
.mid-career__jobinfo-category-item-label{
margin-top: 1.5em;
margin-bottom: 0.5em;
font-weight: 600;
}
.mid-career__jobinfo-category-item-label:first-child{
margin-top: 0;
}
.mid-career__jobinfo-category-item-label .note{
font-size: 14px;
}
.mid-career__jobinfo-category-item-text-indent{
font-size: 16px;
color: var(--mcGray1);
}
.mid-career__jobinfo-category-item + .mid-career__jobinfo-category-item {
margin-top: .5em;
}
.mid-career__jobinfo-category-label {
white-space: nowrap;
}
.mid-career__jobinfo-category-content {
display: grid;
gap: .2em;
min-width: 0;
}
.table-recinfo td ul li{
font-size: 16px;
color: var(--mcGray1);
line-height: 1.8em;
margin-bottom: 5px;
}
.table-recinfo td ul.mid-career__jobinfo-category-sublist li{
font-size: 15px;
line-height: 1.4em;
}
.table-recinfo td ul.mid-career__jobinfo-category-sublist li::before{
display: inline-block;
content: "■";
color: var(--mcGray2);
margin-right: 0.3em;
}
.mid-career__jobinfo-category-list + .mid-career__jobinfo-category-sublist{
margin-top: 1em;
}
.mid-career__jobinfo-hiring-ratio-wrapper{
width: fit-content;
width: 80%;
margin: 0 auto;
}
.mid-career__subList--SeparatorLine{
border-top: 1px solid var(--mcGray5);
margin-top: 0.5em;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.mid-career__jobinfo-hiring-ratio{
border-collapse: collapse;
width: 100%;
}
.mid-career__jobinfo-hiring-ratio th,
.mid-career__jobinfo-hiring-ratio td {
border: solid 1px var(--mcGray2);
padding: 10px 20px;
}
.mid-career__jobinfo-hiring-ratio caption{
text-align: left;
margin-bottom: .45em;
}
.mid-career__jobinfo-hiring-ratio tbody td{
text-align: right;
vertical-align: middle;
}
.mid-career__jobinfo-hiring-ratio-update{
text-align: right;
font-size: 14px;
color: var(--mcGray1);
margin-top: 0.3em;
}
.mc_link-CTA,
.mc_link-CTA:link,
.mc_link-CTA:visited,
.mc_link-CTA:active{
color: var(--mcBlue1);
}
.mc_link-CTA:hover{
color: var(--mcBlue2);
}
.mc_link-button{
line-height: 1.4em;
display: inline-block;
margin: 0 5px;
background-color: var(--mcBlue1);
color: var(--mcWhite);
transform: background-color .3s;
padding: 1px 8px 2px;;
border-radius: 4px;
}
.mc_link-button:link,
.mc_link-button:visited,
.mc_link-button:active{
background-color: var(--mcBlue1);
color: var(--mcWhite);
}
.mc_link-button:hover{
background-color: var(--mcBlue2);
}

/* Responsive
----------------------------------- */
@media screen and (max-width: 767px){
.hideSP{
display: none;
}
.showSP{
display: block;
}
.mid-career__jobinfo-body,
.mid-career__jobinfo-body-white {
padding: 30px 15px 40px;
scroll-margin-top: 90px;
}
h2.mid-career__jobinfo-h2{
flex-direction: column;
}
.mid-career__jobinfo-innerlink-inner{
flex-direction: column;
gap: 20px;
}
.mid-career__jobinfo-innerlink-inner a{
width: 100%;
}
.mid-career__jobinfo-flow{
display: grid;
grid-template-columns: repeat(1, minmax(0, 4fr));
gap: 40px;
}
.mid-career__jobinfo-flow-item{
grid-template-rows: auto 60px auto 1fr;/* STEP  アイコン  ラベル  説明文 */
}
.mid-career__jobinfo-flow-item::before{
display: block;
content: "";
width: 30px;
height: 30px;
background: url(../../assets/images/jobinfo/mc_icon_arrow_right.svg) no-repeat;
background-size: 30px;
position: absolute;
left: 50%;
transform: translateX(-50%) rotate(90deg);
top: auto;
bottom: -35px;
}
.mid-career__jobinfo-flow-item:last-child:before{
display: none;
}
.table-recinfo th,
.table-recinfo td{
display: block;
width: 100%;
}
.table-recinfo th{
padding-bottom: 0;
}
.mid-career__jobinfo-hiring-ratio-wrapper{
width: 100%;
}
.mid-career__jobinfo-hiring-ratio th,
.mid-career__jobinfo-hiring-ratio td{
display: table-cell;
width: auto;
}
.mid-career__jobinfo-hiring-ratio th.hideSP,
.mid-career__jobinfo-hiring-ratio td.hideSP{
display: none;
}
.mid-career__jobinfo-recinfo-text {
font-size: 16px;
}
.table-recinfo td ul li {
font-size: 14px;
}
.mid-career__jobinfo-category-item{
grid-template-columns: minmax(0, 1fr);
row-gap: .35em;
}
}

/* ==================================================
JOBINFO CTA, ENTRY
================================================== */
.mid-career__jobinfo-cta{
background: linear-gradient(135deg, var(--mcBlue1) 0%, var(--mcBlue2) 100%);
padding: 70px 0;
}
.mid-career__jobinfo-cta-inner{
max-width: 1220px;
margin: 0 auto;
padding: 0 20px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 60px;
}
.mid-career__jobinfo-cta-content{
flex: 1;
}
.mid-career__jobinfo-cta-title{
font-size: clamp(32px, 3vw, 48px);
font-weight: 700;
line-height: 1.35;
letter-spacing: .04em;
color: #ffffff;
margin-bottom: 18px;
}
.mid-career__jobinfo-cta-text{
font-size: 16px;
line-height: 1.9;
font-feature-settings: "palt";
letter-spacing: .04em;
color: rgba(255,255,255,.9);
}
.mid-career__jobinfo-cta-buttons{
flex: 0 0 340px;
}
.mid-career__jobinfo-cta-buttons a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 110px;
background-color: #ffffff;
color: var(--mcBlue1);
font-family: 'Manrope', sans-serif;
font-size: 36px;
font-weight: 700;
letter-spacing: .12em;
text-decoration: none;
border-radius: 6px;
transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s sase;
}
.mid-career__jobinfo-cta-buttons a:hover{
transform: translateY(-3px);
background-color: #ffffff;
box-shadow: 0 10px 30px rgba(0,0,0,.15);
color: var(--mcBlue2);
}

@media screen and (max-width: 767px){
.mid-career__jobinfo-cta{
padding: 50px 0;
}
.mid-career__jobinfo-cta-inner{
flex-direction: column;
align-items: stretch;
gap: 30px;
}
.mid-career__jobinfo-cta-buttons{
flex: none;
width: 100%;
}
.mid-career__jobinfo-cta-title{
font-size: 28px;
}
.mid-career__jobinfo-cta-buttons a{
height: 90px;
font-size: 30px;
}
}
