@charset "UTF-8";
.hero{
    width: 100%;
    aspect-ratio: 1440 / 300;
    margin: 0 0 50px 0;
    background: url(../images/top/bg_hero.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;

    .hero_img{
        width: calc((500 / 1440) * 100%);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);

        img{
            width: 100%;
        }
    }
}

.about{
    max-width: 1100px;
    margin: 0 auto 50px;

    .about_title{
        margin: 0 0 20px 0;
        text-align: center;

        span{
            color: var(--main-color);
        }
    }

    .about_text{
        width: 600px;
        margin: 0 auto 30px;
        line-height: 2;
    }

    .about_img{
        width: 85%;
        margin: 0 auto;

        .img_list{
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .img_item{
            width: calc(25% - 20px);
            margin: 0 10px;
        }
    }

    .emphasis{
        width: 520px;
        padding: 20px 30px;
        margin: 0 auto 50px;
        font-size: 18px;
        background: var(--sub-color);

        .emphasis_text{
            margin: 0 0 20px 0;
            font-weight: 500;
            text-align: center;
        }

        .emphasis_list{
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
        }

        .emphasis_item{
            width: 45%;
        }

        .emphasis_item:nth-child(1),
        .emphasis_item:nth-child(2){
            margin: 0 0 10px 0;
        }

        .fa-solid{
            margin: 0 5px 0 0;
        }
    }
}

.outline{
    padding: 30px 0;
    background: var(--color-white);

    .outline_dlist{
        max-width: 1000px;
        margin: 0 auto;
    }

    .outline_dterm{
        padding: 0 0 0 5px;
        margin: 0 0 10px 0;
        font-size: 18px;
        font-weight: 500;
        border-left: solid 10px var(--main-color);
    }

    .outline_ddesc{
        padding: 0 15px;
    }

    .outline_ddesc:not(:last-of-type){
        margin: 0 0 50px 0;
    }

    .schedule_list{
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }

    .schedule_item{
        width: calc(25% - 30px);
        max-width: 225px;
        border: solid 2px var(--main-color);
        text-align: center;
        position: relative;

        .head{
            padding: 10px;
            font-weight: 500;
            color: var(--color-white);
            background: var(--main-color);
        }
        .time{
            font-size: 14px;
        }
        .text{
            min-height: 68px;
            padding: 10px;
            background: var(--color-white);
        }
    }
    .schedule_item:not(:last-child){
        margin: 0 30px 0 0;
    }

    .schedule_item:not(:first-child)::before{
        width: 0;
        height: 0;
        content: "";
        border: solid transparent;
        border-color: rgba(255, 255, 255, 0);
        border-left-color: var(--main-color);
        border-width: 10px;
        position: absolute;
        bottom: calc(50% - 10px);
        left: -25px;
    }
}

.button_list{
    margin: 0 0 50px 0;
    /* display: flex;
    align-items: center;
    justify-content: center; */
}

.button_item{
    width: 450px;
    margin: 0 auto;
    /* margin: 0 50px; */
}

.button_item:not(:last-child){
    margin-bottom: 30px;
}

.button-oval{
    a{
        color: var(--color-white);
        border: solid 3px var(--color-blue);
        background: var(--color-blue);
    }

    a:hover{
        color: var(--color-blue);
        background: var(--background-color);
    }
}

.button-oval.pdf a{
    justify-content: center;

    .fa-solid{
        margin: 0 0 0 5px;
    }
}
.button-oval.pdf a::after{
    display: none;
}

.point{
    padding: 30px 0;
    background: var(--sub-color);

    .point_inner{
        max-width: 1000px;
        margin: 0 auto 50px;
    }

    .point_title{
        font-size: 18px;
        margin: 0 0 20px 0;
    }

    .point_dterm{
        span{
            margin: 0 0 5px 0;
            font-family: var(--main-en-font);
            font-size: 48px;
            line-height: 1;
            display: block;
        }
        small{
            font-size: 0.3em;
        }
    }
}

@media screen and (max-width: 1024px){
    .hero{
        aspect-ratio: 1024 / 400;

        .hero_img{
            width: 50%;
        }
    }

    .about{
        width: 90%;
        max-width: 750px;

        .about_text{
            width: 100%;
        }

        .about_img{
            width: 100%;

            .img_list{
                flex-wrap: wrap;
            }

            .img_item{
                width: calc(30% - 20px);
            }
        }
    }
    
    .outline{
        .outline_dlist{
            width: 90%;
            max-width: 700px;
        }
        .schedule_list{
            width: 100%;
            flex-direction: column;
        }
        .schedule_item{
            width: 100%;
            max-width: inherit;
            display: flex;
            align-items: stretch;
            justify-content: flex-start;

            .head{
                width: 30%;
                min-width: 120px;
            }
            .text{
                width: 70%;
                min-height: inherit;
                text-align: left;
            }
        }
        .schedule_item:not(:last-child){
            margin-right: 0;
            margin-bottom: 30px;
        }
        .schedule_item:not(:first-child)::before{
            top: -20px;
            left: calc(50% - 10px);
            border-left-color: rgba(255, 255, 255, 0);
            border-top-color: var(--main-color);
        }
    }

    /* .button_list{
        flex-direction: column;
    }

    .button_item{
        margin-left: 0;
        margin-right: 0;
    }

    .button_item:not(:last-child){
        margin-bottom: 30px;
    } */
}

@media screen and (max-width: 600px){
    .hero{
        aspect-ratio: 357 / 200;
        margin-bottom: 50px;

        .hero_img{
            width: 70%;
        }
    }
    .about{
        margin-bottom: 50px;

        .about_img{

            .img_list{
                max-width: 450px;
                margin: 0 auto;
                justify-content: space-around;
            }
            .img_item{
                width: 43%;
                margin-left: 0;
                margin-right: 0;
                margin-bottom: 20px;
            }
        }

        .emphasis{
            width: 90%;
            padding: 20px;
            font-size: 16px;

            .emphasis_list{
                flex-direction: column;
            }

            .emphasis_item{
                width: 200px;
            }
            .emphasis_item:nth-child(3){
                margin: 0 0 10px ;
            }
        }
    }
    .outline{
        .schedule{
            width: 92%;
            
            .schedule_title{
                font-size: 16px;
            }
        }
        .host{
            .l-flex{
                flex-direction: column;
            }
            .host_dlist{
                width: 100%;
            }
            .host_dlist:not(:last-of-type){
                margin: 0 0 30px 0;
            }
            .host_dterm,
            .host_ddesc{
                font-size: 16px;
            }
        }
    }

    .button_item{
        width: 320px;
    }
}