@charset "utf-8";
/*-----------------------------------------------
    boxCmnTop
-----------------------------------------------*/
.boxCmnTop{
    height: 0;
}

/*-----------------------------------------------
    boxConcept
-----------------------------------------------*/
.boxConcept{
    text-align: center;
    color: var(--whiteColor);
    padding: 16rem 0 0;
    height: 52.084vw;
    font-weight: bold;
    background: url(../img/company/bgMain.jpg) center bottom / cover no-repeat;
}
.boxConcept .tit{
    font-size: var(--pcFontSize40);
    line-height: var(--pcLineHeight40_70);
}
.boxConcept .txt{
    font-size: var(--pcFontSize26);
    line-height: var(--pcLineHeight26_50);
    letter-spacing: var(--pcLetterSpacing26_100);
    margin-top: 2rem;
}
@media only screen and (max-width:1215px){
    .boxConcept .tit{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_28);
        letter-spacing: var(--spLetterSpacing18_40);
    }
    .boxConcept .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        letter-spacing: var(--spLetterSpacing12_0);
        margin-top: 0.8rem;
    }
}
@media only screen and (max-width:767px){
    .boxConcept{
        height: auto;
        max-height: 55rem;
        padding: 18.67vw 0 85.87vw;
        background: url(../img/company/bgMain_sp.jpg) center bottom / cover no-repeat;
    }
}

/*-----------------------------------------------
    boxCompanyTit
-----------------------------------------------*/
.boxCompanyTit .titJp{
    font-size: var(--pcFontSize40);
    letter-spacing: var(--pcLetterSpacing40_40);
    font-weight: bold;
    margin-top: 2rem;
}
.boxCompanyTit .titEng{
    position: relative;
    display: inline-block;
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_40);
    color: var(--gray_999_Color);
    padding-right: 3.8rem;
}
.boxCompanyTit .titEng::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: -0.2rem;
    bottom: 0;
    right: 0;
    width: 3rem;
    height: 0.1rem;
    background-color: var(--gray_999_Color);
}
@media only screen and (max-width:1215px){
    .boxCompanyTit .titJp{
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing18_0);
        margin: 1.3rem 0 0 -0.4rem;
    }
    .boxCompanyTit .titEng{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_0);
        padding-right: 3.8rem;
    }
}

/*-----------------------------------------------
    boxOutline
-----------------------------------------------*/
.boxOutline{
    margin-top: 5.2rem;
}
.boxOutline .boxOutlineBody {
    margin-top: 8rem;
    border-radius: 1.5rem;
    background-color: var(--whiteColor);
    box-shadow: 0 0 2rem 0 var(--black_000_10_Color);
    padding: 4rem 18rem 6rem;
}
.boxOutline table{
    width: 100%;
}
.boxOutline tr{
    padding: 3rem 0 1rem;
    display: block;
}
.boxOutline th,
.boxOutline td{
    width: calc(100% - 16.8rem);
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    letter-spacing: var(--pcLetterSpacing16_40);
}
.boxOutline th{
    width: 16.8rem;
    font-weight: bold;
}
@media only screen and (max-width:1215px){
    .boxOutline .boxOutlineBody {
        margin-top: 3rem;
        border-radius: 0.5rem;
        box-shadow: 0 0 1.5rem 0 var(--black_000_10_Color);
        padding: 3.2rem 3rem 1rem;
    }
    .boxOutline tr{
        padding: 0 0 2.2rem;
    }
    .boxOutline th,
    .boxOutline td{
        display: block;
        width: 100%;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing12_0);
    }
    .boxOutline th{
        margin-bottom: 1rem;
    }
}
@media only screen and (max-width:767px){
    .boxOutline{
        margin-top: 0.3rem;
    }
}

/*-----------------------------------------------
    boxStore
-----------------------------------------------*/
.boxStore{
    margin-top: 15rem;
}
.boxStore .boxList{
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    margin-top: 8rem;
}
.boxStore .item{
    position: relative;
    width: 100%;
    border-radius: 1.5rem;
    background-color: var(--whiteColor);
    box-shadow: 0 0 2rem 0 var(--black_000_10_Color);
}
.boxStore .item .link{
    display: block;
    padding: 5rem;
}
.boxStore .item .boxImg{
    width: 48.388%;
}
.boxStore .item img,
.boxStore .item .linkTit .tit{
    transition:opacity 0.2s ease-out;
}
.boxStore .item.is-hover img,
.boxStore .item.is-hover .linkTit .tit{
    opacity:0.8;
}
/* boxLink */
.boxStore .boxLink{
    position: absolute;
    top: 50%;
    left: calc(48.388% + 8rem);
    transform: translateY(-50%);
    gap: 2.5rem;
    width: auto;
    max-width: 41.792%;
    justify-content: center;
}
.boxStore .boxLink,
.boxStore .boxLink a{
    display: flex;
    flex-direction: column;
}
.boxStore .boxLink a{
    align-items: flex-start;
}
.boxStore .boxLink .tit{
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_40);
    font-weight: bold;
}
.boxStore .boxLink .txt{
    position: relative;
    display: inline-block;
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_40);
}
.boxStore .boxLink .txt.txtEng{
    color: var(--gray_a3a_Color);
    margin-bottom: 1rem;
}
.boxStore .boxLink .telTxt{
    font-size: var(--pcFontSize22);
    letter-spacing: var(--pcLetterSpacing22_40);
}
.boxStore .linkMap .txt:not(.txtEng){
    text-decoration: underline;
    padding-right: 2rem;
}
.boxStore .linkMap .txt:not(.txtEng)::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    right: 0;
    width: 1.6rem;
    height: 2rem;
}
.boxStore .linkMap.lazyloaded .txt:not(.txtEng)::after{
    background: url(../img/common/iconMapLink.png) center top / cover no-repeat;
}
@media only screen and (max-width:1215px){
    .boxStore{
        margin-top: 6rem;
    }
    .boxStore .boxList{
        gap: 2rem;
        margin-top: 3rem;
    }
    .boxStore .item{
        border-radius: 0.5rem;
        box-shadow: 0 0 1.5rem 0 var(--black_000_10_Color);
    }
    .boxStore .item .link{
        padding: 2rem 2rem 1.8rem;
    }
    .boxStore .item .boxImg{
        width: 100%;
    }
    /* boxLink */
    .boxStore .boxLink{
        position: static;
        gap: 1.8rem;
        max-width: none;
        width: 100%;
        padding: 0 2rem 2rem;
        transform: none;
    }
    .boxStore .boxLink .tit{
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_0);
    }
    .boxStore .boxLink .txt{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_0);
    }
    .boxStore .boxLink .txt.txtEng{
        margin-bottom: 0.5rem;
    }
    .boxStore .boxLink .telTxt{
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_0);
    }
    .boxStore .boxLink .txt:not(.txtEng){
        text-decoration: underline;
    }
    .boxStore .linkMap .txt:not(.txtEng){
        padding-right: 1.7rem;
        line-height: var(--spLineHeight12_20);
    }
    .boxStore .linkMap .txt:not(.txtEng)::after{
        bottom: 0;
        width: 1.2rem;
        height: 1.5rem;
    }
}