@charset "utf-8";

/* ---------- 
共通パーツ用
----------*/
#alumni .btn-hover-grad.btn-hover-grad-gray {
    background: var(--color-D9D9D9);
    color: var(--color-text);
    border-radius: 43px;
    line-height: calc(22.5/15);
}

#alumni .btn-hover-grad.btn-hover-grad-gray:after
 {
    border-top: 1px solid var(--color-text);
    border-right: 1px solid var(--color-text);
}

@media screen and (min-width: 701px) {
    #alumni .btn-hover-grad.btn-hover-grad-gray:hover{
        background: linear-gradient(to right, var(--color-link_009BDA) , var(--color-link_083C71));
        color: var(--color-text-sub);
    }

    #alumni .btn-hover-grad.btn-hover-grad-gray:hover:after{
        border-top: 1px solid var(--color-text-sub);
        border-right: 1px solid var(--color-text-sub);
    }
}

.careers-page .page-title-b{
   text-wrap: initial;
}

#alumni .common-title-b.blue-title{
    margin-top: 60px;
}

.careers-page ul.list-dot li{
    font-size: clamp(16px, 1.14vw, calc(16px * var(--ratio)));
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: calc(38/16);
}

.careers-page ul.list-dot li::before{
    width: 0.5em;
    height: 0.5em;
    top: 1em;
}

.careers-page ul.list-dot li > ul li{
    font-weight: 400;
}

.blue-text{
    color: var(--color-corp);
}

@media screen and (max-width: 700px) {
    #alumni .common-title-b.blue-title{
        margin-top: 30px;
    }

    .careers-page ul.list-dot li > ul{
        margin-top: 5px;
        margin-bottom: 10px;
    }

    .careers-page ul.list-dot{
        margin: 0;
    }

    .careers-page ul.list-dot li{
        font-size: calc(15px / var(--fs-base) * 1rem);
        line-height: calc(30/15);
    }

    .careers-page ul.list-dot li::before{
        top: 0.8em;
    }
}

/* ---------- 
alumni-section
----------*/
.alumni-section{
    background: url(../../../images/careers/work/alumni/alumni-bg.jpg) no-repeat;
    background-size: cover;
    padding: 80px 0;
}

.alumni-section .alumni-wrap{
    background-color: rgba(255, 255, 255, 0.9);
    padding: 60px;
}

.alumni-section .alumni-title{
    font-size: clamp(32px, 2.28vw, calc(32px * var(--ratio)));
    font-weight: 500;
    line-height: calc(60/32);
    text-align: center;
    letter-spacing: 0.05em;
    color: var(--color-corp);
    margin-bottom: 30px;
}

.alumni-lead-text{
    margin-bottom: 30px;
}

.alumni-lead-text p{ 
    font-size: clamp(16px, 1.14vw, calc(16px * var(--ratio)));
    font-weight: 400;
    line-height: calc(34/16);
    letter-spacing: 0.05em;
    color: var(--color-text);
    margin-bottom: 2.125em;
}

.alumni-lead-text p:last-child{
    margin-bottom: 0;
}

.alumni-section .btn-wrap{
    margin-bottom: 60px;
}


@media screen and (max-width: 700px) {
    .alumni-section{
        background-position: center;
        padding: 30px 20px;
    }

    .alumni-section .alumni-wrap{
        padding: 30px;
    }

    .alumni-section .alumni-title{
        font-size: calc(20px / var(--fs-base) * 1rem);
        line-height: calc(37.5/20);
    }

    .alumni-lead-text p{
        font-size: calc(15px / var(--fs-base) * 1rem);
        line-height: calc(30/15);
    }

    .alumni-section .btn-wrap{
        margin-bottom: 30px;
    }
}

/* ---------- 
alumni-awards-section
----------*/
.alumni-awards-section{
    margin-bottom: 80px;
}

.alumni-item ul li{
    font-size: clamp(16px, 1.14vw, calc(16px * var(--ratio)));
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: calc(34/16);
}

@media screen and (max-width: 700px) {
    .alumni-awards-section{
        margin-bottom: 60px;
    }

    .alumni-item ul li{
        font-size: calc(15px / var(--fs-base) * 1rem);
        line-height: calc(30/15);
    }
}

/* ---------- 
alumni-awards
----------*/
.alumni-awards-content{
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

.alumni-awards .alumni-icon{
    width: clamp(118px, 8.45vw, calc(118px * var(--ratio)));
    margin-top: -40px;
}

@media screen and (max-width: 700px) {
    .alumni-awards-content{
        flex-direction: column;
        gap: 30px;
    }

    .alumni-awards .alumni-icon{
        margin-top: 0;
        margin: 0 auto;
    }
}

/* ---------- 
alumni-interview-section
----------*/
.alumni-interview{
    margin-top: 60px;
}

/* ---------- 
interview-swiper_スライダーあり
----------*/
.interview-swiper {
    margin-bottom: 60px;
    overflow: hidden;
}

.interview-swiper .swiper-wrapper {
    align-items: stretch;
}

.activities-section .interview-swiper .swiper-slide{
    width: 326px;
}

.interview-item {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    cursor: pointer;
    width: clamp(326px, 23.286vw, calc(326px * var(--ratio)));
}

.interview-swiper-img {
    display: block;
    width: 100%;
    aspect-ratio: 326 / 245;
    overflow: hidden;
}

.interview-swiper-img img {     
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: center;
}

.interview-item:hover .interview-swiper-img img{
    filter:  brightness(0.85);
}

.interview-swiper-content {
    height: clamp(240px, 17.143vw, calc(240px * var(--ratio)));
    width: 100%;
    padding: 30px;
    padding-top: clamp(30px, 2.143vw, calc(30px * var(--ratio)));
    background: var(--color-sub);
    box-sizing: border-box;
}

.interview-swiper-title {
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    text-overflow: clip;
    overflow: hidden;
}

.interview-swiper-title a{
    font-size: clamp(16px, 1.143vw, calc(16px * var(--ratio)));
    line-height: calc(30/16);
    font-weight: 500;
    color: var(--color-text);
    background-image: linear-gradient(var(--color-text), var(--color-text));
}

.interview-swiper-link-wrap {
    display: block;
    font-size: clamp(12px, 0.86vw, calc(12px * var(--ratio)));
    line-height: 1.83;
    max-height: calc(1em * 1.83 * 3);
    overflow: hidden;
    text-overflow: clip;
}

.interview-swiper-link-wrap a:not(:last-child) {
    margin-right: 10px;
}

.interview-swiper-link-wrap .link-hover-line {
    line-height: 1.83;
}



/* PC時は下線アニメーションを表示 */
@media screen and (min-width: 700px) {
    .interview-item:hover .interview-swiper-img{
        filter:  brightness(0.85);
    }

    .interview-item:hover .interview-swiper-title .link-text {
        background-size: 100% 1px;
    }
}

@media screen and (max-width: 700px) {
    .interview-swiper {
        margin-bottom: 30px;
    }

    .interview-item .interview-swiper-title{
        font-size: calc(16px / var(--fs-base) * 1rem);
    }

    .interview-swiper-link-wrap a:not(:last-child) {
        margin-right: 5px;
    }
}


/* ナビゲーション */
.project-swiper-pagination {
    position: relative;
    padding: 16px 0;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

.project-swiper-button-next,
.project-swiper-button-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 32px;
    height: 32px;
    border: 1px solid var(--color-text);
    border-radius: 50%;
    z-index: 10;
    cursor: pointer;
}

.project-swiper-button-next {
    left: calc(50% + 52px)
}

.project-swiper-button-prev {
    left: calc(50% - 52px)
}

.project-swiper-button-next:before,
.project-swiper-button-prev:before {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    width: 8px;
    height: 8px;
    transform: rotate(45deg) translate(-50%);
}

.project-swiper-button-next:before {
    border-top: 1px solid var(--color-text);
    border-right: 1px solid var(--color-text);
    right: calc(50% - 4px);
}

.project-swiper-button-prev:before {
    border-bottom: 1px solid var(--color-text);
    border-left: 1px solid var(--color-text);
    left: 50%;
}

/* 一時停止/再生ボタン */
.project-swiper-pause-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 32px;
    height: 32px;
    border: 1px solid var(--color-text);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    z-index: 10;
    padding: 0;
}

/* 一時停止アイコン（デフォルト） */
.project-swiper-pause-button:before,
.project-swiper-pause-button:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 8px;
    background: var(--color-text);
}

.project-swiper-pause-button:before {
    left: calc(50% - 3px);
}

.project-swiper-pause-button:after {
    left: calc(50% + 2px);
}

/* 再生アイコン（一時停止状態） */
.project-swiper-pause-button.paused:before,
.project-swiper-pause-button.paused:after {
    width: 0;
    height: 0;
    background: transparent;
    border-style: solid;
}

/*三角アイコン*/
.project-swiper-pause-button.paused:before {
    left: calc(50% - 2px);
    border-width: 5px 0 5px 7px;
    border-color: transparent transparent transparent var(--color-text);
}

.project-swiper-pause-button.paused:after {
    display: none;
}

#support_case .btn-wrap{
    margin-bottom: 80px;
}

@media screen and (max-width: 1101px) {
    /* 固定サイズでトリミング表示を維持 */
    .project-img img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}

@media screen and (min-width: 701px) {
    .project-swiper-button-next:hover,
    .project-swiper-button-prev:hover,
    .project-swiper-pause-button:hover {
        background: var(--color-text);
    }
    .project-swiper-button-next:hover:before {
        border-top: 1px solid var(--color-text-sub);
        border-right: 1px solid var(--color-text-sub);
    }
    .project-swiper-button-prev:hover:before {
        border-bottom: 1px solid var(--color-text-sub);
        border-left: 1px solid var(--color-text-sub);
    }
    .project-swiper-pause-button:hover:before,
    .project-swiper-pause-button:hover:after {
        background: var(--color-text-sub);
        /* border-color: transparent transparent transparent var(--color-text-sub); */
        /* border: 1px solid var(--color-text-sub); */
    }
    .project-swiper-pause-button.paused:hover:before {
        background: var(--color-text);
        border-color: transparent transparent transparent var(--color-text-sub);
    }
}

@media screen and (max-width: 700px) {
    .project-swiper-button-next,
    .project-swiper-button-prev {
        transform: translateY(-50%);
    }
    .project-swiper-button-next {
        right: calc(50% - 62px);
        left: auto;
    }
    .project-swiper-button-prev {
        left: calc(50% - 62px);
    }
}


/* ---------- 
btn-wrap
----------*/
.btn-wrap{
    margin-bottom: 80px;
}

@media screen and (max-width: 700px) {
    .btn-wrap{
        margin-bottom: 60px;
    }
}