@charset "utf-8";
/* CSS Document */
/*header　----------------------------- */
header#fixed_header {
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s all ease 0s;
}
header#fixed_header.visible {
    opacity: 1;
    visibility: visible;
}
main {
    /* overflow: hidden; */
}
main > article {
    width: 100%;
    padding: 0 50px;
}
section.wrap {
    max-width: 1000px;
    margin: auto;
}
section.wrap h2 {
    text-align: center;
    color: #fff;
    font-weight: 700;
    font-size: 45px;
    letter-spacing: 0.2em;
    margin-bottom: 1em;
}
/*#main_title ----------------------------- */
#main_title {
    position: relative;
    /* z-index:5; */
    overflow: hidden;
    width: 100%;
}
#main_title h1 {
    margin-top: -3%;
    position: relative;
}
#main_title h1 img.title {
    width: 98%;
    position: relative;
    left: -1%;
}
#main_title h1 img.pop {
    position: absolute;
    right: -19%;
    top: -22%;
    width: 35%;
    z-index: -2;
}
#main_title::before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -4;
    top: 0;
    left: 0;
    background-image: url(/2026/images/top/bg01.svg);
    /*background:
        radial-gradient(circle at -5% 30%, #ffffff 0%, transparent 20%), radial-gradient(circle at 0% 0%, #ddf1ff 0%, transparent 50%), radial-gradient(circle at -10% 150%, #b7e609 10%, transparent 50%), radial-gradient(circle at 100% 100%, #ddf1ff 20%, transparent 60%), radial-gradient(circle at 40% 70%, #e0f4e4 0%, transparent 100%), radial-gradient(circle at 100% 0%, #b7e609 0%, transparent 60%);*/
    background-size: 145%;
    background-repeat: no-repeat;
    background-position: center bottom;
}
#main_title section.wrap {
    position: relative;
    padding: 50px 0px 5.5vw;
    /* z-index: 10; */
    max-width: 1000px;
}
#main_title h2 {
    position: absolute;
    width: 40%;
    top: 8%;
    left: 0;
}
#main_title h2 img {
    width: 100%;
}
#main_title figure {
    width: 70%;
    position: absolute;
    top: 40px;
    right: -12%;
}
#main_illust {
    position: relative;
    width: 100%;
}
#main_ilust {
    position: relative;
    width: 100%;
}
#main_ilust img.pop {
    position: absolute;
    right: 6%;
    top: 2%;
    width: 19%;
    z-index: 1;
}
#main_title figure img.ball {
    position: absolute;
    transition: all 0.5s 0s ease;
    animation-name: swayball;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
#ballW1 {
    width: 3%;
    top: 61%;
    left: 1%;
    animation-duration: 3s;
}
#ballW2 {
    width: 2%;
    top: -2%;
    left: 82%;
    animation-duration: 2s;
}
#ballW3 {
    width: 1%;
    top: 4.5%;
    left: 86%;
    animation-duration: 4s;
}
#ballW4 {
    width: 3%;
    top: 61.5%;
    left: 47%;
    animation-duration: 3s;
}
#ballW5 {
    width: 2.5%;
    top: 47%;
    left: 83.5%;
    animation-duration: 2.5s;
}
#ballW6 {
    width: 1%;
    top: 59%;
    left: 91.5%;
    animation-duration: 4s;
}
#ballLP1 {
    width: 7%;
    top: -3%;
    left: 16%;
    animation-duration: 8s;
}
#ballLP2 {
    width: 40px;
    height: 40px;
    top: 86.5%;
    left: 70.5%;
    animation-duration: 8s;
}
#ballP1 {
    width: 3%;
    top: 4.5%;
    left: 14%;
    animation-duration: 6s;
}
#ballP2 {
    width: 15px;
    height: 15px;
    top: 92%;
    left: 80%;
    animation-duration: 8s;
}
#ballP3 {
    width: 2.8%;
    top: 14.5%;
    left: 90%;
    animation-duration: 4s;
}
@keyframes swayball {
    0% {
        transform: scale(1, 1) translateY(-10%);
    }
    50% {
        transform: scale(1.5, 1.5) translateY(10%);
    }
    100% {
        transform: scale(1, 1) translateY(-10%);
    }
}
img.pop_illust {
    position: absolute;
    border-radius: 50%;
    transition: all 0.5s 0s ease;
    animation-name: swaypop;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
#pop_illustA {
    width: 9%;
    top: 76%;
    left: 2%;
    animation-duration: 3s;
}
#pop_illustB {
    width: 9%;
    top: 21%;
    left: 88%;
    animation-duration: 5s;
}
@keyframes swaypop {
    0% {
        transform: scale(1, 1) translateY(-5%);
    }
    50% {
        transform: scale(1.3, 1.3) translateY(5%);
    }
    100% {
        transform: scale(1, 1) translateY(-5%);
    }
}
#main_title figure figcaption {
    position: absolute;
    font-size: 12px;
    top: -4%;
    left: 49%;
    font-weight: 500;
    filter: drop-shadow(3px 3px 3px #dff2e1);
    z-index: 2;
    line-height: 1.6;
    width: 20%;
}
#main_title figure figcaption img {
    width: 100%
}
#main_title #info {
    width: 40%;
    margin-top: 170px;
    margin-left: 0;
}
#date_count {
    margin-top: 20px;
    background: var(--deepblue);
    border-radius: 10px;
    padding: 15px 30px;
}
#date_count .count_date {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 0 10px;
    border-bottom: solid 1px #fff;
    font-size: 22px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
}
#date_count .count_date time {
    font-family: Oswald;
    font-size: 1.8em;
    margin: 0 0.1em;
}
#date_count.count{
    padding: 15px 15px 25px;
    /*padding: 15px 15px 60px;*/
    position:relative;
    overflow:hidden;
}
#participants_count_block #participants.participants{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    position: relative;
    top: -25px;
    z-index: 2;
    border-radius: 0 0 10px 10px;
    padding: 8px 0;
    font-weight: 700;
    color: var(--deepblue);
    background: #cedeff;
    font-size: 14px;
}
#participants_count_block #participants.participants span{
    font-family: Oswald;
    font-size: 2em;
    margin: 0 0.4em;
    letter-spacing: 0.05em;
}#participants_count_block #participants.participants span small{
    display: inline-block;
    font-size:0.6em;
    margin-left:0.2em;
    position: relative;
    bottom: 0.1em;
}

#date_count .ondemand {
    font-weight: 700;
    color: #fff;
    text-align: center;
    font-size: 13px;
    padding: 12px 0 0;
    line-height: 1.5;
}
#main_title ul.feature {
    position: absolute;
    top: 532px;
    right: -4%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 53%;
}
#main_title ul.feature li:not(.note) {
    width: 170px;
    height: 170px;
    background-image: url(/2026/images/top/madal.svg);
    background-repeat: no-repeat;
    background-size: contain;
    filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, 0.2));
}
#main_title ul.feature li:not(.note) p {
    font-size: 14px;
    font-weight: 900;
    color: var(--deepblue);
    text-align: center;
    margin-top: 32px;
}
#main_title ul.feature li.feature2 p {
    font-size: 14px;
    transform: scale(0.85, 1);
}
#main_title ul.feature li:not(.note) h5 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    color: var(--pink);
    font-weight: 900;
    font-size: 22px;
    text-align: center;
    padding-top: 3px;
    line-height: 1;
}
#main_title ul.feature li:not(.note) h5 b {
    font-family: Oswald;
    font-size: 2.2em;
}
#main_title ul.feature li.feature3 h5 b {
    transform: scale(0.9, 1);
    position: relative;
    right: -0.05em;
    text-shadow:
        3px 3px 0 #fff, -3px 3px 0 #fff, -3px -3px 0 #fff, 3px -3px 0 #fff;
    z-index: 5;
}
#main_title ul.feature li.feature1 h5 small {
    font-size: 0.6em;
    padding-bottom: 1em;
}
#main_title ul.feature li.feature2 h5 span {
    position: relative;
    top: 0.5em;
    left: 0.1em;
}
#main_title ul.feature li.feature2 h5 sup {
    color: var(--deepblue);
    font-size: 0.6em;
    position: absolute;
    top: 2em;
    right: 20%;
}
#main_title ul.feature li.feature3 h5 {
    letter-spacing: -0.05em;
    text-shadow:
        3px 3px 0 #fff, -3px 3px 0 #fff, -3px -3px 0 #fff, 3px 0px 0 #fff;
}
#main_title ul.feature li.feature3 h5 span {
    position: relative;
    top: 0.25em;
    right: 0;
}
#main_title ul.feature li.feature3 h5 small {
    font-size: 0.4em;
    padding-bottom: 0.5em;
    position: absolute;
    top: 1.2em;
    right: 19%;
    letter-spacing: 0;
}
#main_title ul.feature li.note {
    width: 100%;
    font-size: 10px;
    text-align: right;
    color: var(--deepblue);
    line-height: 1.4;
}
/*#overview ------------------------------------------------------*/
#overview {
    position: relative;
    /* z-index: 5; */
    padding: 8vw 8vw;
    background: #b4e146;
}
#overview::before {
    content: '';
    width: 100%;
    height: calc(100% + 16vw);
    display: none;
    position: absolute;
    z-index: -2;
    top: -8vw;
    left: 0;
    background: linear-gradient(180deg, rgba(11, 39, 101, 1) 0%, rgba(13, 39, 102, 1) 37.95%, rgba(20, 41, 104, 1) 51.62%, rgba(31, 44, 107, 1) 61.36%, rgba(48, 48, 113, 1) 69.24%, rgba(70, 53, 120, 1) 75.99%, rgba(98, 59, 128, 1) 81.97%, rgba(130, 66, 138, 1) 87.38%, rgba(168, 75, 150, 1) 92.35%, rgba(209, 84, 163, 1) 96.77%, rgba(244, 92, 174, 1) 100%);
    background-size: cover;
    background-repeat: no-repeat;
    transform: skew(0deg, -8deg);
}
#overview section {
    padding: 0 0 0;
}
#overview section h2 {
    color: var(--deepblue);
}
#overview div.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 50px;
}
#overview ul {
    width: 48%;
}
#overview ul li {
    border-bottom: solid 1px rgb(255 255 255 / 50%);
    padding: 15px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    color: var(--deepblue);
    position: relative;
}
#overview ul li > small {
    font-size: 15px;
    font-weight: 700;
    color: var(--pink);
    width: 45%;
    letter-spacing: 0;
}
#overview ul li > span, #overview ul li > div {
    width: 55%;
    font-size: 18px;
    font-weight: 700;
}
#overview ul li a#timescedule {
    position: absolute;
    top: 1.3em;
    right: 0;
    font-size: 0.9em;
    font-size: 13px;
    font-weight: 400;
    text-decoration: underline;
}
#overview ul li a#timescedule::before {
    content: '?';
    width: 1.5em;
    height: 1.5em;
    background: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    border-radius: 50%;
    color: var(--deepblue);
    font-weight: 700;
    margin-right: 0.2em;
}
#overview ul li > div small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    margin-top: 0.5em;
}
#overview img {
    width: 48%;
}
#overview nav {
    width: 35%;
    margin: auto;
}
/*#timetable popup*/
#timetable {
    width: 750px;
    height: 466px;
    position: fixed;
    top: calc(50% - 233px);
    left: calc(50% - 375px);
    background: #fff;
    border-radius: 20px;
    padding: 50px;
    box-shadow: 10px 10px 20px #000;
    z-index: 1001;
    visibility: hidden;
    opacity: 0;
    transition: 0.5s all ease 0s;
}
#timetable.visible {
    visibility: visible;
    opacity: 1;
}
#timetable_close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 60px;
    padding-top: 40px;
}
#timetable_close::before, #timetable_close::after {
    content: '';
    display: block;
    width: 2px;
    height: 40px;
    background: #000;
    position: absolute;
    top: 0;
    left: calc(50% - 2px);
    transform: rotate(45deg);
}
#timetable_close::after {
    transform: rotate(-45deg);
}
#timetable_close small {
    font-size: 12px;
    display: block;
    text-align: center;
}
#timetable section {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    height: 100%;
}
#timetable section div.texts {
    width: 50%;
    height: 100%;
}
#timetable section div.texts h3 {
    font-size: 30px;
    font-weight: 900;
    color: var(--deepblue);
    text-decoration: underline;
    text-underline-offset: 10px;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 40px
}
#timetable section div.texts p {
    text-align: center;
    font-size: 14px;
    line-height: 1.8;
    font-weight: 500;
}
#timetable section div.texts p span {
    font-weight: 700;
    color: var(--pink);
}
#timetable section div.texts::after {
    content: '';
    width: 92px;
    height: 92px;
    display: block;
    background: url(/2026/images/top/clock.svg) no-repeat;
    background-size: contain;
    margin: 30px auto 0;
}
#timetable section ul {
    width: 50%;
}
#timetable section ul li {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
}
#timetable section ul li > span {
    font-size: 18px;
    font-weight: 700;
    color: var(--deepblue);
    width: 25%;
}
#timetable section ul li time {
    font-weight: 700;
    color: var(--deepblue);
    width: 54%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#timetable section ul li time span {
    font-family: oswald;
    font-size: 28px;
    width: 40%;
    text-align: right;
}
#timetable section ul li time span:first-child {
    text-align: left;
}
#timetable section ul li time span mark {
    background: none;
    letter-spacing: 0.05em;
    color: var(--deepblue);
}
#timetable section ul li time span:last-of-type {
    text-align: right;
}
#timetable section ul li time > mark {
    background: none;
    font-size: 20px;
    line-height: 1;
    color: var(--deepblue);
}
/*#about ------------------------------------------------------*/
#about {
    position: relative;
    overflow: hidden;
}
#about section {
    position: relative;
    padding: 10vw 0;
}
#about h2 {
    color: var(--pink);
    letter-spacing: 0;
    margin-bottom: 50px
}
#about h3 {
    text-align: center;
    font-size: 34px;
    color: var(--deepblue);
    font-weight: 900;
    line-height: 1.6;
    margin-bottom: 1em;
}
#about p {
    text-align: center;
    font-size: 19px;
    line-height: 1.8;
    font-weight: 500;
    color: var(--deepblue);
}
#about figure.about＿image_left, #about figure.about＿image_right {
    position: absolute;
    top: 5%;
    width: 45%;
}
#about figure.about＿image_left {
    left: -20%;
}
#about figure.about＿image_right {
    right: -20%;
}
#about figure img {
    width: 100%;
}
#about nav.movies {
    margin-top: 100px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#about nav h4 {
    font-weight: 700;
    font-size: 30px;
    color: var(--deepblue);
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}
#about nav.movies a {
    width: 30%;
    margin: 0 2%;
}
#about nav a img {
    width: 100%;
}
#about a.movie figure {
    border-radius: 10px;
    border: solid 1px #ccc;
}
#about nav.movies a p {
    color: #808080;
    font-size: 14px;
    padding: 10px 0;
}
#about nav.advice {
    margin-top: 100px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
#about nav.advice a {
    width: 50%;
}
/*#programs ------------------------------------------------------*/
#programs {
    position: relative;
    padding-bottom: 3vw;
    display: flex;
    flex-wrap: wrap;
    background-color: #ddf1ac;
    background-image: url(/2026/images/top/bg02.svg);
    background-size: 145%;
    background-repeat: no-repeat;
    background-position: center bottom;
}
#programs::before {
    content: '';
    width: 100%;
    height: calc(100% + 5vw);
    display: none;
    position: absolute;
    z-index: -4;
    top: 0;
    left: 0;
    /*background-image: url(/2026/images/top/section01_back.png);*/
    background:
        radial-gradient(circle at 0% 0%, #b7e609 0%, transparent 45%), radial-gradient(circle at 100% 10%, #d7efff 0%, transparent 60%), radial-gradient(circle at 40% 70%, #e0f4e4 0%, transparent 100%), radial-gradient(circle at 0% 80%, #ffffff 30%, transparent 40%), radial-gradient(circle at 100% 90%, #b7e609 0%, transparent 60%);
    transform: skew(0deg, -8deg);
}
#programs section {
    padding-top: 8vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px;
}
#programs section h2 {
    width: 100%;
    color: var(--pink);
    margin-bottom: 100px;
    letter-spacing: 0;
    width: 100%;
}
#programs section > article {
    width: 100%;
    background: #fff;
    padding: 60px 50px 50px;
    border-radius: 20px;
    margin-bottom: 60px;
    position: relative;
}
#programs section > article mark {
    display: block;
    background: none;
    position: absolute;
    top: -6%;
    left: 42%;
    width: 80px;
    z-index: 5;
}
#programs section > article .box {
    display: flex;
    padding-left: 30px;
    padding-right: 30px;
}
#programs section > article .boxL {
    width: 48%;
    margin-right: 4%;
}
#programs section > article .boxR {
    width: 48%;
}
#programs section > article h3 {
    font-size: 36px;
    text-align: center;
    font-weight: 700;
    color: var(--deepblue);
    margin-bottom: 30px;
}
#programs section > article h3 small {
    display: block;
    font-size: 0.6em;
    padding-top: 0.5em;
}
#programs section > article p.read {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8;
    color: var(--deepblue);
    margin-bottom: 10px;
}
#programs section > article figure {
    margin-top: 10px;
}
#programs section > article figure img {
    width: 100%;
}
#programs section > article ul.sign {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 1vw;
}
#programs section > article ul.sign li.title {
    background: var(--deepblue);
    color: #fff;
    font-size: 14px;
    margin-bottom: 0.5em;
    padding: 0.5em;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#programs section > article ul.sign li.title small {
    font-size: 90%;
    margin-left: 1em;
    line-height: 1;
}
#programs section > article ul.sign li:not(.title) {
    width: 32%;
    margin-right: 2%;
    padding: 5px;
    font-size: 12px;
    text-align: center;
    border-radius: 5px;
    border: solid 1px var(--deepblue);
    color: var(--deepblue);
}
#programs section > article ul.sign.sign2 li:not(.title) {
    width: 49%;
    margin-right: 0;
}
#programs section > article ul.sign.sign4 li:not(.title) {
    width: 24%;
    margin-right: 1%;
}
#programs section > article ul.sign li:not(.title):last-child {
    margin-right: 0;
}
#programs section > article dl.entry_info {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 10px;
}
#programs section > article dl.entry_info dt {
    width: 100%;
}
#programs section > article dl.entry_info dd {
    width: 100%;
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 0;
    line-height: 1.4;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: #0c2666;
}
#programs section > article dl.entry_info dd span {
    font-family: Oswald, sans-serif;
    font-size: 30px;
    line-height: 1;
    margin-right: 0.2em;
    display: inline-flex;
    align-items: flex-end;
    padding-bottom: 0.1em;
}
#programs section > article dl.entry_info dd span small {
    font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
    font-size: 0.5em;
    font-weight: 700;
    margin-bottom: 0.2em;
    display: inline-block;
}
#programs section > article span.note {
    display: block;
    font-size: 13px;
    line-height: 1.6;
    color: #0c2666;
    text-align: center;
}
#programs section > article span.note01 {
    margin-top: 10px;
    text-align: left;
}
#programs section > article span.note b.red {
    color: var(--pink);
    font-weight: 500;
}
#programs section > article nav {
    width: 100%;
    display: block;
    margin: 1vw 0 0;
}
#programs section > article nav a.lineup {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--pink);
    padding: 10px 0;
    border-radius: 100px;
    margin: 0 auto;
    position: relative;
    min-height: 54px;
}
#programs section > article nav a.lineup.before {
    cursor: default;
}
#programs section > article nav a.lineup:not(.before)::after {
    content: '';
    width: 1vw;
    height: 1vw;
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
    transform: rotate(-45deg);
    position: absolute;
    right: 5%;
    top: calc(50% - 0.5vw);
}
#programs section > article nav a.lineup.end {
    color:#fff;
    cursor: default;
}
#programs section > article nav a.lineup.end::after {
    content: none;
}
#programs section > article nav a.lineup p {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin-right: 4%;
    position: relative;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    line-height: 1;
}
#programs section > article nav a.lineup p > span {
    font-family: Oswald;
    font-size: 30px;
    display: inline-block;
    line-height: 1;
    padding-bottom: 0.06em;
    margin: 0 0.1em;
}
#programs section > article nav a.lineup > span {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    line-height: 1.4;
}
#programs section > article nav a.lineup > span.detail {
    /* font-size: 1.1vw; */
    font-weight: 500;
}
#programs section > article nav a.lineup > span.detail small {
    display: block;
    line-height: 1.4;
}
#programs section > article.live figure {
    margin-top: 36px;
    margin-bottom: 0;
    /*margin-bottom: 27px;*/
}
#programs section > article.live a.quiz_bnr{
    display:block;
    margin-top:30px;
}

#programs section > article.labo mark.addtext {
    position: absolute;
    left: unset;
    right: 60px;
    top: -75px;
    width: 120px;
    height: 120px;
    padding: 10px;
    background: #5774cc;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
}
#programs section > article.labo h3 {
    margin-bottom: 20px;
}
#programs section > article.labo figure {
    margin-top: 10px;
}
#programs section > article.exam h3 {
    margin-bottom: 25px;
}
#programs section > article.exam h4 {
    position: relative;
    /*left: -50px;*/
    background: #d8ebfc;
    /*width: calc(100% + 100px);*/
    text-align: center;
    font-size: 20px;
    font-weight: 900;
    color: var(--deepblue);
    padding: 10px;
    margin-bottom: 20px;
    margin-top: 0;
}
#programs section > article.exam p.read {
    margin-bottom: 0
}
#programs section > article.exam p.read + small {
    color: var(--deepblue);
    font-weight: 500;
    font-size: 11px;
    line-height: 1.4;
}
#programs section > article.exam figure {
    margin-top: 0;
    margin-bottom: 0;
    display: flex;
    justify-content: center;
    height: 124px;
    overflow: hidden;
    align-items: center;
}
#programs section > article.exam figure img {
    width: 80%;
    height: auto;
    position: relative;
}
#programs section > article.exam dl.entry_info.s {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: 10px 0;
}
#programs section > article.exam dl.entry_info.s dt {
    margin-bottom: 0;
    line-height: 1;
    width: unset;
    padding-right: 10px;
    color: var(--deepblue);
}
#programs section > article.exam dl.entry_info.s dd {
    margin-bottom: 0;
    text-align: left;
    justify-content: flex-start;
    padding-bottom: 0;
    line-height: 1;
    width: unset;
}
#programs section > article.exam nav a.lineup.end{
    font-size:18px;
    font-weight:700;
}

#programs section > article a.lineup_pagelink {
    font-size: 16px;
    font-weight: bold;
    text-decoration: underline;
    text-underline-offset: 10px;
    text-decoration-color: #ced7e4;
    text-decoration-thickness: 2px;
    display: block;
    margin: 20px auto 0;
    text-align: center;
    padding: 10px 0;
    color: var(--deepblue);
}
#programs section > article a.lineup_pagelink::after {
    content: '';
    width: 0.6em;
    height: 0.6em;
    border-right: solid 2px var(--deepblue);
    border-bottom: solid 2px var(--deepblue);
    transform: rotate(-45deg);
    display: inline-block;
    margin-left: 0.2em;
    vertical-align: 0;
}
nav.support_link {
    margin: auto;
    width: 100%;
}
nav.support_link p {
    font-weight: 900;
    color: var(--deepblue);
    font-size: 22px;
    position: relative;
    text-align: center;
    margin-bottom: 20px;
}
nav.support_link p::before, nav.support_link p::after {
    content: '';
    width: 3px;
    height: 30px;
    background: var(--deepblue);
    display: inline-block;
    vertical-align: -0.4em;
    transform: rotate(-30deg);
    margin: 0 0.8em;
    /*position:absolute;
    left:-10px;
    top:calc(50% - 12px);*/
}
nav.support_link p::after {
    transform: rotate(30deg);
    left: unset;
    right: -10px;
}
nav.support_link a {
    width: 100%;
    max-width: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--pink);
    padding: 10px 0 12px;
    border-radius: 100px;
    margin: 0 auto;
    position: relative;
    min-height: 54px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}
nav.support_link a.deactive {
    background: #aaa;
    cursor: default;
}
nav.support_link a::after {
    content: '';
    width: 14px;
    height: 14px;
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
    transform: rotate(-45deg);
    position: absolute;
    right: 5%;
    top: calc(50% - 7px);
}
nav.support_link a.deactive::after {
    content: none;
}
#programs article.special {
    max-width: 1000px;
    margin: 80px auto;
    background: #b4e146;
    border: solid 6px #fff;
    /* padding:0; */
    /* padding-top: 60px; */
    height: auto;
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    /*align-items: flex-start;*/
    flex-wrap: wrap;
    padding: 34px 0;
    border-radius: 20px;
}
#programs article.special p {
    font-weight: 500;
    line-height: 1.8;
    color: var(--deepblue) ;
}
#programs article.special > div {
    margin: 0;
    width: 36%;
    margin-right: 4%;
    position: relative;
    left: -1%;
}
#programs article.special > div:nth-of-type(2) {
    margin-right: 0;
}
#programs > section > article.special > div:nth-child(1) {}
article.special h5 {
    /* text-align:center; */
    font-family: Oswald;
    color: var(--deepblue);
    font-size: 50px;
    letter-spacing: 0.05em;
    margin-top: -5px;
    margin-bottom: 20px;
    line-height: 1;
}
article.special img {
    display: block;
    width: 80%;
    margin: 0px auto 10px;
}
article.special img.title {
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
    width: 100%;
}
article.special h4 {
    text-align: center;
    font-size: 50px;
    font-weight: 900;
    color: var(--deepblue);
    margin-bottom: 0;
}
article.special > p {
    text-align: justify;
    line-height: 2;
    font-size: 15px;
    font-weight: 500;
    color: var(--deepblue);
    margin: 0;
}
article.special figure {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: -8px 0 0;
    width: 42%;
}
article.special figure img {
    width: 31%;
    margin: 8px 0;
    border-radius: 5px;
    ;
}
article.special nav {
    width: 100%;
    margin-top: 15px;
}
article.special nav p {
    text-align: center;
    line-height: 1.8;
    font-size: 15px;
    font-weight: 700;
    color: var(--deepblue);
    margin: 0px 0 20px;
}
article.special nav p::before, article.special nav p::after {
    content: none;
}
article.special nav a {
    width: 32%;
}
article.special img.star {
    position: absolute;
    animation-name: particlestar;
    animation-duration: 2s;
    animation-timing-function: inherit;
    animation-iteration-count: infinite;
}
#particle_S1 {
    top: 73%;
    right: 8%;
    width: 2%;
    animation-duration: 1.5s;
    animation-delay: 0s;
}
#particle_S2 {
    top: 63%;
    right: 11%;
    width: 1%;
    animation-duration: 1.5s;
    animation-delay: 08s;
}
#particle_S3 {
    top: 36%;
    left: 6%;
    width: 1%;
    animation-duration: 1.5s;
    animation-delay: 1s;
}
#particle_S4 {
    top: 45%;
    left: 9%;
    width: 2.2%;
    animation-duration: 1.5s;
    animation-delay: 1s;
}
@keyframes particlestar {
    0% {
        opacity: 0;
        transform: scale(0.5, 0.5);
    }
    50% {
        opacity: 1;
        transform: translateY(4%) scale(1.5, 1.5) rotate(2deg);
    }
    100% {
        opacity: 0;
        transform: translateY(-4%) scale(0.98, 0.98) rotate(-2deg);
    }
}
/*#school_info-------------------------------------------------*/
#school_info {
    padding-top: 8vw;
}
#school_info h2 {
    color: var(--pink);
    letter-spacing: 0;
}
#school_info .info_text h4 {
    text-align: center;
    font-family: Oswald;
    font-size: 60px;
    color: var(--deepblue);
    margin-top: 1.5em;
    margin-bottom: 0.25em;
}
#schoollist {
    text-align: center;
}
#schoollist h4 {
    text-align: center;
    font-size: 28px;
    font-weight: 900;
    color: var(--deepblue);
    margin-bottom: 40px;
    display: inline-block;
    margin: 0 auto 40px;
    padding-bottom: 10px;
    border-bottom: solid 2px #000;
}
#schoollist h4 span {
    color: var(--pink);
    font-family: Oswald;
    font-weight: 700;
    font-size: 1.6em;
    margin: 0.15em;
}
#schoollist h5 {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    margin-bottom: 10px;
}
#schoollist ul.schoollist.multicolumn {
    width: 100%;
    column-count: 4;
    margin-bottom: 30px;
}
#schoollist ul.schoollist.multicolumn li {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 12px;
    padding: 4px 0;
    padding-left: 18px;
    position: relative;
    display: inline-block;
    text-align: left;
}
#schoollist ul.schoollist.multicolumn li.nokbn {
    padding-left: 0;
}
#schoollist ul.schoollist.multicolumn li::before {
    content: '';
    font-family: 'Noto Sans Japanese', sans-serif;
    font-weight: 200;
    font-size: 10px;
    line-height: 1;
    width: 14px;
    height: 14px;
    background: #ffffff;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2px;
    position: absolute;
    top: 4px;
    left: 0;
}
#schoollist ul.schoollist.multicolumn li.nokbn::before {
    content: none;
}
#schoollist ul.schoollist.multicolumn li a {
    color: #4B5A61;
    font-size: 12px;
}
#schoollist ul.schoollist.multicolumn li a span {
    text-decoration: underline;
}
#schoollist ul.schoollist.multicolumn li span {
    font-size: 12px;
    padding-right: 2px;
}
#schoollist ul.schoollist.multicolumn li span.pref {
    padding: 0 0 0 3px;
    margin-right: 0;
    font-size: 70%;
    /*vertical-align: middle;*/
    color: #989898;
    border-left: solid 1px #AAA;
    display: inline-block;
    font-size: 10px;
    line-height: 100%;
}
#schoollist ul.schoollist.multicolumn li span.note {
    margin-right: 0;
    display: block;
    font-size: 10px;
    padding-top: 5px;
}
#schoollist ul.schoollist.multicolumn li.kbn1::before {
    content: '国';
    background: #368927;
}
#schoollist ul.schoollist.multicolumn li.kbn2::before {
    content: '公';
    background: #368927;
}
#schoollist ul.schoollist.multicolumn li.kbn3::before {
    content: '私';
    background: #1381c7;
}
#school_info nav {
    margin: 100px auto 0;
    width: 450px;
}
#school_info nav.support_link {
    margin-top: 50px;
}
/*#support ----------------------------------- */
#support {
    padding-top: 8vw;
    padding-bottom: 8vw;
    position: relative;
}
#support::before {
    content: '';
    width: 100%;
    height: calc(100% + 2vw);
    display: block;
    position: absolute;
    z-index: -5;
    top: 0;
    left: 0;
    background: #fff;
}
#support section {
    background: #b4e146;
    max-width: 1000px;
    padding: 50px 70px;
    border-radius: 40px;
    margin: 0 auto 0;
}
#support section h3 {
    font-size: 40px;
    color: var(--deepblue);
    font-weight: 900;
    text-align: center;
    margin-bottom: 60px;
}
#support section h3 small {
    display: block;
    font-weight: 700;
    font-size: 0.5em;
    margin-bottom: 0.5em;
}
#support section ul {
    display: flex;
    justify-content: space-between;
}
#support section ul li {
    width: 30%;
    border-radius: 10px;
    position: relative;
}
#support section ul li div {
    border-radius: 20px;
    overflow: hidden;
}
#support section ul li img {
    width: 100%;
    background: #fff;
}
#support section ul li h5 {
    background: #e8f6c7;
    padding: 20px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--deepblue);
}
#support section ul li::after {
    content: '';
    width: 56px;
    height: 56px;
    display: block;
    background-image: url(/2026/images/top/step_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-color: var(--deepblue);
    border-radius: 50%;
    position: absolute;
    right: -50px;
    top: calc(50% - 28px);
    z-index: 4;
}
#support section ul li:last-child::after {
    content: none;
}
#support nav {
    margin: 60px auto 0;
    width: 450px;
}
/*#livemovie -------------------------------------------*/
#livepreview {
    position: relative;
    /* z-index: 5; */
    background: #fddfea;
}
#livepreview::before {
    content: '';
    width: 100%;
    height: calc(100% + 5vw);
    display: none;
    position: absolute;
    z-index: -2;
    top: -10vw;
    left: 0;
    background: linear-gradient(180deg, rgba(11, 39, 101, 1) 0%, rgba(13, 39, 102, 1) 37.95%, rgba(20, 41, 104, 1) 51.62%, rgba(31, 44, 107, 1) 61.36%, rgba(48, 48, 113, 1) 69.24%, rgba(70, 53, 120, 1) 75.99%, rgba(98, 59, 128, 1) 81.97%, rgba(130, 66, 138, 1) 87.38%, rgba(168, 75, 150, 1) 92.35%, rgba(209, 84, 163, 1) 96.77%, rgba(244, 92, 174, 1) 100%);
    background-size: cover;
    background-repeat: no-repeat;
    transform: skew(0deg, -8deg);
}
#livepreview section {
    padding: 8vw 0;
}
#livepreview h2 {
    letter-spacing: 0;
    color: var(--pink);
}
#livepreview p.read {
    text-align: center;
    color: var(--deepblue);
    line-height: 2;
    font-size: 17px;
    font-weight: 500;
    margin-bottom: 40px;
}
#livepreview #preview_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 0;
}
#livepreview #preview_list a {
    display: block;
    padding: 0;
    width: 23%;
    position: relative;
    border-radius: 0;
    margin: 1px 0 4%;
    background: none;
}
#livepreview #preview_list a img {
    width: 100%;
}
#livepreview #preview_list a p {
    font-size: 11px;
    color: var(--deepblue);
    margin-top: 5px;
    text-align: justify;
}
#livepreview figure.image {
    display: block;
    width: 590px;
    margin: 50px auto 0;
}
#livepreview figure.image img {
    width: 100%;
}
#livepreview .info_text h4 {
    text-align: center;
    font-family: Oswald;
    font-size: 60px;
    color: var(--deepblue );
    margin: 2em;
}
/*#palalax_window ------------------------------------ */
#palalax_window {
    height: 100vh;
    margin-top: -20vw;
}
#palalax_window.in::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -10;
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(/2026/images/top/end_back_pc.jpg);
    background-size: cover;
}
body.ios #palalax_window.in.short::before {
    /* height: calc(100vh - 200px); */
}
/*bnr ------------------------------------------------------ */
#bnr {
    width: 100%;
    margin: 100px auto 20px;
}
#sp_bnr {
    display: none;
}
#bnr nav {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
}
#bnr a {
    width: 49%;
    margin: 1% 0;
}
#bnr a img {
    width: 100%;
}
/*rollover-------------------------------------- */
@media screen and (min-width: 768px) {
    #programs section > article nav a.lineup:not(.before):hover, #programs section > article a.lineup_pagelink:hover, .advice_bnr:hover {
        opacity: 0.6;
    }
    #overview ul li a#timescedule:hover {
        opacity: 0.8;
    }
    #timetable_close:hover {
        opacity: 0.6;
    }
    nav.support_link a:nor(.deactive):hover {
        opacity: 0.8;
    }
    #bnr a:hover {
        opacity: 0.8;
    }
}

/*under 1200px  ======================================================== */
@media screen and (max-width: 1200px) {
    #main_ilust img.pop {
        right: inherit;
        left: 0;
        top: 0;
    }
}
/*under 1100px  ======================================================== */
@media screen and (max-width: 1100px) {
    main > article {
        padding: 0 4.5vw;
    }
    section.wrap h2 {
        font-size: 4.1vw;
    }
    /*#main_title ----------------------------- */
    #main_title section.wrap {
        position: relative;
        padding: 4vw 0px 5.5vw;
    }
    #main_title figure {
        top: 5.45vw;
    }
    #main_title figure figcaption {
        font-size: 1.32vw;
    }
    #main_title #info {
        width: 40%;
        margin-top: 15.7vw;
    }
    #date_count {
        margin-top: 1.81vw;
        padding: 1.36vw 2.7vw;
    }
    #date_count .count_date {
        padding: 0 0 1.1vw;
        font-size: 2vw;
    }
    #date_count .ondemand {
        font-size: 1.2vw;
        padding: 1.2vw 0 0;
    }
    #date_count.count{
        padding: 1.3vw 1.3vw 2vw;
        /*padding: 1.3vw 1.3vw 5.2vw;*/
        position:relative;
        overflow:hidden;
    }
    #participants_count_block #participants.participants{
        padding: 0.7vw 0;
        font-size: 1.27vw;
    }
    #main_title ul.feature {
        top: 48.3vw;
    }
    #main_title ul.feature li:not(.note) {
        width: 15vw;
        height: 15vw;
    }
    #main_title ul.feature li:not(.note) p {
        font-size: 1.3vw;
        margin-top: 2.8vw;
    }
    #main_title ul.feature li.feature2 p {
        font-size: 1.20vw;
    }
    #main_title ul.feature li:not(.note) h5 {
        font-size: 2vw;
    }
    #main_title ul.feature li.feature1 h5 small {
        font-size: 0.6em;
        padding-bottom: 1em;
    }
    /*#overview ------------------------------------------------------*/
    #overview section {
        padding: 0 0 0;
    }
    #overview div.flex {
        margin-bottom: 4.5vw;
    }
    #overview ul {
        width: 48%;
    }
    #overview ul li {
        padding: 1.36vw 0;
    }
    #overview ul li > small {
        font-size: 1.3vw;
    }
    #overview ul li > span, #overview ul li > div {
        width: 55%;
        font-size: 1.63vw;
    }
    #overview ul li a#timescedule {
        font-size: 1.2vw;
    }
    #overview ul li > div small {
        font-size: 1.1vw;
    }
    /*#about ------------------------------------------------------*/
    #about h2 {
        margin-bottom: 4.5vw;
    }
    #about h3 {
        text-align: center;
        font-size: 3.1vw;
    }
    #about p {
        text-align: center;
        font-size: 1.7vw;
    }
    #about figure.about＿image_left {
        left: -19%;
    }
    #about figure.about＿image_right {
        right: -20%;
    }
    #about figure img {
        width: 100%;
    }
    #about nav.movies {
        margin-top: 9.1vw;
    }
    #about nav h4 {
        font-size: 2.7vw;
        margin-bottom: 1.8vw;
    }
    #about nav.movies a p {
        font-size: 1.28vw;
        padding: 0.91vw 0;
    }
    #about nav.advice {
        margin-top: 9.1vw;
    }
    /*#programs ------------------------------------------------------*/
    #programs section h2 {
        margin-bottom: 9.1vw;
    }
    #programs section > article {
        padding: 5.4vw 4.5vw 4.5vw;
        margin-bottom: 9.1vw;
    }
    #programs section > article mark {
        width: 7.27vw;
    }
    #programs section > article mark img {
        width: 100%;
    }
    #programs section > article .box {
        padding-left: 0;
        padding-right: 0;
    }
    #programs section > article h3 {
        font-size: 2.54vw;
        margin-bottom: 2.7vw;
    }
    #programs section > article p.read {
        font-size: 1.2vw;
        margin-bottom: 0.91vw;
    }
    #programs section > article figure {
        margin-top: 0.91vw;
        margin-bottom: 1.8vw;
    }
    #programs section > article figure img {
        width: 100%;
    }
    #programs section > article ul.sign li.title {
        font-size: 1.27vw;
    }
    #programs section > article ul.sign li:not(.title) {
        padding: 0.45vw;
        font-size: 1.1vw;
    }
    #programs section > article dl.entry_info dd {
        font-size: 1.27vw;
    }
    #programs section > article dl.entry_info dd span {
        font-size: 2.7vw;
    }
    #programs section > article span.note {
        font-size: 1.18vw;
    }
    #programs section > article nav a.lineup {
        padding: 0.91vw 0;
        border-radius: 9.1vw;
        min-height: 4.9vw;
    }
    #programs section > article nav a.lineup p {
        font-size: 1.63vw;
    }
    #programs section > article nav a.lineup p > span {
        font-size: 2.7vw;
    }
    #programs section > article nav a.lineup > span {
        font-size: 1.1vw;
    }
    #programs section > article nav a.lineup > span.detail {
        font-size: 1.1vw;
    }
    #programs section > article nav a.lineup > span.detail small {
        line-height: 1.4;
    }
    #programs section > article.live figure {
        margin-top: 3.05vw;
        margin-bottom: 2.15vw
    }
    #programs section > article.live a.quiz_bnr{
        margin-top:2.7vw;
    }
    #programs section > article.labo mark.addtext {
        right: 5.45vw;
        top: -6.8vw;
        width: 10.9vw;
        height: 10.9vw;
        padding: 0.9vw;
        font-size: 1.1vw;
    }
    #programs section > article.labo h3 {
        margin-bottom: 2vw;
    }
    #programs section > article.labo figure {
        margin-top: 0.91vw;
    }
    #programs section > article.exam h3 {
        margin-bottom: 2vw;
    }
    #programs section > article.exam h4 {
        left: -4.5vw;
        width: calc(100% + 9.1vw);
        font-size: 1.8vw;
        padding: 0.91vw;
        margin-bottom: 1.6vw;
        margin-top: 0;
    }
    #programs section > article.exam p.read + small {
        font-size: 0.99vw;
        line-height: 1.4;
    }
    #programs section > article.exam figure {
        height: 10.7vw;
    }
    #programs section > article.exam dl.entry_info.s {
        margin: 0.91vw 0;
    }
    #programs section > article.exam dl.entry_info.s dt {
        padding-right: 0.91vw;
    }
    #programs section > article a.lineup_pagelink {
        font-size: 1.45vw;
        text-underline-offset: 0.91vw;
        margin: 1.8vw auto 0;
        padding: 0.91vw 0
    }
    #programs section > article.exam nav a.lineup.end{
        font-size: 1.63vw;
    }
    nav.support_link {
        margin: auto;
        width: 36.3vw;
    }
    nav.support_link p {
        font-size: 2vw;
        margin-bottom: 1.8vw;
    }
    nav.support_link p::before, nav.support_link p::after {
        height: 2.7vw;
    }
    nav.support_link p::after {
        right: -0.91vw;
    }
    nav.support_link a {
        width: 100%;
        max-width: 31.8vw;
        border-radius: 9.1vw;
        min-height: 4.9vw;
        font-size: 1.63vw;
    }
    nav.support_link a::after {
        width: 1.27vw;
        height: 1.27vw;
        top: calc(50% - 0.67vw);
    }
    #programs article.special {
        border: solid 0.6vw #fff;
        margin: 7.2vw auto;
    }
    article.special h5 {
        font-size: 4.5vw;
        margin-bottom: 1.8vw;
    }
    article.special img {
        width: 90%;
        margin: 0 auto 0.9vw;
    }
    article.special h4 {
        font-size: 4.5vw;
        margin-bottom: 0;
    }
    article.special p {}
    article.special nav p {
        font-size: 1.35vw;
    }
    /*#school_info-------------------------------------------------*/
    #schoollist h4 {
        font-size: 2.5vw;
        margin-bottom: 3.6vw;
        margin: 0 auto 3.6vw;
        padding-bottom: 0.91vw;
    }
    #schoollist h5 {
        font-size: 1.45vw;
        margin-bottom: 0.91vw;
    }
    #schoollist ul.schoollist.multicolumn {
        column-count: 3;
        margin-bottom: 2.7vw;
    }
    #school_info > nav {
        margin: 9.1vw auto 0;
        /* width: 40.9vw; */
    }
    #school_info .info_text h4 {
        margin-bottom: 1.05em;
    }
    /*bnr ------------------------------------------------------ */
    #bnr {
        margin: 9.1vw auto 1.8vw;
    }
    /* #support ----------------------------------- */
    #support {
        padding-top: 4.5vw;
    }
    #support section {
        padding: 4.5vw 6.3vw;
        border-radius: 3.6vw;
        margin: 0 auto 0;
    }
    #support section h3 {
        font-size: 3.6vw;
        margin-bottom: 5vw;
    }
    #support section ul li {
        border-radius: 0.91vw;
    }
    #support section ul li div {
        border-radius: 1.8vw;
    }
    #support section ul li h5 {
        padding: 1.8vw;
        font-size: 1.36vw;
    }
    #support section ul li::after {
        width: 5.01vw;
        height: 5.01vw;
        right: -4.5vw;
        top: calc(50% - 2.5vw);
    }
    #support nav {
        margin: 5.45vw auto 0;
        width: 40.9vw;
    }
    /*#livemovie -------------------------------------------*/
    #livepreview p.read {
        font-size: 1.54vw;
        margin-bottom: 3.6vw;
    }
    #livepreview #preview_list a figure {
        min-height: 10vw
    }
    #livepreview #preview_list a p {
        font-size: 1.1vw;
        margin-top: 0.45vw;
    }
    #livepreview figure.image {
        width: 59%;
        margin: 4.5vw auto 0;
    }
}
/*under 767px ======================================================== */
@media screen and (max-width: 767px) {
    main > article {
        padding: 0 5vw;
    }
    section.wrap h2 {
        font-size: 8vw;
    }
    /*#main_title ----------------------------- */
    #main_title::before {
        content: '';
        /*background: radial-gradient(circle at 0% 0%, #b7e609 0%, transparent 40%), radial-gradient(circle at 100% 10%, #ddf1ff 0%, transparent 60%), radial-gradient(circle at 40% 70%, #e0f4e4 0%, transparent 100%), radial-gradient(circle at -10% 60%, #ffffff 0%, transparent 20%), radial-gradient(circle at 90% 85%, #b7e609 10%, transparent 50%);*/
        background: none;
    }
    #main_title section.wrap {
        position: relative;
        padding: 5vw 0px 15vw;
        /* z-index: 10; */
        max-width: 1000px;
    }
    #main_title h2 {
        position: static;
        width: 60vw;
        margin-left: 1vw;
        margin-top: 5vw;
        margin-bottom: 8vw;
    }
    #main_title h1 img.title {
        width: 100%;
        position: relative;
        left: 0;
    }
    #main_title figure {
        width: 100vw;
        position: relative;
        top: 0px;
        right: unset;
        left: inherit;
    }
    #main_title figure figcaption {
        font-size: 2.6vw;
        top: -16%;
        left: unset;
        right: 5%;
        width: 35%;
    }
    #main_title figure #main_illust {
        position: relative;
        left: -5vw;
    }
    #main_ilust img.pop {
        left: inherit;
        right: 8vw;
        top: -15vw;
        width: 25vw;
        z-index: 1;
    }
    #main_title #info {
        width: 100%;
        margin-top: -7vw;
        margin-left: 0;
    }
    #main_title #info h1 {
        width: 65vw;
        position: relative;
        z-index: 2;
        left: -1vw;
        margin-left: auto;
        margin-right: auto;
        padding-top: 10vw;
    }
    #date_count {
        margin-top: 6vw;
        padding: 3vw 6vw;
    }
    #date_count .count_date {
        padding: 0 0 2vw;
        font-size: 4.5vw;
    }
    #date_count .ondemand {
        font-size: 3vw;
        padding: 3vw 0 0;
    }
    #date_count.count{
        padding: 3vw 3vw 4.4vw;
        /*padding: 3vw 3vw 13vw;*/
    }
    #participants_count_block #participants.participants{
        padding:1.5vw 0;
        font-size: 3.4vw;
    }
    #participants_count_block #participants.participants span{
        line-height: 1;
        padding-bottom: 0.15em;
        letter-spacing: 0.05em;
    }
    #main_title ul.feature {
        position: static;
        width: 96vw;
        margin-top: 4vw;
        position: relative;
        left: -3vw;
        top: 0;
    }
    #main_title ul.feature li:not(.note) {
        width: 31vw;
        height: 28vw;
    }
    #main_title ul.feature li:not(.note) p {
        font-size: 2.6vw;
        margin-top: 4.6vw;
    }
    #main_title ul.feature li.feature2 p {
        font-size: 2.5vw;
        transform: scale(0.85, 1);
    }
    #main_title ul.feature li.feature2 h5 sup {
        top: 2.3em;
    }
    #main_title ul.feature li:not(.note) h5 {
        font-size: 4.2vw;
        padding-top: 0.8vw;
        line-height: 1;
    }
    #main_title ul.feature li:not(.note) h5 b {
        font-size: 2.3em;
    }
    #main_title ul.feature li.feature3 h5 {
        letter-spacing: -0.05em
    }
    #main_title ul.feature li.feature3 h5 small {
        font-size: 0.5em;
        padding-bottom: 1em;
        position: absolute;
        top: 1.0em;
        right: 16%;
        letter-spacing: 0.1em;
        z-index: 6;
    }
    #main_title ul.feature li.note {
        width: 100%;
        font-size: 2.6vw;
        padding-left: 0;
        text-indent: 0;
        color: #000;
        text-align: center;
        padding-top: 1em;
    }
    /*#overview ------------------------------------------------------*/
    #overview::before {
        height: calc(100% + 16vw);
        top: -8vw;
        left: 0;
    }
    #overview section {
        padding: 10vw 0 10vw;
    }
    #overview div.flex {
        margin-bottom: 10vw;
    }
    #overview nav a {
        padding: 4.2vw 0;
    }
    #overview ul {
        width: 100%;
    }
    #overview ul li {
        padding: 2.5vw 0;
    }
    #overview ul li > small {
        font-size: 3vw;
        width: 30%;
        padding-right: 3vw;
    }
    #overview ul li > span, #overview ul li > div {
        width: 70%;
        font-size: 4vw;
    }
    #overview ul li a#timescedule {
        top: 1.5em;
        font-size: 0.9em;
        font-size: 2.7vw;
    }
    #overview ul li > div small {
        font-size: 2.7vw;
    }
    #overview img {
        width: 80%;
        margin: 8vw auto 0;
    }
    #overview nav {
        width: 80%;
        margin: auto;
    }
    /*#timetable popup*/
    #timetable {
        width: 92%;
        height: 140vw;
        top: calc(50% - 70vw);
        left: 4%;
        padding: 8vw 5vw 7vw;
    }
    #timetable_close {
        top: 4vw;
        right: 4vw;
        width: 8vw;
        height: 8vw;
        padding-top: 8vw;
    }
    #timetable_close::before, #timetable_close::after {
        height: 8vw;
        top: 0;
    }
    #timetable_close small {
        font-size: 2.6vw;
    }
    #timetable section {
        height: 100%;
    }
    #timetable section div.texts {
        width: 100%;
        height: auto;
        margin-bottom: 0vw;
    }
    #timetable section div.texts h3 {
        font-size: 5vw;
        text-underline-offset: 3vw;
        padding-bottom: 2vw;
        margin-bottom: 4vw;
    }
    #timetable section div.texts p {
        font-size: 3.2vw;
        line-height: 1.7;
    }
    #timetable section div.texts::after {
        display: none;
    }
    #timetable section ul {
        width: 100%;
    }
    #timetable section ul li {
        margin-bottom: 2vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #timetable section ul li > span {
        font-size: 3.4vw;
        width: 17%;
        margin-right: 3%;
    }
    #timetable section ul li time {
        font-weight: 700;
        width: 50%;
    }
    #timetable section ul li time span {
        font-size: 7vw;
        width: 40%;
    }
    #timetable section ul li time > mark {
        font-size: 5vw;
    }
    /*#about -------------------------------------- */
    #about section {
        position: relative;
        padding: 15vw 0 20vw;
    }
    #about h2 {
        margin-bottom: 4vw
    }
    #about h3 {
        font-size: 5vw;
    }
    #about p {
        font-size: 3.4vw;
        line-height: 1.8;
        margin-bottom: 60vW;
    }
    #about figure.about＿image_left, #about figure.about＿image_right {
        top: 5%;
        width: 45%;
    }
    #about figure.about＿image_left {
        left: -5%;
        top: 92VW;
        width: 60%;
        z-index: 2
    }
    #about figure.about＿image_right {
        right: -6%;
        top: 93vw;
        width: 60%;
    }
    #about nav.movies {
        margin-top: 88vw;
        justify-content: space-between;
        margin-bottom: 10vw;
    }
    #about nav h4 {
        font-size: 5vw;
        margin-bottom: 4vw;
    }
    #about nav.movies a#conceptmovie {
        width: 70%;
        margin-bottom: 2vw;
    }
    #about nav.movies a:not(#conceptmovie) {
        width: 48%;
        margin: 0;
    }
    #about nav.movies a p {
        font-size: 2.7vw;
        padding: 1vw 0 2vw;
    }
    #about nav.advice {
        /*movie on margin-top: 10vw;*/
        margin-top: 0;
    }
    #about nav.advice a {
        width: 80%;
    }
    /*#programs ------------------------------------------------------*/
    #programs {
        padding-bottom: 15vw;
        background-image: none;
    }
    #programs::before {
        height: calc(100% + 5vw);
        background: radial-gradient(circle at 0% 0%, #b7e609 0%, transparent 40%), radial-gradient(circle at 100% 10%, #ddf1ff 0%, transparent 60%), radial-gradient(circle at 40% 50%, #e0f4e4 0%, transparent 100%), radial-gradient(circle at -10% 70%, #ffffff 0%, transparent 50%), radial-gradient(circle at 100% 90%, #b7e609 0%, transparent 100%);
    }
    #programs section {
        padding-top: 15vw;
        order: 1;
    }
    #programs section h2 {
        margin-bottom: 12vw;
    }
    #programs section > article {
        width: 100%;
        padding: 14vw 4vw 12vw;
        margin-bottom: 15vw;
    }
    #programs section > article:last-of-type {
        margin-bottom: 10vw
    }
    #programs section > article mark {
        top: -6%;
        left: calc(50% - 9vw);
        width: 20vw;
    }
    #programs section > article .box {
        display: block;
    }
    #programs section > article .boxL {
        width: 100%;
        margin-right: 0;
    }
    #programs section > article .boxR {
        width: 100%;
    }
    #programs section > article h3 {
        font-size: 6vw;
        margin-bottom: 4vw;
    }
    #programs section > article h3 small {
        display: block;
        font-size: 0.6em;
        padding-top: 0.5em;
    }
    #programs section > article p.read {
        font-size: 3vw;
        margin-bottom: 2vw;
        text-align: center;
    }
    #programs section > article figure {
        margin-top: 4vw;
        margin-bottom: 4vw;
    }
    #programs section > article ul.sign {
        margin-bottom: 1vw;
    }
    #programs section > article ul.sign li.title {
        font-size: 3vw;
    }
    #programs section > article ul.sign li:not(.title) {
        padding: 1.5vw;
        font-size: 2.8vw;
    }
    #programs section > article.exam p.read + small {
        font-size: 2.42vw;
    }
    #programs section > article.exam figure {
        height: 31vw;
    }
    #programs section > article.exam figure img {
        width: 90%;
    }
    #programs section > article dl.entry_info {
        margin-bottom: 1vw;
    }
    #programs section > article dl.entry_info dd {
        font-size: 3.2vw;
    }
    #programs section > article dl.entry_info dd span {
        font-size: 9vw;
    }
    #programs section > article span.note {
        font-size: 3vw;
    }
    #programs section > article nav {
        margin: 2vw 0 0;
    }
    #programs section > article nav a.lineup {
        min-height: 13vw;
    }
    #programs section > article nav a.lineup:not(.before)::after {
        width: 3vw;
        height: 3vw;
        top: calc(50% - 1.5vw);
    }
    #programs section > article nav a.lineup p {
        font-size: 4vw;
    }
    #programs section > article nav a.lineup p > span {
        font-size: 8vw;
    }
    #programs section > article nav a.lineup > span {
        font-size: 3vw;
    }
    #programs section > article nav a.lineup > span.detail {
        font-size: 3vw;
    }
    #programs section > article.live figure {
        margin-top: 4vw;
        margin-bottom: 4vw;
    }
    #programs section > article.live a.quiz_bnr{
        margin-top:4vw;
    }
    #programs section > article.labo mark.addtext {
        right: 2vw;
        top: -16vw;
        width: 28vw;
        height: 28vw;
        padding: 2vw;
        font-size: 2.7vw;
    }
    #programs section > article.labo h3 {
        margin-bottom: 4vw;
    }
    #programs section > article.labo figure {
        margin-top: 2vw;
    }
    #programs section > article.exam h4 {
        left: -4vw;
        width: calc(100% + 8vw);
        font-size: 4vw;
        padding: 2vw;
        margin-bottom: 4vw;
        margin-top: 4vw;
    }
    #programs section > article.exam dl.entry_info.s {
        margin: 3vw 0;
    }
    #programs section > article.exam dl.entry_info.s dt {
        padding-right: 2vw;
    }
    #programs section > article.exam nav a.lineup span{
        font-size:3.8vw;
    }
    #programs section > article.exam nav a.lineup.end{
        font-size: 3.8vw;
    }
    #programs section > article a.lineup_pagelink {
        font-size: 3.6vw;
        text-underline-offset: 2vw;
        margin: 4vw auto 0;
        text-align: center;
        padding: 2vw 0
    }
    #programs article.special {
        border: solid 4px #fff;
        height: auto;
        position: relative;
        padding: 10vw 4vw 10vw;
        margin-top: 0;
        margin-bottom: 15vw;
        order: 2;
    }
    #programs article.special > div {
        margin: 0 0;
        width: 100%;
        left: 0;
    }
    article.special h5 {
        font-size: 10vw;
        margin-bottom: 6vw;
        text-align: center;
    }
    article.special img {
        display: block;
        width: 90%;
        margin: 0 auto 4vw;
    }
    article.special img.title {
        width: 90%;
    }
    article.special h4 {
        font-size: 11vw;
        margin-bottom: 5vw;
    }
    article.special p {
        font-size: 3.4vw;
        text-align: center;
    }
    article.special figure {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0;
        width: 100%;
    }
    article.special figure img {
        width: 31%;
        margin: 1vw 0;
        border-radius: 5px;
        ;
    }
    article.special nav {
        width: 100%;
        margin-top: 15px;
    }
    article.special nav p {
        font-size: 3.2vw;
        margin: 0px 0 4vw;
    }
    article.special nav a {
        width: 80%;
    }
    article.special img.star {
        position: absolute;
        animation-name: particlestar;
        animation-duration: 2s;
        animation-timing-function: inherit;
        animation-iteration-count: infinite;
    }
    #particle_S1 {
        top: 12%;
        right: 3%;
        width: 4%;
    }
    #particle_S2 {
        top: 18%;
        right: 8%;
        width: 2%;
    }
    #particle_S3 {
        top: 29%;
        left: 4%;
        width: 2%;
    }
    #particle_S4 {
        top: 33%;
        left: 10%;
        width: 4%;
        animation-duration: 1.5s;
        animation-delay: 1s;
    }
    nav.support_link {
        margin: auto;
        width: 80vw;
        order: 3;
    }
    nav.support_link p {
        font-size: 4.5vw;
        margin-bottom: 3vw;
    }
    nav.support_link p::before, nav.support_link p::after {
        width: 2px;
        height: 7vw;
        vertical-align: -0.5em;
        margin: 0 0.6em;
    }
    nav.support_link p::after {
        right: -2vw;
    }
    nav.support_link a {
        width: 100%;
        max-width: 80vw;
        padding: 2vw 0;
        min-height: 12vw;
        font-size: 4.8vw;
    }
    nav.support_link a::after {
        width: 3vw;
        height: 3vw;
        top: calc(50% - 1.5vw);
    }
    /*#school_info-------------------------------------------------*/
    *#school_info {
        padding-top: 15vw;
    }
    #school_info .info_text h4 {
        font-size: 10vw;
        color: var(--deepblue);
        margin-top: 1em;
        margin-bottom: -0.1em;
    }
    #schoollist h4 {
        font-size: 4.5vw;
        margin: 0 auto 5vw;
    }
    #schoollist h5 {
        font-size: 4vw;
        margin-bottom: 2vw;
    }
    #schoollist ul.schoollist.multicolumn {
        width: 100%;
        margin-bottom: 8vw;
        column-count: unset;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    #schoollist ul.schoollist.multicolumn li {
        width: 49%;
        margin: 0;
        padding: 0;
        font-size: 2.8vw;
        padding: 1vw 0;
        padding-left: 5vw;
    }
    #schoollist ul.schoollist.multicolumn li.nokbn {
        padding-left: 0;
    }
    #schoollist ul.schoollist.multicolumn li::before {
        font-size: 2.4vw;
        line-height: 1;
        width: 1.6em;
        height: 1.6em;
        border-radius: 2px;
        top: 0.3em;
    }
    #schoollist ul.schoollist.multicolumn li.nokbn::before {
        content: none;
    }
    #schoollist ul.schoollist.multicolumn li a {
        font-size: 2.8vw;
    }
    #schoollist ul.schoollist.multicolumn li span {
        font-size: 2.7vw;
        padding-right: 2px;
    }
    #schoollist ul.schoollist.multicolumn li span.pref {
        font-size: 2.6vw;
    }
    #schoollist ul.schoollist.multicolumn li span.note {
        font-size: 2.6vw;
        padding-top: 1vw;
    }
    #school_info nav {
        margin: 10vw auto 0;
        width: 90vw;
    }
    #school_info nav.support_link {
        margin-top: 5vw;
    }
    /*bnr ------------------------------------------------------ */
    #bnr {
        display: none;
    }
    #sp_bnr {
        display: block;
        width: 100%;
        position: sticky;
        background: #ccc;
        padding: 0;
        bottom: 0;
        transition: all 0.4s ease;
        z-index: 600;
    }
    #sp_bnr.withfooterbtns {
        bottom: 14.2vw;
    }
    #sp_bnr.livend.withfooterbtns {
        bottom: 7.4vw;
    }
    #sp_bnr a {
        display: block;
    }
    #sp_bnr a img {
        width: 100%;
    }
    #sp_bnr #bnr_close {
        width: 6vw;
        height: 6vw;
        display: block;
        background: #666;
        border-radius: 50%;
        position: absolute;
        top: -5vw;
        right: 0;
        border: solid 1px #fff;
        z-index: 1001;
    }
    #sp_bnr #bnr_close::before, #sp_bnr #bnr_close::after {
        content: '';
        width: 2px;
        height: 100%;
        display: block;
        background: #fff;
        position: absolute;
        top: 0;
        left: calc(50% - 1px);
        transform: rotate(45deg);
    }
    #sp_bnr #bnr_close::after {
        transform: rotate(-45deg);
    }
    /*#support ----------------------------------- */
    #support {
        padding-top: 15vw;
        padding-bottom: 15vw;
    }
    #support section {
        padding: 8vw 8vw;
        border-radius: 6vw;
        background: #C3E76D;
    }
    #support section h3 {
        font-size: 6.5vw;
        color: var(--deepblue);
        font-weight: 900;
        text-align: center;
        margin-bottom: 10vw;
    }
    #support section h3 small {
        display: block;
        font-weight: 700;
        font-size: 3.6vw;
        margin-bottom: 0.5em;
        line-height: 1.4;
    }
    #support section ul {
        flex-wrap: wrap;
    }
    #support section ul li {
        width: 90%;
        margin: 0 auto 8vw;
    }
    #support section ul li div {
        border-radius: 20px;
        overflow: hidden;
    }
    #support section ul li img {
        width: 100%;
        background: #fff;
    }
    #support section ul li h5 {
        background: #FCD3E9;
        padding: 5vw;
        font-size: 3.6vw;
    }
    #support section ul li::after {
        width: 12vw;
        height: 12vw;
        right: calc(50% - 6vw);
        top: unset;
        bottom: -10vw;
        transform: rotate(90deg);
        background-color: var(--pink);
    }
    #support section ul li:last-child::after {
        content: none;
    }
    #support nav {
        margin: 0vw auto 0;
        width: 100%;
    }
    /*#livemovie -------------------------------------------*/
    #livepreview {
        position: relative;
        /* z-index: 5; */
    }
    #livepreview::before {
        height: calc(100% + 30vw);
        top: -30vw;
    }
    #livepreview section {
        padding: 15vw 0;
    }
    #livepreview p.read {
        line-height: 2;
        font-size: 3.2vw;
        font-weight: 500;
        margin-bottom: 4vw;
    }
    #livepreview #preview_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 0;
    }
    #livepreview #preview_list a {
        width: 48%;
        margin: 0 0 4vw;
    }
    #livepreview #preview_list a figure {
        min-height: 20vw;
    }
    #livepreview #preview_list a figure::before {
        width: 8vw;
        height: 8vw;
        top: calc(50% - 4vw);
        left: calc(50% - 4vw);
    }
    #livepreview #preview_list a img {
        width: 100%;
    }
    #livepreview #preview_list a p {
        font-size: 2.6vw;
        margin-top: 1vw;
    }
    #livepreview figure.image {
        display: block;
        width: 100%;
        margin: 10vw auto 0;
    }
    #livepreview .info_text h4 {
        font-size: 10vw;
        margin: 1.5em 0;
    }
    /*#palalax_window ------------------------------------ */
    #palalax_window {
        height: 100vh;
        margin-top: -20vw;
    }
    #palalax_window.in::before {
        background-position: top 11vw center;
        background-image: url(/2026/images/top/end_back_sp.jpg);
        background-size: cover;
    }
}