@charset "UTF-8";
/* guideline */

.guideline{
    width: 950px;
    margin: 0 auto;

    .overview{
        padding: 50px 60px;
        margin: 0 0 50px 0;
        background: var(--color-white);
    }
    .overview_list{
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .overview_head{
        width: 20%;
        padding: 5px 15px;
        font-weight: 700;
        border-bottom: solid 3px var(--sub-color);
    }
    .overview_data{
        width: 75%;
        padding: 5px 15px;
        border-bottom: solid 3px var(--color-gray-light);
    }
    .overview_head:not(:last-of-type),
    .overview_data:not(:last-of-type){
        margin: 0 0 30px 0;
    }
    .category_item:not(:last-child){
        margin: 0 0 15px 0;
    }
    .category_item .l-flex{
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
    .category_item p{
        width: 110px;
        padding: 8px 0;
        line-height: 1;
        text-align: center;
        font-weight: 500;
        border-radius: 30px;
        background: var(--sub-color2);
    }
    .category_item .theme{
        padding: 0 0 0 45px;
        margin: 0 0 0 5px;
        color: var(--color-blue);
        line-height: 18px;
        position: relative;
    }
    .category_item .theme::before{
        content: "テーマ";
        padding: 2px 4px;
        font-size: 11px;
        line-height: 1;
        color: var(--color-white);
        background: var(--color-blue);
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    .qualification_list,
    .apply_list,
    .award_list{
        padding: 0 0 0 20px;
    }
    .qualification_item,
    .apply_item,
    .award_item{
        position: relative;
    }
    .qualification_item:not(:last-child),
    .apply_item:not(:last-child),
    .award_item:not(:last-child){
        margin: 0 0 5px 0;
    }
    .qualification_item::before,
    .apply_item::before,
    .award_item::before {
        content: "\f007";
        font-family: Font Awesome\ 6 Free;
        color: #7ECECB;
        font-weight: 700;
        position: absolute;
        left: -20px;
        top: 0;
    }
    .apply_item::before{
        content: "\f00c";
    }
    .award_item::before{
        content: "\f521";
    }
    .button_list{
        margin: 15px 0 10px 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .button_item a{
        color: var(--color-white);
        background: var(--color-blue);
        border: solid 2px var(--color-blue);
    }
    .button_item a:hover{
        color: var(--color-blue);
        background: var(--color-white);
    }
    .flow_list{
        margin: 0 0 10px 0;
    }
    .flow_item{
        margin: 0 0 5px 0;
    }
    .flow_item ul{
        margin: 0 0 0 10px;
    }
    .standard{
        padding: 10px;
        border: dotted 2px var(--color-red);
        font-size: 0.9em;

        ol{
            margin: 5px 0 0 0;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            flex-wrap: wrap;
        }

        li{
            margin: 0 5px;
        }
    }

    .link{
        margin: 10px 0 0 0;

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

    .note{
        margin: 10px 0 0 0;
        font-size: 0.85em;

        span{
            text-align: left;
            display: inline-block;
        }
    }
    .note_list{
        margin: 5px 0 0 0;
        font-size: 0.9em;
    }

    .schedule_list{
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
    }
    .schedule_item{
        width: 25%;
        font-weight: 500;
        text-align: center;
        border-bottom: solid 3px var(--sub-color);
        border-left: solid 3px var(--sub-color);
        border-right: solid 3px var(--sub-color);
        background: var(--color-white);
        position: relative;
    }
    .schedule_item:not(:last-child){
        margin: 0 20px 0 0;
    }
    .schedule_item:not(:last-child)::after{
        width: 0;
        height: 0;
        content: "";
        border: solid transparent;
        border-color: rgba(255, 255, 255, 0);
        border-left-color: var(--sub-color);
        border-width: 10px;
        position: absolute;
        bottom: calc(50% - 20px);
        right: -29px;
    }
    .schedule_item dt{
        min-height: 46px;
        padding: 5px 0;
        margin: 0;
        color: var(--color-white);
        line-height: 1;
        background: var(--sub-color);
        border: none;
        position: relative;
    }
    .schedule_item dt span{
        width: 100%;
        line-height: 1;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .schedule_item small{
        margin: 5px 0 0 0;
        font-size: 13px;
        line-height: 1.2;
        display: inline-block;
    }
    .schedule_item dd{
        min-height: 68px;
        padding: 10px 5px;
    }

    .detail{
        margin: 0 0 50px 0;
    }
    .detail_item:not(:last-child){
        margin: 0 0 30px 0;
    }
    .detail_item dl{
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .detail_item dt,
    .detail_item dd{
        padding: 20px;
    }
    .detail_item dt{
        width: 120px;
        text-align: center;
        font-weight: 700;
        background: var(--sub-color2);
    }
    .detail_item dd{
        width: calc(100% - 160px);
        background: var(--color-white);
    }
    .detail_item .l-flex{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    .detail_item figure{
        width: 220px;
        margin: 0 0 0 20px;
        flex-shrink: 0;
    }
    .detail_item figcaption{
        margin: 5px 0 0 0;
        font-size: 11px;
        text-align: center;
    }
    .detail_item .summary{
        padding: 0 0 10px 0;
    }
    .detail_item .note_list{
        padding: 10px 10px 0 20px;
        border-top: dotted 2px var(--color-gray);
    }
    .detail_item .note_item{
        list-style: disc;
    }
    .detail_item .note_item:not(:last-child){
        margin: 0 0 5px 0;
    }
    .detail_item .theme{
        padding: 0 0 0 45px;
        margin: 10px 0 0 0px;
        color: var(--color-blue);
        font-weight: 500;
        line-height: 18px;
        position: relative;
        display: block;
    }
    .detail_item .theme::before{
        content: "テーマ";
        padding: 2px 4px;
        font-size: 11px;
        line-height: 1;
        color: var(--color-white);
        background: var(--color-blue);
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    .detail_item .link-message{
        margin: 0 0 10px 0;
        text-align: right;
    }
    .detail_item .fa-solid{
        margin: 0 5px 0 0;
    }
    .detail_item .textlink{
        font-weight: 500;
    }
}

.theme-head{
    background-color: #8dbbd6;
    background-image: url(../images/apply/bg_theme-head.png);
}

.theme{
    .article-wrap{
        width: 80%;
        max-width: 900px;
        margin: 0 auto 100px;
        padding: 50px;
        background: var(--color-white);
        border-radius: 30px;
    }
    .article .l-flex{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .article .l-flex .article_text{
        width: calc(100% - 350px);
    }
    .article_text .lead{
        margin: 0 0 10px 0;
        font-size: 1.25em;
        font-weight: 600;
        line-height: 1;
        display: inline-block;
    }
    .article_fig{
        width: 300px;
        flex-shrink: 0;
    }
    .article_text img{
        margin: 0 0 10px 0;
    }
    .border-bottom{
        padding: 0 0 40px 0;
        margin: 0 0 40px 0;
        border-bottom: dotted var(--color-gray-light) 3px;
    }
}

@media screen and (max-width: 1024px){
    .guideline{
        width: 80%;

        .overview{
            padding: 0 0 10px 0;
        }

        .overview_head,
        .overview_data{
            width: 100%;
            padding-left: 20px;
            padding-right: 20px;
            border-bottom: none;
        }

        .overview_head{
            color: var(--color-white);
            font-weight: 500;
            text-align: center;
            background: var(--sub-color);
        }

        .overview_head:not(:last-of-type){
            margin-bottom: 0;
        }

        .overview_data{
            padding-top: 20px;
        }

        .schedule_list{
            flex-direction: column;
        }

        .schedule_item{
            width: 100%;
        }

        .schedule_item:not(:last-child){
            margin: 0 0 20px 0;
        }

        .schedule_item:not(:last-child)::after{
            bottom: -25px;
            right: calc(50% - 10px);
            border-width: 7.5px;
            border-left-color: rgba(255, 255, 255, 0);
            border-top-color: var(--sub-color);
        }

        .schedule_item dd{
            min-height: inherit;
        }

        .detail_item dt,
        .detail_item dd{
            width: 100%;
        }

        .detail_item dt{
            padding-top: 10px;
            padding-bottom: 10px;
        }

        .detail_item .l-flex{
            align-items: center;
            flex-direction: column;
        }

        .detail_item .l-left{
            width: 100%;
            margin: 0 0 30px 0;
        }

        .detail_item figure{
            width: 80%;
            max-width: 300px;
            margin-left: 0;
        }
    }

    .theme{
        .article .l-flex{
            flex-direction: column;
            align-items: center;
        }

        .article .l-flex .article_text{
            width: 100%;
            margin: 0 0 30px 0;
        }
    }
}

@media screen and (max-width: 600px){
    .guideline{
        width: 90%;

        .category_item .l-flex{
            flex-direction: column;
            align-items: flex-start;
        }
        .category_item:not(:last-child){
            margin-bottom: 20px;
        }
        .category_item p{
            width: 100%;
        }
        .category_item .theme{
            margin-top: 5px;
        }
        .category_item .theme::before{
            top: 0;
            transform: translateY(0);
        }
        .qualification_item:not(:last-child),
        .apply_item:not(:last-child),
        .award_item:not(:last-child){
            margin-bottom: 10px;
        }
        .detail_item .theme::before{
            top: 0;
            transform: translateY(0);
        }
    }

    .theme{
        .article-wrap{
            padding: 30px;
        }
        .article_fig{
            width: 100%;
        }
    }

}