/* ----- Common ----- */
.inactive {
    pointer-events: none;
}

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.flex_no_space {
    display: flex;
    flex-wrap: wrap;
}

.view_pc_inline {
    display: inline-block !important;
}

.view_sp_inline {
    display: none !important;
}
.midashi {
    font-size: 18px;
    font-weight: normal;
    line-height: 1.3;
    margin: 0 0 10px 0;
    padding: 10px 0 8px 0;
    text-align: center;
    text-indent: 0;
    color: #fff;
    background: #e0b00a;
}

.midashi1 span {
    font-size: 14px !important;
}

.midashi2 {
    font-size: 18px;
    font-weight: normal;
    line-height: 1.3;
    margin: 0 0 15px 0;
    padding: 11px 0 11px 10px;
    text-align: left;
    border-left: 5px solid #e0b00a;
}

.midashi3 {
    position: relative;
    margin-bottom: .75em;
}

.midashi3::before {
    left: 0;
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-right: .5em;
    content: '';
    vertical-align: middle;
    border: solid 3px #e0b00a;
    border-radius: 100%;
}


    .midashi {
        font-size: 180%;
        padding: 0;
        text-align: left;
        color: #333;
        border: solid 1px #ccc;
        border-bottom: solid 3px #e0b00a;
        border-radius: 5px 5px 0 0;
        background-color: #fff;
        background-image: linear-gradient(#f5f5f5, #fff);
    }
    .midashi span {
        display: block;
        padding: 20px 20px 10px;
        border: solid 1px #fff;
        border-bottom: none;
        border-radius: 5px;
    }
    .midashi2 {
        font-size: 140%;
        position: relative;
        padding: 0;
        border: solid 1px #ccc;
        border-radius: 3px;
        background-image: linear-gradient(#fff, #f8f8f8);
        box-shadow: 0 2px 3px rgba(65, 65, 65, .3);
    }
    .midashi2::before {
        position: absolute;
        left: 8px;
        display: inline-block;
        width: 4px;
        height: 85%;
        content: '';
        background: #e0b00a;
    }
    .midashi2 span {
        display: block;
        padding: 8px 0 6px 18px;
        border: solid 1px #fff;
        border-radius: 3px;
    }
    .midashi3 {
        font-size: 120%;
        line-height: 1.5;
        position: relative;
        padding: 4px 0 1px 10px;
        background: url('/share/images/h5_bg.gif');
    }
    @media all and (min-width: 980px) {
	.inner {
        padding: 0;
    }
	
    #csr .midashi, .csr .midashi {
        border-bottom-color: #e0b00a;
    }
    #csr .midashi2::before, .csr .midashi2::before {
        background: #e0b00a;
    }
    #sustainability .midashi, .sustainability .midashi {
        border-bottom-color: #e0b00a;
    }
    #sustainability .midashi2::before, .sustainability .midashi2::before {
        background: #e0b00a;
    }
}
@media all and (max-width: 979px) {
	.inner {
		padding: 0 10px 10px 10px;
	}

    #commentTop .cp_president {
        float: none;
        margin: 0em 0 2em 0em;
    }
    #content {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    #inner-content-area {
        order: 1;
        width: auto;
    }
    .teiden-alert #inner-content-area {
        margin: 0;
        margin-top: 40px;
    }
    #breadcrumb {
        order: 4;
    }
    #footer, footer {
        order: 100;
    }
    body {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }
    #rightContent {
        width: 100vw;
        padding: 15px;
    }
    #leftNav2 {
        width: 100%;
    }
    #leftNav2>a>img {
        display: none;
    }
    #leftNav2>a::before {
        width: 100%;
        content: '';
    }
    .left_nav_title {
        font-size: 14px;
        font-weight: bold;
        line-height: 1;
        padding: 1em 1em .75em;
        transform: scale(1, 1.05);
        vertical-align: middle;
        color: #fff;
        background: #ff4d4d;
        box-shadow: 0 1px 1px #999;
        text-shadow: 0 1px 2px #564242;
    }
}
	@media all and (min-width: 980px) {
	}

#csr .midashi3::before, .csr .midashi3::before {
    border-color: #e0b00a;
}

#sustainability .midashi3::before, .sustainability .midashi3::before {
    border-color: #e0b00a;
}

@media screen and (max-width: 768px) {
    .view_pc_inline {
        display: none !important;
    }

    .view_sp_inline {
        display: inline-block !important;
    }
}

/* ----- main_visual ----- */
.main_visual {
    background: url(../images/img-main-pc.jpg) top center no-repeat;
    background-size: cover;
    min-height: 385px;
    position: relative;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .main_visual {
        background: url(../images/img-main-sp.jpg) top center no-repeat;
        background-size: cover;
        min-height: 80vw;
    }
}

.main_visual_inner {
    margin: 0 auto;
    max-width: 1288px;
    padding: 0 15px;
}

@media screen and (max-width: 768px) {
    .main_visual_inner {
        padding: 0 5.3vw;
    }
}

.main_visual h1 {
    border: none;
    position: absolute;
    top: 23.46%;
    text-align: left;
}

.main_visual .title_sub {
    color: #e60012;
    display: block;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .03em;
    padding-left: .2em;
}

.main_visual .title_main {
    display: block;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.63;
}

@media screen and (max-width: 768px) {
    .main_visual h1 {
        top: 19.9%;
    }

    .main_visual .title_sub {
        font-size: 2.67vw;
        padding-left: .12em;
    }

    .main_visual .title_main {
        font-size: 6.67vw;
    }
}

.main_visual p {
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    max-width: 1280px;
    padding-left: .2em;
    position: absolute;
    top: 52%;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .main_visual p {
        font-size: 3.733vw;
        line-height: 1.75;
        padding-left: 0;
        padding-right: 5.333vw;
        top: 40%;
    }
}

/* ----- Content ----- */
.content img {
    display: block;
    width: 100%;
}

.block_inner {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1310px;
    padding: 0 15px;
    width: 100%;
}

.block_goals {
    margin-top: 8.214286em;
}

@media screen and (max-width: 768px) {
    .block_inner {
        margin-top: 14.8vw;
        padding: 0 5.333vw;
    }
}

.title_inner {
    font-size: 28px;
    font-weight: 500;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .title_inner {
        font-size: 5.333vw;
        text-align: center;
    }
}

.title_block {
    font-size: 26px;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .title_block {
        font-size: 5.333vw;
    }
}

.goals_inner {
    align-items: center;
    margin-top: 4em;
}

.goals_inner .list_goals li {
    background: #c9caca;
    position: relative;
    width: calc(400 / 1280 * 100%);
}

.goals_inner .list_goals li:nth-child(n+4) {
    margin-top: 2.857143em;
}

@media screen and (max-width: 768px) {
    .goals_inner .list_goals li {
        width: 100%;
    }

    .goals_inner .list_goals li:nth-child(n+2) {
        margin-top: 7.467vw;
    }
}

.goals_inner .list_goals .list_num {
    max-width: 59px;
    position: absolute;
    left: 0;
    top: -13px;
    width: 100%;
}

.list_num span {
    color: #e60012;
    display: block;
    font-size: 16px;
    font-weight: 700;
    position: relative;
    text-align: right;
}

.list_num span::before {
    background: #e60012;
    content: "";
    height: 1px;
    position: absolute;
    left: 0;
    top: 13px;
    width: 30px;
}

@media screen and (max-width: 768px) {
    .goals_inner .list_goals .list_num {
        max-width: 10.667vw;
        top: -11px;
    }

    .list_num span {
        font-size: 3.467vw;
    }

    .list_num span::before {
        top: 11px;
        width: 5.333vw;
    }
}

.goals_inner .list_goals .list_goal_txt {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.75;
    min-height: 100px;
    padding: 1.3em 1.5625em 1.1em 1.25em;
    text-align: left;
}

.goals_inner .list_goals .list_goal_txt>span>span {
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .goals_inner .list_goals .list_goal_txt {
        font-size: 3.733vw;
        line-height: 1.75;
        min-height: 21.333vw;
        padding: 0 5.067vw;
    }
}

.block_initiative {
    border-top: 1px solid #ddd;
    margin-top: 8.571429em;
    padding-bottom: 9.285715em;
    padding-top: 8.214286em;
}

@media screen and (max-width: 768px) {
    .block_initiative {
        border-top: none;
        margin-top: 10.667vw;
        padding-bottom: 36.8vw;
        padding-top: 0;
    }

    .block_initiative .title_block {
        border-top: 1px solid #ddd;
        padding-top: 14.933vw;
    }
}

.list_initiative {
    margin-top: 3.928572em;
}

.list_initiative>li {
    width: calc(600 /1280 * 100%);
}

.list_initiative>li:nth-child(n+3) {
    margin-top: 5.5em;
}

@media screen and (max-width: 768px) {
    .list_initiative {
        margin-top: 6.933vw;
    }

    .list_initiative>li {
        width: 100%;
    }
    
    .list_initiative>li:nth-child(n+2) {
        margin-top: 9.867vw;
    }
}

.title_list {
    margin-top: 1.142858em;
    text-align: left;
}

.title_list span {
    color: #333;
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    padding-right: 1.1em;
    position: relative;
}

.title_list span::after {
    background: url(../images/ico-arrow01.png) right center no-repeat;
    background-size: contain;
    content: "";
    height: 15px;
    position: absolute;
    right: 0;
    top: 51%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    width: 9px;
}

@media all and (-ms-high-contrast:none) {
    .title_list span::after {
        top: 42%;
    }
}

@media screen and (max-width: 768px) {
    .title_list {
        margin-top: 3.2vw;
    }

    .title_list span {
        font-size: 4.267vw;
        letter-spacing: 0;
        padding-right: 6.187vw;
    }

    .title_list span::after {
        top: 46%;
    }
}

.block_icon {
    margin-top: 8.571429em;
}

.list_related_icon {
    margin-top: 1.5em;
}

.list_related_icon li {
    width: 120px;
    margin-right: 25px;
}

.list_related_icon li:nth-child(9n) {
    margin-right: 0;
}

.list_related_icon li:nth-child(n+10) {
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .block_icon {
        margin-top: 8.8vw;
    }
    
    .list_related_icon {
        margin-top: 5.733vw;
    }
    
    .list_related_icon li {
        width: 20vw;
        margin-right: 4vw !important;
    }

    .list_related_icon li:nth-child(n+4) {
        margin-top: 4vw;
    }
}
	.swipe_annotation {
		display: none;
	}
@media screen and (max-width:480px){
/*スワイプ対応*/
	.table_wrapper {
		width: auto;
		overflow-x: auto;
	}
	.swipe_annotation {
		display: block;
		font-size: 12px;
	}
    .kp-flex {
    display: flex;
    flex-wrap: wrap;
        }
    .riskmanagement_width100 img{
max-width: fit-content !important;
    }
}
