.row {
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
}

:root {
    --font-color: #5A5A61;
    --layout-background-color: #EBEBF0;
    --headerBlock01-case-padding-right: 16vw;
    --headerBlock01-case-padding-left: 20vw;
    --headerBlock01-case-border-width: 5vw;
    --sp-padding-width: 7vw;
}

.o-kv-slider_slide_text {
    font-size: 7.5vw;
    bottom: -2.3vw;
}


@media screen and (max-width: 767px) {
    .vessel {
        padding: 10vw var(--sp-padding-width) 10vw var(--sp-padding-width);
    }

    .vessel.rightBorder {
        background: white;
        border-right: solid var(--headerBlock01-case-border-width) var(--layout-background-color);
        padding-right: calc(10vw - var(--headerBlock01-case-border-width));
    }

    .vessel.leftBorder {
        background: white;
        border-left: solid var(--headerBlock01-case-border-width) var(--layout-background-color);
        padding-left: calc(10vw - var(--headerBlock01-case-border-width));
    }
}


.headerBlock01-case {
    padding: 8vw var(--headerBlock01-case-padding-right) 6vw var(--headerBlock01-case-padding-left);
}

@media screen and (max-width: 767px) {
    .headerBlock01-case {
        padding: 8vw 0 6vw 0;
    }
}

.headerBlock01-case .flow-inner {
    text-align: right;
}

.headerBlock01-case.rightBorder {
    background-color: #fff;
    padding-right: calc(var(--headerBlock01-case-padding-right) - var(--headerBlock01-case-border-width));
    border-right: var(--headerBlock01-case-border-width) solid var(--layout-background-color);
}

@media screen and (max-width: 767px) {
    .headerBlock01-case.rightBorder {
        background-color: #fff;
        padding-right: 0;
        border-right: none;
    }
}

.headerBlock01-case.leftBorder {
    background-color: #fff;
    padding-left: calc(var(--headerBlock01-case-padding-left) - var(--headerBlock01-case-border-width));
    border-left: var(--headerBlock01-case-border-width) solid var(--layout-background-color);
}

@media screen and (max-width: 767px) {
    .headerBlock01-case.leftBorder {
        background-color: #fff;
        padding-left: 0;
        border-left: none;
    }
}

.headerBlock01-case .headerBlock01-case02 {
    width: 40vw;
}

@media screen and (max-width: 767px) {
    .headerBlock01-case .headerBlock01-case02 {
        width: 100%;
    }
}

.headerBlock01-case .headerBlock01-case02 h3 {
    font-size: 1vw;
}

@media screen and (max-width: 767px) {
    .headerBlock01-case .headerBlock01-case02 h3 {
        font-size: 4vw;
    }
}

.headerBlock01-case .headerBlock01-case02 h3:nth-of-type(n+2) {
    margin-top: 1.7vw;
}

@media screen and (max-width: 767px) {
    .headerBlock01-case .headerBlock01-case02 h3:nth-of-type(n+2) {
        margin-top: 7vw;
    }
}

#mainVisual .image01 img {
    object-position: bottom;
}

#mainVisual .image01 {
    line-height: 1.5;
}

#mainVisual .title-desc {
    padding-right: 2vw !important;
}


#mainVisual .slider_slide_text_desc {
    left: 35vw;
    bottom: 0.4vw;
}

/* recruitment */
#recruitment {
    margin-top: 1vw;
}

#recruitment>.vessel {
    width: 100vw;
}

#recruitment .headerBlock01-case {
    padding: 0vw 8vw 7.7vw 20vw;
}

#recruitment .headerBlock01-case p {
    margin-bottom: 0.3rem;
}

/* vision */
#vision .headerBlock01-case {
    padding-top: 7vw;
}

/* aboutRobecity */
#aboutRobecity .headerBlock01-case {
    display: block;
}

#aboutRobecity .worksSwiper01 {
    margin: 0;
}

#aboutRobecity .swiper-container {
    padding-left: var(--headerBlock01-case-padding-left);
    /* padding-left: calc(25vw - var(--headerBlock01-case-border-width) / 2); */
    /* padding-left: var(--headerBlock01-case-padding-left); */
}

#aboutRobecity .swiper-wrapper {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    align-items: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
}

#aboutRobecity .swiper-wrapper .swiper-slide {
    margin-right: 5vw;
    width: 46.5vw;
    height: 33vw;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .swiper-wrapper .swiper-slide {
        width: 81vw;
        height: 50vw;
    }
}

#aboutRobecity .swiper-wrapper .swiper-slide .image01 {
    width: 50vw;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    /* width: calc(100vw - var(--headerBlock01-case-padding-left) - var(--headerBlock01-case-padding-right)); */
}

@media screen and (max-width: 767px) {
    #aboutRobecity .swiper-wrapper .swiper-slide .image01 {
        width: 81vw;
    }
}

#aboutRobecity .worksSwiper01 a.worksSwiperBox {
    position: relative;
    display: block;
}

#aboutRobecity .swiper-pagination {
    left: 10vw;
    bottom: 0px;
}

#aboutRobecity .about-contents .about-content-cover {
    margin: 3vw 0;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover {
        margin: 7vw 0;
    }
}

#aboutRobecity .about-contents .about-content-cover .about-content {
    padding: 3vw 0;
}

#aboutRobecity .about-contents .about-content-cover .about-content .worksSwiper01-cover {
    width: 98vw;
    margin: 0 calc(50% - 52vw);
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover .about-content .worksSwiper01-cover {
        width: 118vw;
        margin: 0 calc(50% - 61vw);
    }
}

#aboutRobecity .about-contents .about-content-cover .about-content .instagram-images-cover {
    display: flex;
    justify-content: center;
}

#aboutRobecity .about-contents .about-content-cover .about-content .instagram-images-cover img {
    width: 62%;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover .about-content .instagram-images-cover img {
        width: 100%;
    }
}

#aboutRobecity .about-contents .about-content-cover .about-content .instagram-follower-description {
    text-align: right;
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content {
    border: solid 1px var(--font-color);
    border-right: none;
    border-left: none;
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance {
        display: block;
        margin-top: 5vw;
    }
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance+.media-appearance {
    margin-top: 1vw;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance+.media-appearance {
        margin-top: 5vw;
    }
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description {
    width: 56%;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description {
        width: 100%;
    }
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description img.tokyo-mx {
    width: 12vw;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description img.tokyo-mx {
        width: 45vw;
    }
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description img.zero-ichi {
    width: 8vw;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description img.zero-ichi {
        width: 30vw;
    }
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description img.ariyoshi-zemi {
    width: 4vw;
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description img.ariyoshi-zemi {
        width: 20vw;
    }
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-description p {
    margin-top: 0.2vw;
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-images {
    width: 40%;
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
}

@media screen and (max-width: 767px) {
    #aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-images {
        width: 100%;
    }
}

#aboutRobecity .about-contents .about-content-cover.media-appearances .about-content .media-appearances-cover .media-appearance .media-appearance-images img {
    width: 48%;
}

/* job */
#job {
    margin-top: 1vw;
}

#job>.vessel {
    width: 100vw;
}

#job .lead01 {
    color: #5e6165;
    font-size: 18px;
    font-weight: 500;
    line-height: 2.5;
    letter-spacing: 0.01em;
}

#job .designer-desc-recruit {
    padding-bottom: 4vw;
}

#job .designer-desc-recruit p {
    margin-bottom: 0;
    font-size: 0.8rem;
}

#job .textBlock01 {
    margin-top: 44px;
}

#job .textBlock01 p+p {
    margin-top: 2em;
}

.office-desc {
    color: #36363a;
}

/* #job .headerBlock01-case {
    padding: 3vw 8vw 0 20vw;
} */

#job .headerBlock01-case02-end {
    margin-bottom: 5vw;
}

#job .job-place {
    text-align: center;
    background: #7D7D82;
    color: #fff;
    padding: 1vw;
    margin-bottom: 2vw;
}

#job .job-place p {
    margin-bottom: 0;
    font-weight: 600;
}

#job .job-table {
    width: 100%;
    display: inline-table;
    margin-bottom: 1vw;
}

#job .job-table td {
    vertical-align: bottom;
}

#job .job-table .td-left {
    padding-right: 15px;
    width: 30%;
}

#job .job-table .td-right {
    padding-left: 15px;
}

#job .job-table td p {
    padding: 5px 3px;
    border-bottom: solid 1px;
}

#job .job-table td a {
    text-decoration: none;
    color: var(--font-color);
}

#job .want-wrap {
    padding: 4vw 0;
}

#job .want-title {
    font-weight: 600;
    font-size: 1.1rem;
}

#job .want-desc {
    font-size: 0.9rem;
    line-height: 1.8rem;
}

/* instagram */

#instagram .vessel {
    padding: 9vw calc(14.5vw - 20px) 9vw calc(14.5vw - 20px);
}

#instagram .insta-head {
    width: 100%;
    text-align: center;
    margin-bottom: 3vw;
}

#instagram .insta-head img {
    width: 6vw;
}

#instagram .insta-photo img {
    padding: 30px 30px;
    width: 100%;
}

#instagram .insta-info-wrap {
    padding: 20px 40px;
}

#message .message-img {
    margin-top: 2vw;
    margin-left: -1vw;
}

#message .message-block {
    padding: 3vw 4vw 3vw 7.5vw;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {}

@media screen and (max-width: 767px) {
    .o-kv_slider_m {
        width: calc(100% - 30px);
    }

    .o-kv-slider_slide_text {
        font-size: 9vw;
    }


    #mainVisual .image01 {
        padding-top: 0;
        height: auto;
    }

    #mainVisual .image01 img {
        position: relative;
    }

    #mainVisual .slider_slide_text_desc {
        bottom: 1.4vw;
        left: 55vw;
    }

    #example {
        margin-top: 0;
    }

    #recruitment .headerBlock01-case {
        padding: 0;
    }

    #recruitment>.vessel {
        padding: 25vw 30px 18vw 30px;
    }

    #job .headerBlock01-case {
        padding: 0;
        margin-top: 5vw;
    }

    #job .job-table {
        display: none;
    }

    #job .job-place {
        padding: 3vw;
        margin-bottom: 71w;
    }

    #job>.vessel {
        padding: 15vw 30px 18vw 30px;
    }

    #job .sp-job-table {
        padding-top: 1rem;
        border-bottom: solid 1px var(--font-color);
        padding-bottom: 0.5rem;
    }

    #job .sp-job-table p {
        margin-bottom: 0.5rem;
    }

    #job .sp-job-table a {
        text-decoration: none;
        color: var(--font-color);
    }

    #instagram .vessel {
        padding: 15vw calc(10vw - 20px) 15vw calc(10vw - 20px);
    }

    #instagram .insta-head img {
        width: 15vw;
    }

    #instagram .insta-head {
        margin-bottom: 10vw;
    }

    #instagram .insta-photo img {
        padding: 0;
    }

    #instagram .service-info-wrap {
        padding: 20px 10px;
    }

    .service-button:after {
        top: 3px;
    }
}

/* Benefit */

/* #benefit>.vessel {
    position: relative;
    z-index: 1;
    padding-right: 8vw;
}

#benefit>.vessel>.inner {
    position: relative;
    z-index: 3;
    background: #fff;
} */

/* #benefit .headerBlock01-case {
    padding: 14vw 8vw 3vw 14.5vw;
} */

#benefit .label-inner {
    width: 74%;
    display: inline-block;
}

@media screen and (max-width: 960px) {
    .acd-label {
        width: 100% !important;
    }
}

@media screen and (max-width: 767px) {
    #benefit>.vessel {
        padding: 0 20px 3vw 0;
    }

    #benefit>.vessel>.inner {
        padding: 25px 0 0 0px;
    }

    #benefit .headerBlock01-case {
        display: block;
        padding-left: 0vw;
        margin-right: 5px;
        margin-top: -32px;
        padding: 19vw 10px 0 30px;
        width: auto;
        font-size: 12px;
        line-height: 1.84;
    }
}

/* Flow */
#flow {
    background: url(../img/recruit/recruit_back.webp) no-repeat 50% 50%;
    background-size: cover;
}

/* Contact */
#contact-form .contact-recruit {
    padding: 2vw 0;
}

#contact-form .contact-recruit p {
    margin-bottom: 0;
    font-size: 0.8rem;
}

.contact-container {
    padding: 0 !important;
}

#contact-form .vessel {
    padding: 3vw 8vw 3vw 14.5vw;
}

#contact-form .contact-title {
    font-size: 1.7vw;
    margin-bottom: 3vw;
}

#contact-form .form-desc p {
    font-size: 0.9rem;
    margin-bottom: 5px;
}

#contact-form .contact-photo {
    width: 80%;
}

#contact-form .contact-photo td {
    height: 160px;
}

#contact-form .contact-photo .photo1 {
    width: 65%;
}

#contact-form .contact-photo .photo2 {
    width: 35%;
}

#contact-form .contact-photo td img {
    height: 8vw;
}

.contact-wrap {
    background: #fff;
    padding: 7vw 15vw;
    margin-right: 6.5vw;
    margin-top: 6vw;
}

#contact-form input[type='text'],
input[type='email'],
input[type='tel'] {
    width: 100%;
    line-height: 2.4rem;
}

#contact-form textarea {
    width: 100%;
    height: 10vw;
    padding: 0 1.5vw;
}


#contact-form select {
    width: 100%;
    height: 2.9rem;
    padding: 0 1.5vw;
}

.input-wrap {
    margin-top: 2vw;
}

.input-wrap p {
    margin-bottom: 0.1rem;
}

.input-inner {
    padding: 0 1.5vw;
}

.radio-check {
    border: solid 1px;
    border-radius: 3px;
    padding: 5px 20px;
}

.radio-right {
    margin-left: 3vw;
}

.button-wrap {
    padding: 5vw 5vw 1vw 5vw;
}

.error-message {
    color: red;
}

.form-end {
    margin-top: 3vw;
    margin-bottom: 3vw;

}

.form-end p {
    margin-bottom: 0.2rem;
    font-size: 0.8rem;
}

#contact-form input[type='submit'],
input[type='button'] {
    padding: 0.3vw 0;
    width: 13vw;
    font-size: 1.3rem;
    color: #fff;
    background-color: #A5A5AC;
    border: none;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {}

@media screen and (max-width: 767px) {
    #contact-form .vessel {
        padding: 10vw 30px 3vw 10vw;
    }

    #contact-form .contact-title {
        font-size: 1.2rem;
    }

    #contact-form .contact-photo {
        width: 100%;
    }

    #contact-form .contact-photo td img {
        height: 23vw;
    }

    .contact-wrap {
        margin: 0;
        padding: 12vw 8vw;
    }

    #contact-form textarea {
        height: 25vw;
    }

    #contact-form input[type='submit'],
    input[type='button'] {
        padding: 0.3vw 0;
        width: 35vw;
    }

    .input-wrap {
        margin-top: 7vw;
    }

}

#reasons .reasonsBlock02 {
    margin-top: 100px;
}

.filter-box {
    margin-top: 200px;
}

@media screen and (max-width: 767px) {
    .filter-box {
        margin-top: 20px;
    }
}