/* ▼secCmnHero背景 */
.secCmnHero::before{
    background-image: url(../img/company/imgCmnhero_bg.jpg);
}
@media only screen and (max-width:1215px){
    .secCmnHero::before{
        background-image: url(../img/company/imgCmnhero_bg_sp.jpg);
    }
}

.tit{
    font-size: var(--pcFontSize20);
    text-align: left;
    letter-spacing: var(--pcLetterSpacing20_100);
    font-weight: bold;
    color: var(--textColor);
}
.txt{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_46);
    text-align: left;
    letter-spacing: var(--pcLetterSpacing15_15);
    font-weight: 500;
    color: #000;
    margin-bottom: calc(-0.5em * (var(--pcLineHeight15_46) - 1));
}
@media only screen and (max-width:1215px){
    .tit{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_100);
    }
    .txt{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_32);
        letter-spacing: var(--spLetterSpacing13_15);
    }
}

/* ▼secGreeting */
.secGreeting {
    position: relative;
    padding-bottom: 16.4rem;
}
.secGreeting.lazyloaded{
    background: url(../img/company/imgSecgreeting_bg.jpg) center bottom / contain no-repeat;
}
.secGreeting .greetingMessage{
    border-top: 1px solid;
    border-color: var(--newsBorderColor);
    margin-top: 2rem;
    padding-top: 21.7rem;
}
.secGreeting .greetingMessage .greetingtit{
    margin-top: 2.9rem;
}
.secGreeting .greetingMessage .greetingLead{
    font-size: var(--pcFontSize45);
    line-height: var(--pcLineHeight45_90);
    letter-spacing: var(--pcLetterSpacing45_25);
    color: var(--textColor);
    margin-bottom: calc(-0.5em * (var(--pcLineHeight45_90) - 1));
    margin-top: 5.3rem;
}
.secGreeting .greetingMessage .greetingSublead{
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_300);
    color: var(--textColor);    
    margin-top: 4.4rem;
}
.secGreeting .greetingMessage .greetingText{
    margin-top: 3.4rem;
}
.secGreeting .greetingMessage .greetingSignature{
    margin-top: 5rem;
    display: flex;
    align-items: center;
}
.secGreeting .greetingSignature .type{
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    color: var(--textColor);
}
.secGreeting .greetingSignature .name{
    font-size: var(--pcFontSize25);
    letter-spacing: var(--pcLetterSpacing25_50);
    color: var(--textColor);
    margin-left: 1.9rem;
}
.secGreeting .greetingimg .imgItem{
    position: absolute;
    top: 15.4rem;
    right: -5.4rem;
    width: 47.813%;
    max-width: 91.8rem;
}
@media only screen and (max-width:1215px){
    .secGreeting {
        position: relative;
        padding-bottom: 55.4667vw;
        border: none;
    }
    .secGreeting::before {
        content: "";
        position: absolute;
        top: 0;
        left: calc(20 / 375 * 100vw);
        width: calc(335 / 375 * 100vw);
        height: 1px;
        background-color: var(--newsBorderColor);
    }
    .secGreeting.lazyloaded{
        background: url(../img/company/imgSecgreeting_bg_sp.jpg) center bottom / contain no-repeat;
    }
    .secGreeting .greetingMessage{
        margin-top: 0.5rem;
        padding-top: 2.1rem;
    }
    .secGreeting .greetingMessage .imgtit{
        width: 36.12%;
        height: auto;
    }
    .secGreeting .greetingMessage .greetingtit{
        margin-top: 1.1rem;
    }
    .secGreeting .greetingMessage .greetingLead{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_40);
        letter-spacing: var(--spLetterSpacing18_25);
        color: var(--textColor);
        margin-bottom: calc(-0.5em * (var(--spLineHeight18_40) - 1));
        margin-top: 1.8rem;
    }
    .secGreeting .greetingMessage .greetingSublead{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_200);
        line-height: var(--spLineHeight11_28);
        margin-top: 2rem;
    }
    .secGreeting .greetingMessage .greetingText{
        margin-top: 2.3rem;
    }
    .secGreeting .greetingMessage .greetingSignature{
        margin-top: 3rem;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
    }
    .secGreeting .greetingSignature .type{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_50);
        color: var(--textColor);
    }
    .secGreeting .greetingSignature .name{
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_50);
        margin-top: 1.3rem;
        margin-left: 0;
    }
    .secGreeting .greetingimg .imgItem{
        position: absolute;
        top: 3.6rem;
        right: -1.8rem;
        width: 38.67%;
    }
}

/* ▼secAboutus */
.secAboutus{
    background:var(--textColor);
    color:var(--colorWhite);
    padding-top: 15.1rem;
    padding-bottom: 15.2rem;
}
.secAboutus .Aboutustit{
    color:var(--colorWhite);
    margin-top: 2.9rem;
}
.secAboutus .companyProfile{
    background:transparent;
    margin-top: 4.9rem;
    padding:0;
}
.secAboutus .companyProfile .profileRow{
    display:flex;
    align-items:center;
    gap:9.5rem;
    padding:5.1rem 0 4.8rem;
    border-top:1px solid var(--colorWhite_25);
}
.secAboutus .profileTerm{
    flex:0 0 15.4rem;
    color:var(--colorWhite);
    margin:0;
}
.secAboutus .profileDesc{
    flex:1 1 auto;
    font-size:var(--pcFontSize16);
    line-height: var(--pcLineHeight16_40);
    margin-top: calc(-0.5em * (var(--pcLineHeight16_40) - 1));
    margin-bottom: calc(-0.5em * (var(--pcLineHeight16_40) - 1));
}
@media only screen and (max-width:1215px){
    .secAboutus{
        padding-top: 5rem;
        padding-bottom: 5.2rem;
    }
    .secAboutus .imgtit{
        width: 36.42%;
    }
    .secAboutus .Aboutustit{
        margin-top: 1.1rem;
    }
    .secAboutus .companyProfile{
        background:transparent;
        margin-top: 2.8rem;
        padding:0;
    }
    .secAboutus .companyProfile .profileRow{
        align-items: flex-start;
        flex-direction: column;
        gap: 1.5rem;
        padding: 2rem 0 1.8rem;
    }
        .secAboutus .companyProfile .profileRow:last-child{
        border-bottom: 1px solid var(--colorWhite_25);
        }
    .secAboutus .profileTerm{
        flex:0;
    }
    .secAboutus .profileDesc{
        flex:1 1 auto;
        font-size:var(--spFontSize13);
        line-height: var(--spLineHeight13_26);
        margin-top: calc(-0.5em * (var(--spLineHeight13_26) - 1));
        margin-bottom: calc(-0.5em * (var(--spLineHeight13_26) - 1));
    }
}

/* ▼secOffice */
.secOffice{
    background:#fff;
    padding-top: 15rem;
}
.secOffice .Inner{
    padding-bottom: 9.8rem;
    border-bottom: 1px solid;
    border-color: var(--newsBorderColor);
}
.secOffice .Officetit{
    color:var(--textColor);
    margin-top: 2.8rem;
}
.secOffice .officeItem{
    display:flex;
    align-items:flex-start;
    gap:4rem;
    padding: 4.9rem 0 7rem 0;
}
.secOffice .officeMedia{
    flex:0 0 64rem;
}
.secOffice .officeBody{
    flex:1 1 auto;
    min-width:0;
    padding-top: 2rem;
}
.secOffice .officeName{
    font-size:var(--pcFontSize35);
    letter-spacing: var(--pcLetterSpacing35_100);
    margin-bottom: 4.7rem;
}
.secOffice .officeAddr{
    font-style: normal;
    letter-spacing: var(--pcLetterSpacing15_50);
    margin-top: calc(-0.5em * (var(--pcLineHeight15_50) - 1));
    padding-top: 1.3rem;
    margin-bottom: 2.3rem;
    border-top:1px solid var(--colorText_25); 
}
.secOffice .officeActions{
    margin:1em 0 0;
}
.secOffice .btnPrimary{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_100);
    font-weight: bold;
    width: 36rem;
    height: 8rem;
    background:var(--textColor);
    color:var(--colorWhite);
    text-align:center;
    text-decoration:none;
    border-radius: 0.5rem;
    position: relative;
    padding-left: 3.2rem;
}
.secOffice .btnPrimary.lazyloaded::before{
    content: "";
    background: url(../img/common/icon_MenuReserve.png) center center / cover no-repeat;
    position: absolute;
    width: 1.7rem;
    height: 1.7rem;
    top: 50%;
    left: 13.4rem;
    transform: translateY( -50%);
}
.secOffice .officeMap{
    margin-bottom: 4.9rem;
}
.secOffice .officeMap:last-child{
    margin-bottom: 0;
}
.secOffice .mapFrame{
    width:100%;
    border-radius: 5px;
}
@media only screen and (max-width:1215px){
    .secOffice{
        padding-top: 5rem;
    }
    .secOffice .Inner{
        padding-bottom: 0;
        border-bottom: none;
    }
    .secOffice .imgtit{
        width: 25.075%;
    }
    .secOffice .Officetit{
        margin-top: 1.1rem;
    }
    .secOffice .officeItem{
        display:flex;
        flex-direction: column;
        align-items:flex-start;
        gap:0;
        padding: 3.9rem 0 0;
    }
    .secOffice .officeMedia{
        flex:0;
        order: 2;
        border-top: 1px solid var(--colorText_25); 
        padding-top: 2rem;
        margin-bottom: 2rem;
        width: 100%;
    }
    .secOffice .officeBody{
        flex:1 1 auto;
        min-width:0;
        padding-top: 2rem;
        display: contents !important;
    }
    .secOffice .officeName{
        font-size:var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing20_100);
        margin-bottom: 1.9rem;
        order: 1;
    }
    .secOffice .officeAddr{
        font-style: normal;
        font-size:var(--spFontSize15);
        line-height: var(--spLineHeight15_30);
        letter-spacing: var(--spLetterSpacing15_50);
        margin-top: calc(-0.5em * (var(--spLineHeight15_30) - 1));
        padding-top: 0;
        margin-bottom: 2.1rem;
        border-top: none; 
        order: 3;
    }
    .secOffice .officeActions{
        margin:0 0 4rem;
        order: 4;
        width: 100%;
    }
    .secOffice .btnPrimary{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        position: relative;
        white-space: nowrap;
    }
    .secOffice .btnPrimary.lazyloaded::before{
        content: "";
        background-image: url(../img/common/icon_MenuReserve.png);
        position: absolute;
        width: 1.7rem;
        height: 1.7rem;
        background-size:100% auto;
        top: 50%;
        left: 50%;
        transform: translateY( -50%) translateX(-50%);
        margin-left: -3.7rem ;
    }
    .secOffice .officeMap{
        margin-bottom: 1.1rem;
    }
    .secOffice .mapFrame{
        width:100%;
        border-radius: 6px;
    }
    .mapFrame{
        width: 100%;
        aspect-ratio: 1/ 1;
        height: auto;
        display: block;
    }
}