@charset "UTF-8";

/* --------------------------------
base
-------------------------------- */
.section:has(.ir__conWrap) {
    background-color: #fff;
}
@media print, screen and (min-width: 769px) {
    .ir__conWrap {
        padding-bottom: 160px;
    }
}
@media print, screen and (max-width: 768px) {
    .ir__conWrap {
        padding-bottom: 80px;
    }
}


/* --------------------------------
ir__localNav
-------------------------------- */
.ir__localNav_list {
    display: flex;
    justify-content: center;
    width: 100%;
}
.ir__localNav_list_item {
    & a {
        border: 1px solid #FF4600;
        color: #FF4600;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 500;
        position: relative;
        transition: .2s;
        text-align: center;
        width: 100%;
        height: 100%;

        &:not(&[target="_blank"]):before {
            background-image: url(/assets/images/ir/icon_arrow_orange.svg);
            background-position: 0 0;
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
            display: block;
            position: absolute;
            right: 10px;
            top: calc(50% - 6px);
            transform: rotate(-90deg) translateY(-50%);
            transition: .2s;
            height: 11px;
            width: 15px;
        }

        &[target="_blank"]&::after {
            background-image: url(/assets/images/ir/icon_blank_orange.svg);
            background-position: 0 0;
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
            height: 13px;
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            transition: .2s;
            width: 13px;
        }

        &:hover {
            background: #FF4600;
            color: #fff;

            &::before,
            &::after {
                filter: brightness(0) saturate(100%) invert(96%) sepia(99%) saturate(18%) hue-rotate(8deg) brightness(106%) contrast(100%);
            }
        }
    }
}
.ir__localNav_list_item-active {
    & a {
        pointer-events: none;

        background: #FF4600;
        color: #fff;

        &::before {
            filter: brightness(0) saturate(100%) invert(96%) sepia(99%) saturate(18%) hue-rotate(8deg) brightness(106%) contrast(100%);
        }
    }
}
@media print, screen and (min-width: 769px) {
    .ir__localNav {
        margin: 120px auto 0;
        max-width: 1260px;
        padding-left: 80px;
        padding-right: 80px;
    }
    .ir__localNav_list {
        gap: 25px;
    }
    .ir__localNav_list_item {
        width: 350px;
        max-width: 100%;

        & a {
            font-size: 18px;
            padding: 22px 40px;
        }
    }
}
@media print, screen and (max-width: 768px) {
    .ir__localNav {
        margin: 68px auto 0;
        padding-left: 20px;
        padding-right: 20px;
    }
    .ir__localNav_list {
        flex-direction: column;
        gap: 24px;
    }
    .ir__localNav_list_item {
        width: 100%;

        & a {
            font-size: 18px;
            padding: 21px 40px;
        }
    }
}


/* --------------------------------
ir__conWrap
-------------------------------- */
@media print, screen and (min-width: 769px) {
    .ir__conWrap {
        margin-top: -23px;
        padding-top: 81px;
    }
}
@media print, screen and (max-width: 768px) {
    .ir__conWrap {
        padding-top: 58px;
    }
}


/* --------------------------------
ir__sec
-------------------------------- */
@media print, screen and (min-width: 769px) {
    .ir__sec {
        & .ir__sec + .ir__sec {
            margin-top: 64px;
        }
    }
}
@media print, screen and (max-width: 768px) {
    .ir__sec {
        & .ir__sec + .ir__sec {
            margin-top: 58px;
        }
    }
}


/* --------------------------------
title
-------------------------------- */
.ir__ttlH3 {
    align-items: flex-start;
    color: #040000;
    display: grid;
    font-weight: 500;
    grid-template-columns: 19px 1fr;
    position: relative;

    &::before {
        background-color: #ff4600;
        content: "";
        height: 9px;
        width: 9px;
    }

    &::after {
        background-color: #cacbcf;
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        width: 100%;
    }
}
@media print, screen and (min-width: 769px) {
    .ir__conWrap {
        & .sectionHeading {
            margin-bottom: 44px;
        }
    }
    .ir__ttlH3 {
        font-size: 18px;
        line-height: 1.7778;
        margin-bottom: 9px;
        padding-bottom: 9px;

        &::before {
            margin-top: 13px;
        }
    }
}
@media print, screen and (max-width: 768px) {
    .ir__conWrap {
        & .sectionHeading {
            margin-bottom: 36px;
        }
    }
    .ir__ttlH3 {
        font-size: 17px;
        line-height: 1.5294;
        margin-bottom: 14px;
        padding-bottom: 10px;

        &::before {
            margin-top: 9px;
        }
    }
}


/* --------------------------------
ir__txt
-------------------------------- */
@media print, screen and (min-width: 769px) {
    .ir__txt {
        font-size: 16px;
        line-height: 2.125;
    }
}
@media print, screen and (max-width: 768px) {
    .ir__txt {
        font-size: 14px;
        line-height: 2.2857;
    }
}


/* --------------------------------
ir__txtLink
-------------------------------- */
.ir__txtLink {
    color: #FF4600;
    display: inline-block;
    transition: opacity .2s linear;
    word-break: break-all;

    &[target="_blank"]::after {
        background-image: url(/assets/images/ir/icon_blank_orange.svg);
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: inline-block;
        margin: 0 5px;
        height: 13px;
        transition: .2s;
        width: 13px;
    }

    &:hover {
        opacity: .6;
    }
}


/* --------------------------------
ir__arrowBtn
-------------------------------- */
.ir__arrowBtn_btn {
    overflow: hidden;

    & a {
        color: #ff4600;
        display: block;
        font-family: Barlow, sans-serif;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.7778;
        padding-bottom: 5px;
        position: relative;

        &::after {
            background-image: url(/assets/images/ir/icon_arrow_top_button.svg);
            background-position: 0 0;
            background-repeat: no-repeat;
            background-size: contain;
            bottom: 0;
            content: "";
            height: 9px;
            position: absolute;
            transform: translateX(-19px);
            width: 145px;
        }
    }
}
@media print, screen and (min-width: 769px) {
    .ir__arrowBtn_btn {
        width: 145px;

        & a {
            &::after {
                left: 0;
                transition: transform .2s linear, -webkit-transform .2s linear;
            }

            &:hover {
                &::after {
                    transform: translateX(0);
                }
            }
        }
    }
}
@media print, screen and (max-width: 768px) {
    .ir__arrowBtn {
        display: flex;
        justify-content: center;
    }
    .ir__arrowBtn_btn {
        width: 124px;

        & a {
            &::after {
                right: 0;
            }
        }
    }
}


/* --------------------------------
ir__tbl
-------------------------------- */
.ir__tbl {
    border-top: 1px solid #cacbcf;
    width: 100%;

    & tr {
        border-bottom: 1px solid #cacbcf;
    }
}
.ir__tbl_th {
    color: #646566;
    font-weight: 400;
}
@media print, screen and (min-width: 769px) {
    .ir__tbl_th,
    .ir__tbl_td {
        padding: 24px 0;
    }
    .ir__tbl_th {
        font-size: 18px;
        line-height: 1.7778;
        padding-left: 24px;
        width: 275px;
    }
    .ir__tbl_td {
        font-size: 18px;
        line-height: 1.7778;
        padding-right: 24px;
    }
}
@media print, screen and (max-width: 768px) {
    .ir__tbl {
        & tr,
        & th,
        & td {
            display: block;
        }

        & tr {
            padding: 20px 0 23px;
        }
    }
    .ir__tbl_th {
        font-size: 16px;
        line-height: 2;
    }
    .ir__tbl_td {
        font-size: 16px;
        letter-spacing: -.01em;
        line-height: 1.625;
        margin-top: 5px;
    }
}


/* --------------------------------
IRTOP
-------------------------------- */
main:has(.irTop__newsSec) {
    overflow-x: hidden;
}

.irTop__newsSec_ttl {
    color: #040000;
    font-weight: 500;
}
@media print, screen and (min-width: 769px) {
    .irTop__newsSec {
        display: grid;
        grid-template-columns: 260px 1fr;
        grid-template-rows: 1fr auto;
        margin-top: 110px;
    }
    .irTop__newsSec_ttl {
        font-size: 32px;
        grid-area: 1 / 1 / span 1 / span 1;
        line-height: 1.4545;
        padding-top: 9px;
    }
    .irTop__newsSec_main {
        grid-area: 1 / 2 / span 2 / span 1;
        margin-top: 0;
    }
    .irTop__newsSec .ir__arrowBtn {
        grid-area: 2 / 1 / span 1 / span 1;
        margin-bottom: 16px;
    }
}
@media print, screen and (max-width: 768px) {
    .irTop__newsSec {
        margin-top: 70px;
    }
    .irTop__newsSec_ttl {
        font-size: 26px;
        line-height: 1.3333;
    }
    .irTop__newsSec_main {
        margin-top: 34px;
    }
    .irTop__newsSec .ir__arrowBtn {
        margin-top: 42px;
    }
}

.irTop__messageSec {
    background: #fff;
    display: flex;
}
.irTop__messageSec_img {
    & img {
        max-width: 100%;
    }
}
.irTop__messageSec_ttl {
    color: #040000;
    font-weight: 500;
}
@media print, screen and (min-width: 769px) {
    .irTop__messageSec {
        align-items: center;
        gap: 56px;
        margin-top: 130px;
        padding: 45px 32px 46px;
    }
    .irTop__messageSec_img {
        flex-shrink: 0;
        width: 466px;
    }
    .irTop__messageSec_main {
        flex-grow: 1;
    }
    .irTop__messageSec_ttl {
        font-size: 32px;
        line-height: 1.4545;
    }
    .irTop__messageSec_lead {
        font-size: 20px;
        line-height: 1.7;
        margin-top: 30px;
    }
    .irTop__messageSec .ir__arrowBtn {
        margin-top: 40px;
    }
}
@media print, screen and (max-width: 768px) {
    .irTop__messageSec {
        flex-direction: column;
        margin: 80px -20px 0;
        padding: 40px 20px 48px;
    }
    .irTop__messageSec_main {
        margin-top: 40px;
    }
    .irTop__messageSec_ttl {
        font-size: 26px;
        line-height: 1.3333;
    }
    .irTop__messageSec_lead {
        font-size: 16px;
        line-height: 2;
        margin-top: 24px;
    }
    .irTop__messageSec .ir__arrowBtn {
        margin-top: 23px;
    }
}

.irTop__linkListSec_box {
    display: flex;
}
.irTop__linkListSec_box_ttl {
    border-bottom: 2px solid #cacbcf;
    display: block;
    font-weight: 500;
    position: relative;
    transition: color .2s linear, background-color .2s linear;

    &::before {
        background-image: url(/assets/images/ir/icon_arrow_orange.svg);
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        position: absolute;
        right: -10px;
        top: calc(50% - 11px);
        transform: rotate(-90deg) translateY(-50%);
        transition: .2s;
        height: 11px;
        width: 15px;
    }

    &:hover {
        color: #ff4600;
    }
}
.irTop__linkListSec_box_list {
    display: flex;
    flex-direction: column;
}
.irTop__linkListSec_box_list_item {
    & a {
        display: inline-flex;
        position: relative;
        transition: color .2s linear, background-color .2s linear;

        &:not([target="_blank"])::after {
            background-image: url(/assets/images/ir/icon_arrow_orange.svg);
            background-position: 0 0;
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
            display: block;
            position: absolute;
            right: -10px;
            top: calc(50% - 6px);
            transform: rotate(-90deg) translateY(-50%);
            transition: .2s;
            height: 11px;
            width: 15px;
        }

        &[target="_blank"]::after {
            background-image: url(/assets/images/ir/icon_blank_orange.svg);
            background-position: 0 0;
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
            height: 13px;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            transition: .2s;
            width: 13px;
        }

        &:hover {
            color: #ff4600;
        }
    }
}
@media print, screen and (min-width: 769px) {
    .irTop__linkListSec {
        margin-top: 140px;
    }
    .irTop__linkListSec_box {
        gap: 32px;
        justify-content: space-between;
    }
    .irTop__linkListSec_box_item {
        width: calc((100% - (32px * 2)) / 3);
    }
    .irTop__linkListSec_box_ttl {
        font-size: 24px;
        padding: 0 20px 16px 0;
    }
    .irTop__linkListSec_box_list {
        gap: 23px;
        margin-top: 40px;
    }
    .irTop__linkListSec_box_list_item {
        & a {
            font-size: 20px;
            padding-right: 34px;
        }
    }
}
@media print, screen and (max-width: 768px) {
    .irTop__linkListSec {
        margin-top: 80px;
    }
    .irTop__linkListSec_box {
        flex-direction: column;
        gap: 55px;
    }
    .irTop__linkListSec_box_item {
        width: 100%;
    }
    .irTop__linkListSec_box_ttl {
        font-size: 24px;
        padding: 0 20px 16px 0;
    }
    .irTop__linkListSec_box_list {
        gap: 25px;
        margin-top: 32px;
    }
    .irTop__linkListSec_box_list_item {
        & a {
            font-size: 18px;
            padding-right: 34px;

            &:not([target="_blank"])::after {
                top: calc(50% - 4px);
            }
        }
    }
}

.irTop__highlightSec {
    background: #fff;
    display: flex;
}
.irTop__highlightSec_ttl {
    color: #040000;
    font-weight: 500;
}
@media print, screen and (min-width: 769px) {
    .irTop__highlightSec {
        justify-content: space-between;
        margin-top: 100px;
        padding: 58px 16px 56px 42px;
    }
    .irTop__highlightSec_ttl {
        font-size: 28px;
    }
    .irTop__highlightSec_lead {
        font-size: 20px;
        line-height: 1.7;
        margin-top: 30px;
    }
    .irTop__highlightSec .ir__arrowBtn {
        align-self: flex-end;
    }
}
@media print, screen and (max-width: 768px) {
    .irTop__highlightSec {
        flex-direction: column;
        margin-top: 66px;
        padding: 38px 22px 40px 22px;
    }
    .irTop__highlightSec_ttl {
        font-size: 26px;
    }
    .irTop__highlightSec_lead {
        font-size: 16px;
        line-height: 2;
        margin-top: 18px;
    }
    .irTop__highlightSec .ir__arrowBtn {
        margin-top: 23px;
    }
}

.irTop__btnlinkListSec {
    position: relative;

    &::before {
        background: #fff;
        content: "";
        display: block;
        position: absolute;
        left: -50vw;
        top: 0;
        width: 150vw;
        height: 100%;
        z-index: 0;
    }
}
.irTop__btnlinkListSec_list {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
}
.irTop__btnlinkListSec_list_item {
    & a {
        border: 1px solid #FF4600;
        color: #FF4600;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 500;
        position: relative;
        transition: .2s;
        text-align: center;
        width: 100%;
        height: 100%;

        &:not(&[target="_blank"]):before {
            background-image: url(/assets/images/ir/icon_arrow_orange.svg);
            background-position: 0 0;
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
            display: block;
            position: absolute;
            right: 10px;
            top: calc(50% - 6px);
            transform: rotate(-90deg) translateY(-50%);
            transition: .2s;
            height: 11px;
            width: 15px;
        }

        &[target="_blank"]&::after {
            background-image: url(/assets/images/ir/icon_blank_orange.svg);
            background-position: 0 0;
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
            height: 13px;
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            transition: .2s;
            width: 13px;
        }

        &:hover {
            background: #FF4600;
            color: #fff;

            &::before,
            &::after {
                filter: brightness(0) saturate(100%) invert(96%) sepia(99%) saturate(18%) hue-rotate(8deg) brightness(106%) contrast(100%);
            }
        }
    }
}
@media print, screen and (min-width: 769px) {
    .irTop__btnlinkListSec {
        margin-top: 120px;
        padding: 88px 0 160px;
    }
    .irTop__btnlinkListSec_list {
        gap: 22px;
    }
    .irTop__btnlinkListSec_list_item {
        width: calc((100% - (22px * 2)) / 3);

        & a {
            font-size: 18px;
            padding: 22px 40px;
        }
    }
}
@media print, screen and (max-width: 768px) {
    .irTop__btnlinkListSec {
        margin-top: 80px;
        padding: 64px 0 80px;
    }
    .irTop__btnlinkListSec_list {
        flex-direction: column;
        gap: 17px;
    }
    .irTop__btnlinkListSec_list_item {
        width: 100%;

        & a {
            font-size: 18px;
            padding: 21px 40px;
        }
    }
}

/* back to top 背景色調整 */
@media print, screen and (max-width: 768px) {
    .bg__gray:has(.irTop__newsSec) .backToTop {
        background: #fff;
    }
}

/* --------------------------------
コーポレートガバナンス
-------------------------------- */
@media print, screen and (min-width: 769px) {
    .irGovernance__img {
        margin-top: 32px;
    }
}
@media print, screen and (max-width: 768px) {
    .irGovernance__img {
        margin-top: 28px;
    }
}


/* --------------------------------
IRカレンダー
-------------------------------- */
.irCalendar__img {
    display: flex;

    & img {
        max-width: 100%;
    }
}
@media print, screen and (min-width: 769px) {
    .irCalendar__img {
        gap: 3px;
        margin-bottom: 32px;

        & img {
            width: calc((100% - 3px) / 2);
        }
    }
}
@media print, screen and (max-width: 768px) {
    .irCalendar__img {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 28px;

        & img {
            width: 100%;
        }
    }
}


/* --------------------------------
よくあるご質問
-------------------------------- */
.irFaq__list + .irFaq__list {
    border-top: 1px solid #cacbcf;
}
.irFaq__list_q {
    font-weight: 500;
    position: relative;

    &::before {
        color: #FF4600;
        content: "Q";
        display: inline-block;
        font-family: Barlow, sans-serif;
        font-weight: 500;
        line-height: 1;
        position: absolute;
        left: 0;
    }
}
.irFaq__list_a {
    position: relative;

    &::before {
        color: #cacbcf;
        content: "A";
        display: inline-block;
        font-family: Barlow, sans-serif;
        font-weight: 500;
        line-height: 1;
        position: absolute;
        left: 0;
    }
}
@media print, screen and (min-width: 769px) {
    .irFaq__list + .irFaq__list {
        margin-top: 48px;
        padding-top: 48px;
    }
    .irFaq__list_q {
        padding-left: 50px;
    
        &::before {
            font-size: 24px;
        }
    }
    .irFaq__list_a {
        margin-top: 20px;
        padding-left: 50px;
    
        &::before {
            font-size: 24px;
        }
    }
}
@media print, screen and (max-width: 768px) {
    .irFaq__list + .irFaq__list {
        margin-top: 36px;
        padding-top: 36px;
    }
    .irFaq__list_q {
        padding-left: 30px;
    
        &::before {
            font-size: 24px;
        }
    }
    .irFaq__list_a {
        margin-top: 15px;
        padding-left: 30px;
    
        &::before {
            font-size: 24px;
        }
    }
}