@charset "utf-8";

/* secCompany */
.secCompany{
    margin-top: 5.3rem;
}

/* secAbout */
.secAbout{
    width: 100%;
}
.secAbout .AboutHero{
    width: 100%;
}
.secAbout .imgBox{
    width: 100%;
}
.secAbout .Inner{
    width: 100%;
    padding: 0 4rem;
    margin-top: 5.1rem;
}
.secAbout .txt{
    text-align: left;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
}
.secAbout .namecontent{
    margin-top: 4rem;
}
.secAbout .company_name{
    text-align: right;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    letter-spacing: var(--pcLetterSpacing16_50);
}
@media only screen and (max-width:1215px){
    /* secCompany */
    .secCompany{
        margin-top: 4rem;
    }

    /* secAbout */
    .secAbout .Inner{
        padding: 0 2rem;
        margin-top: 2.1rem;
    }
    .secAbout .txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
    .secAbout .namecontent{
        margin-top: 1.4rem;
    }
    .secAbout .company_name{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
}

.secCompanyTitbox{
    width: 100%;
    text-align: center;
    position: relative;
}
.secCompanyTitbox::after{
    content: "";
    position: absolute;
    top: 0;
}
.secCompanyTitbox.lazyloaded::after{
    background: url(../img/common/tp.gif) center top no-repeat;
    background-size: 100% auto;
}
.secCompanyTitbox .imgEng{
    display: inline-block;
    max-width: 100%;
    margin: 0 auto;
}
.secCompanyTitbox .titJpn{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    font-weight: bold;
    margin-top: 2.1rem;
}
@media only screen and (max-width:1215px){
    .secCompanyTitbox .titJpn{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
        margin-top: 1.6rem;
    }
}

/* secService */
.secService{
    margin-top: 8.9rem;
}
.secService .secCompanyTitbox{
    padding-top: calc(3.6rem + 2.5rem);
}
.secService .secCompanyTitbox::after{
    width: 3.2rem;
    height: 3.6rem;
    left: calc(50% - 1.6rem);
}
.secService .secCompanyTitbox.lazyloaded::after{
    background-image: url(../img/company/imgIconService.png);
}
.secService .secCompanyTitbox .imgEng{
    width: 21.8rem;
}
@media only screen and (max-width:1215px){
    .secService{
        margin-top: 9.2rem;
    }
    .secService .secCompanyTitbox{
        padding-top: calc(2.8rem + 1.6rem);
    }
    .secService .secCompanyTitbox::after{
        width: 2.5rem;
        height: 2.8rem;
        left: calc(50% - 1.25rem);
    }
    .secService .secCompanyTitbox .imgEng{
        width: 16.7rem;
    }
}

.secService .heroImg{
    width: 100%;
    margin-top: 3.4rem;
}
.secService .Inner{
    width: 100%;
    padding: 0 4rem;
    margin-top: 3.7rem;
}
.secService .Herotxtbox{
    text-align: left;
}
.secService .herotit{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_30);
    font-weight: bold;
}
.secService .herotxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    margin-top: 1.5rem;
}


.secService .supportlist{
    width: 100%;
    margin-top: 5.5rem;
}
.secService .list{
    width: 100%;
}
.secService .item{
    width: 100%;
    position: relative;
}
.secService .item + .item{
    margin-top: 6.6rem;
}
.secService .stepBox{
    position: absolute;
    width: fit-content;
    display: flex;
    align-items: center;
    left: 3rem;
    top: calc(0% - 1.6rem);
    height: 3.2rem;
    border-radius: 0.3rem;
    background-color: var(--yellowColor);
    padding: 0 1rem;
}
.secService .stepImg{
    display: inline-block;
}
.secService .stepImg.img01{
    width: 8.3rem;
}
.secService .stepImg.img02{
    width: 8.5rem;
}
.secService .stepImg.img03{
    width: 8.5rem;
}
.secService .steptxt{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_18);
    color: var(--textColor);
    font-weight: bold;
    padding-left: 0.7rem;
}
.secService .ItemInner{
    width: 100%;
    border-radius: 2rem;
    overflow: hidden;
    background-color: var(--bgColor01);
}
.secService .titArea{
    width: 100%;
    background-color: var(--bgColor04);
    color: var(--whiteColor);
    padding: 3rem 2rem 2.6rem;
}
.secService .titIn{
    display: inline-block;
    width: 100%;
    text-align: center;
    font-weight: bold;
}
.secService .subtit{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
}
.secService .titmain{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_30);
    margin-top: 0.4rem;
}
.secService .titNum{
    font-size: var(--pcFontSize32);
    line-height: var(--pcLineHeight32_36);
    vertical-align: -0.3rem;
}
.secService .txtArea{
    width: 100%;
    padding: 3.2rem 4rem 4rem;
}
.secService .txtbox{
    text-align: left;
}
.secService .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
}
.secService .subtxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_26);
    margin-top: 0.5rem;
}
.secService .point01_box{
    width: 100%;
    background-color: var(--whiteColor);
    text-align: left;
    padding: 2rem;
    border-radius: 1rem;
    margin-top: 2rem;
}
.secService .point01_txt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_26);
}
.secService .point01_txt_tit{
    font-weight: bold;
    color: var(--categoryColor01);
}

.secService .maintxt_02{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.7rem;
}
.secService .Intxt{
    display: inline-block;
    text-align: center;
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_35);
    font-weight: bold;
    position: relative;
}
.secService .Intxt + .Intxt{
    margin-left: 5rem;
}
.secService .Intxt + .Intxt::after,
.secService .Intxt + .Intxt::before{
    content: "";
    position: absolute;
    width: 2.5rem;
    height: 1px;
    top: calc(50% - 0.5px);
    left: calc(0% - ((2.5rem + 5rem) / 2));
    background-color: var(--whiteColor);
}
.secService .Intxt + .Intxt::before{
    transform: rotate(45deg);
}
.secService .Intxt + .Intxt::after{
    transform: rotate(-45deg);
}
.secService .inNum{
    font-size: var(--pcFontSize32);
    line-height: var(--pcLineHeight32_36);
    vertical-align: -0.3rem;
}
.secService .itemImg{
    width: 100%;
    max-width: 88rem;
    margin: 0 auto;
    margin-top: 2rem;
    border-radius: 1rem;
    overflow: hidden;
}
@media only screen and (max-width:1215px){
    .secService .heroImg{
        margin-top: 2.6rem;
    }
    .secService .Inner{
        padding: 0 2rem;
        margin-top: 3rem;
    }
    .secService .herotit{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_24);
    }
    .secService .herotxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
        margin-top: 1.3rem;
    }
    .secService .supportlist{
        margin-top: 4.6rem;
    }
    .secService .item + .item{
        margin-top:4.4rem;
    }
    .secService .stepBox{
        left: 2rem;
        top: calc(0% - 1.4rem);
        height: 2.8rem;
        padding: 0 0.7rem;
    }
    .secService .stepImg.img01{
        width: 6.7rem;
    }
    .secService .stepImg.img02{
        width: 6.9rem;
    }
    .secService .stepImg.img03{
        width: 6.9rem;
    }
    .secService .steptxt{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        padding-left: 0.5rem;
    }
    .secService .ItemInner{
        border-radius: 1rem;
    }
    .secService .titArea{
        padding: 2.1rem 1rem 2.2rem;
    }
    .secService .subtit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secService .titmain{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_24);
        margin-top: 0.4rem;
    }
    .secService .titNum{
        font-size: var(--spFontSize26);
        line-height: var(--spLineHeight26_30);
        vertical-align: 0;
    }
    .secService .txtArea{
        padding: 1.7rem 2rem 3rem;
    }
    .secService .txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
    .secService .subtxt{
        font-size: var(--spFontSize12);
        line-height: calc(20 / 12);
        margin-top: 0.5rem;
    }
    .secService .point01_box{
        padding: 1.5rem 2rem 1.6rem;
        margin-top: 1.3rem;
    }
    .secService .point01_txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secService .maintxt_02{
        margin-top: 0.3rem;
    }
    .secService .Intxt{
        font-size: var(--spFontSize18);
        line-height: calc(23 / 18);
    }
    .secService .Intxt + .Intxt{
        margin-left: 4.5rem;
    }
    .secService .Intxt + .Intxt::after,
    .secService .Intxt + .Intxt::before{
        left: calc(0% - ((2.5rem + 4.5rem) / 2));
    }
    .secService .inNum{
        font-size: var(--spFontSize26);
        line-height: var(--spLineHeight26_30);
        vertical-align:0;
    }
    .secService .itemImg{
        margin-top: 2.2rem;
        border-radius: 1rem;
    }
}
@media only screen and (max-width:389px){
    .secService .stepBox{
        left: 1.5rem;
    }
    .secService .steptxt{
        font-size: var(--spFontSize10);
        padding-left: 0.4rem;
    }
}

/* secCheck */
.secCheck{
    width: 100%;
    margin-top: 6.3rem;
}
.secCheck .checktitbox{
    text-align: center;
}
.secCheck .checktit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_34);
    font-weight: bold;
}
.secCheck .titline{
    background: linear-gradient(transparent 70%, var(--markerColor) 0%);
}
.secCheck .checkImg{
    max-width: 52rem;
    width: 100%;
    margin-top: 3.4rem;
}
.secCheck .checktxtbox{
    text-align: left;
    margin-top: 3.2rem;
}
.secCheck .checktxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
}
@media only screen and (max-width:1215px){
    .secCheck{
        margin-top: 4.5rem;
    }
    .secCheck .checktit{
        font-size: var(--spFontSize15);
        line-height: var(--spLineHeight15_28);
    }
    .secCheck .checkImg{
        max-width: 70rem;
        margin: 0 auto;
        margin-top: 3.6rem;
    }
    .secCheck .checktxtbox{
        text-align: left;
        margin-top: 3.2rem;
    }
    .secCheck .checktxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
}

/* secAbout */
.secAboutContent{
    margin-top: 8.8rem;
}
.secAboutContent .secCompanyTitbox{
    padding-top: calc(3.4rem + 2.5rem);
}
.secAboutContent .secCompanyTitbox::after{
    width: 4.2rem;
    height: 3.4rem;
    left: calc(50% - 2.1rem);
}
.secAboutContent .secCompanyTitbox.lazyloaded::after{
    background-image: url(../img/company/imgIconAbout.png);
}
.secAboutContent .secCompanyTitbox .imgEng{
    width: 10rem;
}
@media only screen and (max-width:1215px){
    .secAboutContent{
        margin-top: 9.4rem;
    }
    .secAboutContent .secCompanyTitbox{
        padding-top: calc(2.8rem + 1.6rem);
    }
    .secAboutContent .secCompanyTitbox::after{
        width: 3.4rem;
        height: 2.8rem;
        left: calc(50% - 1.7rem);
    }
    .secAboutContent .secCompanyTitbox .imgEng{
        width: 7rem;
    }
}

/* secAboutContent */
.secAboutContent .Inner{
    padding: 0 4rem;
    margin-top: 3.1rem;
}
.secAboutContent .detailBox{
    width: 100%;
}
.secAboutContent .list{
    width: 100%;
}
.secAboutContent .item{
    width: 100%;
    background: linear-gradient(to right, var(--blackColor) 0.1rem, transparent 0.1rem, transparent 0.4rem) left bottom / 0.4rem 0.1rem repeat-x;
    padding-bottom: 1.9rem;
}
.secAboutContent .item + .item{
    margin-top: 2.1rem;
}
.secAboutContent .itemtit{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    font-weight: bold;
}
.secAboutContent .itemtxt{
    margin-top: 0.9rem;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
}


.secAboutContent .mapcontent{
    width: 100%;
    margin-top: 6rem;
}
.secAboutContent .maplist{
    width: 100%;
}
.secAboutContent .mapItem{
    width: 100%;
}
.secAboutContent .mapItem + .mapItem{
    margin-top: 6rem;
}
.secAboutContent .mapOn{
    display: flex;
    align-items: center;
}
.secAboutContent .imgArea{
    width:23rem;
    border-radius: 2.5rem;
    overflow: hidden;
}
.secAboutContent .txtArea{
    flex:1;
    padding-left:2.5rem ;
}
.secAboutContent .txtIn{
    display: inline-block;
    width: 100%;
}
.secAboutContent .name{
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_30);
    font-weight: bold;
}
.secAboutContent .txtlist{
    width: 100%;
    margin-top: 1.1rem;
}
.secAboutContent .txtItem{
    position: relative;
    padding-left: calc(var(--pcFontSize14) * (16 / 14) + 0.8rem);
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_24);
}
.secAboutContent .txtItem + .txtItem{
    margin-top: 0.4rem;
}
.secAboutContent .txtItem a{
    text-decoration: underline;
    color: inherit;
}
.secAboutContent .txtItem::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
}
.secAboutContent.lazyloaded .txtItem::after{
    background: url(../img/common/tp.gif) center top no-repeat;
    background-size: 100% auto;
}
.secAboutContent .txtItem.add::after{
    width:calc(var(--pcFontSize14) * (13 / 14));
    height:calc(var(--pcFontSize14) * (18 / 14));
    top:calc(var(--pcFontSize14) * (1 / 14));
    left:calc(var(--pcFontSize14) * (2 / 14));
}
.secAboutContent .txtItem.shop::after{
    width:calc(var(--pcFontSize14) * (16 / 14));
    height:calc(var(--pcFontSize14) * (16 / 14));
    top:calc(var(--pcFontSize14) * (3 / 14));
}
.secAboutContent.lazyloaded .txtItem.add::after{
    background-image: url(../img/event/iconPlace.png);
}
.secAboutContent.lazyloaded .txtItem.shop::after{
    background-image: url(../img/event/iconDate.png);
}
.secAboutContent .iflamebox{
    position: relative;
    width: 100%;
    height:30rem;
    overflow: hidden;
    margin-top: 2.5rem;
}
.secAboutContent .iflamebox iframe{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
@media only screen and (max-width:1215px){
    .secAboutContent .Inner{
        padding: 0 2rem;
        margin-top:2rem;
    }
    .secAboutContent .item{
        background: linear-gradient(to right, var(--blackColor) 0.1rem, transparent 0.1rem, transparent 0.3rem) left bottom / 0.4rem 0.1rem repeat-x;
        padding-bottom: 1.5rem;
    }
    .secAboutContent .item + .item{
        margin-top: 1.4rem;
    }
    .secAboutContent .itemtit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
    }
    .secAboutContent .itemtxt{
        margin-top: 0.3rem;
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
    }
    .secAboutContent .mapcontent{
        margin-top: 6rem;
    }
    .secAboutContent .mapItem + .mapItem{
        margin-top: 6rem;
    }
    .secAboutContent .mapOn{
        display: block;
    }
    .secAboutContent .imgArea{
        max-width: 46rem;
        width:calc(230 / 390 * 100vw);
        margin: 0 auto;
    }
    .secAboutContent .txtArea{
        width: 100%;
        padding: 0;
        text-align: left;
        margin-top: 2rem;
    }
    .secAboutContent .name{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_24);
    }
    .secAboutContent .txtlist{
        margin-top: 1.3rem;
    }
    .secAboutContent .txtItem{
        position: relative;
        padding-left: calc(var(--spFontSize14) * (16 / 14) + 1rem);
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
    }
    .secAboutContent .txtItem + .txtItem{
        margin-top: 0.6rem;
    }
    .secAboutContent .txtItem.add::after{
        width:calc(var(--spFontSize14) * (13 / 14));
        height:calc(var(--spFontSize14) * (18 / 14));
        top: calc(var(--spFontSize14) * (2 / 14));
        left: calc(var(--spFontSize14) * (3 / 14));
    }
    .secAboutContent .txtItem.shop::after{
        width:calc(var(--spFontSize14) * (16 / 14));
        height:calc(var(--spFontSize14) * (16 / 14));
        top: calc(var(--spFontSize14) * (4 / 14));
    }
    .secAboutContent .iflamebox{
        height:0;
        padding-top: calc(202 / 350 * 100%);
        margin-top: 2rem;
    }
}