#keyvisual .ttl {
    position: absolute;
    top: 100vw;
    left: 2%;
    z-index: 2
}

@media screen and (min-width: 768px) {
    #keyvisual .ttl {
        position: relative;
        top: -350px;
        left: 30px;
    }
}


#read .wrap {
    padding: 0
}

#read .photo {

    margin-top: 10vw
}


#read .txt {
    margin: 10vw 7% 0
}

#read .txt strong {
    color: #f64c94
}

@media screen and (min-width: 768px) {
    #read {
        margin-top: -140px;
        padding-top: 0px;
        padding-bottom: 124px;
        
    }

    #read .wrap {
        max-width: 1500px
    }


    #read .photo {
        position: absolute;
            margin-top: 0;
        top: -100px;
        left: 650px;

    }

    #read .txt {
        position: relative;
        z-index: 2;
        text-align: center;
        margin: 55px 0 0 100px;
    }



    #read .txt strong {
        font-size: 18px
    }
}

#calendar {
    position: relative;
    padding: 20vw 0 28.5vw
}

#calendar .deco-sp {
    position: absolute;
    top: -29vw;
    left: 0;
    right: 0;
    z-index: -1
}

#calendar .deco4 {
    position: absolute;
    bottom: 0;
    left: -22%;
    right: 0
}

#calendar .wrap {
    padding: 0
}

#calendar .calendar-layout {
    overflow: overlay;
    margin-top: 11vw
}

#calendar .btn-x {
    margin-top: 20vw
}

#calendar .btn-x .sub-ttl {
    text-align: center;
    color: #fff;
    font-size: 6vw;
    line-height: 1;
    font-weight: bold;
    letter-spacing: .2em
}

#calendar .btn-x a {
    display: block;
    width: 30.8vw;
    margin: 6vw auto 0
}

#calendar .btn-x a img {
    display: block
}

@media screen and (min-width: 768px) {
    #calendar {
        padding: 189px 0 130px
    }

    #calendar .illust {
        position: absolute;
        top: -281px;
        right: 0;
        z-index: 1
    }

    #calendar .deco1 {
        position: absolute;
        top: -106px;
        left: 0
    }

    #calendar .deco2 {
        position: absolute;
        top: -318px;
        right: 0
    }

    #calendar .deco3 {
        position: absolute;
        top: 129px;
        left: 0;
        right: 0;
        z-index: 2
    }

    #calendar .deco4 {
        left: auto
    }

    #calendar .wrap {
        padding: 0
    }

    #calendar .ttl-shared {
        position: relative;
        z-index: 3
    }

    #calendar .calendar-layout {
        position: relative;
        z-index: 3;
        margin-top: 49px
    }

    #calendar .btn-x {
        margin-top: 119px
    }

    #calendar .btn-x .sub-ttl {
        font-size: 22px
    }

    #calendar .btn-x a {
        width: 139px;
        margin-top: 27px
    }
}

#event .group-link li {
    position: relative
}

#event .group-link li a {
    display: block;
    text-align: center;
    padding: 20.5vw 0 16.5vw
}

#event .group-link li a::before {
    content: "";
    position: absolute;
    inset: 5px
}

#event .group-link li a h2 {
    font-size: 9.87vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .02em
}

#event .group-link li a .bg {
    position: absolute;
    inset: 0;
    z-index: -2
}

#event .group-link li a .bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#event .group-link li a .txt {
    /* overflow: hidden; */
    width: -moz-fit-content;
    width: fit-content;
    margin: 5vw auto 0;
    font-weight: normal;
    color: #fff;
    
}

#event .group-link li a .txt span {
    display: block;
    margin-top: 6.5vw
}

#event .group-link li a .logo {
    width: 72.4%;
    margin: 7vw auto 0
}

#event .group-link li a .sub-txt {
    margin-top: 2vw;
    font-size: 13.5px;
    line-height: 1;
    font-weight: bold;
    letter-spacing: .16em
}

#event .group-link li a .arrow {
    width: 19.6%;
    margin: 5vw auto 0
}

#event .group-link li:nth-child(1) a::before {
    border: 1px solid #fff
}

#event .group-link li:nth-child(1) a h2 {
    color: #fff
}

#event .group-link li:nth-child(1) a .sub-txt {
    color: #fff
}

#event .group-link li:nth-child(2) a {
    color: #fff
}

#event .group-link li:nth-child(2) a::before {
    border: 1px solid #fff
}

#event .group-link li:nth-child(2) a .logo {
    margin-top: 13vw
}

@media screen and (min-width: 768px) {
    #event .group-link {
        display: flex;
        justify-content: space-between
    }

    #event .group-link li {
        width: 50%;
        min-height: 820px
    }

    #event .group-link li a {
        padding: 109px 0 50px
    }

    #event .group-link li a::before {
        inset: 10px
    }

    #event .group-link li a:after {
        content: "";
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, #000000 0%, #000000 25%, #EE9AE5 50%, #5961F9 75%, #FF52E5 100%);
        background-size: 400% 400%;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        transition: .7s;
        z-index: -1
    }

    #event .group-link li a h2 {
        font-size: 51px
    }

    #event .group-link li a .txt {
        margin-top: 24px
    }

    #event .group-link li a .txt span {
        margin-top: 32px
    }

    #event .group-link li a .logo {
        width: -moz-fit-content;
        width: fit-content;
        margin: 36px auto 7px
    }

    #event .group-link li a .sub-txt {
        margin-top: 0;
        font-size: 18px
    }

    #event .group-link li a .arrow {
        width: 98px;
        margin-top: 27px
    }

    #event .group-link li a:hover:after {
        background-position: 100% 100%;
        opacity: .5
    }

    #event .group-link li:nth-child(1) a::before {
        border: 1px solid rgba(255, 255, 255, .25)
    }

    #event .group-link li:nth-child(2) a::before {
        border: 1px solid rgba(0, 0, 0, .25)
    }

    #event .group-link li:nth-child(2) a .logo {
        margin: 42px auto 0
    }
}

#gallery {
    padding-bottom: 16vw
}

#gallery h2 {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    -moz-column-gap: 4vw;
    column-gap: 4vw;
    color: #fff;
    padding: 10vw 0 0 5%;
    font-size: 6.67vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .06em
}

#gallery h2 img {
    width: 7.5vw
}

#gallery .loop-slider {
    margin-top: -2vw;
    align-items: flex-start !important
}

#gallery .loop-slider .item1 {
    width: 57.3333333333vw;
    margin-top: 3vw
}

#gallery .loop-slider .item2 {
    width: 56vw;
    margin: 12.5vw 0 0 7.5vw
}

#gallery .loop-slider .item3 {
    width: 76vw;
    margin: 2.5vw 0 0 7.5vw
}

#gallery .loop-slider .item4 {
    width: 52vw;
    margin: 29vw 0 0 7.5vw
}

#gallery .loop-slider .item5 {
    width: 53.3333333333vw;
    margin: 13vw 7.5vw 0
}

@media screen and (min-width: 768px) {
    #gallery {
        position: relative;
        padding-bottom: 181px
    }

    #gallery h2 {
        position: absolute;
        bottom: 208px;
        left: 35px;
        -moz-column-gap: 17px;
        column-gap: 17px;
        padding: 0;
        font-size: 30px
    }

    #gallery h2 img {
        width: 33px
    }

    #gallery .loop-slider {
        margin-top: 0
    }

    #gallery .loop-slider li {
        width: auto !important
    }

    #gallery .loop-slider .item1 {
        margin-top: 150px
    }

    #gallery .loop-slider .item2 {
        margin: 222px 0 0 55px
    }

    #gallery .loop-slider .item3 {
        margin: 147px 0 0 55px
    }

    #gallery .loop-slider .item4 {
        margin: 344px 0 0 55px
    }

    #gallery .loop-slider .item5 {
        margin: 229px 55px 0
    }
}

#shopinfo .lead {
    position: relative;
    padding: 54.5vw 0 14.5vw
}

#shopinfo .lead .bg {
    position: absolute;
    inset: 0;
    z-index: -1
}

#shopinfo .lead .bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#shopinfo .inner {
    padding: 11vw 10% 0
}

#shopinfo .inner .logo {
    margin-right: 3%
}

#shopinfo .inner .sub-txt {
    text-align: center;
    margin-top: 2vw
}

#shopinfo .inner .btn-tel {
    position: relative;
    text-align: center;
    margin-top: 7vw;
    padding: 10px 0;
    line-height: 1
}

#shopinfo .inner .btn-tel::before,
#shopinfo .inner .btn-tel:after {
    content: "";
    position: absolute;
    width: 20px;
    border: 1px solid #fff;
    top: 0;
    bottom: 0
}

#shopinfo .inner .btn-tel::before {
    border-right: none;
    left: 0
}

#shopinfo .inner .btn-tel::after {
    border-left: none;
    right: 0
}

#shopinfo .inner .btn-tel dl dt {
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .1em
}

#shopinfo .inner .btn-tel dl dd {
    background: linear-gradient(90deg, rgb(246, 76, 148) 0%, rgb(73, 200, 242) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    margin-top: 11px;
    font-size: 32.5px;
    font-weight: 500;
    letter-spacing: .04em
}

#shopinfo .inner .btn-tel dl dd img {
    width: 22px;
    margin: -4px 4px 0 0
}

#shopinfo .inner .btn-tel .note {
    color: #fff;
    margin-top: 4px;
    font-size: 11.5px;
    line-height: 15px;
    letter-spacing: .1em
}

#shopinfo .inner .info {
    margin-top: 9.5vw
}

#shopinfo .inner .info dl dt {
    color: #fff;
    font-size: 16.5px;
    font-weight: 500
}

#shopinfo .inner .info dl dd {
    margin-left: 20px
}

#shopinfo .inner .info dl+dl {
    margin-top: 25px
}

@media screen and (min-width: 768px) {
    #shopinfo .box-parallax {
        padding-bottom: 194px
    }

    #shopinfo .lead {
        padding: 147px 0 0
    }

    #shopinfo .inner {
        background: rgba(0, 0, 0, .6);
        max-width: 730px;
        margin: 53px auto 0;
        padding: 101px 0 122px
    }

    #shopinfo .inner .logo {
        width: 475px;
        margin: 0 auto 0
    }

    #shopinfo .inner .sub-txt {
        margin-top: 3px
    }

    #shopinfo .inner .btn-tel {
        width: 426px;
        margin: 43px auto 0;
        padding: 7px 0 10px
    }

    #shopinfo .inner .btn-tel::before,
    #shopinfo .inner .btn-tel:after {
        width: 18px
    }

    #shopinfo .inner .btn-tel dl dt {
        font-size: 17px
    }

    #shopinfo .inner .btn-tel dl dd {
        margin-top: 10px;
        font-size: 43px
    }

    #shopinfo .inner .btn-tel dl dd img {
        width: 27px
    }

    #shopinfo .inner .btn-tel .note {
        margin-top: 0;
        font-size: 12px
    }

    #shopinfo .inner .info {
        margin: 59px auto 0;
        width: 510px
    }

    #shopinfo .inner .info dl {
        display: flex;
        line-height: 28px
    }

    #shopinfo .inner .info dl dt {
        max-width: 110px;
        width: 100%;
        color: #d1d1d1;
        font-size: 16px;
        font-weight: 300
    }

    #shopinfo .inner .info dl dd {
        text-align: left;
        margin-left: 0
    }

    #shopinfo .inner .info dl+dl {
        margin-top: 28px
    }
}

#gmap .col-r {
    padding: 27.5vw 0 9.5vw
}

#gmap .col-r h2 {
    position: relative;
    padding-left: 9vw;
    font-size: 5.6vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .06em
}

#gmap .col-r h2::before {
    content: "";
    position: absolute;
    background: #fff;
    width: 7vw;
    height: 1px;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

#gmap .col-r .box-floor .floor-map {
    margin: 10.5vw 18.5% 0 18%
}

#gmap .col-r .box-floor .txt {
    width: -moz-fit-content;
    width: fit-content;
    margin: 5vw auto 0
}

#gmap .col-l .map {
    height: 80vw
}

@media screen and (min-width: 768px) {
    #gmap {
        display: flex;
        justify-content: space-between
    }

    #gmap .col-r {
        width: 50%;
        order: 2;
        padding: 33px 0 0
    }

    #gmap .col-r h2 {
        padding-left: 35px;
        font-size: 23px
    }

    #gmap .col-r h2::before {
        width: 26px
    }

    #gmap .col-r .box-floor .floor-map {
        text-align: center;
        margin: 33px 0 0 0
    }

    #gmap .col-r .box-floor .txt {
        margin-top: 21px
    }

    #gmap .col-r .group-link {
        display: flex !important;
        align-items: center;
        -moz-column-gap: 20px;
        column-gap: 20px;
        margin: 74px 0 0 27px
    }

    #gmap .col-r .group-link li:nth-child(1) {
        width: 210px
    }

    #gmap .col-r .group-link li:nth-child(1) a {
        position: relative;
        display: block;
        text-align: center;
        color: #fff;
        border: 1px solid #fff;
        border-radius: 25px;
        line-height: 48px;
        font-weight: 400;
        letter-spacing: .16em
    }

    #gmap .col-r .group-link li:nth-child(1) a::before {
        content: "";
        position: absolute;
        background: url("../img/shared/icon_arrow.png") no-repeat;
        background-size: 100%;
        width: 9px;
        height: 15px;
        right: 19px;
        top: 50%;
        transform: translateY(-50%)
    }

    #gmap .col-r .group-link li:nth-child(2) a {
        display: block;
        font-size: 13px;
        letter-spacing: .1em
    }

    #gmap .col-r .group-link li:nth-child(2) a:hover {
        text-decoration: underline
    }

    #gmap .col-l {
        width: 50%;
        order: 1
    }

    #gmap .col-l .map {
        height: 600px
    }
}

#news {
    padding-top: 36vw
}

#news .inner {
    margin-top: 13vw
}

#news .blog h3 {
    color: #fff;
    font-size: 6.67vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .06em
}

#news .blog #feed {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 4px;
    margin-top: 2vw
}

#news .blog #feed dl {
    position: relative;
    width: calc(50% - 5.5px)
}

#news .blog #feed dl::before {
    content: "";
    position: absolute;
    background: url("../img/shared/bg2.jpg") repeat center;
    top: 25px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1
}

#news .blog #feed dl dt {
    text-align: right;
    margin-right: 5px;
    font-size: 11.5px;
    letter-spacing: .06em
}

#news .blog #feed dl dd {
    padding: 13px 10px 26px 17px;
    font-size: 12.5px;
    line-height: 21.5px;
    letter-spacing: .04em
}

#news .blog #feed dl dd a {
    text-decoration: underline;
    color: #f64c94;
    font-weight: bold;
    letter-spacing: .04em
}

#news .btn-more {
    width: 123px;
    margin: 7.5vw 0 0 auto
}

#news .btn-more a {
    position: relative;
    display: block;
    border-bottom: 1px solid #fff;
    text-align: center;
    padding: 0 8px 11px 0;
    font-size: 17.5px;
    line-height: 1;
    font-weight: bold;
    letter-spacing: .1em
}

#news .btn-more a::before {
    content: "";
    position: absolute;
    background: #fff;
    width: 1px;
    height: 10px;
    bottom: -1px;
    right: -1px;
    transform-origin: bottom;
    transform: rotate(-43deg)
}

#news .btn-x {
    margin-top: 23vw
}

#news .btn-x a {
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 15px;
    column-gap: 15px
}

#news .btn-x a span {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 33px;
    letter-spacing: .2em
}

#news .btn-x a img {
    width: 50px
}

@media screen and (min-width: 768px) {
    #news {
        padding-top: 160px
    }

    #news .wrap {
        max-width: 1040px;
        padding: 0 20px
    }

    #news .inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 37px
    }

    #news .blog {
        position: relative;
        width: 740px
    }

    #news .blog h3 {
        position: absolute;
        top: 69px;
        left: 3px;
        font-size: 30px
    }

    #news .blog #feed {
        justify-content: flex-start;
        gap: 9px 17px;
        margin-top: 0px
    }

    #news .blog #feed dl {
        width: 300px;
        min-height: 144px
    }

    #news .blog #feed dl::before {
        top: 29px
    }

    #news .blog #feed dl dt {
        margin-right: 0;
        font-size: 12px
    }

    #news .blog #feed dl dd {
        padding: 19px 26px 20px 20px;
        margin-top: -3px;
        font-size: 16px;
        line-height: 25px;
        letter-spacing: .06em
    }

    #news .blog #feed dl dd a {
        font-size: 14px;
        letter-spacing: .04em
    }

    #news .blog #feed dl dd a:hover {
        text-decoration: none
    }

    #news .blog #feed dl:nth-child(1) {
        margin-left: 123px
    }

    #news .btn-more {
        width: 79px;
        position: absolute;
        bottom: 56px;
        right: 10px
    }

    #news .btn-more a {
        padding: 0 0 9px;
        font-size: 16px
    }

    #news .btn-more a::before {
        height: 10px
    }

    #news .btn-more a:hover {
        opacity: .7
    }

    #news .btn-x {
        margin-top: 0
    }

    #news .btn-x a {
        display: block
    }

    #news .btn-x a span {
        font-size: 22px;
        line-height: 38px
    }

    #news .btn-x a img {
        display: block;
        width: 44px;
        margin: 36px auto 0
    }

    #news .btn-x a:hover {
        opacity: .7
    }
}

#recruit {
    position: relative;
    padding: 22vw 0 20vw;
}

#recruit .set1 h3 {
    color: #fff;
    text-align: center;
    margin-top: 10.5vw;
    font-size: 6.4vw;
    font-weight: bold;
    line-height: 1.5416666667;
    letter-spacing: .2em
}

#recruit .set1 .txt {
    margin-top: 5.5vw
}

#recruit .set1 .info {
    background: #eaeaea;
    color: #000;
    margin-top: 7vw;
    border-radius: 35px;
    padding: 7.5vw 6% 13vw
}

#recruit .set1 .info dl {
    display: flex;
    text-align: left;
    border-bottom: 1px solid rgba(0, 0, 0, .3);
    padding: 11px 0 13px
}

#recruit .set1 .info dl dt {
    max-width: 22vw;
    width: 100%
}

#recruit .set1 .info dl dd {
    margin-right: 0
}

#recruit .set2 {
    margin-top: 25.5vw
}

#recruit .set2 h3 {
    text-align: center;
    color: #fff;
    font-size: 8.67vw;
    line-height: 1;
    font-weight: 400;
    letter-spacing: .2em
}

#recruit .set2 .catch {
    background: #eaeaea;
    color: #010000;
    text-align: center;
    width: 69.5vw;
    margin: 5vw auto 0;
    border-radius: 34px;
    padding: 2.5vw 0 1.5vw;
    font-size: 4.67vw;
    font-weight: bold;
    line-height: 1.5142857143;
    letter-spacing: .1em
}

#recruit .set2 .row {
    text-align: center;
    margin-top: 10vw
}

#recruit .set2 .row .col-l .icon {
    width: 28.5vw;
    margin: 0 auto
}

#recruit .set2 .row .col-l .sub-txt {
    margin-top: 2.5vw;
    font-size: 18px
}

#recruit .set2 .row .col-r .btn-tel {
    margin-top: 5vw
}

#recruit .set2 .row .col-r .btn-tel a {
    display: flex;
    justify-content: center;
    align-items: flex-end
}

#recruit .set2 .row .col-r .btn-tel span {
    display: block;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .04em
}

#recruit .set2 .row .col-r .btn-tel span:nth-child(1) {
    color: #f64c94;
    margin-bottom: 4px;
    font-weight: 500;
    font-size: 17.5px;
    letter-spacing: .04em
}

#recruit .set2 .row .col-r .btn-tel span:nth-child(2) {
    margin: 0 4px 7px 2px
}

#recruit .set2 .row .col-r .btn-tel span:nth-child(2) img {
    width: 22px
}

#recruit .set2 .row .col-r .btn-tel span:nth-child(3) {
    background: linear-gradient(90deg, rgb(246, 76, 148) 0%, rgb(73, 200, 242) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    font-size: 32.5px
}

#recruit .set2 .row .col-r .note {
    color: #fff;
    margin: 3px -3% 0;
    font-size: 11.5px
}

#recruit .set2 .row .col-r .note span {
    display: block;
    margin-bottom: -3px;
    font-size: 15px
}

#recruit .set2 .row .col-r .note span i {
    font-size: 16.5px;
    font-weight: 500
}

#recruit .set3 {
    margin-top: 13.5vw
}

#recruit .set3 .icon {
    width: 28.5vw;
    margin: 0 auto
}

#recruit .set3 .sub-txt {
    text-align: center;
    color: #fff;
    margin-top: 2.5vw;
    font-size: 18px
}

#recruit .set3 .inner {
    background: url("../img/shared/bg3.jpg") repeat center;
    margin: 7.5vw -8% 0;
    padding: 18.5vw 0 0
}

#recruit .set3 .inner h3 {
    text-align: center;
    color: #fff;
    font-size: 6vw;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .2em
}

#recruit .set3 .inner .txt {
    text-align: center;
    margin-top: 7vw
}

@media screen and (min-width: 768px) {
    #recruit {
        padding: 190px 0 100px
    }

    #recruit .set1 h3 {
        margin-top: 64px;
        font-size: 30px;
        line-height: 45px
    }

    #recruit .set1 .txt {
        text-align: center;
        margin-top: 24px
    }

    #recruit .set1 .info {
        max-width: 900px;
        border-radius: 40px;
        margin: 37px auto 140px;
        padding: 35px 76px 79px
    }

    #recruit .set1 .info dl {
        padding: 13px 0 14px;
        line-height: 28px
    }

    #recruit .set1 .info dl dt {
        max-width: 113px
    }

    #recruit .set1 .info dl dd {
        margin-right: 0
    }

    #recruit .set2 {
        margin-top: 60px
    }

    #recruit .set2 h3 {
        font-size: 53px
    }

    #recruit .set2 .catch {
        width: 524px;
        margin-top: 23px;
        border-radius: 23.5px;
        padding: 11px 0;
        font-size: 24px;
        line-height: 25px
    }

    #recruit .set2 .row {
        display: flex;
        justify-content: center;
        text-align: left;
        margin: 59px 33px 0 0
    }

    #recruit .set2 .row .col-l {
        position: relative;
        padding-right: 36px;
        margin-right: 42px
    }

    #recruit .set2 .row .col-l::before {
        content: "";
        position: absolute;
        background: rgba(255, 255, 255, .3);
        width: 1px;
        top: 16px;
        bottom: 5px;
        right: 0
    }

    #recruit .set2 .row .col-l .icon {
        width: 110px
    }

    #recruit .set2 .row .col-l .sub-txt {
        text-align: center;
        margin-top: 12px;
        font-size: 20.5px
    }

    #recruit .set2 .row .col-r .btn-tel {
        display: flex;
        align-items: flex-end;
        margin-top: 9px
    }

    #recruit .set2 .row .col-r .btn-tel span:nth-child(1) {
        margin-bottom: 5px;
        font-size: 21px
    }

    #recruit .set2 .row .col-r .btn-tel span:nth-child(2) {
        margin: 0 4px 9px 7px
    }

    #recruit .set2 .row .col-r .btn-tel span:nth-child(2) img {
        width: 26px
    }

    #recruit .set2 .row .col-r .btn-tel span:nth-child(3) {
        font-size: 43px
    }

    #recruit .set2 .row .col-r .note {
        margin: 9px 0 0;
        font-size: 16px
    }

    #recruit .set2 .row .col-r .note span {
        margin: 0 0 -4px 0;
        font-size: 18px;
        font-weight: 500
    }

    #recruit .set2 .row .col-r .note span i {
        font-size: 18px
    }

    #recruit .set3 {
        margin-top: 60px
    }

    #recruit .set3 .icon {
        width: 110px
    }

    #recruit .set3 .sub-txt {
        margin-top: 15px;
        font-size: 20.5px
    }

    #recruit .set3 .inner {
        margin: 32px 0 0;
        padding: 94px 0 0
    }

    #recruit .set3 .inner h3 {
        font-size: 30px
    }

    #recruit .set3 .inner .txt {
        margin-top: 21px;
        line-height: 30px
    }
}

.fc-form {
    padding: 10.5vw 7% 0
}

.fc-form .input {
    margin-left: 11px
}

.fc-form input[type=text] {
    border: 1px solid #bfbfbf;
    width: 100%;
    height: 37.5px;
    padding: 10px
}

.fc-form input[type=radio] {
    width: 17px;
    height: 17px;
    margin: -3px 5px 0 0
}

.fc-form input[type=checkbox] {
    width: 17px;
    height: 17px;
    margin: -3px 5px 0 0
}

.fc-form select {
    border: 1px solid #bfbfbf;
    width: 100%;
    height: 37.5px
}

.fc-form textarea {
    display: block;
    width: 100%;
    height: 300px;
    padding: 10px
}

.fc-form .cust_nume {
    display: flex;
    align-items: center;
    -moz-column-gap: 9px;
    column-gap: 9px
}

.fc-form .row {
    border-top: 1px solid rgba(255, 255, 255, .3);
    padding: 13px 0 25px
}

.fc-form .row:nth-child(1) .form-row:nth-child(2),
.fc-form .row:nth-child(2) .form-row:nth-child(2) {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end
}

.fc-form .row:nth-child(1) .form-row:nth-child(2) .input,
.fc-form .row:nth-child(2) .form-row:nth-child(2) .input {
    max-width: 74%;
    flex: 1
}

.fc-form .row:nth-child(3) .input label+label {
    margin-left: 47px
}

.fc-form .row:nth-child(4) .input {
    display: flex;
    flex-wrap: wrap;
    row-gap: 8px
}

.fc-form .row:nth-child(4) .input .cust_nume:nth-child(1) {
    width: 100%
}

.fc-form .row:nth-child(4) .input .cust_nume:nth-child(1) .form-parse-number {
    width: 62%
}

.fc-form .row:nth-child(4) .input .cust_nume:nth-child(n+2) {
    width: 50%
}

.fc-form .row:nth-child(4) .input .cust_nume:nth-child(n+2) .form-parse-number {
    width: 72%
}

.fc-form .row:nth-child(7) .input {
    display: flex;
    flex-wrap: wrap;
    gap: 22px 28px
}

@media screen and (max-width: 767px) {
    .fc-form .form-row:nth-child(1) .caption {
        margin-bottom: 7px
    }

    .fc-form .form-row:nth-child(1) .caption span {
        color: #fff;
        font-size: 17.5px;
        font-weight: 500;
        line-height: 35px;
        letter-spacing: .1em
    }

    .fc-form .form-row+.form-row {
        margin-top: 10px
    }
}

@media screen and (min-width: 768px) {
    .fc-form {
        max-width: 835px;
        margin: 50px auto 0;
        padding: 0
    }

    .fc-form .input {
        margin-left: 0
    }

    .fc-form input[type=text] {
        height: 40px
    }

    .fc-form input[type=radio] {
        width: 15px;
        height: 15px;
        margin: -2px 3px 0 0
    }

    .fc-form input[type=checkbox] {
        width: 14px;
        height: 14px;
        margin: -3px 5px 0 0
    }

    .fc-form select {
        height: 40px
    }

    .fc-form textarea {
        height: 160px
    }

    .fc-form .cust_nume {
        -moz-column-gap: 12px;
        column-gap: 12px
    }

    .fc-form .row {
        display: flex;
        padding: 16px 0 18px
    }

    .fc-form .row .form-row {
        display: flex;
        align-items: center
    }

    .fc-form .row .form-row:nth-child(1) .caption {
        width: 226px
    }

    .fc-form .row:nth-child(1) .input,
    .fc-form .row:nth-child(2) .input {
        max-width: 100% !important;
        width: 200px !important
    }

    .fc-form .row:nth-child(1) .form-row:nth-child(2),
    .fc-form .row:nth-child(2) .form-row:nth-child(2) {
        margin-left: 38px;
        -moz-column-gap: 15px;
        column-gap: 15px
    }

    .fc-form .row:nth-child(1) .form-row:nth-child(2) .caption,
    .fc-form .row:nth-child(2) .form-row:nth-child(2) .caption {
        text-align: right;
        width: 71px
    }

    .fc-form .row:nth-child(4) .input {
        gap: 20px 55px
    }

    .fc-form .row:nth-child(4) .input .cust_nume {
        width: auto !important
    }

    .fc-form .row:nth-child(4) .input .cust_nume .form-parse-number {
        width: 130px !important
    }

    .fc-form .row:nth-child(4) .input .cust_nume+.cust_nume {
        margin-left: 0px
    }

    .fc-form .row:nth-child(5) .form-row {
        align-items: flex-start
    }

    .fc-form .row:nth-child(5) .form-row .input {
        width: 520px
    }

    .fc-form .row:nth-child(6) .form-row {
        align-items: flex-start
    }

    .fc-form .row:nth-child(6) .form-row .input {
        width: 520px
    }

    .fc-form .row:nth-child(7) .input {
        gap: 22px 34px
    }
}

.fc-confirm {
    padding: 10.5vw 7% 0
}

.fc-confirm .form-row {
    border-top: 1px solid rgba(255, 255, 255, .3);
    padding: 13px 0 25px
}

.fc-confirm .form-row .caption {
    margin-bottom: 7px
}

.fc-confirm .form-row .caption span {
    color: #fff;
    font-size: 17.5px;
    font-weight: 500;
    line-height: 35px;
    letter-spacing: .1em
}

@media screen and (min-width: 768px) {
    .fc-confirm {
        max-width: 835px;
        margin: 50px auto 0 !important;
        padding: 0
    }

    .fc-confirm .form-row {
        display: flex;
        align-items: center;
        padding: 16px 0 18px
    }

    .fc-confirm .form-row .caption {
        max-width: 226px;
        width: 100%;
        font-size: 16px
    }
}

.form-btn {
    border-top: 1px solid rgba(255, 255, 255, .3);
    padding: 70px 0 170px
}

.form-btn button {
    position: relative;
    display: block;
    outline: none;
    text-align: center;
    border-width: 1px;
    border-style: solid;
    border-radius: 20px;
    font-size: 16px;
    line-height: 38px;
    font-weight: 500;
    letter-spacing: .1em
}

.form-btn button::before {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 5px;
    height: 8.5px;
    top: 50%;
    right: 20px;
    transform: translateY(-50%)
}

.form-btn button.btn-type1 {
    border-color: #f64c94;
    color: #f64c94
}

.form-btn button.btn-type1::before {
    background-image: url("../img/shared/icon_arrow_pink.png")
}

.form-btn button.btn-type2 {
    border-color: #49c8f2;
    color: #49c8f2
}

.form-btn button.btn-type2::before {
    background-image: url("../img/shared/icon_arrow_blue.png")
}

.form-btn .submit {
    display: flex;
    justify-content: space-between;
    padding: 63px 0 107px
}

.form-btn .submit button {
    width: calc(50% - 18px)
}

@media screen and (min-width: 768px) {
    .form-btn {
        padding: 63px 0 107px
    }

    .form-btn button {
        border-radius: 25px;
        font-size: 18px;
        line-height: 48px;
        font-weight: bold;
        letter-spacing: .16em
    }

    .form-btn button::before {
        width: 9px;
        height: 13px;
        right: 26px
    }

    .form-btn .submit {
        margin: 0 auto;
        justify-content: center;
        -moz-column-gap: 77px;
        column-gap: 77px
    }

    .form-btn .submit button {
        width: 210px
    }
}