.c-svg-text {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.c-svg-text img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.mv-ttl img {
    max-width: 960px;
    width: 50vw;
    height: auto;
    margin: 0px auto;
    display: block;
}

@media (min-width: 768px) {

  .pc-header__logo {
    width: clamp(160px, 93.333px + 8.681vw, 260px); /* 768pxÃ£â‚¬Å“1920px */
  }

  #g-nav .g-nav__inner {
        margin-bottom: 30px;
   }


    .c-btn-more {
        display: flex;
        padding-left: 18px;
        align-items: center;
        width: 180px;
        height: 50px;
        background-color: rgb(30, 77, 145);
        position: relative;
        top: -3px;
    }

    .c-btn-more::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 14px;
        transform: translateY(-50%);
        width: 6px;
        height: 11px;
        background-image: url("../images/index/btn-more-arrow.svg");
        background-size: contain;
        background-repeat: no-repeat;
    }

    .c-btn-more--long {
        width: 300px;
    }

    .c-btn-more--white {
        background-color: transparent;
        border: 1px solid rgb(255, 255, 255);
    }

    .c-btn-more--red {
        background-color: rgb(217, 0, 19);
    }

    .c-btn-more img {
        width: 86px;
        height: auto;
    }

    .c-link-btn {
        width: clamp(40px, 33.33px + 0.868vw, 50px);
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: contain;
    }
}

@media (max-width: 767px) {
    .c-btn-more {
        position: relative;
        display: flex;
        padding-left: 3.4vw;
        align-items: center;
        width: 36.2vw;
        height: 9.7vw;
        background-color: rgb(30, 77, 145);
    }

    .c-btn-more::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 3.4vw;
        transform: translateY(-50%);
        width: 1.4vw;
        height: 2.7vw;
        background-image: url("../images/index/btn-more-arrow.svg");
        background-size: contain;
        background-repeat: no-repeat;
    }

    .c-btn-more--long {
        width: 72.5vw;
        height: 12.1vw;
    }

    .c-btn-more--white {
        background-color: transparent;
        border: 1px solid rgb(255, 255, 255);
    }

    .c-btn-more--red {
        background-color: rgb(217, 0, 19);
    }

    .c-btn-more img {
        width: 21.014vw;
        height: auto;
    }

    .c-link-btn {
        width: 12.1vw;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: contain;
    }
}

@media (min-width: 768px) {
    #index .mv {
        position: relative;
        overflow: hidden;
    }

    #index .mv .mv__inner {
        position: relative;
    }

    #index .mv .mv__slider {
        line-height: 0;
    }

    #index .mv .mv__slider .slick-list, #index .mv .mv__slider .slick-track {
        margin-bottom: 0px;
    }

    #index .mv .mv__slider .slick-slide img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
        vertical-align: top;
    }

    #index .mv {
    }

    #index .mv .mv__content {
        position: absolute;
        inset: 0px;
        z-index: 1;
        pointer-events: none;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .mv .mv__content.is-hiding {
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--mv-speed, 1500ms) ease;
    }

    #index .mv .mv__content.is-hidden {
        display: none;
    }

    #index .mv .mv__content a, #index .mv .mv__content button {
        pointer-events: auto;
    }

    #index .mv .mv__content {
        padding-top: clamp(90px, 16.67px + 9.549vw, 200px);
    }

    #index .mv .mv__subtitle {
        margin-bottom: clamp(8px, 1.33px + 0.868vw, 18px);
        font-size: clamp(18px, 11.33px + 0.868vw, 28px);
        font-weight: 400;
        letter-spacing: 0px;
    }

    #index .mv .mv__title {
        margin-bottom: clamp(8px, -2.67px + 1.389vw, 24px);
        text-align: center;
    }

    #index .mv .mv__title img {
        width: clamp(425px, 211.67px + 27.778vw, 745px);
        height: auto;
        aspect-ratio: 745.26 / 59.53;
    }

    #index .mv .mv__catch {
        font-size: clamp(19px, 7.67px + 1.476vw, 36px);
        font-weight: 400;
        line-height: 1.44444;
        letter-spacing: 0px;
        margin-bottom: clamp(8px, -32px + 5.208vw, 68px);
    }

    #index .mv .mv__badge-list {
        display: flex;
        justify-content: center;
        gap: clamp(12px, 0px + 1.563vw, 30px);
    }

    #index .mv .mv__badge-item img {
        display: block;
        width: clamp(80px, 0px + 10.417vw, 200px);
        height: auto;
        aspect-ratio: 1 / 1;
    }

    #index .mv .mv__btn {
        position: absolute;
        bottom: 30px;
        right: 0px;
        z-index: 2;
        display: inline-block;
        line-height: 0;
    }

    #index .mv .mv__btn img {
        display: block;
        width: clamp(130px, 10px + 15.625vw, 310px);
        height: auto;
        filter: drop-shadow(rgba(0, 0, 0, 0.25) 0px 20px 20px);
    }
}

@media (max-width: 767px) {
    #index .mv {
        position: relative;
        overflow: hidden;
    }

    #index .mv .mv__inner {
        position: relative;
    }

    #index .mv .mv__slider {
        line-height: 0;
    }

    #index .mv .mv__slider .slick-list, #index .mv .mv__slider .slick-track {
        margin-bottom: 0px;
    }

    #index .mv .mv__slider .slick-slide img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
        vertical-align: top;
    }

    #index .mv {
    }

    #index .mv .mv__content {
        position: absolute;
        inset: 0px;
        z-index: 1;
        pointer-events: none;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .mv .mv__content.is-hiding {
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--mv-speed, 1500ms) ease;
    }

    #index .mv .mv__content.is-hidden {
        display: none;
    }

    #index .mv .mv__content a, #index .mv .mv__content button {
        pointer-events: auto;
    }

    #index .mv .mv__content {
    }

    #index .mv .mv__subtitle {
        margin-bottom: 5.3vw;
        font-size: 4.3vw;
        font-weight: 400;
        line-height: 1.44444;
        letter-spacing: 0px;
    }

    #index .mv .mv__title {
        margin-bottom: 4.8vw;
        text-align: center;
    }

    #index .mv .mv__title img {
        width: 81vw;
        height: auto;
    }

    #index .mv .mv__catch {
        font-size: 3.9vw;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0px;
        margin-bottom: 52.7vw;
    }

    #index .mv .mv__badge-list {
        display: flex;
        justify-content: center;
        gap: 1.9vw;
    }

    #index .mv .mv__badge-item img {
        width: 29vw;
        height: auto;
    }

    #index .mv .mv__btn {
        display: none;
    }

    #index .mv .mv__btn img {
        display: none;
    }

    #index .mv {
    }

    #index .mv .mv__sp-content-wrap {
        padding-bottom: 4.8vw;
        background-color: rgb(248, 248, 248);
    }

    #index .mv .mv__sp-btn-list {
        margin-bottom: 6vw;
    }

    #index .mv .mv__sp-btn-item a {
        display: block;
        position: relative;
        background-color: rgb(217, 0, 19);
        padding-block: 4.6vw; padding-inline: 5.1vw; padding-bottom: 4.348vw;
    }

    #index .mv .mv__sp-btn-item a::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 6.5vw;
        transform: translateY(-50%);
        width: 1.2vw;
        height: 2.4vw;
        background: url("../images/index/mv-sp-btn-arrow.svg") center center / contain no-repeat;
    }

    #index .mv .mv__sp-btn-link {
        position: relative;
        font-size: 3.6vw;
        font-weight: 500;
        line-height: 1.46667;
        letter-spacing: 0px;
        color: rgb(255, 255, 255);
    }

    #index .mv .mv__sp-btn-divider {
        background-color: rgb(217, 0, 19);
    }

    #index .mv .mv__sp-btn-divider--top {
        height: 0.2vw;
        background-color: rgb(185, 0, 16);
    }

    #index .mv .mv__sp-btn-divider--bottom {
        height: 0.2vw;
        background-color: rgb(240, 8, 28);
    }

    #index .mv .mv__sp-btn img {
        display: block;
        width: 87vw;
        height: auto;
        margin-inline: auto; }
}

@media (min-width: 768px) {
    #index .news .news__inner {
        padding-top: 60px;
        padding-bottom: 50px;
    }

    #index .news .news__content-wrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: clamp(20px, 0px + 2.604vw, 50px);
        width: min(95%, 900px);
        margin-inline: auto; }

    #index .news .news__content-left {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 24px;
        width: 180px;
        margin-top: 28px;
    }

    #index .news .news__title img {
        width: 108px;
        height: auto;
        aspect-ratio: 108.97 / 25.84;
        position: relative;
        left: 5px;
    }

    #index .news .news__content-right {
        flex: 1 1 0%;
        margin-top: 4px;
    }

    #index .news .news__item {
        padding-block: 31px; padding-top: 27px;
        padding-bottom: 27px;
        padding-inline: 14px; border-bottom: 1px solid rgb(204, 204, 204);
    }

    #index .news .news__item a {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: clamp(12px, -6.67px + 2.431vw, 40px);
        width: 100%;
        color: inherit;
        text-decoration: none;
    }

    #index .news .news__date {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.64286;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .news .news__title {
        flex: 1 1 0%;
    }
}

@media (max-width: 767px) {
    #index .news .news__inner {
        padding-top: 13.3vw;
        padding-bottom: 12.1vw;
    }

    #index .news .news__content-wrap {
        padding-inline: 4.1vw; }

    #index .news .news__content-left {
        display: flex;
        justify-content: space-between;
        gap: 4.8vw;
        width: 100%;
        margin-bottom: 2.899vw;
    }

    #index .news .news__title img {
        width: 19.3vw;
        height: auto;
        position: relative;
        left: 0.966vw;
        top: 2.657vw;
    }

    #index .news .news__content-right {
        flex: 1 1 0%;
    }

    #index .news .news__item {
        padding-block: 4.3vw 5.1vw; padding-inline: 1.7vw; border-bottom: 1px solid rgb(204, 204, 204);
    }

    #index .news .news__item a {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 2.4vw;
        width: 100%;
        color: inherit;
        text-decoration: none;
    }

    #index .news .news__date {
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .news .news__title {
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
        position: relative;
        margin-bottom: 0px;
    }
}

@media (min-width: 768px) {
    #index .concept {
        position: relative;
        width: 100%;
        margin-inline: auto; background-image: url("../images/index/concept-bg.png");
        background-repeat: no-repeat;
        background-position: center 0px;
    }

    #index .concept .concept__inner {
        position: relative;
        padding-top: 79px;
        padding-bottom: 150px;
    }

    #index .concept .concept__inner::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 660px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url("../images/index/concept-deco-center.png") center center / contain no-repeat;
        z-index: -1;
    }

    #index .concept .concept__content-wrap {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        gap: clamp(30px, -3.33px + 4.34vw, 80px);
        z-index: 1;
    }

    #index .concept .concept__label {
        margin-bottom: 32px;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.375;
        letter-spacing: 1.5px;
        color: rgb(30, 77, 145);
    }

    #index .concept .concept__title {
        margin-bottom: 15px;
        font-size: clamp(24px, 5.33px + 2.431vw, 52px);
        font-weight: 600;
        line-height: 1.36538;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .concept .concept__text {
        margin-bottom: 53px;
        font-size: clamp(12px, 9.33px + 0.347vw, 16px);
        font-weight: 400;
        line-height: 1.875;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .concept .concept__content-right {
        width: 580px;
        position: relative;
        top: 9px;
    }

    #index .concept .concept__content-right img {
        width: 100%;
        height: auto;
        aspect-ratio: 580 / 400;
    }
}

@media (max-width: 767px) {
    #index .concept {
        position: relative;
    }

    #index .concept::before {
        content: "";
        position: absolute;
        top: 0px;
        left: 0px;
        width: 50.7vw;
        height: auto;
        aspect-ratio: 210 / 210;
        background: url("../images/index/concept-deco-left_sp.png") left top / contain no-repeat;
        z-index: 0;
    }

    #index .concept::after {
        content: "";
        position: absolute;
        bottom: 7.2vw;
        right: 0px;
        width: 45.9vw;
        height: auto;
        aspect-ratio: 190 / 210;
        background: url("../images/index/concept-deco-right_sp.png") right bottom / contain no-repeat;
        z-index: 0;
    }

    #index .concept .concept__inner {
        position: relative;
        padding-top: 6.3vw;
        padding-bottom: 3.9vw;
    }

    #index .concept .concept__inner::before {
        content: none;
    }

    #index .concept .concept__content-wrap {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        z-index: 1;
    }

    #index .concept .concept__content-left {
        display: contents;
    }

    #index .concept .concept__label {
        order: 1;
    }

    #index .concept .concept__title {
        order: 2;
    }

    #index .concept .concept__content-right {
        order: 3;
    }

    #index .concept .concept__text {
        order: 4;
    }

    #index .concept .concept__btn {
        order: 5;
    }

    #index .concept .concept__label {
        margin-bottom: 3.4vw;
        font-size: 3.6vw;
        font-weight: 500;
        line-height: 1.375;
        letter-spacing: 0.01em;
        color: rgb(30, 77, 145);
    }

    #index .concept .concept__title {
        margin-bottom: 5.3vw;
        font-size: 7.2vw;
        font-weight: 600;
        line-height: 1.33333;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .concept .concept__content-right img {
        display: block;
        width: 91.8vw;
        height: auto;
        aspect-ratio: 380 / 240;
        margin-bottom: 2.174vw;
    }

    #index .concept .concept__text {
        margin-bottom: 8.7vw;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: 1.73333;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }
}

@media (min-width: 768px) {
    #index .relief {
        background: url("../images/index/relief-bg.jpg") center top / auto clamp(490px, 283.333px + 26.91vw, 800px) no-repeat rgb(230, 237, 243);
        box-shadow: rgba(42, 81, 158, 0.08) 0px 20px 30px 0px;
    }

    #index .relief .relief__inner {
        position: relative;
        padding-top: 80px;
    }

    #index .relief .relief__label {
        margin-bottom: 22px;
        font-size: clamp(20px, 14.67px + 0.694vw, 28px);
        font-weight: 700;
        line-height: 1.46429;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .relief .relief__title-wrap {
        margin-bottom: 65px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .relief .relief__title {
        margin-bottom: 25px;
    }

    #index .relief .relief__title img {
        width: clamp(425px, 261.67px + 21.267vw, 670px);
        height: auto;
    }

    #index .relief .relief__text {
        font-size: clamp(20px, 14.67px + 0.694vw, 28px);
        font-weight: 700;
        line-height: 1.28571;
        letter-spacing: 0px;
    }

    #index .relief .relief__content-wrap {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto 1fr;
        gap: 38px;
        width: min(95%, 1360px);
        margin-inline: auto; padding-top: 73px;
        padding-inline: clamp(20px, -13.33px + 4.34vw, 70px); padding-bottom: clamp(40px, 13.33px + 3.472vw, 80px);
        background-color: rgba(255, 255, 255, 0.8);
    }

    #index .relief .relief__content-title-wrap {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 34px;
    }

    #index .relief .relief__content-title {
        font-size: clamp(20px, 12px + 1.042vw, 32px);
        font-weight: 700;
        line-height: 1.4375;
        letter-spacing: 0px;
        color: rgb(30, 77, 145);
    }

    #index .relief .relief__content-title-en {
        line-height: 1;
    }

    #index .relief .relief__content-title-en img {
        width: clamp(180px, 101.33px + 10.243vw, 298px);
        height: auto;
    }

    #index .relief .relief__list {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: clamp(12px, -6.67px + 2.431vw, 40px);
    }

    #index .relief .relief__item {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }

    #index .relief .relief__item-image {
        position: relative;
        display: block;
        color: inherit;
        text-decoration: none;
    }

    #index .relief .relief__item-image img {
        display: block;
        width: 100%;
        height: auto;
    }

    #index .relief .relief__item-body {
        display: flex;
        flex-direction: column;
        min-height: 100%;
        padding-inline: clamp(12px, 3.33px + 1.128vw, 25px); padding-bottom: clamp(20px, 6.67px + 1.736vw, 40px);
        background-color: rgb(255, 255, 255);
    }

    #index .relief .relief__item-label {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        font-size: clamp(26px, 12.67px + 1.736vw, 46px);
        font-weight: 700;
        line-height: 1.45652;
        text-align: center;
        letter-spacing: 0px;
        color: rgb(255, 255, 255);
    }

    #index .relief .relief__item-number img {
        position: relative;
        margin-top: -20px;
        margin-inline: auto; display: block;
        width: 60px;
        height: auto;
        margin-bottom: -8px;
    }

    #index .relief .relief__item-title {
        position: relative;
        margin-bottom: 17px;
        padding-bottom: 16px;
        font-size: clamp(14px, 10px + 0.521vw, 20px);
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .relief .relief__item-title::before {
        content: "";
        position: absolute;
        bottom: 2px;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 2px;
        background-color: rgb(30, 77, 145);
    }

    #index .relief .relief__item-desc {
        margin-bottom: 29px;
        font-size: clamp(12px, 10.67px + 0.174vw, 14px);
        font-weight: 400;
        line-height: 1.57143;
        letter-spacing: 0px;
        text-align: left;
        color: rgb(128, 128, 128);
    }

    #index .relief .relief__item-link {
        margin-top: auto;
    }

    #index .relief .relief__item-link img {
        display: block;
        margin-inline: auto; width: 140px;
        height: auto;
    }
}

@media (max-width: 767px) {
    #index .relief {
        background-color: rgb(255, 255, 255);
    }

    #index .relief .relief__inner {
        padding-top: 13vw;
    }

    #index .relief .relief__title-wrap {
        margin-bottom: -0.3vw;
        padding-block: 13vw 15.7vw; text-align: center;
        background: url("../images/index/relief-bg_sp.jpg") center top / cover no-repeat;
        color: rgb(255, 255, 255);
    }

    #index .relief .relief__label {
        margin-bottom: 4.8vw;
        font-size: 4.8vw;
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .relief .relief__title {
        margin-bottom: 3.4vw;
    }

    #index .relief .relief__title img {
        width: 77.3vw;
        height: auto;
    }

    #index .relief .relief__text {
        font-size: 4.8vw;
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
    }

    #index .relief .relief__content-wrap {
        display: grid;
        grid-template-columns: 1fr;
        gap: 5.8vw;
        width: min(100%, 1360px);
        margin-inline: auto; padding-top: 9.7vw;
        padding-bottom: 16.9vw;
    }

    #index .relief {
    }

    #index .relief .relief__content-title-wrap {
        grid-row: 1;
    }

    #index .relief .relief__list {
        grid-row: 2;
    }

    #index .relief .relief__btn-more {
        grid-row: 3;
    }

    #index .relief .relief__content-title-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #index .relief .relief__content-title {
        font-size: 6vw;
        font-weight: 700;
        line-height: 1.44;
        letter-spacing: 0px;
        color: rgb(30, 77, 145);
        margin-bottom: -4px;
    }

    #index .relief .relief__content-title-en img {
        width: 53.9vw;
        height: auto;
    }

    #index .relief .relief__list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4.8vw clamp(12px, -6.67px + 2.431vw, 40px);
        margin-bottom: -1.691vw;
    }

    #index .relief .relief__item {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        padding-inline: 4.1vw; }

    #index .relief .relief__item-image {
        position: relative;
        display: block;
        color: inherit;
        text-decoration: none;
    }

    #index .relief .relief__item-image img {
        display: block;
        width: 100%;
        height: auto;
    }

    #index .relief .relief__item-body {
        display: flex;
        flex-direction: column;
        min-height: 100%;
        padding-bottom: 9.7vw;
        padding-inline: 4.3vw; background-color: rgb(255, 255, 255);
    }

    #index .relief .relief__item-label {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        font-size: 11.1vw;
        font-weight: 700;
        line-height: 1.45652;
        text-align: center;
        letter-spacing: 0px;
        color: rgb(255, 255, 255);
    }

    #index .relief .relief__item-number img {
        position: relative;
        margin-top: -5vw;
        margin-inline: auto; display: block;
        width: 14.5vw;
        height: auto;
        margin-bottom: -2.174vw;
    }

    #index .relief .relief__item-title {
        position: relative;
        margin-bottom: 3.9vw;
        padding-bottom: 2.9vw;
        font-size: 4.8vw;
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .relief .relief__item-title::before {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        width: 9.7vw;
        height: 0.5vw;
        background-color: rgb(30, 77, 145);
    }

    #index .relief .relief__item-desc {
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.57143;
        letter-spacing: 0px;
        text-align: left;
        color: rgb(128, 128, 128);
        width: 330px;
        margin: 0px auto 7vw;
    }

    #index .relief .relief__item-link {
        margin-top: auto;
    }

    #index .relief .relief__item-link img {
        display: block;
        margin-inline: auto; width: 33.8vw;
        height: auto;
    }

    #index .relief .relief__btn-more {
        margin-inline: auto; width: 72.5vw;
        height: 12.1vw;
    }
}

@media (min-width: 768px) {
    #index .report {
        background: url("../images/index/report-bg.jpg") center bottom / 100% no-repeat rgb(230, 237, 243);
    }

    #index .report .report__inner {
        padding-top: 100px;
        padding-bottom: clamp(40px, 0px + 5.208vw, 100px);
    }

    #index .report .report__bnr {
        display: block;
        width: fit-content;
        margin-inline: auto; position: relative;
        left: -2px;
    }

    #index .report .report__bnr img {
        position: relative;
        display: block;
        width: clamp(440px, 46.67px + 51.215vw, 1030px);
        height: auto;
        margin-inline: auto; margin-bottom: 18px;
    }

    #index .report .report__bnr::after {
        content: "";
        position: absolute;
        bottom: -18px;
        right: -80px;
        width: clamp(70px, 11.33px + 7.639vw, 158px);
        height: auto;
        aspect-ratio: 158 / 206;
        background: url("../images/index/report-bnr-deco.svg") center center / contain no-repeat;
    }

    #index .report .report__text {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.4375;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    .loop-img {
        overflow: hidden;
        width: 100vw;
        margin-left: calc(50% - 50vw);
    }

    .loop-img__list {
        display: flex;
        width: max-content;
        animation: 80s linear 0s infinite normal none running loop-img-scroll;
    }

    .loop-img__item {
        flex-shrink: 0;
        width: 100vw;
    }

    .loop-img__item img {
        width: 125vw;
        height: auto;
    }

    @keyframes loop-img-scroll {
        0% {
            transform: translateX(0px);
        }

        100% {
            transform: translateX(-50%);
        }
    }
}

@media (max-width: 767px) {
    #index .report {
        background: url("../images/index/report-bg_sp.jpg") center bottom / 100% no-repeat rgb(230, 237, 243);
    }

    #index .report .report__inner {
        padding-top: 16.9vw;
        padding-bottom: 13.8vw;
    }

    #index .report .report__bnr {
        display: block;
        margin-bottom: 2.9vw;
        padding-inline: 4.1vw; }

    #index .report .report__bnr img {
        width: 100%;
        height: auto;
    }

    #index .report .report__text {
        font-size: 3.6vw;
        font-weight: 400;
        line-height: 1.73333;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    .loop-img {
        overflow: hidden;
        width: 100vw;
        margin-left: calc(50% - 50vw);
    }

    .loop-img__list {
        display: flex;
        width: max-content;
        animation: 80s linear 0s infinite normal none running loop-img-scroll;
    }

    .loop-img__item {
        flex-shrink: 0;
        width: 289.85vw;
    }

    .loop-img__item img {
        width: 100%;
        height: auto;
    }

    @keyframes loop-img-scroll {
        0% {
            transform: translateX(0px);
        }

        100% {
            transform: translateX(-50%);
        }
    }
}

@media (min-width: 768px) {
    #index .service .service__inner {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    #index .service .service__list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: clamp(12px, -6.67px + 2.431vw, 40px);
        width: min(95%, 1360px);
        margin-inline: auto; }

    #index .service .service__item {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid rgb(204, 204, 204);
    }

    #index .service .service__image-area {
        position: relative;
        display: block;
        margin-bottom: 13px;
        color: inherit;
        text-decoration: none;
    }

    #index .service .service__image-area img {
        width: 100%;
        height: auto;
    }

    #index .service .service__title-box {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% - clamp(3.75rem, 1.25rem + 5.208vw, 7.5rem));
        padding-block: 32px 40px; padding-inline: clamp(16px, 6.67px + 1.215vw, 30px); background-color: rgb(30, 77, 145);
    }

    #index .service .service__item-title {
        margin-bottom: 22px;
        font-size: clamp(20px, 12px + 1.042vw, 32px);
        font-weight: 700;
        line-height: 1.4375;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .service .service__item-label {
        padding-block: 6px 9px; font-size: clamp(12px, 8.67px + 0.434vw, 17px);
        font-weight: 700;
        line-height: 1.47059;
        letter-spacing: 0.05em;
        text-align: center;
        color: rgb(26, 26, 26);
        background-color: rgb(255, 255, 255);
    }

    #index .service .service__item:nth-child(2) .service__item-label {
        letter-spacing: 0px;
    }

    #index .service .service__item-desc {
        margin-bottom: 36px;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.57143;
        letter-spacing: 0px;
        text-align: left;
        color: rgb(128, 128, 128);
    }

    #index .service .service__item-link {
        display: block;
        width: fit-content;
        margin-top: auto;
        margin-left: auto;
    }

    #index .service .service__item-link img {
        width: 180px;
        height: auto;
    }
}

@media (max-width: 1000px) {
    #index .service br.under1000 {
        display: block;
    }
}

@media (max-width: 767px) {
    #index .service .service__inner {
        padding-top: 16.9vw;
        padding-bottom: 12.8vw;
    }

    #index .service .service__list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12.1vw;
        padding-inline: 4.1vw; }

    #index .service .service__item {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid rgb(204, 204, 204);
    }

    #index .service .service__image-area {
        position: relative;
        display: block;
        margin-bottom: 2.415vw;
        color: inherit;
        text-decoration: none;
    }

    #index .service .service__image-area img {
        width: 100%;
        height: auto;
    }

    #index .service .service__title-box {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 82.1vw;
        padding-block: 5.1vw 3.6vw; padding-inline: 4.8vw; background-color: rgb(30, 77, 145);
    }

    #index .service .service__item-title {
        margin-bottom: 2.9vw;
        font-size: 5.3vw;
        font-weight: 700;
        line-height: 1.45455;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .service .service__item-label {
        padding-block: 2.2vw; font-size: 3.6vw;
        font-weight: 700;
        line-height: 1.46667;
        letter-spacing: 0.05em;
        text-align: center;
        color: rgb(26, 26, 26);
        background-color: rgb(255, 255, 255);
    }

    #index .service .service__item:nth-child(2) .service__item-label {
        letter-spacing: 0px;
    }

    #index .service .service__item-desc {
        margin-bottom: 4.5vw;
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.57143;
        letter-spacing: 0px;
        text-align: left;
        color: rgb(128, 128, 128);
    }

    #index .service .service__item-link {
        display: block;
        width: fit-content;
        margin-top: auto;
        margin-left: auto;
    }

    #index .service .service__item-link img {
        width: 43.5vw;
        height: auto;
    }
}

@media (min-width: 768px) {
    #index .works {
        position: relative;
    }

    #index .works::before {
        content: "";
        position: absolute;
        top: 0px;
        left: clamp(-140px, -233.333px + 12.153vw, 0px);
        width: clamp(400px, 186.67px + 27.778vw, 720px);
        height: auto;
        aspect-ratio: 720 / 540;
        background: url("../images/index/works-deco-left.png") left top / contain no-repeat;
        z-index: -1;
    }

    #index .works::after {
        content: "";
        position: absolute;
        bottom: 0px;
        right: clamp(-180px, -300px + 15.625vw, 0px);
        width: clamp(400px, 186.67px + 27.778vw, 720px);
        height: auto;
        aspect-ratio: 720 / 540;
        background: url("../images/index/works-deco-right.png") right bottom / contain no-repeat;
        z-index: -1;
    }

    #index .works .works__inner {
        padding-top: 41px;
        padding-bottom: 117px;
    }

    #index .works .works__title-wrap {
        position: relative;
        width: fit-content;
        margin-inline: auto; margin-bottom: 43px;
    }

    #index .works .works__title-wrap::before {
        content: "";
        position: absolute;
        top: -32px;
        right: clamp(0px, 519.231px - 48.077vw, 150px);
        transform: translateX(calc(100% + 50px));
        width: clamp(115px, 71.67px + 5.642vw, 180px);
        height: auto;
        aspect-ratio: 1 / 1;
        background: url("../images/index/works-badge.png") center center / contain no-repeat;
    }

    #index .works .works__label {
        margin-bottom: 23px;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.46667;
        letter-spacing: 1.5px;
        text-align: center;
        color: rgb(30, 77, 145);
    }

    #index .works .works__title {
        margin-bottom: 21px;
    }

    #index .works .works__title img {
        display: block;
        width: 210px;
        height: auto;
        margin-inline: auto; }

    #index .works .works__lead {
        font-size: 20px;
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .works .works__list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 54px 20px;
        width: min(95%, 1220px);
        margin-inline: auto; margin-bottom: 53px;
    }

    #index .works .works__item {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    #index .works .item-thumbnail {
        margin-bottom: 10px;
    }

    #index .works .item-thumbnail img {
        width: 100%;
        height: auto;
        aspect-ratio: 290 / 220;
        object-fit: cover;
    }

    #index .works .works__item-body {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    #index .works .works__item-category {
        font-size: clamp(12px, 10.67px + 0.174vw, 14px);
        font-weight: 400;
        line-height: 1.57143;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
        margin-bottom: -3px;
    }

    #index .works .works__item-category > span {
        display: inline-block;
    }

    #index .works .works__item-category > span:nth-child(1) {
        margin-right: 1em;
    }

    #index .works .works__item-title {
        font-size: clamp(14px, 12.67px + 0.174vw, 16px);
        font-weight: 500;
        line-height: 1.4375;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
        margin-bottom: -3px;
    }

    #index .works .works__item-tag {
        font-size: clamp(11px, 9.67px + 0.174vw, 13px);
        font-weight: 400;
        line-height: 1.69231;
        letter-spacing: 0px;
        color: rgb(30, 77, 145);
    }

    #index .works .cate-icon {
        font-size: clamp(11px, 9.67px + 0.174vw, 13px);
        font-weight: 400;
        line-height: 1.69231;
        letter-spacing: 0px;
        color: rgb(30, 77, 145);
        display: flex;
        flex-wrap: wrap;
    }

    #index .works .cate-icon li {
        margin-right: 1em;
    }

    #index .works .cate-icon li::before {
        content: "#";
    }

    #index .works .works__btn-more {
        margin-inline: auto; }
}

@media (max-width: 767px) {
    #index .works {
        position: relative;
    }

    #index .works::before {
        content: "";
        position: absolute;
        top: 0px;
        left: 0px;
        width: 48.3vw;
        height: auto;
        aspect-ratio: 200 / 210;
        background: url("../images/index/works-deco-left_sp.png") left top / contain no-repeat;
        z-index: -1;
    }

    #index .works::after {
        content: "";
        position: absolute;
        bottom: 31.9vw;
        right: -3.4vw;
        width: 48.3vw;
        height: auto;
        aspect-ratio: 200 / 210;
        background: url("../images/index/works-deco-right_sp.png") right bottom / contain no-repeat;
        z-index: -1;
    }

    #index .works .works__inner {
        padding-top: 11.4vw;
        padding-bottom: 16.9vw;
    }

    #index .works .works__title-wrap {
        position: relative;
        margin-bottom: 8.2vw;
        text-align: center;
    }

    #index .works .works__title-wrap::before {
        content: "";
        position: absolute;
        top: -8vw;
        right: 4.3vw;
        width: 24.2vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url("../images/index/works-badge_sp.png") center center / contain no-repeat;
    }

    #index .works .works__label {
        margin-bottom: 3.3vw;
        font-size: 3.6vw;
        font-weight: 500;
        line-height: 1.46667;
        text-align: center;
        color: rgb(30, 77, 145);
        letter-spacing: 0.386vw;
    }

    #index .works .works__title {
        margin-bottom: 3.6vw;
    }

    #index .works .works__title img {
        display: block;
        width: 33.3vw;
        height: auto;
        margin-inline: auto; }

    #index .works .works__lead {
        font-size: 4.1vw;
        font-weight: 500;
        line-height: 1.47059;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .works .works__list {
        width: 100%;
        margin-bottom: 8.9vw;
    }

    #index .works .works__list.slick-initialized {
        display: block;
        margin-inline: 0px; }

    #index .works .works__list.slick-initialized .slick-list {
        margin: 0px -2.4vw;
    }

    #index .works .works__list.slick-initialized .slick-slide {
        margin: 0px 2.4vw;
    }

    #index .works .works__list.slick-initialized .slick-slide > div, #index .works .works__list.slick-initialized .works__item {
        height: 100%;
    }

    #index .works .works__list.slick-initialized .slick-dots {
        position: relative;
        bottom: auto;
        margin-top: 8vw;
        line-height: 1;
    }

    #index .works .works__list.slick-initialized .slick-dots li {
        width: 1.4vw;
        height: 1.4vw;
        margin: 0px 1.2vw;
    }

    #index .works .works__list.slick-initialized .slick-dots li button {
        width: 1.4vw;
        height: 1.4vw;
        padding: 0px;
        border-radius: 50%;
        background-color: transparent;
    }

    #index .works .works__list.slick-initialized .slick-dots li button::before {
        content: "";
        top: 0px;
        left: 0px;
        width: 1.4vw;
        height: 1.4vw;
        background-color: rgb(204, 204, 204);
        border-radius: 50%;
        opacity: 1;
    }

    #index .works .works__list.slick-initialized .slick-dots li.slick-active button::before {
        background-color: rgb(26, 26, 26);
        border-radius: 50%;
    }

    #index .works .works__item {
        display: flex;
        flex-direction: column;
        gap: 1.9vw;
    }

    #index .works .item-thumbnail img {
        width: 100%;
        height: auto;
    }

    #index .works .works__item-body {
        display: flex;
        flex-direction: column;
        gap: 1.9vw;
    }

    #index .works .works__item-category {
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.57143;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .works .works__item-category > span {
        display: inline-block;
    }

    #index .works .works__item-category > span:nth-child(1) {
        margin-right: 1em;
    }

    #index .works .works__item-title {
        font-size: 3.9vw;
        font-weight: 500;
        line-height: 1.4375;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .works .works__item-tag {
        font-size: 3.1vw;
        font-weight: 400;
        line-height: 1.69231;
        letter-spacing: 0px;
        color: rgb(30, 77, 145);
    }

    #index .works .cate-icon {
        font-size: 3.1vw;
        font-weight: 400;
        line-height: 1.69231;
        letter-spacing: 0px;
        color: rgb(30, 77, 145);
        display: flex;
        flex-wrap: wrap;
    }

    #index .works .cate-icon li {
        margin-right: 1em;
    }

    #index .works .cate-icon li::before {
        content: "#";
    }

    #index .works .works__btn-more {
        width: 72.5vw;
        height: 12.1vw;
        margin-inline: auto; }
}

@media (min-width: 768px) {
    #index .voice {
        background-image: url("../images/index/voice-bg.jpg");
        background-size: auto clamp(490px, 383.333px + 13.889vw, 650px);
        background-position: center top;
        background-repeat: no-repeat;
        background-color: rgb(230, 237, 243);
    }

    #index .voice .voice__inner {
        padding-top: 51px;
        padding-bottom: 118px;
    }

    #index .voice .voice__label {
        margin-bottom: 24px;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.46667;
        text-align: center;
        color: rgb(255, 255, 255);
        letter-spacing: 1.5px;
    }

    #index .voice .voice__title {
        margin-bottom: 22px;
        text-align: center;
    }

    #index .voice .voice__title img {
        width: 172px;
        height: auto;
    }

    #index .voice .voice__lead {
        position: relative;
        width: fit-content;
        margin-inline: auto; margin-bottom: 35px;
        font-size: clamp(22px, 15.33px + 0.868vw, 32px);
        font-weight: 700;
        line-height: 1.4375;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .voice .voice__lead::before {
        content: "";
        position: absolute;
        top: 0px;
        left: 0px;
        transform: translate(-35%, -80%);
        width: clamp(24px, 20px + 0.521vw, 30px);
        height: auto;
        aspect-ratio: 30.49 / 23.69;
        background: url("../images/index/voice-title-deco.svg") left top / contain no-repeat;
    }

    #index .voice .voice__lead span {
        color: rgb(254, 235, 88);
    }

    #index .voice .voice__list {
        position: relative;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: clamp(12px, 6.67px + 0.694vw, 20px);
        width: min(95%, 1100px);
        margin-inline: auto; margin-bottom: 45px;
    }

    #index .voice .voice__list::before {
        content: "";
        position: absolute;
        bottom: 1px;
        left: -2px;
        transform: translate(-79%, 46%);
        width: clamp(62px, 20.67px + 5.382vw, 124px);
        height: auto;
        aspect-ratio: 124.17 / 234.22;
        background: url("../images/index/voice-list-deco-left.svg") left bottom / contain no-repeat;
    }

    #index .voice .voice__list::after {
        content: "";
        position: absolute;
        bottom: 7px;
        right: 2px;
        transform: translate(83%, 50%);
        width: clamp(64px, 21.33px + 5.556vw, 128px);
        height: auto;
        aspect-ratio: 128.19 / 271.96;
        background: url("../images/index/voice-list-deco-right.svg") right bottom / contain no-repeat;
    }

    #index .voice .voice__item {
        padding-top: clamp(16px, 8.667px + 0.955vw, 27px);
        padding-bottom: clamp(16px, 10.667px + 0.694vw, 24px);
        padding-inline: 1em; font-size: clamp(13px, 8.33px + 0.608vw, 20px);
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
        text-align: center;
        background-color: rgb(255, 255, 255);
        border-radius: 5px;
        border: 2px solid rgb(0, 132, 202);
    }

    #index .voice .voice__item span {
        color: rgb(0, 132, 202);
    }

    #index .voice .voice__card-list {
        position: relative;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: clamp(12px, -13.33px + 3.299vw, 50px);
        width: min(98%, 1360px);
        margin-inline: auto; margin-bottom: 43px;
    }

    #index .voice .voice__card-item {
        padding: 20px 20px 46px;
        background-color: rgb(255, 255, 255);
    }

    #index .voice .voice__card-item a {
        display: block;
        color: inherit;
    }

    #index .voice .voice__card-item a:hover {
        text-decoration: none;
    }

    #index .voice .voice__card-item a:hover .voice__card-title {
        text-decoration: underline;
    }

    #index .voice .voice__card-thumbnail {
        margin-bottom: 14px;
    }

    #index .voice .voice__card-thumbnail img {
        width: 100%;
        height: auto;
        aspect-ratio: 380 / 260;
        object-fit: cover;
    }

    #index .voice .voice__card-info {
        display: flex;
        flex-direction: column;
    }

    #index .voice .voice__card-info {
        margin-bottom: 10px;
        font-size: clamp(12px, 10.67px + 0.174vw, 14px);
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        text-align: left;
        color: rgb(128, 128, 128);
    }

    #index .voice .voice__card-title {
        font-size: clamp(14px, 12.67px + 0.174vw, 16px);
        font-weight: 500;
        line-height: 1.5625;
        letter-spacing: 0px;
        text-align: left;
        color: rgb(26, 26, 26);
    }

    #index .voice .voice__btn-more {
        margin-inline: auto; }

    #index .voice .system-no-posts {
        padding-top: 200px;
    }
}

@media (max-width: 767px) {
    #index .voice {
        background-image: url("../images/index/voice-bg_sp.jpg");
        background-size: 100%;
        background-position: center top;
        background-repeat: no-repeat;
        background-color: rgb(230, 237, 243);
    }

    #index .voice .voice__inner {
        padding-top: 11.1vw;
        padding-bottom: 16.9vw;
    }

    #index .voice .voice__label {
        margin-bottom: 2.9vw;
        font-size: 3.6vw;
        font-weight: 500;
        line-height: 1.46667;
        text-align: center;
        color: rgb(255, 255, 255);
        letter-spacing: 0.386vw;
    }

    #index .voice .voice__title {
        margin-bottom: 3.6vw;
        text-align: center;
    }

    #index .voice .voice__title img {
        width: 27.1vw;
        height: auto;
    }

    #index .voice .voice__lead {
        position: relative;
        width: fit-content;
        margin-inline: auto; margin-bottom: 5.8vw;
        font-size: 4.8vw;
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .voice .voice__lead::before {
        content: "";
        position: absolute;
        top: 0px;
        left: 0px;
        transform: translate(-35%, -80%);
        width: 4.7vw;
        height: auto;
        aspect-ratio: 19.6 / 15.23;
        background: url("../images/index/voice-title-deco.svg") left top / contain no-repeat;
    }

    #index .voice .voice__lead span {
        color: rgb(254, 235, 88);
    }

    #index .voice .voice__list {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.9vw;
        margin-bottom: 7.2vw;
        padding-inline: 3.1vw; }

    #index .voice .voice__item {
        padding-block: 3.1vw; padding-inline: 1em; font-size: 3.6vw;
        font-weight: 700;
        line-height: 1.46667;
        letter-spacing: 0px;
        text-align: center;
        background-color: rgb(255, 255, 255);
        border-radius: 0.9vw;
        border: 0.4vw solid rgb(0, 132, 202);
        padding-top: 10px;
    }

    #index .voice .voice__item span {
        color: rgb(0, 132, 202);
    }

    #index .voice .voice__card-list {
        width: 100%;
        margin-bottom: 7.7vw;
    }

    #index .voice .voice__card-list.slick-initialized {
        display: block;
        margin-inline: 0px; }

    #index .voice .voice__card-list.slick-initialized .slick-list {
        margin: 0px -2.4vw;
    }

    #index .voice .voice__card-list.slick-initialized .slick-slide {
        margin: 0px 2.4vw;
    }

    #index .voice .voice__card-list.slick-initialized .slick-slide.voice__card-item {
        width: 70vw;
    }

    #index .voice .voice__card-list.slick-initialized .slick-slide > div, #index .voice .voice__card-list.slick-initialized .voice__card-item {
        height: 100%;
    }

    #index .voice .voice__card-list.slick-initialized .slick-dots {
        position: relative;
        bottom: auto;
        margin-top: 2.3vw;
        line-height: 1;
    }

    #index .voice .voice__card-list.slick-initialized .slick-dots li {
        width: 1.4vw;
        height: 1.4vw;
        margin: 0px 1.2vw;
    }

    #index .voice .voice__card-list.slick-initialized .slick-dots li button {
        width: 1.4vw;
        height: 1.4vw;
        padding: 0px;
        border-radius: 50%;
        background-color: transparent;
    }

    #index .voice .voice__card-list.slick-initialized .slick-dots li button::before {
        content: "";
        top: 0px;
        left: 0px;
        width: 1.4vw;
        height: 1.4vw;
        background-color: rgb(204, 204, 204);
        border-radius: 50%;
        opacity: 1;
    }

    #index .voice .voice__card-list.slick-initialized .slick-dots li.slick-active button::before {
        background-color: rgb(26, 26, 26);
        border-radius: 50%;
    }

    #index .voice .voice__card-item {
        box-sizing: border-box;
        width: 70vw;
        padding: 2.4vw 2.4vw 6.3vw;
        background-color: rgb(255, 255, 255);
    }

    #index .voice .voice__card-item a {
        display: block;
        color: inherit;
    }

    #index .voice .voice__card-item a:hover {
        text-decoration: none;
    }

    #index .voice .voice__card-item a:hover .voice__card-title {
        text-decoration: underline;
    }

    #index .voice .voice__card-thumbnail {
        margin-bottom: 3.4vw;
    }

    #index .voice .voice__card-thumbnail img {
        width: 100%;
        height: auto;
        aspect-ratio: 270 / 185;
        object-fit: cover;
    }

    #index .voice .voice__card-info {
        display: flex;
        flex-direction: column;
        margin-bottom: 2.9vw;
        min-height: 9.71429vw;
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .voice .voice__card-title {
        font-size: 3.9vw;
        font-weight: 500;
        line-height: 1.5625;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .voice .voice__btn-more {
        margin-inline: auto; width: 72.5vw;
        height: 12.1vw;
    }

    #index .voice .system-no-posts {
        padding-top: 38vw;
    }
}

@media (min-width: 768px) {
    #index .cta {
        position: relative;
        z-index: 1;
        overflow: hidden;
        background: url("../images/index/cta-bg.jpg") center center / cover no-repeat;
    }

    #index .cta .cta__inner {
        position: relative;
        padding-top: 87px;
        padding-bottom: 121px;
    }

    #index .cta .cta__title {
        margin-bottom: 18px;
        font-size: clamp(28px, 20px + 1.042vw, 40px);
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .cta .cta__lead {
        margin-bottom: 46px;
        font-size: clamp(13px, 8.33px + 0.608vw, 20px);
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .cta .cta__list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: min(95%, 1100px);
        margin-inline: auto; gap: clamp(12px, -20px + 4.167vw, 60px);
        position: relative;
        left: 0px;
    }

    #index .cta .cta__list::after {
        content: "";
        position: absolute;
        bottom: 12px;
        right: 0px;
        z-index: 1;
        transform: translate(42%, 60%);
        width: 147px;
        height: auto;
        aspect-ratio: 147 / 221;
        background: url("../images/index/cta-deco.png") center center / contain no-repeat;
        pointer-events: none;
    }

    #index .cta .cta__item {
        width: 520px;
        position: relative;
        z-index: 1;
        height: 200px;
        padding-top: 34px;
        overflow: hidden;
        background-color: rgb(255, 255, 255);
        border-top: 10px solid rgb(242, 242, 242);
    }

    #index .cta .cta__item-title {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .cta .cta__item-image {
        text-align: center;
    }

    #index .cta .cta__item-image img {
        display: block;
        margin-inline: auto; }

    #index .cta .cta__item--tel .cta__item-title {
        margin-bottom: 34px;
    }

    #index .cta .cta__item--tel .cta__item-image img {
        width: clamp(285px, 258.33px + 3.472vw, 325px);
        height: auto;
    }

    #index .cta .cta__item--mail .cta__item-title {
        margin-bottom: 18px;
    }

    #index .cta .cta__item--mail .cta__item-image img {
        width: clamp(290px, 230px + 7.813vw, 380px);
        height: auto;
    }
}

@media (max-width: 767px) {
    #index .cta {
        position: relative;
        z-index: 1;
        overflow: hidden;
        background: url("../images/index/cta-bg_sp.jpg") center bottom / cover no-repeat;
    }

    #index .cta .cta__inner {
        position: relative;
        padding-top: 15.9vw;
        padding-bottom: 19.3vw;
    }

    #index .cta .cta__title {
        margin-bottom: 4.3vw;
        font-size: 7.2vw;
        font-weight: 700;
        line-height: 1.43333;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .cta .cta__lead {
        margin-bottom: 6.3vw;
        font-size: 4.1vw;
        font-weight: 500;
        line-height: 1.47059;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(255, 255, 255);
    }

    #index .cta .cta__list {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        margin-inline: auto; padding-inline: 4.1vw; gap: 4.8vw;
    }

    #index .cta .cta__item {
        position: relative;
        z-index: 1;
        height: 39.1vw;
        padding-top: 5.3vw;
        overflow: hidden;
        background-color: rgb(255, 255, 255);
        border-top: 2.4vw solid rgb(242, 242, 242);
    }

    #index .cta .cta__item-title {
        font-size: 3.9vw;
        font-weight: 700;
        line-height: 1.4375;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
        position: relative;
        top: -2.657vw;
        margin-bottom: -2.174vw;
    }

    #index .cta .cta__item-image {
        text-align: center;
    }

    #index .cta .cta__item-image img {
        display: block;
        margin-inline: auto; }

    #index .cta .cta__item--tel {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2.9vw;
        height: 29vw;
        padding-top: 0px;
        border-top-width: medium;
        border-top-style: none;
        border-top-color: currentcolor;
        border-radius: 999px;
    }

    #index .cta .cta__item--tel .cta__item-image img {
        width: 53.1vw;
        height: auto;
    }

    #index .cta .cta__item--mail .cta__item-title {
        margin-bottom: 7px;
        margin-top: 6px;
    }

    #index .cta .cta__item--mail .cta__item-image img {
        width: 82.1vw;
        height: auto;
    }
}

@media (min-width: 768px) {
    #index .staff {
        position: relative;
        background: url("../images/index/staff-bg.jpg") center top / cover no-repeat;
        z-index: 2;
    }

    #index .staff::after {
        content: "";
        position: absolute;
        bottom: -69px;
        right: 0px;
        width: 1560px;
        height: 380px;
        background-color: rgb(187, 16, 24);
        z-index: 0;
    }

    #index .staff .staff__inner {
        padding-top: 160px;
    }

    #index .staff .staff__label {
        margin-bottom: 34px;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.52941;
        letter-spacing: 1.5px;
        text-align: center;
        color: rgb(0, 0, 0);
    }

    #index .staff .staff__visual {
        position: relative;
        width: min(85%, 1200px);
        margin-inline: auto; margin-bottom: clamp(140px, 86.67px + 6.944vw, 220px);
    }

    #index .staff .staff__photo {
        display: block;
        width: 100%;
        height: auto;
    }

    #index .staff .staff__catch {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 720px;
        height: auto;
        pointer-events: none;
    }

    #index .staff .staff__deco {
        position: absolute;
        height: auto;
        pointer-events: none;
    }

    #index .staff .staff__deco--top-left {
        top: 0px;
        left: -2px;
        transform: translate(-52%, -89%);
        width: clamp(106px, 74px + 4.167vw, 154px);
    }

    #index .staff .staff__deco--top-right {
        top: 0px;
        right: 0px;
        transform: translate(72%, -27%);
        width: clamp(60px, 26.67px + 4.34vw, 110px);
    }

    #index .staff .staff__deco--bottom-left {
        bottom: -2px;
        left: 0px;
        transform: translate(-24%, 15%);
        width: clamp(185px, 85px + 13.021vw, 335px);
    }

    #index .staff .staff__deco--bottom-right {
        bottom: -8px;
        right: -10px;
        transform: translate(14%, 240%);
        width: clamp(300px, 161.33px + 18.056vw, 508px);
    }

    #index .staff .staff__list-wrap {
        position: relative;
        z-index: 1;
        width: min(95%, 1360px);
        margin-inline: auto; }

    #index .staff .staff__title-wrap {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
        margin-bottom: 42px;
        margin-left: 4px;
    }

    #index .staff .staff__title img {
        width: 175px;
        height: auto;
    }

    #index .staff .staff__sub-title {
        font-size: clamp(16px, 13.33px + 0.347vw, 20px);
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0px;
        color: rgb(255, 255, 255);
        margin-left: 41px;
        position: relative;
        bottom: -6px;
    }

    #index .staff .staff__list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: clamp(12px, -6.67px + 2.431vw, 40px);
        margin-bottom: 53px;
    }

    #index .staff .staff__item {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    #index .staff .staff__item a {
        display: flex;
        flex-direction: column;
        height: 100%;
        color: inherit;
    }

    #index .staff .staff__item a:hover {
        text-decoration: none;
    }

    #index .staff .staff__item a:hover .staff__item-title {
        text-decoration: underline;
    }

    #index .staff .staff__item-image img {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 310 / 200;
        opacity: 1;
    }

    #index .staff .staff__item-body {
        display: flex;
        flex: 1 1 0%;
        flex-direction: column;
        padding: 26px 20px 28px;
        padding-inline: clamp(12px, 6.67px + 0.694vw, 20px); background-color: rgb(255, 255, 255);
    }

    #index .staff .staff__item-title {
        margin-bottom: 22px;
        font-size: clamp(14px, 10px + 0.521vw, 20px);
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
        color: rgb(217, 0, 19);
    }

    #index .staff .staff__item-info {
        margin-top: auto;
    }

    #index .staff .staff__item-name {
        font-size: clamp(14px, 12.67px + 0.174vw, 16px);
        font-weight: 500;
        line-height: 1.4375;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
        margin-bottom: 2px;
    }

    #index .staff .staff__item-position {
        font-size: clamp(12px, 10.67px + 0.174vw, 14px);
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .staff .staff__btn-more {
        margin-left: auto;
    }

    #index .staff .system-no-posts {
        color: rgb(255, 255, 255);
    }
}

@media (max-width: 767px) {
    #index .staff {
        position: relative;
        background-image: url("../images/index/staff-bg_sp.jpg");
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: center top;
        z-index: 2;
    }

    #index .staff::after {
        content: "";
        position: absolute;
        bottom: 0px;
        right: 0px;
        width: 100%;
        height: 91.8vw;
        background-color: rgb(187, 16, 24);
        z-index: 0;
    }

    #index .staff .staff__inner {
        padding-top: 10.6vw;
        padding-bottom: 16.9vw;
    }

    #index .staff .staff__label {
        margin-bottom: 10.6vw;
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.47059;
        text-align: center;
        color: rgb(0, 0, 0);
        letter-spacing: 0.386vw;
    }

    #index .staff .staff__visual {
        position: relative;
        margin-bottom: 29.9vw;
        padding-inline: 8.9vw;}

    #index .staff .staff__photo {
        display: block;
        width: 100%;
        height: auto;
    }

    #index .staff .staff__catch {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 57vw;
        height: auto;
        pointer-events: none;
    }

    #index .staff .staff__deco {
        position: absolute;
        height: auto;
        pointer-events: none;
    }

    #index .staff .staff__deco--top-left {
        top: 0px;
        left: 0px;
        transform: translate(19%, -59%);
        width: 18.8vw;
    }

    #index .staff .staff__deco--top-right {
        top: 0px;
        right: 0px;
        transform: translate(-58%, -7%);
        width: 7.2vw;
    }

    #index .staff .staff__deco--bottom-left {
        bottom: 0px;
        left: 0px;
        transform: translate(5%, 16%);
        width: 39.9vw;
    }

    #index .staff .staff__deco--bottom-right {
        bottom: 2px;
        right: -5px;
        transform: translate(-12%, 374%);
        width: 44.7vw;
    }

    #index .staff .staff__list-wrap {
        position: relative;
        z-index: 1;
    }

    #index .staff .staff__title-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3.9vw;
        margin-bottom: 8.2vw;
    }

    #index .staff .staff__title img {
        width: 27.5vw;
        height: auto;
    }

    #index .staff .staff__sub-title {
        font-size: 4.1vw;
        font-weight: 500;
        line-height: 1.47059;
        letter-spacing: 0px;
        color: rgb(255, 255, 255);
    }

    #index .staff .staff__list {
        width: 100%;
        margin-bottom: 7.2vw;
    }

    #index .staff .staff__list.slick-initialized {
        display: block;
        margin-inline: 0px; }

    #index .staff .staff__list.slick-initialized .slick-list {
        margin: 0px -2.4vw;
    }

    #index .staff .staff__list.slick-initialized .slick-slide {
        margin: 0px 2.4vw;
    }

    #index .staff .staff__list.slick-initialized .slick-slide.staff__item {
        width: 70vw;
    }

    #index .staff .staff__list.slick-initialized .slick-slide > div, #index .staff .staff__list.slick-initialized .staff__item {
        height: 100%;
    }

    #index .staff .staff__list.slick-initialized .slick-dots {
        position: relative;
        bottom: auto;
        margin-top: 2.3vw;
        line-height: 1;
    }

    #index .staff .staff__list.slick-initialized .slick-dots li {
        width: 1.4vw;
        height: 1.4vw;
        margin: 0px 1.2vw;
    }

    #index .staff .staff__list.slick-initialized .slick-dots li button {
        width: 1.4vw;
        height: 1.4vw;
        padding: 0px;
        border-radius: 50%;
        background-color: transparent;
    }

    #index .staff .staff__list.slick-initialized .slick-dots li button::before {
        content: "";
        top: 0px;
        left: 0px;
        width: 1.4vw;
        height: 1.4vw;
        background-color: rgb(255, 255, 255);
        border-radius: 50%;
        opacity: 1;
    }

    #index .staff .staff__list.slick-initialized .slick-dots li.slick-active button::before {
        background-color: rgb(26, 26, 26);
        border-radius: 50%;
    }

    #index .staff .staff__item {
        box-sizing: border-box;
        width: 70vw;
        display: flex;
        flex-direction: column;
    }

    #index .staff .staff__item a {
        display: flex;
        flex-direction: column;
        height: 100%;
        color: inherit;
    }

    #index .staff .staff__item a:hover {
        text-decoration: none;
    }

    #index .staff .staff__item a:hover .staff__item-title {
        text-decoration: underline;
    }

    #index .staff .staff__item-image img {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 290 / 188;
    }

    #index .staff .staff__item-body {
        display: flex;
        flex: 1 1 0%;
        flex-direction: column;
        padding-top: 2.9vw;
        padding-inline: 3.6vw; padding-bottom: 7.7vw;
        background-color: rgb(255, 255, 255);
    }

    #index .staff .staff__item-title {
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.47059;
        letter-spacing: 0px;
        color: rgb(217, 0, 19);
    }

    #index .staff .staff__item-info {
        margin-top: auto;
    }

    #index .staff .staff__item-name {
        font-size: 3.9vw;
        font-weight: 500;
        line-height: 1.4375;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .staff .staff__item-position {
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .staff .staff__btn-more {
        margin-inline: auto; width: 72.5vw;
        height: 12.1vw;
    }

    #index .staff .system-no-posts {
        color: rgb(255, 255, 255);
    }
}

@media (min-width: 768px) {
    #index .blog {
        background-color: rgb(248, 248, 248);
    }

    #index .blog .blog__inner {
        padding-top: 200px;
        padding-bottom: 126px;
    }

    #index .blog .blog__content-wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: clamp(40px, -13.33px + 6.944vw, 120px);
        width: min(95%, 1200px);
        margin-inline: auto; }

    #index .blog .blog__title {
        margin-bottom: 20px;
        margin-left: 13px;
        padding-top: 15px;
    }

    #index .blog .blog__title img {
        width: 148px;
        height: auto;
    }

    #index .blog .blog__lead {
        margin-bottom: 24px;
        font-size: clamp(16px, 13.33px + 0.347vw, 20px);
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
        margin-left: 10px;
    }

    #index .blog .blog__list {
        width: 100%;
        height: 515px;
        margin-bottom: 30px;
        padding: 20px clamp(20px, -6.67px + 3.472vw, 60px) 40px clamp(20px, 6.67px + 1.736vw, 40px);
        background-color: rgb(255, 255, 255);
        overflow-y: auto;
    }

    #index .blog .blog__item-link {
        display: flex;
        align-items: flex-start;
        gap: 15px;
        padding-block: 20px; border-bottom: 1px solid rgb(204, 204, 204);
    }

    #index .blog .blog__item-thumbnail img {
        width: clamp(100px, 73.33px + 3.472vw, 140px);
        height: auto;
        aspect-ratio: 140 / 110;
        object-fit: cover;
    }

    #index .blog .blog__item-date {
        margin-bottom: 7px;
        font-size: clamp(12px, 10.67px + 0.174vw, 14px);
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
        margin-top: 6px;
    }

    #index .blog .blog__item-title {
        font-size: clamp(14px, 12.67px + 0.174vw, 16px);
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .blog .blog__btn-more {
        margin-left: auto;
    }

    #index .blog .blog__right-list {
        display: flex;
        flex-direction: column;
        gap: 76px;
    }

    #index .blog .blog__right-item-link {
        display: block;
        text-decoration: none;
    }

    #index .blog .blog__right-item-link:hover {
        text-decoration: none;
    }

    #index .blog .blog__right-item-link img:hover {
        opacity: 1;
    }

    #index .blog .blog__right-item-link:hover img {
        opacity: 0.8;
    }

    #index .blog .blog__right-item-thumbnail img {
        width: 100%;
        height: auto;
        aspect-ratio: 540 / 230;
        object-fit: cover;
    }

    #index .blog .blog__right-item-body {
        position: relative;
    }

    #index .blog .blog__right-item-title {
        position: relative;
        width: 311px;
        margin-top: -60px;
        margin-bottom: 17px;
        padding: 24px 24px 17px 0px;
        font-size: clamp(16px, 13.33px + 0.347vw, 20px);
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0.05em;
        color: rgb(26, 26, 26);
        background-color: rgb(248, 248, 248);
    }

    #index .blog .blog__right-item-title::before {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 0px;
        width: 20px;
        height: 1px;
        background-color: rgb(217, 0, 19);
    }

    #index .blog .blog__right-item-desc {
        font-size: clamp(12px, 10.67px + 0.174vw, 14px);
        font-weight: 400;
        line-height: 1.57143;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .blog .blog__right-item-link-btn {
        position: absolute;
        top: 20px;
        right: 20px;
    }
}

@media (max-width: 767px) {
    #index .blog {
        background-color: rgb(248, 248, 248);
    }

    #index .blog .blog__inner {
        padding-top: 14.5vw;
        padding-bottom: 20.8vw;
    }

    #index .blog .blog__content-wrap {
        display: grid;
        grid-template-columns: 1fr;
        gap: 19.3vw;
        padding-inline: 4vw;
        }

    #index .blog .blog__title {
        margin-bottom: 3.8vw;
        text-align: center;
    }

    #index .blog .blog__title img {
        width: 23.4vw;
        height: auto;
    }

    #index .blog .blog__lead {
        margin-bottom: 5.8vw;
        font-size: 4.1vw;
        font-weight: 500;
        line-height: 1.47059;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .blog .blog__list {
        height: 108.7vw;
        margin-bottom: 7.2vw;
        padding-top: 2vw;
        padding-inline: 3.8vw;
        padding-bottom: 6.5vw;
        background-color: rgb(255, 255, 255);
        overflow-y: auto;
    }

    #index .blog .blog__item-link {
        display: flex;
        align-items: flex-start;
        gap: 2.4vw;
        padding-block: 3.6vw;
        padding-bottom: 3.623vw;
        border-bottom: 1px solid rgb(204, 204, 204);
        margin-bottom: 1.449vw;
    }

    #index .blog .blog__item-thumbnail{
      width: 29vw;
    }
    .blog__item-body{
      width: 51vw;
    }

    #index .blog .blog__item-thumbnail img {
        width: 29vw;
        height: auto;
        aspect-ratio: 120 / 100;
        object-fit: cover;
    }

    #index .blog .blog__item-date {
        margin-bottom: 1.9vw;
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
        margin-top: 1.691vw;
    }

    #index .blog .blog__item-title {
        font-size: 3.6vw;
        font-weight: 400;
        line-height: 1.375;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .blog .blog__btn-more {
        margin-inline: auto; width: 72.5vw;
        height: 12.1vw;
    }

    #index .blog .blog__right-list {
        display: flex;
        flex-direction: column;
        gap: 11.5vw;
    }

    #index .blog .blog__right-item-link {
        display: block;
        text-decoration: none;
    }

    #index .blog .blog__right-item-link:hover {
        text-decoration: none;
    }

    #index .blog .blog__right-item-link img:hover {
        opacity: 1;
    }

    #index .blog .blog__right-item-link:hover img {
        opacity: 0.8;
    }

    #index .blog .blog__right-item-thumbnail img {
        width: 100%;
        height: auto;
        aspect-ratio: 380 / 200;
        object-fit: cover;
    }

    #index .blog .blog__right-item-body {
        position: relative;
    }

    #index .blog .blog__right-item-title {
        position: relative;
        width: fit-content;
        margin-top: -9.7vw;
        margin-bottom: 2.9vw;
        padding: 5.8vw 6.7vw 3.9vw 0px;
        font-size: 4.8vw;
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0.05em;
        color: rgb(26, 26, 26);
        background-color: rgb(248, 248, 248);
    }

    #index .blog .blog__right-item-title::before {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 0px;
        width: 4.8vw;
        height: 0.2vw;
        background-color: rgb(217, 0, 19);
    }

    #index .blog .blog__right-item-desc {
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.57143;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .blog .blog__right-item-link-btn {
        position: absolute;
        top: 4.8vw;
        right: 0px;
    }
}

@media (min-width: 768px) {
    #index section.recruit {
        background: url("../images/index/recruit-bg.jpg") center center / cover no-repeat;
    }

    #index section.recruit .recruit__inner {
        padding-top: 102px;
        padding-bottom: 130px;
    }

    #index section.recruit .recruit__title-en {
        margin-bottom: 49px;
        text-align: center;
    }

    #index section.recruit .recruit__title-en img {
        width: 118px;
        height: auto;
    }

    #index section.recruit .recruit__title {
        margin-bottom: 46px;
        text-align: center;
        position: relative;
        left: -18px;
    }

    #index section.recruit .recruit__title img {
        width: clamp(460px, 269.33px + 24.826vw, 746px);
        height: auto;
    }

    #index section.recruit .recruit__btn-wrap {
        text-align: center;
    }

    #index section.recruit .recruit__btn-link {
        position: relative;
        display: inline-block;
        width: clamp(320px, 226.67px + 12.153vw, 460px);
        padding: 37px clamp(16px, 6.67px + 1.215vw, 30px) 38px clamp(16px, 2.67px + 1.736vw, 36px);
        font-size: clamp(20px, 17.33px + 0.347vw, 24px);
        font-weight: 700;
        line-height: 1.45833;
        letter-spacing: 0px;
        text-align: left;
        background-color: rgb(255, 217, 0);
        color: rgb(26, 26, 26);
    }

    #index section.recruit .recruit__btn-link::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 36px;
        transform: translateY(-50%);
        width: clamp(36px, 26.67px + 1.215vw, 50px);
        height: auto;
        aspect-ratio: 1 / 1;
        background: url("../images/index/link-btn-black.svg") center center / contain no-repeat;
    }
}

@media (max-width: 767px) {
    #index section.recruit {
        background: url("../images/index/recruit-bg_sp.jpg") center center / cover no-repeat;
    }

    #index section.recruit .recruit__inner {
        padding-top: 26.8vw;
        padding-bottom: 25.1vw;
    }

    #index section.recruit .recruit__title-en {
        margin-bottom: 8.2vw;
        text-align: center;
    }

    #index section.recruit .recruit__title-en img {
        width: 28.5vw;
        height: auto;
    }

    #index section.recruit .recruit__title {
        margin-bottom: 8.9vw;
        text-align: center;
    }

    #index section.recruit .recruit__title img {
        width: 77.3vw;
        height: auto;
    }

    #index section.recruit .recruit__btn-link {
        position: relative;
        display: flex;
        align-items: center;
        width: 91.8vw;
        height: 26.6vw;
        margin-inline: auto;
        padding-inline: 9.7vw;
        font-size: 5.3vw;
        font-weight: 700;
        line-height: 1.45455;
        letter-spacing: 0px;
        background-color: rgb(255, 217, 0);
        color: rgb(26, 26, 26);
    }

    #index section.recruit .recruit__btn-link::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 9.7vw;
        transform: translateY(-50%);
        width: 12.1vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url("../images/index/link-btn-black.svg") center center / contain no-repeat;
    }
}

@media (min-width: 768px) {
    #index .interview {
        position: relative;
    }

    #index .interview::before {
        content: "";
        position: absolute;
        top: -60px;
        left: 0px;
        width: clamp(680px, 93.33px + 76.389vw, 1560px);
        height: 380px;
        background-color: rgb(255, 255, 255);
        z-index: 0;
    }

    #index .interview::after {
        content: "";
        position: absolute;
        bottom: 0px;
        right: 0px;
        width: clamp(680px, 93.33px + 76.389vw, 1560px);
        height: 380px;
        background-color: rgb(248, 248, 248);
        z-index: -1;
    }

    #index .interview .interview__inner {
        padding-top: 87px;
        padding-bottom: 80px;
        margin-left: 9px;
    }

    #index .interview .interview__content-wrap {
        width: min(95%, 1360px);
        margin-inline: auto; }

    #index .interview .interview__list-wrap {
        z-index: 1;
        width: min(95%, 1360px);
        margin-inline: auto; }

    #index .interview .interview__title-wrap {
        position: relative;
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
        gap: 36px;
        margin-bottom: 43px;
    }

    #index .interview .interview__title img {
        width: 319px;
        height: auto;
    }

    #index .interview .interview__sub-title {
        font-size: clamp(16px, 13.33px + 0.347vw, 20px);
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .interview .interview__list {
        z-index: 1;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: clamp(12px, -13.33px + 3.299vw, 50px);
        margin-bottom: 45px;
        position: relative;
        left: -5px;
    }

    #index .interview .interview__item {
        display: flex;
        flex-direction: column;
    }

    #index .interview .interview__item a {
        display: flex;
        flex-direction: column;
        color: inherit;
        text-decoration: none;
    }

    #index .interview .interview__item a:hover {
        text-decoration: none;
    }

    #index .interview .interview__item-thumbnail {
        position: relative;
    }

    #index .interview .interview__item-thumbnail img {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 420 / 500;
    }

    #index .interview .interview__catch {
        position: absolute;
        top: 20px;
        right: 20px;
        display: flex;
        gap: 4px;
    }

    #index .interview .interview__catch span {
        display: inline-block;
        height: fit-content;
        padding: 8px 4px;
        font-size: clamp(13px, 7px + 0.781vw, 22px);
        font-weight: 700;
        line-height: 1.31818;
        letter-spacing: 0.1em;
        color: rgb(255, 255, 255);
        background-color: rgb(0, 0, 0);
        writing-mode: vertical-rl;
    }

    #index .interview .interview__item-body {
        position: relative;
        padding-top: 11px;
        padding-inline: 4px; }

    #index .interview .interview__item-body::after {
        content: "";
        position: absolute;
        top: -20px;
        right: 20px;
        width: clamp(40px, 33.33px + 0.868vw, 50px);
        height: auto;
        aspect-ratio: 1 / 1;
        background: url("../images/index/link-btn.svg") center center / contain no-repeat;
        pointer-events: none;
    }

    #index .interview .interview__item-title {
        margin-bottom: 8px;
        font-size: 22px;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: 0px;
        color: rgb(217, 0, 19);
    }

    #index .interview .interview__item:nth-child(1) .interview__item-title img {
        width: 163px;
    }

    #index .interview .interview__item:nth-child(2) .interview__item-title img {
        width: 168px;
    }

    #index .interview .interview__item:nth-child(3) .interview__item-title img {
        width: 168px;
    }

    #index .interview .interview__item-name {
        margin-bottom: 4px;
        font-size: clamp(14px, 12.67px + 0.174vw, 16px);
        font-weight: 500;
        line-height: 1.4375;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .interview .interview__item-position {
        font-size: clamp(12px, 10.67px + 0.174vw, 14px);
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .interview .interview__btn-more {
        margin-left: auto;
        z-index: 1;
    }

    #index .interview .system-no-posts {
        position: relative;
    }
}

@media (max-width: 767px) {
    #index .interview {
        position: relative;
    }

    #index .interview::after {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 0px;
        width: 100%;
        height: 111.1vw;
        background-color: rgb(248, 248, 248);
        z-index: -1;
    }

    #index .interview .interview__inner {
        padding-top: 14.5vw;
        padding-bottom: 16.9vw;
    }

    #index .interview .interview__list-wrap {
        position: relative;
        z-index: 1;
    }

    #index .interview .interview__title-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3.9vw;
        margin-bottom: 5.3vw;
    }

    #index .interview .interview__title img {
        width: 50.2vw;
        height: auto;
    }

    #index .interview .interview__sub-title {
        font-size: 4.1vw;
        font-weight: 500;
        line-height: 1.47059;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .interview .interview__list {
        position: relative;
        z-index: 1;
        width: 100%;
        margin-bottom: 7.7vw;
    }

    #index .interview .interview__list.slick-initialized {
        display: block;
        margin-inline: 0px; }

    #index .interview .interview__list.slick-initialized .slick-list {
        margin: 0px -2.4vw;
    }

    #index .interview .interview__list.slick-initialized .slick-slide {
        margin: 0px 2.4vw;
    }

    #index .interview .interview__list.slick-initialized .slick-slide.interview__item {
        width: 77.3vw;
    }

    #index .interview .interview__list.slick-initialized .slick-slide > div, #index .interview .interview__list.slick-initialized .interview__item {
        height: 100%;
    }

    #index .interview .interview__list.slick-initialized .slick-dots {
        position: relative;
        bottom: auto;
        margin-top: 8.5vw;
        line-height: 1;
    }

    #index .interview .interview__list.slick-initialized .slick-dots li {
        width: 1.4vw;
        height: 1.4vw;
        margin: 0px 1.2vw;
    }

    #index .interview .interview__list.slick-initialized .slick-dots li button {
        width: 1.4vw;
        height: 1.4vw;
        padding: 0px;
        border-radius: 50%;
        background-color: transparent;
    }

    #index .interview .interview__list.slick-initialized .slick-dots li button::before {
        content: "";
        top: 0px;
        left: 0px;
        width: 1.4vw;
        height: 1.4vw;
        background-color: rgb(204, 204, 204);
        border-radius: 50%;
        opacity: 1;
    }

    #index .interview .interview__list.slick-initialized .slick-dots li.slick-active button::before {
        background-color: rgb(26, 26, 26);
        border-radius: 50%;
    }

    #index .interview .interview__item {
        box-sizing: border-box;
        width: 77.3vw;
        display: flex;
        flex-direction: column;
    }

    #index .interview .interview__item a {
        display: flex;
        flex-direction: column;
        color: inherit;
        text-decoration: none;
    }

    #index .interview .interview__item a:hover {
        text-decoration: none;
    }

    #index .interview .interview__item-thumbnail {
        position: relative;
    }

    #index .interview .interview__item-thumbnail img {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 320 / 380;
    }

    #index .interview .interview__catch {
        position: absolute;
        top: 4.8vw;
        right: 4.8vw;
        display: flex;
        gap: 1vw;
    }

    #index .interview .interview__catch span {
        display: inline-block;
        height: fit-content;
        padding: 1.9vw 1vw;
        font-size: 3.4vw;
        font-weight: 700;
        line-height: 1.64286;
        letter-spacing: 0.1em;
        color: rgb(255, 255, 255);
        background-color: rgb(0, 0, 0);
        writing-mode: vertical-rl;
    }

    #index .interview .interview__item-body {
        position: relative;
        padding-top: 1.8vw;
        }

    #index .interview .interview__item-body::after {
        content: "";
        position: absolute;
        top: -6.8vw;
        right: 4.8vw;
        width: 12.1vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url("../images/index/link-btn.svg") center center / contain no-repeat;
        pointer-events: none;
    }

    #index .interview .interview__item-title {
        margin-bottom: 1vw;
        font-size: 5.3vw;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: 0px;
        color: rgb(217, 0, 19);
    }

    #index .interview .interview__item:nth-child(1) .interview__item-title img {
        width: 39.4vw;
    }

    #index .interview .interview__item:nth-child(2) .interview__item-title img {
        width: 40.6vw;
    }

    #index .interview .interview__item:nth-child(3) .interview__item-title img {
        width: 40.6vw;
    }

    #index .interview .interview__item-name {
        margin-bottom: 0.3vw;
        font-size: 3.9vw;
        font-weight: 500;
        line-height: 1.4375;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .interview .interview__item-position {
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }

    #index .interview .interview__btn-more {
        margin-inline: auto; width: 72.5vw;
        height: 12.1vw;
        z-index: 1;
    }
}

@media (min-width: 768px) {
    #index .greeting {
        position: relative;
    }

    #index .greeting .greeting__inner {
        padding-top: 96px;
        padding-bottom: 70px;
    }

    #index .greeting .greeting__content {
        position: relative;
        z-index: 1;
        display: flex;
        width: min(88%, 1000px);
        margin-inline: auto; }

    #index .greeting .greeting__image {
        width: clamp(300px, 193.33px + 13.889vw, 460px);
    }

    #index .greeting .greeting__image img {
        width: 100%;
        height: auto;
    }

    #index .greeting .greeting__text-area {
        position: relative;
        flex: 1 1 0%;
        padding-top: 41px;
        padding-inline: clamp(24px, 13.33px + 1.389vw, 40px); background-color: rgb(255, 255, 255);
    }

    #index .greeting .greeting__title {
        margin: 0px 0px 23px;
    }

    #index .greeting .greeting__title img {
        width: 109px;
        height: auto;
    }

    #index .greeting .greeting__catch {
        margin-bottom: clamp(14px, 4.67px + 1.215vw, 28px);
        font-size: clamp(22px, 18px + 0.521vw, 28px);
        font-weight: 700;
        line-height: 1.46429;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .greeting .greeting__text {
        font-size: clamp(14px, 12.67px + 0.174vw, 16px);
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .greeting .greeting__right-item-link-btn {
        position: absolute;
        bottom: -20px;
        right: 20px;
        width: 50px;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: contain;
    }

    #index .greeting .greeting__bg {
        background-color: rgb(248, 248, 248);
        width: min(95%, 1200px);
        height: clamp(230px, 170px + 7.813vw, 320px);
        margin-inline: auto; margin-top: clamp(-250px, -100px - 7.813vw, -160px);
    }
}

@media (max-width: 767px) {
    #index .greeting {
        position: relative;
    }

    #index .greeting .greeting__inner {
        padding-top: 16.9vw;
        padding-bottom: 8.5vw;
    }

    #index .greeting .greeting__content {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-inline: 2.9vw; }

    #index .greeting .greeting__image {
        width: 87vw;
        height: auto;
        margin-bottom: 6.3vw;
    }

    #index .greeting .greeting__image img {
        width: 100%;
        height: auto;
    }

    #index .greeting .greeting__text-area {
        position: relative;
        width: 87vw;
        margin-inline: auto; }

    #index .greeting .greeting__title-wrap {
        position: absolute;
        top: 0.725vw;
        right: 0.725vw;
        transform: translate(-15%, -200%);
    }

    #index .greeting .greeting__title {
        margin: 0px 0px 2.9vw;
    }

    #index .greeting .greeting__title img {
        width: 23.9vw;
        height: auto;
    }

    #index .greeting .greeting__catch {
        font-size: 4.8vw;
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
        position: relative;
        top: 0.725vw;
    }

    #index .greeting .greeting__text {
        font-size: 3.6vw;
        font-weight: 400;
        line-height: 1.73333;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .greeting .greeting__right-item-link-btn {
        position: absolute;
        top: 1.5vw;
        right: 4.8vw;
        transform: translateY(-130%);
        width: 12.1vw;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: contain;
    }

    #index .greeting .greeting__bg {
        display: none;
    }
}

@media (min-width: 768px) {
    #index .faq .faq__inner {
        padding-top: 17px;
        padding-bottom: 80px;
    }

    #index .faq .faq__title {
        margin-bottom: 17px;
        text-align: center;
    }

    #index .faq .faq__title img {
        width: 54px;
        height: auto;
    }

    #index .faq .faq__lead {
        margin-bottom: 32px;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0px;
        text-align: center;
        color: rgb(26, 26, 26);
    }

    #index .faq .faq__list {
        width: min(95%, 1000px);
        margin-inline: auto; margin-bottom: 30px;
    }

    #index .faq .faq__item-title {
        position: relative;
        border-top: 1px solid rgb(204, 204, 204);
    }

    #index .faq .faq__item-title-button {
        position: relative;
        display: block;
        width: 100%;
        padding-inline: 96px; padding-block: 32px; padding-top: 26px;
        padding-right: 72px;
        border-width: medium;
        border-style: none;
        border-color: currentcolor;
        border-image: initial;
        background: transparent;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.44444;
        letter-spacing: 0px;
        text-align: left;
        color: rgb(26, 26, 26);
        cursor: pointer;
    }

    #index .faq .faq__item-answer {
        display: grid;
        grid-template-rows: 0fr;
        min-height: 0px;
        margin: 0px;
        transition: grid-template-rows 0.3s;
    }

    #index .faq .faq__item.is-open .faq__item-answer {
        grid-template-rows: 1fr;
    }

    #index .faq .faq__item-answer-inner {
        overflow: hidden;
        min-height: 0px;
    }

    #index .faq .faq__item-answer-body {
        position: relative;
        padding-inline: 96px; padding-block: 34px; padding-top: 23px;
        padding-bottom: 30px;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
        background-color: rgb(248, 248, 248);
    }

    #index .faq .faq__item-title-button::before, #index .faq .faq__item-answer-body::before {
        content: "";
        position: absolute;
        left: 48px;
        pointer-events: none;
    }

    #index .faq .faq__item-title-button::before {
        top: 27px;
        width: 18px;
        height: auto;
        aspect-ratio: 18.42 / 25.23;
        background: url("../images/index/faq-question-icon.svg") center center / contain no-repeat;
    }

    #index .faq .faq__item-answer-body::before {
        top: 29px;
        width: 18px;
        height: auto;
        aspect-ratio: 18.76 / 19.14;
        background: url("../images/index/faq-answer-icon.svg") center center / contain no-repeat;
    }

    #index .faq .faq__item-title-button::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 42px;
        transform: translateY(-50%);
        width: 15px;
        height: auto;
        aspect-ratio: 14.71 / 8.06;
        background: url("../images/index/faq-question-arrow.svg") center center / contain no-repeat;
        transition: transform 0.3s;
        pointer-events: none;
    }

    #index .faq .faq__item.is-open .faq__item-title-button::after {
        transform: translateY(-50%) rotate(180deg);
    }

    #index .faq .faq__btn-more {
        margin-inline: auto; }
}

@media (max-width: 767px) {
    #index .faq .faq__inner {
        padding-top: 10.5vw;
        padding-bottom: 16.9vw;
    }

    #index .faq .faq__title {
        margin-bottom: 3.8vw;
        text-align: center;
    }

    #index .faq .faq__title img {
        width: 13.8vw;
        height: auto;
    }

    #index .faq .faq__lead {
        margin-bottom: 1vw;
        padding-inline: 4.1vw; font-size: 3.6vw;
        font-weight: 400;
        line-height: 1.73333;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
    }

    #index .faq .faq__list {
        margin-bottom: 17.9vw;
        padding-inline: 4.1vw; }

    #index .faq .faq__item-title {
        position: relative;
        border-top: 1px solid rgb(204, 204, 204);
    }

    #index .faq .faq__item:first-child .faq__item-title {
        border-top-width: medium;
        border-top-style: none;
        border-top-color: currentcolor;
    }

    #index .faq .faq__item-title-button {
        position: relative;
        display: block;
        width: 100%;
        padding-left: 11.1vw;
        padding-right: 13.5vw;
        padding-block: 4.1vw 3.6vw;
        border-width: medium;
        border-style: none;
        border-color: currentcolor;
        border-image: initial;
        background: transparent;
        font-size: 3.9vw;
        font-weight: 500;
        line-height: 1.4375;
        letter-spacing: 0px;
        text-align: left;
        color: rgb(26, 26, 26);
        cursor: pointer;
        padding-top: 3.14vw;
        padding-left: 9.662vw;
        padding-right: 11.594vw;
    }

    #index .faq .faq__item-answer {
        display: grid;
        grid-template-rows: 0fr;
        min-height: 0px;
        margin: 0px;
        transition: grid-template-rows 0.3s;
    }

    #index .faq .faq__item.is-open .faq__item-answer {
        grid-template-rows: 1fr;
    }

    #index .faq .faq__item-answer-inner {
        overflow: hidden;
        min-height: 0px;
    }

    #index .faq .faq__item-answer-body {
        position: relative;
        padding: 5.314vw 3.382vw 6.039vw 10.145vw;
        font-size: 3.1vw;
        font-weight: 400;
        line-height: 1.69231;
        letter-spacing: 0px;
        color: rgb(26, 26, 26);
        background-color: rgb(248, 248, 248);
    }

    #index .faq .faq__item-title-button::before, #index .faq .faq__item-answer-body::before {
        content: "";
        position: absolute;
        left: 3.1vw;
        pointer-events: none;
    }

    #index .faq .faq__item-title-button::before {
        top: 4.106vw;
        left: 2.415vw;
        width: 3.4vw;
        height: auto;
        aspect-ratio: 13.97 / 19.14;
        background: url("../images/index/faq-question-icon.svg") center center / contain no-repeat;
    }

    #index .faq .faq__item-answer-body::before {
        top: 7.246vw;
        left: 2.415vw;
        width: 3.4vw;
        height: auto;
        aspect-ratio: 14.23 / 14.52;
        background: url("../images/index/faq-answer-icon.svg") center center / contain no-repeat;
    }

    #index .faq .faq__item-title-button::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 3.623vw;
        transform: translateY(-50%);
        width: 3.4vw;
        height: auto;
        aspect-ratio: 14.23 / 14.52;
        background: url("../images/index/faq-question-arrow.svg") center center / contain no-repeat;
        transition: transform 0.3s;
        pointer-events: none;
    }

    #index .faq .faq__item.is-open .faq__item-title-button::after {
        transform: translateY(-50%) rotate(180deg);
    }

    #index .faq .faq__btn-more {
        margin-inline: auto; width: 72.5vw;
        height: 12.1vw;
    }
}

@media (min-width: 768px) {
    #index .company-info {
        background-color: rgb(248, 248, 248);
    }

    #index .company-info .company-info__inner {
        padding-block: 40px; padding-bottom: 37px;
    }

    #index .company-info .company-info__content-wrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: clamp(20px, 6.67px + 1.736vw, 40px);
        width: min(95%, 1000px);
        margin-inline: auto; }

    #index .company-info .company-info__content-left {
        flex: 1 1 0%;
    }

    #index .company-info .company-info__logo {
        margin-top: 13px;
        margin-bottom: 30px;
    }

    #index .company-info .company-info__logo img {
        width: 302px;
        height: auto;
    }

    #index .company-info .company-info__info-wrap {
        margin-bottom: 20px;
    }

    #index .company-info .company-info__label, #index .company-info .company-info__address, #index .company-info .company-info__tel, #index .company-info .company-info__fax {
        font-size: clamp(14px, 12.67px + 0.174vw, 16px);
        font-weight: 400;
        line-height: 1.64286;
        letter-spacing: 0px;
        margin-bottom: -4px;
    }

    #index .company-info .company-info__content-right {
        width: 450px;
        height: 280px;
    }

    #index .company-info .company-info__map {
        width: 100%;
        height: 100%;
    }

    #index .company-info .company-info__map iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0px;
        margin-bottom: 0px;
    }

    #index .company-info .company-info__contact-wrap {
        display: flex;
        gap: 16px;
    }
}

@media (max-width: 767px) {
    #index .company-info {
        background-color: rgb(248, 248, 248);
    }

    #index .company-info .company-info__inner {
        padding-top: 13vw;
        padding-bottom: 16.9vw;
    }

    #index .company-info .company-info__content-wrap {
        display: flex;
        flex-direction: column;
        gap: 6.5vw;
    }

    #index .company-info .company-info__content-left {
        padding-inline: 4.8vw;
        margin-bottom: -5.072vw;
        }

    #index .company-info .company-info__logo {
        margin-bottom: 7.2vw;
        text-align: center;
    }

    #index .company-info .company-info__logo img {
        width: 73vw;
        height: auto;
    }

    #index .company-info .company-info__info-wrap {
        margin-bottom: 4.8vw;
    }

    #index .company-info .company-info__label, #index .company-info .company-info__address, #index .company-info .company-info__tel, #index .company-info .company-info__fax {
        font-size: 3.4vw;
        font-weight: 400;
        line-height: 1.42857;
        letter-spacing: 0px;
    }

    #index .company-info .company-info__contact-wrap {
        display: flex;
        gap: 1em;
    }

    #index .company-info .company-info__content-right {
        padding-inline: 4.1vw; height: 58vw;
    }

    #index .company-info .company-info__map {
        width: 100%;
        height: 100%;
    }

    #index .company-info .company-info__map iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0px;
        margin-bottom: 0px;
    }
}

@media (min-width: 768px) {
    #index .seo-box {
        position: relative;
        z-index: 2;
        background-color: rgb(26, 26, 26);
    }

    #index .seo-box .seo-box__inner {
        padding-top: 42px;
        padding-bottom: 39px;
    }

    #index .seo-box .seo-box__text {
        width: min(95%, 1000px);
        margin-inline: auto; font-size: clamp(13px, 11.67px + 0.174vw, 15px);
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }
}

@media (max-width: 767px) {
    #index .seo-box {
        position: relative;
        z-index: 2;
        background-color: rgb(26, 26, 26);
    }

    #index .seo-box .seo-box__inner {
        padding-top: 13.3vw;
        padding-bottom: 11.3vw;
    }

    #index .seo-box .seo-box__text {
        padding-inline: 4.1vw; font-size: 3.1vw;
        font-weight: 400;
        line-height: 1.69231;
        letter-spacing: 0px;
        color: rgb(128, 128, 128);
    }
}

body {
    overflow-x: hidden;
}

@media (min-width: 768px) {

  #index .mv{
    .slick-dotted.slick-slider{
  margin-bottom: 0;
}
    .slick-dots{
          bottom: 25px;
    }
    .slick-dots li button:before{
      display: none;
    }
    .slick-dots li{
      width: 6px;
      height: 6px;
      margin: 0 4px;
    }
        .slick-dots li.slick-active button{
background-color: #1A1A1A;
        }
    .slick-dots li button{
      width: 6px;
      height: 6px;
      background-color: #fff;
      border-radius: 50%;
      padding: 0;
    }
  }

}



@media (max-width: 767px) {

  #index .mv{
    .slick-dotted.slick-slider{
  margin-bottom: 0;
}
    .slick-dots{
          bottom: 3.623vw;
    }
    .slick-dots li button:before{
      display: none;
    }
    .slick-dots li{
      width: 1.449vw;
      height: 1.449vw;
      margin: 0 0.966vw;
    }
        .slick-dots li.slick-active button{
background-color: #1A1A1A;
        }
    .slick-dots li button{
      width: 1.449vw;
      height: 1.449vw;
      background-color: #fff;
      border-radius: 50%;
      padding: 0;
    }
  }

    .mv-ttl img {
        max-width: 960px;
        width: 100vw;
        height: auto;
        margin: 0px auto;
        display: block;
    }

    #news {
        & .c-btn-more img {
            width: 19.2vw;
            height: auto;
        }
    }

    #concept {
        & .c-btn-more {
            position: relative;
            display: flex;
            padding-left: 4.348vw;
            padding-top: 0.966vw;
            align-items: center;
            background-color: rgb(30, 77, 145);
            & .c-btn-more img {
                width: 19.2vw;
                height: auto;
            }
        }
    }

    #relief {
        & .c-btn-more {
            position: relative;
            display: flex;
            padding-left: 4.348vw;
            padding-top: 0.966vw;
            align-items: center;
            background-color: rgb(30, 77, 145);
        }
    }

    #works {
        & .c-btn-more {
            position: relative;
            display: flex;
            padding-left: 4.348vw;
            padding-top: 0.966vw;
            align-items: center;
            background-color: rgb(30, 77, 145);
        }
    }

    #voice {
        & .c-btn-more {
            position: relative;
            display: flex;
            padding-left: 4.348vw;
            padding-top: 0.966vw;
            align-items: center;
            background-color: rgb(30, 77, 145);
        }
    }

    #blog{
              & .c-btn-more {
  
            padding-left: 4.348vw;

        }
    }

    #index .interview .interview__btn-more{
      padding-left: 4.348vw;
    }
    #index .faq .faq__btn-more{
      padding-left: 4.348vw;
    }

#index .company-info .company-info__logo{
  position: relative;
  left: -0.966vw;
}

}
