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

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

.link_list__list li:nth-child(6) a::after,.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(6) a:hover::before,
.link_list__list li:nth-child(7) a:hover::before,
.link_list__list li:nth-child(8) a:hover::before{
    content: ""!important;
    display: block;
    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(6) a::after,
    .link_list__list li:nth-child(7) a::after,
    .link_list__list li:nth-child(8) 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(6) a:hover::before,
    .link_list__list li:nth-child(7) a:hover::before,
    .link_list__list li:nth-child(8) 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: 5.6rem 2.8rem;
}
@media screen and (max-width: 768px) {
	.lang-en .link_list__list li a{
	padding: 1.6rem 1.8rem;
}
}

/*------------------------------------------------------------------------------
section01
------------------------------------------------------------------------------*/
.company_text_container{
    display: flex;
    gap: 8rem;
}

@media screen and (max-width: 768px) {
    .company_text_container{
        flex-direction: column;
        gap: 3.2rem;
    }
}

.company_img{
    width: 39%;
}

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

.company_text{
    width: calc(61% - 8rem);
}

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

.company_text_container .section__text{
    line-height: 4rem;
    margin-bottom: 4.8rem;
}

@media screen and (max-width: 768px) {
    .company_text_container .section__text{
        line-height: 2.4rem;
        margin-bottom: 2.4rem;
    }
}

p.name__text{
    font-size: 2rem;
    text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

@media screen and (max-width: 768px) {
    p.name__text{
        font-size: 1.3rem;
    }
}

p.name__text span{
    font-size: 4rem;
    font-weight: bold;
	margin-top: -1rem;
    margin-left: 2rem;
}

@media screen and (max-width: 768px) {
    p.name__text span{
        font-size: 2rem;
    }
}
/*------------------------------------------------------------------------------
section02
------------------------------------------------------------------------------*/
.spec-table td{
    text-align: left!important;
    padding: 2.4rem 3.2rem!important;
}

@media screen and (max-width: 768px) {
    .spec-table th{
        width: 9rem!important;
    }

    .spec-table td{
        padding: 1.2rem 1.6rem!important;
    }
}


.p-company__section02 .spec-table{
    margin-bottom: 8rem;
}

@media screen and (max-width: 768px) {
    .p-company__section02 .spec-table{
        margin-bottom: 3.2rem;
    }
}

.organization_img{
    max-width: 1016px;
    margin: 0 auto 6.4rem;
}

@media screen and (max-width: 768px) {
    .organization_img{
        width: 100%;
        margin-bottom: 3.2rem;
    }
}

ul.map_list{
    display: flex;
    gap: 2.5rem;
}

@media screen and (max-width: 768px) {
    ul.map_list{
        flex-direction: column;
        gap: 2.4rem;
    }
}

ul.map_list li{
    flex: 1;
}

.p-company__section02 .p-line__title{
    font-size: 3.2rem;
    padding-left: 3.2rem;
}

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

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


@media screen and (max-width: 768px) {
    .p-company__section02 .p-line__title::before{
        width: 0.5rem;
        height: 2.4rem;
    }
}

ul.map_list li p.section__text{
    margin-bottom: 1.8rem;
}

@media screen and (max-width: 768px) {
    ul.map_list li p.section__text{
        margin-bottom: 0.8rem;
    }
}

ul.map_list.-second{
    margin-top: 4rem;
}

ul.map_list.-second li p.section__text{
   font-size: 1.8rem;
}

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

    ul.map_list.-second li p.section__text{
    font-size: 1.4rem;
 }
}

iframe{
    width: 100%;
}

@media screen and (max-width: 768px) {
    iframe{
        height: 17.4rem;
    }

    .image_list__item img{
        height: 18rem;
    }
    ul.image_list li p{
        font-size: 1.6rem!important;
    }
}

/*------------------------------------------------------------------------------
section03
------------------------------------------------------------------------------*/
.timeline_container{
    display: flex;
    gap: 4.8rem;
    align-items: center;
    margin: 0 20rem 6.4rem 21rem;
}

@media screen and (max-width: 768px) {
    .timeline_container{
        gap: 1.4rem;
        margin: 0 auto;
        align-items: flex-start;
        margin-bottom: 2rem;
    }

    .timeline_container .contact_btn{
        display: none;
    }
}

/*------------------------------------------------------------------------------
section04 
------------------------------------------------------------------------------*/
.p-company__section04 .contact_btn a::after{
    width: 3.3rem!important;
    height: 2.2rem!important;
    top: 2.8rem!important;
}

@media screen and (max-width: 768px) {
    .p-company__section04 .contact_btn a{
        font-size: 1.6rem!important;
    }

    .p-company__section04 .contact_btn a::after{
        width: 1.6rem!important;
        height: 1.1rem!important;
        right: 2.2rem!important;
        top: 2.2rem!important;
    }
    
}

.history-table-wrapper {
    position: relative;
}

@media screen and (max-width: 768px) {
    .history-table-wrapper{
        margin-top: 3.2rem;
    }

    .p-company__section04  .spec-table th, .p-company__section04 .spec-table td{
        width: 100%!important;
        display: block!important;
    }
}

.history-table-collapsed {
    display: none;
}

.history-table.is-expanded .history-table-collapsed {
    display: table-row-group;
}

.history-table-toggle-wrapper {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 8rem 0 2rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, #FFF 100%);
    pointer-events: none;
    z-index: 1;
}

.history-table-wrapper.is-expanded .history-table-toggle-wrapper {
    position: static;
    transform: none;
    padding: 3.2rem 0 0;
    background: none;
}

.history-table-toggle-btn {
    background-color: #FA4738;
    color: #fff;
    border: none;
    border-radius: 6rem;
    padding: 2rem 9rem;
    font-size: 2.4rem;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    transition: background-color 0.3s ease;
    min-width: 30rem;
    pointer-events: auto;
}

@media screen and (max-width: 768px) {
    .history-table-toggle-btn{
        min-width: 18rem;
        font-size: 1.6rem;
        padding: 1.6rem 5rem;
    }
}

.history-table-toggle-btn:hover {
    background-color: #FB7B71;
}

.history-table-toggle-icon {
    position: relative;
    right: -5rem;
    transition: transform 0.3s ease;
}

@media screen and (max-width: 768px) {
    .history-table-toggle-icon {
        right: -3.2rem;
    }
}

.history-table-toggle-icon img{
    width: 2rem;
}

@media screen and (max-width: 768px) {
    .history-table-toggle-icon img{
        width: 1.6rem;
    }

    .p-company__section04 .spec-table th,
    .p-company__section04 .spec-table td{
        border-bottom: none;
    }

    .p-company__section04 .spec-table{
        border-bottom: 1px solid #ccc;
    }
}

/*------------------------------------------------------------------------------
section01
------------------------------------------------------------------------------*/
ul.approach_list{
    margin: 2.4rem 0;
}

ul.approach_list li h5{
    font-size: 2rem;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    ul.approach_list li h5{
        font-size: 1.4rem;
    }
}

ul.approach_list li{
    margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
    ul.approach_list li{
        margin-bottom: 1.8rem;
    }
}

ul.approach_list li:last-child{
    margin-bottom: 0;
}

ul.approach_sub__list li{
    list-style: disc;
    font-size: 2rem;
    margin-bottom: 0.4rem;
    margin-left: 3.2rem;
}

@media screen and (max-width: 768px) {
    ul.approach_sub__list li{
        font-size: 1.4rem;
        margin-left: 1.8rem;
    }
}