@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&display=swap');

:root {
    --primary: #008AE5;
    --primary-light: #E6F3FC;
    --primary-dark: #004777;
    --secondary: #0061A0;
    --danger: #E60012;
    --gray: #BBB5B5;
    --gray-2: #ccc;
    --gray-3: #707070;
    --light-gray:#E7EBEE;
    --light-gray2:#DAE0E3;
    --dark:#201D1E;
    --white: #fff;
    --pink: #D42459;
    --light-pink: #F9DEE6;
    --tag-lime: #66BB6A;
    --tag-blue: #0069B5;
    --tag-orange: #E67300;
    --tag-yellow: #FFB300;
    --lp-red: #E60012;
    --lp-pink:  #F28088;
    --lp-light-pink: #FACCD0;
    --lp-light-gray: #E2E2E2;
    --lp-font: 'Fjalla One', sans-serif;
}

html {
    font-size: 62.5%;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 1.4rem;
    font-weight: 500;
    background-color: var(--light-gray);
}

ol {
    padding-left: 1.5em;
}

img {
    max-width: 100%;
}

.list-disc li {
    padding-left: 1em;
    text-indent: -1em;
}

.list-disc li::before {
    content: "・";
}

.alert-danger {
    color: var(--danger);
}

.text-gray {
    color: var(--gray);
}

.text-pink {
    color: var(--pink);
}

.text-framed span {
    position: relative;
    padding: 0 0.5rem;
    color: var(--primary);
    font-size: 1.3rem;
}

.text-framed span::before,
.text-framed span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -1.3rem;
    transform: translateY(-50%);
    display: inline-block;
    width: 1.449rem;
    height: 1.594rem;
    background: url(/general/img/text_decoration_3.svg) no-repeat;
}

.text-framed span::after {
    left: auto;
    right: -1.3rem;
    transform: translateY(-50%) scaleX(-1);
}

.bg-gradient {
    background: linear-gradient(90deg, var(--primary) 0%, #7FD5E6 100%);
}

.bg-primary-light {
    background-color: var(--primary-light);
}

.bg-light-gray {
    background-color: var(--light-gray)!important;
}

.bg-light-pink {
    background-color: var(--light-pink)!important;
}

.bg-danger {
    background-color: var(--danger);
}

.max-width-100 {
    max-width: 100%!important;
}

.heading-h1 {
    margin: 4rem 0 2rem;
    padding: 0;
    text-align: center;
}

.heading-h1 span {
    display: inline-block;
    padding: 0 0 0.5rem;
    font-size: 1.8rem;
    background: url(/general/img/text_decoration.svg) repeat-x;
    background-position: left bottom;
}

.heading-h1 span::after {
    display: none;
}

.heading-secondary {
    margin-bottom: 2rem;
    padding-top: 6rem;
    text-align: center;
}

.heading-secondary span {
    color: var(--secondary);
    font-size: 1.8rem;
    font-weight: 700;
}

.heading-bar {
    position: relative;
    padding-left: 1.5rem;
    border: none;
}

.heading-bar:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 0.5rem;
    height: calc(100% - 0.8rem);
    background-color: var(--primary);
    border-radius: 0.5rem;
}

.heading-dotted {
    margin: 4rem 0 1.4rem;
    padding-bottom: 0.6rem;
    color: var(--dark);
    font-size: 1.8rem;
    font-weight: 700;
    background-image: linear-gradient(to right, var(--dark) 0.15rem, transparent 0.15rem);
    background-size: 0.4rem 0.15rem;
    background-repeat: repeat-x;
    background-position: left bottom;
    border: none;
}

.border-bottom-last-none:nth-last-of-type(1) {
    border-bottom: none !important;
}

.link-external {
    position: relative;
}

.link-external::after {
    content: "";
    display: inline-block;
    width: 1.193rem;
    height: 1.186rem;
    vertical-align: middle;
    margin: 0 0.5rem;
    background: url(/general/img/icon_external.svg) no-repeat;
    background-size: contain;
}

.btn .link-external {
    margin-left: -1rem;
}

.btn .link-external::after {
    background: url(/general/img/icon_external_2.svg) no-repeat;
    background-size: contain;
}

a.link-arrow {
    position: relative;
    padding-left: 1.2rem;
}

a.link-arrow::before {
    content: "";
    position: absolute;
    top: 60%;
    left: 0;
    transform: translateY(-50%);
    display: inline-block;
    width: 0.642rem;
    height: 1.1rem;
    padding-top: 0.5rem;
    background: url(/general/img/icon_arrow_3.svg) no-repeat;
    background-size: contain;
}

a.link-arrow-right {
    padding: 0 1rem 0 0;
}

a.link-arrow-right::before {
    left: auto;
    right: 0;

}

a.anchor-link-arrow {
    position: relative;
    display: inline-block;
    padding-left: 1.5rem;
}

a.anchor-link-arrow::before {
    content: "";
    position: absolute;
    top: 51%;
    left: 0;
    transform: translateY(-50%) rotate(90deg);
    display: inline-block;
    width: 0.642rem;
    height: 1.1rem;
    padding-top: 0.5rem;
    background: url(/general/img/icon_arrow_3.svg) no-repeat;
    background-size: contain;
}

.free-dial {
    position: relative;
    padding: 0 0.5rem 0 2.8rem;
    font-weight: 700;
}

.free-dial::before {
    content: "";
    position: absolute;
    top: 52%;
    left: 0;
    display: inline-block;
    width: 2.3rem;
    height: 1.5rem;
    transform: translateY(-50%);
    background: url(/general/img/icon_free.svg) no-repeat;
    background-size: contain;
}

@media (min-width: 992px) {
    .pc-text-center {
        text-align: center;
    }
}

@media (max-width: 991.98px) {
    .heading-h1 {
        margin: 2rem 0;
    }
}

/* spacer */
.spacer-30 {
    display: block;
    height: 3rem;
}

.spacer-60 {
    display: block;
    height: 6rem;
}

.spacer-90 {
    display: block;
    height: 9rem;
}

/* flex */
.gap5 {
    gap: 0.5rem;
}

.gap10 {
    gap: 1rem;
}

.gap15 {
    gap: 1.5rem;
}

.gap20 {
    gap: 2rem;
}

.gap30 {
    gap: 3rem;
}

@media (min-width: 992px) {
    .flex-lg-row {
        flex-direction: row;
    }
}

/* fontsize */
.fs-10 {
    font-size: 1rem !important;
}

.fs-12 {
    font-size: 1.2rem !important;
}

.fs-14 {
    font-size: 1.4rem !important;
}

.fs-16 {
    font-size: 1.6rem !important;
}

.fs-18 {
    font-size: 1.8rem !important;
}

.fs-20 {
    font-size: 2rem !important;
}

.fs-22 {
    font-size: 2.2rem !important;
}


/* row column */

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
    padding-left: 1rem;
    padding-right: 1rem;
}
.row {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

/* card */
.card {
    background-color: var(--white);
    border-radius: 0.5rem;
    box-shadow: none;
}

.card-padding,
.card-window .card-body {
    padding: 3rem;
}

.card-title {
    margin-bottom: 2rem;
    color: var(--primary);
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
}

@media (min-width: 992px) {
    .card-form {
        padding: 4rem 6rem;
    }
}

@media (max-width: 991.98px) {
    .card-padding,
    .card-window .card-body {
        padding: 2rem;
    }
}

/* form */
.form-control {
    border: 0.1rem solid var(--gray-2);
}

.form-check-input[type="checkbox"] + label {
    padding-left: 2.2rem;
}

.form-check-input[type="checkbox"] + label::before {
    top: 50%;
    transform: translateY(-50%);
}

.form-check-input[type="checkbox"]:checked + label::after {
    top: calc(50% - 0.65rem);
    left: 0.55rem;
    width: 0.5rem;
    height: 1rem;
}

.was-validated .form-control:invalid, .form-control.is-invalid,
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus,
.was-validated .custom-select:invalid, .custom-select.is-invalid,
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus,
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before,
.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before,
.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label,
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
    border-color: var(--pink);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label,
.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
    color: var(--pink);
}

.btn-outline-danger:hover,
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle,
.alert-danger {
    background-color: var(--light-pink);
}

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--pink) 25%, transparent);
}

.required,
.optional {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    min-width: 3.5rem;
    height: 2rem;
}

.required {
    color: var(--pink);
    background-color: var(--light-pink);
}

.optional {
    background-color: var(--light-gray);
}

.form-note {
    margin-top: 0.5rem;
    font-size: 1.2rem;
}

.form-group-confirm {
    margin-bottom: 1.6rem;
}

.form-label-confirm {
    padding: 0.75rem;
    background-color: var(--primary-light);
}

.form-control-confirm {
    min-height: 1.6em;
    margin: 0 0 0 0.75rem;
    font-size: 1.4rem;
}

/* table */
.table-layout-fixed {
    table-layout: fixed;
}

.table-default {
    border: none;
    border-radius: 0;
}

.table-default:not(.job-detail-table) tbody tr:last-of-type th,
.table-default:not(.job-detail-table) tbody tr:last-of-type td {
    border-bottom: 0.1rem solid var(--gray-2)!important;
}

.table-default tbody th {
    color: var(--dark);
    font-weight: 500;
}

.table-default tbody tr:first-of-type {
    padding-top: 1.4rem;
}

.job-detail-table tr {
    display: flex;
    flex-direction: column;
}

.job-detail-table th,
.job-detail-table td {
    border:none;
}

.job-detail-table td {
    padding: 1.4rem 1.4rem 2rem;
}

.job-detail-table tbody th {
    width: 100%;
    max-width: none;
}

.column-table td,
.column-table th {
    border: none!important;
}


@media (min-width: 768px) {
    .my-page-card .table-default tr:nth-child(1) > th,
    .my-page-card .table-default tr:nth-child(1) > td {
        border-top: 0.1rem solid var(--gray-2)!important;
    }

    .my-page-card .table-default tr:last-child > th,
    .my-page-card .table-default tr:last-child > td {
        border-bottom: 0.1rem solid var(--gray-2)!important;
    }

    .table-default tbody th {
        padding-top: 1.2rem;
    }
}

@media (max-width: 767.98px) {
    .table-default tr {
        display: flex;
        flex-direction: column;
    }

    .table-default th,
    .table-default td {
        border:none;
    }

    .table-default td {
        padding: 1.4rem 1.4rem 2rem;
    }

    .table-default tbody th {
        max-width: none;
    }

    .my-page-card .table-default tbody th {
        width: 100%!important;
        max-width: none;
    }
}

/* btn */
button.btn {
    width: 100%;
}

.btn,
.specified-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 5rem;
    max-width: 30rem;
    margin: 0 auto;
    padding: 1rem 2rem;
    font-size: 1.8rem;
}

.btn-outline-primary {
    color: var(--primary)!important;
    border: 0.1rem solid var(--primary);
}

.btn-outline-primary.btn-arrow::before {
    background: url(/general/img/icon_arrow_3.svg) no-repeat;
    background-size: contain;
}

.bottom-btn-group {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
}

.bottom-btn-group .btn,
.bottom-btn-group .specified-btn {
    min-width:calc((100% - 1.5rem) / 2);
}

.card .btn,
.card .specified-btn,
.card-window .btn,
.card-window .specified-btn {
    margin-top: 3rem;
}

.btn-favorite {
    color: var(--primary)!important;
    background-color: var(--white);
    border: 0.1rem solid var(--primary);
}

.btn-favorite span {
    position: relative;
    display: inline-block;
    padding-left: 2rem;

}

.btn-favorite span::before {
    content: "";
    position: absolute;
    top: 51%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 1.6rem;
    height: 1.5rem;
    background: url(/general/img/icon_heart_3.svg) no-repeat;
    background-size: contain;
}

.btn-favorite.active span::before {
    background: url(/general/img/icon_heart_2.svg) no-repeat;
    background-size: contain;
}

.btn-favorite:hover {
    opacity: 1;
}

#action {
    gap: 2rem;
    height: auto;
}

#action .btn {
    margin: 0;
}

a.btn-arrow {
    position: relative;
    padding-left: 3rem;
    padding-right: 4rem;
}

a.btn-arrow::before {
    content: "";
    position: absolute;
    top: 51%;
    right: 2rem;
    transform: translateY(-50%);
    display: inline-block;
    width: 0.642rem;
    height: 1.1rem;
    padding-top: 0.5rem;
    background: url(/general/img/icon_arrow_2.svg) no-repeat;
    background-size: contain;
}

@media (min-width: 992px) {
    .bottom-btn-group {
        max-width: 50rem;
        margin: 0 auto;
    }

    .bottom-btn-group .btn,
    .bottom-btn-group .specified-btn {
        max-width:calc((100% - 1.5rem) / 2);
    }
}

@media (max-width: 991.98px) {
    .bottom-btn-group .btn,
    .bottom-btn-group .specified-btn {
        min-width:calc((100% - 1.5rem) / 2);
    }
}

/* アコーディオン */
.js-accordion-header {
    position: relative;
    cursor: pointer;
}

.js-accordion-header::after {
    content: "";
    position: absolute;
    top: 54%;
    right: 3rem;
    transform: translateY(-50%) rotate(90deg);
    display: inline-block;
    width: 1.32rem;
    height: 1.584rem;
    padding-top: 0.5rem;
    background: url(/general/img/icon_arrow_3.svg) no-repeat;
    background-size: contain;
}

.js-accordion-header.open::after {
    top: 48%;
    transform: translateY(-50%) rotate(-90deg);
}

.js-accordion-inner {
    display: none;
}

@media (max-width: 991.98px) {
    .js-accordion-header::after {
        width: 0.642rem;
        height: 1.1rem;
        right: 2rem;
    }

    .js-accordion-header.open::after {
        top: 50%;
    }
}

/* slick */
.slick {
    visibility: hidden;
}
.slick.slick-initialized {
    visibility: visible;
}

.slick .card {
    margin: 0.5rem 1rem;
}

.slick .slick-prev,
.slick .slick-next {
    top: 38%;
    width: 3rem;
    height: 3rem;
    background-color: var(--primary);
    box-shadow: none;
}

.slick .slick-prev {
    left: -1rem;
}

.slick .slick-next {
    right: -1rem;
}

.slick .slick-prev::before,
.slick .slick-next::before {
    content: "";
    top: 0.8rem;
    left: 1.2rem;
    transform: none;
    display: inline-block;
    width: 0.899rem;
    height: 1.481rem;
    background: url(/general/img/icon_arrow_2.svg) no-repeat;
    background-size: contain;
    border: none;
    opacity: 1;
}

.slick .slick-prev::before {
    left: 1rem;
    transform: scaleX(-1);
}

.slick-dots {
    margin-top: 1.5rem;
}

.slick-dots li button:before {
    color: var(--white);
    opacity: 1;
}

/* header */
header.scrolled {
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
}

.nav-right-link {
    align-items: center;
}

.nav-right .icon-heart {
    display: inline-block;
    width: 2.118rem;
    height: 1.853rem;
    margin: 0.1rem 0;
    background-image: url('/general/img/icon_heart.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

.nav-right .icon-person {
    display: inline-block;
    width: 1.906rem;
    height: 2.053rem;
    background-image: url('/general/img/icon_person.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

.nav-right .icon-key {
    display: inline-block;
    width: 1.916rem;
    height: 2.053rem;
    background-image: url('/general/img/icon_key.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

.nav-right .icon-pen {
    display: inline-block;
    width: 2.056rem;
    height: 2.053rem;
    background-image: url('/general/img/icon_pen.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

.navbar-toggler {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    padding: 0.1rem 0.75rem 0 0.2rem;
}

.navbar-toggler > div {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.navbar-toggler p {
    margin: 0;
    color: var(--dark);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.1rem;
}

.navbar-toggler span {
    width: 2.6rem;
    height: 0.2rem;
    margin: 0;
    border-radius: 0.2rem;
}

.navbar-toggler span:nth-child(1) {
    margin-top: 0;
}

.navbar-toggler:not(.collapsed) span:nth-child(1) {
    transform: translate(15%, -33%) rotate(32deg);
}

.navbar-toggler:not(.collapsed) span:nth-child(3) {
    transform: translate(15%, 33%) rotate(-32deg);
}

.nav-right-link p {
    color: var(--dark);
    font-weight: 500;
}

@media (min-width: 992px) {
    .navbar {
        height: 7rem;
    }

    .nav-item {
        height: 7rem;
        margin: 0 1.5rem;
    }

    .nav-item:hover::after {
        display: none;
    }

    .nav-right-link {
        height: 7rem;
    }

    .nav-right-item {
        position: relative;
        background-color: var(--primary-light);
    }

    .nav-right-item:not(:last-of-type)::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 1rem;
        height: 5rem;
        transform: translateY(-50%);
        display: inline-block;
        background-image: linear-gradient(to bottom, var(--gray) 0.15rem, transparent 0.15rem);
        background-size: 0.15rem 0.4rem;
        background-repeat: repeat-y;
        background-position: right top;
    }

    .nav-right-item:hover {
        background-color: var(--light-gray);
        opacity: 1;
    }

    .nav-right-item-1,
    .nav-right-item-2,
    .nav-right-item-3 {
        background-color: var(--primary-light);
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        height: auto;
    }

    .nav-right-link p {
        margin-top: 0.4rem;
        font-size: 1.2rem;
    }
}

@media (max-width: 991.98px) {
    .nav-right {
        gap: 0.2rem;
        right: 4.7rem;
    }

    .navbar-nav {
        padding: 0 1rem;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    }

    .nav-right-link p {
        margin-top: 0.37rem;
        color: var(--dark);
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        font-size: 1.4rem;
        font-weight: 500;
    }

    .nav-item {
        border: none;
    }

    .nav-item:not(:last-of-type) {
        background-image: linear-gradient(to right, var(--gray) 0.15rem, transparent 0.15rem);
        background-size: 0.4rem 0.15rem;
        background-repeat: repeat-x;
        background-position: left bottom;
    }
}

.footer-top {
    padding: 6rem 1rem;
    color: var(--gray-3);
    background-color: var(--light-gray2);
}

.footer-top-cat {
    margin: 4rem 0 1.5rem;
    padding: 0 0.8rem 0.5rem;
    color: var(--dark);
    font-size: 1.6rem;
    background: url(/general/img/text_decoration.svg) repeat-x;
    background-position: left bottom;
    border: none;
}

.footer-top-link {
    margin: 0 0.8rem;
}

.footer-top-link a {
    color: var(--gray-3);
}

.footer-top .footer-link-block span.footer-link {
    margin-bottom: 0.4rem;
}

.footer-bottom {
    padding: 0;
    background-color: var(--white);
}

.footer-bottom-1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6rem 3rem 5rem;
}

.footer-bottom-logo {
    width: 80%;
    max-width: 25rem;
    margin: 0;
}

.footer-bottom-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    width: 36rem;
    margin: 0;
}

.footer-bottom-menu a {
    width: 15rem;
    margin: 0;
    color: var(--gray-3);
    font-size: 1.3rem;
}

.footer-bottom-menu a[target="_blank"] span {
    position: relative;
    padding: 0 2.5rem 0 0rem;
}

.footer-bottom-menu a[target="_blank"] span::after {
    content: "";
    position: absolute;
    top: 0.3rem;
    right: 0.5rem;
    display: inline-block;
    width: 1.193rem;
    height: 1.186rem;
    background: url(/general/img/icon_external.svg) no-repeat;
    background-size: contain;
}

.footer-bottom-2 {
    padding: 3rem 4rem;
    border-top: 0.4rem solid var(--light-gray);
}

.footer-table td {
    vertical-align: top;
}

.footer-certification {
    display: flex;
    gap: 5rem;
}

.footer-certification a {
    display: flex;
    align-items: center;
    color: var(--gray-3);
}

.footer-certification a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.footer-certification-sentence {
    margin: 0;
    padding-left: 1rem;
    word-break: break-all;
}

.footer-certification-1 img {
    display: inline-block;
    margin: 0 0.8rem;
}

.copyright {
    display: block;
    margin: 0;
    padding: 1rem 0;
    text-align: center;
    color: var(--white);
    font-size: 1rem;
    background-color: var(--primary);
}

@media (min-width: 992px) {
    .footer-certification img {
        width: auto;
        max-height: 5rem;
    }
}

@media (max-width: 991.98px) {
    .footer-bottom-menu {
        padding-left: 3rem;
    }

    .footer-bottom-1 {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        padding: 3rem 2rem 2rem;
    }

    .footer-certification {
        flex-direction: column;
        gap: 1.5rem;
        max-width: 32.6rem;
        margin: 0 auto;
    }
}

/* breadcrumb */
.breadcrumb {
    margin: 1rem 0;
    padding: 0;
}

.breadcrumb a {
    color: var(--dark);
    font-weight: 400;
}

@media (max-width: 767.98px) {
    .breadcrumb {
        padding: 0.75rem 0;
    }
}

/* ----------------------------
TOP
---------------------------- */
.top-container {
    padding-top: 4rem;
}

/* mv */
.mv {
    width: 100%;
    font-size: 0;
}

.mv-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 53.6rem;
    overflow: hidden;
}

.mv-main-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.mv-texts {
    position: absolute;
    top: 10rem;
    left: 50%;
    transform: translateX(-50%);
    width: 97.2rem;
}

.mv-text-1 {
    color: var(--primary-dark);
    line-height: 1.3;
    font-size: 3.8rem;
    font-weight: bold;
}

.mv-text-2 {
    color: var(--gray-3);
    line-height: 1.3;
    font-size: 3.4rem;
    font-weight: 700;
}

.mv-text-3 p {
    color: var(--gray-3);
    line-height: 1.7;
    font-size: 1.4rem;
    font-weight: 500;
}

.mv-text-3 img {
    width: 15.804rem;
    height: 14.004rem;
    margin: 0 2.4rem 0 0;
}

.mv-note {
    margin: 9.5rem 0 0;
    color: var(--gray-3);
    font-size: 1rem;
}


.mv-cv {
    padding: 2rem 0;
}

.mv-cv-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5rem;
    width: calc((100% - 1.5rem) / 2);
    margin: 0;
    padding: 0;
    font-size: 1.6rem;
    border: none;
    border-radius: 0.5rem;
}

.btn.mv-cv-btn-2 {
    color: var(--dark)!important;
}

.mv-search {
    padding: 2.8rem 0 3.8rem;
}

.mv-search-form .form-group input.form-control,
.mv-search-form .form-group select.form-control {
    display: block;
    width: 100%;
    height: 5rem;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 2rem 0 1.6rem;
    text-align: center;
    font-size: 16px;
    border: 0.2rem solid var(--light-gray);
    border-radius: 0.5rem;
    cursor: pointer;
}

.mv-search-form .form-group input.form-control:read-only,
.mv-search-form .form-group select.form-control:read-only {
    background-color: var(--white);
}

.mv-search-form .form-group input.form-control::placeholder,
.mv-search-form .form-group select.form-control::placeholder {
    color: var(--dark);
    font-size: 16px;
    font-weight: 500;
}

.mv-search-form .form-group-1 {
    position: relative;
    cursor: pointer;
}

.mv-search-form .form-group-1::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.4rem;
    transform: translateY(-50%);
    display: inline-block;
    width: 0.642rem;
    height: 1.1rem;
    background: url('/general/img/icon_arrow.svg') no-repeat;
    pointer-events: none;
}

@media (min-width: 992px) {
    
    .mv-main-img {
        min-width: 192rem;
    }

    .mv-text-1 {
        margin-bottom: 1rem;
    }

    .mv-text-2 {
        margin-bottom: 5.5rem;
    }

    .mv-search .form-group-1 {
        width: calc((100% - 3rem - 16rem) / 2);
    }
    .mv-search-btn {
        width: 16rem;
    }
}

@media (max-width: 991.98px) {
    .mv-wrapper {
        height: 49rem;
    }

    .mv-texts {
        top: 2.4rem;
        width: 35.5rem;
    }

    .mv-text-1 {
        font-size: 2.2rem;
        font-weight: 700;
    }

    .mv-text-2 {
        font-size: 1.9rem;
    }

    .mv-text-3 p {
        font-size: 1.1rem;
    }

    .mv-text-3 img {
        width: 10.377rem;
        height: 9.196rem;
        margin: 1.9rem 0 2.2rem
    }

    .mv-note {
        width: 35.5rem;
        bottom: 1rem;
        margin: 0.7rem 0 0;
        font-size: 0.65rem;
    }

    .mv-search {
        display: block;
    }

    .mv-search .form-group {
        flex: 1;
        font-size: 1.8rem;
    }

    .mv-search-btn {
        flex: 1 1 100%;
        font-size: 1.8rem;
    }
}

/* search-modal */
.modal-header {
    justify-content: center;
    padding: 2rem 3.5rem 2rem 1.2rem;
    border-bottom: none;
}

.search-modal-body .search-accordion-cat .tag-selected {
    top: 1.3rem;
}

.modal-open .search-modal-2 {
    overflow: hidden;
    padding: 0!important;
}

.search-modal .modal-content {
    background-color: var(--primary-light);
}

.search-modal .close {
    right: 1.2rem;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
}

.search-modal .close-inner {
    position: relative;
}

.search-modal .close span {
    position: absolute;
    top: 0;
    left: 0;
    width: 2rem;
    height: 0.2rem;
    margin: 0;
    background-color: var(--primary);
    border-radius: 0.2rem;
}

.search-modal .close span:nth-child(1) {
    transform: rotate(45deg);
}

.search-modal .close span:nth-child(2) {
    transform: rotate(-45deg);
}

.search-modal .modal-title {
    color: var(--dark);
}

.search-modal-body {
    height: calc(100vh - 13.8rem);
    padding: 0 1rem 9.4rem;
    overflow-y: auto;
}

.search-modal-body .inputs {
    margin-bottom: 2rem;
}

.search-modal-body .search-accordion-cat {
    position: relative;
    padding: 1.4rem 1.6rem;
    font-weight: 500;
    background-color: var(--white);
    border: 0.2rem solid var(--light-gray);
    border-radius: 0.5rem;
}

.search-modal-body .search-accordion-cat:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%) rotate(90deg);
    display: inline-block;
    width: 0.642rem;
    height: 1.1rem;
    background: url('/general/img/icon_arrow.svg') no-repeat;
    background-size: contain;
}

.search-modal-body .search-accordion-cat.opened {
    border-radius: 0.5rem 0.5rem 0 0;
}

.search-modal-body .search-accordion-cat.opened:after {
    transform: translateY(-50%) rotate(-90deg);
}

.search-modal-body .form-check {
    padding: 0 2rem;
    font-size: 1.4rem;
}

.search-modal-body .search-accordion-subcat {
    font-size: 1.4rem;
    font-weight: 400;
    background-color: var(--white);
    border-left: 0.2rem solid var(--light-gray);
    border-right: 0.2rem solid var(--light-gray);
    border-bottom: 0.2rem solid var(--light-gray);
    border-radius: 0 0 0.5rem 0.5rem;
}

.modal-footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 1rem;
    background-color: var(--light-gray);
    box-shadow: -1rem 0 1rem rgba(0, 0, 0, 0.3);
}

.search-modal .modal-footer {
    height: 7.4rem;
}

.search-modal-2 .modal-footer {
    display: block;
}

.search-modal .modal-footer .search-num {
    width: auto;
    margin-right: 1rem;
}

.modal-footer .btn {
    margin: 0;
    min-width: 20rem;
}

.search-modal .modal-footer-inner {
    margin: 0;
}

.search-modal-2 .modal-footer-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.modal-footer .specified-btn {
    width: 8rem;
    min-width: auto;
    margin-left: 1rem;
    padding: 0.2rem 0 0;
    line-height: 1.3;
    color: var(--dark)!important;
    font-size: 1.1rem;
    font-weight: 500;
}

@media (min-width: 992px) {
    .search-modal-2 .modal-footer-inner {
        position: relative;
        height: 5.4rem;
    }

    .search-modal-2 .modal-footer button:nth-of-type(1) {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .search-modal-2 .modal-footer button:nth-of-type(2) {
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%);
    }
}

@media (max-width: 991.98px) {
    .modal-header,
    .modal-footer {
        border-radius: 0;
    }

    .search-modal .modal-footer .search-num {
        flex: 0 0 auto;
    }

    .search-modal .modal-footer .btn {
        flex: 1;
        max-width: 30rem;
    }

    .search-modal .modal-footer .specified-btn {
        flex: 0 0 8rem;
    }
}

@media (max-width: 767.98px) {
    .search-modal-body {
        height: calc(100vh - 14.2rem);
        padding-bottom: 22rem;
    }

    .search-modal .modal-footer {
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
    }
    
    .search-modal-2 .modal-footer-inner {
        justify-content: space-between;
    }
}



/* 注目の求人 */
.top-carousel-special {
    max-width: 75rem;
    margin: 0 auto 6rem;
    border: none;
}

.special-contents {
    margin: 0 1rem;
    background-color: var(--white);
    border-radius: 0.5rem;
}

.special-contents img {
    border-radius: 0.5rem 0.5rem 0 0;
}

.special-contents p {
    padding: 1rem 1.8rem 2rem;
}

@media (max-width: 991.98px) {
    .top-carousel,
    .top-carousel-special {
        padding: 0 1rem;
    }
}

/* 各種バナー */
.top-banner ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
}

.top-banner img {
    width: 100%;
    border-radius: 0.5rem;
}

@media (min-width: 992px) {
    .top-banner img {
        max-width: 35rem;
    }
}

/* 注目の求人特集 */
.slick-feature-item {
    margin: 0 1rem;
    background-color: var(--white);
    border-radius: 0.5rem;
    overflow: hidden;
}

.slick-feature-item img {
    width: 100%;
}

.slick-feature-item p {
    padding: 1rem 1.8rem 2rem;
}

@media (max-width: 767.98px) {
    .top-banner ul {
        flex-direction: column;
    }
}

/* キャリアプランニングが選ばれる理由 */
.top-reason {
    padding: 0;
    background-color: transparent;
}

.top-reason ul {
    margin: 2rem 0 0;
}

.detail-reason-title {
    display: inline-block;
    margin-bottom: 1.8rem;
    text-align: center;
    color: var(--secondary);
    font-weight: 700;
}

.detail-reason-title span {
    position: relative;
    font-size: 1.6rem;
}

.detail-reason-title span::before,
.detail-reason-title span::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 54%;
    left: -1.1rem;
    transform: translateY(-50%);
    width: 0.589rem;
    height: 1.42rem;
    background: url(/general/img/text_decoration_2.svg) no-repeat;
    background-size: contain;
}

.detail-reason-title span::after {
    left: auto;
    right: -1.1rem;
    transform: translateY(-50%) scaleX(-1);
}

.detail-reason img {
    border-radius: 0.5rem;
}

.detail-reason-sentence {
    margin: 1rem 0 5rem;
}

.detail-reason-link {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
}

.detail-reason-link .btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: flex-end;
    width: 11rem;
    min-height: auto;
    min-width: initial;
    margin: auto 0 auto auto;
    padding: 0.5rem 2.2rem 0.5rem 1.8rem;
    font-size: 1.2rem;
    background-color: var(--primary);
}

.detail-reason-link .btn::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 52%;
    right: 0.8rem;
    transform: translateY(-50%);
    width: 0.475rem;
    height: 0.815rem;
    background: url(/general/img/icon_arrow_2.svg) no-repeat;
    background-size: contain;
}

@media (min-width: 992px) {
    .detail-reason-title span {
        font-size: 1.4rem;
    }

    .detail-reason-link {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 4rem);
        margin: 0;
    }

    .detail-reason-link .btn {
        width: 100%;
        margin: 0 auto;
    }
}

/* 派遣で働くまでの流れ */
.top-flow {
    margin-top: 6rem;
    padding-bottom: 6rem;
    background-color: var(--primary-light);
}

.top-flow-list {
    display: flex;
    justify-content: center;
    gap: 1.9rem;
}

.top-flow-list li {
    position: relative;
    padding: 1.4rem;
    font-weight: 700;
    overflow: visible;
    background-color: var(--white);
    border-radius: 0.5rem;
}

.top-flow-list li:not(:last-of-type)::after {
    position: absolute;
    display: block;
    content: "";
    top: 50%;
    right: -2.25rem;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 0.9rem solid transparent;
    border-right: 0.9rem solid transparent;
    border-bottom: 0.9rem solid transparent;
    border-left: 0.8rem solid var(--primary);
}

.top-flow-img {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 10rem;
}

.top-flow-list li:nth-of-type(1) img {
    width: 5.106rem;
}

.top-flow-list li:nth-of-type(2) img {
    width: 6.2rem;
}

.top-flow-list li:nth-of-type(3) img {
    width: 6.506rem;
}

.top-flow-list li:nth-of-type(4) img {
    width: 6.48rem;
}

.top-flow-list li:nth-of-type(5) img {
    width: 6.073rem;
}

.flow-contents p:not(:last-of-type) {
    margin-bottom: 2rem;
}

.top-flow-messeage {
    margin: 3.8rem 0 2.5rem;
    padding: 0 2rem;
    line-height: 1.4;
    font-weight: 400;
}

.top-flow-messeage-img {
    display: block;
    width: 100%;
    max-width: 40rem;
    margin: 0 auto;
    border-radius: 0.5rem;
}

.top-flow-cv {
    margin-top: 3rem;
    padding: 2rem;
    background-color: var(--white);
    border-radius: 0.5rem;
}

.top-flow-cv p {
    margin-bottom: 2rem;
}

.btn-top-flow-cv {
    display: flex;
    justify-content: center;
    align-self: center;
    width: 100%;
    height: 5rem;
    max-width: 30rem;
    margin: 0 auto;
}

.btn-top-flow-cv span {
    position: relative;
    display: flex;
    justify-content: center;
    align-self: center;
    padding-left: 2.9rem;
    font-size: 1.8rem;
}

.btn-top-flow-cv span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 2.056rem;
    height: 2.053rem;
    background: url(/general/img/icon_pen_2.svg) no-repeat;
    background-size: contain;
}

@media (min-width: 992px) {
    .top-flow-list li {
        width: calc((100% - 7.6rem)/5);
    }

    .top-flow-list li p {
        text-align: center;
    }

    .top-flow-messeage {
        text-align: center;
        line-height: 1.6;
        font-size: 1.6rem;
    }
}

@media (max-width: 991.98px) {
    .top-flow-list {
        flex-flow: column;
        gap: 2.8rem;
    }

    .top-flow-list li {
        display: flex;
        height: 10rem;
        justify-content: center;
        align-items: center;
        padding: 2rem 2rem 2rem 1.4rem;
    }
    
    .top-flow-list li:not(:last-of-type)::after {
        top: auto;
        left: 50%;
        right: auto;
        bottom: -3.6rem;
        transform: translate(-50%,-50%);
        border-left: 0.9rem solid transparent;
        border-top: 0.8rem solid var(--primary);
    }

    .top-flow-list li p {
        width: 18rem;
        margin: 0;
    }

    .top-flow-img {
        width: 14rem;
    }
}

/* お知らせ */
.news-item {
    display: flex;
    border: none;
}
.news-date {
    display: inline-block;
    width: 9rem;
    color: var(--secondary);
}

.news-sentence {
    display: inline-block;
    width: calc(100% - 10rem);
}

.news-item:not(:first-of-type) {
    background-image: linear-gradient(to right, var(--dark) 0.15rem, transparent 0.15rem);
    background-size: 0.4rem 0.15rem;
    background-repeat: repeat-x;
    background-position: left top;
}

@media (min-width: 992px) {
    .card-news {
        padding: 3rem 5rem;
    }

    .card-news-list {
        padding: 3rem 5rem;
    }
}
/* ----------------------------
求人スライダー
---------------------------- */
.top-carousel-job .slick-arrow {
    top: 11rem;
}

.card-job .card-body {
    padding: 2rem;
}


.card-job-name {
    margin-bottom: 2rem;
    font-size: 1.8rem;
    text-decoration: underline;
}

.card-job-info {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
}

.card-job-info dt {
    display: inline-block;
    width: 6rem;
    color: var(--secondary);
    font-weight: 500;
}

.card-job-info dd {
    display: inline-block;
    width: calc(100% - 7rem);
}


/* ----------------------------
求人一覧、求人詳細、お気に入り求人一覧
---------------------------- */
/* ソート */
.list-control {
    margin: 2rem 0 0.8rem;
    padding: 0;
    flex-direction: unset;
    align-items: end;
}

.list-control-num {
    margin-bottom: 0;
    font-size: 1.2rem;
    font-weight: 400;
}

.dropdown {
    position: relative;
    width: 100%;
}

.dropdown-display {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 1;
    width: 100%;
    min-width: 0;
    height: 2.4rem;
    padding: 0 2.5rem 0 0.8rem;
    text-align: left;
    line-height: 2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 0.5rem;
    background-color: var(--white);
    cursor: pointer;
}

.dropdown-display::after {
    position: absolute;
    top: 50%;
    right: 0.8rem;
    transform: translateY(-50%) rotate(90deg);
    display: inline-block;
    content: "";
    width: 0.642rem;
    height: 1.1rem;
    background-image: url(/general/img/icon_arrow.svg);
    background-size: contain;
    transition: all 0.4s ease-in-out;
}

.dropdown-display.open::after {
    transform: translateY(-50%) rotate(-90deg);
}

.dropdown-display-text {
    display: block;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1rem;
}

.default-display .dropdown-display-text {
    color: var(--gray);
}

.dropdown-list {
    position: relative;
    display: none;
    position: absolute;
    top: 102%;
    left: 0;
    transition: all 0.4s ease-in-out;
    width: 100%;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
    border-radius: 0.5rem;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
    background-color: var(--white);
    z-index: 10;
}

.dropdown-list.opened {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.dropdown-list a {
    display: block;
    padding: 0.5em 1em;
    text-decoration: none;
    color: #333;
}

.dropdown-list a:hover {
    background-color: var(--primary-light);
}

.select-box-radio-dropdown {
    position: relative;
    display: inline-block;
}

.select-box-radio-dropdown:hover .dropdown-list {
    display: block;
}

.sort-group {
    display: flex;
    justify-content: end;
    gap: 1rem;
}

.sort-group .dropdown {
    width: 8.5rem;
    font-size: 1rem;
}

.sort-group .dropdown-display {
    line-height: 2.2;
    color: var(--dark);
}

@media (min-width: 992px) {
    .dropdown-display {
        height: 3rem;
    }

    .dropdown-display-text {
        font-size: 1.2rem;
    }

    .dropdown-list a {
        font-size: 1.2rem;
    }
}

/* 検索エリア */
.search-item {
    border: none;
    gap: 0.5rem;
}

.search-item table {
    border: none;
    background-image: linear-gradient(to right, var(--secondary) 0.15rem, transparent 0.15rem);
    background-size: 0.4rem 0.15rem;
    background-repeat: repeat-x;
    background-position: left bottom;
    background-image: linear-gradient(to right, var(--gray-2) 0.15rem, transparent 0.15rem);
}

.search-item-keyword {
    background-image: none;
}

.search-item tbody td:last-of-type {
    padding-bottom: 0.7rem;
}

.search-title {
    color: var(--secondary);
}

.search-click {
    width: auto;
}

.search-click .btn {
    min-width: 10rem;
    height: 3.5rem;
    margin: 0;
    font-size: 1.2rem;
}

.search-bottom-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-bottom-item p span {
    margin: 0 0.25rem 0;
}

.keyword-remove{
    font-weight: 700;
    color: var(--white);
    background-color: var(--primary);
    border: none;
    border-radius: 0.2rem
}

@media (min-width: 992px) {
    .search-item {
        background-image: linear-gradient(to right, var(--secondary) 0.15rem, transparent 0.15rem);
        background-size: 0.4rem 0.15rem;
        background-repeat: repeat-x;
        background-position: left bottom;
    }

    .search-title {
        width: 15rem;
    }

    .search-bottom-item {
        flex-direction: column-reverse;
    }

    .search-bottom-item p {
        text-align: center;
    }

    .search-selected {
        width: auto;
        flex: 1;
    }
}

@media (max-width: 991.98px) {
    .search-title {
        width: 100%;
        padding-bottom: 0.6rem;
        font-size: 1.6rem;
        border: none;
        background-image: linear-gradient(to right, var(--secondary) 0.15rem, transparent 0.15rem);
        background-size: 0.4rem 0.15rem;
        background-repeat: repeat-x;
        background-position: left bottom;
    }

    .search-selected {
        display: inline-block;
        width: auto;
        margin-top: 0.5rem;
    }

    .search-click {
        margin: 1rem 0 0;
    }

    .search-bottom-item {
        gap: 1rem;
    }

    .search-bottom-item p {
        margin-left: 0.25rem;
        font-size: 1rem;
    }

    .search-bottom-item p span {
        margin: 0 0.25rem 0 0;
    }

    .search-bottom-item button {
        max-width: calc(100% - 8rem);
    }
}

/* 求人一覧 */
.job-item-title {
    margin-bottom: 1.6rem;
    font-size: 1.8rem;
}

.job-item-detail dt {
    color: var(--secondary);
    width: 11rem;
}

.job-item-detail dd {
    width: calc(100% - 12.2rem);
}

.job-item-btn {
    gap: 1.5rem;
}

@media (min-width: 992px) {
    .job-item-info {
        align-items: end;
    }

    .job-item-btn {
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
    }

    .job-item-btn .btn {
        margin: 0;
    }

    .job-item-btn .btn {
        min-width: 22rem;
    }
}

@media (max-width: 991.98px) {
    .job-item-info {
        flex-direction: column;
    }
    
    .job-item-btn {
        width: 100%;
    }

    .job-item-btn .btn {
        font-size: 1.4rem;
    }
}

/* 求人詳細 */
.job-title {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3;
}

.detail-point {
    width: 100%;
    margin-top: 1rem;
    padding: 2rem 2rem 2.4rem;
    background-color: var(--white);
    border: 0.1rem solid var(--primary);
}

.detail-point::before {
    content: "求人PR";
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    padding: 0 2rem;
    color: var(--primary);
    font-size: 1.8rem;
    font-weight: 500;
    background-color: var(--white);
    opacity: 1;
}

.job-detail-icon {
    position: relative;
    display: inline-block;
    padding-left: 2rem;
}

.job-detail-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: inline-block;
}

.job-detail-icon.icon-tag::before {
    width: 1.28rem;
    height: 1.2rem;
    background: url(/general/img/icon_tag.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-briefcase::before {
    top: 46%;
    width: 1.28rem;
    height: 1.2rem;
    background: url(/general/img/icon_briefcase.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-award::before {
    left: 0.1rem;
    width: 1.1rem;
    height: 1.466rem;
    background: url(/general/img/icon_award.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-user::before {
    width: 1.25rem;
    height: 1.4rem;
    background: url(/general/img/icon_user.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-yen::before {
    left: 0.2rem;
    width: 0.857rem;
    height: 1.2rem;
    background: url(/general/img/icon_yen.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-moneybag::before {
    top: 52%;
    left: 0.1rem;
    width: 1.1rem;
    height: 1.4rem;
    background: url(/general/img/icon_moneybag.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-moneynote::before {
    left: 0.1rem;
    width: 1.2rem;
    height: 1.4rem;
    background: url(/general/img/icon_moneynote.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-pin::before {
    left: 0.1rem;
    width: 1.1rem;
    height: 1.475rem;
    background: url(/general/img/icon_pin.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-train::before {
    left: 0.1rem;
    width: 1.1rem;
    height: 1.558rem;
    background: url(/general/img/icon_train.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-flag::before {
    top: 52%;
    width: 1.283rem;
    height: 1.4rem;
    background: url(/general/img/icon_flag.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-clock::before {
    width: 1.3rem;
    height: 1.3rem;
    background: url(/general/img/icon_clock.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-coffee::before {
    top: 54%;
    width: 1.5rem;
    height: 1.138rem;
    background: url(/general/img/icon_coffee.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-moon::before {
    top: 48%;
    left: 0.1rem;
    width: 1.2rem;
    height: 1.2rem;
    background: url(/general/img/icon_moon.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-laptop::before {
    width: 1.4rem;
    height: 1.114rem;
    background: url(/general/img/icon_laptop.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-card::before {
    width: 1.4rem;
    height: 1.089rem;
    background: url(/general/img/icon_card.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-calendar::before {
    left: 0.1rem;
    width: 1.225rem;
    height: 1.4rem;
    background: url(/general/img/icon_calendar.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-suitcase::before {
    left: -0.05rem;
    width: 1.548rem;
    height: 1.3rem;
    background: url(/general/img/icon_suitcase.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-notebook::before {
    left: 0.15rem;
    width: 1.108rem;
    height: 1.4rem;
    background: url(/general/img/icon_notebook.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-schedule::before {
    left: 0.1rem;
    width: 1.225rem;
    height: 1.4rem;
    background: url(/general/img/icon_schedule.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-shield::before {
    left: 0.1rem;
    width: 1.225rem;
    height: 1.4rem;
    background: url(/general/img/icon_shield.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-hand::before {
    width: 1.5rem;
    height: 1.333rem;
    background: url(/general/img/icon_hand.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-smokingban::before {
    width: 1.45rem;
    height: 1.45rem;
    background: url(/general/img/icon_smokingban.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-buildingflag::before {
    left: 0.1rem;
    width: 1.4rem;
    height: 1.52rem;
    background: url(/general/img/icon_buildingflag.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-headset::before {
    top: 54%;
    width: 1.487rem;
    height: 1.4rem;
    background: url(/general/img/icon_headset.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-building::before {
    left: 0.2rem;
    width: 1.05rem;
    height: 1.4rem;
    background: url(/general/img/icon_building.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-rotate::before {
    width: 1.286rem;
    height: 1.2rem;
    background: url(/general/img/icon_rotate.svg) no-repeat;
    background-size: contain;
}

.job-detail-icon.icon-list::before {
    width: 1.4rem;
    height: 1.5rem;
    background: url(/general/img/icon_list.svg) no-repeat;
    background-size: contain;
}

@media (max-width: 991.98px) {
    .job-detail-icon {
        margin-left: 0.8rem;
    }
}

/* お気に入り一覧、お気に入りボタン */
.bookmark-all {
    padding: 2rem 3rem;
    background-color: var(--white);
}

.bookmark-all .form-check-inline {
    margin: 0;
}

.bookmark-item-detail dt {
    width: 11rem;
    color: var(--primary-dark);
}

.bookmark-item-detail dd {
    width: calc(100% - 12.2rem);
}

.bookmark-del {
    top: 1.5rem;
    right: 1.5rem;
    width: 2rem;
    height: 2rem;
    padding: 0;
}

.bookmark-del-inner {
    position: relative;
}

.bookmark-del span {
    position: absolute;
    top: 0;
    left: 0;
    width: 2rem;
    height: 0.2rem;
    margin: 0;
    background-color: var(--primary);
    border-radius: 0.2rem;
}

.bookmark-del span:nth-child(1) {
    transform: rotate(45deg);
}

.bookmark-del span:nth-child(2) {
    transform: rotate(-45deg);
}

.tooltip-bookmark .tooltip-inner {
    padding: 1rem;
    font-size: 1.2rem;
}

.tooltip.favorite-removed .tooltip-inner {
    background-color: var(--secondary);
}

.tooltip.favorite-removed .arrow::before, .tooltip.favorite-removed .bs-tooltip-auto[x-placement^="top"] .arrow::before {
    border-top-color: var(--secondary);
}

@media (min-width: 992px) {
    .bookmark-item-info {
        align-items: end;
    }

    .bookmark-item-detail {
        flex: 1;
        width: auto;
    }

    .bookmark-item-btn {
        align-items: center;
        flex-direction: column;
        gap: 1.5rem;
    }

    .bookmark-item-btn .btn {
        min-width: 25rem;
        margin: 0;
    }
}

@media (max-width: 991.98px) {
    .bookmark-item-btn {
        width: 100%;
        gap: 0.5rem;
    }

    .bookmark-item-btn .btn:first-child {
        width: 30%;
    }

    .bookmark-item-btn .btn:last-child {
        flex: 1;
    }
}

/* ----------------------------
求人応募
---------------------------- */
.job-application-btn-area {
    display: flex;
    justify-content: center;
    column-gap: 1.5rem;
    row-gap: 2rem;
    margin-top: 3rem;
}

.job-application-btn-area .btn {
    width: 22rem;
    margin: 0;
}

@media (max-width: 767.98px) {
    .job-application-btn-area {
        flex-direction: column;
    }

    .job-application-btn-area .btn {
        width: 100%;
    }
}

/* ----------------------------
未ログイン時の応募の最初の画面
---------------------------- */
.login-or-register {
    display: flex;
    gap: 2rem;
}

.login-or-register > div {
    flex: 1;
    max-width: 700px;
    padding: 7rem 3rem 3rem;
}

.login-or-register-title {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 1.6rem;
    padding: 1.5rem 0;
    background-color: var(--primary-light);
}

.auth-action-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 1.5rem;
    row-gap: 2rem;
    max-width: 54rem;
    margin: 3rem auto 0;
}

.auth-action-wrap .btn {
    width: 100%;
    margin: 0;
}

.login-or-register .btn {
    width: 20rem;
    max-width: 20rem;
}

@media (min-width: 992px) {
    .login-or-register {
        align-items: stretch;
    }

    .login-or-register > div {
        margin: 0 auto 4rem;
    }
    
    .auth-action-wrap .btn:nth-of-type(1),
    .auth-action-wrap .btn:nth-of-type(2) {
        flex: 1;
    }

    .auth-action-wrap .btn {
        max-width: none;
    }
}

@media (max-width: 991.98px) {
    .login-or-register {
        flex-direction: column;
    }

    .login-or-register > div {
        padding: 7rem 3rem 3rem;
    }
}

/* ----------------------------
サービス申し込み
---------------------------- */
.card-lp {
    min-height: 40rem;
    padding: 5rem;
    margin-bottom: 6rem;
}

.lp-step {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border: none;
    background-image: linear-gradient(to right, var(--dark) 0.15rem, transparent 0.15rem);
    background-size: 0.4rem 0.15rem;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.lp-form .form-group {
    margin-bottom: 2rem;
}

.lp-form .form-group label {
    font-size: 1.4rem;
}

.lp-step-item.active::after {
    display: none;
}

.lp-form-btn {
    justify-content: space-between;
    margin-top: 3rem;
}

.lp-form-btn .btn {
    margin-top: 0;
}

.lp-form-btn > .btn-primary:only-child {
    margin: 0 auto !important;
}

.card-lp-title {
    margin: 2rem 0 0.5rem;
    color: var(--primary);
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
}

.lp-finish-message {
    display: block;
    padding-bottom: 2rem;
    line-height: 1.8;
}

.form-control-group-phone .form-control {
    max-width: 10rem;
}

@media (min-width: 792px) {
    .lp-footer .copyright {
        color: var(--primary);
        background-color: transparent;
    }
}

@media (min-width: 768px) {
    .lp-finish-message {
        display: block;
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    .card-lp {
        min-height: 35rem;
        padding: 2rem;
    }

    .lp-form-btn .btn {
        width: calc(100% - 7rem);
        margin-left: auto;
        margin-right: 0;
    }

    .lp-footer {
        padding: 0;
    }

    .lp-footer img {
        display: inline-block;
        margin: 10px auto;
    }
}

/* ----------------------------
テンプレート
---------------------------- */
.template-heading-bar {
    margin-top: 3rem;
}

.template-faq {
    background-color: var(--light-gray);
    border-radius: 1rem;
}

.template-faq:not(:last-of-type) {
    margin-bottom: 1.5rem;
}

.template-faq p {
    margin: 0;
}

.template-faq .faq-q {
    background-color: var(--light-gray)!important;
    border-radius: 1rem;
}

.template-point-title {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2.5rem;
}

.template-point-number {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 4.5rem;
    height: 4.5rem;
    padding-top: 0.3rem;
    line-height: 1;
    color: var(--white);
    font-size: 0.8rem;
    font-weight: 700;
    background-color: var(--primary);
}

.template-point-number span {
    font-size: 2.5rem;
}

.template-point-text {
    margin: 0;
    font-size: 1.8rem;
}

.template-3column {
    display: flex;
    gap: 1.5rem;
}

.template-3column-item {
    flex: 1;
}

.template-text-image img {
    flex-basis: 30%;
}

.template-btn-2column {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 3rem;
}

.template-table {
    width: 100%;
    border-collapse: collapse;
}
.template-table th, .template-table td {
    border: 0.1rem solid var(--gray-2);
    padding: 1rem;
    text-align: left;
}
.template-table th {
    font-weight: 700;
    background-color: var(--primary-light);
}

.template-component-set {
    display: flex;
    align-items: start;
    gap: 1.5rem;
}

.template-components {
    flex: 1;
}

.template-component-set img {
    width: 20rem;
    height: auto;
    flex-shrink: 0;
}

.template-tag .tag {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 2.2rem;
    margin: 0;
    padding: 0 0.5rem;
    color: var(--white);
    font-size: 1.2rem;
    font-weight: 500;
    border-radius: 0.5rem;
}

.tag-pink {
    background-color: var(--pink);
}

.tag-lime {
    background-color: var(--tag-lime);
}

.tag-blue {
    background-color: var(--tag-blue);
}

.tag-orange {
    background-color: var(--tag-orange);
}

.tag-yellow {
    background-color: var(--tag-yellow);
}

.tag-description {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
    background-color: var(--primary-light);
    border-radius: 1rem;
}

.tag-description dl {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0;
}

.tag-description dt {
    flex-shrink: 0;
}

.tag-description dd {
    margin: 0;
}

.step {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 4rem;
}

.step-number {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 5rem;
    height: 5rem;
    font-size: 1.2rem;
    color: var(--white);
    background-color: var(--primary);
}

.step-number span {
    font-size: 2rem;
}

.step p {
    font-weight: 700;
    font-size: 1.6rem;
}

.freepage-template h2 {
    margin-bottom: 2rem;
    padding-top: 6rem;
    text-align: center;
}

.freepage-template h2 span {
    color: var(--secondary);
    font-size: 1.8rem;
    font-weight: 700;
}

.freepage-template h3 {
    padding: 0.75rem;
    margin-bottom: 1rem;
    background-color: var(--primary-light);
}

.freepage-template p {
    margin-bottom: 2rem;
    line-height: 1.7;
    font-weight: 400;
}

.size-full {
    width: 100%;
    margin-bottom: 2rem;
}

.btn-area {
    display: flex;
    gap: 2rem;
    margin: 3rem auto;
}

.btn-area a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5rem;
    max-width: 30rem;
    margin: 0 auto;
    padding-left: 2rem;
    padding-right: 2rem;
    font-size: 1.8rem;
}

.btn-area a::before {
    content: "";
    position: absolute;
    top: 51%;
    right: 2rem;
    transform: translateY(-50%);
    display: inline-block;
    width: 0.642rem;
    height: 1.1rem;
    padding-top: 0.5rem;
    background: url(/general/img/icon_arrow_3.svg) no-repeat;
    background-size: contain;
}

.column-flex {
    display: flex;
    gap: 2rem;
    justify-content: space-between;
}

.template-contact-btn {
    display: block;
    width: 100%;
    padding: 1rem;
    text-align: center;
    color: var(--dark);
    background-color: var(--primary-light);
    border-radius: 0.7rem;
}

.template-contact-btn-inner {
    padding: 2rem;
    background-color: var(--primary-light);
    border: 0.1rem solid var(--primary);
    border-radius: 0.5rem;
}

.template-contact-btn-inner p {
    text-align: center;
    margin: 0;
}

.template-contact-btn-inner p.free-dial {
    display: inline-block;
}

a.template-btn {
    width: 30rem;
    height: auto;
    padding: 0.9rem 4rem 1rem 3rem;
    max-width: none;
    min-width: 0;
}

.flow {
    display: flex;
    align-items: stretch;
    margin: 1rem 0;
}

.flow-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 1.5rem;
    background: var(--primary-light);
    border-radius: 0.5rem;
}

.flow i {
    flex-shrink: 0;
    margin: 0.5rem;
    color: var(--primary);
    align-self: center;
}

.flow-vertical {
    flex-direction: row;
    justify-content: center;
}

.flow-vertical > .flow-item {
    flex-grow: 1;
    flex-basis: 0;
}

.flow-horizontal {
    align-items: center;
    flex-direction: column;
}

.flow-horizontal .flow-item {
    flex-direction: column;
    flex-grow: 0;
    flex-basis: auto;
}

.template-mv-image {
    margin-bottom: 1.5rem;
    border-radius: 0.5rem;
    overflow: hidden;
}

.template-mv-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (min-width: 992px) {
    .template-btn-2column .btn {
        min-width: 30rem;
    }

    .template-component-set .btn {
        margin: 0 0 0 auto;
    }
    
    .tag-description dt {
        width: 19rem;
    }

    .column-2 {
        display: flex;
        width: calc((100% - 1.5rem) / 2);
        gap: 1.5rem;
    }

    .column-3 {
        display: flex;
        width: calc((100% - 3rem) / 3);
        gap: 1.5rem;
    }

    .flow .vertical-write {
        writing-mode: vertical-rl;
        text-orientation: upright;
    }

    .flow-horizontal .flow-item {
        display: flex;
        justify-content: flex-start;
        width: 70%;
        max-width: 600px;
    }

    .template-mv-image {
        height: 38rem;
    }

    .template-mv-image img {
        display: block;
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 991.98px) {
    .template-3column {
        display: flex;
        gap: 2rem;
    }

    .template-btn-2column {
        flex-direction: column;
        gap: 2rem;
    }

    .template-btn-2column .btn {
        width: 100%;
        max-width: none;
    }
    
    .template-table {
        display: block;
    }

    .template-table thead {
        display: none;
    }

    .template-table tbody {
        display: block;
        width: 100%;
    }

    .template-table tr {
        display: block;
        width: 100%;
    }

    
    .template-table tr:not(:first-of-type) {
        border-top: 0.1rem solid var(--gray-2);
    }

    .template-table tr:not(:last-of-type) {
        margin-bottom: 1.5rem;
    }
    
    .template-table td {
        position: relative;
        display: block;
        padding: 1rem 1.5rem 1rem 13rem;
        border-top: none;
        border-bottom: 0.1rem solid var(--gray-2);
    }

    .template-table td::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        content: attr(data-label);
        display: inline-block;
        width: 12rem;
        font-weight: bold;
        padding: 1rem;
        background-color: var(--primary-light);
    }

    .template-table tr:first-of-type td:first-of-type {
        border-top: 0.1rem solid var(--gray-2);
    }

    .template-component-set {
        flex-direction: column;
    }

    .template-component-set img {
        margin: 0 auto;
    }

    .tag-description dl {
        flex-direction: column;
        align-items: start;
        gap: 0.5rem;
    }

    .btn-area {
        flex-direction: column;
    }

    .flow-vertical {
        flex-direction: column;
        align-items: stretch;
    }

    .flow-vertical .flow-item {
        flex-grow: 0;
        flex-basis: auto;
        flex-direction: column;
        width: 100%;
    }

    .flow-vertical i {
        transform: rotate(90deg);
    }

    .template-mv-image img {
        object-position: unset!important;
    }
}

/* ----------------------------
登録・相談拠点一覧
---------------------------- */
.base-box {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
}

.base-box:not(:last-of-type) {
    margin-bottom: 3rem;
}

.base-table {
    flex: 0 0 auto;
    margin: 0;
}

.base-table a {
    text-decoration: underline;
}

.base-table tbody .base-name th {
    background-color: var(--light-gray2);
}

.base-table.table-default tbody tr:last-of-type th {
    border-bottom: none!important;
}

.base-table.table-default tbody tr:first-of-type {
    padding-top: 0;
}

.base-map {
    background-color: var(--light-gray);
}

.base-map-link {
    margin: 0;
    padding: 0.3rem 1.3rem 1rem;
    text-align: right;
}

@media (min-width: 992px) {
    .base-table {
        width: 52%;
    }

    .base-table tbody th {
        width: 12rem;
    }

    .base-table tbody .base-name td {
        background-color: var(--light-gray);
    }

    .base-map {
        width: calc(48% - 2rem);
    }

    .base-map iframe {
        width: 100%;
    }    
}

@media (max-width: 767.98px) {
    .base-box {
        flex-direction: column;
        gap: 0;
    }

    .base-table {
        border: 0.1rem solid var(--light-gray2);
    }

    .base-map {
        width: 100%;
    }

    .base-map iframe {
        width: 100%;
    }
}


/* ----------------------------
派遣FAQ
---------------------------- */
.faq {
    width: calc(100% + 6rem);
    height: calc(100% + 6rem);
    margin: -3rem 0 0 -3rem;
    padding: 0;
    background-color: var(--light-gray);
    border: none;
}

.faq-anchor-list {
    display: flex;
    flex-wrap: wrap;
    border-top: 0.1rem solid var(--gray-2);
    border-left: 0.1rem solid var(--gray-2);
}

.faq-anchor-item {
    width: calc(100% / 4);
    height: 6rem;
    padding: 0 1.5rem;
    border-bottom: 0.1rem solid var(--gray-2);
    border-right: 0.1rem solid var(--gray-2);
    transition: all 0.3s ease-in-out;
}

.faq-anchor-item:hover {
    background-color: var(--primary-light);
    opacity: 1;}

.faq-anchor-item a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    color: var(--dark);
}

.faq-anchor-item a:hover {
    opacity: 1;
}

.faq-page-anchor {
    display: flex;
    gap: 2rem;
}

.faq-list {
    display: flex;
    flex-flow: column;
    gap: 1.5rem;
    margin-bottom: 4rem;
}

.faq-list p {
    margin: 0;
    line-height: 1.7;
    text-emphasis: left;
}

.faq-list a {
    color: var(--primary);
    text-decoration: underline;
}

.faq-list li {
    font-size: 1.4rem;
    background-color: var(--white);
    border-radius: 1rem;
    cursor: pointer;
}

.faq-q {
    position: relative;
    width: 100%;
    padding: 3rem 6rem 3rem 6.5rem;
    text-align: left;
    font-size: 1.5rem;
    font-weight: 500;
    background-color: var(--white) !important;
    border: none;
    opacity: 1;
    line-height: 1.5;
}

.faq-q > span:first-of-type {
    position: absolute;
    top: 3.8rem;
    left: 3rem;
    transform: translateY(-50%);
    padding-right: 1rem;
    color: var(--primary);
    font-size: 2.8rem;
    font-weight: 500;
}

.faq-a {
    position: relative;
    width: 100%;
    padding: 0 3rem 3rem 6.5rem;
    line-height: 1.7;
    color: var(--dark);
    font-size: 1.4rem;
    font-weight: 400;
    opacity: 1;
}

.accordion-header.open .faq-a {
    display: flex;
    align-items: center;
}

.faq-a > span:first-of-type {
    position: absolute;
    top: -1.3rem;
    left: 3.3rem;
    color: var(--pink);
    font-size: 2.8rem;
    font-weight: 500;
}

@media screen and (min-width: 992px) {
    .faq-q {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 991.98px) {
    .faq {
        width: calc(100% + 4rem);
        height: calc(100% + 4rem);
        margin: -2rem 0 0 -2rem;
    }

    .faq-anchor-item {
        width: 50%;
        min-height: 6rem;
        padding: 1rem 1.5rem;
        height: auto;
    }

    .faq-list {
        gap: 1rem;
        margin-bottom: 3rem;
    }

    .faq-list li {
        border-radius: 0.5rem;
    }

    .faq-q {
        padding: 2rem 5rem 2rem 4.8rem;
        font-size: 1.4rem;
    }

    .faq-q > span:first-of-type {
        top: 2.8rem;
        left: 2rem;
        font-size: 2.4rem;
    }

    .faq-a {
        padding: 0 2rem 2rem 4.8rem;
        font-size: 1.4rem;
    }
    
    .faq-a > span:first-of-type {
        top: -1rem;
        left: 2.15rem;
        font-size: 2.4rem;
    }
}

/* ----------------------------
サイトマップ
---------------------------- */
.sitemap a {
    color: var(--dark);
    position: relative;
    padding-left: 1.2rem;
}

.sitemap a::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    left: 0;
    display: inline-block;
    width: 0.642rem;
    height: 1.1rem;
    padding-top: 0.5rem;
    background: url(/general/img/icon_arrow_3.svg) no-repeat;
    background-size: contain;
}

.sitemap a:hover {
    color: var(--primary);
    opacity: 1;
}

.sitemap-title {
    margin: 0 0 1rem;
    padding: 0.5rem 1.5rem;
    font-weight: 500;
    background-color: var(--primary-light);
}

.sitemap-list,
.sitemap-list-2 {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-left: 1em;
}

.sitemap-list-2 {
    padding: 1rem 0 0;
}

.sitemap-list li {
    padding-left: 1rem;
    text-indent: -1rem;
    line-height: 1.7;
}
    
.sitemap-list-2 li {
    position: relative;
    padding-left: 3rem;
}

.sitemap-list-2 li::before {
    content: "";
    position: absolute;
    top: 1.05rem;
    left: 0.5rem;
    width: 1rem;
    height: 0.2rem;
    display: inline-block;
    background-color: var(--light-gray);
    border-radius: 0.5rem;
}

.sitemap-list-2 li::after {
    content: "";
    position: absolute;
    top: -2.4rem;
    left: 0.5rem;
    width: 0.2rem;
    height: 3.5rem;
    display: inline-block;
    background-color: var(--light-gray);
    border-radius: 0.5rem;
}

.sitemap-list-2 li:first-of-type::after {
    top: -0.6rem;
    height: 1.6rem;
}

@media (min-width: 992px) {
    .sitemap {
        display: flex;
        gap: 4rem;
        justify-content: space-between;
        margin: 0 2rem;
    }

    .sitemap > div {
        flex: 1;
    }
}

@media screen and (max-width: 991.98px) {
    .sitemap {
        margin-top: -5rem;
    }

    .sitemap-title {
        margin: 6rem 0 1rem!important;
    }

    .sitemap-list {
        padding-left: 1rem;
    }
}

/* ----------------------------
プライバシーポリシー
---------------------------- */
.privacy-mark-box {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 2rem;
    border: 0.1rem solid var(--gray-2);
    border-radius: 0.5rem;
}

@media screen and (max-width: 991.98px) {
    .privacy-mark-box {
        flex-direction: column;
        padding: 1rem;
    }
}

/* ----------------------------
投稿ページ
---------------------------- */
.post-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    column-gap: 2rem;
    row-gap: 4rem;
    margin: 0;
}

.post-list-item {
    width: calc((100% - 6rem) / 4);
    margin: 0;
    background-color: var(--white);
    border-radius: 0.5rem;
}

.post-list-img {
    border-radius: 0.5rem 0.5rem 0 0;
}


.post-list-title {
    font-size: 1.4rem;
}

.post-list-contents {
    padding: 1rem 1.8rem 2rem;
}

ul.post-ul {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

@media screen and (max-width: 991.98px) {
    .post-list-item {
        width: calc((100% - 4rem) / 2);
    }
}

@media screen and (max-width: 767.98px) {
    .post-list {
        flex-direction: column;
    }

    .post-list-item {
        width: 100%;
    }
}

/* ----------------------------
マイページ
---------------------------- */
.mypage-side-column .sidenav-item {
    min-height: 0;
    font-size: 1.4rem;
}

.sidenav-item.btn-primary {
    background-image: none;
}

a.mypage-top-btn {
    position: relative;
    width: 100%;
    max-width: 79rem;
    background-color: var(--primary);
}

a.mypage-top-btn::before {
    content: "";
    position: absolute;
    top: 51%;
    right: 2rem;
    transform: translateY(-50%);
    display: inline-block;
    width: 0.642rem;
    height: 1.1rem;
    padding-top: 0.5rem;
    background: url(/general/img/icon_arrow_2.svg) no-repeat;
    background-size: contain;
}

.table-option-child {
    position: relative;
}

.table-option-child::before {
    content: "";
    position: absolute;
    top: 0.9rem;
    left: -1.5rem;
    width: 1rem;
    height: 0.2rem;
    display: inline-block;
    background-color: var(--light-gray);
    border-radius: 0.5rem;
}

.table-option-child::after {
    content: "";
    position: absolute;
    top: -1rem;
    left: -1.5rem;
    width: 0.2rem;
    height: 2rem;
    display: inline-block;
    background-color: var(--light-gray);
    border-radius: 0.5rem;
}

.table-option-child:first-of-type::after {
    top: 0;
    height: 0.9rem;
}

.work-history-form .search-modal .modal-footer {
    justify-content: center;
}

@media (min-width: 768px) {
    .card-news {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .mypage-side-column {
        margin: 9.2rem 0 0;
    }

    .mypage-side-column .sidenav-item::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%)!important;
        width: 0.642rem;
        height: 1.1rem;
        background: url(/general/img/icon_arrow_3.svg) no-repeat;
        background-size: contain;
        border: none;
        transform: none;
    }

    .mypage-side-column .sidenav-item {
        height: auto;
        border: none!important;
    }
    
    .mypage-side-column .sidenav-item:not(:last-of-type) {
        background-image: linear-gradient(to right, var(--dark) 0.15rem, transparent 0.15rem);
        background-size: 0.4rem 0.15rem;
        background-repeat: repeat-x;
        background-position: left bottom;
    }

    .my-page-card .table-default tbody th {
        width: 33%!important;
    }
}

/* お知らせ */
@media (min-width: 992px) {
    .mypage-news-list {
        padding: 2rem 3rem;
    }
}

/* 応募履歴 */
.application-history-client {
    font-weight: 400;
}

.application-history-title {
    font-size: 1.8rem;
}

/* ----------------------------
ニャプラLP
---------------------------- */
.lp-custom {
    overflow-x: hidden;

    body {
        position: relative;
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0;
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif!important;
        background-color: transparent;
        overflow-x: hidden;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    h1,h2 {
        margin-bottom: 0;
        font-weight: normal!important;
    }
    
    header {
        position: inherit;
        width: 100%;
        margin: -0.7rem 0 0 0;
        text-shadow: none!important;
        z-index: -1;
    }

    header img {
        width: 100%;
    }

    .text-lp-red {
        color: var(--lp-red);
    }

    header.scrolled {
        box-shadow: none;
    }

    .container {
        padding: 0 2rem;
    }

    .form-area {
        position: relative;
    }

    .card-lp {
        padding: 6%;
        border: 0.7rem solid var(--lp-red);
    }

    .formBack .item01,
    .formBack .item02,
    .formBack .item03 {
        position: absolute;
        z-index: -1;
    }

    .formBack .item01 {
        width: 18.93vw;
        position: absolute;
        top: 17.58%;
        left: -10.79%;
    }

    .formBack .item02 {
        width: 12.27vw;
        position: absolute;
        top: 35.08%;
        right: -8.15%;
    }

    .formBack .item03 {
        width: 13.2vw;
        position: absolute;
        bottom: 16.77%;
        right: -5.1%;
    }

    .form-title {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .form-title .text {
        width: 30%;
        margin: 0 2rem 0 0;
    }

    .form-title h2 {
        margin-bottom: 1.7rem;
        font-size: 2rem;
        color:  var(--lp-red);
        white-space: nowrap;
    }

    .lp-step {
        gap: 0.5rem;
        margin-bottom: 1.7rem;
        padding: 0;
        background: none;
    }

    .lp-step-item {
        width: 4.1rem;
        height: 3.7rem;
        padding: 0;
        background: url(/general/img/lp_custom/form_number.png) no-repeat;
        background-size: contain;
    }

    .lp-step-item.active {
        background: url(/general/img/lp_custom/form_number_active.png) no-repeat;
        background-size: contain;
    }

    .lp-step-item {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    

    .lp-step-item:after {
        content: "";
        position: absolute;
        top: 52%;
        left: 42%;
        transform: translate(-50%, -50%);
        display: inline-block;
        width: 2.3rem;
        height: 2.4rem;
    }

    .lp-step-item:nth-of-type(1):after {
        background: url(/general/img/lp_custom/from_number01.svg) no-repeat;
        background-size: contain;
    }

    .lp-step-item:nth-of-type(2):after {
        background: url(/general/img/lp_custom/from_number02.svg) no-repeat;
        background-size: contain;
    }

    .lp-step-item:nth-of-type(3):after {
        background: url(/general/img/lp_custom/from_number03.svg) no-repeat;
        background-size: contain;
    }

    .lp-step-item:nth-of-type(4):after {
        background: url(/general/img/lp_custom/from_number04.svg) no-repeat;
        background-size: contain;
    }

    .lp-step-item:nth-of-type(5):after {
        background: url(/general/img/lp_custom/from_number05.svg) no-repeat;
        background-size: contain;
    }

    .lp-step-item.lp-step-confirm:after {
        background: url(/general/img/lp_custom/from_number06.svg) no-repeat!important;
        background-size: contain;
    }

    .text-danger {
        font-size: 1.2rem;
        margin-bottom: 2rem;
    }

    .form-control-group-wrap,
    .form-control-group {
        width: 100%;
    }

    .form-group {
        align-items: flex-start;
        width: 100%;
    }

    .lp-form .form-group .form-label label {
        font-size: 1.3rem;
    }

    .required,
    .optional {
        padding: 0.25rem 0.5rem;
        border: 0.1rem solid  var(--lp-red);
        background-color: transparent;
    }

    .optional {
        border: 0.1rem solid  var(--dark);
    }
    
    .form-check-input[type="radio"] + label::before {
        border: 0.2rem solid  var(--lp-light-gray);
    }

    .form-check-input[type="radio"] + label {
        padding-right: 1rem;
    }

    .form-check-input[type="radio"]:checked + label::after {
        background:  var(--lp-red);
    }

    .form-check-input[type="checkbox"] + label {
        padding-right: 1rem;
    }

    .form-check-input[type="checkbox"] + label::before {
        border: 0.2rem solid  var(--lp-light-gray);
    }

    .form-check-input[type="checkbox"]:checked + label::before {
        background-color:  var(--lp-red);
        border-color:  var(--lp-red)!important;
    }
    
    .form-group-1.is-invalid .form-control {
        background-color: var(--lp-light-pink);
    }

    .lp-custom-btn {
        display: flex;
        justify-content: center;
        flex-direction: row-reverse;
        margin-top: 7rem;
        row-gap: 2rem;
        column-gap: 3rem;
    }

    .lp-custom-btn .btn {
        position: relative;
        display: flex;
        justify-content: center;
        align-self: center;
        width: 24rem;
        height: 6rem;
        margin: 0;
        background-color:  var(--lp-red);
        border: 0.4rem solid  var(--lp-pink);
        border-radius: 5rem;
    }

    .lp-custom-btn2 .btn {
        max-width: none;
        min-width: auto;
        width: 34rem;
        height: 8rem;
    }

    .lp-custom-btn:has([value="confirm"]) {
        flex-direction: column;
    }

    .lp-custom-btn:has([value="register"]) {
        flex-direction: column-reverse;
    }

    .lp-custom-btn:has([value="confirm"]) .btn {
        width: 35rem;
        max-width: 100%;
    }

    .lp-custom-btn:has([value="confirm"]) .btn.lp-btn-next {
        align-items: center;
        height: 7rem;
        line-height: 1.2;
        font-size: 1.6rem;
    }

    .lp-custom-btn:has([value="register"]) .btn {
        width: 28rem;
    }

    .lp-btn-next,
    .lp-prev {
        font-family: var(--lp-font);
        font-weight: 400;
        letter-spacing: 0.2rem;
    }

    .lp-custom-btn .btn.lp-prev {
        font-family: var(--lp-font);
        letter-spacing: 0.15rem;
        color: var(--lp-red)!important;
        background-color:  #e0e0e0;
        border: 0.4rem solid  #c2c2c2;
    }

    .lp-btn-next::after {
        position: absolute;
        top: 50%;
        right: 2.5rem;
        transform: translateY(-50%);
        content: '';
        display: inline-block;
        width: 1.2rem;
        height: 1.1rem;
        background-color: var(--white);
        clip-path: path("M11.2,4.8 L2.2,0.3 C1.5,-0.1,0.5,0.4,0.5,1.2 L0.5,9.8 C0.5,10.6,1.5,11.1,2.2,10.7 L11.2,6.2 C11.8,5.9,11.8,5.1,11.2,4.8 Z");
    }

    .lp-prev::after {
        position: absolute;
        top: 50%;
        left: 2.5rem;
        transform: translateY(-50%) rotate(180deg);
        content: '';
        display: inline-block;
        width: 1.2rem;
        height: 1.1rem;
        background-color: var(--lp-red);
        clip-path: path("M11.2,4.8 L2.2,0.3 C1.5,-0.1,0.5,0.4,0.5,1.2 L0.5,9.8 C0.5,10.6,1.5,11.1,2.2,10.7 L11.2,6.2 C11.8,5.9,11.8,5.1,11.2,4.8 Z");
    }

    .form-group-1 {
        position: relative;
        margin-bottom: 0.85rem!important;
    }


    .form-control {
        padding: 0 1rem;
        background-color: var(--lp-light-gray);
        border: none;
    }

    .form-control:focus {
        outline: 0.15rem solid var(--dark);
    }
    
    .d-flex:has(> select) {
        gap: 0.2rem;
    }

    .d-flex:has(> select) select {
        flex: none;
        width: 7rem;
        padding: 0 1.5rem 0 0.5rem;
    }

    .form-control.is-invalid {
        background-color: var(--lp-light-pink);
        background-image: none;
    }

    .modal-input-wrap {
        position: relative;
    }

    .search-modal .modal-content {
        background-color:  var(--lp-light-pink);
    }

    .search-modal .modal-title {
        font-weight: 500;
    }

    .search-modal-body .search-accordion-cat,
    .search-modal-body .search-accordion-subcat {
        border: none;
    }
    
    .search-modal .close span {
        height: 0.1rem;
        background-color: var(--dark);
    }
    
    .tag-selected {
        padding-top: 0.4rem;
        background-color:  var(--lp-light-gray);
    }

    .modal-footer {
        background-color:  var(--lp-light-gray);
    }

    .modal-footer .btn {
        background-color:  var(--lp-pink);
        border: none;
    }

    .search-modal .close {
        right: 2rem;
    }

    .alert-danger {
        padding: 0;
        font-size: 1.2rem;
        background-color: transparent;
        border: none;
    }

    .alert-danger::before {
        content: "※";
    }

    a.zipcode-link {
        display: inline-block;
        margin-top: 0.5rem;
        color: var(--dark);
    }

    a.zipcode-link:hover{
        color: var(--lp-red);
        text-decoration: underline;
    }

    a.zipcode-link .icon{
        display: inline-block;
        width: 10px;
        height: 10px;
        margin-left: 5px;
    }
    
    /* 下部コンテンツ */
    .titleWrap {
        margin: 5rem 0;
        padding: 2.5rem 0;
        text-align: center;
        color: var(--white);
        background-color: var(--lp-red);
    }

    .titleWrap h2 {
        font-family: var(--lp-font);
        font-size: 4.5rem;
        line-height: 1;
    }

    .titleWrap span {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1.5rem;
        margin: 1.2rem auto 0;
        padding: 0 4.8rem;
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 1.5em;
    }

    .titleWrap span:before,
    .titleWrap span:after {
        content: "";
        display: inline-block;
        height: 0.2rem;
        width: 3.15rem;
        background-color: var(--white);
        border-radius: 0.1rem;
    }

    .titleWrap span:after {
        left: auto;
        right: 0;
    }

    #merit {
        text-align: center;
        line-height: 1;
    }

    #merit .inner {
    position: relative;
    }

    #merit .meritList {
        display: block;
        width: 80.45%;
        margin: 0 auto;
    }

    #merit .meritList li {
        width: auto;
        position: relative;
        border: 0.3rem solid #e60012;
        border-radius: 1rem;
        padding: 16.79% 11% 11% 11%;
        margin-bottom: 3.75rem;
        background: #fff;
    }

    #merit .meritList li:nth-child(4) {
        margin-bottom: 5rem;
    }

    #merit .meritList li .number {
        position: absolute;
        top: -0.1rem;
        left: -0.1rem;
        width: 24.12%;
    }

    #merit .meritList li h3 {
        font-size: 1.5rem;
        color: #e60012;
        line-height: 1.6em;
        font-weight: 600;
        margin: 13.84% 0 9.23%;
    }

    #merit .meritList li .textWrap {
        font-size: 1.2rem;
        line-height: 1.6em;
        font-weight: 600;
        text-align: left;
    }

    #merit .hukidashi {
        width: 66.72%;
        margin: 0 auto 4.48%;
    }

    #merit .hukidashi img {
        width: 100%;
    }

    #merit .flow {
        width: 72.54%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin: 0 auto;
    }

    #merit .flow li {
        width: 38.48%;
        position: relative;
    }

    #merit .flow li:nth-child(1):after,
    #merit .flow li:nth-child(3):after {
        content: '';
        display: inline-block;
        width: 1.7rem;
        height: 2.5rem;
        background-image: url("../img/arrow.svg");
        background-size: contain;
        vertical-align: middle;
        position: absolute;
        top: 50%;
        right: -39%;
        transform: translateY(-50%);
    }

    #merit .flow li .number {
        width: 30%;
        margin: 0 auto 0.7rem;
    }

    #merit .flow li .imgWrap {
        margin-bottom: 12.3%;
    }

    #merit .flow li .textWrap {
        font-size: 1.25rem;
        color: #e60012;
        font-weight: 600;
    }

    #merit .inner {
        position: relative;
    }

    #merit .inner .meritBack {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    #merit .inner .meritBack img {
        width: 100%;
    }

    #merit .inner .meritBack .item01 {
        position: absolute;
        top: 4.098%;
        left: -4rem;
        width: 8.3rem;
        height: 8.3rem;
    }

    #merit .inner .meritBack .item02 {
        position: absolute;
        top: 10.949%;
        right: -0.5rem;
        width: 8rem;
        height: 13rem;
    }

    #merit .inner .meritBack .item03 {
        position: absolute;
        top: 22.58%;
        left: -4.2rem;
        width: 6rem;
        height: 8.7rem;
    }

    #merit .inner .meritBack .item04 {
        position: absolute;
        top: 29%;
        right: 1.5rem;
        width: 6rem;
        height: 8.7rem;
    }

    #merit .inner .meritBack .item05 {
        position: absolute;
        top: 34.66%;
        left: 0.3rem;
        width: 3.1rem;
        height: 7.9rem;
    }

    #merit .inner .meritBack .item06 {
        position: absolute;
        top: 40.875%;
        right: -1rem;
        width: 9.4rem;
        height: 9.4rem;
    }

    #merit .inner .meritBack .item07 {
        position: absolute;
        top: 49.695%;
        left: -1.1rem;
        width: 5.9rem;
        height: 20.7rem;
    }

    #merit .inner .meritBack .item08 {
        position: absolute;
        top: 53.5%;
        right: -1rem;
        width: 9.9rem;
        height: 10.4rem;
    }

    #merit .inner .meritBack .item09 {
        position: absolute;
        top: 69.37%;
        right: -0.5rem;
        width: 6rem;
        height: 8.7rem;
    }

    #merit .inner .meritBack .item10 {
        position: absolute;
        top: 73.169%;
        left: -1rem;
        width: 9.4rem;
        height: 9.4rem;
    }

    #merit .inner .meritBack .item11 {
        position: absolute;
        top: 74.74%;
        right: 0.5rem;
        width: 3.1rem;
        height: 7.9rem;
    }

    #occupation .imgWrap_sp {
        width: 100%;
    }

    #occupation .textWrap {
        font-size: 1.5rem;
        /* color: #e60012; */
        line-height: 1.6em;
        font-weight: 600;
        text-align: center;
        margin: 5rem auto;
    }

    /* footer */
    footer {
        position: relative;
        margin: 0;
        padding: 3.75rem 0;
        background-color: #e2e2e2;
    }

    footer .logoWrap {
        width: 19.15rem;
        margin: 0 auto;
    }

    footer .textWrap {
        text-align: center;
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.6em;
        margin: 2.3rem auto 3.75rem;
    }

    footer .copy {
        font-size: 0.6rem;
        text-align: center;
    }

    /* 確認画面 */
    .form-label-confirm {
        font-weight: 700;
        background-color: transparent;
    }

    .form-control-confirm {
        margin: 0;
    }

    /* 完了画面 */
    .card-lp-custom-title{
        white-space: nowrap;
        color: var(--lp-red);
    }

    .lp-finish-message2 {
        padding: 2.2rem;
        background-color: var(--lp-light-pink);
        border-radius: 1rem;
    }

    .lp-finish-message2 h3 {
        margin: 0;
        padding: 1rem 0;
        text-align: center;
        line-height: 1.5em;
        font-size: 1.3rem;
        font-weight: 700;
    }

    .lp-finish-message2 p {
        font-size: 1.2rem;
    }
}

@media (min-width: 992px) {
    .lp-custom {
        .container {
            margin-top: -4.5vw;
        } 

        .card-lp {
            width: 90rem;
            margin: 0 auto;
            padding: 8rem 6rem 6rem;
            background: #fff;
            border-radius: 1rem;
            box-shadow: 0 0px 1.5rem 0px rgb(0 0 0 / .2);
        }

        .form-area {
            padding-bottom: 7rem;
        }

        .form-area::after {
            content: '';
            position: absolute;
            top: 38.5rem;
            left: 0;
            width: 100%;
            height: 100%;
            background: url(/general/img/lp_custom/mv_item10_PC.png), url(/general/img/lp_custom/mv_item11_PC.png);
            background-position: 10rem 10rem, 95% 25rem;
            background-size: 10rem 18.8rem, 12rem 26rem;
            background-repeat: no-repeat;
            z-index: -1;
        }

        .form-title {
            margin-bottom: 3.7rem;
        }
        
        .form-title h2 {
            margin-bottom: 0;
            font-size: 3.2rem;
        }

        .lp-step {
            margin-bottom: 4rem;
            gap: 3.8rem;
            margin-left: 1rem;
        }

        .lp-step-item {
            width: 9.4rem;
            height: 8rem;
            padding: 0;
        }      

        .lp-step-item:after {
            width: 3.4rem;
            height: 3.3rem;
        }

        .form-group {
            gap: 6rem;
            margin-bottom: 4rem;
        }

        .form-label {
            flex-shrink: 0;
            width: 17rem;
        }

        .form-control-group-wrap {
            display: flex;
            flex: 1;
            row-gap: 2rem;
            flex-wrap: wrap;
        }

        .form-control-group {
            flex: 1;
        }
    
        .form-check-input[type="radio"]:not(.modal .form-check-input) + label::before {
            top: -0.5rem;
            width: 3.1rem;
            height: 3.1rem;
            border: 0.2rem solid  var(--lp-light-gray);
        }

        .form-check-input[type="radio"]:not(.modal .form-check-input) + label {
            padding: 0 2rem 0 3.6rem;
        }

        .form-check-input[type="radio"]:not(.modal .form-check-input):checked + label::after {
            top: 0.1rem;
            left: 0.6rem;
            width: 1.9rem;
            height: 1.9rem;
        }

        .form-check-input[type="checkbox"]:not(.modal .form-check-input) + label {
            padding: 0 2rem 0 3.5rem;
        }

        .form-check-input[type="checkbox"]:not(.modal .form-check-input) + label::before {
            width: 2.8rem;
            height: 2.8rem;
            border: 0.2rem solid  var(--lp-light-gray);
            border-radius: 0.7rem;
        }

        .form-check-input[type="checkbox"]:not(.modal .form-check-input):checked + label::after {
            top: calc(50% - 0.7rem);
            left: 1rem;
            width: 0.6rem;
            height: 1.2rem;
        }

        .text-danger {
            font-size: 1.8rem;
            margin-bottom: 4rem;
        }

        .alert-danger {
            font-size: 1.7rem;
        }
        
        .invalid-feedback {
            margin-top: 0.5rem;
        }

        .invalid-feedback:not(.form-control-group .invalid-feedback) {
            margin-top: -1.5rem;
        }

        /* 下部コンテンツ */
        .titleWrap {
            margin: 10rem 0;
            padding: 9.4rem 0;
        }     

        .titleWrap h2 {
            font-size: 5.6rem;
        }

        .titleWrap span {
            padding: 0 9.6rem;
            font-size: 2.4rem;
            font-weight: 600;
            display: inline-block;
            vertical-align: middle;
            width: auto;
            margin: 0 0 0 3.5rem;
        }
        
        .titleWrap span:before,
        .titleWrap span:after {
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            border-radius: 0.2rem;
            height: 0.4rem;
            width: 6.4rem;
        }

        #merit .inner .meritList {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            padding: 0;
            width: 90rem;
            margin-bottom: 6rem;
        }

        #merit .meritList li {
            width: 44%;
            margin: 0 2.5rem 5rem;
            padding: 5rem;
        }

        #merit .imgWrap {
            width: 23rem;
            margin: 0 auto;
        }

        #merit .meritList li h3 {
            font-size: 1.7rem;
        }

        #merit .meritList li .textWrap {
            font-size: 1.5rem;
        }

        #merit .hukidashi {
            width: 42.72%;
            margin: 0 auto 4.48%;
        }

        #merit .flow {
            width: 100%;
            justify-content: center;
            grid-gap: 5.5%;
        }

        #merit .flow li {
            width: calc((100% - 24rem)/ 4);
        }

        #merit .flow li:last-child {
            padding: 0;
        }

        #merit .flow li .imgWrap {
            width: 70%;
        }

        #merit .flow li:not(:last-child):after {
            content: '';
            display: inline-block;
            width: 2.4rem;
            height: 3.5rem;
            background-image: url(/general/img/lp_custom/arrow.svg);
            background-size: contain;
            vertical-align: middle;
            position: absolute;
            top: 40%;
            right: -4.6rem;
            transform: translateY(-50%);
        }

        #merit .flow li .textWrap {
            font-size: 1.6rem;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        #merit .flow li .number {
            width: 13%;
            margin: 0 1.5rem 0 0;
        }

        #merit .inner .meritBack {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: -3;
        }
        
        #merit .inner .meritBack .item01_pc {
            position: absolute;
            top: 4.098%;
            left: -4rem;
            width: 12rem;
            height: 18.4rem;
        }

        #merit .inner .meritBack .item02_pc {
            position: absolute;
            top: 59rem;
            left: 3rem;
            width: 8rem;
            height: 11.7rem;
        }

        #merit .inner .meritBack .item03_pc {
            position: absolute;
            top: 59rem;
            right: -5rem;
            left: auto;
            width: 18rem;
            height: 29.3rem;
        }

        #merit .inner .meritBack .item04_pc {
            position: absolute;
            top: auto;
            left: 4rem;
            width: 3.5rem;
            height: 8.9rem;
            bottom: 52rem;
            display: block;
        }

        #merit .inner .meritBack .item05_pc {
            position: absolute;
            top: auto;
            left: auto;
            right: -20rem;
            width: 14rem;
            height: 20rem;
            bottom: 24rem;
        }

        #occupation {
            position: relative;
        }

        #occupation .textWrap {
            font-size: 1.8rem;
        }

        #occupation .imgWrap_pc {
            width: 60%;
            margin: 0 auto 10rem;
        }

        #occupation .occupationBack  {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
            display: block;
        }

        #occupation .occupationBack img {
            width: 100%;
        }

        #occupation .occupationBack .item01_pc {
            position: absolute;
            top: 61rem;
            left: 6rem;
            width: 9rem;
            height: 31.4rem;
        }

        #occupation .occupationBack .item02_pc {
            position: absolute;
            top: 53rem;
            right: -4rem;
            width: 19rem;
            height: 19.2rem;
        }

        #occupation .occupationBack .item03_pc {
            position: absolute;
            bottom: 1rem;
            right: 10rem;
            width: 8rem;
            height: 11.5rem;
        }

        #occupation .textWrap {
            margin: 10rem auto 5rem;
            font-size: 1.7rem;
        }

        /* フッター */
        footer {
            position: relative;
            padding: 10rem 0;
            background-color: #e2e2e2;
            z-index: -10;
        }

        footer .logoWrap {
            width: 38.3rem;
            margin: 0 auto;
        }

        footer .textWrap {
            font-size: 2.8rem;
            text-align: center;
            line-height: 1.6em;
            margin: 5rem auto 5.8rem;
        }

        footer .copy {
            font-size: 1.3rem;
            text-align: center;
        }

        /* 確認画面 */
        .form-group-confirm {
            display: flex;
            align-items: center;
            gap: 6rem;
            margin-bottom: 0;
        }

        /* 完了画面 */
        .card-lp-custom-title {
            margin: -2rem 0 1rem;
        }
        .lp-finish-message2 h3 {
            padding: 1rem 0 2.2rem;
            font-size: 3.5rem;
        }

        .lp-finish-message2 p {
            text-align: center;
            font-size: 1.5rem;
        }
    }
}


@media (min-width: 1300px) {
    .lp-custom {
        .inner {
            width: 119.9rem;
            margin: 0 auto;
        }

        .titleWrap h2 {
            font-size: 7rem;
        }

        .titleWrap span {
            font-size: 3rem;
            margin: 0 0 0 7.5rem;
        }
    }
}

@media (max-width: 991.98px) {
    .lp-custom {
        .container {
            padding: 0 2rem;
        }

        .inner {
            padding: 0 2rem;
        }

        .form-title {
            flex-direction: column;
            align-items: center;
        }

        .form-group {
            flex-direction: column;
        }

        .form-label {
            display: block;
            width: 100%;
            padding: 0;
        }

        .form-control-group-wrap:has(.form-check-inline) {
            display: flex;
            flex-wrap: wrap;
            row-gap: 0.6rem;
        }

        .form-control-group-wrap .form-check-inline{
            flex: 0 0 50%;
            max-width: 50%;
            margin: 0;
        }
        
        .lp-custom-btn {
            margin-top: 5rem;
        }

        .lp-custom-btn2 .btn {
            width: 21.15rem;
            height: 4.95rem;
            font-size: 1.2rem;
        }
        
        .lp-btn-next::after {
            right: auto;
            left: 80%;
            transform: translate(-50%, -50%);
        }

        .lp-prev::after {
            left: 20%;
            transform: translate(-50%, -50%) rotate(180deg);
        }
        
        .lp-custom-btn:has([value="confirm"]) .lp-btn-next::after,
        .lp-custom-btn:has([value="register"]) .lp-btn-next::after {
            left: auto;
            right: 2.5rem;
            transform: translateY(-50%);
        }
        
        .lp-custom-btn:has([value="confirm"]) .lp-prev::after,
        .lp-custom-btn:has([value="register"]) .lp-prev::after {
            left: 2.5rem;
            transform: translateY(-50%) rotate(180deg);
        }
        
        .d-flex:has(> select) select{
            flex: 1;
        }

        /* 下部コンテンツ */
        #merit .flow li:nth-child(1):after,
        #merit .flow li:nth-child(3):after {
            content: '';
            display: inline-block;
            width: 1.7rem;
            height: 2.5rem;
            background-image: url(/general/img/lp_custom/arrow.svg);
            background-size: contain;
            vertical-align: middle;
            position: absolute;
            top: 49%;
            transform: translateY(-50%);
        }

        #merit .flow li:nth-child(1),
        #merit .flow li:nth-child(2) {
            margin-bottom: 38.5px;
        }

        /* 確認画面 */        
        .form-control-confirm tr:has(.w-50){
            display: flex;
            flex-direction: column;
        }

        .form-control-confirm tr:has(.w-50) td:last-child{
            padding-left: 1em;
        }
    }
}
