@charset "UTF-8";
/* CSS Document */

.mv {
    position:relative;
}
.mv img {
    display: block;
}

@media (max-width: 768px) {
    .mv figure {
        height:auto;
        aspect-ratio:2/1;
    }
    .mv img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

@media (max-width: 600px) {
    .mv figure {
        height:auto;
        aspect-ratio:4/3;
    }
}


/* COMPANY TOP */

.grid_index_wrap.company_top_index {
    gap:0;
    grid-template-columns: 33.3333% 4.1667% 12.4995% 16.66665% 8.333% 25%;
    grid-template-rows: 2fr 1fr 1fr;
}
.grid_index_wrap a {
    display: flex;
    color:white;
    padding-inline:2.6vw;
    width:100%;
    height:100%;
    padding-top:40px;
    padding-bottom:120px;
}
.grid_index_wrap a h3 {
    font-size: 2vw;
    display: flex;
    flex-direction: column;
    line-height: 1.5;
    color:white;
}
.grid_index_wrap a h3 .en {
    white-space: nowrap;
}
.grid_index_wrap a h3 .ja {
    font-size:50%;
}

.grid_index_wrap.company_top_index .col01 {
    grid-column: 1 / 4;
    grid-row: 1 / 2;
}
.grid_index_wrap.company_top_index .col02 {
    grid-column: 4 / 7;
    grid-row: 1 / 2;
}
.grid_index_wrap.company_top_index .col03 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
.grid_index_wrap.company_top_index .col04{
    grid-column: 2 / 5;
    grid-row: 2 / 3;
}
.grid_index_wrap.company_top_index .col05{
    grid-column: 5 / 7;
    grid-row: 2 / 3;
}
.grid_index_wrap.company_top_index .col06 {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
}
.grid_index_wrap.company_top_index .col07 {
    grid-column: 3 / 6;
    grid-row: 3 / 4;
}
.grid_index_wrap.company_top_index .col08 {
    grid-column: 6 / 7;
    grid-row: 3 / 4;
}
@media (max-width: 1024px) {

}
@media (max-width: 768px) {
.grid_index_wrap.company_top_index {
    grid-template-rows: 1.5fr 1fr 1fr 1fr;
}
.grid_index_wrap a h3 {
    font-size: 1.75em;
}
.grid_index_wrap a h3 .en {
    white-space:normal
}
.grid_index_wrap a{
        padding-inline:5.2vw;
        padding-top:30px;
        padding-bottom:40px;
}
.grid_index_wrap.company_top_index .col03 {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
}
.grid_index_wrap.company_top_index .col04{
    grid-column: 3 / 7;
    grid-row: 2 / 3;
}
.grid_index_wrap.company_top_index .col05{
    grid-column: 1 / 5;
    grid-row: 3 / 4;
}
.grid_index_wrap.company_top_index .col06 {
    grid-column: 5 / 7;
    grid-row: 3 / 4;
}
.grid_index_wrap.company_top_index .col07 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
}
.grid_index_wrap.company_top_index .col08 {
    grid-column: 3 / 7;
    grid-row: 4 / 5;
}

}

@media (max-width: 600px) {
.grid_index_wrap.company_top_index {
    display: block
}
.grid_index_wrap.company_top_index > * {
    width:100%; 
}
}


/* COMPANY PROFILE */
.outline_table {
    width:100%;
}
.outline_table table tr > td:first-child {
    width:18.75%;
}
@media (max-width: 768px) {
    .outline_table table tr > td:first-child {
        width:30%;
    }
}

/* history */
.history_table {
    width:100%;
}
.history_table table tr > td:first-child {
    width:12.5%;
    padding:10px 0;
}
@media (max-width: 768px) {
    .outline_table table tr > td:first-child {
        width:30%;
    }
}

/* performance */
.performance_table {
    width:90%;
    margin-left:auto;
    margin-right:auto;
}
.performance_table thead tr th {
    background-color: white !important;
    text-align: center;
    font-size:1.222em;
}
.performance_table tbody tr > td {
    text-align: center;
    font-weight:500;
}
.performance_table tbody tr > td:not(:last-child){
    border-right:6px solid white;
}
@media (max-width: 768px) {
    .performance_table thead tr th {
        font-size:1.111em;
    }
    .performance_table {
        min-width:550px;
        width:100%;
    }

}
@media (max-width: 600px) {
    .table01 .performance_table tbody > tr {
        display: table-row;
    }
    .table01 .performance_table tbody tr > td{
        display: table-cell;
    }
    .table01 .performance_table tr > td,.table01 .performance_table tr > td:first-child  {
        width:auto !important;
    }
    .table01 .performance_table tr:nth-of-type(even) > td:first-child{
        background-color: white;
    }
    .table01 .performance_table tr:nth-of-type(odd) > td:last-child{
        background-color: #f5f5f5!important;
    }
}

/* message */

.message_header {
    width:77.6%;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:75px;
}
.message_header .message_header_txt {
    padding-inline:20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:15px;
}
.message_header .message_header_txt .message_logo {
    width:min(80%,316px);
}
.message_header .message_header_txt .signature {
    width:min(80%,355px);
}
.message_wrap h4, .message_wrap h4 + p{
    width:89%;
    margin-left:auto;
    margin-right:auto;
}
.message_wrap h4 {
    font-size:1.5625vw;
    font-weight:700;
    margin-bottom:1em;  
}

@media (max-width: 1024px) {
   .message_wrap h4 {
        font-size:1.5em;
    } 
}
@media (max-width: 768px) {
   .message_wrap h4, .message_wrap h4 + p{
    width:100%;
    }
}
/* Organization chart */
#organization .sp_scroll img {
    min-width:648px;
}
.scroll_caption {
    font-size:0.85em;
    margin-bottom:1em;
}
@media (min-width: 715px) {
.scroll_caption {
    display: none
}
}


.access_box,.group_box {
    gap:35px;
}
.access_box .map_box,.group_box .img_box {
    width:41.5%;
    flex-shrink: 0;
}
.access_box .map_box {
    min-height:430px;
}
.access_box .map_box iframe {
    width:100%;
    height:100%;
}
.access_box .txt_box,.group_box .txt_box {
    flex:1;
}
.access_box .txt_box p a{
    color:var(--sub_navy);
    text-decoration: underline;
}
.access_box .txt_box h3,.group_box .txt_box h3 {
    font-weight:700;
    font-size:1.6666em;
    margin-bottom:15px;
}
.access_box + .access_box, .group_box + .group_box {
    margin-top:80px;
}
.access_table table tr > td:first-child {
    width:25%;
}

@media (max-width: 768px) {
    .access_box .txt_box h3,.group_box .txt_box h3 {
    font-size:1.5em;
    }
    .access_box,.group_box {
        flex-direction: column-reverse;
    }
    .access_box > *,.group_box > * {
        width:100% !important;
    }
    .access_box .map_box iframe {
        height:400px;
    }
}
