@charset "UTF-8";

body {
    color: #222;
    font-weight: 400;
    letter-spacing: .04em;
    overflow-x: hidden
}

body .js-scroll-fade {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity .7s, transform .7s
}

body .js-scroll-fade.is-add-visible,
body .js-scroll-fade.is-on,
body .js-scroll-fade.is-visible {
    opacity: 1;
    transform: translateY(0)
}

.fv {
    padding: 20vw 0 0
}

@media (min-width:52.1875em) {
    .fv {
        padding: 4.1666666667vw 0 0
    }
}

@media (min-width:90em) {
    .fv {
        padding: 60px 0 0
    }
}

.fv__inner {
    aspect-ratio: 375/613;
    margin: 0 auto;
    overflow: hidden;
    position: relative
}

@media (min-width:52.1875em) {
    .fv__inner {
        aspect-ratio: 1440/660
    }
}

.fv__inner .fv__imagelist,
.fv__inner .fv__imagelist ul {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.fv__inner .fv__imagelist ul .slick-list,
.fv__inner .fv__imagelist ul .slick-list .slick-track {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100% !important
}

.fv__inner .fv__imagelist ul .slick-list .slick-track .slick-slide {
    height: 100%;
    left: 0;
    position: absolute !important;
    top: 0;
    width: 100% !important
}

@keyframes zoomUp {
    0% {
        transform: scale(1)
    }

    to {
        transform: scale(1.1)
    }
}

.fv__inner .fv__imagelist ul .slick-list .slick-track .slick-slide.add-animation div img {
    animation: zoomUp 15s linear 0s normal both
}

.fv__inner .fv__imagelist ul li {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.fv__inner .fv__imagelist ul li img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

/* トップページFV画像のフェードイン設定 */
.fv__imagelist img {
    opacity: 0; /* 最初は透明にする */
    animation: fvFadeIn 1.5s ease-out forwards; /* 1.5秒かけて表示 */
}

/* アニメーションの動きを定義 */
@keyframes fvFadeIn {
    0% {
        opacity: 0;
        transform: scale(1.05); /* 少し拡大した状態から（演出用：不要なら削除可） */
    }
    100% {
        opacity: 1;
        transform: scale(1); /* 元のサイズ・不透明度に戻る */
    }
}

.fv__inner .fv__title {
    font-family: 游明朝体, Yu Mincho, YuMincho, ヒラギノ明朝 Pro, Hiragino Mincho Pro, MS P明朝, MS PMincho, serif;
    font-size: 5.3333333333vw;
    letter-spacing: .12em;
    line-height: 1.5;
    position: absolute;
    right: 4vw;
    text-align: right;
    top: 9.3333333333vw;
    z-index: 1000
}

@media (min-width:52.1875em) {
    .fv__inner .fv__title {
        font-size: 2.7777777778vw;
        right: 4.8611111111vw;
        top: 7.7777777778vw
    }
}

.fv__inner .fv__title span {
    display: block
}

.news {
    background-color: #f7f7f7;
    margin-bottom: 36.8vw;
    padding: 20.2666666667vw 0 14.9333333333vw
}

@media (min-width:52.1875em) {
    .news {
        margin-bottom: 7.2916666667vw;
        padding: 5.5555555556vw 0 4.8611111111vw
    }
}

@media (min-width:90em) {
    .news {
        margin-bottom: 105px;
        padding: 80px 0 70px
    }
}

.news__inner {
    margin: 0 auto;
    max-width: 90.6666666667vw
}

@media (min-width:52.1875em) {
    .news__inner {
        max-width: 83.3333333333vw
    }
}

@media (min-width:90em) {
    .news__inner {
        max-width: 1200px
    }
}

.news__inner .news__info {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 4.5333333333vw
}

@media (min-width:52.1875em) {
    .news__inner .news__info {
        margin-bottom: 3.3333333333vw
    }
}

@media (min-width:90em) {
    .news__inner .news__info {
        margin-bottom: 48px
    }
}

.news__inner .news__info .c-section-title .c-section-title__ja {
    font-size: 6.9333333333vw
}

@media (min-width:52.1875em) {
    .news__inner .news__info .c-section-title .c-section-title__ja {
        font-size: 2.2222222222vw
    }
}

@media (min-width:90em) {
    .news__inner .news__info .c-section-title .c-section-title__ja {
        font-size: 32px
    }
}

.news__inner .news__itemlist {
    align-items: stretch;
    display: flex;
    gap: 3.2vw;
    justify-content: flex-start;
    margin: 0 calc(50% - 50vw) 8vw;
    overflow: scroll;
    padding: 0 calc(50vw - 50%) 2.6666666667vw;
    scrollbar-width: none
}

@media (min-width:52.1875em) {
    .news__inner .news__itemlist {
        gap: 1.3888888889vw;
        margin: 0 calc(50% - 50vw);
        padding: 0 calc(50vw - 50%) .6944444444vw
    }
}

@media (min-width:90em) {
    .news__inner .news__itemlist {
        gap: 20px;
        padding: 0 calc(50vw - 50%) 10px
    }
}

.news__inner .news__itemlist::-webkit-scrollbar {
    display: none
}

.news__inner .news__itemlist .news-item {
    flex-shrink: 0;
    width: 85.3333333333vw
}

@media (min-width:52.1875em) {
    .news__inner .news__itemlist .news-item {
        width: 28.0555555556vw
    }
}

@media (min-width:90em) {
    .news__inner .news__itemlist .news-item {
        width: 404px
    }
}

.news__inner .news__itemlist .news-item a {
    background-color: #fff;
    border-radius: 1.6vw;
    display: block;
    height: 100%;
    padding: 6.4vw
}

@media (min-width:52.1875em) {
    .news__inner .news__itemlist .news-item a {
        border-radius: .4166666667vw;
        padding: 2.7777777778vw;
        transition: opacity .3s
    }

    .news__inner .news__itemlist .news-item a:hover {
        opacity: .6
    }
}

@media (min-width:90em) {
    .news__inner .news__itemlist .news-item a {
        border-radius: 6px;
        padding: 40px
    }
}

.news__inner .news__itemlist .news-item a .news-item__info {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    margin-bottom: 2.6666666667vw
}

@media (min-width:52.1875em) {
    .news__inner .news__itemlist .news-item a .news-item__info {
        margin-bottom: 1.3888888889vw
    }
}

@media (min-width:90em) {
    .news__inner .news__itemlist .news-item a .news-item__info {
        margin-bottom: 20px
    }
}

.news__inner .news__itemlist .news-item a .news-item__info .news-item__date {
    color: #a9a9a9;
    font-family: futura-pt, sans-serif;
    font-size: 3.7333333333vw;
    font-weight: 500;
    padding-top: .5333333333vw;
    width: 26.6666666667vw
}

@media (min-width:52.1875em) {
    .news__inner .news__itemlist .news-item a .news-item__info .news-item__date {
        font-size: .9722222222vw;
        padding-top: .1388888889vw;
        width: 6.9444444444vw
    }
}

@media (min-width:90em) {
    .news__inner .news__itemlist .news-item a .news-item__info .news-item__date {
        font-size: 14px;
        padding-top: 2px;
        width: 100px
    }
}

.news__inner .news__itemlist .news-item a .news-item__info .news-item__cat {
    border: .2666666667vw solid #b80016;
    border-radius: .8vw;
    color: #b80016;
    font-size: 3.2vw;
    font-weight: 500;
    line-height: 1.7;
    padding: 0 2.9333333333vw
}

@media (min-width:52.1875em) {
    .news__inner .news__itemlist .news-item a .news-item__info .news-item__cat {
        border: .0694444444vw solid #b80016;
        border-radius: .2083333333vw;
        font-size: .8333333333vw;
        padding: 0 .7638888889vw
    }
}

@media (min-width:90em) {
    .news__inner .news__itemlist .news-item a .news-item__info .news-item__cat {
        border: 1px solid #b80016;
        border-radius: 3px;
        font-size: 12px;
        padding: 0 11px
    }
}

.news__inner .news__itemlist .news-item a .news-item__title {
    font-size: 3.7333333333vw;
    font-weight: 400;
    letter-spacing: .1em;
    line-height: 1.6
}

@media (min-width:52.1875em) {
    .news__inner .news__itemlist .news-item a .news-item__title {
        font-size: 1.25vw
    }
}

@media (min-width:90em) {
    .news__inner .news__itemlist .news-item a .news-item__title {
        font-size: 18px
    }
}

.news__inner .c-primary-link {
    margin-left: auto
}

@media (min-width:52.1875em) {
    .news__inner .c-primary-link {
        margin: 0
    }
}

.company {
    margin-bottom: 23.4666666667vw
}

@media (min-width:52.1875em) {
    .company {
        margin-bottom: 7.2222222222vw
    }
}

@media (min-width:90em) {
    .company {
        margin-bottom: 104px
    }
}

.company__inner {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 90.6666666667vw
}

@media (min-width:52.1875em) {
    .company__inner {
        align-items: center;
        flex-direction: row;
        gap: 5.2083333333vw;
        max-width: 83.3333333333vw
    }
}

@media (min-width:90em) {
    .company__inner {
        gap: 75px;
        max-width: 1200px
    }
}

.company__inner .company__imagearea {
    aspect-ratio: 657/505;
    flex-shrink: 0;
    margin: 10.1333333333vw calc(50% - 50vw) 0;
    overflow: hidden
}

@media (min-width:52.1875em) {
    .company__inner .company__imagearea {
        border-radius: 1.1111111111vw;
        margin: 0;
        width: 54.75%
    }
}

@media (min-width:90em) {
    .company__inner .company__imagearea {
        border-radius: 16px
    }
}

.company__inner .company__imagearea img {
    height: auto;
    width: 100%
}

.company__inner .company__textarea .company__text {
    font-size: 4.2666666667vw;
    font-weight: 300;
    letter-spacing: .06em;
    line-height: 2;
    margin: 6.4vw 0 8.5333333333vw
}

@media (min-width:52.1875em) {
    .company__inner .company__textarea .company__text {
        font-size: 1.1111111111vw;
        margin: 2.2222222222vw 0 5.5555555556vw
    }
}

@media (min-width:90em) {
    .company__inner .company__textarea .company__text {
        font-size: 16px;
        margin: 32px 0 80px
    }
}

.company__inner .company__textarea .c-primary-link {
    margin-left: auto
}