@charset "utf-8";

/* ---------- 
kv
----------*/
.kv {
    margin-bottom: 80px;
}
@media screen and (max-width: 700px) {
    .kv {
        margin-bottom: 60px;
    }
}


/* ---------- 
section
----------*/
section {
    margin-bottom: 80px;
}
section .sec-text {
    margin-bottom: 40px;
    font-size: clamp(16px, 1.14vw, calc(16px * var(--ratio)));
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2.125;
}
@media screen and (max-width: 700px) {
    section {
        margin-bottom: 60px;
    }
    section .sec-text {
        margin-bottom: 30px;
        font-size: calc(15px / var(--fs-base) * 1rem);
    }
}


/* ---------- 
talent-content
----------*/
.talent-content .talent-list-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.talent-content .talent-list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 1px;
    width: 720px;
}
.talent-content .talent-list dt {
    position: relative;
    display: flex;
    align-items: center;
    width: 36.9%;
    padding-left: 40px;
    min-height: 119px;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(20px, 1.42vw, calc(20px * var(--ratio)));
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.9;
    color: var(--color-text-sub);
    background: var(--color-corp);
}
.talent-content .talent-list dt::after {
    content: "";
    position: absolute;
    top: 0;
    right: -30px;
    width: 30px;
    height: 100%;
    background: var(--color-corp);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.talent-content .talent-list.list02 dt,
.talent-content .talent-list.list02 dt::after {
    background-color: #2473B4;
}
.talent-content .talent-list dd {
    display: flex;
    align-items: center;
    width: 63.1%;
    padding-left: 50px;
    padding-right: 20px;
    font-size: clamp(16px, 1.14vw, calc(16px * var(--ratio)));
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2.125;
    color: var(--color-text-sub);
    background: #254796;
}
.talent-content .talent-list dd ul li {
    position: relative;
    margin-left: 20px;
}
.talent-content .talent-list dd ul li:before {
    content: "";
    position: absolute;
    display: inline-block;
    top: 0.85em;
    left: -20px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-text-sub);
}
.talent-content .talent-list.list02 dd {
    background: #2A7EC3;
}
.talent-content .plus {
    position: relative;
    margin: 10px 0;
    width: 30px;
    height: 30px;
}
.talent-content .plus::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 1px;
    background: var(--color-corp);
}
.talent-content .plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 100%;
    background: var(--color-corp);
}
.talent-content .img {
    margin-bottom: 40px;
}
.talent-content .img img {
    margin: 0 auto;
}
.talent-content .list-dot li {
    font-size: clamp(15px, 1.07vw, calc(15px * var(--ratio)));
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2;
}
@media screen and (max-width: 700px) {
    .talent-content .talent-list {
        width: 100%;
    }
    .talent-content .talent-list dt {
        padding-left: 20px;
        min-height: 164px;
        font-size: calc(16px / var(--fs-base) * 1rem);
        line-height: 1.68;
    }
    .talent-content .talent-list dd {
        padding-left: 50px;
        padding-right: 20px;
        font-size: calc(14px / var(--fs-base) * 1rem);
        line-height: 2;
    }
    .talent-content .img {
        margin-bottom: 30px;
        padding-bottom: 10px;
        overflow-x: auto;
    }
    .talent-content .img::-webkit-scrollbar {
        height: 15px;
    }
    .talent-content .img::-webkit-scrollbar-thumb {
        background: var(--color-707070);
        border-radius: 8px; 
    }
    .talent-content .img img {
        max-width: none;
        height: 100%;
    }
    .talent-content .list-dot li {
        font-size: calc(15px / var(--fs-base) * 1rem);
    }
}


/* ---------- 
btn-wrap
----------*/
.btn-wrap{
    margin-bottom: 80px;
}
@media screen and (max-width: 700px) {
    .btn-wrap{
        margin-bottom: 60px;
    }
}