@charset "UTF-8";

/* ------------------------------
wrap
------------------------------ */
.ir__mainWrap {
    background-color: #fff;
    margin: 0 auto 100px;
    max-width: 800px;
    padding: 30px 40px 50px;
    width: 100%;
}
.ir__secWrap {
    & + & {
        margin-top: 50px;
    }
}
@media screen and (max-width: 767px) {
    .ir__mainWrap {
        padding: 30px 20px 50px;
        margin: 0 auto 50px;
    }
    .ir__secWrap {
        & + & {
            margin-top: 60px;
        }
    }
}


/* ------------------------------
title
------------------------------ */
.ir__ttlH2_wrap {
    margin-bottom: 30px;
    text-align: center;
}
.ir__ttlH2 {
    display: inline-block;
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 12px;
    position: relative;

    text-decoration: underline;
    text-decoration-color: #fff000;
    text-decoration-thickness: 3px;
    text-underline-offset: 8px;
}
@media screen and (max-width: 767px) {
    .ir__ttlH2 {
        font-size: 24px;
        letter-spacing: 10px;
        line-height: 1.917;
    }
}


/* ------------------------------
text
------------------------------ */
.ir__txt {
    font-size: 18px;
    letter-spacing: 3px;
    line-height: 2.2;
    text-align: justify;
    margin-bottom: 0 !important;

    & + & {
        margin-top: 20px;
    }
}
a.ir__txtLink {
    color: #6b6a6a !important;
    text-decoration: underline !important;
    word-break: break-all;

    &[target="_blank"] {
        &::after {
            content: url(/ir/img/blank.svg);
            margin: 0 5px;
        }
    }
}
@media screen and (max-width: 767px) {
    .ir__txt {
        font-size: 14px;
    }
}


/* ------------------------------
link button
------------------------------ */
.ir__linkBtn {
    & a {
        border: 1px solid #000;
        border-radius: 20px;
        display: inline-block;
        font-size: 14px;
        line-height: 1;
        margin: 0 auto;
        padding: 13px 42px 13px 40px;
        position: relative;
        text-align: center;
        transition-duration: .3s;
        min-width: 125px;

        &::after {
            content: "";
            background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAjCAYAAAB2KjFhAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA9klEQVRIia3WTQrCMBCG4de4VLAILXZtN670CD2KN9EjeARvot5A9+4Fd56gMljFv7aZTAYCSRZPviQQQlVVTCfpejpJE+lbmivybAOsgH2RZwmGcsAWuAFzK+jOl+sRKGOAkoxYoHt2YoDufWAF3feEBfzBLOBfLBRsxELAVkwLdmIa0AvzBb0xH1CFdYE9eYdCqsizhUDACDjJAsEYD1AS7urhwZIsqZPN6y2X6jNrguQs1VgThPY22yAV1gV5Yz6QF+YLdWIaqBXTQo1YCPQXC4V+MAv0gVmhFxYDkurJvywG9Ewm/zMzJNUfDweSagYsLRDAHUgv9fAHX5pUAAAAAElFTkSuQmCC) no-repeat center / cover;
            display: block;
            position: absolute;
            right: 18px;
            top: 50%;
            transform: translateY(-50%);
            width: 10px;
            height: 18.41px;
        }
        &:hover {
            background-color: #fff000;
        }
    }
}


/* ------------------------------
table
------------------------------ */
.ir__tbl,
.ir__tbl_th,
.ir__tbl_td {
    border: none;
}
.ir__tbl {
    border-top: 1px solid #000;
}
.ir__tbl_th,
.ir__tbl_td {
    border-bottom: 1px solid #000;
    font-size: 14px;
    letter-spacing: 3px;
    padding: 20px 0;
    text-align: left;
}
.ir__tbl_th {
    background: none;
    width: 25%;
}
.ir__tbl_td {
    width: 75%;
}
@media screen and (max-width: 767px) {
    .ir__tbl,
    .ir__tbl tr,
    .ir__tbl_th,
    .ir__tbl_td {
        display: block;
    }
    .ir__tbl {
        overflow: inherit;
        white-space: wrap;
    }
    .ir__tbl tr {
        border-bottom: 1px solid #000;
        padding: 20px 0;
    }
    .ir__tbl_th,
    .ir__tbl_td {
        border: none;
        font-size: 14px;
        letter-spacing: 3px;
        padding: 0;
        width: 100%;
    }
    .ir__tbl_th {
        margin-bottom: 10px;
    }
}


/* ------------------------------
navi
------------------------------ */
.inner:has(.ir__localNav) {
    flex-wrap: wrap;
}
.ir__localNav {
    margin: 0 auto 30px;
    max-width: 800px;
    width: 100%;
}
.ir__localNav_list {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    list-style: none;
    padding: 0 !important;
}
.ir__localNav_list_item {
    width: 100%;

    & a {
        background: #fff;
        border: 1px solid #000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px 10px;
        text-align: center;
        transition-duration: .3s;
        width: 100%;
        height: 100%;

        &[target="_blank"] {
            & span::after {
                content: url(/ir/img/blank.svg);
                margin-left: 10px;
            }
        }
    }
}
.ir__localNav_list_item a:hover,
.ir__localNav_list_item-active a {
    background: #ffeb3b;
}
@media screen and (max-width: 767px) {
    .ir__localNav {
        padding-right: 25px;
    }
    .ir__localNav_list {
        flex-direction: column;
        gap: 10px;
    }
}

/* ------------------------------
IRTOP
------------------------------ */
main:has(.irTop__newsSec) {
    margin-top: 47px;
}
@media screen and (max-width: 767px) {
    main:has(.irTop__newsSec) {
        margin-top: 0;
    }
}

.irTop__newsSec {
    & .bg {
        overflow: hidden !important;
        position: relative;
    }
    & .inner {
        position: relative;
        z-index: 1;
    }
    & .ir__mainWrap {
        margin-bottom: 0;
        padding: 58px 50px 80px;
    }
    & .ir__ttlH2_wrap {
        margin-bottom: 52px;
    }
    & .ir__ttlH2 {
        font-size: 36px;
    }
    & .ir__linkBtn {
        margin-top: 32px;
        text-align: center;
    }
}
.irTop__newsSec_bg {
    background-image: url(/ir/img/index/bg_01.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100%;
    background-size: cover;
    left: 0;
    padding-bottom: 137%;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
}
@media screen and (max-width: 767px) {
    .irTop__newsSec {
        & .inner {
            padding-top: 0;
            padding-bottom: 0;
        }
        & .ir__mainWrap {
            padding: 30px 20px 50px;
        }
        & .ir__ttlH2_wrap {
            margin-bottom: 50px;
        }
        & .ir__ttlH2 {
            font-size: 28px;
            letter-spacing: 10px;
        }
        & .ir__linkBtn {
            margin-top: 30px;
        }
    }
    .irTop__newsSec_bg {
        background-image: url(/ir/img/index/bg_01-sp.png);
        padding-bottom: 167%;
    }
}


.irTop__linkSec {
    margin: 0 auto 50px;
    max-width: 1080px;
    width: 100%;
}
.irTop__linkSec_panelLink {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 20px;
    list-style: none;
    padding: 0 !important;
    width: 100%;
}
.irTop__linkSec_panelLink_item {
    background: #FFFFFF;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 20px 20px 8px;
    width: calc((100% - (20px * 2)) / 3);

    & .ir__ttlH2_wrap {
        margin-bottom: 24px;
    }
    & .ir__ttlH2 {
        font-size: 24px;
        letter-spacing: 8px;
    }
}
.irTop__linkSec_panelLink_icon {
    max-width: 100%;
    width: 128px;

    & img {
        vertical-align: bottom;
        width: 100%;
    }
}
.irTop__linkSec_panelLink_list {
    list-style: none;
    padding: 0 !important;
    width: 100%;
}
.irTop__linkSec_panelLink_list_item {
    & + & {
        border-top: 1px solid #000;
    }
    & a {
        display: block;
        font-size: 17px;
        letter-spacing: 4px;
        padding: 10px 28px 18px 0;
        position: relative;
        transition: .3s;
        width: 100%;

        &:hover {
            opacity: .5;
        }
        &::after {
            content: url(/ir/img/arrow_blue.svg);
            display: block;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
        }
        &[target="_blank"]::after {
            content: url(/ir/img/blank.svg);
        }
    }
}
.irTop__linkSec_btnlLink {
    background: #FFF;
    display: flex;
    justify-content: center;
    gap: 24px;
    list-style: none;
    margin-top: 24px;
    padding: 32px !important;
}
.irTop__linkSec_btnlLink_item {
    width: 284px;

    & a {
        background: #FFF;
        border: 1px solid #000;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 17px;
        letter-spacing: 4px;
        padding: 15px 50px;
        position: relative;
        text-align: center;
        transition: .3s;
        width: 100%;
        height: 100%;

        &::after {
            background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNi4zNSAzNi4zNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMyMzE4MTU7c3Ryb2tlOiMyMzE4MTU7fS5jbHMtMSwuY2xzLTJ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fS5jbHMtMntmaWxsOm5vbmU7c3Ryb2tlOiNmZmY7fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9Iue3qOmbhuODouODvOODiSI+PGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIxOC4xOCIgY3k9IjE4LjE4IiByPSIxNy42OCIvPjxwb2x5bGluZSBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMTUuMDUgOS45MiAyMy4zIDE4LjE4IDE1LjA1IDI2LjQzIi8+PC9nPjwvZz48L3N2Zz4=) no-repeat center / cover;
            content: "";
            display: block;
            position: absolute;
            right: 10px;
            top: 50%;
            transform: translateY(-50%);
            width: 34px;
            height: 34px;
        }
        &:hover {
            background: #fff000;
        }
    }
}
@media screen and (max-width: 767px) {
    .irTop__linkSec {
        margin-bottom: 0;
        padding-left: 25px;
    }
    .irTop__linkSec_panelLink_item {
        width: 100%;
    }
    .irTop__linkSec_panelLink_icon {
        width: 90px;
    }
    .irTop__linkSec_panelLink_list_item {
        & a {
            font-size: 14px;
            letter-spacing: 3px;
            padding: 14px 28px 14px 0;
        }
    }
    .irTop__linkSec_btnlLink {
        flex-direction: column;
        padding: 30px 20px !important;
    }
    .irTop__linkSec_btnlLink_item {
        width: 100%;

        & a {
            font-size: 14px;
            letter-spacing: 3px;
            padding: 15px 40px;

            &::after {
                width: 25px;
                height: 25px;
            }
        }
    }
}


/* ------------------------------
コーポレート・ガバナンス
------------------------------ */
.irGovernance__img {
    margin-top: 30px;
}


/* ------------------------------
IRカレンダー
------------------------------ */
.irCalendar__img {
    display: flex;
    justify-content: center;
    gap: 2px;
    margin-bottom: 50px;
    width: 100%;

    & img {
        max-width: 100%;
        width: calc((100% - 2px) / 2);
    }
}
@media screen and (max-width: 767px) {
    .irCalendar__img {
        flex-direction: column;
        gap: 15px;

        & img {
            width: 100%;
        }
    }
}


/* ------------------------------
よくあるご質問
------------------------------ */
.irFaq__list {
    & + & {
        border-top: 1px solid #000;
        margin-top: 50px;
        padding-top: 50px;
    }
}
.irFaq__list_q,
.irFaq__list_a {
    padding-left: 35px;
    position: relative;
    text-align: left;

    &::before {
        display: block;
        font-size: 24px;
        letter-spacing: 5px;
        line-height: 1.6;
        position: absolute;
        left: 0;
    }
}
.irFaq__list_q {
    font-size: 24px;
    letter-spacing: 5px;
    line-height: 1.6;

    &::before {
        content: "Q.";
        top: 0;
    }
}
.irFaq__list_a {
    font-size: 14px;
    letter-spacing: 3px;
    line-height: 1.8;
    margin-top: 10px;

    &::before {
        content: "A.";
        top: -0.55rem;
    }
}
@media screen and (max-width: 767px) {
    .irFaq__list {
        & + & {
            margin-top: 30px;
            padding-top: 30px;
        }
    }
    .irFaq__list_q,
    .irFaq__list_a {
        padding-left: 25px;
    
        &::before {
            font-size: 16px;
        }
    }
    .irFaq__list_q {
        font-size: 16px;
    }
    .irFaq__list_a {
        font-size: 12px;
        margin-top: 5px;

        &::before {
            top: -0.25rem;
        }
    }
}