/* ===========================
Base
=========================== */

@media screen and (max-width: 1400px) {

    .block-1400 {
        display: block;
    }
}

@media screen and (max-width: 1024px) {

    .block-1024 {
        display: block;
    }

    html {
        scroll-padding-top: 80px;
    }

    main {
        margin-top: 80px;
    }


    /* ボタン */
    .btn {
        width: 350px;
        height: 70px;
    }

    .btn__text {
        font-size: 24px;
    }
}

@media screen and (max-width: 768px) {

    .block-768 {
        display: block;
    }

    .block-pc {
        display: none;
    }

    /* ボタン */
    .btn {
        width: 320px;
    }

    .btn__text {
        font-size: 20px;
    }

    .btn__icon {
        left: 30px;
        width: 30px;
        height: 30px;
    }

    .btn__arrow {
        right: 20px;
        width: 22px;
        height: 22px;
    }
}

@media screen and (max-width: 450px) {

    body {
        font-size: 16px;
    }

    .block-450 {
        display: block;
    }

    /* ボタン */
    .btn {
        width: 100%;
        max-width: 320px;
        height: 60px;
    }

    .btn__text {
        font-size: 18px;
    }

    .btn__icon {
        left: 26px;
        width: 26px;
        height: 26px;
    }

    .btn__arrow {
        width: 20px;
        height: 20px;
    }
}


/* =====================================
header ヘッダー
===================================== */

@media screen and (max-width: 1400px) {

    .header__inner {
        max-width: 1000px;
    }

    .header__logo-link {
        width: 200px;
    }

    .header__nav-list {
        gap: 16px;
    }

    .header__actions {
        gap: 8px;
    }

    .header-btn {
        padding: 8px 16px;
        font-size: 14px;
    }
}

@media screen and (max-width: 1024px) {

    .header__inner {
        height: 80px;
    }

    .header__nav,
    .header__actions {
        display: none;
    }

    .header__hamburger {
        display: flex;
    }

    .header__logo-heading {
        display: none;
    }

    .header__logo-mobile {
        display: block;
    }
}

@media screen and (max-width: 768px) {

    .header__logo-mobile-main {
        width: 240px;
    }

    .header__mobile-nav-list a {
        padding: 20px 16px 12px;
        font-size: 18px;
    }

    .header__mobile-footer-logo {
        width: 200px;
        margin: 0 0 6px;
    }
}

@media screen and (max-width: 450px) {

    .header__mobile-nav-inner {
        padding: 0 0 20px;
    }

    .header__logo-mobile-main {
        width: 220px;
    }

    .header__logo-mobile-sub {
        font-size: 12px;
    }

    .header__mobile-nav-list a {
        padding: 16px 10px 10px;
        font-size: 16px;
    }

    .header__mobile-footer-logo {
        width: 180px;
    }

    .header__mobile-footer-text {
        font-size: 14px;
        line-height: 1.6;
    }

    .header__mobile-footer-instagram-icon {
        width: 48px;
    }
}



/* =====================================
footer フッター
===================================== */

@media screen and (max-width: 1400px) {

    .footer__tagline {
        font-size: 18px;
    }

    .footer__logo img {
        width: 300px;
    }

    .footer__nav {
        gap: 40px;
    }
}

@media screen and (max-width: 1024px) {

    .footer {
        padding: 60px 0 80px;
    }

    .footer__inner {
        flex-direction: column;
        padding-bottom: 70px;
    }

    /* 固定ボタン */
    .footer-fixed-btn {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
    }

    .footer-fixed-btn__item {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 70px;
        font-size: 20px;
        font-weight: 700;
        font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
        color: #ffffff;
    }

    .footer-fixed-btn__item--contact {
        background-color: #FF948F;
    }

    .footer-fixed-btn__item--form {
        background-color: #223E78;
    }
}

@media screen and (max-width: 768px) {

    .footer {
        padding: 40px 0 60px;
    }

    .footer__inner {
        padding-bottom: 60px;
    }

    .footer__nav {
        display: none;
    }

    /* 固定ボタン */
    .footer-fixed-btn__item {
        height: 60px;
        font-size: 18px;
    }
}

@media screen and (max-width: 450px) {

    .footer {
        padding: 30px 0 40px;
    }

    .footer__inner {
        gap: 30px;
        padding-bottom: 50px;
    }

    .footer__logo img {
        width: 260px;
    }

    /* 固定ボタン */
    .footer-fixed-btn__item {
        height: 50px;
        font-size: 16px;
    }
}


/* =====================================
template-parts テンプレートパーツ
===================================== */

/* ===========================
参加企業一覧
=========================== */

@media screen and (max-width: 1024px) {

    .companies__title {
        margin: 0 0 10px;
        font-size: 30px;
    }

    .companies__item a {
        font-size: 16px;
    }
}

@media screen and (max-width: 768px) {

    .companies__card {
        padding: 20px 30px 40px;
    }

    .companies__title {
        font-size: 26px;
    }

    .companies__list {
        column-count: 1;
        padding: 16px 20px;
    }

    .companies__cta {
        margin-top: 30px;
    }
}

@media screen and (max-width: 450px) {

    .companies__card {
        padding: 20px 26px 30px;
    }

    .companies__title {
        font-size: 22px;
    }
}

/* ===========================
overview 開催概要
=========================== */

@media screen and (max-width: 1400px) {


    .overview__box {
        gap: 40px;
    }

    .overview__row {
        padding: 16px 10px;
    }

    .overview__label {
        width: 140px;
        font-size: 18px;
    }

    .overview__value {
        font-size: 18px;
    }

    .overview__map {
        flex: 1 1 40%;
    }

    .overview__map iframe {
        height: 400px;
    }
}

@media screen and (max-width: 1024px) {

    .overview__title {
        font-size: 30px;
    }

    .overview__box {
        gap: 30px;
    }

    .overview__row {
        flex-direction: column;
        align-items: flex-start;
    }

    .overview__label {
        width: auto;
        margin-bottom: 4px;
    }

    .overview__link-icon {
        width: 16px;
    }

    .overview__map {
        flex: 1 1 46%;
    }
}

@media screen and (max-width: 768px) {

    .overview__title {
        font-size: 26px;
    }

    .overview__box {
        flex-direction: column;
        gap: 20px;
    }

    .overview__left,
    .overview__map {
        flex: 1 1 100%;
        width: 100%;
    }

    .overview__map {
        margin-top: 0;
    }

    .overview__map iframe {
        height: 300px;
    }
}

@media screen and (max-width: 450px) {

    .overview__title {
        font-size: 22px;
    }

    .overview__row {
        padding: 10px 6px;
    }

    .overview__label {
        margin-bottom: 0;
    }

    .overview__value {
        font-size: 16px;
    }

    .overview__link-icon {
        width: 12px;
    }

    .overview__map iframe {
        height: 200px;
    }
}



/* =====================================
トップページ
===================================== */

/* ===========================
FV（ファーストビュー）
=========================== */

@media screen and (max-width: 1400px) {

    .fv {
        padding: 40px 30px 50px;
    }

    .fv__catch {
        width: 720px;
    }

    .fv__badges {
        width: 720px;
        margin: 0 auto 40px;
    }

    .fv__lead {
        font-size: 28px;
    }

    .fv__logo-img {
        width: 760px;
    }

    .fv__date-text {
        font-size: 60px;
    }

    .fv__date-text--large {
        font-size: 80px;
    }

    .fv__date-day {
        width: 42px;
        height: 42px;
        font-size: 26px;
    }

    .fv__time {
        margin-top: -30px;
        font-size: 32px;
    }

    .fv__place {
        font-size: 22px;
    }

    .fv__place-icon {
        width: 20px;
    }

    .fv__actions {
        gap: 10px;
    }

    .fv__btn {
        padding: 10px 30px;
        font-size: 22px;
        width: 300px;
    }

    .fv__btn-icon {
        width: 22px;
    }
}

@media screen and (max-width: 1024px) {

    .fv__catch {
        width: 600px;
        font-size: 22px;
    }

    .fv__badges {
        width: 640px;
        margin: 0 auto 30px;
    }

    .fv__badge {
        padding: 4px 22px;
        font-size: 18px;
    }

    .fv__badge-icon {
        width: 18px;
    }

    .fv__lead {
        font-size: 26px;
    }

    .fv__logo-img {
        width: 600px;
    }

    .fv__date {
        gap: 6px;
    }

    .fv__date-text {
        font-size: 50px;
    }

    .fv__date-text--large {
        font-size: 70px;
    }

    .fv__date-day {
        width: 36px;
        height: 36px;
        font-size: 22px;
    }

    .fv__time {
        margin-top: -26px;
        font-size: 28px;
    }

    .fv__place {
        font-size: 20px;
    }

    .fv__place-icon {
        width: 16px;
    }

    .fv__actions {
        flex-direction: column;
        margin: 0 auto;
        width: fit-content;
    }

    .fv__btn {
        padding: 10px 24px;
        font-size: 20px;
        width: 270px;
    }

    .fv__btn-icon {
        width: 20px;
    }

    .fv__btn-arrow {
        width: 10px;
    }
}

@media screen and (max-width: 768px) {

    .fv {
        padding: 60px 30px 32vw;
        background: linear-gradient(180deg, rgba(248, 197, 177, 0.55) 0%, rgba(255, 255, 255, 0.55) 100%);
    }

    .fv__inner {
        display: flex;
        flex-direction: column;
    }

    /* 表示順の並び替え */
    .fv__lead {
        order: 1;
        font-size: 20px;
        margin: 0 0 4px;
    }

    .fv__logo {
        order: 2;
        margin: 0;
    }

    .fv__schedule {
        order: 3;
        margin-bottom: 20px;
    }

    .fv__top {
        display: contents;
    }

    .fv__catch {
        order: 4;
        display: block;
        width: auto;
        margin: 0 0 16px;
        font-size: 22px;
        font-weight: 500;
        color: #FF6058;
    }

    .fv__catch-item {
        display: block;
    }

    .fv__badges {
        order: 5;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
        max-width: 320px;
        margin: 0 auto 30px;
        gap: 8px 10px;
    }

    .fv__badge {
        justify-content: center;
        padding: 4px 10px;
        font-size: 20px;
    }

    .fv__badge-icon {
        width: 16px;
    }

    .fv__actions {
        order: 6;
        flex-direction: column;
    }

    /* ロゴ画像 */
    .fv__logo-img {
        width: 100%;
        max-width: 600px;
    }

    /* 日程 */
    .fv__date {
        gap: 4px;
        margin-top: 0;
    }

    .fv__date-text {
        font-size: 36px;
    }

    .fv__date-text--large {
        font-size: 64px;
    }

    .fv__date-day {
        width: 30px;
        height: 30px;
        font-size: 18px;
    }

    .fv__time {
        font-size: 30px;
    }

    .fv__place {
        font-size: 20px;
        gap: 6px;
        margin-top: -6px;
    }

    .fv__place-icon {
        width: 16px;
    }

    /* ボタン */
    .fv__btn--company {
        display: none;
    }

    .fv__btn--search {
        width: 100%;
        margin: 0 auto;
        padding: 10px 20px;
        font-size: 20px;
    }

    .fv__btn-icon {
        width: 18px;
    }
}

@media screen and (max-width: 450px) {

    .fv {
        padding: 30px 20px 34vw;
    }

    .fv__lead {
        font-size: 15px;
    }

    .fv__date-text {
        font-size: 28px;
    }

    .fv__date-day {
        width: 24px;
        height: 24px;
        font-size: 14px;
    }

    .fv__time {
        font-size: 20px;
    }

    .fv__place {
        font-size: 14px;
        gap: 4px;
    }

    .fv__place-icon {
        width: 12px;
    }

    .fv__catch {
        margin: 0 0 10px;
        font-size: 16px;
    }

    .fv__badges {
        max-width: 260px;
        gap: 6px 8px;
    }

    .fv__badge {
        justify-content: center;
        padding: 4px 10px;
        font-size: 16px;
    }

    .fv__btn--search {
        font-size: 16px;
    }
}


/* ===========================
多治見で働こフェスとは？
=========================== */

@media screen and (max-width: 1400px) {

    .prologue__features {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        max-width: 780px;
        margin: 0 auto 80px;
    }

    .feature-card {
        max-width: 100%;
    }

    .prologue__title {
        font-size: 60px;
    }

    .prologue__title-logo {
        width: 680px;
    }

    .prologue__lead {
        font-size: 34px;
    }
}

@media screen and (max-width: 1024px) {

    .prologue {
        padding: 60px 0 50px;
    }

    .prologue__features {
        gap: 20px;
        margin: 0 auto 60px;
        max-width: 700px;
    }

    .feature-card__title {
        font-size: 20px;
        margin: 0 0 8px;
    }

    .prologue__wrap {
        background-size: 430px auto;
        margin-bottom: 40px;
    }

    .prologue__title-logo {
        width: 500px;
    }

    .prologue__title {
        font-size: 46px;
    }

    .prologue__title-sub {
        margin-left: 10px;
    }

    .prologue__lead {
        font-size: 28px;
    }

    .prologue__text {
        font-size: 18px;
    }

    .prologue__highlight {
        margin: 30px 0;
        font-size: 20px;
    }
}

@media screen and (max-width: 768px) {

    .prologue__features {
        gap: 10px;
    }

    .feature-card {
        padding: 20px 16px;
        border-radius: 10px;
    }

    .feature-card__icon {
        width: 100px;
        height: 100px;
        margin: 0 auto 10px;
    }

    .feature-card__title {
        font-size: 18px;
    }

    .feature-card__text {
        text-align: left;
    }

    .prologue__title {
        font-size: 26px;
        margin: 0 0 30px;
    }

    .prologue__title-logo {
        width: 300px;
    }

    .prologue__title-sub {
        margin-left: 4px;
    }

    .prologue__wrap {
        background-size: 380px auto;
    }

    .prologue__lead {
        font-size: 20px;
        line-height: 1.6;
        margin: 0 0 20px;
    }

    .prologue__text {
        font-size: 16px;
        text-align: left;
    }

    .prologue__highlight {
        margin: 20px 0;
        line-height: 1.6;
    }
}

@media screen and (max-width: 450px) {

    .prologue {
        padding: 40px 0 50px;
    }

    .prologue__features {
        grid-template-columns: 1fr;
    }

    .feature-card {
        padding: 16px 20px 20px;
    }

    .feature-card__icon {
        width: 80px;
        height: 80px;
        margin: 0 auto 6px;
    }

    .prologue__wrap {
        background-size: 100% auto;
        margin-bottom: 30px;
        background-position: center center;
    }

    .prologue__title {
        font-size: 20px;
        margin: 0 0 20px;
    }

    .prologue__title-logo {
        width: 240px;
    }

    .prologue__lead {
        font-size: 18px;
        margin: 0 0 10px;
    }

    .prologue__highlight {
        margin: 10px 0;
        font-size: 18px;
    }
}


/* ===========================
参加企業一覧
=========================== */

@media screen and (max-width: 1024px) {

    .companies {
        padding: 100px 0 80px;
    }

    .companies__decor--left {
        width: 400px;
    }

    .companies__decor--right {
        width: 500px;
    }
}

@media screen and (max-width: 768px) {

    .companies {
        padding: 60px 0 60px;
    }

    .companies__decor--left {
        width: 300px;
    }

    .companies__decor--right {
        width: 400px;
    }
}


/* ===========================
過去開催実績
=========================== */

@media screen and (max-width: 1400px) {

    .results__gallery {
        gap: 16px;
    }

    .results__voice-box {
        padding: 30px 20px;
    }
}

@media screen and (max-width: 1024px) {

    .results {
        padding: 80px 20px;
    }

    .results__decor--left {
        top: 30px;
        width: 390px;
    }

    .results__decor--right {
        bottom: 20px;
        width: 490px;
    }

    .results__title {
        font-size: 30px;
    }

    .results__subheading {
        margin: 0 0 10px;
        font-size: 26px;
    }

    .results__gallery {
        margin: 0 0 50px;
        gap: 10px;
    }

    .results__voice-box {
        padding: 24px 30px;
        margin: 0 auto 50px;
    }

    .results__voice-item {
        flex-direction: column;
    }
}

@media screen and (max-width: 768px) {

    .results {
        padding: 60px 20px;
    }

    .results__decor--left {
        width: 290px;
    }

    .results__decor--right {
        width: 390px;
    }

    .results__inner {
        width: 90%;
    }

    .results__gallery {
        gap: 16px;
        flex-direction: column;
        width: 100%;
        max-width: 500px;
        margin: 0 auto 50px;
    }

    .results__title {
        font-size: 26px;
        margin-bottom: 16px;
    }

    .results__subheading {
        font-size: 22px;
    }

    .results__voice-box {
        margin: 0 auto 30px;
    }

    .results__voice-item+.results__voice-item {
        margin-top: 10px;
    }
}

@media screen and (max-width: 450px) {

    .results {
        padding: 40px 20px;
    }

    .results__title {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .results__subheading {
        font-size: 20px;
    }

    .results__gallery {
        gap: 10px;
        margin: 0 auto 40px;
    }

    .results__voice-box {
        padding: 20px 26px;
    }
}


/* ===========================
開催概要
=========================== */

@media screen and (max-width: 1024px) {

    .overview {
        padding: 80px 0;
    }
}

@media screen and (max-width: 768px) {

    .overview__inner {
        width: 90%;
    }

    .overview {
        padding: 60px 0;
    }
}

@media screen and (max-width: 450px) {

    .overview {
        padding: 40px 0;
    }
}



/* =====================================
about 多治見で働こフェスとは
===================================== */

@media screen and (max-width: 1024px) {

    .about-heading {
        font-size: 30px;
    }

    .about-heading span {
        font-size: 24px;
    }
}

@media screen and (max-width: 768px) {

    .about-heading {
        font-size: 22px;
        margin-bottom: 16px;
    }

    .about-heading span {
        font-size: 18px;
    }
}

@media screen and (max-width: 450px) {

    .about-heading {
        font-size: 20px;
        line-height: 1.4;
    }

    .about-heading span {
        font-size: 16px;
    }
}


/* ===========================
ヒーロー
=========================== */

@media screen and (max-width: 1700px) {

    .about-hero__illust--1 {
        right: 21%;
    }

    .about-hero__illust--2 {
        right: 3%;
    }
}

@media screen and (max-width: 1400px) {

    .about-hero {
        padding: 60px 0 90px;
    }

    .about-hero__inner {
        max-width: 1000px;
    }

    .about-hero__content {
        max-width: 650px;
    }

    .about-hero__badges {
        margin: 0 auto 30px;
    }

    .about-hero__badge {
        font-size: 20px;
    }

    .about-hero__note {
        font-size: 26px;
    }

    .about-hero__lead {
        font-size: 26px;
    }

    .about-hero__illust--1 {
        top: 190px;
        right: 14%;
        width: 210px;
    }

    .about-hero__illust--2 {
        top: 20px;
        right: 4%;
        width: 180px;
    }
}

@media screen and (max-width: 1024px) {

    .about-hero__inner {
        max-width: 600px;
        margin: 0 auto 0 6vw;
    }

    .about-hero__content {
        max-width: 520px;
    }

    .about-hero__badges {
        margin: 0 auto 20px;
    }

    .about-hero__badge {
        padding: 4px 16px;
        font-size: 16px;
    }

    .about-hero__badge-icon {
        width: 16px;
    }

    .about-hero__note {
        font-size: 22px;
    }

    .about-hero__title-logo {
        width: 80%;
    }

    .about-hero__lead {
        font-size: 22px;
    }

    .about-hero__illust--1 {
        top: 160px;
        right: 16%;
        width: 200px;
    }

    .about-hero__illust--2 {
        top: 22px;
        right: 6%;
        width: 160px;
    }
}

@media screen and (max-width: 900px) {

    .about-hero__inner {
        margin: 0 auto 0 4vw;
    }

    .about-hero__illust--1 {
        top: 160px;
        right: 10%;
        width: 180px;
    }

    .about-hero__illust--2 {
        top: 22px;
        right: 4%;
        width: 140px;
    }
}


@media screen and (max-width: 768px) {

    .about-hero {
        padding: 30px 0 40px;
    }

    .about-hero__inner {
        max-width: 100%;
        margin: 0 auto;
    }

    .about-hero__content {
        margin: 0 auto;
    }

    .about-hero__badges {
        max-width: 260px;
        row-gap: 6px;
        margin: 0 auto 10px;
    }

    .about-hero__lead {
        font-size: 20px;
    }
}

@media screen and (max-width: 450px) {

    .about-hero {
        padding: 20px 0 30px;
    }

    .about-hero__badges {
        max-width: 230px;
        row-gap: 4px;
    }

    .about-hero__badge {
        padding: 2px 14px;
        font-size: 14px;
    }

    .about-hero__note {
        font-size: 20px;
        line-height: 1.2;
    }

    .about-hero__note::before {
        top: 70%;
    }

    .about-hero__note::after {
        top: 70%;
    }

    .about-hero__lead {
        font-size: 18px;
        line-height: 1.4;
    }
}


/* ===========================
多治見で働こフェスとは？
=========================== */

@media screen and (max-width: 1400px) {

    .about-intro__heading {
        font-size: 36px;
    }

    .about-intro__heading-logo {
        width: 500px;
    }

    .about-intro__text {
        font-size: 18px;
    }

    .about-intro__highlight {
        font-size: 22px;
    }

    /* ポイントボックス */
    .about-intro__points {
        padding: 30px 30px 60px;
    }

    /* バッジ */
    .about-intro__badges {
        gap: 10px;
    }

    .about-intro__badge {
        font-size: 20px;
    }

    /* カード */
    .about-intro__card {
        width: 280px;
        padding: 32px 10px 28px;
    }

    .about-intro__card-title {
        font-size: 18px;
    }

    .about-intro__card-text {
        font-size: 15px;
    }
}

@media screen and (max-width: 1024px) {


    .about-intro__heading {
        font-size: 30px;
    }

    .about-intro__heading-logo {
        width: 430px;
    }

    .about-intro__text {
        line-height: 2.2;
    }

    /* ポイントボックス */
    .about-intro__points {
        padding: 30px 20px 40px;
    }


    /* バッジ */
    .about-intro__badges {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 30px;
    }

    .about-intro__badge {
        text-align: center;
        padding: 6px 20px;
    }

    /* カード */
    .about-intro__cards {
        justify-content: center;
        gap: 5px;
    }

    .about-intro__card {
        width: 214px;
        padding: 32px 5px 28px;
    }

    .about-intro__card-icon {
        width: 100px;
        height: 100px;
    }

    .about-intro__card-title {
        font-size: 16px;
    }

    .about-intro__card-text {
        font-size: 12px;
    }
}

@media screen and (max-width: 768px) {

    .about-intro__heading {
        font-size: 24px;
    }

    .about-intro__heading-logo {
        width: 320px;
    }

    .about-intro__text {
        font-size: 16px;
        line-height: 2;
        text-align: left;
    }

    .about-intro__highlight {
        font-size: 18px;
    }

    /* ポイントボックス */
    .about-intro__points {
        max-width: 500px;
        margin: 0 auto;
    }

    /* バッジ */
    .about-intro__badges {
        gap: 6px;
        margin: 0 auto 20px;
        max-width: 300px;
    }

    .about-intro__badge {
        font-size: 18px;
    }

    /* カード */
    .about-intro__cards {
        max-width: 320px;
        margin: 0 auto;
        gap: 10px;
    }

    .about-intro__card {
        width: 100%;
    }

    .about-intro__card-title {
        font-size: 20px;
        line-height: 1.4;
    }

    .about-intro__card-text {
        font-size: 16px;
    }
}

@media screen and (max-width: 450px) {

    .about-intro__heading {
        font-size: 22px;
        margin: 0 0 20px
    }

    .about-intro__heading-logo {
        width: 230px;
    }

    /* バッジ */
    .about-intro__badge {
        font-size: 16px;
        padding: 4px 20px;
    }

    /* カード */
    .about-intro__card {
        padding: 20px 5px 24px;
    }

    .about-intro__card-title {
        font-size: 18px;
    }

    .about-intro__card-text {
        font-size: 14px;
    }
}

/* ===========================
こんな人におすすめ
=========================== */

@media screen and (max-width: 1400px) {

    .about-recommend__body {
        justify-content: center;
    }

    .about-recommend__list {
        flex: none;
    }

    .about-recommend__item {
        font-size: 20px;
    }

    .about-recommend__illust {
        width: 320px;
    }
}

@media screen and (max-width: 1024px) {

    .about-recommend {
        padding: 80px 0 0;
    }

    .about-recommend__body {
        gap: 20px;
    }

    .about-recommend__item {
        padding-left: 30px;
        font-size: 18px;
    }

    .about-recommend__item+.about-recommend__item {
        margin-top: 10px;
    }

    .about-recommend__item::before {
        width: 20px;
        height: 20px;
    }

    .about-recommend__illust {
        width: 180px;
    }
}

@media screen and (max-width: 768px) {

    .about-recommend {
        padding: 60px 0 0;
    }

    .about-recommend__body {
        gap: 16px;
        flex-direction: column;
    }

    .about-recommend__item::before {
        top: 5px;
        width: 18px;
        height: 18px;
        margin-top: 0;
    }

    .about-recommend__illust {
        width: 100%;
        max-width: 300px;
    }
}

@media screen and (max-width: 450px) {

    .about-recommend {
        padding: 40px 0 0;
    }

    .about-recommend__body {
        gap: 0;
    }
}

/* ===========================
お申し込みから当日までの流れ
=========================== */

@media screen and (max-width: 1400px) {

    .about-flow__steps {
        gap: 40px;
    }

    .about-flow__step {
        padding: 30px 26px;
    }

    .about-flow__step:not(:last-child)::after {
        right: -31px;
        border-width: 12px 0 12px 18px;
    }

    .about-flow__step-head {
        gap: 12px;
        margin: 0 0 10px;
    }

    .about-flow__step-number {
        font-size: 40px;
    }

    .about-flow__step-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 1024px) {

    .about-flow {
        padding: 80px 0 90px;
    }

    .about-flow__steps {
        flex-direction: column;
        gap: 42px;
        max-width: 640px;
        margin: 40px auto;
    }

    .about-flow__step:not(:last-child)::after {
        top: auto;
        right: 50%;
        bottom: -34px;
        transform: translateX(50%) rotate(90deg);
    }

    .about-flow__catch {
        font-size: 24px;
    }
}

@media screen and (max-width: 768px) {

    .about-flow {
        padding: 60px 0 80px;
    }

    .about-flow__steps {
        margin: 20px auto 40px;
    }

    .about-flow__step-number {
        font-size: 36px;
    }

    .about-flow__step-title {
        font-size: 24px;
    }

    .about-flow__catch {
        font-size: 22px;
        line-height: 1.4;
    }

    .about-flow__catch::before {
        top: 70%;
    }

    .about-flow__catch::after {
        top: 70%;
    }

    .about-flow__note {
        text-align: left;
        width: fit-content;
        margin: 20px auto 0;
    }
}

@media screen and (max-width: 450px) {

    .about-flow {
        padding: 40px 0 60px;
    }

    .about-flow__steps {
        gap: 30px;
        margin: 20px auto 30px;
    }

    .about-flow__step {
        padding: 26px 24px;
    }

    .about-flow__step-number {
        font-size: 34px;
    }

    .about-flow__step-title {
        font-size: 22px;
    }

    .about-flow__step:not(:last-child)::after {
        border-width: 10px 0 10px 14px;
        border-radius: 4px;
        bottom: -26px;
    }

    .about-flow__catch {
        font-size: 18px;
        padding: 0 22px;
    }
}

/* ===========================
過去開催実績
=========================== */

@media screen and (max-width: 1400px) {

    .about-results__inner {
        width: 90%;
    }

    .about-results__slider-item {
        width: calc((1700px - 48px) / 5);
    }
}

@media screen and (max-width: 1024px) {

    .about-results {
        padding: 80px 0 100px;
    }

    .about-results__decor--left {
        top: 30px;
        width: 390px;
    }

    .about-results__decor--right {
        bottom: 20px;
        width: 490px;
    }

    .about-results__voice-cards {
        gap: 10px;
    }

    .about-results__voice-card-bubble {
        height: 80px;
        padding: 20px 10px;
        font-size: 15px;
    }

    .about-results__voice-card-icon {
        width: 90px;
    }

    .about-results__data {
        gap: 20px;
        margin-top: 40px;
    }

    .about-results__data-title {
        font-size: 24px;
        margin: 0 0 16px;
    }

    .about-results__data-image {
        width: 300px;
    }
}

@media screen and (max-width: 768px) {

    .about-results {
        padding: 60px 0 40px;
    }

    .about-results__decor--left {
        width: 290px;
    }

    .about-results__decor--right {
        width: 390px;
    }

    .about-results__slider-track {
        gap: 10px;
    }

    .about-results__slider-item {
        width: calc((1700px - 48px) / 6);
    }

    .about-results__voice {
        margin: 40px auto 0;
    }

    .about-results__voice-label {
        font-size: 18px;
    }

    .about-results__voice-cards {
        flex-direction: column;
        gap: 16px;
        max-width: 400px;
        margin: 0 auto;
    }

    .about-results__voice-card-bubble {
        margin: 0 0 14px;
    }

    .about-results__voice-card:nth-child(1) .about-results__voice-card-bubble::after,
    .about-results__voice-card:nth-child(2) .about-results__voice-card-bubble::after,
    .about-results__voice-card:nth-child(3) .about-results__voice-card-bubble::after {
        left: 50%;
        bottom: -16px;
        border-width: 18px 8px 0 8px;
    }

    .about-results__data {
        gap: 16px;
        flex-direction: column;
        max-width: 400px;
        margin: 20px auto 0;
    }
}

@media screen and (max-width: 450px) {

    .about-results {
        padding: 40px 0 40px;
    }

    .results__subheading {
        font-size: 18px;
        margin: 0 0 8px;
    }

    .about-results__data {
        gap: 10px;
    }

    .about-results__data-title {
        font-size: 20px;
        margin: 0 0 12px;
    }

    .about-results__data-image {
        width: 100%;
    }
}

/* ===========================
よくあるご質問
=========================== */

@media screen and (max-width: 1400px) {

    .about-faq__box {
        padding: 70px 80px;
    }
}

@media screen and (max-width: 1024px) {

    .about-faq {
        padding: 30px 0 120px;
    }

    .about-faq__box {
        padding: 60px 50px;
    }

    .about-faq__question {
        font-size: 18px;
        margin: 0 0 6px;
    }

    .about-faq__answer {
        font-size: 18px;
    }

    .about-faq__question::before {
        font-size: 22px;
        top: -4px;
    }

    .about-faq__answer::before {
        font-size: 22px;
        top: -4px;
    }
}

@media screen and (max-width: 768px) {

    .about-faq {
        padding: 20px 0 80px;
    }

    .about-faq__box {
        padding: 40px 30px;
        border: 8px solid #F8C5B1;
    }
}

@media screen and (max-width: 450px) {

    .about-faq {
        padding: 20px 0 60px;
    }

    .about-faq__box {
        padding: 30px 20px;
        border: 6px solid #F8C5B1;
    }

    .about-faq__question {
        font-size: 16px;
        padding-left: 26px;
    }

    .about-faq__answer {
        font-size: 16px;
        padding-left: 26px;
    }

    .about-faq__question::before {
        font-size: 20px;
        top: -4px;
    }

    .about-faq__answer::before {
        font-size: 20px;
        top: -4px;
    }

    .about-faq__item+.about-faq__item {
        margin-top: 20px;
        padding-top: 20px;
    }
}

/* ===========================
about-cta 開催概要・申し込み
=========================== */

@media screen and (max-width: 1400px) {

    .about-cta {
        padding: 70px 0 80px;
    }

    .about-cta__highlight {
        padding: 8px 50px;
        font-size: 22px;
    }

    .about-cta__catch {
        font-size: 24px;
    }

    .about-cta__title-logo {
        width: 620px;
    }

    .about-cta__date {
        font-size: 70px;
    }

    .about-cta__date-day {
        font-size: 40px;
    }

    .about-cta__time {
        font-size: 30px;
    }

    .about-cta__button {
        margin: 0 0 80px;
    }
}

@media screen and (max-width: 1024px) {

    .about-cta {
        padding: 60px 0;
    }

    .about-cta__highlights {
        gap: 10px;
    }

    .about-cta__highlight {
        padding: 8px 36px;
        font-size: 20px;
    }

    .about-cta__title-logo {
        width: 600px;
    }

    .about-cta__button {
        margin: 0 0 60px;
    }
}

@media screen and (max-width: 768px) {

    .about-cta {
        padding: 40px 0;
    }

    .about-cta__highlights {
        position: static;
        transform: none;
        margin-bottom: 30px;
    }

    .about-cta__highlight {
        width: 100%;
        text-align: center;
        max-width: 400px;
    }

    .about-cta__badges {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        margin: 0 0 30px;
    }

    .about-cta__badge {
        font-size: 18px;
        text-align: center;
    }

    .about-cta__catch {
        font-size: 20px;
    }

    .about-cta__title-logo {
        width: 100%;
        max-width: 600px;
    }

    .about-cta__date {
        font-size: 46px;
        margin-top: -26px;
    }

    .about-cta__date-day {
        font-size: 26px;
    }

    .about-cta__time {
        font-size: 28px;
        margin-top: -22px;
    }

    .about-cta__venue {
        margin: -10px 0 20px;
        font-size: 20px;
    }
}

@media screen and (max-width: 450px) {

    .about-cta {
        padding: 30px 0 40px;
    }

    .about-cta__highlights {
        gap: 6px;
        margin-bottom: 20px;
    }

    .about-cta__highlight {
        padding: 6px 10px;
        font-size: 18px;
    }

    .about-cta__badges {
        gap: 6px;
    }

    .about-cta__badge {
        font-size: 16px;
    }

    .about-cta__catch {
        line-height: 1.4;
        margin: 0;
    }

    .about-cta__date {
        font-size: 32px;
        margin-top: -24px;
    }

    .about-cta__date-day {
        font-size: 20px;
    }

    .about-cta__time {
        font-size: 22px;
        margin-top: -15px;
    }

    .about-cta__venue {
        margin: 0 0 20px;
        font-size: 18px;
        line-height: 1.2;
    }

    .about-cta__button {
        margin: 0 0 40px;
    }
}


/* =====================================
tajimidehataraku 求人を探す
===================================== */
/* ===========================
求人を探す（検索・絞り込み）
=========================== */

@media screen and (max-width: 1024px) {

    .search__panel {
        padding: 100px 0 0;
    }

    .search__heading-logo {
        width: 600px;
    }

    .search__results-count {
        font-size: 22px;
    }

    .search__results-count-number {
        font-size: 40px;
    }

    .search__box {
        padding: 30px 40px 70px;
    }

    .search__group {
        gap: 20px;
        flex-direction: column;
    }

    .search__results {
        margin-top: 80px;
    }

    .search__companies {
        padding: 100px 0 140px;
    }
}

@media screen and (max-width: 768px) {

    .search__panel {
        padding: 80px 0 0;
    }

    .search__heading-logo {
        width: 100%;
        max-width: 600px;
    }

    .search__results-count {
        font-size: 20px;
    }

    .search__results-count-number {
        font-size: 36px;
        margin-right: 4px;
    }

    .search__box {
        padding: 10px 30px 60px;
    }

    .search__group {
        gap: 10px;
        padding: 30px 10px;
    }

    .search__pills--3col {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 8px;
    }

    .search__pills--2col {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 8px;
    }

    .search__keyword {
        flex-wrap: wrap;
        gap: 0 10px;
        padding: 30px 0 0;
    }

    .search__keyword-label {
        flex: 1 1 100%;
        margin-bottom: 8px;
    }

    .search__results {
        margin-top: 40px;
    }

    .search__results-box {
        padding: 32px 30px;
    }

    .search__results-label {
        padding: 8px;
        font-size: 18px;
    }

    .search__result-link {
        font-size: 16px;
    }

    .search__companies {
        padding: 80px 0 120px;
    }
}

@media screen and (max-width: 450px) {

    .search__panel {
        padding: 60px 0 0;
    }

    .search__heading {
        margin: 0 0 20px;
    }

    .search__results-count-arrow {
        border-width: 12px 8px 0 8px;
    }

    .search__results-count {
        font-size: 18px;
        margin: 0 0 10px;
    }

    .search__results-count-number {
        font-size: 30px;
    }

    .search__box {
        padding: 0 20px 30px;
    }

    .search__group {
        padding: 20px 6px;
    }

    .search__pills--3col {
        grid-template-columns: repeat(1, 1fr);
        gap: 6px;
    }

    .search__pills--2col {
        grid-template-columns: repeat(1, 1fr);
        gap: 6px;
    }

    .search__pill-text {
        padding: 10px 12px;
    }

    .search__keyword {
        gap: 0 4px;
        padding: 20px 0 0;
        margin-top: 30px;
    }

    .search__keyword-input {
        padding: 8px 10px;
    }

    .search__keyword-submit {
        padding: 8px 10px;
        font-size: 14px;
    }

    .search__results-box {
        padding: 30px 20px;
    }

    .search__result-item {
        padding: 10px 0;
    }

    .search__pagination {
        margin-top: 10px;
    }

    .search__pagination-list {
        gap: 6px;
    }

    .search__pagination-item span,
    .search__pagination-item a {
        font-size: 16px;
    }

    .search__companies {
        padding: 60px 0 80px;
    }
}



/* =====================================
company 参加企業 詳細ページ
===================================== */

@media screen and (max-width: 1024px) {

    .company__header {
        padding: 20px 40px;
    }

    .company__name {
        font-size: 26px;
    }

    .company__badge {
        padding: 4px 20px;
    }

    .company__wrap {
        padding: 30px 40px 30px;
    }

    .company-gallery {
        gap: 16px;
    }

    .company-overview__label {
        width: 120px;
    }
}

@media screen and (max-width: 768px) {

    .company {
        padding: 60px 0;
    }

    .company__header-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .company__badge {
        order: -1;
    }

    .company__header {
        padding: 20px 30px;
    }

    .company__badge {
        font-size: 16px;
    }

    .company__name {
        font-size: 22px;
    }

    .company__wrap {
        padding: 30px 30px 20px;
    }

    .company__section+.company__section {
        margin-top: 30px;
    }

    .company__section-title {
        margin: 0 0 16px;
        padding: 6px 30px;
        font-size: 18px;
    }

    .company-gallery {
        gap: 10px;
        flex-direction: column;
        max-width: 500px;
        margin: 20px auto 0;
    }

    .company-overview__item {
        flex: 1 1 100%;
    }

    .company-overview__item:nth-child(-n+2) {
        border-top: 1px dashed #cccccc;
    }

    .company-overview__item:first-child {
        border-top: none;
    }

    .company-jobs__item {
        font-size: 16px;
    }
}

@media screen and (max-width: 450px) {

    .company {
        padding: 40px 0 60px;
    }

    .company__header {
        padding: 20px 20px;
    }

    .company__badge {
        padding: 2px 16px;
        font-size: 14px;
    }

    .company__kana {
        font-size: 10px;
    }

    .company__name {
        font-size: 20px;
    }

    .company__wrap {
        padding: 20px 20px 20px;
    }

    .company__section+.company__section {
        margin-top: 24px;
    }

    .company__section-title {
        margin: 0 0 10px;
    }

    .company-jobs__item {
        padding: 10px 0;
    }
}



/* =====================================
job 求人 詳細ページ
===================================== */

@media screen and (max-width: 1024px) {

    .job .inner {
        padding: 40px 40px;
    }

    .job__title {
        font-size: 26px;
    }

    .job-overview__label {
        width: 160px;
    }
}

@media screen and (max-width: 768px) {

    .job {
        padding: 60px 0;
    }

    .job .inner {
        padding: 30px 30px;
    }

    .job__company-box {
        padding: 20px 16px;
    }

    .job__title {
        font-size: 22px;
        margin: 0 0 10px;
    }

    .job__company-box {
        flex-direction: column;
    }

    .job__company-industry {
        margin: 0 0 10px;
    }

    .job-overview__item {
        flex-direction: column;
    }

    .job-overview__label {
        margin-bottom: 6px;
    }

    .job-overview {
        margin: 0 0 30px;
    }
}

@media screen and (max-width: 450px) {

    .job {
        padding: 40px 0 60px;
    }

    .job .inner {
        padding: 30px 20px;
    }

    .job__title {
        font-size: 18px;
    }

    .job__company-name {
        font-size: 16px;
    }

    .job-overview__label {
        margin-bottom: 4px;
    }

    .job-overview__item {
        padding: 10px 6px;
    }
}



/* =====================================
contact お問い合わせ
===================================== */

@media screen and (max-width: 1024px) {

    .contact {
        padding: 80px 0 120px;
    }


    .contact-form__row label {
        width: 130px;
    }

    .contact-form__row p {
        gap: 30px;
    }
}

@media screen and (max-width: 768px) {

    .contact {
        padding: 60px 0 100px;
    }

    .contact__card {
        padding: 40px 30px;
    }

    .contact__notice-org {
        margin: 0;
    }

    .contact__heading {
        margin: 0 0 20px;
        padding: 10px;
        font-size: 18px;
    }

    .contact-form__row {
        margin-bottom: 20px;
    }

    .contact-form__row .wpcf7-form-control-wrap {
        width: 100%;
    }

    .contact-form__row p {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .contact-form__row label {
        width: auto;
        margin-bottom: 8px;
        text-align: left;
    }

    .contact-form__row--message textarea {
        max-height: 140px;
    }
}

@media screen and (max-width: 450px) {

    .contact {
        padding: 40px 0 80px;
    }

    .contact__card {
        padding: 30px 20px;
    }
}



/* =====================================
サンクスページ（お問い合わせ完了）
===================================== */

@media screen and (max-width: 1024px) {

    .thanks {
        padding: 100px 0 160px;
    }

    .thanks-heading {
        font-size: 32px;
    }
}

@media screen and (max-width: 768px) {

    .thanks {
        padding: 80px 0 120px;
    }

    .thanks-heading {
        font-size: 24px;
        line-height: 1.4;
    }

    .thanks__text {
        text-align: left;
        margin: 0 auto 30px;
        width: fit-content;
    }
}

@media screen and (max-width: 450px) {

    .thanks {
        padding: 60px 0 80px;
    }

    .thanks__card {
        padding: 40px 30px;
    }

    .thanks-heading {
        font-size: 22px;
        margin-bottom: 10px;
    }
}