@charset "UTF-8";


/* panv
------------------------------------------------- */
.panv {
    padding-bottom: 8.5em;
}
.panv ul {
    display: flex;
    justify-content: space-between;
    border: 1px solid #253ba7;
    border-bottom: none;
}
.panv ul li {
    width: 20%;
    text-align: center;
}
.panv ul li a {
    line-height: 3.2;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.15em;
    background: url("../img/recruit/icon1.png") right center no-repeat;
    background-size: 0.65em auto;
    padding-right: 1.5em;
}
@media only screen and (min-width:751px){
.panv ul li a:hover {
    color: #253ba7;
}
}
@media only screen and (max-width:750px){
.panv {
    padding-bottom: 5.5vw;
}
.panv ul {
    font-size: 4vw;
    flex-wrap: wrap;
    border: none;
}
.panv ul li {
    width: 47.5%;
    text-align: left;
}
.panv ul li a {
    line-height: 12.5vw;
    text-align: left;
    letter-spacing: 0.15em;
    display: block;
    border-top: 1px solid #253ba7;
    border-bottom: 1px solid #253ba7;
    margin-top: -1px;
}
}


/* message
------------------------------------------------- */
.message {
    padding: 2em 0 6.25em;
}
.message .inner {
    padding: 0 13.75em;
}
.message .headline1 {
    margin-bottom: 1em;
}
.message .img {
    width: 38.4375em;
    position: absolute;
    left: 41.5em;
    top: 5.45em;
    z-index: 1;
}
.message .con {
    width: 31.25em;
    border: 1px solid #253ba7;
    background-color: #fff;
    padding: 2em 3.125em;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}
.message .con p {
    line-height: 2.3;
}
.message .con .name {
    padding-top: 1em;
}
@media only screen and (max-width:750px){
.message {
    padding: 5vw 0 10.5vw;
}
.message .inner {
    padding: 0;
}
.message .headline1 {
    margin-bottom: 2em;
}
.message .img {
    width: 100%;
    position: static;
}
.message .con {
    width: 100%;
    padding: 6.5vw 5vw;
}
.message .con p {
    line-height: 1.85;
}
.message .con .name {
    font-size: 3.733vw;
    padding-top: 1em;
}
}


/* employment
------------------------------------------------- */
.employment {
    background: url("../img/recruit/bg.jpg") center top no-repeat rgba(227,235,254,0.50);
    background-size: 100% auto;
    padding: 6em 0 4em;
}
.employment .headline1 {
    text-align: right;
    color: #fff;
}
.employment .inner {
    padding: 0 13.75em;
}
.employment ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 1.2em;
}
.employment ul li {
    width: 47.8%;
    background-color: #fff;
    padding: 2.2em 3.125em 2.5em;
    margin-bottom: 2.5em;
    box-sizing: border-box;
}
.employment ul li h3 {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.15em;
}
.employment ul li p {
    line-height: 2.3;
}
.employment ul li dl {
    padding-top: 2em;
}
.employment ul li dl a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #253ba7;
    font-weight: 700;
    line-height: 1.55;
}
.employment ul li dl dt {
    width: 4.5em;
    margin-right: 1em;
}
@media only screen and (max-width:750px){
.employment {
    background: url("../img/recruit/bg_sp.jpg") center top no-repeat rgba(227,235,254,0.50);
    background-size: 100% auto;
    padding: 6.5vw 0 5.5vw;
}
.employment .inner {
    padding: 0;
}
.employment ul {
    display: block;
    padding-top: 0.5em;
}
.employment ul li {
    width: 100%;
    padding: 4vw 5vw;
    margin-bottom: 5vw;
}
.employment ul li h3 {
    font-size: 4vw;
    padding-bottom: 0.3em;
}
.employment ul li h3 span {
    font-size: 3.466vw;
}
.employment ul li p {
    line-height: 1.85;
}
.employment ul li dl {
    padding-top: 1em;
}
}


/* interview
------------------------------------------------- */
.interview {
    background-color: rgba(227,235,254,0.50);
    padding-bottom: 5.5em;
}
.interview ul {
    display: flex;
    padding-top: 1em;
}
.interview ul li {
    width: 30.625%;
    margin-right: 4.0625%;
}
.interview ul li:nth-child(3) {
    margin-right: 0;
}
.interview ul li a {
    display: block;
}
.interview ul li img {
    width: 98%;
    margin-left: 2%;
}
.interview ul li .con {
    margin-top: -1.2em;
    letter-spacing: 0.15em;
}
.interview ul li .cat {
    display: inline-block;
    background-color: #fff;
    color: #309fc6;
    border: 1px solid #309fc6;
    padding: 0 0.8em;
    margin-bottom: 0.5em;
    letter-spacing: 0.04em;
    position: relative;
    z-index: 2;
}
.interview ul li h3 {
    font-weight: 700;
    line-height: 1.6;
}
@media only screen and (max-width:750px){
.interview {
    padding: 5vw 0 5.5vw;
}
.interview ul {
    display: block;
    padding-top: 0;
}
.interview ul li {
    width: 100%;
    margin: 0 0 6.5vw;
}
.interview ul li .con {
    margin-top: -1.2em;
    letter-spacing: 0.15em;
}
.interview ul li .cat {
    line-height: 2.3;
}
.interview ul li h3 {
    font-size: 3.733vw;
    font-weight: 700;
    line-height: 1.6;
}
}


/* benefit
------------------------------------------------- */
.benefit {
    padding: 6em 0 4.5em;
}
.benefit .inner {
    padding: 0 13.75em;
}
.benefit .headline1 {
    text-align: right;
}
.benefit .con {
    width: 52.5em;
    margin: 0 auto;
}
.benefit .con h3 {
    font-weight: 700;
    letter-spacing: 0.15em;
    position: relative;
    margin-bottom: 2em;
}
.benefit .con h3::before {
    content: '';
    width: 70%;
    height: 1px;
    background-color: #000;
    position: absolute;
    right: 0;
    top: 50%;
}
.benefit .con table {
    width: 100%;
}
.benefit .con table th {
    color: #253ba7;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-align: left;
    padding: 0 2em 2em 0;
}
.benefit .con table td {
    letter-spacing: 0.05em;
    text-align: left;
}
@media only screen and (max-width:750px){
.benefit {
    padding: 10vw 0;
}
.benefit .inner {
    padding: 0;
}
.benefit .con {
    width: 100%;
}
.benefit .con h3 {
    font-size: 3.733vw;
    margin-bottom: 1.5em;
}
.benefit .con h3::before {
    width: 52%;
}
.benefit .con table th {
    display: block;
    width: 100%;
    font-size: 3.733vw;
    padding: 0;
}
.benefit .con table td {
    display: block;
    width: 100%;
    padding: 0 0 1em;
    letter-spacing: normal;
}
}


/* requirement
------------------------------------------------- */
.requirement {
    background-color: #f5f5f5;
    padding: 6em 0;
}
.requirement .inner {
    padding: 0 13.75em;
}
.requirement .tab ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 1.5em 0 4em;
}
.requirement .tab ul li {
    width: 25%;
    border: 1px solid #000;
    border-bottom: none;
    margin-left: -1px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3.2em;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
    position: relative;
    z-index: 1;
}
.requirement .tab ul li.active {
    border-color: #253ba7;
    height: 4.2em;
    color: #253ba7;
    z-index: 2;
}
.requirement .tabcont .tabdet.none {
    display: none;
}
.requirement .sec {
    display: flex;
    justify-content: center;
}
.requirement .sec table th,
.requirement .sec table td {
    font-weight: 400;
    letter-spacing: 0.12em;
    text-align: left;
    padding: 0.8em 0;
    vertical-align: top;
}
.requirement .sec table th {
    width: 12em;
    color: #253ba7;
}
.requirement .sec table td ul li {
    padding-left: 1em;
    text-indent: -1em;
}
.requirement .sec table td ul li::before {
    content: '・';
}
@media only screen and (min-width:751px){
.requirement .tab ul li:hover {
    border-color: #253ba7;
    height: 4.2em;
    color: #253ba7;
    z-index: 2;
}
}
@media only screen and (max-width:750px){
.requirement {
    padding: 10vw 0;
}
.requirement .inner {
    padding: 0;
}
.requirement .tab ul {
    padding: 0 0 8vw;
}
.requirement .tab ul li {
    height: 15vw;
    line-height: 1.35;
    transition: 0s;
}
.requirement .tab ul li.active {
    height: 17.6vw;
}
.requirement .sec {
    display: flex;
    justify-content: center;
}
.requirement .sec table th,
.requirement .sec table td {
    font-size: 4vw;
    display: block;
    width: 100%;
    padding: 0 0 1em;
}
.requirement .sec table th {
    padding: 0;
}
}


/* selection
------------------------------------------------- */
.selection {
    padding: 6em 0 4.5em;
}
.selection .inner {
    padding: 0 13.75em;
}
.selection .headline1 {
    text-align: right;
}
.selection ul {
    display: flex;
    justify-content: space-between;
    padding-top: 1em;
}
.selection ul li {
    width: 28%;
    text-align: center;
    position: relative;
}
.selection ul li::before {
    content: '';
    background: url("../img/recruit/icon2.png") right center no-repeat;
    background-size: 100% auto;
    width: 0.875em;
    height: 1.6875em;
    position: absolute;
    right: -3em;
    top: 4.5em;
}
.selection ul li:last-child::before {
    width: 0;
    display: none;
}
.selection ul li .img {
    width: 10.625em;
    height: 10.625em;
    margin: 0 auto 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f5f5f5;
    border-radius: 10em;
}
.selection ul li .img img {
    width: 5.5em;
}
@media only screen and (max-width:750px){
.selection {
    padding: 10vw 0 0;
}
.selection .inner {
    padding: 0;
}
.selection ul {
    display: block;
    padding-top: 1em;
}
.selection ul li {
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 13vw;
}
.selection ul li::before {
    background: url("../img/recruit/icon2_sp.png") right center no-repeat;
    background-size: 100% auto;
    width: 7.2vw;
    height: 7.466vw;
    right: 50%;
    margin-right: -3.6vw;
    top: auto;
    bottom: -9vw;
}
.selection ul li .img {
    width: 31.5vw;
    height: 31.5vw;
    margin: 0;
}
.selection ul li .img img {
    width: 5em;
}
.selection ul li p {
    width: 52.2vw;
}
}


/* contact
------------------------------------------------- */
.contact {
    background-color: #c2a92a;
    color: #fff;
}
.contact .headline1 {
    color: #fff;
}
.contact p a {
    color: #fff;
    background: url("../common/img/icon_tel_w.png") left center no-repeat;
    background-size: 0.6em auto;
}