@charset "utf-8";

/* コンテナ - ぱんくず
--------------------------------------------------------------- */

.breadcrumb-wrapper {
    max-width: 1238px;
    padding: var(--fs30px) var(--container-padding) var(--fs13px);
    margin: 0 auto;
}


/* 2カラムレイアウト
--------------------------------------------------------------- */

.l-container,
.l-container__sidebar,
.l-container__main {
    box-sizing: border-box;
    position: relative;
}

.l-container--2col {
    display: grid;
    grid-template-columns: 26.71% minmax(0, 1fr);
    gap: 0 5.41%;
    align-items: start;
}

.l-container__sidebar {
    position: sticky;
    top: var(--fs67px);

    .filter-list .is-child {
        display: none;
    }
}


/* 検索結果 - 一覧レイアウト
--------------------------------------------------------------- */

.card-list {
    display: grid;
    gap: var(--fs30px);
}

.content-body .card-list {
    --margin: var(--fs50px);
    gap: 0;

    .card {
        background: none;
        border-radius: 0;
        border-bottom: 1px solid #ccc;
        padding-block: var(--margin);

        .new-mark {
            top: var(--fs20px);
        }

        &:first-child {
            padding-top: 0;

            .new-mark {
                top: calc(-1 * var(--fs30px));
            }
        }
    }
}

.content-body .card-list.is-company-job {
    & .card {
        padding-inline: 0;
    }
}

.movie-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fs57px) var(--fs46px);

    .movie-item {
        width: 100%;
    }

}

.voice-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fs30px);

    .card--voice .card__block {
        width: 100%;
    }
}

/* 企業検索 */
.is-search-results .loading-state {
    position: absolute;
    width: 40%;
    height: auto;
    padding: 30px;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 2.5em;
    text-align: center;
    left: 50%;
    top: var(--fs30px);
    transform: translateX(-50%);
    z-index: 2;
}

.is-search-results .error-state {
    margin-bottom: var(--fs30px);

    .error-message {
        margin-bottom: 1em;
    }
}


/* コンテナ - フッターアクション(ボタン)
--------------------------------------------------------------- */

.content-footer-actions {
    display: grid;
    place-content: center;
    padding-top: var(--fs60px);
}


/* コンテナ - フッターシェアボタン
--------------------------------------------------------------- */

.share-buttons-wrapper {
    padding-block: var(--fs50px);
    background: var(--color-light-blue);
}


/* ページ - トップ
--------------------------------------------------------------- */
.top-intro-section {
    padding: var(--fs35px) 0 var(--fs66px);
}


/* -- MV セクション
-------------------------------------------*/
.top-mv-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 17.5%;
    gap: 0 3.06%;
    margin-bottom: var(--fs50px);
}

.top-mv__main .top-mv__single {
    position: relative;
}

/* -- MV - メインスライダー */
.top-mv__main .splide {
    position: relative;

    .splide__slide {
        width: 100%;
    }

    .splide__slide img {
        display: block;
        width: 100%;
        min-width: 0;
        height: auto;
        aspect-ratio: 1/.625;
        object-fit: cover;
        object-position: center center;
    }

    .splide-navigation {
        position: absolute;
        left: var(--fs20px);
        bottom: var(--fs14px);
        z-index: 1;
    }
}


/* -- MV - キャッチフレーズ */
.top-catchphrase {
    margin-top: var(--fs25px);
}

.top-catchphrase__title {
    font-size: var(--fs22px);
    font-weight: 700;
    text-align: center;
    line-height: 1.45;
}


/* -- MV - サイドナビ */
.top-mv__aside {}


/* -- MV - プロモボタン */
.top-mv__promo-buttons {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--fs30px) 0;

    .promo-button {
        aspect-ratio: 1/.835;
        font-size: var(--fs18px);

        .promo-button__text {
            display: grid;
            place-content: center;
            gap: var(--fs13px);

            &::before {
                content: "";
                display: block;
                width: var(--fs60px);
                min-width: 0;
                aspect-ratio: 1/1.333;
                margin: 0 auto;
            }
        }

        /* -- 企業検索 */
        &.promo-button--company-search .promo-button__text::before {
            mask: url(../img/ui/promo_button_icon_company.svg) center center / contain no-repeat;
            background-color: #fff;
        }

        /* -- 求人検索 */
        &.promo-button--job-search .promo-button__text::before {
            mask: url(../img/ui/search_icon_job.svg) center center / contain no-repeat;
            background-color: #fff;
        }
    }

    .button {
        width: 100%;
        text-align: center;
        padding-inline: 0;
    }
}


/* -- 重要なお知らせ セクション
-------------------------------------------*/
.top-important-section {
    position: relative;
    box-sizing: border-box;
    height: var(--fs94px);
    padding: var(--fs20px) 0;
    background: #fff;
    border: 1px solid var(--color-red);
    border-radius: 20px;
    margin-bottom: var(--fs70px);

    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        width: var(--fs11px);
        height: calc(100% - var(--fs38px));
        max-height: var(--fs54px);
        background: var(--color-red);
        border-radius: 0 20px 20px 0;
    }
}

.top-important__inner {
    display: grid;
    grid-template-columns: 16.87rem minmax(0, 1fr);
    align-items: center;
    gap: 0 2.71%;
    height: 100%;
}

.top-important__title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    color: var(--color-red);
    font-size: var(--fs22px);
    font-weight: 700;
    height: 100%;
    line-height: 1.4;
    text-align: center;
    border-right: 2px solid var(--color-red);

    .icon--important {
        width: var(--fs26px);
        margin-right: var(--fs7px);
    }

    & a {
        color: var(--color-red);
    }
}

.top-important__link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0 3.76%;
    padding-right: 2em;
}

.top-important__post-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* -- ニュース セクション
-------------------------------------------*/
.top-news-section {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0 6.31%;

    .heading--section-1 {
        line-height: 1;
    }
}

.top-news__header {
    .button {
        margin-top: var(--fs30px);
    }
}


/* -- イベント セクション
-------------------------------------------*/
.top-event-section {
    position: relative;
    padding: var(--fs65px) 0 var(--fs45px);
    background: var(--color-light-blue);
}

.top-event__header {
    position: absolute;
    top: calc(-1 * (var(--fs65px) + var(--fs19px)));

    .heading--section-1 {
        font-size: var(--fs38px);
        line-height: 1;
    }
}

.top-event__button-block {
    .button {
        margin-left: auto;
    }
}


/* - イベント - Splide */
.top-event-section {

    /* ※NEWマーク分、コンテナ領域を調整 */
    .splide__track {
        padding-top: var(--fs30px);
        /* NEWマーク および ボタンまでの距離を差引 */

        margin-left: calc(-1 * (var(--fs10px)));
        /* ネガティブマージンでNEWマーク領域分を確保 */

        padding-left: var(--fs10px) !important;
    }
}

/* -- 企業情報 / 求人検索 セクション
-------------------------------------------*/
.top-search-wrapper {
    padding: var(--fs74px) 0 var(--fs100px);
    background: var(--color-grayish-blue);
}

/* - 企業情報 / 求人検索 -- タイトル */
.top-search__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    line-height: 1;

    .heading--section-1 {
        margin-right: .84em;
        line-height: 1;
    }

    .button {
        margin-left: 1.16em;
    }
}

/* - 企業情報 / 求人検索 -- コンテナ */
.top-search-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 27.52%;
    gap: 0 4.78%;

    .top-search__header {
        grid-column: span 2;
    }

    &+.top-search-section {
        margin-top: var(--fs50px);
    }
}

/* - 企業情報 / 求人検索 -- サブタイトル */
.top-search__aside-title {
    width: fit-content;
    color: var(--color-main);
    font-size: var(--fs18px);
    font-weight: 700;
    line-height: 1;
    margin: 0 auto 1em;
}


/* - 企業情報  */
.top-search-section--company {

    /* -- NEWマークの位置 */
    .new-mark {
        top: calc(-1 * (var(--fs10px)));
        left: calc(-1 * (var(--fs10px)));
    }

    /* -- NEWマーク分、Splideコンテナにネガティブマージン付与 */
    .splide {
        margin-left: calc(-1 * var(--fs10px));
    }

    /* -- スライダー領域調整 */
    .splide__track {
        padding-top: var(--fs40px);
        /* NEWマーク および Pickupマーク分差引 */

        padding-left: var(--fs10px) !important;
        /* ネガティブマージンで確保したNEWマーク領域分を戻す */
    }

    /* -- スライダー調整分に合わせて始点をズラす */
    .top-search__aside {
        padding-top: var(--fs40px);
    }
}


/* - 企業検索 - プロモボタン */
.top-company-search__promo-buttons {
    margin-bottom: var(--fs30px);

    .promo-button {
        gap: 0;
        width: 100%;
        min-width: 0;
        aspect-ratio: 1/.649;

        &::after {
            width: var(--fs16px);
            right: var(--fs7px);
            bottom: var(--fs7px);
        }

        .promo-button__text {
            display: grid;
            place-content: center;
            gap: var(--fs20px);

            &::before {
                content: "";
                display: block;
                width: var(--fs59px);
                min-width: 0;
                aspect-ratio: 1/1.367;
                mask: url(../img/ui/promo_button_icon_company.svg) center center / contain no-repeat;
                background-color: #fff;
                margin: 0 auto;
            }
        }
    }
}


/* - 求人検索 */
.top-search-section--job {
    .top-search__header {
        margin-bottom: var(--fs30px);
    }
}

/* - 求人検索 - プロモボタン */
.top-job-search__promo-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 6.66%;

    .promo-button {
        gap: 0;
        width: 100%;
        min-width: 0;
        aspect-ratio: 1/.566;

        .promo-button__text {
            display: grid;
            place-content: center;
            gap: var(--fs20px);

            &::before {
                content: "";
                display: block;
                width: var(--fs80px);
                min-width: 0;
                aspect-ratio: 1/1;
                margin: 0 auto;
            }
        }

    }

    /* -- 新卒求人 */
    .promo-button--new-grad .promo-button__text::before {
        mask: url(../img/ui/icon_beginner.svg) center center / 50% auto no-repeat;
        background-color: #fff;
    }

    /* -- 一般求人 */
    .promo-button--mid-career .promo-button__text::before {
        mask: url(../img/ui/search_icon_job.svg) center center / contain no-repeat;
        background-color: #fff;
    }
}


/* -- トップバナー セクション
-------------------------------------------*/
.top-banner-section {
    padding: var(--fs70px) 0 var(--fs80px);
    background: #fff;

    .splide__track {
        padding-block: 0 16px;
        /* ※ 5px + 8px + 遊び シャドウ分 */
    }

    /* ※スライド幅に対して枚数が足りていても、あえて表示させる */
    .splide:not(.is-overflow) .splide__arrows {
        display: flex;
    }

    .splide:not(.is-overflow) .splide__pagination {
        display: flex;
    }
}

.splide__slide--banner {
    --banner-width: 340px;
    display: grid;
    place-content: center;
    width: var(--banner-width);
    min-width: 0;
    height: 100%;
    overflow: hidden;

    & img {
        width: var(--banner-width);
        height: auto;
        /*filter: drop-shadow(0px 5px 8px rgba(0, 0, 0, 0.16));*/
    }
}


/* -- ふくしまで働く魅力 セクション
-------------------------------------------*/
.top-appeal-section {
    position: relative;
    padding: var(--fs90px) 0 var(--fs55px);
    background: #F7F7F7;

    &.top-appeal-section--subpage {
        background: none;
        padding-top: 0;
    }
}

.top-appeal__title {
    position: absolute;
    top: -.5em;
    left: 0;
    right: 0;
    width: fit-content;
    margin: auto;
    font-size: var(--fs38px);
    font-weight: 700;
    line-height: 1;
}

@media print,
screen and (min-width: 1024px) {

    /* - PC用 - タイトル横ボタン ラッパー */
    .top-appeal-section__child-title-wrapper {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 1em;
        max-width: var(--container-width);
        padding: 0 var(--container-padding);
        margin-inline: auto;

        &::before {
            content: "";
        }

        .button {
            margin-left: auto;
        }
    }
}


/* - VOICE ボイス */
.top-voice-section {
    .splide__track {
        padding-top: var(--fs34px);
    }

    /* ※スライド幅に対して枚数が足りていても、あえて表示させる */
    .splide:not(.is-overflow) .splide__arrows {
        display: flex;
    }

    .splide:not(.is-overflow) .splide__pagination {
        display: flex;
    }
}


/* - MOVIE ムービー */
.top-movie-section {
    margin-top: var(--fs84px);

    .splide__track {
        padding-top: var(--fs34px);
    }
}

/* -- 3つのピックアップ(地域情報 / 移住 / 企業認証) セクション
-------------------------------------------*/
.top-pickup-section {
    position: relative;
    background: var(--color-light-blue);
    overflow: hidden;

    .container {
        padding-block: var(--fs103px) var(--fs84px);
    }
}

.top-pickup__banner-wrapper {
    max-width: 38rem;
}

.top-pickup__banners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fs30px) var(--fs25px);

    .top-pickup__banner:nth-of-type(1) {
        grid-column: span 2;
    }
}

.top-pickup__link {
    --border-width: var(--fs5px);
    position: relative;
    box-sizing: border-box;
    display: grid;
    place-content: center;
    height: 100%;
    min-height: 13.75rem;
    color: #fff;
    font-weight: 700;
    text-align: center;
    background: var(--color-main);
    border: var(--border-width) solid #fff;
    border-radius: 20px;
    padding: 1em;
    line-height: 1.4;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);

    .icon {
        font-size: var(--fs16px);
        background-color: #fff;
        margin: 1em auto 0;
    }

    &::after {
        content: "";
        position: absolute;
        right: calc(-1 * var(--border-width));
        bottom: calc(-1 * var(--border-width));
        display: block;
        width: var(--fs39px);
        min-width: 0;
        aspect-ratio: 1 / 1;
        background: #fff url(../img/ui/icon_right_medium.svg) center center / var(--fs10px) auto no-repeat;
        border-radius: 100vmax;
        margin: auto;
    }
}

.top-pickup__caption {
    font-size: var(--fs18px);
    line-height: 1.44;
    margin-bottom: .6em;
}

.top-pickup__title strong {
    color: #FFF3AD;
    font-size: var(--fs27px);
}

.top-pickup__backimage {
    position: absolute;
    top: 0;
    right: calc(50vw - 59.125rem - 15px);
    bottom: 0;
    width: 50.5rem;
    height: 100%;
    margin: auto;
    background: url(../img/top/bg_pickup.webp) center center / cover no-repeat;

    @media screen and (min-width: 751px) and (max-width: 1150px) {
        right: 0;
        width: calc(100vw - 38rem - var(--container-padding) - var(--container-padding) - 15px);
        background-position: left center;
    }
}


/* -- 「ふくしまで働く」お役立ち情報 セクション
-------------------------------------------*/
.top-feature-section {
    padding: var(--fs75px) 0;
    background: #fff;
}

.top-feature__title {
    position: relative;
    width: fit-content;
    color: var(--color-main);
    font-size: var(--fs38px);
    font-weight: 700;
    text-align: center;
    text-box-trim: trim-both;
    line-height: 1;
    padding-bottom: .92em;
    background: url(../img/ui/balloon_arrow.svg) center bottom / contain no-repeat;
    margin: 0 auto;
}

.top-feature__subtitle {
    font-size: var(--fs22px);
    font-weight: 700;
    text-align: center;
    text-box-trim: trim-both;
}

@media print,
screen and (min-width: 1024px) {

    /* - PC用 - タイトル横ボタン ラッパー */
    .top-feature-section__title-wrapper {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: end;
        gap: 1em;
        margin: 0 auto 2.5em;

        &::before {
            content: "";
        }

        .button {
            margin-left: auto;
        }
    }
}


/* -- 就職・転職活動中の方 セクション
-------------------------------------------*/
.top-support-section {
    padding-block: var(--fs80px) var(--fs44px);
    background: var(--color-light-blue);
}

.top-support__title {
    color: var(--color-main);
    font-size: var(--fs38px);
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.36em;
    line-height: 1;
}

.top-support__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 6.678%;

    & li {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        gap: 0;
        text-align: center;
    }

    & h3 {
        position: relative;
        display: grid;
        align-content: center;
        color: var(--color-main);
        font-size: var(--fs26px);
        font-weight: 700;
        text-align: center;
        line-height: 1.42;
        padding-bottom: var(--fs23px);
        margin-bottom: var(--fs15px);


        &::after {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            content: "";
            display: block;
            height: var(--fs7px);
            background: var(--color-main);
            border-radius: 100vmax;
            margin: 0 auto;
        }
    }

    & .button {
        min-width: 11.81rem;
        margin-inline: auto;
    }

    & .button--login {
        margin-top: var(--fs20px);
    }
}

.top-support__description {
    text-align: center;
    margin-bottom: var(--fs15px);
}

.top-support__buttons {
    .item--magazine a {
        width: 15.75rem;
        margin-inline: auto;
    }

    .line-button {
        margin-top: var(--fs10px);
    }
}


/* -- 初めての方 / よくあるご質問 セクション
-------------------------------------------*/
.top-guide__banners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 19.125rem;

    & a {
        position: relative;
        display: grid;
        place-content: center;
        height: 100%;
        color: #fff;
        font-size: var(--fs22px);
        font-weight: 700;
        text-align: center;
        line-height: 1.6;
        background: #1E6FE0;
        background: linear-gradient(120deg, rgba(30, 111, 224, 1) 0%, rgba(46, 130, 248, 1) 100%);

        /*
        &.item--started {
            background-image: url(../img/top/bg_banner_started.webp);
        }

        &.item--faq {
            background-image: url(../img/top/bg_banner_faq.webp);
        }
            */

        .top-guide__banners-text {
            box-sizing: border-box;
            min-width: 304px;
            border: 4px solid #fff;
            padding: .86em 1em;
        }

        &::before {
            content: "";
            position: absolute;
            right: 0;
            bottom: 0;
            width: var(--fs68px);
            min-width: 0;
            aspect-ratio: 1/1;
            background: #fff url(../img/ui/guide_banner_link_mark.svg) center center / var(--fs18px) auto no-repeat;
        }
    }
}


/* ページ - 企業詳細
--------------------------------------------------------------- */

/* - 企業情報ヘッダー(メタデータ) */
.company-data-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--fs20px);
    margin-bottom: 2.87em;

    .company-data-header__meta-list {
        display: flex;
        flex-wrap: wrap;
        font-size: var(--fs14px);
        gap: .71em 1.42em;

        .labeled-icon {
            align-items: center;
        }

        .icon {
            font-size: var(--fs16px);
        }
    }

    .company-data-header__date {
        font-size: var(--fs12px);
    }

    .company-data-header__grid-3 {
        grid-column: span 2;
    }
}

/* - 企業情報セクション */
.company-data-section:not(:last-child) {
    margin-bottom: 4em;
}

/* - 企業情報セクション - 企業概要ブロック */
.company-overview {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    grid-template-areas:
        "data logo"
        "data photo"
        "data link"
        "body body";
    grid-template-columns: minmax(0, 1fr) 49.54%;
    gap: 0 var(--fs24px);
    align-items: start;

    .company-overview__data {
        grid-area: data;
    }

    .company-overview__data-item {
        margin-bottom: 2.87em;

        & dd {
            position: relative;
            padding-right: 2em;

            .label-button-accessmap {
                position: absolute;
                top: .3em;
                right: 0;
            }
        }
    }

    .company-overview__link {
        grid-area: link;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0 1.25em;
    }

    .company-overview__logo {
        grid-area: logo;
    }

    .company-overview__logo-item {
        display: grid;
        place-content: center;
        padding-inline: 1.5em;
        margin-bottom: 1.68em;

        & img {
            max-height: 24rem;
        }
    }

    .company-overview__photo {
        grid-area: photo;
        margin-bottom: 1.68em;
    }

    .company-overview__photo-item {
        width: 100%;

        .splide__track {
            width: 100%;
            min-width: 0;
            aspect-ratio: 1/.736;
            border-radius: 10px;
            overflow: hidden;
        }

        .splide__slide {
            width: 100%;
            min-width: 0;
            aspect-ratio: 1/.736;

            & img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center center;
            }
        }
    }

    .company-overview__body {
        grid-area: body;
    }
}


/* - GoogleMap */
.access-map {
    line-height: 1;

    & iframe {
        width: 100%;
        height: 350px;
    }

    &:not(:last-child) {
        margin-bottom: 1.43em;
    }
}

/* - インターンシップに応募する */
.apply-button-wrapper--internship {
    margin-top: 3.125em;

    .label-button-apply {
        margin-inline: auto;
    }
}

.company-data-section.is-internship {
    .data-table {
        margin-bottom: var(--fs65px);

        &:last-child {
            margin-bottom: 0;
        }

        &:has(+.apply-button-wrapper--internship) {
            margin-bottom: calc(var(--fs65px) / 2);
        }
    }


    .apply-button-wrapper--internship {
        margin-top: 0;
        margin-bottom: var(--fs65px);

        &:last-child {
            margin-bottom: 0;
        }
    }
}


/* - この企業が募集中の求人 */
.related-job-section {
    margin-top: 5em;
}

.related-job-section__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2em;
}




/* ページ - 企業PR
--------------------------------------------------------------- */

.company-pr-section {
    margin-bottom: var(--fs80px);

    .balloon-heading {
        margin-bottom: var(--fs35px);
    }
}

.company-pr-section__title {
    width: fit-content;
    font-weight: 700;
    font-size: var(--fs32px);
    margin: 0 auto .93em;
}

.company-pr-sub-section:not(:last-child) {
    margin-bottom: var(--fs50px);
}

.company-pr-list-wrapper {
    padding: var(--fs50px);
    background: var(--color-light-blue);
    border-radius: 10px;
}

.company-pr-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fs40px);

    & li {
        display: grid;
        place-content: center;
        font-weight: 700;
        line-height: 1.45;
        padding: 2.5em;
        background: #fff;
        border-block: 2px solid #B7B7B7;
    }
}

.company-pr-block {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fs40px);

    & figure {
        margin-bottom: 1em;
    }

    & figure img {
        width: 100%;
        min-width: 0;
        aspect-ratio: 1/.67;
        object-fit: cover;
        object-position: center center;
        overflow: hidden;
    }

    .company-pr-block__title {
        color: var(--color-main);
        font-size: var(--fs18px);
        font-weight: 700;
        margin-bottom: .2em;
    }
}

/* - インタビューブロック */
.interview-header {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: var(--fs36px);
    margin-bottom: 3.43em;

    & figure img {
        width: 100%;
        min-width: 0;
        aspect-ratio: 1/.72;
        object-fit: cover;
        object-position: center center;
        overflow: hidden;
    }

    .interview-header__title {
        font-size: var(--fs22px);
        font-weight: 700;
        letter-spacing: .05em;
        line-height: 1.63;
    }

    .interview-header__officialpost {
        font-size: 1.12em;
        font-weight: 700;
        text-align: center;
        letter-spacing: .05em;
        padding: 0 1em .02em;
        background: var(--color-light-blue);
        margin-top: 2em;
    }

    .interview-header__profile {
        text-align: center;
        margin-top: .3em;
    }
}

.interview-content {
    & p:not(:last-child) {
        margin-bottom: 1em;
    }
}

/* - インタビューFAQ */
.interview-faq {
    margin-bottom: 5.62em;

    & li:not(:last-child) {
        margin-bottom: 3.12em;
    }

    .interview-faq__q {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: var(--fs14px);
        margin-bottom: 1.45em;
    }

    .interview-faq__q-heading {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .5em;
        color: #fff;
        line-height: 1;
        padding: .4em .6em;
        border-radius: 5px;
        background: var(--color-main);

        & span {
            font-size: 1.5em;
            font-weight: 700;
        }

        &::after {
            --width: var(--fs9px);
            content: "";
            position: absolute;
            top: 0;
            right: calc(-1 * (var(--width) - 1px));
            bottom: 0;
            display: block;
            width: var(--width);
            min-width: 0;
            aspect-ratio: 1/.889;
            background: var(--color-main);
            clip-path: polygon(0 0, 0% 100%, 100% 50%);
            margin: auto;
        }
    }

    .interview-faq__q-body {
        color: var(--color-main);
        font-size: var(--fs18px);
        font-weight: 700;
    }
}

/* - About me */
.aboutme-wrapper {
    position: relative;
    padding: var(--fs80px) var(--fs50px);
    background: var(--color-light-blue);
    border-radius: 10px;
}

.aboutme-title {
    position: absolute;
    top: calc(-1 * var(--fs19px));
    left: var(--fs30px);
    color: #3388FF;
    font-size: var(--fs38px);
    font-weight: 700;
    line-height: 1;
}

.aboutme-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fs40px);

    & figure {
        margin-bottom: 1em;
    }

    & figure img {
        width: 100%;
        min-width: 0;
        aspect-ratio: 1/.741;
        object-fit: cover;
        object-position: center center;
        overflow: hidden;
    }
}


/* ページ - 求人詳細
--------------------------------------------------------------- */

.job-data-header {
    margin-bottom: 2.87em;
}

.job-data-header__group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1em;
    margin-bottom: var(--fs30px);

    .job-data-header__action {
        margin-left: auto;
        order: 3;
    }

    .job-data-header__status {
        order: 1;
    }

    .job-data-header__date {
        order: 2;
    }
}

.job-data-header__status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--fs14px);
}

.job-data-header__date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1em;
    font-size: var(--fs12px);
}

.job-data-header__title {
    .heading--page-1 {
        margin-bottom: .76em;
    }
}

.job-data-header__meta {
    margin-bottom: var(--fs20px);
}


/* - 会社情報 */
.job-overview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "description employment"
        "salary workplace"
    ;
    gap: var(--fs40px);

    /* - 仕事内容 */
    .job-overview__item--description {
        grid-area: description;
    }

    /* - 給与 */
    .job-overview__item--salary {
        grid-area: salary;
    }

    /* - 本社所在地 */
    .job-overview__item--headquarters {
        grid-area: headquarters;
    }

    /* - 雇用形態 */
    .job-overview__item--employment {
        grid-area: employment;
    }

    /* - 設立年月日 */
    .job-overview__item--established {
        grid-area: established;
    }

    /* - 就業場所 */
    .job-overview__item--workplace {
        grid-area: workplace;
    }

    /* - 従業員数 */
    .job-overview__item--employees {
        grid-area: employees;
    }

    & dd:has(.label-button-accessmap) {
        position: relative;
        padding-right: 2em;
    }

    .label-button-accessmap {
        position: absolute;
        top: .3em;
        right: 0;
    }
}

.job-overview-company {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "headquarters image"
        "established image"
        "employees image"
    ;
    gap: var(--fs40px);

    /* - 本社所在地 */
    .job-overview__item--headquarters {
        grid-area: headquarters;
    }

    /* - 設立年月日 */
    .job-overview__item--established {
        grid-area: established;
    }

    /* - 従業員数 */
    .job-overview__item--employees {
        grid-area: employees;
    }

    /* 画像スライダー */
    .job-overview__item--image {
        grid-area: image;
        position: relative;

        .splide-navigation {
            position: absolute;
            bottom: 0;
            right: 0;
            transform: translateY(100%);
        }

        & .splide__track {
            border-radius: 10px;
            overflow: hidden;
        }

        & .splide__slide img {
            aspect-ratio: 1/0.736;
            height: auto;
            width: 100%;
            object-fit: cover;
            border-radius: 10px;
            overflow: hidden;
        }

    }

    & dd:has(.label-button-accessmap) {
        position: relative;
        padding-right: 2em;
    }

    .label-button-accessmap {
        position: absolute;
        top: .3em;
        right: 0;
    }
}

/* - 応募可否エラー表示 */
.application-notice {
    margin-bottom: var(--fs30px);
}

.application-notice__item {
    display: grid;
    grid-template-columns: 2.06em minmax(0, 1fr);
    align-items: center;
    line-height: 1.275;
    background: #fff;
    border: var(--fs3px) solid var(--color-yellow);
    border-radius: 10px;

    &::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: var(--color-yellow) url(../img/ui/notice_icon.svg) center center / var(--fs2px) auto no-repeat;
    }

    &+.application-notice__item {
        margin-top: .687em;
    }

    .application-notice__item__inner {
        padding: .375em .56em;
    }

}

.application-notice__link-mypage {
    color: var(--color-main);

    &::after {
        content: "";
        position: relative;
        top: -.187em;
        display: inline-block;
        width: 1.25em;
        min-width: 0;
        aspect-ratio: 1/1;
        line-height: 1;
        mask: url(../img/ui/menu_icon__mypage.svg) center center / contain no-repeat;
        background-color: var(--color-main);
        margin: 0 .5em;
        vertical-align: middle;
    }
}


/* ページ - イベント
--------------------------------------------------------------- */

.event-entry__button {
    margin: 3.75em 0;

    .button {
        margin: 0 auto;
    }
}

.event-entry {
    /*padding: 5.31em 9% 3.375em;*/
    padding: 5.31em 9%;
    border: 1px solid var(--color-main);
    border-radius: 5px;
    margin-top: 3.75em;
}

.event-summary {
    width: fit-content;
    margin: 0 auto;

    .event-summary__item {
        display: grid;
        grid-template-columns: 9.06em minmax(0, 1fr);
        align-items: center;
        gap: 0 1em;

        .labeled-icon {
            align-items: center;
            gap: 0 .81em;
        }

        &:not(:last-child) {
            margin-bottom: .875em;
        }
    }

    & dt {
        text-align: center;
        text-indent: 1em;
        letter-spacing: 1em;
        background-color: var(--color-grayish-blue);
        border-radius: 100vmax;
    }

    & dd {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .3em;
    }
}

.event-form {
    max-width: 29.375rem;
    margin: 0 auto;
}


/* ページ - イベント - formrun(またはメールフォーム)
--------------------------------------------------------------- */

.event-form__fieldset {
    margin-top: 3.125em;

    button[type="submit"] {
        margin-inline: auto;
    }
}

.event-form__group:not(:last-child) {
    margin-bottom: var(--fs38px);
}

.event-form__label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--fs10px);
    margin-bottom: var(--fs10px);
    line-height: 1;
}


/* ページ - 企業の方トップ
--------------------------------------------------------------- */

.corporate-top-introduction {
    padding: 0 0 var(--fs66px);
}

.corporate-top-introduction__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fs30px);
    margin-bottom: var(--fs70px);

    & a {
        width: 100%;
        text-align: center;
    }
}


/* ページ - サイトマップ
--------------------------------------------------------------- */

.sitemap-style {
    max-width: 40rem;
    margin-inline: auto;
    line-height: 1;

    .g-menu-actions a {
        color: var(--color-main);
        border: 2px solid var(--color-main);

        .icon {
            background-color: var(--color-main);
        }
    }

    .g-menu-utility__link--favorite {
        color: #fff;
        background-color: var(--color-main);

        &::before {
            background-image: url(../img/ui/label_button_favorite_icon.svg);
        }
    }

    .g-menu-actions a.g-menu-actions__button--login {
        color: var(--color-main);
        background-color: var(--color-yellow);
        border: 0;
    }

    .g-menu-sitemap a,
    .g-menu-information a {
        color: var(--color-default);
    }

    @media print,
    screen and (min-width: 1024px) {

        line-height: 1.4;

        .g-menu-sitemap {
            font-size: var(--fs16px);
            margin-top: 3em;
        }

        .g-menu-sitemap__child-menu,
        .g-menu-information {
            font-size: var(--fs14px);
        }

        @media (hover: hover) {

            .g-menu-actions a:hover {
                opacity: 1;
                color: #fff;
                background-color: var(--color-main);

                .icon {
                    background-color: #fff;
                }
            }

            .g-menu-actions a.g-menu-actions__button--login:hover {
                opacity: 1;
                color: var(--color-main);
                background-color: #FFEF8D;
            }

        }

    }

}


/* ページ - 404
--------------------------------------------------------------- */

.notfound-section__title {
    width: fit-content;
    font-weight: 700;
    font-size: var(--fs32px);
    line-height: 1.5;
    margin: 0 auto .93em;
}

.notfound-section__body {
    width: fit-content;
    margin: 0 auto 3em;
}

.notfound-section__linktext {
    text-align: center;
    margin-top: 2em;

    & a {
        color: var(--color-main);
        text-decoration: underline;
    }
}

.notfound-section__buttons {
    display: grid;
    justify-content: center;
    gap: 2em;

    .button {
        margin-inline: auto;
    }
}


/* 共通 - 関連カードセクション
--------------------------------------------------------------- */

.related-section {
    position: relative;
    margin-top: var(--fs120px);
}

.related-section__title-wrapper {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1em;
    margin-bottom: var(--fs30px);

    &::before,
    &::after {
        content: "";
    }

    &:has(.button)::after {
        content: normal;
    }

    .button {
        margin-left: auto;
    }
}

.related-section__title {
    width: fit-content;
    font-weight: 700;
    font-size: var(--fs38px);
    margin: 0 auto;
}


/* Splideの親要素の右側の余白を埋めて、ビューポートの右端まで幅を広げる */
.splide__over-track {
    position: relative;
    margin-right: calc(50% - 50vw);
    margin-left: calc(-1 * (var(--fs20px)));
    /* NEWマーク分20pxを差引く */

    .splide__track {
        padding-top: var(--fs20px);
        padding-left: var(--fs20px) !important;
        /* NEWマーク分20pxを差引く */
    }
}


/* 共通 - 企業の方へのご案内
--------------------------------------------------------------- */

.for-business-section {
    padding-block: var(--fs70px);
    background: #fff;
}

.for-business-block {
    box-sizing: border-box;
    max-width: 56.25rem;
    margin: 0 auto;
    background: #fff;
    padding: var(--fs35px) var(--fs20px) var(--fs55px);
    border-radius: 40px;
    border: var(--fs6px) solid var(--color-main);
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.for-business-block__title {
    color: var(--color-main);
    font-size: var(--fs26px);
    font-weight: 700;
    text-align: center;
    margin-bottom: .9em;
}

.for-business__list {
    display: flex;
    justify-content: space-between;
    gap: 0 4.06%;
    max-width: 46.12rem;
    margin: 0 auto;
}


/* 共通 - 就職相談ブロック
--------------------------------------------------------------- */

.advice-block {
    box-sizing: border-box;
    margin: 0 auto var(--fs50px);
    background: #fff;
    padding: var(--fs50px) 2em;
    border-radius: 40px;
    border: var(--fs3px) solid var(--color-main);

    .advice-block__inner {
        /*max-width: 47rem;*/
        text-align: center;
        margin: auto;
    }

    .advice-block__title {
        color: var(--color-main);
        font-size: var(--fs22px);
        font-weight: 700;
        line-height: 1.77;
        margin-bottom: .9em;
    }

    .advice-block__button {
        display: grid;
        place-content: center;
        margin-bottom: 1.87em;
    }

    .advice-block__subtitle {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 1em;
        max-width: 47rem;
        margin: 0 auto .8em;

        &::before,
        &::after {
            content: "";
            display: block;
            height: 1px;
            background: var(--color-main);
        }
    }

    .advice-block__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 1.5em;

        & a {
            display: grid;
            grid-template-columns: minmax(0, 1fr) var(--fs20px);
            align-items: center;
            gap: 0 var(--fs8px);

            &::after {
                content: "";
                display: block;
                width: 100%;
                min-width: 0;
                aspect-ratio: 1/1;
                background: var(--color-main) url(../img/ui/list_icon_right_bold.svg) var(--fs7px) center / var(--fs7px) auto no-repeat;
                border-radius: 100vmax;
            }
        }
    }
}



/* 以下、SP
--------------------------------------------------------------- */

@media screen and (max-width:1023px) {

    /* SP コンテナ - ぱんくず
    --------------------------------------------------------------- */

    .breadcrumb-wrapper {
        padding: 4.36vw var(--container-padding) 8.72vw;
        margin: 0 auto;
    }


    /* SP 2カラムレイアウト
    --------------------------------------------------------------- */

    .l-container--2col {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        /*gap: 4.66vw 0;*/
        gap: 8.97vw 0;
    }

    .l-container__sidebar {
        position: relative;
        top: auto;
    }

    .isResult .l-container__sidebar {
        order: 2;
    }




    /* SP 検索結果 - 一覧レイアウト
    --------------------------------------------------------------- */

    .card-list {
        display: grid;
        gap: 7.69vw;
    }

    .content-body .card-list {
        --margin: 12.82vw;

        .card {
            padding-inline: 0;

            .new-mark {
                top: 5.13vw;
                left: -2.56vw;
            }

            &:first-child {
                .new-mark {
                    top: -7.69vw;
                }
            }
        }
    }

    .movie-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 15.38vw 0;

        .new-mark {
            top: -2.56vw;
            left: -2.56vw;
        }
    }

    .voice-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 7.69vw 0;

        .new-mark {
            top: -2.56vw;
            left: -2.56vw;
        }
    }

    /* 企業・ジョブ検索 */
    .is-search-results .loading-state {
        background-color: rgba(255, 255, 255, 0.8);
    }




    /* SP コンテナ - フッターアクション(ボタン)
    --------------------------------------------------------------- */

    .content-footer-actions {
        padding-top: 15.38vw;
    }


    /* SP コンテナ - フッターシェアボタン
    --------------------------------------------------------------- */

    .share-buttons-wrapper {
        padding-block: 15.38vw;
    }


    /* SP ページ - トップ
    --------------------------------------------------------------- */

    .top-intro-section {
        padding: 0 0 20.51vw;
    }


    /* -- SP MV セクション
    -------------------------------------------*/
    .top-mv-section {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        margin-bottom: 10.26vw;
    }

    .top-mv__main .top-mv__single {
        margin-inline: calc(-1 * var(--container-padding));
    }


    /* -- SP MV - メインスライダー */
    .top-mv__main .splide {
        margin-inline: calc(-1 * var(--container-padding));

        .splide__slide img {
            aspect-ratio: 1/1.528;
        }

        .splide-navigation {
            left: 5.13vw;
            bottom: 3.33vw;
        }
    }


    /* -- SP MV - キャッチフレーズ */
    .top-catchphrase {
        margin-top: 7.69vw;
    }

    .top-catchphrase__title {
        font-size: 4.62vw;
        line-height: 2;
    }


    /* -- SP MV - サイドナビ */
    .top-mv__aside {
        display: none;
    }


    /* -- SP 重要なお知らせ セクション
    -------------------------------------------*/
    .top-important-section {
        height: auto;
        padding: 3.08vw 4.87vw 4.1vw;
        border-width: .26vw;
        border-radius: 5.13vw;
        margin-bottom: 15.38vw;

        &::before {
            right: 0;
            bottom: auto;
            margin: auto;
            width: 13.85vw;
            height: 2.56vw;
            max-height: none;
            border-radius: 0 0 5.13vw 5.13vw;
        }
    }

    .top-important__inner {
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        gap: 6.67vw 0;
        height: auto;
    }

    .top-important__title {

        font-size: 4.62vw;
        height: 13.85vw;
        line-height: 1;
        border-right: 0;
        border-bottom: 2px solid var(--color-red);

        .icon--important {
            width: 6.67vw;
            margin-right: 2.31vw;
        }
    }

    .top-important__link {
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        gap: .7em 0;
        padding-right: 0;
    }

    .top-important__date {
        line-height: 1;
    }

    /*
    .top-important__post-title {
        white-space: normal;
    }
        */


    /* -- SP ニュース セクション
    -------------------------------------------*/
    .top-news-section {
        grid-template-columns: minmax(0, 1fr);
        gap: 9.23vw 0;
    }

    .top-news__header {
        .button {
            display: none;
        }
    }


    /* -- SP イベント セクション
    -------------------------------------------*/
    .top-event-section {
        padding: 20.51vw 0 10.26vw;
    }

    .top-event__header {
        top: calc(-1 * (20.51vw + calc(8.21vw / 2)));

        .heading--section-1 {
            font-size: 8.21vw;
        }
    }

    .top-event__button-block {
        display: none;
    }


    /* - SP イベント - Splide */
    .top-event-section {

        /* ※NEWマーク分、コンテナ領域を調整 */
        .splide__track {
            padding-top: 2.56vw;
            /* NEWマーク および ボタンまでの距離を差引 */

            margin-left: -2.56vw;
            /* ネガティブマージンでNEWマーク領域分を確保 */

            padding-left: 2.56vw !important;
        }
    }


    /* -- SP 企業情報 / 求人検索 セクション
    -------------------------------------------*/
    .top-search-wrapper {
        padding: 15.38vw 0 17.95vw;
    }

    /* - SP 企業情報 / 求人検索 -- タイトル */
    .top-search__header {
        gap: 5.13vw 0;

        .heading--section-1 {
            margin-right: .84em;
        }

        .top-search-header__item:has(.button) {
            width: 100%;
        }

        .button {
            margin-left: 0;
        }
    }

    /* - SP 企業情報 / 求人検索 -- コンテナ */
    .top-search-section {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;

        .top-search__header {
            grid-column: auto;
        }

        &+.top-search-section {
            margin-top: 17.95vw;
        }
    }

    /* - SP 企業情報 / 求人検索 -- サブタイトル */
    .top-search__aside-title {
        font-size: 4.62vw;
        margin: 0 auto 6.15vw;
    }


    /* - SP 企業情報  */
    .top-search-section--company {

        /* -- SP NEWマークの位置 */
        .new-mark {
            top: -2.56vw;
            left: -2.56vw;
        }

        /* -- SP NEWマーク分、Splideコンテナにネガティブマージン付与 */
        .splide {
            margin-left: -2.56vw;
        }

        /* -- SP スライダー領域調整 */
        .splide__track {
            padding-top: 15.38vw;
            /* SP NEWマーク および Pickupマーク分差引 */

            padding-left: -2.56vw !important;
            /* SP ネガティブマージンで確保したNEWマーク領域分を戻す */
        }

        /* -- SP スライダー調整分に合わせて始点をズラす → SP時不要 */
        .top-search__aside {
            padding-top: 0;
        }

        .top-search__body {
            margin-bottom: 17.95vw;
        }
    }


    /* - SP 企業検索 - プロモボタン */
    .top-company-search__promo-buttons {
        margin-bottom: 7.69vw;

        .promo-button {
            aspect-ratio: 1/.24;

            &::after {
                right: 2.05vw;
                bottom: 2.05vw;
                width: 6.15vw;
            }

            .promo-button__text {
                display: grid;
                grid-template-columns: 1fr auto 1fr;
                align-items: center;
                gap: 0 5.13vw;

                &::before {
                    width: 8.46vw;
                    margin: 0;
                }

                &::after {
                    content: "";
                }
            }
        }
    }


    /* - SP 求人検索 */
    .top-search-section--job {
        .top-search__header {
            margin-bottom: 7.69vw;
        }

        .top-search__body {
            margin-bottom: 8.97vw;
        }
    }

    /* - SP 求人検索 - プロモボタン */
    .top-job-search__promo-buttons {
        grid-template-columns: minmax(0, 1fr);
        gap: 5.13vw 0;

        .promo-button {
            aspect-ratio: 1/.24;

            .promo-button__text {
                display: grid;
                grid-template-columns: 1fr auto 1fr;
                align-items: center;
                gap: 0 5.13vw;

                &::before {
                    width: 8.97vw;
                    margin: 0;
                }

                &::after {
                    content: "";
                }
            }
        }

        /* -- SP 新卒求人 */
        .promo-button--new-grad .promo-button__text::before {
            mask-size: contain;
        }

        /* -- SP 一般求人 */
        .promo-button--mid-career .promo-button__text::before {
            mask-size: contain;
        }
    }


    /* -- SP トップバナー セクション
    -------------------------------------------*/
    .top-banner-section {
        padding: 12.31vw 0 24.62vw;

        .splide__track {
            padding-block: 0 4.1vw;
            /* ※ シャドウ分 */
        }
    }

    .splide__slide--banner {
        --banner-width: 71.79vw;

        /*
        & img {
            filter: drop-shadow(0px 1.28vw 2.05vw rgba(0, 0, 0, 0.16));
        }
            */
    }


    /* -- SP ふくしまで働く魅力 セクション
    -------------------------------------------*/
    .top-appeal-section {
        padding: 16.92vw 0 15.38vw;
    }

    .top-appeal__title {
        top: -.5em;
        font-size: 8.21vw;
    }


    /* - SP VOICE ボイス */
    .top-voice-section {
        .splide__track {
            padding-top: 11.03vw;
        }

        .card .new-mark {
            top: -7.69vw;
        }
    }


    /* - SP MOVIE ムービー */
    .top-movie-section {
        margin-top: 17.95vw;

        .splide__track {
            padding-top: 11.03vw;
        }
    }


    /* -- SP 3つのピックアップ(地域情報 / 移住 / 企業認証) セクション
    -------------------------------------------*/
    .top-pickup-section {
        .container {
            padding-block: 12.82vw 17.95vw;
        }
    }

    .top-pickup__banner-wrapper {
        max-width: none;
    }

    .top-pickup__banners {
        grid-template-columns: minmax(0, 1fr);
        gap: 7.69vw 0;

        .top-pickup__banner:nth-of-type(1) {
            grid-column: auto;
        }
    }

    .top-pickup__link {
        --border-width: .77vw;
        position: relative;
        grid-template-columns: 11.54vw minmax(0, 1fr);
        place-content: center;
        gap: 0 5.13vw;
        height: 24.1vw;
        min-height: 0;
        text-align: left;
        border-radius: 3.85vw;
        padding: 0 3.85vw;
        line-height: 1.4;
        box-shadow: 0px .77vw 1.54vw rgba(0, 0, 0, 0.16);

        .icon {
            order: 1;
            width: 100%;
            margin: auto;
        }

        &::after {
            width: 6.41vw;
            background-size: 1.79vw;
        }

        .top-pickup__text {
            order: 2;
        }
    }

    .top-pickup__caption {
        font-size: 3.08vw;
        margin-bottom: .6em;
    }

    .top-pickup__title strong {
        font-size: 4.62vw;
    }

    .top-pickup__backimage {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        min-width: 0;
        height: auto;
        aspect-ratio: 1/.479;
        margin: 0;
        background: url(../img/top/sp/bg_pickup.webp) center center / cover no-repeat;
    }


    /* -- SP 「ふくしまで働く」情報コーナー
    -------------------------------------------*/
    .top-feature-section {
        padding: 12.82vw 0;
    }

    .top-feature__title {
        font-size: 8.21vw;
        padding-bottom: 10.26vw;
        background-image: url(../img/ui/sp/balloon_arrow.svg);
        margin-bottom: 5.13vw;
        line-height: 1.42;
    }

    .top-feature__subtitle {
        font-size: 5.64vw;
        margin-bottom: 7.69vw;
        line-height: 1.42;
    }


    /* -- SP 就職・転職活動中の方 セクション
    -------------------------------------------*/
    .top-support-section {
        padding-block: 16.92vw 17.95vw;
    }

    .top-support__title {
        font-size: 7.69vw;
        margin-bottom: 12.82vw;
    }

    .top-support__list {
        grid-template-columns: minmax(0, 1fr);
        gap: 12.82vw 0;

        & li {}

        & h3 {
            font-size: 6.67vw;
            padding-bottom: 4.62vw;
            margin-bottom: 5.38vw;


            &::after {
                height: 1.03vw;
            }
        }

        & .button {
            min-width: 0;
        }

        & .button--login {
            margin-top: 0;
        }
    }

    .top-support__description {
        margin-bottom: 3.08vw;
    }

    .top-support__buttons {
        .item--magazine a {
            width: 63.33vw;
            white-space: nowrap;
        }

        .line-button {
            margin-top: 2.56vw;
        }
    }

    .top-support__buttons--apply {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 5.13vw;

        & a {
            width: 100%;
            height: 100%;
            padding-inline: 0;
        }

        &>div:has(.button--login) {
            order: 1;
        }

        &>div:has(.button--primary) {
            order: 2;
        }
    }


    /* -- SP 初めての方 / よくあるご質問 セクション
    -------------------------------------------*/
    .top-guide__banners {
        gap: 0 1px;
        height: 44.87vw;

        & a {
            font-size: 5.13vw;

            .top-guide__banners-text {
                min-width: 0;
                width: 42.31vw;
                border-width: .51vw;
                padding: .3em;
                line-height: 1.4;
            }

            &::before {
                width: 10vw;
                background-size: 2.82vw;
            }
        }
    }


    /* SP ページ - 企業詳細
    --------------------------------------------------------------- */

    /* - SP 企業情報ヘッダー(メタデータ) */
    .company-data-header {
        grid-template-columns: minmax(0, 1fr);
        gap: 1em;
        margin-bottom: 6.41vw;

        .company-data-header__meta-list {
            font-size: 3.59vw;
            gap: 1.54vw 3.08vw;

            .icon {
                font-size: 4.1vw;
            }
        }

        .company-data-header__date {
            font-size: 3.08vw;
        }

        .company-data-header__grid-3 {
            grid-column: auto;
        }
    }

    /* - SP 企業情報セクション */
    .company-data-section:not(:last-child) {
        margin-bottom: 7.69vw;
    }

    /* - SP 企業情報セクション - 企業概要ブロック */
    .company-overview {
        display: grid;
        grid-template-rows: auto auto auto auto 1fr;
        grid-template-areas:
            "logo"
            "photo"
            "data"
            "link"
            "body";
        grid-template-columns: minmax(0, 1fr);
        gap: 0;

        .company-overview__data {
            margin-top: 11.54vw;
        }

        .company-overview__data-item {
            margin-bottom: 7.69vw;
        }

        .company-overview__link {
            display: block;
            gap: 0;

            .label-button-corporate {
                margin-inline: auto;
            }

            .sns-links {
                width: fit-content;
                margin: 5.13vw auto 0;
            }
        }

        .company-overview__logo {
            grid-area: logo;
        }

        .company-overview__logo-item {
            padding-inline: 1.5em;
            margin-bottom: 3.85vw;

            & img {
                max-height: 138.46vw;
            }
        }

        .company-overview__photo {}

        .company-overview__photo-item {
            .splide__track {
                border-radius: 2.56vw;
            }
        }

        .company-overview__body {
            grid-area: body;
            margin-top: 8.97vw;
        }
    }


    /* - SP GoogleMap */
    .access-map {

        & iframe {
            min-width: 0;
            aspect-ratio: 1/.729;
            height: auto;
        }

        &:not(:last-child) {
            margin-bottom: 2.56vw;
        }
    }

    /* - SP インターンシップに応募する */
    .apply-button-wrapper--internship {
        margin-top: 8.97vw;

        .label-button-apply {
            min-width: 0;
            width: 100%;
            margin-inline: auto;
        }
    }

    .company-data-section.is-internship {
        .data-table {
            margin-bottom: 8.97vw;

            &:has(+.apply-button-wrapper--internship) {
                margin-bottom: calc(8.97vw / 2);
            }
        }

        .apply-button-wrapper--internship {
            margin-bottom: 8.97vw;
        }
    }


    /* - SP この企業が募集中の求人 */
    .related-job-section {
        margin-top: 8.97vw;
    }

    .related-job-section__header {
        display: block;
    }


    /* SP ページ - 企業PR
    --------------------------------------------------------------- */

    .company-pr-section {
        margin-bottom: 15.38vw;

        .balloon-heading {
            margin-bottom: 8.97vw;
        }
    }

    .company-pr-section__title {
        font-size: 6.67vw;
        margin: 0 auto 5.13vw;
    }

    .company-pr-sub-section:not(:last-child) {
        margin-bottom: 8.97vw;
    }

    .company-pr-list-wrapper {
        padding: 3.85vw;
        border-radius: 2.56vw;
    }

    .company-pr-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 3.85vw;

        & li {
            padding: 2.5em;
        }
    }

    .company-pr-block {
        grid-template-columns: minmax(0, 1fr);
        gap: 7.69vw;

        & figure {
            margin-bottom: 1em;
        }

        .company-pr-block__title {
            font-size: 4.62vw;
        }
    }

    /* - SP インタビューブロック */
    .interview-header {
        grid-template-columns: minmax(0, 1fr);
        gap: 1em;
        margin-bottom: 3.43em;

        .interview-header__title {
            font-size: 5.33vw;
            letter-spacing: normal;
        }

        .interview-header__officialpost {
            font-size: 1em;
            letter-spacing: .05em;
            padding: 0 1em .02em;
            margin-top: 2em;
        }

        .interview-header__profile {
            width: fit-content;
            font-size: .9em;
            text-align: left;
            margin: .5em auto 0;
        }

    }

    .interview-content {
        & p:not(:last-child) {
            margin-bottom: 1em;
        }
    }

    /* - SP インタビューFAQ */
    .interview-faq {

        .interview-faq__q {
            gap: 5.13vw;
            margin-bottom: 1.45em;
        }

        .interview-faq__q-heading {
            border-radius: 1.28vw;

            &::after {
                --width: 2.56vw;
            }
        }

        .interview-faq__q-body {
            font-size: 4.62vw;
            line-height: 1.54;
        }
    }

    /* - SP About me */
    .aboutme-wrapper {
        padding: 10.26vw var(--container-padding);
        border-radius: 2.56vw;
    }

    .aboutme-title {
        top: -4.1vw;
        left: var(--container-padding);
        font-size: 8.21vw;
    }

    .aboutme-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 7.69vw;

        & figure {
            margin-bottom: 1em;
        }
    }


    /* SP ページ - 求人詳細
    --------------------------------------------------------------- */

    .job-data-header {
        margin-bottom: 2.87em;
    }

    .job-data-header__group {
        display: block;
        gap: 0;
        margin-bottom: 7.18vw;

        .job-data-header__action {
            margin-left: 0;
            margin-bottom: 4.1vw;
        }
    }

    .job-data-header__status {
        gap: 3.59vw;
        margin-bottom: 4.1vw;
    }

    .job-data-header__date {
        font-size: 3.08vw;
        margin-bottom: 7.18vw;
    }

    .job-data-header__title {
        .heading--page-1 {
            margin-bottom: 1.75em;
        }
    }

    .job-data-header__meta {
        margin-bottom: 4.1vw;
    }


    /* - SP 会社情報 */
    .job-overview {
        display: grid;
        grid-template-rows: auto;
        grid-template-columns: auto;
        grid-template-areas:
            "description"
            "salary"
            "employment"
            "workplace"
        ;
        gap: 5.13vw 0;

        /* - SP 仕事内容 */
        .job-overview__item--description {}

        /* - SP 給与 */
        .job-overview__item--salary {}

        /* - SP 本社所在地 */
        .job-overview__item--headquarters {}

        /* - SP 雇用形態 */
        .job-overview__item--employment {}

        /* - SP 設立年月日 */
        .job-overview__item--established {}

        /* - SP 就業場所 */
        .job-overview__item--workplace {}

        /* - SP 従業員数 */
        .job-overview__item--employees {}
    }

    .job-overview-company {
        display: grid;
        grid-template-rows: auto;
        grid-template-columns: auto;
        grid-template-areas:
            "headquarters"
            "established"
            "employees"
            "image"
        ;
        gap: 5.13vw 0;

        /* - SP 仕事内容 */
        .job-overview__item--description {}

        /* - SP 給与 */
        .job-overview__item--salary {}

        /* - SP 本社所在地 */
        .job-overview__item--headquarters {}

        /* - SP 雇用形態 */
        .job-overview__item--employment {}

        /* - SP 設立年月日 */
        .job-overview__item--established {}

        /* - SP 就業場所 */
        .job-overview__item--workplace {}

        /* - SP 従業員数 */
        .job-overview__item--employees {}
    }


    /* - SP 応募可否エラー表示 */
    .application-notice {
        margin-bottom: 5.64vw;
    }

    .application-notice__item {
        border-width: .77vw;
        border-radius: 2.56vw;

        &::before {
            background-size: .51vw;
        }

        &+.application-notice__item {
            margin-top: 3.85vw;
        }

        .application-notice__item__inner {
            padding: 2.56vw 3.85vw;
        }
    }

    .application-notice__link-mypage {
        &::after {
            top: -.1em;
            width: 1.25em;
            margin: 0 .5em;
        }
    }


    /* SP ページ - イベント
    --------------------------------------------------------------- */

    .event-entry__button {
        margin: 7.69vw 0;
    }

    .event-entry {
        padding: 10.26vw var(--container-padding);
        border-width: .26vw;
        border-radius: 1.28vw;
        margin-top: 7.69vw;
    }

    .event-summary {
        width: auto;

        .event-summary__item {
            grid-template-columns: minmax(0, 1fr);
            gap: 2.05vw 0;

            .labeled-icon {
                align-items: center;
                gap: 0 .81em;
            }

            &:not(:last-child) {
                margin-bottom: 1em;
            }
        }

        & dt {
            text-align: center;
            text-indent: 1em;
            letter-spacing: 1em;
            background-color: var(--color-grayish-blue);
            border-radius: 100vmax;
        }
    }

    .event-form {
        max-width: none;
        margin: 0 auto;
    }


    /* SP ページ - イベント - formrun(またはメールフォーム)
    --------------------------------------------------------------- */

    .event-form__group:not(:last-child) {
        margin-bottom: 8.72vw;
    }

    .event-form__label {
        gap: 2.05vw;
        margin-bottom: 2.56vw;
    }


    /* SP ページ - 企業の方トップ
    --------------------------------------------------------------- */

    .corporate-top-introduction {
        padding: 0 0 20.51vw;
    }

    .corporate-top-introduction__list {
        grid-template-columns: minmax(0, 1fr);
        gap: 5.13vw;
        padding-inline: var(--container-padding);
        margin-bottom: 15.38vw;

        .button {
            padding-inline: 1em;
        }
    }


    /* SP ページ - 404
    --------------------------------------------------------------- */

    .notfound-section__title {
        font-size: 5.64vw;
    }

    .notfound-section__body {
        margin-bottom: 2em;
    }


    /* SP 共通 - 関連カードセクション
    --------------------------------------------------------------- */

    .related-section {
        margin-top: 20.51vw;
    }

    .related-section__title-wrapper {
        display: block;
        margin-bottom: 5.13vw;

        &::before,
        &::after {
            content: normal;
        }
    }

    .related-section__title {
        font-size: 7.18vw;
    }


    /* Splideの親要素の右側の余白を埋めて、ビューポートの右端まで幅を広げる */
    .splide__over-track {
        position: relative;
        margin: 0 0 0 -2.56vw;
        /* NEWマークの20px分右にズレるので、半分の10px分を左に戻す */

        /* SP時の関連カルーセル下のNEWマークは20px分ずらす */
        .card .new-mark {
            top: -5.13vw;
            left: -5.13vw;
        }

        .splide__track {
            padding-top: 5.13vw;
            padding-left: 5.13vw !important;
            /* NEWマーク分20pxを差引く */
        }
    }

    /* - SP時に限定して表示する[もっと見る]ボタン */
    .sp-only-morelink-wrapper {
        display: grid;
        place-content: center;
        margin-top: 15.38vw;
    }

    /* - SP時に限定して表示する[求人一覧]ボタン */
    .sp-only-joblink-wrapper {
        display: grid;
        place-content: center;
        margin-top: 7.69vw;
    }

    /* - SP時に限定して表示する[汎用一覧]ボタン */
    .sp-only-slide-morelink-wrapper {
        display: grid;
        place-content: center;
        margin-top: 10.26vw;
    }


    /* SP 共通 - 企業の方へのご案内
    --------------------------------------------------------------- */

    .for-business-section {
        padding-block: 17.95vw 25.64vw;
    }

    .for-business-block {
        max-width: auto;
        padding: 9.23vw 4.1vw;
        border-radius: 7.69vw;
        border-width: 1.03vw;
        box-shadow: 0px .77vw 1.54vw rgba(0, 0, 0, 0.16);
    }

    .for-business-block__title {
        font-size: 6.15vw;
        margin-bottom: .9em;
    }

    .for-business__list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 5.13vw 4.87vw;
        max-width: none;

        &>li:nth-of-type(1) {
            grid-column: span 2;
        }

        & .button {
            width: 100%;
            height: 100%;
            text-align: center;
            padding-inline: 0;
        }
    }


    /* SP 共通 - 就職相談ブロック
    --------------------------------------------------------------- */

    .advice-block {
        margin: 0 auto 15.38vw;
        padding: 5.64vw 6.15vw 7.18vw;
        border-radius: 7.69vw;
        border-width: .77vw;

        .advice-block__inner {
            max-width: auto;
        }

        .advice-block__title {
            font-size: 4.62vw;
            margin-bottom: 7.69vw;
        }

        .advice-block__button {
            margin-bottom: 7.69vw;
        }

        .advice-block__subtitle {
            margin-bottom: 7.69vw;
        }

        .advice-block__list {
            justify-content: flex-start;
            gap: 1em 1.5em;

            & a {
                display: grid;
                grid-template-columns: minmax(0, 1fr) var(--fs20px);
                align-items: center;
                gap: 0 var(--fs8px);

                &::after {
                    content: "";
                    display: block;
                    width: 100%;
                    min-width: 0;
                    aspect-ratio: 1/1;
                    background: var(--color-main) url(../img/ui/list_icon_right_bold.svg) var(--fs7px) center / var(--fs7px) auto no-repeat;
                    border-radius: 100vmax;
                }
            }
        }
    }


}