@charset "UTF-8";


/* ------------------------------------------
ナビ
------------------------------------------ */
.ir__secCon {
    & .c-anchor a[target="_blank"] {
        &::after {
            background-image: url(/app/themes/systemexe-theme/assets/img/common/icon_blank.svg);
        }
    }
    & .c-anchor a:not([target="_blank"]) {
        &::after {
            transform: rotate(-90deg);
        }
    }
}


/* ------------------------------------------
見出し
------------------------------------------ */
.ir__ttlH3 {
    padding-bottom: clamp(0.75rem, 0.485915493rem + 1.1267605634vw, 1.5rem);
    margin-top: clamp(2.8125rem, 2.4823943662rem + 1.4084507042vw, 3.75rem);
    margin-bottom: clamp(1.125rem, 0.9929577465rem + 0.5633802817vw, 1.5rem);
    font-size: clamp(1.25rem, 1.161971831rem + 0.3755868545vw, 1.5rem);
    font-weight: 700;
    line-height: 135%;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #d2005a;
}


/* ------------------------------------------
テキスト
------------------------------------------ */
.ir__secCon {
    & p {
        font-size: clamp(0.875rem, 0.8309859155rem + 0.1877934272vw, 1rem);
        font-style: normal;
        font-weight: 500;
        line-height: 170%;
        letter-spacing: 0.04em;
    }
}


/* ------------------------------------------
テキストリンク
------------------------------------------ */
.ir__txtLink {
    text-decoration: none;
    word-break: break-all;

    &:hover {
        text-decoration: underline;
    }
}
.ir__txtLink[target="_blank"] {
    &::after {
        display: inline-block;
        width: 18px;
        height: 18px;
        content: '';
        background-image: url(/app/themes/systemexe-theme/assets/img/common/icon_blank.svg);
        background-repeat: no-repeat;
        background-size: contain;
    }
}


/* ------------------------------------------
リスト
------------------------------------------ */
.ir__list {
    font-size: clamp(0.875rem, 0.8309859155rem + 0.1877934272vw, 1rem);
        font-style: normal;
        font-weight: 500;
        line-height: 170%;
        letter-spacing: 0.04em;
}


/* ------------------------------------------
IRTOP
------------------------------------------ */
.irTop__cardBox {
    display: flex;
}
.irTop__cardBox_img {
    flex-shrink: 0;
    width: 40%;
    height: 288px;

    & img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
}
.irTop__cardBox_main {
    background: #F6F6F5;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    gap: 25px;
    padding: 20px 58px;
}
.irTop__cardBox_ttl {
    display: flex;
    flex-direction: column;
    font-weight: 700;
    gap: 20px;
    line-height: 1;
}
.irTop__cardBox_ttl-en {
    font-family: Inter, sans-serif;
    font-size: clamp(1.75rem, 1.485915493rem + 1.1267605634vw, 2.25rem);
}
.irTop__cardBox_ttl-ja {
    font-size: 18px;
    font-size: clamp(0.875rem, 0.786971831rem + 0.3755868545vw, 1.125rem);
}
@media screen and (width <= 768px) {
    .irTop__cardBox {
        flex-direction: column;
    }
    .irTop__cardBox_img {
        width: 100%;
        height: auto;
    }
    .irTop__cardBox_main {
        padding: 24px;
    }
}


.irTop__newsSec {
    margin-top: 142px;
}
.irTop__newsBox {
    display: grid;
    grid-template-columns: 253px 1fr;
    gap: 64px;
    margin-bottom: 30px;
}
@media screen and (width >= 767px) {
    .irTop__newsBox {
        & .c-title {
            padding-top: 20px;
        }
        & .c-title__main {
            letter-spacing: 0;
        }
    }
}
@media screen and (width <= 768px) {
    .irTop__newsSec {
        margin-top: 120px;
    }
    .irTop__newsBox {
        display: block;
    }
}


.irTop__columnSec {
    margin-top: 100px;
}
.irTop__columnSec_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(2.25rem, 2.1179577465rem + 0.5633802817vw, 2.625rem);
    align-items: stretch;
    justify-content: space-between;
}
.irTop__columnSec_img {
    aspect-ratio: 3 / 1.75;
    margin-bottom: clamp(0.5rem, 0.323943662rem + 0.7511737089vw, 1rem);
    overflow: hidden;
    border-radius: 12px;

    & img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}
.irTop__columnSec_ttl {
    padding-bottom: 16px;
    margin-bottom: 16px;
    font-size: 22px;
    font-weight: 500;
    line-height: 150%;
    text-align: center;
    border-bottom: 1px solid #dfdfdf;
}
.irTop__columnSec_linkList {
    display: inline-flex;
    flex-direction: column;
    gap: 10px;
}
.irTop__columnSec_linkList_btn {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: clamp(0.875rem, 0.8309859155rem + 0.1877934272vw, 1rem);
    font-weight: 500;
    line-height: 170%;
    letter-spacing: 0.04em;
}
.irTop__columnSec_linkList_btn_icon {
    display: block;
    width: 26px;
    height: 26px;
    aspect-ratio: 1 / 1;
    background: #F6F6F5;
    border-radius: 50%;
    position: relative;
    transition: color 0.3s ease, background-color 0.3s ease;

    &::after {
        background-image: url(/app/themes/systemexe-theme/assets/img/common/icon_arrow_pink.svg);
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 8px;
        transform: translateY(-50%);
        width: 8px;
        height: 9.333px;
    }
}
.irTop__columnSec_linkList_btn[target="_blank"] {
    position: relative;

    & .irTop__columnSec_linkList_btn_icon {
        &::after {
            display: none;
        }
        &::before {
            display: inline-block;
            width: 12px;
            height: 12px;
            content: "";
            background-image: url(/app/themes/systemexe-theme/assets/img/ir/icon_blank_pink.svg);
            background-repeat: no-repeat;
            background-size: contain;
            position: absolute;
            top: calc(50% - 1px);
            transform: translateY(-50%);
            right: 6px;
        }
    }
}
@media (hover: hover) {
    .irTop__columnSec_linkList_btn:hover {
        & .irTop__columnSec_linkList_btn_icon {
            background: #d2005a;

            &::after {
                background-image: url(/app/themes/systemexe-theme/assets/img/common/icon_arrow_white.svg);
            }
            &::before {
                background-image: url(/app/themes/systemexe-theme/assets/img/ir/icon_blank_white.svg);
            }
        }
    }
}
@media screen and (width <= 768px) {
    .irTop__columnSec {
        margin-top: 120px;
    }
    .irTop__columnSec_list {
        grid-template-columns: repeat(1, 1fr);
    }
}


.irTop__highlightSec {
    margin-top: 90px;
}
@media screen and (width <= 768px) {
    .irTop__highlightSec {
        margin-top: 120px;
    }
}


.irTop__btmLinkSec {
    margin-top: 125px;
    padding: clamp(3.75rem, 3.0897887324rem + 2.8169014085vw, 5.625rem) 0;
    margin-bottom: clamp(3.75rem, 2.4295774648rem + 5.6338028169vw, 6.5rem);
    border-top: 1px solid #dfdfdf;
    border-bottom: 1px solid #dfdfdf;
}
.irTop__btmLink_list {
    border-left: 1px solid #D3D3D3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
}
.irTop__btmLink_list_item {
    border-right: 1px solid #D3D3D3;
    width: 100%;

    & a  {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        font-size: clamp(0.875rem, 0.786971831rem + 0.3755868545vw, 1.125rem);
        font-weight: 500;
        padding: 4px 0;
    }
}
@media screen and (width <= 768px) {
    .irTop__btmLinkSec {
        margin-top: clamp(3.75rem, 2.4295774648rem + 5.6338028169vw, 7.5rem);
        padding-top: clamp(2.8125rem, 2.0422535211rem + 3.2863849765vw, 5rem);
    }
    .irTop__btmLink_list {
        border: none;
        flex-direction: column;
    }
    .irTop__btmLink_list_item {
        border-right: none;
        border-bottom: 1px solid #D3D3D3;
        padding: 15px 0;

        & a {
            justify-content: flex-start;
            padding: 15px 0;
        }
    }
}


/* ------------------------------------------
株主・投資家の皆様へ
------------------------------------------ */
.irMessage__wrap {
    display: grid;
    grid-template-columns: 57.1428571429% 1fr;
    gap: clamp(1.875rem, -0.1056338028rem + 8.4507042254vw, 7.5rem);
    align-items: flex-start;
    justify-content: space-between;
}
.irMessage__txt {
    & p {
        margin-bottom: clamp(1.125rem, 0.8169014085rem + 1.3145539906vw, 2rem);
        font-size: clamp(0.875rem, 0.8309859155rem + 0.1877934272vw, 1rem);
        font-weight: 500;
        line-height: 180%;
        letter-spacing: 0.0355555556em;
    }
}
.irMessage__txt_name {
    display: block;
    font-size: clamp(0.75rem, 0.7059859155rem + 0.1877934272vw, 0.875rem);
    font-weight: 500;
    line-height: 100%;
    text-align: right;
    letter-spacing: 0.04em;

    & span {
        margin-left: 15px;
        font-size: clamp(1.125rem, 1.0809859155rem + 0.1877934272vw, 1.25rem);
        font-weight: 500;
        line-height: 100%;
        letter-spacing: 0.04em;
    }
}
.irMessage__img {
    & img {
        display: block;
        width: 100%;
    }
}
@media screen and (width <= 768px) {
    .irMessage__wrap {
        grid-template-columns: repeat(1, 1fr);
    }
    .irMessage__img {
        width: min(100%, 240px);
        margin: 0 auto;
    }
}


/* ------------------------------------------
IRカレンダー
------------------------------------------ */
.irCalendar__img {
    display: flex;
    gap: 3px;
    justify-content: space-between;
    margin-bottom: clamp(1.875rem, 1.2147887324rem + 2.8169014085vw, 3.75rem);

    & img {
        width: calc((100% - 3px) / 2);
        max-width: 100%;
    }
}
@media screen and (width <= 768px) {
    .irCalendar__img {
        flex-direction: column;
        gap: 1rem;

        & img {
            width: 100%;
        }
    }
}


/* ------------------------------------------
よくあるご質問
------------------------------------------ */
.irFaq__list {
    & + & {
        margin-top: clamp(2.8125rem, 2.4823943662rem + 1.4084507042vw, 3.75rem);
    }
}
.irFaq__list_q {
    color: #d2005a;
    font-size: clamp(0.9375rem, 0.8934859155rem + 0.1877934272vw, 1.0625rem);
    font-weight: 700;
    padding-left: 2.5rem;
    position: relative;
    margin-bottom: 1rem;

    &::before {
        background: #d2005a;
        border-radius: 8px;
        content: "Q";
        color: #fff;
        line-height: 1.8;
        position: absolute;
        text-align: center;
        left: 0;
        width: 2rem;
        height: 2rem;
    }
}
.irFaq__list_a {
    padding-left: 2.5rem;
    position: relative;
    font-size: clamp(0.875rem, 0.8309859155rem + 0.1877934272vw, 1rem);
    font-style: normal;
    font-weight: 500;
    line-height: 170%;
    letter-spacing: 0.04em;

    &::before {
        background: #094b80;
        border-radius: 8px;
        content: "A";
        color: #fff;
        font-size: clamp(0.9375rem, 0.8934859155rem + 0.1877934272vw, 1.0625rem);
        font-weight: 700;
        line-height: 1.8;
        position: absolute;
        text-align: center;
        left: 0;
        top: -0.15rem;
        width: 2rem;
        height: 2rem;
    }
}