@charset "UTF-8";

/* ------------------------
テキスト
------------------------ */
.ir__linkTxt {
    word-break: break-all;
}


/* ------------------------
ナビ
------------------------ */
.ir__subNavi {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: flex-start;
    margin-bottom: 2em;

    & .link_block_more {
        margin: 0;
        text-align: left;
    }
}
.ir__subNavi-active a {
    background: linear-gradient(var(--color-txt), var(--color-txt)) 100% 100% / 0 1px no-repeat;
    background-position: 0 100%;
    background-size: 100% 1px;
}
@media (min-width: 768px), print {
    .ir__subNavi {
        flex-direction: row;
        gap: 35px;
    }
}


/* ------------------------
IRTOP
------------------------ */
.irTop__newsSec {
    & .g-button-container {
        margin-top: 20px;
    }
}
@media (min-width: 768px) {
    .irTop__newsSec {
        & .g-button-container {
            margin-top: 40px;
        }
    }
}

.irTop__cardSec_list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
}
.irTop__cardSec_list_ttl {
    background: var(--color-bg);
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 6px;
    padding: 10px 20px;
}
.irTop__cardSec_list_ttl_icon {
    width: 36px;
    height: 36px;
}
.irTop__cardSec_list_ttl_icon-faq {
    width: 41px;
}
.irTop__cardSec_list_ttl_txt {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
}
.irTop__cardSec_list_linkList {
    display: flex;
    flex-direction: column;
    margin: 0 8px;
}
.irTop__cardSec_list_linkList_item {
    border-bottom: 1px solid var(--color-border);
    color: var(--color-prim);
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-start;
    font-weight: 500;
    position: relative;
    overflow: hidden;
    min-height: 48px;
}
@media (min-width: 768px) {
    .irTop__cardSec_list {
        grid-template-columns: repeat(3, 3fr);
        gap: 60px;
    }
    .irTop__cardSec_list_ttl {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px 20px;
    }
    .irTop__cardSec_list_ttl_txt {
        font-size: 1.8rem;
    }
    .irTop__cardSec_list_linkList_item {
        font-size: 1.4rem;
        transition: all 0.2s;
        min-height: 50px;

        &::after {
            content: "";
            width: 100%;
            height: 1px;
            position: absolute;
            bottom: 0;
            left: 0;
            background: var(--color-prim);
            transform: scale(0, 1);
            transform-origin: left top;
            transition: transform 0.4s;
        }
        &:hover::after {
            transform: scale(1, 1);
        }
    }
}

.irTop__cardSec_btnlist {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    margin-top: 40px;

    & .un-news-grid__button {
        width: 100%;
    }
    & .g-button-container__item {
        width: 100%;
    }
}
@media (min-width: 768px) {
    .irTop__cardSec_btnlist {
        grid-template-columns: repeat(3, 3fr);
        gap: 60px;
        margin-top: 48px;
    }
}


/* ------------------------
株主・投資家の皆様へ
------------------------ */
.irMessage__img {
    margin: 0 auto 40px;
}
@media (min-width: 768px), print {
    .irMessage__img {
        width: 400px;
    }
}


/* ------------------------
株式情報
------------------------ */
.irStock__tbl {
    & tr {
        & td:first-child {
            width: 8em;
        }
    }
}
@media (min-width: 768px), print {
    .irStock__tbl {
        & tr {
            & td:first-child {
                width: 12em;
            }
        }
    }
}


/* ------------------------
IRカレンダー
------------------------ */
.irCalendar__img {
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin-bottom: 30px;

    & img {
        width: 100%;
    }
}
@media (min-width: 768px), print {
    .irCalendar__img {
        display: flex;
        flex-direction: row;
        gap: 2px;

        & img {
            width: calc((100% - 2px) / 2);
        }
    }
}


/* ------------------------
よくあるご質問
------------------------ */
.irFaq__list {
    & + & {
        margin-top: 50px;
    }
    & a {
        text-decoration: underline;
    }
}
.irFaq__list_q {
    padding-left: 3em;
    position: relative;

    &::before {
        border: 1px solid var(--color-prim);
        background: #fff;
        color: var(--color-prim);
        content: "Q";
        display: inline-block;
        font-weight: 600;
        position: absolute;
        left: 0;
        text-align: center;
        vertical-align: middle;
        width: 2em;
        height: 2em;
    }
}
.irFaq__list_a {
    margin-top: 1em;
    padding-left: 3em;
    position: relative;

    &::before {
        border: 1px solid var(--color-prim);
        background: var(--color-prim);
        color: #fff;
        content: "A";
        display: inline-block;
        font-weight: 600;
        position: absolute;
        left: 0;
        text-align: center;
        vertical-align: middle;
        width: 2em;
        height: 2em;
    }
}