/*------------------------------------------------------------------------------
associated
------------------------------------------------------------------------------*/
.pageimg{
    background: url(../../img/associated/pageimg_bg.webp) no-repeat center;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .pageimg{
        background: url(../../img/associated/pageimg_bg_sp.webp) no-repeat center;
        background-size: cover;
    }
}

.link_list__list li:nth-child(7) a::after, .link_list__list li:nth-child(8) a::after{
    content: ""!important;
    display: block!important;
    position: absolute!important;
    bottom: 0!important;
    right: 0!important;
    width: 4.4rem!important;
    height: 4.9rem!important;
    background: linear-gradient(to top left, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0) 76%), url(../../img/company/arrow_white.svg) no-repeat;
    background-size: 100% 100%, 1.5rem 1.5rem;
    background-position: center, 70% 82%;
    pointer-events: none!important;
    z-index: 1!important;
    clip-path: polygon(100% 100%, 0 100%, 100% 0)!important;
    border-bottom-right-radius: 0.2rem!important;
    transition: opacity 0.3s ease!important;
}


.link_list__list li:nth-child(7) a:hover::before,
.link_list__list li:nth-child(8) a:hover::before{
    content: ""!important;
    display: block!important;
    background: url(../../img/company/arrow_blue.svg) no-repeat center!important;
    background-size: 100% 100%, 1.3rem 1.5rem!important;
    background-position: center, 70% 82%!important;
    opacity: 0;
    width: 1.5rem!important;
    height: 1.5rem!important;
    z-index: 2!important;
    position: absolute!important;
    right: 4px!important;
    bottom: 4px!important;
}

@media screen and (max-width: 768px) {
    .link_list__list li:nth-child(8) a::after,
    .link_list__list li:nth-child(7) a::after{
        width: 2.4rem!important;
        height: 3.2rem!important;
        background-size: 100% 100%, 1rem 1rem!important;
    }
}

@media screen and (max-width: 768px) {
    .link_list__list li:nth-child(8) a:hover::before,
    .link_list__list li:nth-child(7) a:hover::before{
        bottom: 1px!important;
        width: 0.7rem!important;
        height: 1.5rem!important;
    }
}

.link_list__list li a:hover::before{
    opacity: 1!important;
}

.lang-en .link_list__list li a{
	padding: 7.6rem 0 7.6rem 1.8rem;
}

@media screen and (max-width: 768px) {
	.lang-en .link_list__list li a{
	padding: 1.6rem 1.8rem;
	}
}

/*------------------------------------------------------------------------------
section01
------------------------------------------------------------------------------*/
.sanjo_service_text{
    display: flex;
    align-items: center;
    gap: 3.2rem;
}

@media screen and (max-width: 768px) {
    .sanjo_service_text{
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
    }
}

.p-line__title{
    font-size: 3.2rem!important;
    padding-left: 3.2rem!important;
    margin-bottom: 4rem!important;
}

.p-line__title::before{
    width: 0.8rem!important;
    height: 4.6rem!important;
}

@media screen and (max-width: 768px) {
    .p-line__title{
        font-size: 1.6rem!important;
        padding-left: 1.6rem!important;
        margin-bottom: 1.4rem!important;
    }

    .p-line__title::before{
        width: 0.5rem!important;
        height: 2.4rem!important;
    }

    .contact_btn{
        width: 100%!important;
    }
}

table.sanjo_service_table th,
table.sanjo_service_table td{
    font-size: 2rem;
}

@media screen and (max-width: 768px) {
    table.sanjo_service_table th,
    table.sanjo_service_table td{
    font-size: 1.4rem;
    }
}

table.sanjo_service_table th{
    text-align: left;
    vertical-align: baseline;
    font-weight: 400;
}

ul.map_list{
    margin-top: 6.4rem;
    display: flex;
    flex-wrap: wrap;
    gap: 8rem 4rem;
}

ul.map_list li .sanjo_service_text{
    align-items: flex-start;
}

ul.map_list li{
    width: calc(50% - 2rem);
}

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

    ul.map_list{
        gap: 3.2rem 2rem;
        margin-top: 4rem;
    }

    ul.map_list li{
        width: 100%;
    }
}

ul.map_list li .sanjo_service_text_item{
    width: 29rem;
}

@media screen and (max-width: 768px) {
    .sanjo_service_contents{
        width: 100%;
    }

    .page .contact_btn{
        margin-top: 2.4rem!important;
    }

    ul.map_list li .sanjo_service_text{
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1.8rem;
    }

    ul.map_list li .sanjo_service_text_item{
        width: 17rem;
        height: 14rem;
    }

    ul.map_list li table.sanjo_service_table th,
    ul.map_list li table.sanjo_service_table td{
        font-size: 1rem;
    }
}