@charset "UTF-8";
@import url(https://fonts.googleapis.com/icon?family=Material+Icons+Symbols+Outlined);

/* ================================================
TOP
================================================ */
/* -------------------------------------
Topics Area
------------------------------------- */
/* main article */
.main_Article{
    width: 100%;
    margin-top: 20px;
    padding-top: 0;
}
.main_Article .article_thumbnail{
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}
.main_Article .article_thumbnail img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}
.main_Article .txt_Box{
    margin-top: 10px;
}
.main_Article .txt_Box h3.article_ttl{
    font-size: 3.2rem;
}
.main_Article .txt_Box .article_txt{
    font-size: 1.6rem;
}

.readmore_all_Btn{
    position: relative;
    display: block;
    width: 100%;
    background: var(--basic);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    padding: 15px 5px;
    border-radius: 3px;
    border: 1px solid var(--basic);
}
.readmore_all_Btn::after{
    position: absolute;
    content: "\e315";
    font-family: 'Material Symbols Outlined';
    font-size: 1.8rem;
    font-weight: 200;
    color: var(--gray2);
    top: 50%;
    right: 1%;
    transform: translateY(-50%);
}
.readmore_all_Btn:hover{
    color: var(--basic);
    background: #fff;
}

/* -------------------------------------
Services Area
------------------------------------- */
.services_Area{
    margin-top: 50px;
}
.services_Area .Tabs{
    margin-top: 20px;
}
.services_Area .Tabs .tab_List .tab_item{
    position: relative;
    width: calc((100% / 3) - 5px);
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    padding: 15px 5px;
    border: 1px solid var(--basic);
    border-radius: 5px 5px 0 0;
    background: #fff;
    color: var(--basic);
    cursor: pointer;
}
.services_Area .tab_List .tab_item.active{
    background: var(--basic);
    color: #fff;
}
.services_Area .tab_List .tab_item.active::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 5px;
    border: 1px solid var(--basic);
    background: var(--basic);
    bottom: -6px;
    left: -1px;
}
.services_Area .tab_panel{
    display: none;
    background: var(--basic);
    margin-top: 5px;
    padding: 20px;
    border-radius: 0 0 10px 10px;
}
.services_Area .tab_panel.active{
    display: block;
    border-top: 5px solid var(--basic);
}
.services_Area .tab_panel .service_Link .link_Btn{
    position: relative;
    display: block;
    color: var(--basic);
    background: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    border-radius: 3px;
    padding: 18px 5px;
    width: 48.5%;
}
.services_Area .tab_panel .service_Link .link_Btn::after{
    position: absolute;
    content: "\e315";
    font-family: 'Material Symbols Outlined';
    font-size: 2rem;
    font-weight: 200;
    color: var(--gray2);
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.services_Area .tab_panel .service_Link .link_Btn:hover{
    background: #eee;
}
.services_Area .tab_panel.legal .service_Link .link_Btn{
    width: 100%;
}
.services_Area .tab_panel.hr .service_Link .link_Btn:nth-child(-n+2){
    margin-bottom: 15px;
}
.services_Area .tab_panel .services_List{
    background: #fff;
    border-radius: 5px;
    margin-top: 20px;
    padding: 20px;
}
.services_Area .tab_panel .services_List li{
    align-items: stretch;
    padding: 20px 0;
    border-bottom: 1px solid #ddd;
}
.services_Area .tab_panel .services_List li:first-child{
    padding-top: 0;
}
.services_Area .tab_panel .services_List li figure{
    border: 1px solid #ddd;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 180px;
    flex-shrink: 0;
    height: 120px;
    padding: 10px 20px;
    overflow: hidden;
}
.services_Area .tab_panel .services_List li figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.services_Area .tab_panel .services_List li .txt_Box{
    width: calc(100% - 200px);
}
.services_Area .tab_panel .services_List li .txt_Box .category_Tag{
    display: inline-block;
    color: var(--blue);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    background: var(--gray);
    margin-bottom: 10px;
    padding: 5px 8px;
}
.services_Area .tab_panel .services_List li .txt_Box .category_Tag:hover{
    background: var(--blue);
    color: var(--gray);
}
.services_Area .tab_panel .services_List li .txt_Box .service_ttl{
    color: var(--basic);
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 7px;
}
.services_Area .tab_panel .services_List li .txt_Box .detail_txt{
    font-size: 1.4rem;
    font-weight: 400;
    color: #404040;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}
.services_Area .tab_panel .services_List li .txt_Box .viewmore_Btn{
    position: relative;
    display: inline-block;
    color: var(--basic);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    margin-top: 10px;
    padding-right: 0.8em;
    border-bottom: 1px solid var(--basic);
}
.services_Area .tab_panel .services_List li .txt_Box .viewmore_Btn::after{
    position: absolute;
    content: "\e5cc";
    font-family: 'Material Symbols Outlined';
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--gray2);
    top: 50%;
    right: -0.3em;
    transform: translateY(-50%);
}
.services_Area .tab_panel .services_List li .txt_Box .viewmore_Btn:hover{
    opacity: 0.7;
}

/* =======================================================================
SP(~768px)
======================================================================= */
@media screen and (max-width: 768px) {

    /* -------------------------------------
    Topics Area
    ------------------------------------- */
    .topics_Area{
        width: 90%;
        margin: 0 auto;
    }
    .topics_Area > .Wrap_ttl{
        display: none;
    }
    .main_Article{
        margin-top: 0;
    }
    .main_Article .txt_Box h3.article_ttl {
        margin: 5px 0 10px;
    }
    .main_Article .txt_Box h3.article_ttl{
        font-size: 2.4rem;
    }
    .main_Article .txt_Box .article_txt {
        display: block;
        font-size: 1.4rem;
        margin-bottom: 10px;
    }

    /* -------------------------------------
    Services Area
    ------------------------------------- */
    .services_Area .Tabs{
        margin-top: 15px;
    }
    .services_Area .Tabs .tab_List{
        width: 98%;
        margin: 0 auto;
        flex-wrap: nowrap;
    }
    .services_Area .Tabs .tab_List .tab_item{
        font-size: 1.6rem;
        padding: 15px 0 10px;
    }
    .services_Area .Tabs .tab_List .tab_item:nth-child(1){
        width: 54%;
    }
    .services_Area .Tabs .tab_List .tab_item:nth-child(2){
        width: 18%;
    }
    .services_Area .Tabs .tab_List .tab_item:nth-child(3){
        width: 25%;
    }
    .services_Area .tab_panel {
        padding: 15px;
        border-radius: 0;
    }
    .services_Area .tab_panel .service_Link .link_Btn {
        font-size: 1.6rem;
        padding: 15px 5px;
    }
    .services_Area .tab_panel .services_List {
        border-radius: 3px;
        margin-top: 15px;
        padding: 15px;
    }
    .services_Area .tab_panel .services_List li figure {
        width: 120px;
        height: 80px;
    }
    .services_Area .tab_panel .services_List li .txt_Box {
        width: calc(100% - 140px);
    }
    .services_Area .tab_panel .services_List li .txt_Box .category_Tag {
        font-size: 1.2rem;
        padding: 4px 6px;
    }
    .services_Area .tab_panel .services_List li .txt_Box .service_ttl{
        font-size: 2rem;
    }
    .services_Area .tab_panel .services_List li .txt_Box .detail_txt{
        display: none;
    }
}