@charset "utf-8";

/*-----------------------------------------------
    job
-----------------------------------------------*/

/*==============================
    hero
==============================*/
.jobHero{
    background: var(--whiteColor);
}
.jobHero.lazyloaded{
    background: var(--whiteColor) url("../img/index/bgJobHero.jpg") center bottom / cover no-repeat;
}
#header{
    position: relative;
    background: none;
}
body.co #header,
body.ok #header{
    background: var(--whiteColor);
}

/*==============================
    パンくず
==============================*/
.topicPath{
    padding: 2.3rem calc((40 / 1920) * var(--widthBase)) 1.6rem calc((30 / 1920) * var(--widthBase));
}

/*==============================
    FV
==============================*/
.jobFv{
    position: relative;
    overflow: hidden;
    padding: 1rem;
    max-width: 192rem;
    margin: 0 auto;
}
.jobFv .wrapper1640{
    position: relative;
    z-index: 2;
}
.jobFvInner{
    position: relative;
    min-height: calc((670 / 1920) * var(--widthBase));
}
.jobFvPhoto{
    position: absolute;
    top: 1rem;
    right: 0;
    z-index: 1;
    overflow: hidden;
    width: calc((1180 / 1920) * var(--widthBase));
    height: calc((760 / 1920) * var(--widthBase));
}
.jobFvPhoto img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.jobFvTxt{
    position: relative;
    z-index: 3;
    width: calc((770 / 1920) * var(--widthBase));
    margin-top: calc((80 / 1920) * var(--widthBase));
    padding: calc((80 / 1920) * var(--widthBase)) calc((60 / 1920) * var(--widthBase));
    background: var(--whiteColor);
    border-radius: calc((20 / 1920) * var(--widthBase));
}
.jobFvTit{
    color: var(--greenColor);
    font-size: calc((40 / 1920) * var(--widthBase));
    font-weight: 700;
    line-height: calc(54 / 40);
    letter-spacing: var(--pcLetterSpacing80);
}
.jobFvTxt .leadTxt{
    margin-top: calc((16 / 1920) * var(--widthBase));
    font-size: calc((24 / 1920) * var(--widthBase));
    font-weight: 700;
    line-height: calc(40 / 24);
    letter-spacing: var(--pcLetterSpacing40);
}
.jobFvBox{
    margin-top: calc((20 / 1920) * var(--widthBase));
    padding: calc((24 / 1920) * var(--widthBase)) calc((28 / 1920) * var(--widthBase));
    background: var(--greenPale);
    border-radius: calc((12 / 1920) * var(--widthBase));
    color: var(--textColor);
    font-size: calc((16 / 1920) * var(--widthBase));
    line-height: calc(30 / 16);
    letter-spacing: var(--pcLetterSpacing40);
}
.jobFvBtn{
    margin-top: calc((30 / 1920) * var(--widthBase));
}
.jobFvBtn .btn{
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    height: calc((65 / 1920) * var(--widthBase));
    padding: 0;
    font-size: calc((18 / 1920) * var(--widthBase));
}
.jobFvBtn .btnArrow::after{
    position: absolute;
    right: calc((42 / 1920) * var(--widthBase));
    width: 17px;
    height: 5px;
    margin-left: 0;
    border: none;
    background: url(../img/index/icoArrow.png) center / contain no-repeat;
    transform: none;
}
@media only screen and (max-width:1215px){
    .jobHero.lazyloaded{
        background: var(--whiteColor) url("../img/index/bgJobHero_sp.jpg") center bottom / cover no-repeat;
    }
    .topicPath{
        padding: calc((4 / 375) * var(--widthBase)) calc((16 / 375) * var(--widthBase)) calc((25 / 375) * var(--widthBase));
    }
    .jobFv{
        display: flex;
        flex-direction: column;
        overflow: visible;
        padding: 0;
        max-width: 40rem;
    }
    .jobFv .wrapper1640{
        max-width: none;
        width: 100%;
    }
    .jobFvInner{
        min-height: 0;
        width: 100%;
        margin: 0;
        padding-bottom: calc((50 / 375) * var(--widthBase));
    }
    .jobFvPhoto{
        position: relative;
        top: auto;
        right: auto;
        z-index: 1;
        overflow: visible;
        flex-shrink: 0;
        width: calc((355 / 375) * var(--widthBase));
        height: auto;
        aspect-ratio: 1180 / 760;
        margin: 0 0 0 auto;
    }
    .jobFvPhoto::after{
        content: "";
        position: absolute;
        top: -20px;
        left: auto;
        right: 0;
        z-index: -1;
        width: 100%;
        aspect-ratio: 750 / 408;
        background: url("../img/index/decoJobFv_sp.png") center / contain no-repeat;
        pointer-events: none;
    }
    .jobFvTxt{
        position: relative;
        top: auto;
        left: auto;
        width: calc((355 / 375) * var(--widthBase));
        max-width: none;
        margin: calc((-30 / 375) * var(--widthBase)) auto 0 0;
        padding: calc((20 / 375) * var(--widthBase)) calc((20 / 375) * var(--widthBase)) calc((30 / 375) * var(--widthBase));
        border-radius: 0 0.8rem 0.8rem 0;
    }
    .jobFvTit{
        font-size: var(--spFontSize20);
        line-height: calc(34 / 20);
        letter-spacing: var(--spLetterSpacing40);
    }
    .jobFvTxt .leadTxt{
        margin-top: calc((4 / 375) * var(--widthBase));
        font-size: var(--spFontSize14);
        line-height: calc(24 / 14);
        letter-spacing: 0;
    }
    .jobFvBox{
        margin-top: calc((16 / 375) * var(--widthBase));
        padding: calc((16 / 375) * var(--widthBase));
        border-radius: calc((8 / 375) * var(--widthBase));
        font-size: var(--spFontSize12);
        line-height: calc(22 / 12);
        letter-spacing:0;
    }
    .jobFvBtn{
        margin-top: calc((20 / 375) * var(--widthBase));
    }
    .jobFvBtn .btn{
        height: calc((55 / 375) * var(--widthBase));
        font-size: var(--spFontSize14);
        max-width: 26.5rem;
        margin: 0 auto;
    }
    .jobFvBtn .btnArrow::after{
        right: calc((20 / 375) * var(--widthBase));
        width: calc((17 / 375) * var(--widthBase));
        height: calc((5 / 375) * var(--widthBase));
    }
}

/*==============================
    point
==============================*/
.jobPoint{
    position: relative;
    z-index: 2;
    padding: 12rem 0 10rem;
}
.jobPointList{
    display: flex;
    gap: 4rem;
}
.jobPointList li{
    width: calc((100% - 8rem) / 3);
    padding: 5rem 4rem 7rem;
    background: var(--whiteColor);
    border-radius: 1.6rem;
    box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.06);
}
.jobPointNum{
    display: inline-block;
    margin-bottom: 2.6rem;
    color: var(--greenColor);
    font-size: var(--pcFontSize50);
    font-weight: 700;
    position: relative;
}
.jobPointNum::after{
    content: "";
    position: absolute;
    display: block;
    width: 3rem;
    height: 1px;
    top: 55%;
    right: -40px;
    margin-left: 0;
    background: currentColor;
}
.jobPointTit{
    margin-bottom: 1.6rem;
    color: var(--textColor);
    font-size: var(--pcFontSize24);
    font-weight: 700;
    line-height: calc(40 / 24);
    letter-spacing: var(--pcLetterSpacing40);
}
.jobPointTxt{
    color: var(--textColor);
    font-size: var(--pcFontSize16);
    line-height: calc(30 / 16);
    letter-spacing: var(--pcLetterSpacing40);
}
@media only screen and (max-width:1700px){
    .jobPointTit{
        font-size: calc((24 / 1920) * var(--widthBase));
    }
}
@media only screen and (max-width:1215px){
    .jobPoint{
        padding: 0 0 calc((40 / 375) * var(--widthBase));
    }
    .jobPointList{
        display: block;
    }
    .jobPointNum::after {
        width: 1.5rem;
        top: 60%;
        right: -22px;
    }
    .jobPointList li{
        width: 100%;
        margin-bottom: calc((16 / 375) * var(--widthBase));
        padding: calc((24 / 375) * var(--widthBase)) calc((16 / 375) * var(--widthBase));
        border-radius: calc((12 / 375) * var(--widthBase));
        box-shadow: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.02);
    }
    .jobPointList li:last-child{
        margin-bottom: 0;
    }
    .jobPointNum{
        margin-bottom: calc((8 / 375) * var(--widthBase));
        font-size: var(--spFontSize30);
    }
    .jobPointTit{
        margin-bottom: calc((12 / 375) * var(--widthBase));
        font-size: var(--spFontSize16);
        line-height: calc(24 / 16);
        letter-spacing: 0;
    }
    .jobPointTxt{
        font-size: var(--spFontSize12);
        line-height: calc(19 / 12);
        letter-spacing: 0;
    }
}

/*==============================
    staff
==============================*/
.staff{
    padding: 3rem 0 8rem;
    background: var(--whiteColor);
}
.staff .secTit::after{
    display: none;
}
.staff .secTitJa{
    font-size: var(--pcFontSize30);
    margin-top: 3rem;
}
.staff .secLead{
    font-size: var(--pcFontSize16);
    margin-top: 2.4rem;
}
.staffList{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15rem;
    margin-top: 6.7rem;
}
.staffList li{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc((100% - 45rem) / 4);
    text-align: center;
}
.staffPhoto{
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    margin: 0 auto 2rem;
    border-radius: 50%;
}
.staffPhoto img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.staffName{
    margin-bottom: 0.7rem;
    color: var(--textColor);
    font-size: var(--pcFontSize24);
    font-weight: 700;
    line-height: var(--pcLineHeight18_32);
    letter-spacing: var(--pcLetterSpacing50);
}
.staffTxt{
    margin-bottom: 1.6rem;
    color: var(--textColor);
    font-size: var(--pcFontSize16);
    line-height: calc(30 / 16);
    letter-spacing: var(--pcLetterSpacing40);
}
.staffTag{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
    margin-bottom: 2.6rem;
}
.staffTag .tag{
    font-size: var(--pcFontSize14);
    padding: 1rem 1rem;
    border-radius: 0.3rem;
}
.staffList .btn{
    width: 100%;
    height: 7rem;
    margin-top: auto;
    font-size: var(--pcFontSize16);
}
.btnBlank{
    display: block;
    width: 0.9rem;
    height: 0.7rem;
    margin-left: 0.1rem;
    position: relative;
    top: -7px;
}
.btnLight{
    background: var(--grayColor);
    color: var(--textColor);
}
.staffAll{
    margin-top: 7rem;
    text-align: center;
}
.staffAll .btn{
    width: 60rem;
    height: 8rem;
    font-size: var(--pcFontSize16);
}
@media only screen and (max-width:1215px){
    .staff{
        padding: calc((24 / 375) * var(--widthBase)) 0 calc((40 / 375) * var(--widthBase));
    }
    .staff .secTitJa {
        font-size: var(--spFontSize18);
        margin-top: 1.6rem;
        letter-spacing: var(--spLetterSpacing40);
    }
    .staff .secLead {
        font-size: var(--spFontSize12);
        margin-top: calc((16 / 375) * var(--widthBase));
        line-height: calc(20 / 12);
        letter-spacing: 0;
    }
    .staffList{
        display: flex;
        flex-wrap: wrap;
        gap: 4rem 1.5rem;
        margin-top: calc((30 / 375) * var(--widthBase));
    }
    .staffList li{
        width: calc((100% - 1.5rem) / 2);
    }
    .staffPhoto{
        width: calc((135 / 375) * var(--widthBase));
        height: calc((135 / 375) * var(--widthBase));
        margin:0 auto 0.8rem;
    }
    .staffName{
        margin-bottom: calc((4 / 375) * var(--widthBase));
        font-size: var(--spFontSize14);
        line-height: calc(24 / 14);
        letter-spacing: 0;
    }
    .staffTxt{
        margin-bottom: calc((9 / 375) * var(--widthBase));
        font-size: var(--spFontSize12);
        line-height: calc(22 / 12);
        letter-spacing: 0;
    }
    .staffTag{
        flex-direction: column;
        align-items: center;
        margin-bottom: calc((16 / 375) * var(--widthBase));
        gap: calc((4 / 375) * var(--widthBase));
    }
    .staffTag .tag {
        font-size: var(--spFontSize10);
        padding: 0.8rem 0.8rem;
        border-radius: 0.3rem;
    }
    .staffList .btn{
        min-width: 0;
        width: 100%;
        height: calc((50 / 375) * var(--widthBase));
        font-size: var(--spFontSize14);
    }
    .staffAll{
        margin-top: calc((30 / 375) * var(--widthBase));
    }
    .staffAll .btn{
        width: 100%;
        min-width: 0;
        height: calc((50 / 375) * var(--widthBase));
        font-size: var(--spFontSize12);
    }
}

/*==============================
    requirements
==============================*/
.req{
    padding: 8rem 0 0;
    background: var(--whiteColor);
}
.req .secTitJa{
    font-size: var(--pcFontSize30);
    margin-top: 3.5rem;
}
.req .secTit:after{
    bottom: -14rem;
}
.reqMain{
    position: relative;
    margin-top: 10rem;
    padding: 10.8rem 0 0;
    background: var(--whiteColor);
}
.reqMain::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 50rem;
    background: #cbb8a4;
}
.reqMain.lazyloaded::before{
    background: url("../img/index/bgReq.jpg") center top / cover no-repeat;
}
.reqBox{
    position: relative;
    z-index: 2;
    padding: 6rem;
    background: var(--whiteColor);
    border-radius: 2rem;
    box-shadow: 0rem 0.5rem 2rem rgba(0, 0, 0, 0.1);
}
.reqList div{
    padding: 3.4rem 0;
    border-bottom: 1px solid var(--lineColor);
}
.reqList div:first-child{
    padding-top: 0;
}
.reqList div:last-child{
    padding-bottom: 0;
    border-bottom: none;
}
.reqList dt{
    margin-bottom: 1.2rem;
    color: var(--greenColor);
    font-size: var(--pcFontSize18);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing40);
}
.reqList dt::before{
    content: "";
    display: inline-block;
    width: 1.6rem;
    height: 1px;
    margin-right: 0.8rem;
    background: var(--greenColor);
    vertical-align: middle;
    position: relative;
    top: -0.2rem;
}
.reqList dd{
    color: var(--textColor);
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: calc(30 / 16);
}
.reqBtn{
    padding: 5.8rem 0 18rem;
    text-align: center;
    background: var(--whiteColor);
}
.reqBtn .btn{
    position: relative;
    width: 60rem;
    height: 10.5rem;
    font-size: var(--pcFontSize24);
    font-family: var(--fontShipporiMincho) !important;
}
.reqBtn .btnArrow::after{
    position: absolute;
    right: 4rem;
    width: 17px;
    height: 5px;
    margin-left: 0;
    border: none;
    background: url(../img/index/icoArrow.png) center / contain no-repeat;
    transform: none;
}
@media only screen and (max-width:1215px){
    .req{
        padding: calc((8 / 375) * var(--widthBase)) 0 0;
    }
    .req .secTitJa {
        font-size: var(--spFontSize18);
        margin-top: 1.6rem;
        letter-spacing: var(--spLetterSpacing40);
    }
    .req .secTit:after {
        bottom: -5rem;
    }
    .reqMain.lazyloaded::before {
        background: url("../img/index/bgReq_sp.jpg") center top / cover no-repeat;
    }
    .reqMain::before {
        height: 30rem;
    }
    .reqMain{
        margin-top: calc((32 / 375) * var(--widthBase));
        padding: calc((42 / 375) * var(--widthBase)) 0 0;
    }
    .reqBox{
        padding: calc((20 / 375) * var(--widthBase)) calc((20 / 375) * var(--widthBase));
        border-radius: 0.8rem;
    }
    .reqList div{
        padding: calc((16 / 375) * var(--widthBase)) 0;
    }
    .reqList dt{
        margin-bottom: calc((8 / 375) * var(--widthBase));
        font-size: var(--spFontSize14);
        letter-spacing: 0;
        line-height: calc(22 / 14);
    }
    .reqList dd{
        font-size: var(--spFontSize12);
        letter-spacing: 0;
        line-height: calc(19 / 12);
    }
    .reqBtn{
        padding: 2.5rem 0 7rem;
    }
    .reqBtn .btn{
        width: 100%;
        max-width: 26.5rem;
        margin: 0 auto;
        min-width: 0;
        height: calc((55 / 375) * var(--widthBase));
        font-size: var(--spFontSize14);
    }
    .reqBtn .btnArrow::after{
        right: 2rem;
        width: calc((17 / 375) * var(--widthBase));
        height: calc((5 / 375) * var(--widthBase));
    }
}

/*==============================
    entry
==============================*/
.entry{
    position: relative;
    overflow: visible;
    padding: 10rem 0 18rem;
    background: var(--grayColor);
}
.entry.lazyloaded{
    background: url("../img/index/bgEntry.jpg") center / cover no-repeat;
}
.entry .secTitJa{
    font-size: var(--pcFontSize30);
    margin-top: 3rem;
}
.entry .secLead{
    margin-top: 2.4rem;
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: calc(30 / 16);
}
.entry .secTit::after {
    display: none;
}
.entryStep{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin: 3.4rem 0 6rem;
}
.entryStep li{
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: 4rem;
    color: var(--textColor);
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: 1;
}
.entryStep li + li{
    margin-left: 10rem;
}
.entryStep li + li::before{
    content: "";
    position: absolute;
    top: 2rem;
    left: -9rem;
    width: 8rem;
    height: 1px;
    background: var(--editor_borderColor);
    transform: translateY(-50%);
}
.entryStep span{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    margin-bottom: 1.8rem;
    border: 1px solid var(--blackColor);
    border-radius: 50%;
    background: var(--whiteColor);
    color: var(--blackColor);
}
.entryStep .isCurrent span{
    background: var(--greenColor);
    border-color: var(--greenColor);
    color: var(--whiteColor);
}
.entryStep .isCurrent::after{
    content: "";
    position: absolute;
    top: 2rem;
    left: 5rem;
    z-index: 1;
    width: 4rem;
    height: 1px;
    background: var(--greenColor);
    transform: translateY(-50%);
}
.entryStep li:last-child.isCurrent::after{
    display: none;
}
body.co .entryStep li:nth-child(2)::before,
body.ok .entryStep li + li::before{
    background: var(--greenColor);
}
.entryForm{
    overflow: visible;
    background: var(--whiteColor);
    border-radius: 2rem;
    box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.1);
}
.entryInner{
    padding: 6rem;
}
.entryJob{
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 3rem;
    font-size: var(--pcFontSize24);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing40);
    background: var(--greenPale);
    border-radius: 0.5rem;
    margin-bottom: 3.6rem;
    line-height: calc(30 / 24);
}
.entryList .entryJob dt{
    margin-bottom: 0;
}
.entryList .entryJob dd{
    width: auto;
}
.entryJobName{
    color: var(--greenColor);
}
.entryJobLabel{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12rem;
    height: 4rem;
    background: var(--greenColor);
    border-radius: 10rem;
    color: var(--whiteColor);
    font-size: var(--pcFontSize16);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing40);
}
.entryItem{
    position: relative;
    padding: 2rem 0 3rem;
}
.entryItem::after{
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background-color: var(--lineColor);
}
.entryList dt{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.8rem;
    color: var(--greenColor);
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing40);
    font-weight: 700;
}
.entryLabel::before{
    content: "";
    display: inline-block;
    width: 1.6rem;
    height: 1px;
    margin-right: 0.8rem;
    background: var(--greenColor);
    vertical-align: middle;
    position: relative;
    top: -0.2rem;
}
.entryLabelNote{
    display: inline;
    color: var(--textColor);
    font-size: var(--pcFontSize16);
}
.entryReq,
.entryOpt{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 2.4rem;
    /* padding: 0 0.8rem; */
    background: rgba(175, 40, 40, 0.051);
    color: #af2828;
    font-size: var(--pcFontSize12);
    text-align: center;
    line-height: 1;
    font-weight: bold;
    border-radius: 0.3rem;
}
.entryOpt{
    background: rgba(34, 34, 34, 0.051);
    color: #222222;
}
.entryList dd{
    position: relative;
    overflow: visible;
    width: 100%;
}
.entryList dd:has(.formError){
    padding-bottom: 5.5rem;
}
.entryList input.error,
.entryList textarea.error{
    outline: 0.2rem solid #df2b20;
    background: #fff5f5;
}
.entryList .formError,
.entryPrivacy .formError{
    z-index: 20;
}
.entryList input[type="text"],
.entryList input[type="email"],
.entryList input[type="tel"],
.entryList textarea,
.entryValue{
    width: 100%;
    padding:2rem;
    border: none;
    border-radius: 0.6rem;
    background: var(--grayColor);
    color: var(--textColor);
    font-size: var(--pcFontSize16);
    font-family: inherit;
    letter-spacing: var(--pcLetterSpacing40);
    line-height: calc(22 / 16);
}
.entryValue{
    background: transparent;
    padding: 0.5rem 2rem 0;
}
.entryList textarea{
    height: 20rem;
    resize: none;
    line-height: calc(22 / 16);
}
.entryNote{
    margin-top: 2.4rem;
    color: var(--textColor);
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);   
    line-height: calc(30 / 14);
}

.entryPrivacy{
    position: relative;
    margin: 2.4rem 0 0;
    text-align: left;
    color: var(--textColor);
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
}
.entryPrivacy:has(.formError){
    padding-bottom: 4rem;
}
.entryPrivacy a{
    color: var(--editor_linkColor);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}
.entryPrivacy label{
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}
.entryPrivacy input[type="checkbox"]{
    position: absolute;
    width: 2rem;
    height: 2rem;
    margin: 0;
    visibility: hidden;
}
.entryPrivacy input[type="checkbox"] + .checkPrivacy{
    position: relative;
    display: inline-block;
    padding-left: 2.8rem;
    cursor: pointer;
}
.entryPrivacy input[type="checkbox"] + .checkPrivacy::before{
    content: "";
    width: 2rem;
    height: 2rem;
    display: block;
    background: var(--whiteColor);
    border: 0.1rem solid var(--editor_borderColor);
    border-radius: 0.3rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.entryPrivacy input[type="checkbox"]:checked + .checkPrivacy::before{
    background: var(--greenColor);
    border-color: var(--greenColor);
}
.entryPrivacy input[type="checkbox"]:checked + .checkPrivacy::after{
    content: "";
    width: 0.6rem;
    height: 1.1rem;
    border-right: 0.2rem solid var(--whiteColor);
    border-bottom: 0.2rem solid var(--whiteColor);
    position: absolute;
    top: 50%;
    left: 0.65rem;
    transform: translateY(-60%) rotate(45deg);
}
.entryBtn{
    margin-top: 4.2rem;
    text-align: center;
}
.entryBtn .btn{
    position: relative;
    width: 100%;
    min-width: 0;
    height: 10.5rem;
    font-size: var(--pcFontSize24);
    font-family: var(--fontShipporiMincho);
}
.entryBtn .btnArrow::after{
    position: absolute;
    right: 8rem;
    width: 17px;
    height: 5px;
    margin-left: 0;
    border: none;
    background: url(../img/index/icoArrow.png) center / contain no-repeat;
    transform: none;
}
.entryBtnBack{
    margin-top: 5rem;
    text-align: center;
}
.entryBtnBack .btn{
    min-width: 36rem;
    height: 7rem;
    font-size: var(--pcFontSize16);
}
.entryFormOk{
    padding: 8rem 6rem;
    text-align: center;
}
.entryOkTit{
    color: var(--greenColor);
    font-size: var(--pcFontSize30);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing50);
    line-height: var(--pcLineHeight30_45);
}
.entryOkTxt{
    margin: 2.4rem 0 4rem;
    color: var(--textColor);
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing50);
    line-height: var(--pcLineHeight16_24);
}
@media only screen and (max-width:1215px){
    .entry{
        padding: calc((44 / 375) * var(--widthBase)) 0 calc((70 / 375) * var(--widthBase));
    }
    .entry .secTitJa {
        font-size: var(--spFontSize18);
        margin-top: 1.2rem;
    }
    .entry.lazyloaded{
        background: url("../img/index/bgEntry_sp.jpg") center top / cover no-repeat;
    }
    body.co .entry.lazyloaded,
    body.ok .entry.lazyloaded{
        background: url("../img/index/bgEntry.jpg") center top / cover no-repeat;
    }
    .entry .secLead{
        margin-top: calc((12 / 375) * var(--widthBase));
        font-size: var(--spFontSize12);
        letter-spacing: 0;
        line-height: calc(22 / 12); 
    }
    .entryStep{
        margin: calc((24 / 375) * var(--widthBase)) 0 calc((40 / 375) * var(--widthBase));
    }
    .entryStep li{
        width: calc((35 / 375) * var(--widthBase));
        font-size: var(--spFontSize12);
        letter-spacing: 0;
    }
    .entryStep li + li{
        margin-left: calc((50 / 375) * var(--widthBase));
    }
    .entryStep li + li::before{
        top: calc((20 / 375) * var(--widthBase));
        left: calc((-40 / 375) * var(--widthBase));
        width: calc((30 / 375) * var(--widthBase));
    }
    .entryStep span{
        width: calc((35 / 375) * var(--widthBase));
        height: calc((35 / 375) * var(--widthBase));
        margin-bottom: calc((14 / 375) * var(--widthBase));
    }
    .entryStep .isCurrent::after{
        top: calc((20 / 375) * var(--widthBase));
        left: calc((45 / 375) * var(--widthBase));
        width: calc((15 / 375) * var(--widthBase));
    }
    .entry .wrapper1280{
        width: 100%;
        max-width: 40rem;
    }
    .entryForm{
        border-radius: calc((8 / 375) * var(--widthBase));
    }
    .entryInner{
        padding: 2rem 2rem 5rem;
    }
    .entryJob{
        align-items: stretch;
        gap: 0;
        margin: 0 0 1rem 0;
        padding: 0;
        background: none;
        border-radius: 0;
        font-size: var(--spFontSize14);
        letter-spacing: 0;
        font-weight: 700;
    }
    .entryList .entryJob dt{
        display: flex;
        width: auto;
        flex-shrink: 0;
        align-self: stretch;
    }
    .entryList .entryJob dd{
        display: flex;
        align-items: center;
        flex: 1;
        width: auto;
        min-width: 0;
        min-height: calc((48 / 375) * var(--widthBase));
        padding: calc((8 / 375) * var(--widthBase)) calc((16 / 375) * var(--widthBase));
        background: var(--greenPale);
        border-radius: 0 0.5rem 0.5rem 0;
    }
    .entryJobName{
        font-size: var(--spFontSize14);
        line-height: calc(22 / 14);
    }
    .entryJobLabel{
        flex-direction: column;
        width: calc((48 / 375) * var(--widthBase));
        min-width: calc((48 / 375) * var(--widthBase));
        height: auto;
        min-height: calc((48 / 375) * var(--widthBase));
        align-self: stretch;
        padding: 0;
        border-radius: 0.5rem 0 0 0.5rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing20);
        line-height: calc(16 / 12);
    }
    .entryJobLabel br{
        font-size: 0;
        line-height: 0;
    }
    .entryLabel::before{
        width: 1rem;
        margin-right: 0.4rem;
    }
    .entryLabelNote{
        font-size: var(--spFontSize11);
    }
    .entryList dd:has(.formError){
        padding-bottom: calc((48 / 375) * var(--widthBase));
    }
    .entryItem{
        padding: calc((10 / 375) * var(--widthBase)) 0;
    }
    .entryItem::after {
        display: none;
    }
    .entryList dt{
        margin-bottom: calc((8 / 375) * var(--widthBase));
        font-size: var(--spFontSize14);
        letter-spacing: 0;
    }
    .entryReq,
    .entryOpt{
        min-width: calc((36 / 375) * var(--widthBase));
        height: calc((16 / 375) * var(--widthBase));
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing50);
    }
    .entryList input[type="text"],
    .entryList input[type="email"],
    .entryList input[type="tel"],
    .entryList textarea,
    .entryValue{
        padding: calc((12 / 375) * var(--widthBase));
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing50);
    }
    .entryValue{
        font-size: var(--spFontSize14);
        padding: 0.6rem 2.5rem 0;
        min-height: auto !important;
    }
    .entryList input[type="text"]::placeholder,
    .entryList input[type="email"]::placeholder,
    .entryList input[type="tel"]::placeholder,
    .entryList textarea::placeholder{
        font-size: var(--spFontSize14);
    }
    .entryNote{
        margin-top: calc((10 / 375) * var(--widthBase));
        padding-top: 1.4rem;
        font-size: var(--spFontSize12);
        letter-spacing: 0;
        line-height: calc(22 / 12);
        border-top: 1px solid var(--lineColor);
    }
    .entryPrivacy{
        margin: calc((10 / 375) * var(--widthBase)) 0 calc((30 / 375) * var(--widthBase));
        font-size: var(--spFontSize12);
        letter-spacing: 0;
        line-height: calc(22 / 12);
    }
    .entryPrivacy input[type="checkbox"] + .checkPrivacy::before {
        width: 1.5rem;
        height: 1.5rem;
    }
    .entryPrivacy input[type="checkbox"] + .checkPrivacy {
        padding-left: 2rem;
    }
    .entryPrivacy:has(.formError){
        padding-bottom: calc((32 / 375) * var(--widthBase));
    }
    .entryBtn{
        margin-top: calc((20 / 375) * var(--widthBase));
    }
    .entryBtn .btn{
        width: 100%;
        max-width: 33.5rem;
        min-width: 0;
        height: calc((65 / 375) * var(--widthBase));
        font-size: var(--spFontSize16);
        letter-spacing: 0;
    }
    .entryBtn .btnArrow::after{
        right: calc((30 / 375) * var(--widthBase));
        width: calc((17 / 375) * var(--widthBase));
        height: calc((5 / 375) * var(--widthBase));
    }
    .entryBtnBack{
        margin-top: calc((20 / 375) * var(--widthBase));
    }
    .entryBtnBack .btn{
        width: 100%;
        min-width: 0;
        height: calc((48 / 375) * var(--widthBase));
    }
    .entryFormOk{
        padding: calc((40 / 375) * var(--widthBase)) calc((16 / 375) * var(--widthBase));
    }
    .entryOkTit{
        font-size: var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing50);
        line-height: var(--spLineHeight20_30);
    }
    .entryOkTxt{
        margin: calc((16 / 375) * var(--widthBase)) 0 calc((24 / 375) * var(--widthBase));
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
        line-height: var(--spLineHeight16_26);
    }
    .entryPrivacy input[type="checkbox"]:checked + .checkPrivacy::after {
        content: "";
        width: 0.4rem;
        height: 0.8rem;
        border-right: 0.1rem solid var(--whiteColor);
        border-bottom: 0.1rem solid var(--whiteColor);
        position: absolute;
        top: 50%;
        left: 0.5rem;
        transform: translateY(-60%) rotate(45deg);
    }
}
