@charset "utf-8";

.internal .secContact {
    padding-top: 100px;
}
@media only screen and (max-width:767px){
    .internal .secContact {
        padding-top: 60px;
    }
}

#container{
    overflow: visible;
    padding-top: 169px;
}
@media only screen and (max-width:767px){
    #container{
        padding-top: 0;
    }
}


/* topBg */
.topBg{
    margin-top: 0;
    position: relative;
    min-height: 600px;
}
.topBg .bgBox{
    position: absolute;
    top: 0;
    left: calc(50% - 960px);
}
.secCmnTit {
    padding-top: 0;
}
.secCmnTit .tit {
    letter-spacing: 11px;
    margin-right: -13px;
    margin-top: -50px;
    z-index: 10;
}
.secCmnTit .txt {
    font-weight: bold;
}
.secCmnTit .spanTit::before{
    position: absolute;
    content: "";
    width: 53px;
    height: 42px;
    left: -18px;
    top: 10px;
}
.secCmnTit .spanTit.lazyloaded::before{
   background: url(../img/index/iconTit01.png) center top / cover;
}

@media only screen and (max-width:767px){
    .topBg{
        margin-top: 0;
        padding-top: 72px;
        min-height:auto;
    }
    .topBg .bgBox{
        position: static;
    }
    .secCmnTit .tit {
        margin-top: 36px;
        margin-right: 0;
        letter-spacing: 3.5px;
    }
    .secCmnTit .spanTit::before{
        width: 20px;
        height: 17px;
        left: -10px;
        top: 0px;
    }
    .secCmnTit .spanTit.lazyloaded::before{
       background: url(../img/index/iconTit01_sp.png) center top / cover;
    }
    .secCmnTit .txt {
        letter-spacing: 2.5px;
    }
}


/* secMain */
.secMain{
    display: flex;
    position: relative;
}
.secMain .txtList{
    width: 50%;
    margin: 0 0 0 auto;
    padding-left: 120px;
}
@media only screen and (max-width:1600px){
    .secMain .txtList{
        padding-left: 70px;
    }
}
.secMain .txtItem{
    width: 630px;
    max-width: calc(100% - 40px);
    margin-top: 220px;
}
.secMain .tit{
    font-size: 24px;
    color: #1f85ba;
    line-height: 1.5;
    letter-spacing: 1.5px;
    font-weight: 700;
}
.secMain table{
    width: 100%;
    display: block;
    margin-top: 23px;
}
.secMain tr:nth-child(n+2) th,.secMain tr:nth-child(n+2) td{
    padding-top: 10px;
}
.secMain th{
    width: 135px;
}
.secMain th,.secMain td{
    font-size: 18px;
    line-height: 2;
    color: #1f85ba;
    letter-spacing: 1.5px;
}
.secMain .imgBox{
    display: flex;
    margin-top: 50px;
}
.secMain .img{
    width: calc(50% - 5px);
    margin-right: 10px;
}
.secMain .img:nth-child(2){
    margin-right: 0;
}
.secMain .mapCover{
    position: relative;
    padding-top: 41.27%;
    margin-top: 10px;
}
.secMain .mapCover iframe{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.secMain .photoList{
    position: sticky;
    left: 0;
    top: 0;
    width: 50%;
    height: 100vh;
}
.secMain .photoItem{
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
}
.secMain .photoItem:has(a.active){
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 1;
}
.secMain .photoItem a{
    pointer-events: none;
}
.secMain .imgSticky{
    display: block;
    width: 100%;
    height: 100%;
}
.secMain .spInline{
    display: none;
}
@media only screen and (max-width:767px){
    .secMain{
        margin-top: 50px;
        display: block;
    }
    .secMain .txtList{
        width: 100%;
        margin: 0;
        padding-left: 0;
    }
    .secMain .txtItem{
        width: 100%;
        max-width: 100%;
        margin-top: 0;
    }
    .secMain .txtItem:nth-child(n+2){
        margin-top: 80px;
    }
    .secMain .spWrapper{
        width: 81.334%;
        margin: 25px auto 0;
    }
    .secMain .spInline{
        display: inline;
    }
    .secMain .tit{
        font-size: 18px;
        letter-spacing: normal;
    }
    .secMain table{
        margin-top: 7px;
    }
    .secMain tr:nth-child(n+2) th,.secMain tr:nth-child(n+2) td{
        padding-top: 4px;
    }
    .secMain th{
        width: 85px;
    }
    .secMain th,.secMain td{
        font-size: 13px;
        line-height: 2.15;
        letter-spacing: normal;
    }
    .secMain .imgBox{
        margin-top: 17px;
    }
    .secMain .img{
        width: calc(50% - 2.5px);
        margin-right: 5px;
    }
    .secMain .mapCover{
        padding-top: 65.574%;
        margin-top: 5px;
    }
    .secMain .photoList{
        display: none;
    }
}