#appeal { padding-bottom: 0;}
#appeal h3 { font-size: 18px;}
#appeal h3 + p {margin-block: var(--space-3) var(--space-8);}

/* ===== 説明会のご案内 ===== */
.info-session { 
    background-color: var(--color-yellow);
    padding: var(--pad-7) var(--pad-4) var(--pad-4) var(--pad-4);
    margin-top: var(--space-6);
}
.info-session h4 {
    --width: 237px;
    width: var(--width);
    z-index: 0;
    font-size: 1.5em;
    text-align: center;
    position: absolute;
    top: 0;
    left: calc(var(--pad-4) - 5px);
}
.info-session h4::before {
    content: '';
    display: block;
    width: var(--width);
    aspect-ratio: 237 / 100;
    background: url(../_img/support/guidance/flag-bg.svg) no-repeat top / contain;
    position: absolute;
    inset: 0;
    top: 10px;
    margin: auto;
    z-index: -1;
}

/* ===== 説明会のご案内の表 ===== */
.status-block { 
    background-color: var(--color-white);
    padding: var(--pad-3);
    border: var(--border-base);
    border-width: 3px;
}
.table-list .table-list { margin-bottom: var(--space-1); }
.table-list .table-header { margin-bottom: .5rem;}
.table-list ul li { margin-bottom: var(--space-1); }
.table-list ul li span.radius-box {
    height: clamp(25px, 1.8vw, 30px);
    font-size: clamp(10px, 0.7vw, 0.88em);
    padding: 4px;
    border: var(--border-base);
    border-width: 1px;
    border-radius: 5px;
    margin: 0 auto;
}
.table-list ul li .partition:first-of-type::after,
.table-list ul li .partition:first-of-type::before,
.table-list ul li .partition:nth-of-type(2)::after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 20px;
    background-color: var(--color-black);
    position: absolute;
    inset: 0;
    margin: auto;
}
.table-list ul li .partition:first-of-type::before { right: unset; }
.table-list ul li .partition:first-of-type::after { left: unset;}
.table-list ul li .partition:nth-of-type(2)::after { left: unset; right: -8px; }
.table-list .button_animation { margin-top: 0; }
.table-list .button.button-small {
    --button-w: 112px;
    --button-h: 30px;
}

.mark-round li::before {
    content: '◯';
    display: block;
    margin-right: 5px;
}




/* =====  ===== */
#admission { padding-bottom: 0; }
#admission .bubble {
    --bubble-w: fit-content;
    --bubble-h: 34px;
    font-size: 14px;
    padding-inline: .5em;
    right: 0;
    left: 0 !important;
    top: -20px !important;
    margin: auto;
}
#admission ul:has(> .admission-card) { margin-top: var(--space-5); }
#admission .admission-card {
    width: 360px;
    height: 280px;
    padding-inline :var(--pad-3);
}
#admission .admission-card::before,
#admission .admission-card::after {
    content: '';
    display: block;
    width: 4px;
    height: 100%;
    background: url(../_img/location/border-dashed.svg) repeat-y top center / contain;
    position: absolute;
    left: -1px;
    top: 5px;
    bottom: 0;
    margin: auto;
}
#admission .admission-card::after {
    left: unset;
    right: -1px;
}
#admission .admission-card h4 { font-size: 1.75em; }
#admission .admission-card .round-box {
    display: inline-block;
    --round-w: fit-content;
    --round-h: 32px;
    border-width: 2px;
    color: var(--color-black);
    padding-inline: var(--pad-1);
    margin-inline: auto;
    line-height: normal;
}
#admission .admission-card .round-box span { vertical-align: middle;}


#admission .admission-1 { background-color: rgb(238, 245, 205); }
#admission .admission-2 { background-color: rgb(254, 250, 204); }
#admission .admission-3 { background-color: rgb(254, 217, 235); }

.dot-original { margin-left: 1.5rem; }
.dot-original li { 
    text-indent: .5rem;
    margin-bottom: calc(var(--space-1) / 2);
}
.dot-original li::before {
    content: '';
    display: block;
    width: 1rem;
    height: 1rem;
    border: var(--border-base);
    border-width: 3px;
    background-color: var(--color-white);
    border-radius: var(--radius-inner);
    position: absolute;
    left: -1em;
    top: 4px;
}


#support-info { overflow-x: hidden; padding-bottom: var(--pad-5); }
#support-info .support-info-pic {
    width: 194px;
    height: 145px;
    top: 50px;
}
#support-info .title-line { 
    font-size: 1.875em;
    padding-bottom: 0;
}
#support-info > div { flex-direction: row-reverse; }
#support-info > div .support-info-phot { 
    width: 627px;
    aspect-ratio: 1 / 1;
    position: absolute;
    left: -220px;
}
#support-info ul li { margin-top: var(--space-1);}
#support-info ul + p { 
    margin-top: var(--space-1);
    padding-left: 1.5em;
}
#support-info .dot.green { margin-top: var(--space-4); }
#support-info .block-bottom { margin-top: var(--space-4); }
#support-info .button.button-simple {
    --simple-w: 430px;
    --simple-h: 80px;
    font-size: 1.5em;
}
#support-info .button.button-simple .icon {
    transform: translateX(calc(-100% - 2rem));
}

@media (max-width: 1200px) {
    #admission ul:has(> .admission-card) {
        justify-content: center;
        row-gap: var(--gap-7);
    }
}
@media (max-width: 920px) {
    #admission .admission-card h4 { margin-top: calc(var(--space-1) / 2); }
    .status-block .g2 { min-width: 110px;}
    .status-block .g2 > div:first-child { min-width: 65px;}
    .status-block li > .g1 { min-width: 105px;}
    .status-block li { font-size: 14px; }
    .status-block .table-list { grid-template-columns: 1fr;}
}
@media (max-width: 520px) {
    #fv .bubble {
        --bubble-h: auto;
        left: 80px !important;
    }
    #appeal h3 + p { margin-bottom: 0;}
    
    .info-session { padding: var(--pad-7) var(--pad-1) var(--pad-3);}
    .status-block { 
        padding: var(--pad-2) var(--pad-1); }
    .status-block li { font-size: 10px; margin-bottom: var(--space-1);}
    .status-block ul { padding-bottom: 0; }
    .status-block ul:last-child .table-header { display: none; }
    .status-block .table-list { gap: 0;}
    .status-block .table-list .title-space { display: block;width: 90px; height: 20px;}
    .status-block .g2 { max-width: 100px; min-width: auto;}
    .status-block .g2 > div:first-child { min-width: 55px;}
    .status-block li > .g1 { min-width: 85px;}
    .info-session .button_animation { margin-inline: auto; }
    .info-session .button.button-small { 
        --button-w: 90px;
        --button-h: 28px;
        line-height: 28px;
        letter-spacing: 0;
    }
    .table-list ul li .partition:nth-of-type(2)::after { right: -5px;}
    .button.button-small .text-block .ja { font-size: 11px; }

    #admission .admission-card ul {
        margin-top: var(--pad-3);
        margin-left: 1.5em;
    }
    #admission .admission-card .round-box span { font-size: 14px;}
    .status-info .status-line::before { left: calc(-1 * var(--pad-4) + 10px); }
    .status-info .status-line::after {  right: calc(-1 * var(--pad-4) + 10px); }
    .message-right { padding-inline: 4%; }
    .button.button-simple:has(.fees) { font-size: 1.3em; }

    .choose-list .button.button-simple {
        --simple-w: 288px;
        --simple-h: 96px;
        font-size: 1rem;
    }
    .choose-list .button.button-simple figure {
        width: 61px;
        height: 48px;
    }

    .dot-original {font-size: 14px; margin-left: 0;}
    .dot-original li { text-indent: 7px;}


    #support-info > div { flex-direction: column;}

    #support-info > div .support-info-phot {
        position: relative;
        left: 0;
        width: 100%;
        margin-top: var(--space-2);
    }
    #support-info .support-info-pic { 
        float: none;
        margin-inline: auto;
        margin-bottom: var(--space-5);
    }

    #support-info .button.button-simple .icon { transform: translateX(calc(-80%));}

}