@charset "utf-8";
/* secCmntitle */
.secCmntitle {
    position: relative;
    width: 100%;
    height: 40rem;
    background: url(../img/common/tp.gif) center top / cover no-repeat;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.secCmntitle {
    background-image: url(../img/company/imgTitle.jpg);
}
.secCmntitle .titleinner {
    display: inline-block;
    color: #fff;
    text-align: center;
}
.secCmntitle .title {
    font-size: var(--pcFontSize25);
    margin-top: 3rem;
    letter-spacing: var(--pcLetterSpacing25_40);
}

@media only screen and (max-width:1215px){
    .secCmntitle {
        height: 22rem;
        background-position: center center;
        background-size: cover;
    }
    .secCmntitle {
        background-image: url(../img/company/imgTitle_sp.jpg);
    }
    .secCmntitle .titleEng {
        width: 15rem;
        margin: 0 auto;
    }
    .secCmntitle .title {
        font-size: var(--spFontSize17);
        margin-top: 1.2rem;
        letter-spacing: var(--spLetterSpacing17_40);
    }
}

/*-----------------------------------------------
    index
-----------------------------------------------*/
.secCompany{
    margin-top: 7rem;
    text-align: center;
}
.secCompany .titTop{
    font-weight: bold;
    color: var(--linkColor);
    font-size: var(--pcFontSize45);
    line-height: var(--pcLineHeight45_70);
    letter-spacing: var(--pcLetterSpacing45_50);
    margin-bottom: 4.5rem;
}
.secCompany .titTop .colorOrange{
    color: var(--keyColor);
}
@media only screen and (max-width:1215px){
    .secCompany {
        margin-top: 1.3rem;
    }
    .secCompany .titTop {
        font-size: var(--spFontSize23);
        line-height: var(--spLineHeight23_40);
        letter-spacing: var(--spLetterSpacing23_50);
        margin-bottom: 3.2rem;
    }
}

.secCompany .boxReassurance{
    margin-top: 6.5rem;
    text-align: center;
    padding: 5rem 0 5rem;
}
.secCompany .boxReassurance.box02{
    margin-top: 3rem;
}
.secCompany .boxReassurance.box01{
    background: url(../img/company/bgReassurance.jpg) center top / cover no-repeat;
}
.secCompany .boxReassurance.box02{
    background: url(../img/company/bgReassurance02.jpg)center top / cover no-repeat;
}
.secCompany .boxReassurance .titImg{
    margin-bottom: 11.3rem;
}
.secCompany .boxReassurance .listReassurance{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4rem;
}
.secCompany .boxReassurance .itemReassurance{
    background: var(--bgWhite_90);
    width: 38rem;
    height: 35rem;
    border-radius: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-top: 9rem;
}
.secCompany .boxReassurance .itemReassurance:before{
    content: '';
    position: absolute;
    width: 11.8rem;
    height: 13.4rem;
    top: -7.5rem;
    left: calc(50% - 5.9rem);
}
.secCompany .boxReassurance.lazyloaded .itemReassurance:nth-child(1):before{
    background: url(../img/company/icon01.png) center top / cover no-repeat;
}
.secCompany .boxReassurance.lazyloaded .itemReassurance:nth-child(2):before{
    background: url(../img/company/icon02.png) center top / cover no-repeat;
}
.secCompany .boxReassurance.lazyloaded .itemReassurance:nth-child(3):before{
    background: url(../img/company/icon03.png) center top / cover no-repeat;
}
.secCompany .boxReassurance .tit{
    font-size: var(--pcFontSize30);
    color: var(--linkColor);
    letter-spacing: var(--pcLetterSpacing30_50);
    font-weight: bold;
    margin-bottom: 1.7rem;
}
.secCompany .boxReassurance .txt{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_30);
    letter-spacing: var(--pcLetterSpacing15_50);
    font-weight: bold;
}

@media only screen and (max-width:1215px){
    .secCompany .boxReassurance {
        margin-top: 1.5rem;
        padding: 2.6rem 0 2rem;
    }
    .secCompany .boxReassurance .titImg {
        width: 16.8rem;
        margin: 0 auto 2rem;
    }
    .secCompany .boxReassurance .itemReassurance:before {
        content: '';
        position: absolute;
        width: 7rem;
        height: 8rem;
        top: calc(50% - 4rem);
        left: 1.5rem;
    }
    .secCompany .boxReassurance.box02 {
        margin-top: 2rem;
    }
    .secCompany .boxReassurance .listReassurance {
        display: block;
    }
    .secCompany .boxReassurance .itemReassurance {
        width: 100%;
        height: auto;
        border-radius: 1.7rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        position: relative;
        padding: 2rem 0rem 2rem 10rem;
        text-align: left;
    }
    .secCompany .boxReassurance .itemReassurance:nth-child(n+2){
        margin-top: 1rem;
    }
    .secCompany .boxReassurance .tit {
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing18_50);
        margin-bottom: 0.5rem;
    }
    .secCompany .boxReassurance .txt {
        font-size: var(--spFontSize11);
        letter-spacing: 0;
        line-height: var(--pcLineHeight11_20);
    }
    .secCompany .boxReassurance.box01 {
        background: url(../img/company/bgReassurance_sp.jpg) center top / cover no-repeat;
    }
    .secCompany .boxReassurance.box02 {
        background: url(../img/company/bgReassurance02_sp.jpg) center top / cover no-repeat;
    }
}
@media only screen and (max-width:360px){
    .secCompany .boxReassurance .txt {
        font-size: var(--spFontSize10);
    }
}
/* .content.con01 */
.secCompany .content.con01{
    margin-top: 10rem;
}
.secCompany .content .boxFlex{
    display: flex;
    justify-content: space-between;
    text-align: left;
    align-items: center
}
.secCompany .content .titContent{
    font-size: var(--pcFontSize26);
    letter-spacing: var(--pcLetterSpacing26_150);
    position: relative;
    padding-bottom: 3rem;
    margin-bottom: 2rem;
    font-weight: bold;
}
.secCompany .content .titContent:before{
    content: '';
    width: 4rem;
    height: 0.1rem;
    background: var(--textColor);
    position: absolute;
    bottom: 0;
    left: 0;
}
.secCompany .content .txtContent{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_30);
    font-weight: bold;
    /* letter-spacing: var(--pcLetterSpacing14_50); */
}
.secCompany .boxRight .txtContent{
    text-align: right;
    margin-top: 2.3rem;
}
.secCompany .content.con01 .txtContent + .txtContent{
    margin-top: 2.9rem;
}
@media only screen and (max-width:1215px){
    .secCompany .content .titContent {
        font-size: var(--spFontSize15);
        letter-spacing: var(--spLetterSpacing15_100);
        padding-bottom: 0;
        margin-bottom: 1.6rem;
    }
    .secCompany .content .titContent:before {
        display: none;
    }
    .secCompany .content .txtContent {
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
    }
    .secCompany .content .boxFlex {
        display: block;
    }
    .secCompany .content .imgContent {
        width: 17.5rem;
        margin: 3rem auto 0;
    }
    .secCompany .boxRight .txtContent {
        text-align: center;
        margin-top: 0.5rem;
    }
    .secCompany .content.con01 {
        margin-top: 5rem;
    }
    .secCompany .content.con01 .txtContent + .txtContent {
        margin-top: 2rem;
    }
}

/* secVision */
.secCompany .secVision{
    margin: 5rem auto 0;
    max-width: 139rem;
}
@media only screen and (max-width:1215px){
    .secCompany .secVision {
        margin: 2rem auto 0;
        max-width: unset;
    }
}

/* .content.con02 */
.secCompany .content.con02{
    text-align: left;
}

/* secOverview */
.secOverview{
    margin-top: 10rem;
    font-weight: bold;
}
.secOverview .tableBox{
    margin-top: 3rem;
    border-bottom: solid 1px var(--tagBorderColor);
}
.secOverview table{
    width: 100%;
}
.secOverview tr{
    border-top: solid 1px var(--tagBorderColor);
}
.secOverview th{
    width: 20rem;
    background: var(--formFlowBox);
    text-align: center;
    padding: 2.1rem 1rem 1.9rem;
    height: 100%;
    vertical-align: middle;
    font-weight: bold;
}
.secOverview td{
    width: calc(100% - 20rem);
    padding: 2.1rem 3rem 1.9rem;
}
.secOverview th,
.secOverview td{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_30);
    letter-spacing: var(--pcLetterSpacing14_150);
    vertical-align: middle;
}
@media only screen and (max-width:1215px){
    .secOverview{
        margin-top: 4.7rem;
    }
    .secOverview .tableBox{
        margin-top: 2.2rem;
    }
    .secOverview tr,.secOverview tbody{
        display: block;
    }
    .secOverview th{
        width: 100%;
        padding: 1.1rem 1.3rem 0.9rem;
        border-bottom: solid 1px var(--tagBorderColor);
    }
    .secOverview td{
        width: 100%;
        padding: 1.1rem 1.3rem 0.9rem;
    }
    .secOverview th,
    .secOverview td{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        letter-spacing: var(--spLetterSpacing11_50);
        display: block;
        text-align: left;
    }
}

/* secAccess */
/* secAccess */
.secAccess{
    padding-top: 10rem;
}
.secAccess .flBox{
    display: flex;
    margin-top: 3rem;
}
.secAccess .tableBox{
    /* width: calc(100% - 46rem); */
    width: 100%;
    font-weight: bold;
}
.secAccess table{
    width: 100%;
}
.secAccess tr{
    border-top: solid 1px var(--tagBorderColor);
}
.secAccess tr:last-child{
    border-bottom: solid 1px var(--tagBorderColor);
}
.secAccess th{
    width: 20rem;
    background: var(--formFlowBox);
    text-align: center;
    padding: 2.1rem 1rem 1.9rem;
    height: 100%;
    vertical-align: middle;
    font-weight: bold;
}
.secAccess td{
    width: calc(100% - 20rem);
    padding: 2.1rem 3rem 1.9rem;
}
.secAccess th,
.secAccess td{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_30);
    letter-spacing: var(--pcLetterSpacing14_150);
    vertical-align: middle;
}
.secAccess .linkMap{
    color: var(--ColorMap);
    text-underline-offset: 7px;
}
/* areaBox */
.secAccess .areaBox{
    text-align: center;
    margin-top: 6rem;
}
.secAccess .btn{
    width: 50rem;
    height: 8rem;
    border: solid 1px var(--linkColor);
    font-size: var(--pcFontSize16);
    font-weight: bold;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.5rem;
    /* letter-spacing: var(--pcLetterSpacing16_100); */
    margin: 5rem auto 0;
}
.secAccess .spanIcon{
    position: relative;
    padding-left: 3rem;
}
.secAccess .spanIcon::after{
    position: absolute;
    content: "";
    width: 3.3rem;
    height: 3.3rem;
    left: -1rem;
    top: calc(50% - 1.6rem);
}
.secAccess .spanIcon.lazyloaded::after{
    background: url(../img/company/iconAccess.png) center top / cover;
}

/* btnBox */
.secAccess  .btnBox{
    display: flex;
    margin-top: 60px;
}
.secAccess  .linkBtn:nth-child(2){
    margin-left: 40px;
}
.secAccess .btnReserve{
    width: calc(50% - 20px);
    height: 120px;
    font-size: 22px;
    letter-spacing: 2px;
    text-decoration: none;
    border-radius: 60px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
    font-weight: 700;
}
.secAccess .btnReserve.lazyloaded{
    background: url(../img/company/iconReserveArrow.gif) right 50px center / 10px auto no-repeat #f36021;
}
.secAccess .spanMail{
    padding-left: 48px;
    position: relative;
}
.secAccess .spanMail::after{
    position: absolute;
    content: "";
    width: 37px;
    height: 28px;
    left: -10px;
    top: -2px;
}
.secAccess .lazyloaded .spanMail::after{
    background: url(../img/company/iconMail.gif) center top / cover;
}
.secAccess .btnTel{
    width: calc(50% - 20px);
    height: 120px;
    text-decoration: none;
    border-radius: 60px;
    color: #504f4a;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
    border: solid 1px #504f4a;
}
.secAccess .telNum{
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 1.5px;
}
.secAccess .iconTel{
    position: relative;
    padding-left: 50px;
}
.secAccess .iconTel.lazyloaded{
    background: url(../img/company/iconTel.gif) left 3px center / 34px auto no-repeat #fff;
}
.secAccess .subTxt{
    font-size: 13px;
    margin-top: 13px;
}
@media only screen and (max-width:1215px){
    .secAccess{
        padding-top: 5rem;
    }
    .secAccess .tit{
        font-size: var(--spFontSize15);
        letter-spacing: 0.5px;
    }
    .secAccess .tit::after{
        display: none;
    }
    .secAccess .flBox{
        flex-flow: column-reverse;
        margin-top: 2.2rem;
    }
    .secAccess .tableBox{
        width: 100%;
        margin-right: 0;
    }
    /* .secAccess .tableBox{
        margin-top: 2rem;
    } */
    .secAccess tr,.secAccess tbody{
        display: block;
    }
    .secAccess th{
        width: 100%;
        padding: 1.1rem 1.3rem 0.9rem;
        border-bottom: solid 1px #edeae6;
    }
    .secAccess td{
        width: 100%;
        padding: 1.1rem 1.3rem 0.9rem;
    }
    .secAccess th,
    .secAccess td{
        font-size: var(--spFontSize11);
        line-height: 1.81;
        letter-spacing: 0.5px;
        display: block;
        text-align: left;
    }
    .secAccess .linkMap{
        text-underline-offset: 6px;
    }
    /* areaBox */
    .secAccess .areaBox{
        margin-top: 3rem;
    }
    .secAccess .boxImg{
        padding: 0 4%;
        height: 30rem;
    }
    .secAccess .btn{
        width: 88.06%;
        height: 6rem;
        font-size: var(--spFontSize13);
        margin: 2rem auto 0;
        letter-spacing: normal;
        border: solid 1px var(--accessBtn);
    }
    .secAccess .spanIcon{
        position: relative;
        padding-left: 2rem;
    }
    .secAccess .spanIcon::after{
        width: 2.2rem;
        height: 2.2rem;
        left: -1rem;
        top: calc(50% - 1.1rem);
    }
    /* btnBox */
    .secAccess  .btnBox{
        display: block;
        margin-top: 30px;
    }
    .secAccess  .linkBtn:nth-child(2){
        margin: 10px auto 0;
    }
    .secAccess .btnReserve{
        width: 100%;
        height: 60px;
        font-size: 13px;
        letter-spacing: normal;
        border-radius: 30px;
    }
    .secAccess .btnReserve.lazyloaded{
        background-size: 8px auto;
        background-position: right 30px center;
    }
    .secAccess .spanMail{
        padding-left: 30px;
    }
    .secAccess .spanMail::after{
        width: 21px;
        height: 16px;
        left: 2px;
        top: -1px;
    }
    .secAccess .btnTel{
        width: 100%;
        height: 70px;
        border-radius: 35px;
    }
    .secAccess .telNum{
        font-size: 16px;
        letter-spacing: 0.75px;
    }
    .secAccess .iconTel{
        padding-left: 34px;
    }
    .secAccess .iconTel.lazyloaded{
        background-size: 26px auto;
        background-position: left 0 center;
    }
    .secAccess .subTxt{
        font-size: 10px;
        margin-top: 7px;
    }
}
@media only screen and (max-width:1215px){
    .secAccess .imgMap{
        width: auto;
        height: 100%;
        margin: 0 auto;
    }
    .secAccess .imgMap img{
        width: auto;
        height: 100%;
    }
}

/* secContactBnr */
.secContactBnr{
    margin-top: 15rem;
}
.secContactBnr .bnrlink{
    display: block;
    border-radius:0.5rem;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
@media only screen and (max-width:1215px){
    .secContactBnr{
        margin-top: 8rem;
    }
    .secContactBnr .bnrlink{
        border-radius:1rem;
        max-width: 67rem;
        margin: 0 auto;
    }
}
/*-----------------------------------------------
    secTelBox
-----------------------------------------------*/
.secTelBox{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--linkColor);
    border-radius: 0.5rem;
    margin-top: 10rem;
    font-weight: bold;
}
.secTelBox .boxInner{
    display: flex;
    flex-direction: column;
    padding: 4.8rem;
    align-items: center;
}
.secTelBox .txtTop{
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_100);
    position: relative;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}
.secTelBox .txtTop:before{
    content: '';
    position: absolute;
    width: 5rem;
    height: 0.3rem;
    background: var(--keyColor);
    bottom: 0;
    left: calc(50% - 2.5rem);
}
.secTelBox .telNum{
    font-size: var(--pcFontSize35);
    letter-spacing: var(--pcLetterSpacing35_30);
    margin-bottom: 1.7rem;
}
.secTelBox .txtDay{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_100);
    margin-bottom: 1.7rem;
}
.secTelBox .txtAddress{
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_100);
}

@media only screen and (max-width:1215px){
    .secTelBox{
        margin-top: 3rem;
    }
    .secTelBox .boxInner{
        padding: 4rem 0 2.8rem;
    }
}
@media only screen and (max-width:360px){
    .secTelBox .txtDay {
        font-size: var(--pcFontSize12);
    }
}

/*-----------------------------------------------
	popup
-----------------------------------------------*/
#popup{
	display: none;
	position: relative;
	z-index: 99999;
}
#popup .overlay{
	width: 100%;
	height: 100%;
	min-height: 100vh;
	background: rgba(0,0,0,0.8);
	position: absolute;
	top: 0;
	left: 0;
}
#popup .popupContainer{
	display: table;
	width: 100%;
	height: 100vh;
    z-index: 9999;
    position: relative;
}
#popup .popupContents{
	display: table-cell;
	vertical-align: middle;
}
#popup .popupMain{
	width: 114rem;
	margin: 0 auto;
	padding: 2rem 0;
}
#popup .btnClose{
	width: 1.9rem;
	margin: 0 0 2rem auto;
	position: relative;
	z-index: 10;
}
@media only screen and (max-width:1215px){
	#popup .popupMain{
		width: 100%;
		padding: 4%;
	}
    #popup .btnClose{
        margin: 0 0 1.3rem auto;
    }
}
@media only screen and (max-width:374px){
	#popup .popupMain{
		padding: 4.69%;
	}
}

/* scrollItem */
@media only screen and (max-width:900px){
	.scrollItem{
        position: relative;
        width: 100%;
        height: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .scrollItem::-webkit-scrollbar{
        display: none;
    }
    .scrollItem::before{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: url(../img/company/iconScroll.png) center center / 125px auto no-repeat;
        transition: all 0.2s ease-out 0.2s;
        animation: scrollItemAnimation 1s linear infinite;
        z-index: 10;
        pointer-events: none;
    }
    .scrollItem.scrolled::before{
        opacity: 0;
    }
    @keyframes scrollItemAnimation {
        0%   { transform:translateX(0); }
        25%   { transform:translateX(10px) }
        50% { transform:translateX(0); }
        75% { transform:translateX(-10px); }
        100% { transform:translateX(0); }
    }
}

@media only screen and (max-width:1215px){
    #menu.menuOpen {
        position: fixed;
    }
}