
/* ----------------------------------------------------------------------
index
---------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

.pc_view{}
.sp_view{
    display: none;    
}

@media screen and (max-width:800px) {
.pc_view{
    display: none;  }
.sp_view{
    display: inherit;
}
 }

#page_contents .post_content {
    max-width: none;
    margin: 0 auto;
    padding: 0 0px;
    overflow: hidden;
}


body.hide_breadcrumb #container {
    padding-top: 100px;
}

#page_header{
    display: none !important;
}
.contents_title{   
    font-size: clamp(14px, 5.5vw, 90px);
    font-weight: 600;
    color: #CCDAEF;
    margin-bottom: 1vw;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.contents_subtitle{
    color: #2A4F99;
    font-size: clamp(20px, 1.5vw, 45px);
    font-weight: 600;
    margin-bottom: 3.5vw;
    letter-spacing: 0.2em;
    width: 80%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}


@media screen and (max-width:800px) {
    body.hide_breadcrumb #container {
    padding-top: 30px;
} 
.contents_title{   
        font-size: 34px;
        margin-bottom: 3vw;
        margin-left: 0;
}
.contents_subtitle{
    font-size: 16px;
    margin-left: 20px;
        margin-bottom:30px;
}
}



/* --- タイトル -- */

#title{
    margin-bottom: 3vw;
    width: 80%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
#title img{
    width: 50%;
}
@media screen and (max-width:800px) {
#title{
        padding-left: 20px;
        width: 100%;
    }
#title img{
    width: 80%;
}
}

/* --- mv -- */
#mv{
    position: relative;
    margin-bottom: 5vw;
    background-image: url(../img/index/mv.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: 40vw;
}
#mv p{
    color: #FFFFFF;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: 8%;
    left: 20%;
    font-size: clamp(14px, 2.8vw, 70px);
    line-height: 1.8em;
    font-weight: 600;
    letter-spacing: 0.15em;
}

@media screen and (max-width:800px) {
 #mv{
    margin-bottom: 5vw;
        height: 220px;
        background-size: cover;
}   
  #mv p{
    left: 10%;
    font-size: 15px;
}  
}


/* --- メッセージ -- */

#message{
    background-image: url(../img/index/ob_01.png);
    background-repeat: no-repeat;
    background-position: right 23% top 10%;
    background-size: 20%;
    margin-bottom:5vw;
}

.catch{
    color: #2A4F99;
    font-size: clamp(14px, 2.4vw, 42px);
    font-weight: 700;
    margin-bottom: 10px;
    padding-right: 5%;
    max-width: 1200px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.catch_line{
    border-image: linear-gradient(to right, #68b7e7, #5c99e8) 1;
    width: 56%;
    margin-left: 0;
    margin-right: auto;
    border-bottom: 4px solid;
    padding-bottom: 10px;
    margin-bottom: 2.5vw;
    display: inline-block;
} 
#message p{
    color: #2A4F99;
    font-size: clamp(16px, 1.2vw, 23px);
    font-weight: 700;
    width: 80%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4vw;
}

.message_title{
    text-align: center;
    margin-bottom: 2vw;
    width: 30%;
    margin-left: auto;
    margin-right: auto;
}
.col_3{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.col_3 div{
    width: 31%;
}

.col_3 img{
    width: 100%;
    height: auto;
}

#message .col_3{
    max-width: 1200px;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

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

#message{
        background-position: right -10% top 2%;
        background-size: 30%;
    margin-bottom:50px;
}

.catch{
    font-size: 19px;
    padding-left: 20px;
    width: 100%;
    margin-bottom: 5px;
}
.catch_line{
    width: 100%;
    border-bottom: 3px solid;
} 
#message p{
    font-size: 14px;
    padding-left: 20px; 
    padding-right: 20px; 
    margin-bottom: 50px;
    width: 100%;
}

.message_title{
    margin-bottom: 2vw;
    width: 50%;
}

#message .col_3{
    width: 100%;
    padding-left: 20px; 
    padding-right: 20px; 
}
#message .col_3{
    justify-content: center;
}

#message .col_3 div{
    width: 46%;
    margin-right: 2%;
    margin-left: 2%;
}

}




/* --- 職場環境 -- */

#environment{
    padding-top: 5vw;
    background-image: url(../img/index/back01.png);
    background-repeat: no-repeat;
    background-size: cover;
}
#environment .contents_title{
    color: #FFFFFF;
}
#environment .col_3{
    width: 80%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
#environment .col_3 .box{
    margin-bottom: 5vw;
}

#environment .col_3 img{
    margin-bottom: 0.8vw;
}

#environment .env_title{
    color: #2A4F99;
    font-size: clamp(16px, 1.2vw, 30px);
    font-weight: 700;
    margin-bottom: 0.3vw;
    display: block;
    border-bottom: 4px solid;
    width: 100%;
    border-image: linear-gradient(to right, #68b7e7, #5c99e8) 1;
    padding-bottom: 0.5vw;
    line-height: 1.5em;
}

#environment p{
    font-size: clamp(14px, 0.9vw, 20px);
    line-height: 1.5em;
    font-weight: 400;
    text-align: justify;
}

@media screen and (max-width:800px) {
#environment{
    padding-top: 50px;
}
   
#environment .col_3{
    width: 100%;
    padding-left: 20px; 
    padding-right: 20px; 
}
#environment .col_3 .box{
    width: 46%;
    margin-bottom: 40px;
}

#environment .col_3 img{
    margin-bottom: 10px;
}

#environment .env_title{
    font-size: 16px;
    margin-bottom: 0.3vw;
    border-bottom: 2px solid;
    padding-bottom: 0.5vw;
}

#environment p{
    font-size: 14px;
} 
    }
    
    
/* --- インタビュー -- */

#interview{
    padding-top: 5vw;
    background-image: url(../img/index/ob_02.png);
    background-repeat: no-repeat;
    background-position: right 10% top 8%;
    background-size: 12%;
    margin-bottom: 2vw;
}
#interview .box{
    position: relative;
    margin-bottom: 4vw;
}

#interview .box a{
    transition: 0.3s;
}
#interview .box a:hover{
    opacity: 0.8;
    text-decoration: none;
}


.col_2{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 80%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.col_2 div{
    width: 46.5%;
}

#interview .col_2 .box img{
    width: 94%;
    height: auto;
    padding-bottom: 1.5vw;
    margin-left: 3%;
    margin-right: 3%;
}

.int_copy{
    font-size: clamp(12px, 1.8vw, 30px);
    color: #2A4F99;
    font-weight: 600;
    line-height: 2.2em;
    position: absolute;
    z-index: 5;
    top: 1.2vw;
}
.int_copy span{
    background: linear-gradient(#fff 93%, #2A4F99 0%);
    display: inline;
    padding-bottom: 0.2vw;
    padding-right: 0.5vw;
    white-space: nowrap;
}

.box .section{
    font-size: clamp(12px, 1vw, 30px);
    display: inline;
    color: #FFFFFF;
    background: linear-gradient(to right, #68b7e7, #5c99e8);
    border-radius: 20px;
    padding-top: 0.2em;
    padding-right: 1.2em;
    padding-bottom: 0.2em;
    padding-left: 1.2em;
    margin-bottom: 2vw;;
    margin-left: 3%;
}
.box .name{
    font-size: clamp(12px, 2vw, 30px);
    color: #2A4F99;
    background-image: url(../img/index/ob_03.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    margin-top: 1.5vw;
    padding-left: 1vw;
    height: 2.2em;
    width: 100%;;
    margin-left: 3%;
}

@media screen and (max-width:800px) {
   #interview{
    padding-top: 50px;
    background-position: right 0% top 2%;
    background-size: 20%;
} 
    
    
#interview .box{
    margin-bottom: 50px;
}


.col_2{
    width: 100%;
    padding-left: 20px; 
    padding-right: 20px; 
}
.col_2 div{
    width: 100%;
}

#interview .col_2 .box img{
    padding-bottom: 20px;
}

.int_copy{
    font-size: 18px;
    line-height: 2.2em;
    top: 25px;
}
.int_copy span{
    padding-bottom: 5px;
    padding-right: 5px;
}

.box .section{
    font-size: 15px;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left:10px;
    margin-bottom: 10px;
}
.box .name{
    font-size: 20px;
    background-position: left bottom;
    margin-top: 20px;
    padding-left: 0;
    height: 50px;
        background-size: contain;
}
    
    }


/* --- リンク -- */

#link{}

#link a{
    background: linear-gradient(to right, #68b7e7, #5c99e8);
    color: #FFFFFF;
    border-radius: 5vw;
    padding-top: 1.2em;
    padding-right: 1.2em;
    padding-bottom: 0.5em;
    padding-left: 1.2em;
    width: 45%;
    font-size: clamp(12px, 1.6vw, 30px);
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 0.5em;
    display: block;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    transition: 0.3s;
}
#link a:hover{
    opacity: 0.8;
    text-decoration: none;
}
#link a.notready {
    background: #AAAAAA;
}

#link div{
    width: 100%;
}
#link p{
    font-size:110%;
}
#link a::after{
    /* 擬似要素で三角アイコンをつくる */
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #fff;
    display: inline-block;
    width: 0;
    height: 0;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 50%;
    right: 2vw;
    transform: translateY(-50%); /* translateYのみ */
    border-radius: 10px;
}
#link a.notready::after{
    display: none;
}


@media screen and (max-width:800px) {
 body.show_footer_bar {
            padding-bottom: 0px; 
        } 
    
#link a{
    border-radius: 100px;
    padding-top: 15px;
    padding-right:10px;
    padding-bottom: 5px;
    padding-left: 10px;
    width: 100%;
    font-size: 16px;
    margin-bottom: 15px;
    line-height: 1em;
}
#link div{
    width: 100%;
}
#link p{
    font-size:130%;
}
 
  }  
    





