@charset "utf-8";
/*----------------------------------
共通
----------------------------------*/
.font{
    font-family: "Lexend Deca", 'Noto Sans JP"', '游ゴシック', 'YuGothic', sans-serif;   
}
.breadcrumbs .inner{
    display: flex;
    align-items: center;    
}
.breadcrumbs,.breadcrumbs a,.breadcrumbs span{
    color: #333333;
    font-weight: 500;
}
.breadcrumbs span{
    color: #50b363;    
}
main .honbun{
    font-size: 1.8rem;
    line-height: 2;
}
main .center{
    text-align: center;
}
footer,footer a{
    font-family: "Noto Sans JP", sans-serif, '游ゴシック', 'YuGothic', sans-serif!important;   
}
footer{
    padding: 80px 0;
}
footer .name{
    font-size: 2rem;
    font-weight: 600;
    margin-top: 50px;
}
footer .address{
    font-size: 1.6rem;
    font-weight: 600;
}
footer .site{
    width: 100%;
    padding: 10px;
    font-size: 1.6rem;
    text-align: center;
    font-weight: 600;
    border: 1px solid #000;
    box-sizing: border-box;
    margin-top: 50px;
    display: block;
}
footer .site:hover{
    background: #50b363;
    color: #fff;
    opacity: 1;
    border: 1px solid #50b363;
    margin-top: 50px;
}
footer .nav{
    margin: 0;
    display: flex;
    padding-left: 15px;
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 29px;
    margin-bottom: 24px;
    justify-content: flex-end; 
    align-items: center;
}
footer .right{
    flex: 1;
    width: 100%;
    margin-left: 10%;   
}
footer .nav li{
    padding-left: 20px;
    position: relative;
    margin-left: 30px;
    text-align: center;
}
footer .nav li:first-child{
       margin: 0; 
}
/*footer .nav li:before{
    position: absolute;
    content: "■";
    left: 0;
    top: 9px;
    color: #50b363;
    font-size: 1rem;
}*/
footer .nav li a{
    font-size: 1.5rem;
}
footer .copy .flex{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
footer .copy .flex .sns{
    margin-bottom: 10px;
}
footer .copy .flex .sns a{
    margin-right: 20px;
}
footer .copy .flex .cpytop{
    flex-wrap: nowrap;
    margin-bottom: 10px;
    margin-left: 30px;
}
footer .copy p{
    color: #989898;
    font-size: 1.4rem;
    margin-right: 20px;
}
footer .all_wrap{
    align-items: flex-end;    
}
/*MV*/
.page .mv .inner{
    position: absolute;
    top: 50%;
    left: 7vw;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%); 
}
.page .mv h1{
    font-size: 4rem;
    line-height: 1.5;   
}
.page .mv h1 span{
    font-size: 2rem;
    color: #fff;
    display: block;
    margin-left: 9px;
}
.page .read p{
    font-size: 2.4rem;
}
.page .read{
    margin-top:50px;
}
.page .wt{
    color: #fff;
}
.page .gr_bg{
    background: #50B363;
    padding: 80px 0;
}
.page .simple_flexbox .box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 80px;
}
.page .simple_flexbox .box:last-child{
    margin-bottom: 0px;
}
.page .simple_flexbox .box .txt{
    background: #F3F5F8;
    max-width: 844px;
    width: 70%;
    padding: 47px 60px 60px;
    position: relative;
    z-index: 1;
    margin-left: -110px;
}
.page .sec .simple_flexbox .box.row{
    flex-direction: row-reverse;
}
.page .sec .simple_flexbox .box.row .txt{
    margin-left: 0;
    margin-right: -110px;
}
.page .sec .simple_flexbox .box .txt h3{
    font-size: 3rem;
    width: 100%;
    margin-top: 0;
    line-height: 1.5;
    padding-bottom: 0;
    margin-bottom: 22px;
}
.page .mv {
    background: #50B363;
    background-size: cover;
    height: 340px;
    position: relative;
}
.page .mv .inner{
    position: absolute;
    top: 50%;
    left: 7vw;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);   
}
.page .sec .simple_flexbox .box h3{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin-top: 0;
    line-height: 1.5;
    padding-bottom: 0;
}
.page .sec .simple_flexbox .box h3 .font{
    color: #50b363;
    font-size: 5rem;
    margin-right: 25px;
}
.page .mv h1{
    color: #fff;
}
.page .sec.read h2{
    margin-bottom: 20px;
}
.page .sec .en_jp{
    margin-bottom: 50px;
        font-size: 4rem;
}
.page .sec .en_jp span{
    font-size: clamp(2.8rem, 3vw, 4.5rem);
    width: 100%;
    line-height: 1.4;
    margin-bottom: 4px;
}
.page .sec .en_jp .font{
    color: #50b363;
    font-size: clamp(1.6rem, 3vw, 3rem);
    display: block;
}
main ul.list,main ol{
    margin: 20px 0;
}
main ul.list li{
    position: relative;
    margin-bottom: 5px;
    padding-left: 20px;
}
main ul.list li:after{
    position: absolute;
    content: "●";
    font-size: 0.7rem;
    color: #50b363;
    left: 0;
    top: 10px;
}
main ol{
    list-style: auto;
    padding-left: 20px;
}
main ol li{
    margin-bottom: 5px;
}
/*-------------------
SP時のスタイル
-------------------*/
@media only screen and (max-width: 767px){  
    .page .gr_bg{
        padding: 10% 0;
    }
    .page .simple_flexbox .box{
        display: block;
        margin-bottom: 15%;
    }
    .page .simple_flexbox .box .txt{
        background:none;
        max-width: 100%;
        width: 100%;
        padding: 5% 0 0 0 ;
        margin-left: 0;
    }
    .page .sec .simple_flexbox .box.row .txt{
        margin-right: 0;
    }
    .page .sec .simple_flexbox .box .txt h3{
        font-size: 2.3rem;
        width: 100%;
        margin: 0 0 3%;
        text-wrap: auto;
    }
    .page .mv {
        height: 118px;
    }
    .page .mv.simple h1{
        text-shadow:none;
    }
    .page .sec .simple_flexbox .box h3 .font{
        font-size: 4rem;
    }
    .page .sec.read h2{
               margin-bottom: 20px;
        line-height: 1.4;
    }
    .page .sec .en_jp{
        margin-bottom: 30px;
            font-size: 3rem;
    }
    .page .sec .en_jp .font{
        font-size:1.5rem;
    }
}/*-sp-end*/
    
    
    
    
    
    
    
    
    
    
/*-------------------
PC時のスタイル
-------------------*/
@media only screen and (min-width: 768px) {
    header nav .gnav{
        padding: 0;
    }
    header .logo{
        padding: 0 30px;
        max-width: 350px;
        width: 30%;
    }
    header nav .dropdown{
        top: 95px;
    }
    header nav .dropdown:after{
        content: "";
        width: 32.5%;
    }
    header .entry{
        position: absolute;
        right: 95px; 
    }
    header .gnav a.ttl:before,header .gnav a.ttl_dr:after{
        display: none;
    }
    header nav .gnav li{
        margin-left: 0px;
    }
    header .all_wrap{
        justify-content: space-between;
        height: 95px;
        flex-wrap: nowrap;
        padding-right: 230px;
    }    
    /* メニューのスタイル */
    header .menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 300px;
        height: 100%;
        background-color: #50b363;
        color: #ffffff;
        transition: right 0.3s ease;
        padding: 20px;
        box-sizing: border-box;
        z-index: 10;
        border-radius: 0px 0px 0 70px;
    }
    header .menu.open {
        right: 0;
    }
    header .hamburger {
        position: fixed;
        top: 0;
        right: 0;
        width: 95px;
        cursor: pointer;
        z-index: 20;
        height: 95px;
        background: #000;
        padding-top: 18px;
    }
    header .hamburger span {
        display: block;
        height: 3px;
        width: 50%;
        background-color: #ffffff;
        margin: 11px auto;
        transition: 0.4s;
    }
    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(10px, 10px);
    }
    .hamburger.active span:nth-child(2) {
      opacity: 0;
    }
    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(10px, -10px);
    }
    header .menu ul {
        list-style-type: none;
        padding: 0;
        margin-top: 120px;
    }
    header .menu li {
        padding: 0;
        margin-top: 20px;
        padding-left: 13px;
        position: relative;
    }
    header .menu li:before{
        content: "●";
        position: absolute;
        color: #ccd7e9;
        font-size: 0.7rem;
        top: 8px;
        left: 0;
    }
    header .menu li a {
        color: #fff;
        text-decoration: none;
        display: block;
        font-size: 1.6rem;
    }
    header .menu li a:hover{
        opacity: 0.7;
    }
    header .menu li.sub{
        margin-left: 16px;
        margin-top: 11px;
    }
    header .menu li.sub:before{
        display: none;
    }
    header .menu li.sub a{
        font-weight: 400;
        color: #d1ecd6;
    }
    footer .nav li .break,header nav .gnav .break{
        display: none;
    }
    header .gnav a.ttl{
        padding-left: 13px;
    }
}/*PC-END*/
@media (min-width: 1642px) {
    footer .nav li{
            padding-left: 0px;
    }
}/*-END*/
@media (max-width: 1596px) {
    header .gnav a.ttl{
        line-height: 1.2;
        padding-left: 23px!important;
    }
    header nav .gnav .break{
        display: block;
    }
}/*-END*/
@media (max-width: 1366px) {
    header .gnav a.ttl{
        font-size: 1.4rem;
        padding-left: 17px !important;
    }
}/*-END*/
@media (max-width: 1219px) {
    header .gnav a.ttl{
        font-size: 1.35rem;
        padding-left: 11px !important;
        padding-right: 13px !important;
    }
    header nav .gnav{
        padding: 0;
    }
}/*-END*/
@media (max-width: 1641px) {
    footer .nav li .break{
        display: block;
    }
    footer .nav li{
        line-height: 1;
        text-indent: 0;
        margin-left: 12px;
    }
}/*-END*/
@media (max-width: 1400px) {
    footer .nav li .break{
        display: block;
    }
    footer .nav li{
        line-height: 1;
        text-indent: 0;
        padding: 0;
    }
    footer .nav li a {
        font-size: 1.3rem;
    }
}/*-END*/
@media (max-width:1326px) {
    footer .nav li{
        margin-left: 16px;
        line-height: 0;
        padding: 0;
    }
}/*-END*/
@media (max-width:1238px) {
    footer .nav{
        flex-wrap: wrap;
        padding-bottom: 10px;
    }
    footer .nav li{
        margin-bottom: 10px !important;
    }
}/*-END*/
@media (max-width:1220px) {
    footer .nav li{
        width: 20%;
    }
}/*-END*/
/*-------------------
SP時のスタイル
-------------------*/
@media only screen and (max-width: 767px){  
    /*MV*/
    .page .mv{
        margin-top: 80px;
    }
    .page .mv h1{
        font-size: 1.7rem;
        text-shadow: 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1);
    }
    .page .mv h1 span{
        font-size: 1.2rem;
        margin-left: 0px;
    }
    main .honbun{
        font-size: 1.5rem;
        line-height: 1.9;
    }
    .page .read{
        margin-bottom: -11px;
    }
    .page .read p{
        font-size: 1.7rem;
        line-height: 1.7;
    }
    .breadcrumbs{
        display: none;
    }
    header .ent{
        background: #0b9b26;
        font-family: "Lexend Deca", 'Noto Sans JP"', '游ゴシック', 'YuGothic', sans-serif;
        font-size: 2rem;
        font-weight: 600;
    }
    header .entry{
       display: none;
    }
    header .menu-trigger{
        width: 80px;
        height: 80px;
        background: #000;
        top: 0;
        right: 0;
        position: fixed;  
    }
    header .menu-trigger span{
        position: absolute;
        left: 16px;
        width: 60%;
        height: 3px;
        background-color: #ffffff;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 25px;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 37px;
    }
    .menu-trigger span:nth-of-type(3) {
        top: 50px;
    }
    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(15px) rotate(-45deg);
        transform: translateY(15px) rotate(-45deg);
    }
    footer{
        padding: 5% 0;
    }
    footer .nav{
        display: none;
    }
    footer .right{
        margin-top: 5%;
        margin-left: 0;
    }
    footer .site{
        margin-top: 5%;
    }
    footer .name{
        font-size: 1.6rem;
        margin-top: 5%;
    }
    footer .address{
        font-size: 1.4rem;
        font-weight: 500;
    }
    footer .copy{
        margin-top: 5%;
    }
    footer .copy p{
        font-size: 1.2rem;
    }
    header nav .gnav .break{
        display: none!important;
    }
    footer .copy .flex .sns{
        margin: 10px auto 20px;
    }
}/*SP-END*/





/*----------------------------------
社員インタビュー
----------------------------------*/
.interview .mv{
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right;
    width: 100%;
    height: 580px;
    position: relative;
}
.interview .mv .txt{
    position: absolute;
    top: 50%;
    left: 7vw;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%); 
}
.interview .mv h1{
    font-size: 4rem;
    line-height: 1.5;   
}
.interview .mv .txt h1 span{
    font-size: 2rem;
    color: #50B363;
    display: block;   
}
.interview .mv .txt .name{
    font-size: 4rem;
    font-weight: 600;
    margin-top: 20px;
}
.interview .mv .txt .label{
    background: #50B363;
    display: inline-block;
    padding: 5px 50px;
    font-weight: 600;
    color: #fff;
    margin-top: 9px;    
}
.interview.interview01 .mv{
    background-image:url("/recruit/interview/img/interview01/mv.png");
}
.interview.interview02 .mv{
    background-image:url("/recruit/interview/img/interview02/mv.png");
}
.interview.interview03 .mv{
    background-image:url("/recruit/interview/img/interview03/mv.png");
}
.interview.interview04 .mv{
    background-image:url("/recruit/interview/img/interview04/mv.png");
}
.interview.interview05 .mv{
    background-image:url("/recruit/interview/img/interview05/mv.png");
}
.interview main .sec{
    position: relative;
}
.interview main .sec .flex{
    flex-wrap: nowrap;
}
.interview main .sec .txt{
    padding-bottom: 80px;
}
.interview main .sec .txt h2{
    font-size: 4rem;
    width: 100%;
    line-height: 1.5;
    margin: 0;
    margin-bottom: -5px; 
}
/*.interview main .flex_row{
    flex-direction: row-reverse;
}*/
.interview main .sec1:after{
    position: absolute;
    background: #F3F5F8;
    width: 60%;
    z-index: -1;
    content: "";
    bottom: 0;
    height: calc(100% + 170px);
    right: 0;
    padding-bottom: 80px;
}
.interview main .sec1 img{
    max-width: 554px;
    width: 40%;
    margin-right: 60px;
}
.interview main .sec2{
    margin-top: 0px;
}
.interview main .sec2 img{
    max-width: 1083px;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(0%);
    width: 60%;
}
.interview main .sec2 .txt{
    position: relative;
    max-width: 730px;
    width: 70%;
    padding: 80px 80px 80px 0;
    z-index: 4;
    margin-top: 80px;
}
.interview main .sec2 .txt:after{
    position: absolute;
    background: #F3F5F8;
    width: calc(100% + 27vw);
    height: 100%;
    content: '';
    top: 0;
    bottom: 0;
    z-index: -1;
    margin-left: -27vw;
}
.interview main .sec3{
    margin-top: 80px;
    overflow-x: hidden;
}
.interview main .sec3 .flex{
    display: block;
}
.interview main .sec3 img{
    max-width: 843px;
    width: 60%;    
}
.interview main .sec3 .txt{
    position: relative;
    max-width: 780px;
    width: 70%;
    padding: 80px 0px 80px 80px;
    z-index: 4;
    margin-top: -310px;
    box-sizing: border-box;
    right: 0;
    margin-left: auto;
}
.interview main .sec3 .txt:after{
    position: absolute;
    background: #F3F5F8;
    width: calc(100% + 27vw);
    height: 100%;
    content: '';
    top: 0;
    bottom: 0;
    z-index: -1;
    margin-right: -27vw;
    right: 0;
}
.interview main .message{
    position: relative;
    background: #50b363;
    padding: 80px 0;
}
.interview main .message .design{
    position: absolute;
    height: 78%;
    z-index: 1;
}
.interview main .message img{
    margin-right: 60px;
}
.interview main .message .flex{
    flex-wrap: nowrap;
    align-items: center;
    position: relative;
    z-index: 2;
}
.interview main .message h2{
    font-size: 3rem;
    width: 100%;
    color: #fff;
    margin: 0;
    padding: 0;
    line-height: 1.5;
    margin-bottom: 18px;   
}
.interview main .message .honbun{
    color: #fff; 
}
.interview main .message .pass{
    width: 113.39px;
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0;
}
/*-------------------
SP時のスタイル
-------------------*/
@media only screen and (max-width: 767px){  
    .interview .mv {
        height: 198px;
        background-position: center;
        margin-top: 80px;
    }
    .interview .mv h1{
        font-size: 1.7rem;
    }
    .interview .mv .txt{
        width: 53%;
    }
    .interview .mv .txt h1 span{
        font-size: 1.2rem;
    }
    .interview .mv .txt .name{
        font-size: 2.3rem;
        font-weight: 600;
        margin-top: -1px;
    }
    .interview .mv .txt .label{
        padding: 2px 20px;
        margin-top: -4px;
        font-size: 1.3rem;
    }
    .interview main .sec1 img{
        max-width: 100%;
        width: 100%;
        margin-right: 0;  
    }
    .interview main .sec{
        overflow-x: hidden;
    }
    .interview main .sec .txt h2{
        font-size: 2.3rem;
    }
    .interview main .sec2 img{
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        position: static;
    }
    .interview main .sec2 .txt{
        max-width: 100%;
        width: 100%;
        padding: 0;
        z-index: 4;
        position: static;
        margin-top: 15%;
    }
    .interview main .sec2 .txt h2{
        margin-top: 0px;
    }
    .interview main .sec3 img {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        position: static;
    }
    .interview main .sec3 .txt {
        max-width: 100%;
        width: 100%;
        padding: 0;
        z-index: 4;
        position: static;
        margin-top: 0%;
    }
    .interview main .sec3 .txt h2{
        margin-top: 0px;
    }
    .interview main .message img{
        width: 170px;
        margin: 0 auto 5%; 
    }
    .interview main .message h2{
        margin-top: 5%;
        font-size: 2rem;
        margin-bottom: 2%;
        text-wrap: auto;
    }
    .interview main .message .pass{
        width: 60px;
    }
    .interview main .sec2 .txt:after{
       display: none;
    }
    .interview main .sec3 .txt:after{
       display: none;
    }
    .interview main .message{
        padding: 10% 0;
        margin-top: 15%;
    }
    .interview main .sec .txt{
        padding-bottom: 5%;
    }
    .interview main .message .design {
        position: absolute;
        height: 48%;
        z-index: 1;
        top: 0;
        left: -64px;
        opacity: 0.5;
    }
    .interview main .sec3{
        margin-top: 15%;
    }
    .interview main .sec .flex{
        flex-wrap: nowrap;
        display: flex;
        flex-direction: column-reverse;
    }
    .interview main .sec1:after{
        display: none;
    }
}/*SP-END*/




/*----------------------------------
トップメッセージ
----------------------------------*/
.message .mv{
    padding: 12vw 0;
    position: relative;
        overflow: hidden;
}
.message .mv .main{
   position: absolute;
    top: 0px;
    right: 0;
    height: 101%;
}
.message main .flex{
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.message main .flex.flex_row{
    flex-direction: row-reverse;   
}
.message main .flex.flex_row .txt{
    margin-right: 50px;
    margin-left: 0;
}
.message main .flex h2{
    width: 100%;
    margin-top: 0;
    line-height: 1.5;
    padding-bottom: 0;
    margin-bottom: 22px;   
}
.message main .flex .txt{
    flex: 1;
    margin-left: 50px;
}
.message main .label{
    font-size: 2rem;
    text-align: center;
    font-weight: 600;
    color:#50B363;
    background: #fff;
    width: 209px;
    padding: 7px 0;
    margin-top: 20px;
}
.message main .name{
    font-weight: 700;
    color: #fff;
    margin-top: 10px;    
}
.message main .bg{
    background: #F3F5F8;
    padding: 100px 0;    
    margin-top: 100px;
}
.saiyoumessage main .sec{
    position: relative;
}
.saiyoumessage main .flex.flex_row{
    flex-direction: unset;
}
.saiyoumessage main .sec2 img{
    max-width: 1083px;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(0%);
    width: 60%;
}
.saiyoumessage main .flex .txt{
    flex: unset;
}
.saiyoumessage main .sec2 .txt{
    position: relative;
    max-width: 844px;
    width: 70%;
    z-index: 4;
    margin-top: 120px;
    background: #F3F5F8;
    padding: 80px;
}
.saiyoumessage main .sec3{
    margin-top: 80px;
    overflow-x: hidden;
}
.saiyoumessage main .sec3 .flex{
    display: block;
}
.saiyoumessage main .sec3 img{
    margin-left: -14vw;
    right: 0;
    width: calc(531px + 14vw);
}
.saiyoumessage main .sec3 .txt{
    position: relative;
    width: 67%;
    padding: 80px;
    z-index: 4;
    margin-top: -390px;
    box-sizing: border-box;
    right: 0;
    margin-left: auto;
    background: #F3F5F8;
}
.saiyoumessage main .message{
    position: relative;
    background: #50b363;
    align-items: center;
    margin-top: 100px;
}
.saiyoumessage main .message .inner{
    position: relative;
    margin-right: 60px;
}
.saiyoumessage main .message .txt{
    color: #fff;
}
.saiyoumessage main .message h3{
    font-size: 3.5rem;
    margin-bottom: 29px;
}
.saiyoumessage main .message h3 span{
    font-size: 2rem;
    display: block;
}
.saiyoumessage main .message .inner:before{
    position: absolute;
    top: 50%;
    right: -100px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(0%, -50%);
    content: "";
    background-image: url(../../recruit/saiyoumessage/img/arrow.png);
    width: 41px;
    height: 73px;
}
.topmessage main .label{
    background: #50B363;
    color: #fff;
}
.topmessage main .name{
    color: #2A2A2A;
    text-shadow:none!important;
}
/*-------------------
SP時のスタイル
-------------------*/
@media only screen and (max-width: 767px){  
    .message .mv{
        padding: 70px 0;
        overflow: hidden;
    }
    .message .mv .main{
        right: 0px;
    }
    .message main .flex.flex_row .txt{
        margin-right: 0;
        margin-left: 0;
        width: 100%;
    }
    .message main .flex h2{
        width: 100%;
        margin: 5% 0 3%;
        text-wrap: auto; 
    }
    .message main .flex .txt{
        margin-left: 0;
    }
    .message main .label{
        font-size: 1.5rem;
        width: auto;
        display: inline-block;
        margin-top: 5%;
        padding: 5px 10px;
    }
    .message main .name{
        font-weight: 700;
        margin-top: 4px;
        font-size: 1.8rem;
        text-shadow: 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1), 0px 0px 10px rgba(80, 179, 99, 1);
    }
    .message main .bg{
        padding: 15% 0;    
        margin-top: 15%;
    }
    .message main .sec2 img,
    .message main .sec4 img{
        width: 60%;
        margin: 0 auto;
    }
    .saiyoumessage .mv{
        padding: 0;
        height: 198px;
    }
    .saiyoumessage main .sec2 img{
        max-width: 100%;
        transform: unset;
        width: 100%;
        position: static;
    }
    .saiyoumessage main .flex .txt{
        flex: unset;
    }
    .saiyoumessage main .sec2 .txt{
        position: relative;
        max-width: 100%;
        width: 100%;
        z-index: 4;
        margin-top: 5%;
        background: none;
        padding: 0;
    }
    .saiyoumessage main .sec3{
        margin-top: 15%;
        overflow-x: hidden;
    }
    .saiyoumessage main .sec3 .flex{
        display: block;
    }
    .saiyoumessage main .sec3 img{
        width: 100%;
        margin: 0;
    }
    .saiyoumessage main .sec3 .txt{
        width: 100%;
        padding: 0;
        z-index: 4;
        margin-top: 0;
        box-sizing: border-box;
        right: 0;
        margin-left: 0;
        background:none;
    }
    .saiyoumessage main .message{
        margin-top: 15%;
        display: flex;
        flex-direction: column-reverse;
        flex-wrap: wrap;
    }
    .saiyoumessage main .message .inner{
        padding: 10% 0;
        position: static;
        margin: 0 auto;
    }
    .saiyoumessage main .message h3{
        font-size: 2rem;
        margin-bottom: 5%;
    }
    .saiyoumessage main .message h3 span{
        font-size: 1.5rem;
    }
    .saiyoumessage main .message .inner:before{
       display: none;
    }
}/*SP-END*/




/*----------------------------------
1分で分かる豊電子
----------------------------------*/
.page.strength .mv{
    background-image: url(../../recruit/strength/img/mv.png);
}
.page.strength .gr_bg h2{
    margin-bottom: 16px;
    font-size: 4rem;
    line-height: 1.4;
}
/*-------------------
SP時のスタイル
-------------------*/
@media only screen and (max-width: 767px){  
    .page.strength .gr_bg h2{
        font-size: 2.3rem;
        width: 100%;
        margin: 0 0 3%;
        text-wrap: auto;
    }
}/*SP-END*/


/*----------------------------------
福利厚生・人材育成
----------------------------------*/
.page.welfare .sec h2{
    border-bottom: 3px solid #50b363;
    padding: 20px 0;
    padding-top: 0px;
    width: 100%;
    margin-bottom: 24px;
    margin-top: 0px;
}
.page.welfare .sec li{
    position: relative;
    padding-left: 20px;
    margin-top: 13px;
    font-weight: 400;
    border-bottom: dotted 2px #ebebeb;
    padding-bottom: 14px;
}
.page.welfare .sec li span{
    font-weight: 400;
}
.page.welfare .sec1 .box{
    width: 45%;
}
.page.welfare .box2 li{
    font-weight: 600;
}
.page.welfare .sec li:before{
    position: absolute;
    content: "●";
    font-size: 0.7rem;
    color: #50b363;
    left: 0;
    top: 13px;
}
/*-------------------
SP時のスタイル
-------------------*/
@media only screen and (max-width: 767px){  
    .page.welfare .sec h2{
        padding: 0 0px 14px 0;
    }
    .page.welfare .box2{
        margin-top: 15%;
    }
    .page.welfare .sec1 .box{
    width: 100%;
}
}/*SP-END*/






/* -------------------------------
タブ切り替え
----------------------------------*/
.sec .tabs {
  margin: 40px auto 0;
}
.sec .tab-list {
    display: flex;
    justify-content: flex-start;
    border-bottom: 2px solid #50b363;
}
.sec .tab-item {
    background-color: #ededed;
    padding: 14px 0;
    cursor: pointer;
    width: 13.5%;
    font-size: 1.6rem;
    text-align: center;
    margin-right: 10px;
}
.sec .tab-panel {
  display: none;
}
.sec .tab-item.active {
    background-color: #50b363;
    color: #fff;
    font-weight: bold;
}
.sec .tab-panel.active {
  display: block;
  margin-top: 30px;
}
.sec .tab-panel.active h2 {
  font-size: 20px;
  font-weight: bold;
}
.sec .tab-content .txt{
    width: 74%;
    margin-right: 50px;
}
.sec .tab-content .flex{
    justify-content: space-between;
    align-items: flex-start;
}
.sec .tab-content .flex dl{
    width: 100%;
}
.sec .tab-content .flex .img_area{
    flex: 1;
}
.sec .tab-content .flex p{
    margin-top: 20px;
}
@media only screen and (max-width: 767px){  
    .sec .tab-content .txt{
        width: 100%;
        margin: 0;
    }
    .sec .tab-content .flex p{
        font-size: 1.8rem;
        margin: 5% auto;
    }
    .sec .tab-list{
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .sec .tab-item{
        width: 49.3%;
        margin-bottom: 4px;
        margin: 0 0 4px;
    }
}/*-spend*/


/* -------------------------------
募集要項
----------------------------------*/
/*
.requirements main .sec h2{
    margin-bottom: 16px;
    font-size: 3rem;
    border-bottom: 1px solid #a7a7a7;
    padding-bottom: 16px;
    margin-top: 60px;
}
.requirements main .sec h3{
    margin-bottom: 16px;
    font-weight: 500;
}
.requirements main table{
    margin-bottom: 40px;
}
.requirements main .flow{
    position: relative;
}
.requirements main .flow p{
    margin-bottom: 13px;
}
.requirements main .table_box{
    margin-top: 40px;
}
.green_bg .mv{
    border-top: 1px solid #ffffff87;
}
.requirements main .page_link li{
    width: 19%;
}
.requirements main .page_link li a{
    width: 100%;
    display: flex;
    align-items: center;
    padding: 20px;
    position: relative;
}
.requirements main .page_link li a{
    width: 100%;
    display: flex;
    align-items: center;
    padding: 20px;
    position: relative;
    border: 2px solid #50b363;
}
.requirements main .page_link li a:before {
    content: '';
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    width: 18px;
    height: 10px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url("../img/arrow_bottom.svg");
    background-repeat: no-repeat;
}
@media only screen and (max-width: 767px){  
    .requirements main .page_link li{
        width: 49%;
        margin-bottom: 6px;
    }
    .requirements main .page_link{
        display: flex;
    }
    .requirements main .page_link li a{
        padding: 10px;
    }
    .requirements main .sec h2{
        font-size: 2rem;
    }
}
*/
.requirements main .btn_area{
    display: flex;
    align-items: center;
    justify-content: center;
}
.requirements main .btn_area a{
    width: 40%;
    text-align: center;
    color: #fff;
    background: #50b363;
    display: block;
    border-radius: 90px;
    padding: 15px;
    font-weight: 600;
    position: relative;
    margin: 0 10px;
}

.requirements main .sec h2{
    margin-bottom: 20px;
    font-size: 3rem;
    /* border-bottom: 1px solid #a7a7a7; */
    padding-bottom: 5px;
    margin-top: 60px;
    border-left: 9px solid #50b363;
    padding-left: 14px;
}
.requirements main .sec h3{
    margin-bottom: 16px;
    font-weight: 500;
    background: #dee9e1;
    padding: 10px;
}
.requirements main .sec h4{
    margin-bottom: -12px;
    border-bottom: 1px solid #a7a7a7;
    padding-bottom: 7px;
}
.requirements main table{
    margin-bottom: 40px;
}
.requirements main .flow{
    position: relative;
}
.requirements main .flow p{
    margin-bottom: 13px;
}
.requirements main .table_box{
    margin-top: 40px;
}
.green_bg .mv{
    border-top: 1px solid #ffffff87;
}
.requirements main .page_link li{
    width: 32%;
}
.requirements main .page_link li a{
    width: 100%;
    align-items: center;
    padding: 20px;
    position: relative;
    border: 2px solid #50b363;
    display: flex;
    height: 100px;
}
.requirements main .page_link li a{
    width: 100%;
    display: flex;
    align-items: center;
    padding: 20px;
    position: relative;
    border: 2px solid #50b363;
}
.requirements main .page_link li a:before {
    content: '';
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    width: 18px;
    height: 10px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url("../img/arrow_bottom.svg");
    background-repeat: no-repeat;
}
.requirements main .table_box h3{
    margin-top: 50px;
}
.requirements main .table_box h3.mt0{
    margin-top: 0px;
}

.requirements main table th{
    padding: 0;
    background: #fff;
    border-bottom: 2px solid #50b363;
    width: 200px;
    font-weight: 500;
}
.requirements main table td{
    padding: 10px 0 15px;
    background: #fff;
    border-bottom: 1px solid #a9a9a9;
    padding-left: 29px;
}
@media only screen and (max-width: 767px){  
    .requirements main .page_link li{
        width: 100%;
        margin-bottom: 6px;
        height: auto;
    }
    .requirements main .page_link{
        display: flex;
    }
    .requirements main .page_link li a{
        padding: 10px;
        height: auto;
    }
    .requirements main .sec h2{
        font-size: 2rem;
        border-left: 5px solid #50b363;
        overflow-wrap: initial;
        text-wrap: auto;
    }
    .requirements main .sec h3{
         text-wrap: auto;
    }
    .requirements main table th{
        width: 76px;
    }
    .requirements main .btn_area{
display: block;
        margin-top: -20px;
    }
    .requirements main .btn_area a{
                width: 100%;
                margin: 0 auto 10px;
                padding: 11px;
    }
}/*-spend*/
















