@charset "utf-8";

/*-----------------------------------------------
    index
-----------------------------------------------*/
.secCmnHeroInternalPage{
    background: url(../img/company/bgTop.jpg) center / cover no-repeat;
}
@media only screen and (max-width:1215px){
    .secCmnHeroInternalPage{
        background: url(../img/company/bgTop_sp.jpg) center / cover no-repeat;
    }
}
.fJost{
    font-family: "Jost", sans-serif;
}
/* Shop Info Section */
.secShopInfo {margin-top: 4.7rem;margin-bottom: 9.7rem;}
.secShopInfo .boxShopList {display: flex;flex-direction: column;gap: 4.8rem;}
.secShopInfo .boxShopItem {
    display: flex;
    justify-content: space-between;
    border: 1px solid var(--borderColor02);
    border-radius: 2rem;
    padding: 4rem 5.1rem 5.3rem;
    /* gap: 6rem; */
    background: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
}
.isDesktopIpad .boxShopItem {
    padding: 4rem 3rem 5.3rem;
}
.secShopInfo .boxShopDetail {
    width: 48.5%;
    display: flex;
    flex-direction: column;
    margin-top: 6rem;
}
.isDesktopIpad .secShopInfo .boxShopDetail {
    margin-top:2rem;
}
.secShopInfo .imgShop {
    margin-top: 1rem;
    flex: 1;
    padding-left: 4rem;
    border-radius: 1rem;
}
.secShopInfo .imgShop img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 1rem;
}

.secShopInfo .titShop {
    font-size: var(--pcFontSize22);
    font-weight: bold;
    border-bottom: 2px solid var(--borderColor07);
    padding-bottom: 1.8rem;
    /* display: inline-block; */
    margin-bottom: 3rem;
}
.secShopInfo .itemShopData{
    display: flex;
    align-items: center;
    margin-bottom: 2.8rem;
}
.secShopInfo .itemShopData:first-child{
    align-items: flex-start;
}
.secShopInfo .txt02{
    padding-left: 5rem;
}
.isDesktopIpad .secShopInfo .txt02{
    line-height: var(--pcLineHeight14_23);
}
.secShopInfo .txt02.sub{
    padding-left: 3.2rem;
}
.secShopInfo .txt02.sub01{padding-left: 4.8rem;}
.secShopInfo .txtTel{
    padding-left: 3.5rem;
}
.secShopInfo .linkMap{
    padding-left: 1rem;
}
.secShopInfo .linkMap a{
    color: #0066cc;
    text-decoration: underline;
}
.secShopInfo .itemShopData p{
    font-size: var(--pcFontSize14);
    font-weight: bold;
}
.isDesktopIpad .secShopInfo .itemShopData p{
    font-size: var(--pcFontSize12);
    font-weight: bold;
}
.secShopInfo .itemShopData .txt03{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_23);
    padding-left: 5rem;
}
/* Instagram Button */
.btnInstagram {
    display: inline-flex;
    width: 22rem;
    height: 5rem;
    border-radius: 2.5rem;
    align-items: center;
    gap: 1rem;
    padding: 0 1.8rem;
    border: 0.1rem solid var(--keyColor);
    position: relative;
    margin-top: 0rem;
    transition: transform 0.3s linear !important;
}
.btnInstagram:hover { transform: scale(1.05); }
.btnInstagram::before { content: ''; position: absolute; width: 1.8rem; height: 0.8rem; right: 1.8rem; }
.btnInstagram.lazyloaded::before { background: url(../img/common/iconBtnArrow.png) center / cover no-repeat; }
.btnInstagram .txtInner { font-size: var(--pcFontSize15); letter-spacing: var(--pcLetterSpacing15_50); font-weight: bold; color: var(--keyColor); }
.iconInstagram { width: 2.9rem; display: flex; justify-content: center; }

@media only screen and (max-width:1215px) {
    .secShopInfo {margin-top: 0.5rem;margin-bottom: 4.8rem;}
    .secShopInfo .boxShopList {gap: 2.5rem;}
    .secShopInfo .boxShopItem {flex-direction: column;padding: 2.1rem 2rem;gap: 2.5rem;border-radius: 1.5rem;}
    .secShopInfo .boxShopDetail {width: 100%;order: 2;margin-top: 0;}
    .secShopInfo .imgShop {width: 100%;/* order: 1; */margin-left: 0;margin-top: 0; padding-left: 0;} 
    .secShopInfo .titShop {font-size: var(--spFontSize18);margin-bottom: 1.8rem;border-bottom: none;padding-bottom: 0;}
    .secShopInfo .boxShopData { font-size: var(--spFontSize13); }
    .secShopInfo .boxShopData dt { width: 30%; margin-bottom: 1rem; }
    .secShopInfo .boxShopData dd { width: 70%; margin-bottom: 1rem; }
    .secShopInfo .txtTel {font-size: var(--spFontSize20);padding-left: 23px;max-width: 19.2rem;}
    .btnInstagram {width: 100%;height: auto;margin: 0 auto;margin-top: 0rem;max-width: 22.5rem;padding: 1rem 0;padding-left: 2rem;}
    .btnInstagram .txtInner { font-size: var(--spFontSize13); }
    .secShopInfo .itemShopData {
        display: flex;
        /* justify-content: space-between; */
        align-items: flex-start;
        margin-bottom: 0.8rem;
    }
    .secShopInfo .itemShopData:nth-child(n+2){
        margin-bottom: 1.8rem;
    }
    .secShopInfo .itemShopData:nth-child(n+3){
        margin-bottom: 1.3rem;
    }
    .secShopInfo .linkMap {
        padding-left: 0;
        display: inline-block;
    }
    .secShopInfo .itemShopData p {
        font-size: var(--spFontSize12);
        font-weight: bold;
        margin-top: 0.5rem;
    }
    .secShopInfo .txt02 {
        padding-left: 3.3rem;
        font-size: var(--spFontSize13) !important;
        line-height: var(--spLineHeight13_22);
        margin-top: 0 !important;
        flex: 1;
    }
    .secShopInfo .txt02.sub {
        padding-left: 2.2rem;
    }
    .secShopInfo .txt02.sub01 {
        padding-left: 3.2rem;
    }
    .iconInstagram {
        width: 2.9rem;
        display: flex;
        justify-content: center;
    }
    .secShopInfo .itemShopData .txt03 {
        font-size: var(--spFontSize13) !important;
        line-height: var(--spLineHeight13_22);
        padding-left: 4rem;
        margin-top: 0 !important;
        flex: 1;
    }
}

/* Company Profile Section */
.secCompanyProfile {
    position: relative;
    padding-bottom: 8rem;
    background: center bottom / contain no-repeat, #fff;
}
.secCompanyProfile.lazyloaded{
    background-image: url(../img/company/bgCompanyProfile.jpg);
}
.secCompanyProfile .cmnTitle{
    font-size: var(--pcFontSize18);
}
.secCompanyProfile .cmnTitleBox {
    margin-bottom: 1.8rem;
}
.secCompanyProfile .boxProfileTable {
    width: 100%;
    border-top: 1px solid var(--borderColor07);
}
.secCompanyProfile table {
    width: 100%;
    border-collapse: collapse;
}
.secCompanyProfile th, .secCompanyProfile td {
    padding: 3.2rem 0 3.3rem;
    border-bottom: 1px solid var( --borderColor07);
    vertical-align: top;
    font-size: var(--pcFontSize16);
    line-height: 1.8;
    font-weight: bold;
}
.secCompanyProfile tr:nth-child(3) th, .secCompanyProfile tr:nth-child(3)  td{
    padding: 3.7rem 0 3.1rem;
}
.secCompanyProfile tr:nth-child(9) th, .secCompanyProfile tr:nth-child(9)  td{
    padding: 3rem 0 3.1rem;
}
.secCompanyProfile tr:nth-child(11) th, .secCompanyProfile tr:nth-child(11)  td{
    padding: 3rem 0 2.8rem;
}
.secCompanyProfile th {
    width: 11%;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
}
.secCompanyProfile td {
    width: 75%;
    letter-spacing: var(--pcLetterSpacing16_100);
}
.secCompanyProfile .felxtxt{
    display: flex;
}
.secCompanyProfile .txtneme{
    padding-left: 4.2rem;
}

@media only screen and (max-width:1215px) {
    .secCompanyProfile {
        padding-bottom: 0.8rem;
    }
    .secCompanyProfile th, .secCompanyProfile td {
        display: block;
        width: 100%;
        padding: 1.5rem 0;
        font-size: var(--spFontSize13);
    }
    .secCompanyProfile th {
        border-bottom: none;
        padding-bottom: 0rem;
    }
    .secCompanyProfile td {
        padding-top: 0;
        padding-bottom: 1.5rem;
    }
}
@media only screen and (max-width:767px) {
    .secCompanyProfile.lazyloaded{
        background-image: none;
    }
}

/* History Section Wrapper (with Background) */
.secHistoryWrapper {
    position: relative;
    top: -0.3rem;
    background: center top / cover no-repeat, #fff;
    margin-top: -0.1rem;
    padding-top: 2rem
}
.secHistoryWrapper.lazyloaded{
    background-image: url(../img/company/bgHistory.jpg);
}
.secHistoryWrapper:after{
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 5rem;
    background: linear-gradient(to top, #fff, transparent);
}

/* History Section */
.secHistory {
    position: relative;
    z-index: 1;
}
.secHistory .cmnTitle{
    font-size: var(--pcFontSize18);
}
.secHistory .cmnTitleBox {
    margin-bottom: 1.8rem;
    border-bottom: 0.1rem solid var(--borderColor07);
    padding-bottom: 2rem;
}
.secHistory .boxHistoryList {
    margin-top: 4.5rem;
    position: relative;
    padding-left: 0;
    max-width: 900px;
}
.secHistory .boxHistoryList::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20.7rem;
    width: 0.3rem;
    background-color: var(--keyColor);
}
.secHistory .boxHistoryItem {
    display: flex;
    align-items: flex-start;
    margin-bottom: 3.4rem;
    position: relative;
    justify-content: flex-start;
}
/* .secHistory .boxHistoryItem:nth-child(2){
    margin-bottom: 3.8rem;
}
.secHistory .boxHistoryItem:nth-child(3){
    margin-bottom: 3.1rem;
}
.secHistory .boxHistoryItem:nth-child(7){
    margin-bottom: 3.8rem;
} */
.secHistory .txtYear {
    width: 15.2rem;
    font-weight: bold;
    color: var(--keyColor);
    font-size: var(--pcFontSize20);
    line-height: 1.4;
    text-align: right;
    letter-spacing: var(--pcLetterSpacing20_50);
    display: flex;
    justify-content: space-between;
    white-space: nowrap;
}
.secHistory .txtYear span {
    display: inline-block;
}
.secHistory .txtYear .txtYearInner {
    display: flex;
    justify-content: space-between;
    width: 9rem;
}
.secHistory .txtYear.sub {
    justify-content: flex-end;
}
.secHistory .txtYear.sub01 {
    padding-left: 11.6rem;
}
.secHistory .txtYear.sub02{
    letter-spacing: 1.8px;
}
.secHistory .txtEvent {
    /* width: 100%; */
    font-size: var(--pcFontSize17);
    font-weight: bold;
    line-height: 1.6;
    padding: 0;
    border-radius: 0.5rem;
    padding-left: 12.5rem;
    position: relative;
    flex: 1;
}
.isDesktopIpad .secHistory .txtEvent {
    /* width: 100%; */
    font-size: var(--pcFontSize14);
}
.secHistory .txtEvent::before {
    content: '';
    position: absolute;
    top: 0;
    left: 4.3rem;
    width: 2.7rem;
    height: 2.7rem;
    background-color: var(--keyColor);
    border-radius: 50%;
}
.secHistory .iconSmall .txtEvent:before{
    top: 0.5rem;
    left: 4.9rem;
    width: 1.5rem;
    height: 1.5rem;
}
.secHistory .imgAirplane {
    position: absolute;
    right: 5%;
    bottom: 5%;
    width: 40rem;
    z-index: 0;
}
.secHistory .imgAirplane img {
    width: 100%;
    height: auto;
}
@media only screen and (max-width:1215px) {
    
    .secHistoryWrapper {
        padding: 4.5rem 0 0rem;
        margin-top: 0;
    }
    
    .secHistory .boxHistoryList {
        padding-left: 2.5rem;
        margin-top: 2rem;
    }
    .secHistory .boxHistoryList::before {
        left: 0.6rem;
        height: calc(100% - 5rem);
    }
    .secHistory .boxHistoryItem {
        flex-direction: column;
        margin-bottom: 0.6rem;
    }
    .secHistory .txtYear {
        position: relative;
        left: 0;
        width: 100%;
        text-align: left;
        font-size: var(--spFontSize14);
        margin-bottom: 0.5rem;
    }
    .secHistory .txtYear {
        width:auto;
        font-weight: bold;
        color: var(--keyColor);
        font-size: var(--spFontSize14);
        line-height: 1.4;
        text-align: right;
        letter-spacing: var(--pcLetterSpacing20_50);
    }
    .secHistory .txtYear .txtYearInner {
        width: auto;
    }
    .secHistory .txtYear.sub {
        justify-content: flex-start;
    }
    .secHistory .txtEvent {
        font-size: var(--spFontSize13);
        padding: 0.5rem 0;
        background: transparent;
    }
    .secHistory .boxHistoryItem::before {
        left: -2.4rem;
        top: 0.4rem;
        width: 1rem;
        height: 1rem;
    }
    .secHistory .imgAirplane {
        width: 25rem;
        right: -5%;
        bottom: -5%;
    }
    .cmnTitleBox .iconCmnTitle {
        width: 3rem;
        height: 3rem;
    }
    .secCompanyProfile .cmnTitle {
        font-size: var(--spFontSize15);
    }
    .secCompanyProfile tr:nth-child(3) th, .secCompanyProfile tr:nth-child(3) td {
        padding: 1.2rem 0 0rem;
    }
    .secCompanyProfile tr:nth-child(3) td{
        padding-top: 0;
        padding-bottom: 1.2rem;
    }
    .secCompanyProfile tr:nth-child(9) th, .secCompanyProfile tr:nth-child(9) td {
        padding: 1rem 0 0rem;
    }
    .secCompanyProfile tr:nth-child(9) td{
        padding-top: 0;
        padding-bottom: 1.2rem;
    }
    .secCompanyProfile .sptxt{
        font-size: var(--spFontSize11);
    }
    .secCompanyProfile tr:nth-child(11) th, .secCompanyProfile tr:nth-child(11) td {
        padding: 1.5rem 0 0rem;
    }
    .secCompanyProfile tr:nth-child(11) td{
        padding-top: 0.2rem;
        padding-bottom: 1.2rem;
    }
    .secCompanyProfile .txtneme {
        padding-left: 6.2rem;
    }
    .secHistory .cmnTitleBox {
        margin-bottom: 1.8rem;
        border-bottom: 0.1rem solid var(--borderColor07);
        padding-bottom: 2rem;
    }
    .secHistory .txtEvent::before {
        content: '';
        position: absolute;
        top: -2.4rem;
        left: -2.5rem;
        width: 1.5rem;
        height: 1.5rem;
        background-color: var(--keyColor);
        border-radius: 50%;
    }
    .secHistory .iconSmall .txtEvent:before{
        top: -1.8rem;
        left: -2.2rem;
        width: 0.9rem;
        height: 0.9rem;
    }
}
@media only screen and (max-width:767px) {
    .secHistoryWrapper.lazyloaded{
        background-image: url(../img/company/companyBg_sp.jpg);
    }
    .secHistoryWrapper:after{
        display: none;
    }
}
.bottomWrapper {
    position: relative;
    margin-top: 14.8rem;
}
@media only screen and (max-width: 1215px) {
    .bottomWrapper {
        margin-top: 3.5rem;
    }
}
.brTb {
    display: none;
}
.isDesktopIpad .brTb {
    display: inline;
}

/* タブレットだけ表示（幅は必要に応じて調整してください） */
@media only screen and (min-width:768px) and (max-width:1215px) {
    .brTb {
        display: inline;
    }
}