/* ==========================================
    company page
========================================== */
body.page-company{
    padding: 0;
}
/* --------------------------------
    product top page sub navi
-------------------------------- */
.main-company .sub_wrap{
    margin: 0 auto;
    padding: 0;
    width: 100%;
    background: #FFF;
}
.main-company .comp_subnav{
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 75px;
    border-bottom: 1px solid #d6d6d6;
}
.main-company .comp_subnav nav{
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}
.main-company .comp_subnav ul{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
.main-company .comp_subnav li{
    height: 100%;
    line-height: 60px;
    border-left: 1px solid #d6d6d6;
}
.main-company .comp_subnav li:last-child{
    border-right: 1px solid #d6d6d6;
}
.main-company .comp_subnav li a{
    display: block;
    width: 100%;
    height: 100%;
    color: var(--blue);
    font-size: 16px;
    text-align: center;
    padding: 0.5em 1em;
    background-color: transparent;
    transition: background-color 0.3s linear;
}
.main-company .comp_subnav li a:hover{
    text-decoration: none;
    background-color: #eee;
}
.main-company .sub_wrap .title_box_wrap__h3{
    width: 100%;
    margin: 0 auto;
    padding: 45px 0 30px 0;
    text-align: center;
}
.main-company .sub_wrap .title_box_wrap__h3 h3{
    text-align: center;
    font-family: var(--font_jp_min);
    font-size: 38px;
    font-weight: 400;
    color: var(--blue);
    display: inline-flex;
    flex-direction: column;
    padding-bottom: 20px;
}
.main-company .sub_wrap .title_box_wrap__h3 h3:after{
    content: "";
    background: var(--blue);
    height: 2px;
    width: 100%;
    position: absolute;
    bottom: 0;
}
.main-company .sub_wrap .title_box_wrap__h3 p{
    padding-top: 15px;
    text-align: center;
    font-family: var(--font_en);
    font-size: 30px;
    color: var(--subblue);
}
.page-action .content_box dl.dl_table_useful > dt span{
    background: var(--lightgray);
}
.page-action .content_box dl.dl_table_useful > dt:before{
    background: var(--blue);
}
.page-action .content_box dl.dl_table_useful > dd {
    padding-left: 15px;
}
.page-action .content_box dl.dl_table_useful > dd > dl.dl_col{
    flex-direction: column;
    margin-top: 30px;
}
@media screen and (max-width: 767.98px){
    body.page .main-company .content_main{
        width: 98vw;
        padding: 4vw 1vw;
    }
    .main-company .comp_subnav{
        height: auto;
        border-bottom: 0;
        background: #FFF;
    }
    .main-company .sub_wrap{
        background: transparent;
    }
    .main-company .comp_subnav ul{
        flex-wrap: wrap;
    }
    .main-company .comp_subnav li{
        width: calc(100%/3);
        height: 10vw;
        line-height: 160%;
        border-bottom: 1px solid #d6d6d6;
    }
    .main-company .comp_subnav li:nth-child(7),
    .main-company .comp_subnav li:nth-child(8){
        width: calc(100%/2);
    }
    .main-company .comp_subnav li a{
        font-size: 3.4vw;
        padding: 0.5em;
    }
    .main-company .sub_wrap .title_box_wrap__h3{
        background: transparent;
        height: 36vw;
    }
    .main-company .sub_wrap .title_box_wrap__h3 h3{
        font-size: 36px;
    }
    .main-company .sub_wrap .title_box_wrap__h3 p{
        font-size: 17px;
    }
}

/*
    company top page
*/
body.page.page-company .content_wrap .content_main{
    padding: 0;
    background: transparent;
}
body.page.page-company .content{
    width: 100vw;
}
body.page.page-office .content{
    padding-top: 0;
}
.company_top{
    margin: 0 auto;
    padding: 0;
    width: 100vw;
    height: auto;
    background: transparent;
}
.company_top .company_top_row{
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: auto;
    padding: 0 0 7vw 0;
}
.company_top .company_top_row:nth-of-type(even){
    flex-direction: row-reverse;
}
.company_top .company_top_row figure{
    width: 52vw;
    height: auto;
    display: block;
    margin: 0;
}
.company_top .company_top_row figure img{
    width: 100%;
    height: auto;
}
.company_top .company_top_row dl{
    width: 48vw;
    padding: 0 17vw 0 2.5vw;
}
.company_top .company_top_row:nth-of-type(even) dl{
    padding: 0 2.5vw 0 17vw;
}
.company_top .company_top_row dt{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    font-size: 1.6vw;
    font-family: var(--font_jp_min);
    font-weight: 600;
    color: var(--blue);
}
.company_top .company_top_row dt span{
    color: #FFF;
    font-size: 1.2vw;
    font-family: var(--font_en);
}
.company_top .company_top_row dt span:last-child{
    font-family: var(--font_en);
    color: var(--blue);
}
@media screen and (max-width: 767px){
    .company_top .company_top_row,
    .company_top .company_top_row :nth-of-type(even){
        flex-direction: column;
    }
    .company_top .company_top_row figure,
    .company_top .company_top_row dl{
        width: 90%;
        margin: 0 auto;
    }
}
/* company-undercolumn */
body.page .main-company .content{
    padding-bottom: 0;
}
/* content box */
body.page .main-company .content_main{
    background: transparent;
}
body.page .main-company .content_main h3.h3_row:after{
    background: var(--gray);
}
body.page .main-company .content_box{
    margin: 0 auto;
    width: 784px;
}
/* toho group */
table.table_group_list{
    border: 1px solid var(--blue);
    border-collapse: collapse;
    background: #FFF;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: 1000px;
    display: table;
}
table.table_group_list th,
table.table_group_list td{
    border: 1px solid #666;
    border-collapse: collapse;
    vertical-align: middle;
    text-align: left;
    font-size: 18px;
    font-weight: normal;
    padding: 18px;
}
table.table_group_list th{
  font-weight: bold;
}
table.table_group_list th a:hover{
    text-decoration: none;
}
table.table_group_list th a{
    position: relative;
    display: block;
    justify-content: space-between;
    align-items: center;
    width: auto;
    padding: 0 0 5px 0;
    font-weight: bold;
}
table.table_group_list th a::after{
  content: '';
  width: 16px;
  height: 16px;
  background-image: url(../img/company/icon_window.svg);
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
table.table_group_list th a:hover{
    text-decoration: none;
}
table.table_group_list th span::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0px;
    left: 0;
    /*線の形状*/
    width: 0%;
    height: 2px;
    background: var(--blue);
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: left top;/*上部中央基点*/
    display: block;
}
/*現在地とhoverの設定*/
table.table_group_list th span:hover::after{
    width: 100%;
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
@media screen and (max-width: 767.98px){
    body.page .main-company .content_box{
        width: 100% !important;
    }
    table.table_group_list th,
    table.table_group_list td{
        padding: 4px;
        font-size : 12px;
    }
    .main-company .content_box dl.dl_table_useful > dd > dl > dd{
        width: 100%;
    }
    .dl_table_useful.pl_25{
        padding-top: 30px;
        padding-left: 0 !important;
    }
}
/* office */
.company_office_list{
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: center;
}
.company_office_list dl{
    width: 47.5%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    background: #FFF;
    border: 1px solid var(--blue);
    margin-bottom: 25px;
    padding: 15px;
    font-size: 16px;
}
.company_office_list dl:nth-child(odd){
    margin-right: 2.5%;
}
.company_office_list dt{
    width: 25%;
    height: 100%;
    color: var(--blue);
    border-right: 1px solid var(--blue);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.company_office_list dd{
    padding: 0;
    font-size: 12px;
    line-height: 1.6em;
}
.company_office_list dd:last-child a,
.company_office_list dd:last-child a img{
    display: block;
    width: 40px;
    height: 40px;
}
@media screen and (max-width: 767.98px){
    .company_office_list{
        flex-direction: column;
    }
    .company_office_list dl{
        width: 100%;
    }
    .company_office_list dl:nth-child(odd){
        margin-right: 0;
    }
}
/* officer */
.company_officer_list{
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: center;
    padding: 30px 0 30px 14%;
}
.company_officer_list dl{
    width: 100%;
    height: 50px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #b5b5b5;
    margin-bottom: 25px;
    padding: 0;
    font-size: 16px;
}
.company_officer_list dt,
.company_officer_list dd{
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.company_officer_list dt{
    width: 44%;
}
.company_officer_list dd{
    width: 56%;
}
/* company profile */
.table_company_profile{
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: center;
    padding: 30px 0 0 0;
}
.table_company_profile dl{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #b5b5b5;
    padding: 0;
    font-size: 15px;
}
.table_company_profile dt,
.table_company_profile dd{
    padding: 20px 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.table_company_profile dt{
    width: 42%;
}
.table_company_profile dd{
    width: 58%;
}
/* ceo message */
.company_ceo_message_01,
.company_ceo_message_02{
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: center;
    margin: 0 auto 30px auto;
    padding: 0;
    position: relative;
}
.company_ceo_message_01{
    overflow: hidden;
}
.company_ceo_message_01:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--blue);
    position: absolute;
    top: 0;
    left: 0;
    transition: all 1s ease;
    transition-delay: 1s;
    z-index: 1;
}
.company_ceo_message_01.active:before{
    left: 100%;
}
.company_ceo_message_02{
    margin: 0 auto;
}
.company_ceo_message_01 figure{
    width: 100%;
    height: auto;
    padding: 0;
}
.company_ceo_message_01 figure img.pc{
    width: 100%;
    height: auto;
    display: block;
}
.company_ceo_message_01 figure img.sp{
    display: none;
}
.company_ceo_message_01 h4.h4_min{
    position: absolute;
    top: 35%;
    left: 6%;
    text-align: center;
    text-shadow: 1px 1px white;
}
.company_ceo_message_02 .message_wrap{
    margin: 0 auto;
    width: 100%;
    font-size: 15px;
}
.company_ceo_message_02 .dl_signature{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 30px 0 0 auto;
    height: 55px;
}
.company_ceo_message_02 .dl_signature dt{
    font-size: 15px;
    padding-right: 0px;
    height: 55px;
    line-height: 40px;
}
.company_ceo_message_02 .dl_signature dd{
    height: 55px;
    line-height: 55px;
}
.company_ceo_message_02 .dl_signature dd img{
    display: block;
    margin: 0;
    width: 109px;
    height: auto;
}
@media all and (max-width: 767.98px){
    .company_ceo_message_01 figure,
    .company_ceo_message_01 figure img.sp{
        width: 92.266vw;
        height: 102.266vw;
        padding: 0;
        display: block !important;
    }
    .company_ceo_message_01 figure img.pc{
        display: none;
    }
    .company_ceo_message_01 h4.h4_min{
        top: 8%;
        left: 0;
        right: 0;
        width: 100%;
        text-shadow: none;
    }
    .company_ceo_message_02{
        padding-bottom: 10vw;
    }
    .company_ceo_message_02 .message_wrap{
        padding: 4vw;
    }
    .company_ceo_message_02 .dl_signature{
        padding: 4vw;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin: 0 0 0 auto;
        height: 10vw;
    }
    .company_ceo_message_02 .dl_signature dt{
        font-size: 15px;
        padding-right: 20px;
        height: 10vw;
        line-height: 10vw;
    }
    .company_ceo_message_02 .dl_signature dd{
        height: 10vw;
        line-height: 10vw;
    }
    .company_ceo_message_02 .dl_signature dd img{
        /* width: 28.533vw; */
        height: auto;
    }
}

/* history */
body.page-history .content{
    width: 100vw;
}
body.page-history .content_wrap .content_main{
    padding: 0;
    width: 100%;
}
.company_history{
    margin: 0 auto;
    padding: 60px 0;
    width: 100%;
    height: auto;
    display: block;
}
body.page-template-page-company .company_history{
    background: url(/wp-content/themes/toho_ace/img/company/img_history_bk.jpg) no-repeat top center;
    background-size: cover;
}
.company_history_table{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
body.page-template-page-company .company_history_table{
    width: 100%;
    max-width: 1000px;
    height: 60vh;
    min-height: 680px;
    display: block;
    overflow-y: scroll;
    margin: 0 auto;
}
.company_history_table table{
    display: table;
    margin: 0 auto;
    color: #FFF;
}
.company_history_table table th,
.company_history_table table td{
    text-align: left;
    vertical-align: top;
    padding: 0 0 20px 0;
}
.company_history_table table th{
    font-family: var(--font_en_pt);
    font-style: italic;
    font-size: 36px;
    font-weight: 400 !important;
    width: 19%;
    position: relative;
}
.company_history_table table th span{
    font-family: var(--font_jp);
    display:none;
}
.company_history_table table th:after{
    content: "";
    background: #FFF;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20%;
}
.company_history_table table th:before{
    content: "●";
    font-size: 10px;
    color: #FFF;
    font-style: normal;
    position: absolute;
    top: 3px;
    right: 17.5%;
}
.company_history_table table tr:first-child th{
    line-height: 100%;
}
.company_history_table table tr:first-child th:before{
    top: -13px;
    right: 17.5%;
}
.company_history_table table th.blank:before{
    display: none;
}
.company_history_table table td:first-child{width: 13%;}
.company_history_table table td.enkaku_date2{width: 17%;}
.company_history_table table td:last-child{width: 51%;}
.company_history_table table td:last-child time{display:none;}
@media all and (max-width: 767.98px){
    .company_history{
        margin: 0 auto;
        padding: 8vw 0;
        width: 100%;
        height: auto;
        display: block;
    }
    .company_history_table{
        max-width: 92.5vw;
    }
    body.page-template-page-company .company_history_table{
        max-width: 92.5vw;
        height: 70vh;
        min-height: 120vw;
    }
    .company_history_table table{
        display: table;
        margin: 0 auto;
        color: #FFF;
    }
    .company_history_table table tr{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-content: space-between;
        align-items: stretch;
    }
    .company_history_table table th{
        display: flex;
        flex-direction: column;
        font-size: 26px;
        width: 22vw;
    }
    .company_history_table table th::before,
    .company_history_table table tr:first-child th:before,
    body.page-template-page-newgraduate.page-history .company_history_table table th::before{
        right: 15% !important;
    }
    .company_history_table table th span{
        font-size: 13px;
        font-family: var(--font_jp) !important;
        font-weight: bold;
        font-style: normal;
        color: #FFF;
        display: inline !important;
    }
    body.page-template-page-newgraduate.page-history .company_history_table table th span{
        color: #000;
    }
    .company_history_table table td.enkaku_date,
    .company_history_table table td.enkaku_date2{
        display: none !important;
    }
    .company_history_table table td:last-child{
        display: flex;
        flex-direction: column;
        width: 70vw;
        font-weight: bold;
        line-height: 2;
        padding: 0 0 6vw 0;
    }
    .company_history_table table td:last-child time{display:inline-block;}

}
