@charset "UTF-8";
#company_certification a {
    text-decoration: none;
}

#company_certification a:hover {
    text-decoration: none;
    color: #00ace8;
}

#company_certification .section_color_ms {
    background: #005499;
}

#company_certification .section_color_sus {
    background: #f7b80a;
}

#company_certification .section_color_sdg {
    background: #42c8be;
}

#company_certification .section_color_ghg {
    background: #00ACE8;
}

#company_certification .section_color_ex {
    background: #fc5a03;
}

/* search area */
.certif_select_section {
    display: flex;
    flex-wrap: wrap;
    padding:30px 0;
}

.certif_ip {
    padding: 15px;
    margin: 20px 0;
}

/* list */
.certif_grid {
    max-width: 1440px;
    width: 100%;
    padding: 0 120px;
    margin: 0 auto;
}
.certif_flex01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    width: 100%;
}
.certif_box {
    width: calc(50% - 30px);
    margin: 0 15px 30px;
    display: flex;
    align-items: stretch;
    justify-content: start;
}

#company_certification .box {
    padding: 30px 25px 10px 25px;
    position: relative;
    width:100%;
}

.certif_wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.certif_logo {
    padding-top: 20px;
    margin: 0 4% 0 auto;
    width: 40%;
    display: flex;
    align-items: center;
}

.certif_logo img {
    max-width: 250px;
    max-height: 110px;
    object-fit: contain;
    width:100%;
    object-position:left;
}

.certif_txt {
    padding: 8px 0;
    word-break: break-all;
    width: 55%;
}

.certif_txt dl {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    font-size:88%;
}

.certif_txt dt {
    border-bottom: dotted 1px #666;
    padding: 3px;
    width: 4.2rem;
    text-align:justify;
    text-align-last:justify;
    position: relative;
    display: block;
    white-space: nowrap;
}
.certif_txt dt:before {
    content:"：";
    position: absolute;
    right:-8px;
}
.certif_txt dd {
    word-break: break-all;
    padding: 3px 0 3px 12px;
    border-bottom: dotted 1px #666;
    width: calc(100% - 4.2rem);
    position: relative;
}
.certif_txt_dd {
    text-overflow: ellipsis;
    overflow: hidden; 
    white-space: nowrap;
}

.certif_txt dd .baloon {
    display: none;
}
.certif_txt dd .baloon {
    position: absolute;
    background: #fff;
    border:solid 1px #222;
    left:10px;
    top:2.5rem;
    z-index: 1;
    transition: 0.8s;
    padding:3px 4px;
    box-sizing: border-box;
}
.certif_txt_dd:hover + .baloon  {
display: inline-block;
transition: 0.8s;
cursor: pointer;
}
.certif_txt dd .baloon:before {
content: "";
position: absolute;
top: -24px;
left: 50%;
margin-left: -15px;
border: 12px solid transparent;
border-bottom: 12px solid #FFF;
z-index: 2;
}
.certif_txt dd .baloon:after {
content: "";
position: absolute;
top: -27px;
left: 50%;
margin-left: -17px;
border: 14px solid transparent;
border-bottom: 13px solid #222;
z-index: 1;
}
@media screen and (max-width: 768px) {
    .certif_txt_dd {
        overflow: visible;
        text-overflow: unset;
        white-space:unset;
    }
    .certif_txt dd .baloon {
        display: none;
    }
}
.company_name {
    font-weight: 700;
    padding: 0 0 10px;
    border-bottom: solid 1px #222;
}

.certif_gun {
    padding: 12px 0 0 0;
    font-size:88%;
}

.certif_publications__card__tags {
    position: absolute;
    top: -8px;
    left: 0;
}

.certif_gun01 {
    width: 100%;
    display: flex;
    align-items: center;
}

.certif_gun02 {
    display: flex;
    align-items: center;
}

.certif_gun02 a {
    text-decoration: none;
    display: flex;
    align-items: center;
}

.certif_gun02 a:hover {
    color: #ff6533;
    font-weight: 700;
}

/* チェックボックス */

.certif_checkbox {
    display: contents;
}

.certif_flex02 {
    justify-content: flex-start;
}

.certif_select_section>div {
    width: 33.3%;
}

.certif_checkbox input[type="checkbox"] {
    opacity: 0;
    appearance: none;
    position: absolute;
}

.certif_checkbox .text {
    display: inline-block;
    position: relative;
    padding-left: 26px;
    line-height: 2.2;
}

.certif_checkbox .text::before {
    position: absolute;
    top: 8px;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #adadad;
    background: #fff;
    content: "";
    transition: all 0.3s;
}

.certif_checkbox .text::after {
    position: absolute;
    top: 8px;
    left: 0;
    width: 18px;
    height: 18px;
    color: #22304d;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    content: "✔";
    opacity: 0;
    transition: all 0.3s;
}

.certif_checkbox input:focus+span::before {
    box-shadow: 0 0 4px #22304d;
}

.certif_checkbox input:checked+span::after {
    opacity: 1;
}

.certif_notes {
    font-size: 82%;
    align-items: flex-end;
    padding-top: 6px;
}

/* レスポンシブ */
@media screen and (max-width: 1388px) {
    .certif_txt {
        width: 100%;
    }
    .certif_grid {
        max-width: 1440px;
        width: 100%;
        padding: 0 60px;
        margin: 60px auto 0 auto;
    }
    .certif_logo {
        width: 50%;
        margin: 0 auto;
    }
    .certif_logo img{
        object-position:center;
    }
}
@media screen and (max-width: 1090px) {
    .certif_select_section>div {
        width: 50%;
    }
    .certif_grid {
        padding: 0 10px;
    }
}

@media screen and (max-width: 768px) {
    .certif_box {
        width: 100%;
        padding: 0px;
    }
    .certif_grid {
        padding: 0 30px;
    }
    .certif_ip {
        padding: 15px;
        margin: 20px 0;
    }
    .certif_checkbox .text {
        width: 100%;
    }
    .certif_select_section>div {
        width: 100%;
    }

}