/* -----------------------------------------------------------------
　PC
--------------------------------------------------------------------*/
/* 実質body */
#article_top{
    font-size: 16px;
}
#article_top img{
    max-width: 100%;
    width: 100%;
}

/* ページ共通
----------------------------------------*/
/* 見出し */
.ttl{
    color: #0A4383;
}

/* ボタン */
.btn{
    align-items: center;
    background: #0A4383!important;
    color: #fff;
    display: flex!important;
    height: 60px;
    justify-content: center;
    text-decoration: none;
    width: 100%;
}

/* inner */
.box{
    max-width: 1250px;
    width: 100%;
    
    margin: 0 auto;
    padding: 0 20px;
}

/* 改行 */
.br__sp{
    display: none;
}

/* aタグ装飾打消し */
section a.bg__none[href$=".pdf"]{
    background:none;
    margin-right: 0;
    padding-right: 0;
}
section a.bg__none[target="_blank"]{
    background:none;
    margin-right: 0;
    padding-right: 0;
}


/* 株主・投資家情報
----------------------------------------*/
.sect-01 {
    position: relative;
    background: url(../img/ir_bnr_all_bg.png) center / cover no-repeat;
    padding: 60px 0;
}

.sect-01 .box{}

/* aタグのリセット */
.sect-01 a{
    /*margin-right: 0!important;
    padding: 0!important;*/
}

/* 見出し */
.sect-01 h1{
    color: #fff;
    font-size: 4.5rem;
}

/* Grid */
.grid__sect-01{
    display: grid;
    grid-template-columns: 4.1fr 2fr;
    grid-template-rows: auto 1fr;
    gap: 20px;
}

/* aタグ系 */
.sect-01 a[href$=".zip"]{
    padding-right: 0;
}


/* 最新IR情報 
-------------------*/
.grid__column-01 {
    background: #fff;
    grid-row: span 2 / span 2;
    padding: 40px;

    /* ボタン最下部固定 */
    display: flex;
    flex-direction: column;
}

/* 見出し */
.grid__column-01 .ttl__library{
    font-size: 4rem;
    font-weight: 400;
}
.grid__column-01 .ttl__library::before{
    content: '';
    /* 画像設定 */
    background-image: url(../img/top/icn/icn_library.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    height: 40px;
    margin-bottom: 10px;
    padding-right: 10px;
    vertical-align: middle;
    width: 40px;
}

.grid__column-01 .li__new-library{
    list-style: disc;
    padding-bottom: 40px;
    padding-left: 2rem;
}
.grid__column-01 .li__new-library li:nth-child(n + 2){
    margin-top: 10px;
}

/* ボタン */
.area-btn__library{
    margin-top: auto;
}

.grid__column-01 .btn__library{
    font-size: 110%;
    padding: 0 10px;
}
.btn__library span::after{
    content: '';
    /* 画像設定 */
    background: url(../img/top/icn/icn_DL.png) no-repeat center center;
    background-size: 24px auto;
    display: inline;
    padding-right: 40px;
}

/* 日本語版 最新決算資料 */
.grid__sect-01 .grid__column-01 .li__new-library{
    list-style: none;
    padding-left: 0;
}
.grid__sect-01 .grid__column-01 .li__new-library li{
    border-bottom: 1px solid #CCCCCC;
    margin-top: 0;
    padding: 16px 0;
}
.grid__sect-01 .grid__column-01 .li__new-library a{
    text-decoration: none;
}
.grid__sect-01 .grid__column-01 .li__new-library a:hover,
.grid__sect-01 .grid__column-01 .li__new-library a:focus-visible{
    text-decoration: underline;
}
.grid__sect-01 .grid__column-01 .btn__library span::after{
    content: none;
}
.grid__sect-01 .grid__column-01 .btn__library span::before{
    content: '';
    background: url(/common/img/icon_zip_01.png) no-repeat center center;
    background-size: contain;
    display: inline-block;
    height: 25px;
    margin-right: 12px;
    vertical-align: middle;
    width: 24px;
}

/* 英語版 Latest IR Materials */
.grid__sect-01_en .grid__column-01 .li__new-library{
    list-style: none;
    padding-left: 0;
}
.grid__sect-01_en .grid__column-01 .li__new-library li{
    border-bottom: 1px solid #CCCCCC;
    margin-top: 0;
    padding: 16px 0;
}
.grid__sect-01_en .grid__column-01 .li__new-library a{
    text-decoration: none;
}
.grid__sect-01_en .grid__column-01 .li__new-library a:hover,
.grid__sect-01_en .grid__column-01 .li__new-library a:focus-visible{
    text-decoration: underline;
}
.grid__sect-01_en .grid__column-01 .btn__library span::after{
    content: none;
}
.grid__sect-01_en .grid__column-01 .btn__library span::before{
    content: '';
    background: url(/common/img/icon_zip_01.png) no-repeat center center;
    background-size: contain;
    display: inline-block;
    height: 25px;
    margin-right: 12px;
    vertical-align: middle;
    width: 24px;
}

/* ZIPアイコンをボタン文言の左中央に配置 */
.grid__sect-01 .grid__column-01 .btn__library span,
.grid__sect-01_en .grid__column-01 .btn__library span{
    display: inline-block;
    position: relative;
}
.grid__sect-01 .grid__column-01 .btn__library span::before,
.grid__sect-01_en .grid__column-01 .btn__library span::before{
    margin-right: 12px;
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
}

/* 株価情報 
-------------------*/
.grid__column-02{}

/* 個人投資家の皆さまへ 
-------------------*/
.grid__column-03 {
    align-self: start;
    grid-column-start: 2;
}


/* リンク集
----------------------------------------*/
.sect-02{
    
}

/* Grid共通 */
.grid__sect-02{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.grid__sect-02 li{
    
}
.grid__sect-02 li img{
    border: 1px solid #CCCCCC;
}

/* 株主の皆さまへ 
-------------------*/
.grid__sect-02 .grid__column{}

/* 見出し */
.ttl__important{
    border-bottom: 2px solid;
    font-size: 4rem;
    font-weight: 400;
    margin-bottom: 40px;
}
.ttl__important::before{
    content: '';
    /* 画像設定 */
    background-image: url(../img/top/icn/icn_important.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    height: 40px;
    margin-bottom: 10px;
    padding-right: 10px;
    vertical-align: middle;
    width: 40px;
}

/* 各リンク */
.grid__sect-02 .ttl__column{
    font-size: 120%;
    font-weight: bold;
}
.grid__sect-02 .ttl__column::after{
    content: "";
    
    border-top: 2px solid #0A4383;
    border-right: 2px solid #0A4383;
    display: inline-block;
    height: 6px;
    margin: 0 0 5px 10px;
    transform: rotate(45deg);
    vertical-align: middle;
    width: 6px;
}

.grid__sect-02 .grid__column img{
    max-height: 150px;
    object-fit: cover;
}
.grid__sect-02 .grid__column a{
    text-decoration: none;
}
.grid__sect-02 .grid__column p{
    margin: 0;
}

/* もっと知りたい方へ 
-------------------*/
/* 見出し */
.ttl__details{
    border-bottom: 2px solid;
    font-size: 4rem;
    font-weight: 400;
    margin-bottom: 40px;
}
.ttl__details::before{
    content: '';
    /* 画像設定 */
    background-image: url(../img/top/icn/icn_details.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    height: 40px;
    margin-bottom: 10px;
    padding-right: 10px;
    vertical-align: middle;
    width: 40px;
}

/* ボタン */
.btn__details{
    font-size: 115%;
    height: 80px;
}
.btn__details span{
    font-weight: bold;
}
.btn__details span::after{
    content: "";
    
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    display: inline-block;
    height: 6px;
    margin: 0 0 3px 10px;
    transform: rotate(45deg);
    vertical-align: middle;
    width: 6px;
}

/* IRニュース、カレンダー
----------------------------------------*/
.sect-03{
    
}

/* リンク集
----------------------------------------*/
.sect-04{
    
}

/* aタグリセット */
.sect-04 a{
    text-decoration: none;
}

/* Grid共通 */
.grid__sect-04{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px 40px;
}
.grid__sect-04 li{}

/* Grid共通2 */
.grid__sect-04-2{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 40px;
}
.grid__sect-04-2 li{
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 5px;
}

/* リスト */
.li__column{
    font-size: 110%;
}
.li__column li{}
.li__column li:nth-child(n + 2){
    border-bottom: 1px solid #CCCCCC;
    margin-top: 20px;
    padding-bottom: 5px;
}

/* ボタン */
.btn__sect-04{
    align-items: center;
    background: #EBF1F8;
    border-radius: 10px;
    color: #0A4383;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 150px;
    padding: 20px 10px 10px;
}
.btn__sect-04 img{
    
}
.btn__sect-04 h4{
    font-size: 120%;
}

/* アイコン */
.icn__01{width: 40px!important;}
.icn__02{width: 65px!important;}
.icn__03{width: 40px!important;}
.icn__04{width: 35px!important;}
.icn__05{width: 40px!important;}
.icn__06{width: 40px!important;}

/* 各リンク */
.link__sect-04{
    display:block;
    position:relative;
    padding-right:20px;
}

.link__sect-04 span{
    display:inline-flex;
    align-items:center;
}

section a.link__sect-04[href$=".pdf"]{
    background:none;
    display:block;
    margin-right: 0;
}
.link__sect-04[href$=".pdf"] span::after{
    content:"";
    width:15px;
    height:15px;
    margin-left:4px;
    background:url(/common/img/icon_pdf_01.png) no-repeat center;
    background-size:contain;
    flex-shrink:0;
margin-bottom: 3px;
}

.link__sect-04::after{
    content: "";
    
    border-top: 2px solid #0A4383;
    border-right: 2px solid #0A4383;
    display: block;
    height: 8px;
    margin-right: 10px;
    transform: rotate(45deg);
    width: 8px;
    
    /* 位置 */
    position: absolute;
    right: 0;
    top: 0.3em;
}

/* 注釈 */
.li__notes{
    color: #888888;
}
.li__notes li{}


/* -----------------------------------------------------------------
　768px以下
--------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    /* 株主・投資家情報
    ----------------------------------------*/
    .grid__sect-01 {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    
    /* 最新IR情報 
    -------------------*/
    .grid__column-01 {
        grid-row: auto;
    }
    .area-btn__library{
        margin-top: 30px;
    }

    /* 日本語トップ 最新決算資料のSP余白 */
    .grid__sect-01--compact-sp .li__new-library{
        margin-top: 10px !important;
        padding-bottom: 0;
    }
    .grid__sect-01--compact-sp .area-btn__library{
        margin-top: 20px;
    }
    
    /* 株価情報 
    -------------------*/
    .grid__column-02{}

    /* 個人投資家の皆さまへ 
    -------------------*/
    .grid__column-03 {
        grid-column-start: auto;
    }
    
    /* リンク集
    ----------------------------------------*/
    /* Grid共通 */
    .grid__sect-02, .grid__sect-04{
        grid-template-columns: repeat(1, 1fr);
    }
    
    .grid__sect-04{
        gap: 40px 40px;
    }


    .grid__sect-04-2{
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 40px;
    }
    
}


/* -----------------------------------------------------------------
　580px以下
--------------------------------------------------------------------*/
@media screen and (max-width: 580px) {
    /* ページ共通
    ----------------------------------------*/
    /* 改行 */
    .br__sp{
        display: block;
    }
    
    .grid__column-01 .ttl__library, .ttl__important, .ttl__details{
        font-size: 3rem;
    }
    
    /* 株主・投資家情報
    ----------------------------------------*/
    /* 見出し */
    .sect-01 h1{
        font-size: 3.5rem;
    }
    
    /* 最新IR情報 
    -------------------*/
    .grid__column-01{
        padding: 25px;
    }
    .grid__column-01 .btn__library{
        font-size: 100%;
        height: 80px;
        text-align: center;
    }
    
}


/* -----------------------------------------------------------------
　追記_英語ページ用
--------------------------------------------------------------------*/
/* 株主・投資家情報
----------------------------------------*/
.grid__sect-01_en{
    display: grid;
    grid-template-columns: 4.1fr 2fr;
    grid-template-rows: repeat(1, 1fr);
    gap: 20px;
}

.grid__sect-01_en .grid__column-01{}
.grid__sect-01_en .grid__column-01 .area-btn__library {
    margin-top: 0;
}

/* リンク集
----------------------------------------*/
.grid__sect-04-2_en{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 40px;
}
.grid__sect-04-2_en li{
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 5px;
}


@media screen and (max-width: 768px) {
    /* 株主・投資家情報
    ----------------------------------------*/
    .grid__sect-01_en {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    
    /* 最新IR情報 
    -------------------*/
    .grid__sect-01_en .grid__column-01 {
        grid-row: auto;
    }

    .grid__sect-01_en.grid__sect-01--compact-sp .li__new-library{
        margin-top: 10px !important;
        padding-bottom: 0;
    }
    .grid__sect-01_en.grid__sect-01--compact-sp .area-btn__library{
        margin-top: 20px;
    }
    
    /* リンク集
    ----------------------------------------*/
    .grid__sect-04-2_en {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 40px;
    }
}
