@charset "utf-8";

/* 見出し1 */
#main_report .content_header {
    background:  linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)), url(../img/report/report_top.jpg) no-repeat 50% 37%;
    background-size: cover;
}

/* 実績例 */
.report_btn_wrapper:after {
    background-image: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)), url(../img/company/others_program.jpg);
}
.h2_company {
    margin-top: 50px;
}

/* 開催レポート一覧 */
.h2_report {
    margin-top: 0;
}
h3 {
    margin-bottom: 20px;
}
h4 {
    font-size: 2.2rem;
    font-weight: 900;
    padding: 0 0 0 17px;
    text-indent: -17px;
}
h4:before {
    background-color: #f00;
    content: "";
    display: inline-block;
    height: 20px;
    margin: 0 8px 4px 0;
    vertical-align: middle;
    width: 5px;
}
h5 {
    color: #f00;
    font-size: 1.4rem;
    font-weight: 700;
    margin: 17px 0;
}
h5 span {
    border: solid 2px #f00;
    padding: 1px 5px 1px 5px;
}
.nav_position {
    padding-top: 90px;
    margin-top: -90px;
    margin-bottom: 50px;
}
.schedule {
    width: 30%;
}
.company {
    flex: 1;
}
.schedule_company {
    display: flex;
    justify-content: left;
    column-gap: 20px;
}
.message{
    margin-top: 20px;
}
.schedule:before {
    background:  url(../img/report/icon_schedule.svg) no-repeat;
    content: "";
    display: inline-block;
    height: 20px;
    margin: 0 0 4px 0;
    vertical-align: middle;
    width: 20px;
}
.company:before {
    background:  url(../img/report/icon_company.svg) no-repeat;
    content: "";
    display: inline-block;
    height: 20px;
    margin: 0 0 4px 0;
    vertical-align: middle;
    width: 20px;
}
.message:before {
    background:  url(../img/report/icon_message.svg) no-repeat;
    content: "";
    display: inline-block;
    height: 20px;
    margin: 0 0 6px 0;
    vertical-align: middle;
    width: 20px;
}
.school{
    border-bottom: 1px solid #E8E8E2 ;
    padding-bottom: 30px;
    margin-bottom: 30px;
}
.pics {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}
.pics img {
    width: 50%;
}
.program_logo {
    padding: 15px 0;
}
.program_logo img {
    display: inline-block;
    margin-right: 10px;
}
.program_logo .sub_ttl {
    font-size: 2.2rem;
    color: #f00;
    font-weight: 900;
}


/* 開催レポート一覧　開閉 */
.hidden-view{
    display: none;
}
.button {
    cursor:pointer;
    display: block;
    text-align: center;
}
.button::before{
    content: "もっと見る";
    font-size: 1.3rem;
    text-decoration: none;
    padding-right: 5px;
    color: #2E73D8;
    cursor:pointer;
}
.button::after{
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: 2px solid #999996;
    border-right: 2px solid #999996;
    transform: rotate(135deg);
    margin-top: 10px;
    cursor:pointer;
}
.button:hover {
    text-decoration: underline;
    color: #2E73D8;
}
.button:hover:after {
    border-color: #2E73D8;
    transition: all .3s ease;
}
input[type="checkbox"]#trigger{
    display: none;
}
input[type="checkbox"]#trigger:checked ~ .hidden-view{
    display: block;
}
input[type="checkbox"]#trigger:checked ~ .button::before{
    content: "閉じる";
}
input[type="checkbox"]#trigger:checked ~ .button::after{
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: 2px solid #999996;
    border-right: 2px solid #999996;
    transform: rotate(-45deg);
    margin-top: 13px;
    cursor:pointer;
}
input[type="checkbox"]#trigger:checked ~ .button:hover::after{
    border-color: #2E73D8;
    transition: all .3s ease;
}
/* 開閉　END */


@media screen and (max-width:767px) {

    .h2_company {
        margin: 0;
    }
    .company_list img {
        margin-top: 20px;
    }
    h4 {
        font-size: 2rem;
    }
    h5 {
        margin: 20px 0;
        font-size: 1.2rem;
    }

    /* 開催レポート一覧 */
    .schedule_company {
        display:block;
    }
    .school {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    .schedule {
        margin-bottom: 20px;
        width: 100%;
    }

    /* style.cssの適用を調整 */
    .h2_title:after {
       letter-spacing: 0.05rem;
        content: '- ' attr(data-txt) '';
    }
    .h2_title:after {
        padding-left: 15px;
    }



}