@charset "utf-8";


/* **********************************************************
	index
********************************************************** */

/* sec06共通 キービジュアル
--------------------------------------------------------------------*/
.sec06 #page_kv {
    margin-top: 19px;
}

.sec06 #page_kv .page_kv_head {
    width: calc(100% - 60px);
    margin: 0 auto;
    position: relative;
    max-width: 1200px;
}

.sec06 #page_kv figure {
    position: relative;
}

.sec06 #page_kv figure::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(400 / 1140 * 100%);
}

.sec06 #page_kv figure picture {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
}

.sec06 #page_kv figure picture img {
    height: 100%;
    object-fit: cover;
}

.sec06 #page_kv .text-area {
    position: absolute;
    left: 50%;
    bottom: calc(45 / 400 * 100%);
    margin-left: calc(200 / 1140 * 100%);
    line-height: calc(20 / 16);
    text-shadow: 2px 2px 3px rgba(255, 255, 255, 0.75),-2px 2px 3px rgba(255, 255, 255, 0.75),2px -2px 3px rgba(255, 255, 255, 0.75),-2px -2px 3px rgba(255, 255, 255, 0.75);
    font-size: 1.6rem;
}

.sec06 #page_kv .term {
    margin-bottom: 10px;
}

.sec06 #page_kv .description {
    font-weight: 700;
}

.sec06 #page_kv .page_kv_content {
    margin-top: 23px;
}

.sec06 #page_kv .page_kv_content h2 {
    font-size: 1.8rem;
    line-height: calc(29 / 18);
    font-weight: 700;
    color: #09326f;
    text-align: center;
}

@media screen and (max-width: 768px) {

    .sec06 #page_kv {
        margin-top: 9px;
    }

    .sec06 #page_kv .page_kv_head {
        width: calc(100% - 30px);
    }

    .sec06 #page_kv figure::before {
        padding-top: calc(320 / 690 * 100%);
    }

    .sec06 #page_kv .text-area {
        left: auto;
        right: calc(75 / 690 * 100%);
        bottom: calc(34 / 320 * 100%);
        margin-left: 0;
        line-height: 1;
        font-size: 1.2rem
    }

    .sec06 #page_kv .term {
        margin-bottom: 6px;
    }

    .sec06 #page_kv .page_kv_content {
        margin-top: 20px;
    }

    .sec06 #page_kv .page_kv_content h2 {
        font-size: 1.6rem;
        line-height: calc(25 / 16);
        text-align: left;
    }

}

/* sec03共通 コンテンツ
--------------------------------------------------------------------*/
.sec06 .lower_container {
    margin-top: 80px;
}

.sec06 .lower_h2 {
    color: #09326f;
}

.sec06 .content > p {
    line-height: calc(30 / 16);
}

.sec06 .catch {
    width: calc(500 / 820 * 100%);
    max-width: 500px;
    margin: 50px auto 0;
}

.sec06 .detail {
    width: 100%;
    margin: 50px auto 0;
}

.sec06 .detail_title {
    font-size: 1.6rem;
    line-height: calc(26 / 16);
    font-weight: 700;
    margin-bottom: 15px;
}

@media screen and (max-width: 768px) {

    .sec06 .lower_container {
        margin-top: 40px;
    }

    .sec06 .lower_h2 h2 {
        line-height: calc(25 / 16);
    }

    .sec06 .content > p {
        line-height: calc(22 / 14);
    }

    .sec06 .catch {
        width: calc(550 / 690 * 100%);
        max-width: 275px;
        margin: 25px auto 0;
    }
    .sec06 .detail {
        margin: 25px auto 0;
    }
    
    .sec06 .detail_title {
        margin-bottom: 5px;
    }
}

/* sec06共通 #local_link
--------------------------------------------------------------------*/
.sec06 #local_link .list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 100px 100px 100px;
    max-width: 390px;
    margin-right: auto;
    margin-left: auto;
}

.sec06 #local_link .item:first-child {
    grid-column: 1 / 3;
}

.sec06 #local_link .link {
    width: 100%;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .sec06 #local_link .list {
        grid-template-rows: 60px 60px 60px;
        max-width: 275px;
        font-size: 1.4rem;
        line-height: calc(42 / 28);
    }

    .sec06 #local_link .item {
        grid-column: 1 / 3;
    }
    
    .sec06 #local_link .link {
        height: 60px;
    }
}

/* 会長メッセージ
--------------------------------------------------------------------*/
.sec06.index .lower_container {
    margin-top: 68px;
}

.sec06.index .catch {
    margin: 46px auto 0;
}

.sec06.index .detail_img {
    margin-bottom: 50px;
}

.sec06.index .detail_link {
    display: flex;
    justify-content: center;
}

.sec06.index .detail_btn {
    display: inline-flex;
    align-items: center;
}

.sec06.index .detail_btn:hover .detail_text {
    text-decoration: underline;
}

.sec06.index .detail_label {
    margin-right: 10px;
}

.sec06.index .detail_label span {
    font-size: 1.2rem;
    line-height: 1;
    color: #fff;
    background-color: var(--main_color);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 25px;
    border-radius: 2em;
}

.sec06.index .detail_text {
    font-size: 1.4rem;
    line-height: 1;
}

.sec06.index #section01 {
    margin-top: 70px;
}

.sec06.index #section02 {
    margin-top: 70px;
}

.sec06.index #section04 .detail {
    width: calc(420 / 820 * 100%);
    max-width: 420px;
    margin: 37px auto 0;
}

.sec06.index #section05  {
    margin-top: 75px;
}

.sec06.index #section05 .catch {
    width: calc(330 / 820 * 100%);
    max-width: 330px;
    margin: 42px auto 0;
}

.sec06.index #section05 .detail {
    width: calc(440 / 820 * 100%);
    max-width: 440px;
    margin: 75px auto 0;
}

.sec06.index #section05 .detail_title {
    margin-bottom: 8px;
}

.sec06.index #section05 .detail_img {
    margin-bottom: 45px;
}

.sec06.index #section06 {
    margin-top: 76px;
} 

@media screen and (max-width: 768px) {

    .sec06.index .lower_container {
        margin-top: 31px;
    }

    .sec06.index .catch {
        margin: 21px auto 0;
    }

    .sec06.index .detail_img {
        margin-bottom: 25px;
    }

    .sec06.index #section01 {
        margin-top: 30px;
    }

    .sec06.index #section02 {
        margin-top: 34px;
    }
    
    .sec06.index #section04 .detail {
        width: 100%;
        max-width: 345px;
        margin: 16px auto 0;
    }

    .sec06.index .detail_link {
        justify-content: flex-start;
    }

    .sec06.index #section05 {
        margin-top: 34px;
    }
    
    .sec06.index #section05 .catch {
        width: calc(554 / 690 * 100%);
        max-width: 277px;
        margin: 18px auto 0;
    }
    
    .sec06.index #section05 .detail {
        width: 100%;
        max-width: 345px;
        margin: 33px auto 0;
    }

    .sec06.index #section05 .detail_title {
        margin-bottom: 4px;
    }

    .sec06.index #section05 .detail_img {
        margin-bottom: 20px;
    }

    .sec06.index #section06 {
        margin-top: 35px;
    }

}

@media screen and (max-width: 395px) {

    .sec06.index .detail_label {
        margin-right: 3px;
    }

    .sec06.index .detail_text {
        letter-spacing: -0.04em;
    }
}


@media screen and (max-width: 380px) {

    .sec06.index #page_kv .page_kv_content h2 {
        letter-spacing: -0.02em;
    }

}


/* **********************************************************
	outside_direc
********************************************************** */

/* 新任社外取締役メッセージ
--------------------------------------------------------------------*/
.outside_direc .lower_container {
    margin-top: 67px;
}

.outside_direc #section01 {
    margin-top: 70px;
}

@media screen and (max-width: 768px) {

    .outside_direc #page_kv .text-area {
        right: calc(27 / 690 * 100%);
        bottom: calc(33 / 320 * 100%);
    }

    .outside_direc .lower_container {
        margin-top: 31px;
    }

    .outside_direc #section01 {
        margin-top: 30px;
    }

}

@media screen and (max-width: 380px) {

    .outside_direc #page_kv .page_kv_content h2 {
        letter-spacing: -0.02em;
    }

    .outside_direc .lower_h2 h2 {
        letter-spacing: -0.02em;
    }

}


/* **********************************************************
	compliance
********************************************************** */

/* コンプライアンスへの取り組み
--------------------------------------------------------------------*/
.compliance #section01 {
    margin-top: 33px;
}

.compliance #section01 .intro_text {
    line-height: calc(30 / 16);
    margin-bottom: 38px;
}

.compliance #section01 h3 {
    line-height: calc(26 / 16);
    font-weight: 700;
    margin-bottom: 15px;
}

.compliance #section01 .intro_inner {
    display: flex;
}

.compliance #section01 .intro_before {
    flex: 1 1 0;
    line-height: calc(30 / 16);
}

.compliance #section01 .intro_after {
    flex-basis: calc(412 / 820 * 100%);
    margin-left: calc(44 / 820 * 100%);
    padding: 20px;
    background-color: #d3edfb;
    display: flex;
    align-items: center;
    position: relative;
}

.compliance #section01 .intro_after::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 51px;
    background: url(/csr/ir/online/2022/06/img/compliance/compliance_arrow.png) center center / contain no-repeat;
    transform: translateY(-50%) rotate(-90deg);
    position: absolute;
    top: 50%;
    left: -37px;
}

.compliance #section01 .rate_text {
    flex: 1 1 0;
    line-height: calc(25 / 16);
}

.compliance #section01 .rate_number {
    flex-basis: 118px;
    flex-basis: 122px;
    margin-left: calc(40 / 372 * 100%);
    text-align: center;
    font-size: 1.4rem;
    line-height: 1;
}

.compliance #section01 .rate_number .number {
    font-size: 2.8rem;
    display: block;
    font-weight: 700;
    margin-bottom: 10px;
}

.compliance #section01 .rate_number .emphasis {
    font-size: 4.2rem;
}

.compliance #section02 {
    margin-top: 78px;
}

.compliance #section02 .content_text {
    margin-bottom: 23px;
}

.compliance #section02 .list {
   display: flex;
   padding: 14px 30px 12px 0;
   border-bottom: 1px solid #b5b1b1;
   width: 100%;
}

.compliance #section02 .list:first-child {
    border-top: 1px solid #b5b1b1;
}

.compliance #section02 .term {
    font-weight: 700;
    flex-basis: calc(270 / 790 * 100%);
    margin-right: calc(36 / 790 * 100%);
    padding-left: 1em;
    text-indent: -1em;
}

.compliance #section03 {
    margin-top: 75px;
}

.compliance #section03 .detail:first-child {
    margin-top: 0;
}

.compliance #section03 .detail {
    margin-top: 37px;
}

.compliance #section02 .description {
    flex: 1 1 0;
}

.compliance #section03 h3 {
    line-height: calc(26 / 16);
    font-weight: 700;
    margin-bottom: 9px;
}

.compliance #section03 .detail > p {
    line-height: calc(30 / 16);
}

@media screen and (max-width: 768px) {

    .compliance #section01 {
        margin-top: 14px;
    }
    
    .compliance #section01 .intro_text {
        margin-bottom: 23px;
        line-height: calc(22 / 14);
    }
    
    .compliance #section01 h3 {
        font-size: 1.6rem;
        line-height: calc(25 / 16);
         margin-bottom: 14px;
    }
    
    .compliance #section01 .intro_inner {
        display: block;
    }

    .compliance #section01 .intro_before p {
        line-height: calc(22 / 14);
        margin-bottom: 25px;
    }
    
    .compliance #section01 .intro_after {
        width: 100%;
        margin: 0 auto;
        padding: 20px 25px;
        max-width: 345px;
    }
    
    .compliance #section01 .intro_after::before {
        width: 24px;
        height: 38px;
        transform: translateX(-50%) rotate(0);
        position: absolute;
        top: -22px;
        left: 50%;
    }

    .compliance #section01 .rate_text {
        line-height: calc(22 / 14);
    }
    
    .compliance #section01 .rate_number {
        /* flex-basis: 100px; */
        flex-basis: 105px;
        margin-left: calc(5 / 295 * 100%);
        font-size: 1.2rem;
    }
    
    .compliance #section01 .rate_number .number {
        font-size: 2.3rem;
        margin-bottom: 12px;
    }
    
    .compliance #section01 .rate_number .emphasis {
        font-size: 3.5rem;
    }
    
    .compliance #section02 .content_text {
        margin-bottom: 22px;
    }

    .compliance #section02 {
        margin-top: 35px;
    }
    
    .compliance #section02 .list {
        display: block;
        padding: 14px 10px 14px 0;
    }
    
    .compliance #section02 .term {
        margin: 0 0 4px;
    }

    .compliance #section02 .description {
        line-height: calc(22 / 14);
    }

    .compliance #section03 {
        margin-top: 35px;
    }
    
    .compliance #section03 h3 {
        font-size: 1.6rem;
        margin-bottom: 6px;
        line-height: calc(25 / 16);
    }

    .compliance #section03 .detail {
        margin-top: 16px;
    }

    .compliance #section03 .detail > p {
        line-height: calc(22 / 14);
    }
}


/* **********************************************************
	mng_system
********************************************************** */

/* 経営体制
--------------------------------------------------------------------*/
.mng_system #section01 {
    margin-top: 23px;
}

.mng_system #section01 .date {
    font-size: 1.4rem;
    line-height: 1;
    text-align: right;
}

.mng_system #section01 .list {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 20px;
}

.mng_system #section01 .item {
    width: calc((100% - 40px) / 3);
    max-width: 260px;
}

.mng_system #section01 .card {
    display: flex;
    flex-direction: column-reverse;
}

.mng_system #section01 .card_title {
    font-weight: 700;
}

.mng_system #section01 .position {
    display: block;
    line-height: calc(24 / 16);
    color: #09326f;
    font-weight: normal;
}

.mng_system #section01 .card_text {
    font-size: 1.4rem;
    line-height: calc(22 / 14);
    margin-top: 9px;
}

.mng_system #section01 .card_img {
    position: relative;
    margin-bottom: 5px;
}

.mng_system #section01 .card_img::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(200 / 260 * 100%);
}

.mng_system #section01 .card_img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 768px) {

    .mng_system #section01 {
        margin-top: 11px;
    }
    
    .mng_system #section01 .date {
        font-size: 1rem;
    }
    
    .mng_system #section01 .list {
        gap: 25px 20px;
    }
    
    .mng_system #section01 .item {
        width: calc((100% - 20px) / 2);
        max-width: none;
    }
    
    .mng_system #section01 .card_title {
        font-size: 1.2rem;
        line-height: calc(18 / 12);
    }
    
    .mng_system #section01 .position {
        line-height: calc(18 / 12);
        margin-bottom: 3px;
    }
    
    .mng_system #section01 .card_text {
        font-size: 1rem;
        line-height: calc(14 / 10);
        margin-top: 4px;
    }

    .mng_system #section01 .card_img {
        margin-bottom: 7px;
    }
    
    .mng_system #section01 .card_img::before {
        padding-top: calc(250 / 325 * 100%);
    }

}

/* 監査役、執行役員
--------------------------------------------------------------------*/
.mng_system .lower_container {
    margin-top: 68px;
}

.mng_system .definition {
    line-height: calc(31 / 16);
}

.mng_system .definition .list {
    width: 100%;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #c8c8c9;
    background-color: #dff2fb;
}

.mng_system .definition .list:first-child {
    border-top: 1px solid #c8c8c9;
}

.mng_system .definition .term {
    color: #09326f;
    flex-basis: calc(260 / 820 * 100%);
    padding: 4px 20px 2px;
}

.mng_system .definition .description {
    flex: 1 1 0;
    padding: 4px 70px 2px 20px;
    font-weight: 700;
    background-color: #fff;
}

.mng_system .definition .text {
    font-size: 1.4rem;
    line-height: calc(21 / 14);
    font-weight: normal;
    display: block;
}

.mng_system #section03 {
    margin-top: 76px;
}

@media screen and (max-width: 768px) {

    .mng_system .lower_container {
        margin-top: 32px;
    }
    
    .mng_system .definition {
        font-size: 1.2rem;
        line-height: calc(26 / 12);
    }
    
    .mng_system .definition .term {
        flex-basis: calc(285 / 690 * 100%);
        padding: 10px;
        padding: 5px 10px 3px;
    }
    
    .mng_system .definition .description {
        padding: 5px 48px 3px 10px;
    }
    
    .mng_system .definition .text {
        font-size: 1rem;
        line-height: calc(15 / 10);
    }

    .mng_system #section03 {
        margin-top: 37px;
    }

}


/* **********************************************************
	.cg01
********************************************************** */
/* コーポレートガバナンス
--------------------------------------------------------------------*/
.cg01 .detail {
    margin: 68px auto 0;
}

.cg01 .scroll {
    width: 100%;
    padding-bottom: 25px;
    overflow-x: scroll;
    scrollbar-width: thin;
    scrollbar-color: #898989 #e5e5e5;
}

.cg01 .scroll::-webkit-scrollbar {
    height: 5px;
}

.cg01 .scroll::-webkit-scrollbar-track {
    border-radius: 2em;
    background: rgba(0, 0, 0, 0.1);
}

.cg01 .scroll::-webkit-scrollbar-thumb {
    border-radius: 2em;
    background: rgba(0, 0, 0, 0.4);
}

.cg01 .scroll img,
.cg01 .scroll table {
    cursor: grab;
}

.cg01 .detail_note {
    font-size: 1.2rem;
    line-height: calc(22 / 12);
    margin-top: 16px;
}

@media screen and (max-width: 768px) {

    .cg01 .detail {
        margin: 18px auto 0;
    }

    .cg01 .detail_title {
        line-height: calc(22 / 16);
    }

    .cg01 .detail_text {
        line-height: calc(45 / 28);
    }
    
    .cg01 .detail_note {
        font-size: 1rem;
        line-height: calc(17 / 10);
    }

    .cg01 .content > p{
        line-height: calc(22 / 14);
    }
}

/* コーポレートガバナンスに関する基本的な考え方
--------------------------------------------------------------------*/
.cg01 #section01 {
    margin-top: 35px;
}

.cg01 #section01 .detail_title {
   margin-bottom: 9px;
}

.cg01 #section01 .detail_img img {
    width: 1383px;
}

.cg01 #section02 {
    margin-top: 70px;
}

.cg01 #section02 .content {
    max-width: 734px;
    margin: 0 auto;
}

.cg01 #section02 .date {
    font-size: 1.2rem;
    line-height: 1;
    max-width: 734px;
    margin: 0 auto;
    text-align: right;
    padding-right: 20px;
}

.cg01 #section02 .img {
    overflow: visible;
    padding: 0;
}

.cg01 #section02 .img img {
    cursor: auto;
}

@media screen and (max-width: 768px) {

    .cg01 #section01 {
        margin-top: 14px;
    }

    .cg01 #section01 .detail {
        margin: 17px auto 0;
    }

    .cg01 #section01 .detail_title {
        margin-bottom: 5px;
     }

     .cg01 #section01 .detail_img {
        padding-bottom: 18px;
    }
    
    .cg01 #section01 .detail_img img {
        width: 1297px;
    }

    .cg01 #section02 {
        margin-top: 32px;
    }

}

@media screen and (max-width: 630px) {

    .cg01 #section02 .content .img {
        overflow-x: scroll;
        padding-bottom: 18px;
    }

    .cg01 #section02 .content .img img {
        width: 610px;
        cursor: grab;
    }

    .cg01 #section02 .date {
        font-size: 1rem;
        max-width: 610px;
        padding-right: 0;
        margin-bottom: 7px;
    }

}

/* 取締役会
--------------------------------------------------------------------*/
.cg01 #section03 {
    margin-top: 68px;
}

.cg01 #section03 .detail01 {
    margin-top: 67px;
}

.cg01 #section03 .detail01 .detail_title {
    margin-bottom: 8px;
}

.cg01 #section03 .detail01 .detail_text {
    margin-bottom: 27px;
}

.cg01 #section03 .detail_text {
    line-height: calc(30 / 16);
    margin-bottom: 20px;
}

.cg01 #section03 .detail_img {
    max-width: 619px;
    margin: 0 auto;
    overflow: visible;
    padding: 0;
}

.cg01 #section03 .detail_img img {
    cursor: auto;
}

.cg01 #section03 .detail02 .detail_title {
    margin-bottom: 8px;
}

.cg01 #section03 .detail02 {
    margin: 73px auto 0;
}

.cg01 #section03 .detail02 .detail_text {
    margin-bottom: 10px;
}

.cg01 #section03 .detail_note ul li {
    padding-left: 1em;
    text-indent: -1em;
}

.cg01 #section03 .table {
    width: 100%;
    background-color: #fff;
    display: block;
    white-space: nowrap;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 1.2rem;
    line-height: 1.5;
}

.cg01 #section03 .table th {
    font-weight: normal;
}

.cg01 #section03 .table thead, .cg01 #section03 .table tbody th {
    background-color: #efefef;
}

.cg01 #section03 .table thead th, .cg01 #section03 .table thead td {
    border: 2px solid #828282;
    padding: 5px 5px 2px;
}

.cg01 #section03 .table th:last-of-type, 
.cg01 #section03 .table td:last-of-type {
   border-right: none;
}

.cg01 #section03 .table thead th {
    text-align: center;
}

.cg01 #section03 .table thead th:nth-child(n + 4) {
    min-width: 134px;
    max-width: 134px;
    color: #fff;
    background-color: #07326d;
    font-size: 1.1rem;
}

.cg01 #section03 .table .th_position {
    padding-left: 15px;
}

.cg01 #section03 .table tbody th, .cg01 #section03 .table tbody td {
    padding: 6px 15px;
    border: 2px solid #828282;
}

.cg01 #section03 .table thead tr th:first-child,
.cg01 #section03 .table thead tr th:nth-child(2),
.cg01 #section03 .table thead tr th:nth-child(3) {
    border: none;
}

.cg01 #section03 .table thead tr td:first-child,
.cg01 #section03 .table thead tr td:nth-child(2),
.cg01 #section03 .table thead tr td:nth-child(3) {
    border: none;
}

.cg01 #section03 .table thead tr:last-child td .note_mark {
    font-size: 1rem;
    display: inline-block;
    vertical-align: top;
}

.cg01 #section03 .table tbody tr:nth-child(2n) {
    background-color: #f3f3f8;
}

.cg01 #section03 .table tbody th {
    border-left: none;
}

.cg01 #section03 .table tbody .border_double th,
.cg01 #section03 .table tbody .border_double td {
    border-top: 4px double #828282;
}

.cg01 #section03 .table tbody th {
    line-height: 1;
    padding: 10px;
    vertical-align: middle;
}

.cg01 #section03 .table tbody th span {
    writing-mode: vertical-rl;
    width: 10px;
    
}

.cg01 #section03 .table tbody td:nth-of-type(n + 3) {
    text-align: center;
    font-size: 1.6rem;
}

.cg01 #section03 .table tbody .name {
    font-size: 1.6rem;
    border-right: 2px solid transparent;
}

.cg01 #section03 .detail03 .detail_title {
    margin-bottom: 14px;
}

.cg01 #section03 .detail03 .detail_title .date {
    font-size: 1.2rem;
}

/* .table02 */
.cg01 #section03 .detail03 .detail_table {
    overflow: visible;
    padding: 0;
}

.cg01 #section03 .table02 {
    width: 100%;
    background-color: #fff;
    border-collapse: collapse;
    line-height: 1.5;
    cursor: auto;
}

.cg01 #section03 .table02 th {
    background-color: #efefef;
    border-top: 2px solid #828282;
    border-bottom: 2px solid #828282;
    padding: 5px 5px 4px 0;
    text-align: left;
} 

.cg01 #section03 .table02 th:first-child {
    width: calc(240 / 820  * 100%);
    padding: 5px 5px 4px;
} 

.cg01 #section03 .table02 th:nth-child(2) {
    width: calc(270 / 820 * 100%);
} 

.cg01 #section03 .table02 th:nth-child(3) {
    width: calc(310 / 820 * 100%);
} 

.cg01 #section03 .table02 th:nth-child(3) span {
    display: inline-block;
    width: 170px;
    text-align: center;
} 

.cg01 #section03 .table02 td {
    border-bottom: 2px solid #828282;
    padding: 5px 5px 4px 0;
} 

.cg01 #section03 .table02 td:first-child {
    padding: 5px 5px 4px;
}

.cg01 #section03 .table02 td:last-child span {
    display: inline-block;
    width: 170px;
    text-align: center;
}

.cg01 #section03 .table02 .border_double td {
    border-top: 3px double #828282;
}

@media screen and (max-width: 768px) {

    .cg01 #section03 {
        margin-top: 35px;
    }

    .cg01 #section03 .detail01 {
        margin-top: 17px;
    }

    .cg01 #section03 .detail01 .detail_title {
        margin-bottom: 11px;
    }

    .cg01 #section03 .detail01 .detail_text {
        margin-bottom: 21px;
    }

    .cg01 #section03 .detail_text {
        line-height: calc(22 / 14);
        margin-bottom: 25px;
    }

    .cg01 #section03 .detail02 {
        margin: 36px auto 0;
    }

    .cg01 #section03 .detail02 .detail_title {
        margin-bottom: 11px;
    }
    
    .cg01 #section03 .detail02 .detail_text {
        margin-bottom: 19px;
    }

    .cg01 #section03 .detail02 .table_wrapper {
        padding-bottom: 19px;
    }
    
    .cg01 #section03 .table thead th {
        padding: 2px 5px 1px;
    }

    .cg01 #section03 .table .th_name {
        padding-left: 10px;
    }
    
    .cg01 #section03 .table .th_position {
        padding-left: 10px;
    }
    
    .cg01 #section03 .table tbody th, .cg01 #section03 .table tbody td {
        padding: 4px 10px;
    }
    
    .cg01 #section03 .table tbody th:first-child {
        padding: 6px;
    }
    
    .cg01 #section03 .table tbody td:nth-of-type(n + 3) {
        font-size: 1.2rem;
    }
    
    .cg01 #section03 .table tbody .name {
        font-size: 1.4rem;
    }

    .cg01 #section03 .detail03 .detail_title {
        margin-bottom: 17px;
    }
    
    .cg01 #section03 .detail03 .detail_title .date {
        font-size: 1.4rem;
    }
        
}

@media screen and (max-width: 516px) {

    .cg01 #section03 .detail_img {
        max-width: 100%;
        overflow-x: scroll;
        padding-bottom: 23px;
    }
    
    .cg01 #section03 .detail_img img {
        width: 496px;
        cursor: grab;
    }

}

@media screen and (max-width: 618px) {

    /* .table02 */
    .cg01 #section03 .detail03 .detail_table {
        overflow-x: scroll;
        padding-bottom: 25px;
    }

    .cg01 #section03 .table02 {
        cursor: grab;
        width: 598px;
    }
    
    .cg01 #section03 .table02 th {
        font-size: 1rem;
        line-height: 1;
        padding: 5px 0 4px 4px;
    } 
    
    .cg01 #section03 .table02 td {
        font-size: 1.3rem;
        line-height: 1.1;
        padding: 0 0 0 4px;
    } 

    .cg01 #section03 .table02 th:nth-child(3) span {
        width: 140px;
    } 

    .cg01 #section03 .table02 td:last-child span {
        width: 140px;
    }
}

/* 取締役会の実効性評価
--------------------------------------------------------------------*/
.cg01 #section04 {
    margin-top: 76px;
}

.cg01 #section04 .detail01 {
    margin: 17px auto 0;
}

.cg01 #section04 .detail_inner {
    display: flex;
    width: 100%;
    margin-bottom: 30px;
}

.cg01 #section04 .list {
    width: calc(395 / 820 * 100%);
    margin-right: calc(30 / 820 * 100%);
}

.cg01 #section04 .list:last-child {
    margin-right: 0;
}

.cg01 #section04 .item {
    font-size: 1.4rem;
    line-height: calc(30 / 14);
    border-bottom: 2px solid #a4a4a4;
    padding: 2px 5px;
}

.cg01 #section04 .item:first-child {
    border-top: 2px solid #a4a4a4;
}

.cg01 #section04 .item span {
    display: inline-block;
    margin-right: 0.5em;
}

.cg01 #section04 .detail01 .detail_section_title {
    width: 104px;
    height: 92px;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e6e6e6;
    margin-right: 30px;
    float: left;
    font-weight: normal;
}

.cg01 #section04 .detail01 .detail_section_text {
    font-size: 1.4rem;
    line-height: calc(26 / 14);
    margin-bottom: 0;
}

.cg01 #section04 .detail02 {
    margin: 75px auto 0;
}

.cg01 #section04 .detail01 .detail_title {
    margin-bottom: 6px;
}

.cg01 #section04 .detail02 .detail_text {
    margin-bottom: 17px;
    line-height: calc(30 / 16);
}

.cg01 #section04 .detail02 .detail_table_text {
    line-height: calc(30 / 16);
}

/* .table03 */
.cg01 #section04 .detail_table {
    margin-bottom: 15px;
}

.cg01 #section04 .detail_table.mb0 {
    margin-bottom: 0;
}

.cg01 #section04 .table_wrapper {
    margin-bottom: 21px;
    overflow: visible;
    padding: 0;
}

.cg01 #section04 .table03 {
    width: 100%;
    background-color: #fff;
    border-collapse: collapse;
    font-size: 1.4rem;
    line-height: 1.5;
    cursor: auto;
}

.cg01 #section04 .table03 th {
    background-color: #efefef;
    border-top: 2px solid #828282;
    border-bottom: 2px solid #828282;
    padding: 5px 0px 4px 8px;
    text-align: left;
} 

.cg01 #section04 .table03 th:nth-child(2) {
    padding: 5px 8px 4px 44px;
} 

.cg01 #section04 .table03 th:first-child {
    width: calc(362 / 820  * 100%);
} 

.cg01 #section04 .table03 th:nth-child(2) {
    width: calc(458 / 820 * 100%);
} 

.cg01 #section04 .table03 td {
    border-bottom: 2px solid #828282;
    padding: 16px 20px 14px 8px;
    vertical-align: middle;
} 

.cg01 #section04 .table03 td:nth-child(2) {
    padding: 16px 8px 14px 44px;
} 

.cg01 #section04 .table03 td:first-child {
    position: relative;
}

.cg01 #section04 .table03 td:first-child::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-left: 15px solid #07326d;
    border-bottom: 12px solid transparent;
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
}

.cg01 #section04 .detail_section .table03 td {
    padding: 11px 20px 9px 8px;
} 

.cg01 #section04 .detail_section .table03 td:nth-child(2) {
    padding: 11px 8px 9px 44px;
} 

.cg01 #section04 .detail02 .detail_section_title {
    font-size: 1.4rem;
    line-height: calc(26 / 14);
    margin-bottom: 6px;
}

.cg01 #section04 .detail02 .detail_section_text {
    margin-bottom: 18px;
}

.cg01 #section04 .detail_section_text {
    font-size: 1.4rem;
    line-height: calc(26 / 14);
    margin-bottom: 25px;
}

.cg01 #section04 .detail_section .table03 th {
    background-color: transparent;
    border-top: none;
}

.cg01 #section04 .detail_section .table03 td:first-child::after {
    border-left: 15px solid #a4a4a4;
}

@media screen and (max-width: 768px) {

    .cg01 #section04 {
        margin-top: 36px;
    }

    .cg01 #section04 .detail01 {
        margin: 18px auto 0;
    }
    
    .cg01 #section04 .detail_inner {
        display: block;
        margin-bottom: 24px;
    }
    
    .cg01 #section04 .list {
        width: 100%;
        margin-right: 0;
    }
    
    .cg01 #section04 .item {
        font-size: 1.3rem;
        line-height: calc(36 / 26);
        padding: 2px 4px;
    }

    .cg01 #section04 .list:last-child .item:first-child {
        border-top: none;
    }

    .cg01 #section04 .detail01 {
        margin-bottom: 32px;
    }

    .cg01 #section04 .detail01 .detail_title {
        margin-bottom: 10px;
    }
    
    .cg01 #section04 .detail01 .detail_section_title {
        font-size: 1.4rem;
        width: 80px;
        height: 69px;
        background-color: #e6e6e6;
        margin-right: 15px;
    }
    
    .cg01 #section04 .detail01 .detail_section_text {
        font-size: 1.4rem;
        line-height: calc(22 / 14);
    }
    
    .cg01 #section04 .detail02 {
        margin: 40px auto 0;
    }

    .cg01 #section04 .detail02 .detail_title {
        margin-bottom: 12px;
    }
    
    .cg01 #section04 .detail02 .detail_text {
        margin-bottom: 21px;
        line-height: calc(22 / 14);
    }

    .cg01 #section04 .detail02 .detail_table_text {
        line-height: calc(22 / 14);
    }
    
    .cg01 #section04 .detail02 .detail_section_title {
        line-height: calc(22 / 14);
        letter-spacing: -0.02em;
        margin-bottom: 12px;
    }

    .cg01 #section04 .detail02 .detail_section_text {
        margin-bottom: 16px;
        line-height: calc(22 / 14);
    }

}

@media screen and (max-width: 605px) {

    /* .table03 */
    .cg01 #section04 .detail_table {
        margin-bottom: 16px;
    }

    .cg01 #section04 .detail_table > p {
        line-height: calc(45 / 28);
    }

    .cg01 #section04 .table_wrapper {
        overflow-x: scroll;
        padding-bottom: 25px;
        margin-bottom: 20px;
    }
    
    .cg01 #section04 .table03 {
        width: 585px;
        cursor: grab;
    }
    
    .cg01 #section04 .table03 th {
        padding: 4px 5px 5px;
        font-size: 1rem;
        line-height: 1;
    } 
    
    .cg01 #section04 .table03 th:nth-child(2) {
        padding: 4px 5px 5px 30px;
    } 
    
    .cg01 #section04 .table03 td {
        font-size: 1.1rem;
        line-height: calc(16 / 11);
        padding: 8px 20px 7px 5px;
    } 
    
    .cg01 #section04 .table03 td:nth-child(2) {
        padding: 8px 5px 7px 30px;
    } 
    
    .cg01 #section04 .table03 td:first-child::after {
        border-top: 8px solid transparent;
        border-left: 11px solid #07326d;
        border-bottom: 8px solid transparent;
    }

    .cg01 #section04 .detail_section .table03 td {
        padding: 7px 20px 5px 5px;
    }

    .cg01 #section04 .detail_section .table03 td:nth-child(2) {
        padding: 7px 5px 5px 30px;
    }

    .cg01 #section04 .detail_section .table03 td:first-child::after {
        border-left: 11px solid #a4a4a4;
    }
}

/* #cg_link
--------------------------------------------------------------------*/
#cg_link .list {
    display: flex;
    justify-content: center;
    gap: 10px;
}

#cg_link {
    padding-top: 80px;
}

#cg_link .item {
    width: 50px;
    height: 50px;
}

#cg_link .link.active {
    background-color: var(--link_blue_h);
}

#cg_link .link {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background-color: var(--link_blue);
    transition: .3s ease;
}

#cg_link .link:hover,
#cg_link .link.active{
    background-color: var(--link_blue_h);
}


/* **********************************************************
	.cg02
********************************************************** */
/* コーポレートガバナンス
--------------------------------------------------------------------*/
.cg02 .detail {
    margin: 80px auto 0;
}

.cg02 .detail_text {
    line-height: calc(30 / 16);
}

.cg02 .detail_note {
    font-size: 1.2rem;
    line-height: calc(22 / 12);
    margin-top: 13px;
}

.cg02 .detail_section {
    margin: 80px auto 0;
}

.cg02 .detail_section_title {
    line-height: calc(26 / 16);
    margin-bottom: 20px;
}

.cg02 .detail_section_text {
    line-height: calc(30 / 16);
    margin-bottom: 17px;
}

.cg02 .scroll {
    width: 100%;
    padding-bottom: 25px;
    overflow-x: scroll;
    scrollbar-width: thin;
    scrollbar-color: #898989 #e5e5e5;
}

.cg02 .scroll::-webkit-scrollbar {
    height: 5px;
}

.cg02 .scroll::-webkit-scrollbar-track {
    border-radius: 2em;
    background: rgba(0, 0, 0, 0.1);
}

.cg02 .scroll::-webkit-scrollbar-thumb {
    border-radius: 2em;
    background: rgba(0, 0, 0, 0.4);
}

.cg02 .scroll img,
.cg02 .scroll table {
    cursor: grab;
}

@media screen and (max-width: 768px) {

    .cg02 .detail {
        margin: 25px auto 0;
    }

    .cg02 .detail_text {
        line-height: calc(22 / 14);
    }
    
    .cg02 .detail_note {
        font-size: 1rem;
        line-height: calc(17 / 10);
        margin-top: 16px;
    }

    .cg02 .detail_section {
        margin: 40px auto 0;
    }

    .cg02 .detail_section_title {
        font-size: 1.6rem;
        line-height: calc(22 / 16);
    }

    .cg02 .detail_section_text {
       font-size: 1.4rem;
       line-height: calc(22 / 14);
       margin-bottom: 25px;
    }
}

/* 報酬委員会・指名委員会
--------------------------------------------------------------------*/
.cg02 #section01 {
    margin-top: 37px;
}

.cg02 #section01 .detail {
    max-width: 620px;
    margin: 20px auto 0;
}

.cg02 #section01 .detail_section01 {
    margin: 68px auto 0;
}

.cg02 #section01 .detail_section02 {
    margin: 74px auto 0;
}

.cg02 #section01 .detail_img {
    overflow: visible;
    padding: 0;
}

.cg02 #section01 .detail_img img {
    cursor: auto;
}

.cg02 #section01 .detail_section_title {
    margin-bottom: 7px;
}

.cg02 #section01 .detail_section_text {
    margin-bottom: 12px;
}

.cg02 #section01 .detail_table02_bottom {
    margin-bottom: 0;
}

.cg02 #section01 .table_wrapper {
    overflow: visible;
    padding: 0;
}

.cg02 #section01 .table {
    font-size: 1.4rem;
    width: 100%;
    background-color: #fff;
    border-collapse: collapse;
    line-height: calc(26 / 14);
    cursor: auto;
    text-align: left;
}

.cg02 #section01 .table th {
    background-color: #eeeeee;
    border-bottom: 2px solid #5e5e5e;
    padding: 6px 9px 3px 20px;
    width: calc(210 / 820  * 100%);
    font-weight: normal;
} 

.cg02 #section01 .table tr:first-child th {
    border-top: 2px solid #5e5e5e;
}

.cg02 #section01 .table tr:first-child td {
    border-top: 2px solid #5e5e5e;
    padding: 6px 20px 3px;
    text-indent: 0;
} 

.cg02 #section01 .table td {
    border-bottom: 2px solid #5e5e5e;
    padding: 6px 5px 3px 29px;
    width: calc(305 / 820 * 100%);
    text-indent: -10px;
} 

.cg02 #section01 .table tr:nth-child(2) td {
    padding-bottom: 0;
    border-bottom:  none;
} 

.cg02 #section01 .detail_table02  {
   margin-bottom: 21px;
}

.cg02 #section01 .detail_table02 .table td {
    width: calc(610 / 820  * 100%);
} 

@media screen and (max-width: 768px) {

    .cg02 #section01 {
        margin-top: 15px;
    }

    .cg02 #section01 .detail {
        margin: 18px auto 0;
    }

    .cg02 #section01 .detail_section01 {
        margin: 33px auto 0;
    }

    .cg02 #section01 .detail_section02 {
        margin: 37px auto 0;
    }

    .cg02 #section01 .detail_section_title {
        margin-bottom: 12px;
    }

    .cg02 #section01 .detail_section_text {
        margin-bottom: 22px;
    }

    .cg02 #section01 .table_wrapper {
        overflow-x: scroll;
        padding-bottom: 25px;
    }
    
    .cg02 #section01 .table {
        width: 820px;
        font-size: 1.3rem;
        line-height: calc(24 / 13);
        cursor: grab;
    }
    
    .cg02 #section01 .table th {
        padding: 5px 20px 3px;
    } 
    
    .cg02 #section01 .table tr:first-child td {
        padding: 5px 20px 3px;
        text-indent: 0;
    } 
    
    .cg02 #section01 .table td {
        padding: 5px 33px 3px;
        text-indent: -9px;
    } 
    
    .cg02 #section01 .detail_table02  {
       margin-bottom: 17px;
    } 

}

@media screen and (max-width: 579px) {

    .cg02 #section01 .detail_img {
        overflow-x: scroll;
        padding-bottom: 25px;
    }
    
    .cg02 #section01 .detail_img img {
        width: 550px;
        cursor: grab;
    }

    .cg02 #section01 .detail_table02_bottom {
        font-size: 1.1rem;
        line-height: calc(17 / 11);
    }
}

/* 監査役会
--------------------------------------------------------------------*/
.cg02 #section02 {
    margin-top: 68px;
}

.cg02 #section02 .detail {
    max-width: 485px;
    margin: 22px auto 0;
}

.cg02 #section02 .detail_section {
    margin: 72px auto 0;
}

.cg02 #section02 .detail_section_title .date {
    font-size: 1.2rem;
}

.cg02 #section02 .detail_section_title {
    margin-bottom: 8px;
}

.cg02 #section02 .detail_section_text {
    margin-bottom: 23px;
}

.cg02 #section02 .detail_table {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.cg02 #section02 .table_wrapper {
    width: calc(395 / 820 * 100%);
}

.cg02 #section02 .table {
    width: 100%;
    background-color: #fff;
    border-collapse: collapse;
    font-size: 1.4rem;
    line-height: calc(30 / 14);
    text-align: left;
}

.cg02 #section02 .table th {
    background-color: #efefef;
    border-top: 2px solid #8c8c8c;
    border-bottom: 2px solid #8c8c8c;
    padding: 4px 5px;
} 

.cg02 #section02 .table th:first-child {
    width: calc(106 / 395  * 100%);
}

.cg02 #section02 .table th:last-child {
    width: calc(193 / 395  * 100%);
    text-align: center;
}

.cg02 #section02 .table td {
    border-bottom: 2px solid #8c8c8c;
    padding: 4px 5px;
} 

.cg02 #section02 .table td:last-child {
    text-align: center;
}

@media screen and (max-width: 768px) {

    .cg02 #section02 {
        margin-top: 31px;
    }

    .cg02 #section02 .detail {
        margin: 23px auto 0;
    }

    .cg02 #section02 .detail_section {
        margin: 37px auto 0;
    }
    .cg02 #section02 .detail_section_title {
        margin-bottom: 11px;
    }

    
    .cg02 #section02 .detail_section_title .date {
        font-size: 1.4rem;
    }
    
    .cg02 #section02 .detail_section_text {
        margin-bottom: 22px;
    }

    .cg02 #section02 .detail_table {
        display: block;
    }
    
    .cg02 #section02 .table_wrapper {
        width: 100%;
        margin-bottom: 25px;
    }

    .cg02 #section02 .table_wrapper:last-child {
        margin-bottom: 0;
    }
    
    .cg02 #section02 .table {
        font-size: 1.3rem;
        line-height: calc(15 / 13);
    }
    
    .cg02 #section02 .table th {
        padding: 9px 5px;
    } 
    
    .cg02 #section02 .table th:first-child {
        width: calc(190 / 690 * 100%);
    }
    
    .cg02 #section02 .table th:last-child {
        width: calc(322 / 690  * 100%);
    }
    
    .cg02 #section02 .table td {
        padding: 9px 5px;
    } 
}

/* 社外役員の会合
--------------------------------------------------------------------*/
.cg02 #section03 {
    margin-top: 75px;
}

@media screen and (max-width: 768px) {

    .cg02 #section03 {
        margin-top: 36px;
    }

}

/* 役員報酬
--------------------------------------------------------------------*/
.cg02 #section04 {
    margin-top: 69px;
}

.cg02 #section04 .detail {
    margin: 66px auto 0;
}

.cg02 #section04 .detail:first-child {
    margin: 0 auto;
}

.cg02 #section04 .detail_title {
    margin-bottom: 9px;
}

.cg02 #section04 .detail_section {
    margin: 37px auto 0;
}

.cg02 #section04 .detail_section_title::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background-color: #000;
    margin-right: 7px;
}

.cg02 #section04 .detail_section_title {
    margin-bottom: 7px;
}

.cg02 #section04 .detail_section_text {
    margin-bottom: 18px;
}

.cg02 #section04 .detail_section .item{
    margin-bottom: 18px;
}

.cg02 #section04 .detail_section .item_title {
    line-height: calc(26 / 16);
    margin-bottom: 8px;
}

.cg02 #section04 .item_title span {
    display: inline-block;
    margin-right: 6px;
}

.cg02 #section04 .detail_title span {
    font-size: 1.2rem;
}

.cg02 #section04 .detail .list {
    line-height: calc(30 / 16);
}

.cg02 #section04 .detail03 .detail_text {
    margin-bottom: 13px;
}

.cg02 #section04 .detail03 .table_wrapper {
    overflow: visible;
    padding: 0;
}

.cg02 #section04 .detail03 .table {
    width: 100%;
    background-color: #fff;
    border-collapse: collapse;
    font-size: 1.4rem;
    line-height: calc(26 / 14);
    cursor: auto;
}

.cg02 #section04 .detail03 th {
    background-color: #eeeeee;
    border-top: 2px solid #939393;
    border-bottom: 2px solid #939393;
    padding: 5px 10px;
    text-align: left;
    vertical-align: middle;
} 

.cg02 #section04 .detail03 th:first-child {
    width: calc(148 / 820  * 100%);
} 

.cg02 #section04 .detail03 th:nth-child(2) {
    width: calc(300 / 820 * 100%);
} 

.cg02 #section04 .detail03 th:nth-child(3) {
    width: calc(181 / 820 * 100%);
} 

.cg02 #section04 .detail03 th:last-child {
    width: calc(191 / 820 * 100%);
} 

.cg02 #section04 .detail03 td {
    border-bottom: 2px solid #939393;
    padding: 5px 9px 5px 10px;
    vertical-align: middle;
} 

.cg02 #section04 .detail03 td span {
    display: block;
    margin-left: -0.5em;
} 

.cg02 #section04 .detail03 td:first-child span {
    font-size: 1.2rem;
}

.cg02 #section04 .detail04 {
    margin: 74px auto 0;
}

.cg02 #section04 .detail04 .detail_title {
    margin-bottom: 13px;
}

/* .table */
.cg02 #section04 .detail04 .table_wrapper {
    overflow: visible;
    padding: 0;
}

.cg02 #section04 .detail04 .table {
    width: 100%;
    cursor: auto;
    font-size: 1.4rem;
    line-height: calc(26 / 14);
    text-align: center;
}

.cg02 #section04 .detail04 .lists {
    width: 100%;
    display: flex;
}

.cg02 #section04 .detail04 .lists {
    width: 100%;
    display: flex;
}

.cg02 #section04 .detail04 .list {
    margin-right: calc(10 / 820 * 100%);
    border-bottom: 2px solid #828282;
}

.cg02 #section04 .detail04 .list:first-child {
    width: calc(306 / 820 * 100%);
}

.cg02 #section04 .detail04 .list:nth-child(n + 2) {
    width: calc(162 / 820 * 100%);
}

.cg02 #section04 .detail04 .list:last-child {
    margin-right: 0;
}

.cg02 #section04 .detail04 .items {
    display: flex;
}

.cg02 #section04 .detail04 .item {
    padding: 6px 10px 4px;
}

.cg02 #section04 .detail04 .list:first-child .item:first-child {
    width: calc(186 / 306 * 100%);
    margin-right: calc(9 / 306 * 100%);
}

.cg02 #section04 .detail04 .list:first-child .item:last-child {
    width: calc(111 / 306 * 100%);
}

.cg02 #section04 .detail04 .list:nth-child(n + 2) .item:first-child {
    width: calc(60 / 162 * 100%);
    margin-right: calc(27 / 162 * 100%);
}

.cg02 #section04 .detail04 .list:nth-child(n + 2) .item:last-child {
    width: calc(75 / 162 * 100%);
}

.cg02 #section04 .detail04 .no_item {
    position: relative;
}

.cg02 #section04 .detail04 .no_item::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 19px;
    left: 50%;
    transform: translateX(-50%);
}

/* .table .thead */
.cg02 #section04 .detail04 .thead {
    background-color: #eeeeee;
    border-top: 2px solid #828282;
}

.cg02 #section04 .detail04 .thead_title {
    width: calc(506 / 820 * 100%);
    margin: 0 0 0 auto;
    border-bottom: 2px solid #828282;
    padding: 2px 10px 1px;
}

.cg02 #section04 .detail04 .thead_sub-title {
    border-bottom: 2px solid #828282;
    padding: 2px 10px 1px;
}

.cg02 #section04 .detail04 .thead .list:first-child .items {
    align-items: flex-end;
    height: 100%;
}

.cg02 #section04 .detail04 .thead .list:first-child .item:last-child {
    border-top: 2px solid #828282;
}

.cg02 #section04 .detail04 .thead .list:first-child .item:first-child .item_title {
    margin-bottom: 30px;
}

.cg02 #section04 .detail04 .thead .item {
    padding: 0px 10px;
}

.cg02 #section04 .detail04 .thead .item_text {
    font-weight: 700;
}

/* .table .tbody */
.cg02 #section04 .detail04 .tbody .list {
    border-bottom: none;
}

.cg02 #section04 .detail04 .tbody .items {
    border-bottom: 2px solid #828282;
}

.cg02 #section04 .detail04 .tbody .item_title {
    font-weight: normal;
}

.cg02 #section04 .detail04 .tbody .list:first-child .item:first-child {
    text-align: left;
}

.cg02 #section04 .detail04 .tbody .list:first-child .item:first-child .item_text {
    display: block;
    font-size: 1.2rem;
}

@media screen and (max-width: 768px) {

    .cg02 #section04 {
        margin-top: 32px;
    }

    .cg02 #section04 .detail {
        margin: 33px auto 0;
    }

    .cg02 #section04 .detail > .list .item {
        line-height: calc(22 / 14);
        padding-left: 1em;
        text-indent: -1em;
    }
    
    .cg02 #section04 .detail_section {
        margin: 33px auto 0;
    }

    .cg02 #section04 .detail_section_title::before {
        width: 12px;
        height: 12px;
    }

    .cg02 #section04 .detail_section01 {
        margin: 34px auto 0;
    }

    .cg02 #section04 .detail_section01 .detail_section_title {
        margin-bottom: 7px;
    }

    .cg02 #section04 .detail_section_title {
        margin-bottom: 13px;
    }
    
    .cg02 #section04 .detail_section01 .detail_section_text {
        margin-bottom: 15px;
    }

    .cg02 #section04 .detail_section_text {
        margin-bottom: 18px;
    }
    
    .cg02 #section04 .detail_section .item{
        margin-bottom: 16px;
    }

    .cg02 #section04 .detail_section .item_text{
        line-height: calc(22 / 14);
    }
    
    .cg02 #section04 .detail_section .item_title {
        font-size: 1.6rem;
        margin-bottom: 11px;
    }

    .cg02 #section04 .detail_section .item_title .text {
        font-size: 1.4rem;
        display: inline-block;
        margin-right: 0;
        margin-left: 4px;
    }

    .cg02 #section04 .detail_title {
        margin-bottom: 12px;
        line-height: calc(23 / 16);
    }

    
    .cg02 #section04 .detail_title span {
        font-size: 1.4rem;
    }

    .cg02 #section04 .detail03 {
        margin-top: 32px;
    }
    
    .cg02 #section04 .detail03 .detail_text {
        margin-bottom: 22px;
    }
    
    .cg02 #section04 .detail03 .table_wrapper {
        overflow-x: scroll;
        padding-bottom: 25px;
    }
    
    .cg02 #section04 .detail03 .table {
        width: 820px;
        font-size: 1.3rem;
        line-height: calc(24 / 13);
        cursor: grab;
    }

    .cg02 #section04 .detail03 th {
        padding: 5px 30px 4px 10px;
    } 

    .cg02 #section04 .detail03 th:first-child {
        padding: 5px 15px 4px 5px;
    }
    
    .cg02 #section04 .detail03 td {
        padding: 5px 30px 4px 10px;
        line-height: calc(48 / 26);
    } 

    .cg02 #section04 .detail03 td:first-child {
        padding: 5px 15px 4px 10px;
        line-height: calc(37 / 26);
    } 
    
    .cg02 #section04 .detail03 td:first-child span {
        font-size: 1rem;
    } 
    
}

@media screen and (max-width: 840px) {

    /* .detail04 .table */
    .cg02 #section04 .detail04 {
        margin: 40px auto 0;
    }

    .cg02 #section04 .detail04 .detail_title {
        line-height: calc(24 / 16);
        margin-bottom: 17px;
    }

    .cg02 #section04 .detail04 .table_wrapper {
        overflow-x: scroll;
        padding-bottom: 25px;
    }
    
    .cg02 #section04 .detail04 .table {
        width: 820px;
        cursor: grab;
        font-size: 1.3rem;
        line-height: calc(15 / 13);
    }

    .cg02 #section04 .detail04 .thead .item {
        padding: 8px 10px 7px;
    }
    
    .cg02 #section04 .detail04 .item {
        padding: 9px 5px;
    }
    
    /* .table .thead */
    .cg02 #section04 .detail04 .thead {
        background-color: #eeeeee;
        border-top: 2px solid #828282;
    }
    
    .cg02 #section04 .detail04 .thead_title {
        padding: 9px 5px;
    }
    
    .cg02 #section04 .detail04 .thead_sub-title {
        padding: 9px 5px;
    }

    .cg02 #section04 .detail04 .thead .list:first-child .item:first-child .item_title {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .cg02 #section04 .detail04 .thead .item_text {
        font-size: 1.1rem;
        line-height: calc(30 / 22);
    }
    
    /* .table .tbody */
    .cg02 #section04 .detail04 .tbody .list:first-child .item:first-child .item_text {
        font-size: 1.1rem;
        line-height: calc(30 / 22);
        margin-top: 2px;
    }

}

@media screen and (max-width: 380px) {

    .cg02 #section04 .detail_section_title.sp_mr_s::before {
        margin-right: 2px;
    }

}

/* コーポレートガバナンス・ガイドライン
--------------------------------------------------------------------*/
.cg02 #section05 {
    margin-top: 78px;
}

.cg02 #section05 .content {
    padding: 32px 37px 30px;
    background-color: #efefef;
}

.cg02 #section05 .title {
    line-height: calc(26 / 16);
    margin-bottom: 8px;
}

.cg02 #section05 .detail_btn_wrapper {
    text-align: right;
}

.cg02 #section05 .detail_btn {
    display: inline-flex;
    align-items: center;
}

.cg02 #section05 .detail_btn:hover {
    text-decoration: underline;
}

.cg02 #section05 .detail_label {
    margin-right: 8px;
    width: 60px;
    min-width: 60px;
}

.cg02 #section05 .detail_label span {
    font-size: 1.3rem;
    line-height: 1;
    color: #fff;
    background-color: var(--main_color);
    padding: 9px 8px 8px;
    border-radius: 2em;
    display: block;
    width: 100%;
    text-align: center;
}

.cg02 #section05 .detail_text {
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 600;
}

.cg02 #section05 .detail_text::after {
    content: "";
    display: inline-block;
    width: 29px;
    height: 19px;
    background: url(/csr/ir/online/2022/06/img/cg02/ex_link.png) center center / contain no-repeat;
    margin-left: 5px;
    position: relative;
    top: 3px;
}

.cg02 #section05 .sp_ss_only {
    display: none;
}

@media screen and (max-width: 768px) {

    .cg02 #section05 {
        margin-top: 40px;
    }

    .cg02 #section05 .content {
        padding: 25px;
    }
    
    .cg02 #section05 .title {
        font-size: 1.6rem;
        margin-bottom: 6px;
    }
    
    .cg02 #section05 .detail_btn_wrapper {
        text-align: left;
    }

    .cg02 #section05 .detail_btn {
        margin-top: 9px;
    }
    
    .cg02 #section05 .detail_label {
        margin-right: 11px;
    }
    
    .cg02 #section05 .detail_label span {
        font-size: 1.3rem;
        padding: 8px 17px 9px;
    }
    
    .cg02 #section05 .detail_text {
        font-size: 1.4rem;
        line-height: calc(17 / 14);
        font-weight: normal;
    }
    
    .cg02 #section05 .detail_text::after {
        width: 15px;
        height: 10px;
        background: url(/csr/ir/online/2022/06/img/cg02/ex_link.png) center center / contain no-repeat;
        margin-left: 11px;
        top: 3px;
    }

}

@media screen and (max-width: 480px) {
    .cg02 #section05 .sp_ss_only {
        display: block;
    }
}



