@font-face {
    font-family: SourceHanSerif-Light;
    src: url("../fonts/SourceHanSerif-Light.otf") format("opentype");
}

@font-face {
    font-family: SourceHanSerif-Regular;
    src: url("../fonts/SourceHanSerif-Regular.otf") format("opentype");
}

@font-face {
    font-family: SourceHanSerif-Medium;
    src: url("../fonts/SourceHanSerif-Medium.otf") format("opentype");
}

@font-face {
    font-family: SourceHanSerif-SemiBold;
    src: url("../fonts/SourceHanSerif-SemiBold.otf") format("opentype");
}

@font-face {
    font-family: SourceHanSerif-Bold;
    src: url("../fonts/SourceHanSerif-Bold.otf") format("opentype");
}

html {
    background-color: #FFF;
}

body {
    font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-style: normal;
    color: #251E1C;
    overflow-x: hidden;
    font-size: 18px;
}

h1, h2, h3 {
    margin: 0;
    padding: 0;
}

ul, li {
    margin: 0;
    padding: 0;
}

p {
    margin: 0;
    padding: 0;
    font-size: 20px;
    line-height: 30px;
}
  
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.container {
    width: 904px;
    margin: 0 auto;
    padding: 0;
}

#banner {
    position: relative;
    background-image: url(../assets/banner-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: center;
    background-position-y: bottom;
    height: 58.55vw;
}

.banner-logo {
    display: block;
    position: absolute;
    width: 15.06vw;
    top: 2.40vw;
    left: 26.58vw;
}

.banner-logo img {
    display: block;
    width: 100%;
}

.banner-title {
    position: absolute;
    width: 14.57vw;
    top: 2.06vw;
    left: 2.22vw;
}

.banner-title img {
    display: block;
    width: 100%;
}

.banner-text {
    position: absolute;
    width: 52.08vw;
    top: 10.88vw;
    left: 26.75vw;
}

.banner-text p {
    font-family: "SourceHanSerif-Light", Arial, Helvetica, sans-serif;
    font-size: 0.83vw;
    line-height: 2.03vw;
    color: #000000;
}

.banner-text-line {
    display: none;
}

.banner-bottom {
    position: absolute;
    width: 40.57vw;
    margin: 0 auto;
    top: 20.53vw;
    left: 0;
    right: 0;
}

.banner-bottom img {
    display: block;
    width: 100%;
}

.banner-bottom-text {
    position: absolute;
    margin: 0 auto;
    top: 55.54vw;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.banner-bottom-text p {
    font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
    font-size: 1.30vw;
    line-height: 1.72vw;
    color: #FFFFFF;
    text-align: center;
}

.banner-bottom-text::before {
    content: "";
    display: block;
    background: url("../assets/banner-bottom-arrow.svg") no-repeat;
    background-size: contain;
    width: 1.47vw;
    height: 1.27vw;
    margin: 0 2.32vw 0 0;
}

.banner-bottom-text::after {
    content: "";
    display: block;
    background: url("../assets/banner-bottom-arrow.svg") no-repeat;
    background-size: contain;
    width: 1.47vw;
    height: 1.27vw;
    margin: 0 0 0 2.32vw;
}

.banner-sidebar {
    display: block;
    position: fixed;
    width: 6.32vw;
    top: 7.91vw;
    right: 0;
    z-index: 99;
    transition: 0.3s;
}

.banner-sidebar img {
    display: block;
    width: 100%;
}

.banner-sidebar:hover {
    opacity: 0.7;
}

.banner-image-caption {
    position: absolute;
    width: max-content;
    right: 1.27vw;
    bottom: 0.77vw;
}

.banner-image-caption p {
    font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
    font-size: 0.99vw;
    line-height: 1.35vw;
    color: #FFFFFF;
    text-align: center;
}

.schedule-list {
    display: flex;
    list-style: none;
}

.schedule-list li {
    position: relative;
    width: 50vw;
    height: 76.26px;
    transition: 0.3s;
}

.schedule-list li a {
    font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
    color: #FFFFFF;
    text-decoration: none;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: baseline;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    width: max-content;
}

.schedule-list li:nth-child(1) a {
    left: calc(50vw - 400px);
}

.schedule-list li:nth-child(2) a {
    right: calc(50vw - 400px);
}

.schedule-list-date {
    font-size: 47px;
    line-height: 63px;
}

.schedule-list-day {
    font-size: 20px;
    line-height: 27px;
    margin: 0 10px;
}

.schedule-list-hour {
    font-size: 31px;
    line-height: 41px;
}

.schedule-list li:hover {
    opacity: 0.7;
}

#concept {
    padding: 147px 0 0;
}

.concept-title {
    margin: 0 0 12px;
}

.concept-title h2 {
    font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
    font-size: 31px;
    line-height: 55px;
    color: #0D0A35;
    text-align: center;
}

.concept-line {
    border-left: 1px solid #000000;
    width: 0;
    height: 52px;
    margin: 0 auto 52px;
}

.concept-text {
    margin: 0 0 64px;
}

.concept-text p {
    font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 39px;
    color: #000000;
}

.concept-image-list {
    display: flex;
    list-style: none;
    flex-wrap: nowrap;
    margin: 0 0 38px;
}

.concept-image-list li {
    position: relative;
    width: 25vw;
}

.concept-image-list li img {
    display: block;
    width: 100%;
}

.concept-image-list-caption {
    position: absolute;
    width: max-content;
    right: 0.88vw;
    bottom: 0.54vw;
}

.concept-image-list-caption p {
    font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
    font-size: 0.99vw;
    line-height: 1.35vw;
    color: #FFFFFF;
    text-align: center;
}

.concept-note p {
    font-size: 31px;
    line-height: 55px;
    color: #000000;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    text-align: center;
    width: max-content;
    margin: 0 auto;
}

#story {
    padding: 98px 0 0;
}

.story-logo {
    width: 130px;
    margin: 0 auto 21px;
}

.story-logo img {
    display: block;
    width: 100%;
}

.story-line {
    border-left: 1px solid #000000;
    width: 0;
    height: 52px;
    margin: 0 auto 24px;
}

.story-title {
    margin: 0 0 58px;
}

.story-title h2 {
    font-size: 31px;
    line-height: 55px;
    color: #000000;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    text-align: center;
    width: max-content;
    margin: 0 auto;
}

.story-text p {
    font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 39px;
    color: #000000;
}

.story-text-headline {
    display: inline;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
}

.story-image {
    position: relative;
    display: block;
    width: 100vw;
    margin: 60px 0;
}

.story-image img {
    display: block;
    width: 100%;
}

.story-image-mobile {
    display: none;
}

.story-image-caption {
    position: absolute;
    width: max-content;
    right: 1.27vw;
    bottom: 0.72vw;
}

.story-image-caption p {
    font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
    font-size: 0.99vw;
    line-height: 1.35vw;
    color: #FFFFFF;
    text-align: center;
}

#flow {
    padding: 145px 0 123px;
}

.flow-title {
    margin: 0 0 12px;
}

.flow-title h2 {
    font-size: 31px;
    line-height: 55px;
    color: #000000;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    text-align: center;
    width: max-content;
    margin: 0 auto;
}

.flow-line {
    border-left: 1px solid #000000;
    width: 0;
    height: 52px;
    margin: 0 auto 52px;
}

.flow-step {
    display: flex;
    justify-content: space-between;
}

.flow-step-1, .flow-step-2 {
    width: 400px;
}

.flow-step-title {
    width: 400px;
    height: 55px;
    border: 2.5px solid #686368;
    border-radius: 23px;
    position: relative;
    margin: 0 0 20px;
}

.flow-step-1 .flow-step-title {
    border: 2.5px solid #686368;
}

.flow-step-2 .flow-step-title {
    border: 2.5px solid #050421;
}

.flow-step-title h3 {
    font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
    font-size: 29px;
    line-height: 55px;
    color: #000000;
    text-align: center;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/*
.flow-step-number {
    width: 8.99vw;
    height: 8.99vw;
    border-radius: 1.532vw;
    position: absolute;
    color: #FFFFFF;
    left: -2.48vw;
    top: -3.85vw;
}

.flow-step-1  .flow-step-number {
    background-color: #686368;
}

.flow-step-2  .flow-step-number {
    background-color: #050421;
}

.flow-step-number-text {

}
*/

.flow-step-number {
    width: 68px;
    height: 68px;
    position: absolute;
    left: -20px;
    top: -42px;
}

.flow-step-number img {
    display: block;
    width: 100%;
}

.flow-step-text {
    margin: 0 0 23px;
}

.flow-step-text p {
    font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
    font-size: 21px;
    line-height: 35px;
    color: #000000;
    text-align: left;
}

.flow-step-text span {
    font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 35px;
    color: #000000;
    text-align: left;
}

.flow-step-1 .flow-step-image {
    display: block;
    width: 406px;
    margin: 0 auto;
}

.flow-step-1 .flow-step-image-mobile {
    display: none;
}

.flow-step-2 .flow-step-image {
    width: 300px;
    margin: 0 auto;
}

.flow-step-image img {
    display: block;
    width: 100%;
}

#item {
    padding: 98px 0 112px;
    background-image: url('../assets/item-bg.png');
    background-size: 1920px;
    background-position-x: center;
    background-position-y: top;
}

.item-title {
    margin: 0 0 78px;
    text-align: center;
}

.item-title h2 {
    font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
    font-size: 31px;
    line-height: 55px;
    color: #000000;
    display: inline;
    text-align: center;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
}

.item-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.item-list li {
    position: relative;
    width: 420px;
    background-color: #FFF;
    border: 2.5px solid #000;
    border-radius: 23px;
    padding: 45px 36px 36px;
    margin: 0 0 70px;
}

.item-list li:last-child {
    margin: 0 auto;
}

.item-list-logo {
    width: 332px;
    margin: 0 auto;
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
}

.item-list-logo img {
    display: block;
    width: 100%;
}

.item-list-title {
    margin: 0 0 23px;
}

.item-list-title h3 {
    font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
    font-size: 27px;
    line-height: 35px;
    color: #000000;
    text-align: center;
}

.item-list-title h4 {
    font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 35px;
    color: #000000;
    text-align: center;
    margin: 0;
}

.item-list-title span {
    font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 26px;
    color: #000000;
    text-align: center;
    display: block;
    margin: 0;
}

.item-list-image {
    width: 100%;
    margin: 0 0 18px;
}

.item-list-image img {
    display: block;
    width: 100%;
}

.item-list-note p {
    font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #000000;
}

#schedule-content {
    padding: 120px 0 0;
}

.schedule-content-title {
    margin: 0 0 19px;
    text-align: center;
}

.schedule-content-title h2 {
    font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
    font-size: 31px;
    line-height: 55px;
    color: #000000;
    display: inline;
    text-align: center;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
}

#schedule-content-1, #schedule-content-2 {
    background-color: #E5E5E5;
}

.schedule-content-lists-title {
    width: 100vw;
    height: 65px;
    color: #FFFFFF;
    display: flex;
    font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
    text-align: center;
    justify-content: center;
    align-items: baseline;
}

.schedule-content-list-date {
    font-size: 53px;
    line-height: 55px;
}

.schedule-content-list-day {
    font-size: 23px;
    line-height: 30px;
    margin: 0 12px;
}

.schedule-content-list-hour {
    font-size: 35px;
    line-height: 47px;
}

.schedule-content-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    width: 904px;
    padding: 62px 0 18px;
    margin: 0 auto;
}

.schedule-content-list li {
    width: 260px;
    margin: 0 62px 48px 0;
    cursor: pointer;
    transition: 0.3s;
}

.schedule-content-list li:nth-child(3n) {
    width: 260px;
    margin: 0 0 48px 0;
    cursor: pointer;
    transition: 0.3s;
}

.schedule-content-list li:hover {
    opacity: 0.7;
}

.schedule-content-list-image {
    width: 260px;
}

.schedule-content-list-image img {
    display: block;
    width: 100%;
    border-radius: 30px 30px 0 0;
}

.schedule-content-list-icon {
    width: 260px;
}

.schedule-content-list-icon img {
    display: block;
    width: 100%;
}

.schedule-content-text {
    margin: 12px 0 0;
}

.schedule-content-text p {
    font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #000000;
    text-align: center;
}

#schedule-content-list-1-1-detail, #schedule-content-list-1-2-detail, #schedule-content-list-1-3-detail, #schedule-content-list-1-4-detail, #schedule-content-list-1-5-detail {
    background-color: rgba(150, 150, 150, 0.6);
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100;
    top: 0;
    left: 0;
    right: 0;
}

#schedule-content-list-2-1-detail, #schedule-content-list-2-2-detail, #schedule-content-list-2-3-detail, #schedule-content-list-2-4-detail, #schedule-content-list-2-5-detail {
    background-color: rgba(150, 150, 150, 0.6);
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100;
    top: 0;
    left: 0;
    right: 0;
}

.schedule-content-list-detail-back {
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    cursor: pointer;
}

.schedule-content-list-detail-card {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 940px;
    height: max-content;
    min-height: 540px;
    background-color: #FFF;
}

.schedule-content-list-detail-header {
    background-color: #666B6E;
    position: relative;
    width: 940px;
    height: 40px;
}

.schedule-content-list-detail-header h3 {
    font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 40px;
    color: #FFFFFF;
    text-align: center;
}

.schedule-content-list-detail-close {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.schedule-content-list-detail-close img {
    display: block;
    width: 100%;
}

.schedule-content-list-detail-content {
    padding: 60px;
}

.schedule-content-list-detail-image {
    width: 820px;
    margin: 0 auto 10px;
}

.schedule-content-list-detail-image img {
    display: block;
    width: 100%;
}

.schedule-content-list-detail-label {
    padding-bottom: 10px;
    border-bottom: 1px solid #70001A;
    margin: 0 0 10px;
}

.schedule-content-list-detail-label p {
    font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 22px;
    color: #1A1311;
}

.schedule-content-list-detail-title {
    margin: 0 0 9px;
}

.schedule-content-list-detail-title h4 {
    font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 28px;
    color: #1A1311;
}

.schedule-content-list-detail-text p {
    font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 22px;
    color: #1A1311;
}

footer {
    padding: 40px 0 118px;
}

.footer-logo {
    display: block;
    width: 360px;
    margin: 0 auto 32px;
}

.footer-logo img {
    display: block;
    width: 100%;
}

.footer-button a {
    display: block;
    width: 360px;
    height: 48px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 22px;
    line-height: 48px;
    font-weight: 600;
    letter-spacing: 10px;
    color: #FFFFFF;
    background-color: #222E85;
    text-align: center;
    margin: 0 auto;
    text-decoration: none;
    transition: 0.3s;
}

.footer-button a:hover {
    opacity: 0.7;
}

.pc {
    display: block;
}

.mobile {
    display: none;
}

@media (max-width: 1023px) and (min-width: 640px) {
    .container {
        width: 88.28125vw;
        margin: 0 auto;
        padding: 0;
    }
    
    #banner {
        position: relative;
        background-image: url(../assets/banner-bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position-x: center;
        background-position-y: bottom;
        height: 58.55vw;
    }
    
    .banner-logo {
        position: absolute;
        width: 15.06vw;
        top: 2.40vw;
        left: 26.58vw;
    }
    
    .banner-logo img {
        display: block;
        width: 100%;
    }
    
    .banner-title {
        position: absolute;
        width: 14.57vw;
        top: 2.06vw;
        left: 2.22vw;
    }
    
    .banner-title img {
        display: block;
        width: 100%;
    }
    
    .banner-text {
        position: absolute;
        width: 52.08vw;
        top: 10.88vw;
        left: 26.75vw;
    }
    
    .banner-text p {
        font-family: "SourceHanSerif-Light", Arial, Helvetica, sans-serif;
        font-size: 0.83vw;
        line-height: 2.03vw;
        color: #000000;
    }
    
    .banner-text-line {
        display: none;
    }
    
    .banner-bottom {
        position: absolute;
        width: 40.57vw;
        margin: 0 auto;
        top: 20.53vw;
        left: 0;
        right: 0;
    }
    
    .banner-bottom img {
        display: block;
        width: 100%;
    }
    
    .banner-bottom-text {
        position: absolute;
        margin: 0 auto;
        top: 55.54vw;
        left: 0;
        right: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .banner-bottom-text p {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        font-size: 1.30vw;
        line-height: 1.72vw;
        color: #FFFFFF;
        text-align: center;
    }
    
    .banner-bottom-text::before {
        content: "";
        display: block;
        background: url("../assets/banner-bottom-arrow.svg") no-repeat;
        background-size: contain;
        width: 1.47vw;
        height: 1.27vw;
        margin: 0 2.32vw 0 0;
    }
    
    .banner-bottom-text::after {
        content: "";
        display: block;
        background: url("../assets/banner-bottom-arrow.svg") no-repeat;
        background-size: contain;
        width: 1.47vw;
        height: 1.27vw;
        margin: 0 0 0 2.32vw;
    }
    
    .banner-sidebar {
        position: fixed;
        width: 6.32vw;
        top: 7.91vw;
        right: 0;
        z-index: 99;
    }
    
    .banner-sidebar img {
        display: block;
        width: 100%;
    }

    .banner-image-caption {
        position: absolute;
        width: max-content;
        right: 1.27vw;
        bottom: 0.77vw;
    }
    
    .banner-image-caption p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 0.99vw;
        line-height: 1.35vw;
        color: #FFFFFF;
        text-align: center;
    }
    
    .schedule-list {
        display: flex;
        list-style: none;
    }
    
    .schedule-list li {
        width: 50vw;
        height: 7.45vw;
        transition: 0.3s;
    }
    
    .schedule-list li a {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        color: #FFFFFF;
        text-decoration: none;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: baseline;
        position: absolute;
        top: 50%;
        transform: translate(0, -50%);
        width: max-content;
    }
    
    .schedule-list li:nth-child(1) a {
        left: calc(50vw - 39.0625vw);
    }
    
    .schedule-list li:nth-child(2) a {
        right: calc(50vw - 39.0625vw);
    }
    
    .schedule-list-date {
        font-size: 4.59vw;
        line-height: 6.15vw;
    }
    
    .schedule-list-day {
        font-size: 1.95vw;
        line-height: 2.64vw;
        margin: 0 0.98vw;
    }
    
    .schedule-list-hour {
        font-size: 3.03vw;
        line-height: 4.00vw;
    }
    
    .schedule-list li:hover {
        opacity: 0.7;
    }
    
    #concept {
        padding: 14.36vw 0 0;
    }
    
    .concept-title {
        margin: 0 0 1.17vw;
    }
    
    .concept-title h2 {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        font-size: 3.03vw;
        line-height: 5.37vw;
        color: #0D0A35;
        text-align: center;
    }
    
    .concept-line {
        border-left: 0.1vw solid #000000;
        width: 0;
        height: 5.08vw;
        margin: 0 auto 5.08vw;
    }
    
    .concept-text {
        margin: 0 0 6.25vw;
    }
    
    .concept-text p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 1.5625vw;
        line-height: 3.81vw;
        color: #000000;
    }
    
    .concept-image-list {
        display: flex;
        list-style: none;
        flex-wrap: nowrap;
        margin: 0 0 3.71vw;
    }
    
    .concept-image-list li {
        width: 25vw;
    }
    
    .concept-image-list li img {
        display: block;
        width: 100%;
    }

    .concept-image-list-caption {
        position: absolute;
        width: max-content;
        right: 0.88vw;
        bottom: 0.54vw;
    }
    
    .concept-image-list-caption p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 0.99vw;
        line-height: 1.35vw;
        color: #FFFFFF;
        text-align: center;
    }
    
    .concept-note p {
        font-size: 3.03vw;
        line-height: 5.37vw;
        color: #000000;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
        text-align: center;
        width: max-content;
        margin: 0 auto;
    }
    
    #story {
        padding: 9.57vw 0 0;
    }
    
    .story-logo {
        width: 12.70vw;
        margin: 0 auto 2.05vw;
    }
    
    .story-logo img {
        display: block;
        width: 100%;
    }
    
    .story-line {
        border-left: 0.1vw solid #000000;
        width: 0;
        height: 5.08vw;
        margin: 0 auto 2.34vw;
    }
    
    .story-title {
        margin: 0 0 5.66vw;
    }
    
    .story-title h2 {
        font-size: 3.02vw;
        line-height: 5.37vw;
        color: #000000;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
        text-align: center;
        width: max-content;
        margin: 0 auto;
    }
    
    .story-text p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 1.5625vw;
        line-height: 3.81vw;
        color: #000000;
    }
    
    .story-text-headline p {
        display: inline;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    }
    
    .story-image {
        position: relative;
        display: block;
        width: 100vw;
        margin: 5.86vw 0;
    }
    
    .story-image img {
        display: block;
        width: 100%;
    }
    
    .story-image-mobile {
        display: none;
    }

    .story-image-caption {
        position: absolute;
        width: max-content;
        right: 1.27vw;
        bottom: 0.72vw;
    }
    
    .story-image-caption p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 0.99vw;
        line-height: 1.35vw;
        color: #FFFFFF;
        text-align: center;
    }
    
    #flow {
        padding: 14.16vw 0 12.01vw;
    }
    
    .flow-title {
        margin: 0 0 1.17vw;
    }
    
    .flow-title h2 {
        font-size: 3.03vw;
        line-height: 5.37vw;
        color: #000000;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
        text-align: center;
        width: max-content;
        margin: 0 auto;
    }
    
    .flow-line {
        border-left: 0.1vw solid #000000;
        width: 0;
        height: 5.08vw;
        margin: 0 auto 5.08vw;
    }
    
    .flow-step {
        display: flex;
        justify-content: space-between;
    }
    
    .flow-step-1, .flow-step-2 {
        width: 39.0625vw;
    }
    
    .flow-step-title {
        width: 39.0625vw;
        height: 5.37vw;
        border: 0.24vw solid #686368;
        border-radius: 2.25vw;
        position: relative;
        margin: 0 0 1.95vw;
    }
    
    .flow-step-1 .flow-step-title {
        border: 0.24vw solid #686368;
    }
    
    .flow-step-2 .flow-step-title {
        border: 0.24vw solid #050421;
    }
    
    .flow-step-title h3 {
        font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
        font-size: 2.83vw;
        line-height: 5.37vw;
        color: #000000;
        text-align: center;
        position: relative;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    
    /*
    .flow-step-number {
        width: 8.99vw;
        height: 8.99vw;
        border-radius: 1.532vw;
        position: absolute;
        color: #FFFFFF;
        left: -2.48vw;
        top: -3.85vw;
    }
    
    .flow-step-1  .flow-step-number {
        background-color: #686368;
    }
    
    .flow-step-2  .flow-step-number {
        background-color: #050421;
    }
    
    .flow-step-number-text {
    
    }
    */
    
    .flow-step-number {
        width: 6.64vw;
        height: 6.64vw;
        position: absolute;
        left: -1.95vw;
        top: -4.10vw;
    }
    
    .flow-step-number img {
        display: block;
        width: 100%;
    }
    
    .flow-step-text {
        margin: 0 0 2.25vw;
    }
    
    .flow-step-text p {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        font-size: 2.05vw;
        line-height: 3.42vw;
        color: #000000;
        text-align: left;
    }

    .flow-step-text span {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        font-size: 1.27vw;
        line-height: 3.42vw;
        color: #000000;
        text-align: left;
    }
    
    .flow-step-1 .flow-step-image {
        display: block;
        width: 39.65vw;
        margin: 0 auto;
    }
    
    .flow-step-1 .flow-step-image-mobile {
        display: none;
    }
    
    .flow-step-2 .flow-step-image {
        width: 29.30vw;
        margin: 0 auto;
    }
    
    .flow-step-image img {
        display: block;
        width: 100%;
    }
    
    #item {
        padding: 9.57vw 0 10.9375vw;
        background-image: url('../assets/item-bg.png');
        background-size: 187.5vw;
        background-position-x: center;
        background-position-y: top;
    }
    
    .item-title {
        margin: 0 0 7.61vw;
        text-align: center;
    }
    
    .item-title h2 {
        font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
        font-size: 3.03vw;
        line-height: 5.37vw;
        color: #000000;
        display: inline;
        text-align: center;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    }
    
    .item-list {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    
    .item-list li {
        position: relative;
        width: 41.01vw;
        background-color: #FFF;
        border: 0.24vw solid #000;
        border-radius: 2.25vw;
        padding: 4.39vw 3.52vw 3.52vw;
        margin: 0 0 6.84vw;
    }
    
    .item-list li:last-child {
        margin: 0 auto;
    }
    
    .item-list-logo {
        width: 32.42vw;
        margin: 0 auto;
        position: absolute;
        top: -3.91vw;
        left: 0;
        right: 0;
    }
    
    .item-list-logo img {
        display: block;
        width: 100%;
    }
    
    .item-list-title {
        margin: 0 0 2.25vw;
    }
    
    .item-list-title h3 {
        font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
        font-size: 2.64vw;
        line-height: 3.42vw;
        color: #000000;
        text-align: center;
    }
    
    .item-list-title h4 {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 1.95vw;
        line-height: 3.42vw;
        color: #000000;
        text-align: center;
        margin: 0;
    }
    
    .item-list-title span {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 1.76vw;
        line-height: 2,54vw;
        color: #000000;
        text-align: center;
        display: block;
        margin: 0;
    }
    
    .item-list-image {
        width: 100%;
        margin: 0 0 1.76vw;
    }
    
    .item-list-image img {
        display: block;
        width: 100%;
    }
    
    .item-list-note p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 1.5625vw;
        line-height: 2.34vw;
        color: #000000;
    }
    
    #schedule-content {
        padding: 11.72vw 0 0;
    }
    
    .schedule-content-title {
        margin: 0 0 1.86vw;
        text-align: center;
    }
    
    .schedule-content-title h2 {
        font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
        font-size: 3.03vw;
        line-height: 5.37vw;
        color: #000000;
        display: inline;
        text-align: center;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    }
    
    #schedule-content-1, #schedule-content-2 {
        background-color: #E5E5E5;
    }
    
    .schedule-content-lists-title {
        width: 100vw;
        height: 6.35vw;
        color: #FFFFFF;
        display: flex;
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        text-align: center;
        justify-content: center;
        align-items: baseline;
    }
    
    .schedule-content-list-date {
        font-size: 5.18vw;
        line-height: 5.37vw;
    }
    
    .schedule-content-list-day {
        font-size: 2.25vw;
        line-height: 2.93vw;
        margin: 0 1.17vw;
    }
    
    .schedule-content-list-hour {
        font-size: 3.42vw;
        line-height: 4.59vw;
    }
    
    .schedule-content-list {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        width: 88.28125vw;
        padding: 6.05vw 0 1.76vw;
        margin: 0 auto;
    }
    
    .schedule-content-list li {
        width: 25.39vw;
        margin: 0 6.05vw 4.6875vw 0;
        cursor: pointer;
        transition: 0.3s;
    }
    
    .schedule-content-list li:nth-child(3n) {
        width: 25.39vw;
        margin: 0 0 4.6875vw 0;
        cursor: pointer;
        transition: 0.3s;
    }
    
    .schedule-content-list li:hover {
        opacity: 0.7;
    }
    
    .schedule-content-list-image {
        width: 25.39vw;
    }
    
    .schedule-content-list-image img {
        display: block;
        width: 100%;
        border-radius: 2.93vw 2.93vw 0 0;
    }
    
    .schedule-content-list-icon {
        width: 25.39vw;
    }
    
    .schedule-content-list-icon img {
        display: block;
        width: 100%;
    }
    
    .schedule-content-text {
        margin: 1.17vw 0 0;
    }
    
    .schedule-content-text p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 1.5625vw;
        line-height: 2.34vw;
        color: #000000;
        text-align: center;
    }
    
    #schedule-content-list-1-1-detail, #schedule-content-list-1-2-detail, #schedule-content-list-1-3-detail, #schedule-content-list-1-4-detail, #schedule-content-list-1-5-detail {
        background-color: rgba(150, 150, 150, 0.6);
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 100;
        top: 0;
        left: 0;
        right: 0;
    }
    
    #schedule-content-list-2-1-detail, #schedule-content-list-2-2-detail, #schedule-content-list-2-3-detail, #schedule-content-list-2-4-detail, #schedule-content-list-2-5-detail {
        background-color: rgba(150, 150, 150, 0.6);
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 100;
        top: 0;
        left: 0;
        right: 0;
    }
    
    .schedule-content-list-detail-back {
        position: absolute;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        right: 0;
        cursor: pointer;
    }
    
    .schedule-content-list-detail-card {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 91.80vw;
        height: max-content;
        min-height: 52.73vw;
        background-color: #FFF;
    }
    
    .schedule-content-list-detail-header {
        background-color: #666B6E;
        position: relative;
        width: 91.80vw;
        height: 3.91vw;
    }
    
    .schedule-content-list-detail-header h3 {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 1.95vw;
        line-height: 3.91vw;
        color: #FFFFFF;
        text-align: center;
    }
    
    .schedule-content-list-detail-close {
        position: absolute;
        top: 0;
        right: 0;
        width: 3.91vw;
        height: 3.91vw;
        cursor: pointer;
    }
    
    .schedule-content-list-detail-close img {
        display: block;
        width: 100%;
    }
    
    .schedule-content-list-detail-content {
        padding: 5.86vw;
    }
    
    .schedule-content-list-detail-image {
        width: 80.08vw;
        margin: 0 auto 0.98vw;
    }
    
    .schedule-content-list-detail-image img {
        display: block;
        width: 100%;
    }
    
    .schedule-content-list-detail-label {
        padding-bottom: 0.98vw;
        border-bottom: 0.1vw solid #70001A;
        margin: 0 0 0.98vw;
    }
    
    .schedule-content-list-detail-label p {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 1.46vw;
        line-height: 2.15vw;
        color: #1A1311;
    }
    
    .schedule-content-list-detail-title {
        margin: 0 0 0.88vw;
    }
    
    .schedule-content-list-detail-title h4 {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 1.95vw;
        line-height: 2.73vw;
        color: #1A1311;
    }
    
    .schedule-content-list-detail-text p {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 1.46vw;
        line-height: 2.15vw;
        color: #1A1311;
    }
    
    footer {
        padding: 3.91vw 0 11.52vw;
    }
    
    .footer-logo {
        width: 35.16vw;
        margin: 0 auto 3.125vw;
    }
    
    .footer-logo img {
        display: block;
        width: 100%;
    }
    
    .footer-button a {
        display: block;
        width: 35.16vw;
        height: 4.6875vw;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 2.15vw;
        line-height: 4.6875vw;
        font-weight: 600;
        letter-spacing: 0.98vw;
        color: #FFFFFF;
        background-color: #222E85;
        text-align: center;
        margin: 0 auto;
        text-decoration: none;
        transition: 0.3s;
    }
    
    .footer-button a:hover {
        opacity: 0.7;
    }
}

@media (max-width: 639px) {
    .container {
        width: 82vw;
        margin: 0 auto;
        padding: 0;
    }

    #banner {
        position: relative;
        background-image: url(../assets/banner-bg-mobile.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position-x: center;
        background-position-y: bottom;
        height: 158.22vw;
    }

    .banner-logo {
        position: absolute;
        width: 38.56vw;
        top: 2.89vw;
        left: 3.71vw;
    }

    .banner-logo img {
        display: block;
        width: 100%;
    }

    .banner-title {
        position: absolute;
        width: 28.924vw;
        top: 16.78vw;
        left: 4.224vw;
    }

    .banner-title img {
        display: block;
        width: 100%;
    }

    .banner-text {
        position: absolute;
        width: 54.7vw;
        top: 27.65vw;
        left: 37.664vw;
    }

    .banner-text p {
        font-family: "SourceHanSerif-Light", Arial, Helvetica, sans-serif;
        font-size: 2.27vw;
        line-height: 5.87vw;
        color: #000000;
    }

    .banner-text-line {
        display: block;
        border-left: 0.07vw solid #000000;
        width: 0;
        height: 12.87vw;
        margin: 0 0 2.5vw 16.29vw;
    }

    .banner-bottom {
        position: absolute;
        width: 77.052vw;
        margin: 0 auto;
        top: 92.79vw;
        left: 0;
        right: 0;
    }

    .banner-bottom img {
        display: block;
        width: 100%;
    }

    .banner-bottom-text {
        position: absolute;
        margin: 0 auto;
        top: 150.58vw;
        left: 0;
        right: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .banner-bottom-text p {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        font-size: 3.33vw;
        line-height: 4.8vw;
        color: #FFFFFF;
        text-align: center;
    }

    .banner-bottom-text::before {
        content: "";
        display: block;
        background: url("../assets/banner-bottom-arrow.svg") no-repeat;
        background-size: contain;
        width: 3.76vw;
        height: 3.26vw;
        margin: 0 0.616vw 0 0;
    }

    .banner-bottom-text::after {
        content: "";
        display: block;
        background: url("../assets/banner-bottom-arrow.svg") no-repeat;
        background-size: contain;
        width: 3.76vw;
        height: 3.26vw;
        margin: 0 0 0 0.616vw;
    }

    .banner-sidebar {
        position: fixed;
        width: 16.19vw;
        top: 7.69vw;
        right: 0;
        z-index: 99;
    }

    .banner-sidebar img {
        display: block;
        width: 100%;
    }

    .banner-image-caption {
        position: absolute;
        width: max-content;
        right: 2.38vw;
        bottom: 1.24vw;
    }
    
    .banner-image-caption p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 2vw;
        line-height: 2.67vw;
        color: #FFFFFF;
        text-align: center;
    }

    .schedule-list {
        display: flex;
        list-style: none;
    }

    .schedule-list li {
        width: 50vw;
        height: 13.448vw;
        transition: 0.3s;
    }

    .schedule-list li a {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        color: #FFFFFF;
        text-decoration: none;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: baseline;
        position: relative;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
    }
    
    .schedule-list li:nth-child(1) a, .schedule-list li:nth-child(2) a {
        left: 50%;
        right: auto;
    }

    .schedule-list-date {
        font-size: 6.27vw;
        line-height: 8.93vw;
    }

    .schedule-list-day {
        font-size: 2.67vw;
        line-height: 3.87vw;
        margin: 0 0.85vw;
    }

    .schedule-list-hour {
        font-size: 4.13vw;
        line-height: 6vw;
    }

    .schedule-list li:hover {
        opacity: 0.7;
    }

    #concept {
        padding: 20.35vw 0 0;
    }

    .concept-title {
        margin: 0 0 1.46vw;
    }

    .concept-title h2 {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        font-size: 4vw;
        line-height: 5.87vw;
        color: #0D0A35;
        text-align: center;
    }

    .concept-line {
        border-left: 0.13vw solid #000000;
        width: 0;
        height: 6.92vw;
        margin: 0 auto 5.46vw;
    }

    .concept-text {
        margin: 0 0 9.5vw;
    }

    .concept-text p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 3.47vw;
        line-height: 6.53vw;
        color: #000000;
    }

    .concept-image-list {
        display: flex;
        list-style: none;
        flex-wrap: wrap;
        margin: 0 0 3.6vw;
    }

    .concept-image-list li {
        width: 50vw;
    }

    .concept-image-list li img {
        display: block;
        width: 100%;
    }

    .concept-image-list-caption {
        position: absolute;
        width: max-content;
        right: 1.71vw;
        bottom: 1.07vw;
    }
    
    .concept-image-list-caption p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 2vw;
        line-height: 2.67vw;
        color: #FFFFFF;
        text-align: center;
    }

    .concept-note p {
        font-size: 4.27vw;
        line-height: 7.47vw;
        color: #000000;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
        text-align: center;
        width: max-content;
        margin: 0 auto;
    }

    #story {
        padding: 17.98vw 0 0;
    }

    .story-logo {
        width: 17.232vw;
        margin: 0 auto 2.78vw;
    }

    .story-logo img {
        display: block;
        width: 100%;
    }

    .story-line {
        border-left: 0.13vw solid #000000;
        width: 0;
        height: 6.92vw;
        margin: 0 auto 5.46vw;
    }

    .story-title {
        margin: 0 0 4.39vw;
    }

    .story-title h2 {
        font-size: 4.8vw;
        line-height: 7.33vw;
        color: #000000;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
        text-align: center;
        width: max-content;
        margin: 0 auto;
    }

    .story-text p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 3.47vw;
        line-height: 6.53vw;
        color: #000000;
    }

    .story-text-headline p {
        display: inline;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    }

    .story-image {
        display: none;
    }

    .story-image-mobile {
        position: relative;
        display: block;
        width: 100vw;
        margin: 9.40vw 0;
    }

    .story-image-mobile img {
        display: block;
        width: 100%;
    }

    .story-image-caption {
        position: absolute;
        width: max-content;
        right: 2.38vw;
        bottom: 0.85vw;
    }
    
    .story-image-caption p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 2vw;
        line-height: 2.67vw;
        color: #FFFFFF;
        text-align: center;
    }

    #flow {
        padding: 17.98vw 0 15.30vw;
    }

    .flow-step-1 {
        position: relative;
        margin: 0 0 9.576vw;
    }

    .flow-title {
        margin: 0 0 1.33vw;
    }

    .flow-title h2 {
        font-size: 4.8vw;
        line-height: 7.33vw;
        color: #000000;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
        text-align: center;
        width: max-content;
        margin: 0 auto;
    }

    .flow-line {
        border-left: 0.13vw solid #000000;
        width: 0;
        height: 6.92vw;
        margin: 0 auto 5.46vw;
    }

    .flow-step {
        display: block;
    }

    .flow-step-1, .flow-step-2 {
        width: 100%;
    }

    .flow-step-title {
        width: 100%;
        height: 9.42vw;
        border: 0.27vw solid #686368;
        border-radius: 3.064vw;
        position: relative;
        margin: 0 0 4.68vw;
    }

    .flow-step-1 .flow-step-title {
        border: 0.27vw solid #686368;
    }

    .flow-step-2 .flow-step-title {
        border: 0.27vw solid #050421;
    }

    .flow-step-title h3 {
        font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
        font-size: 5.33vw;
        line-height: 7.33vw;
        color: #000000;
        text-align: center;
        position: relative;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    /*
    .flow-step-number {
        width: 8.99vw;
        height: 8.99vw;
        border-radius: 1.532vw;
        position: absolute;
        color: #FFFFFF;
        left: -2.48vw;
        top: -3.85vw;
    }

    .flow-step-1  .flow-step-number {
        background-color: #686368;
    }

    .flow-step-2  .flow-step-number {
        background-color: #050421;
    }

    .flow-step-number-text {

    }
    */

    .flow-step-number {
        width: 8.99vw;
        height: 8.99vw;
        position: absolute;
        left: -2.48vw;
        top: -3.85vw;
    }

    .flow-step-number img {
        display: block;
        width: 100%;
    }

    .flow-step-text p {
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        font-size: 3.47vw;
        line-height: 5.87vw;
        color: #000000;
    }

    .flow-step-1 .flow-step-text {
        position: absolute;
        top: 14.308vw;
        left: 43.89vw;
        width: 38vw;
        margin: 0;
    }

    .flow-step-2 .flow-step-text {
        margin: 0 0 4.15vw;
    }

    .flow-step-1 .flow-step-text p {
        text-align: left;
    }

    .flow-step-2 .flow-step-text p {
        text-align: center;
    }

    .flow-step-1 .flow-step-image {
        display: none;
    }

    .flow-step-1 .flow-step-image-mobile {
        display: block;
        width: 66.84vw;
        margin: 0;
    }

    .flow-step-2 .flow-step-image {
        width: 57.88vw;
        margin: 0 auto;
    }

    .flow-step-image img {
        display: block;
        width: 100%;
    }

    .flow-step-image-mobile img {
        display: block;
        width: 100%;
    }

    #item {
        padding: 8.14vw 0 13.852vw;
        background-image: url('../assets/item-bg-mobile.png');
        background-size: 100vw;
        background-position-x: center;
        background-position-y: top;
    }

    .item-title {
        margin: 0 0 9.99vw;
        text-align: center;
    }

    .item-title h2 {
        font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
        font-size: 4.27vw;
        line-height: 7.33vw;
        color: #000000;
        display: inline;
        text-align: center;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    }

    .item-list {
        list-style: none;
        display: block;
    }

    .item-list li {
        position: relative;
        width: 100%;
        background-color: #FFF;
        border: 0.53vw solid #000;
        border-radius: 1.33vw;
        padding: 9.13vw 8.25vw 2.50vw;
        margin: 0 0 12.184vw;
    }

    .item-list li:last-child {
        margin: 0;
    }

    .item-list-logo {
        width: 58.99vw;
        margin: 0 auto;
        position: absolute;
        top: -4vw;
        left: 0;
        right: 0;
    }

    .item-list-logo img {
        display: block;
        width: 100%;
    }

    .item-list-title {
        margin: 0 0 1.712vw;
    }

    .item-list-title h3 {
        font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
        font-size: 5.47vw;
        line-height: 7.07vw;
        color: #000000;
        text-align: center;
    }

    .item-list-title h4 {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 4.13vw;
        line-height: 6vw;
        color: #000000;
        text-align: center;
        margin: 0;
    }

    .item-list-title span {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 3.47vw;
        line-height: 5.2vw;
        color: #000000;
        text-align: center;
        display: block;
        margin: 0;
    }

    .item-list-image {
        width: 100%;
        margin: 0 0 2.15vw;
    }

    .item-list-image img {
        display: block;
        width: 100%;
    }

    .item-list-note p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 2.53vw;
        line-height: 3.2vw;
        color: #000000;
    }

    #schedule-content {
        padding: 19.12vw 0 0;
    }

    .schedule-content-title {
        margin: 0 0 3.76vw;
        text-align: center;
    }

    .schedule-content-title h2 {
        font-family: "SourceHanSerif-Bold", Arial, Helvetica, sans-serif;
        font-size: 4.27vw;
        line-height: 7.33vw;
        color: #000000;
        display: inline;
        text-align: center;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFFF01 50%, #FFFF01 100%);
    }

    #schedule-content-1, #schedule-content-2 {
        background-color: #E5E5E5;
    }

    .schedule-content-lists-title {
        width: 100vw;
        height: 14.87vw;
        color: #FFFFFF;
        display: flex;
        font-family: "SourceHanSerif-Medium", Arial, Helvetica, sans-serif;
        text-align: center;
        justify-content: center;
        align-items: baseline;
    }

    .schedule-content-list-date {
        font-size: 9.33vw;
        line-height: 13.47vw;
    }

    .schedule-content-list-day {
        font-size: 4vw;
        line-height: 5.87vw;
        margin: 0 1.29vw;
    }

    .schedule-content-list-hour {
        font-size: 6.13vw;
        line-height: 8.93vw;
    }

    .schedule-content-list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        list-style: none;
        width: 82vw;
        padding: 10.48vw 0 5.72vw;
        margin: 0 auto;
    }

    .schedule-content-list li {
        width: 36.80vw;
        margin: 0 0 6.59vw;
        cursor: pointer;
        transition: 0.3s;
    }

    .schedule-content-list li:nth-child(3n) {
        width: 36.80vw;
        margin: 0 0 6.59vw;
        cursor: pointer;
        transition: 0.3s;
    }

    .schedule-content-list li:hover {
        opacity: 0.7;
    }

    .schedule-content-list-image {
        width: 36.80vw;
    }

    .schedule-content-list-image img {
        display: block;
        width: 100%;
        border-radius: 4.28vw 4.28vw 0 0;
    }

    .schedule-content-list-icon {
        width: 36.80vw;
    }

    .schedule-content-list-icon img {
        display: block;
        width: 100%;
    }

    .schedule-content-text {
        margin: 0.75vw 0 0;
    }

    .schedule-content-text p {
        font-family: "SourceHanSerif-Regular", Arial, Helvetica, sans-serif;
        font-size: 2.53vw;
        line-height: 3.2vw;
        color: #000000;
        text-align: center;
    }

    #schedule-content-list-1-1-detail, #schedule-content-list-1-2-detail, #schedule-content-list-1-3-detail, #schedule-content-list-1-4-detail, #schedule-content-list-1-5-detail {
        background-color: rgba(150, 150, 150, 0.6);
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 100;
        top: 0;
        left: 0;
        right: 0;
    }

    #schedule-content-list-2-1-detail, #schedule-content-list-2-2-detail, #schedule-content-list-2-3-detail, #schedule-content-list-2-4-detail, #schedule-content-list-2-5-detail {
        background-color: rgba(150, 150, 150, 0.6);
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 100;
        top: 0;
        left: 0;
        right: 0;
    }

    .schedule-content-list-detail-back {
        position: absolute;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        right: 0;
        cursor: pointer;
    }

    .schedule-content-list-detail-card {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 84vw;
        height: max-content;
        min-height: 92.312vw;
        background-color: #FFF;
    }

    .schedule-content-list-detail-header {
        background-color: #666B6E;
        position: relative;
        width: 84vw;
        height: 6.81vw;
    }

    .schedule-content-list-detail-header h3 {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 3.47vw;
        line-height: 6.81vw;
        color: #FFFFFF;
        text-align: center;
    }

    .schedule-content-list-detail-close {
        position: absolute;
        top: 0;
        right: 0;
        width: 6.81vw;
        height: 6.81vw;
        cursor: pointer;
    }

    .schedule-content-list-detail-close img {
        display: block;
        width: 100%;
    }

    .schedule-content-list-detail-content {
        padding: 3.61vw 4.8vw;
    }

    .schedule-content-list-detail-image {
        width: 74.67vw;
        margin: 0 auto 3.54vw;
    }

    .schedule-content-list-detail-image img {
        display: block;
        width: 100%;
    }

    .schedule-content-list-detail-label {
        padding-bottom: 1.24vw;
        border-bottom: 0.19vw solid #70001A;
        margin: 0 0 2.65vw;
    }

    .schedule-content-list-detail-label p {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 2.67vw;
        line-height: 3.73vw;
        color: #1A1311;
    }

    .schedule-content-list-detail-title {
        margin: 0 0 2.272vw;
    }

    .schedule-content-list-detail-title h4 {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 3.73vw;
        line-height: 4.8vw;
        color: #1A1311;
    }

    .schedule-content-list-detail-text p {
        font-family: "SourceHanSerif-SemiBold", Arial, Helvetica, sans-serif;
        font-size: 2.93vw;
        line-height: 4.27vw;
        color: #1A1311;
    }

    footer {
        padding: 5vw 0 14.16vw;
    }

    .footer-logo {
        width: 58.31vw;
        margin: 0 auto 3.56vw;
    }

    .footer-logo img {
        display: block;
        width: 100%;
    }

    .footer-button a {
        display: block;
        width: 59.172vw;
        height: 12.73vw;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 3.6vw;
        line-height: 12.73vw;
        font-weight: 600;
        letter-spacing: 1vw;
        color: #FFFFFF;
        background-color: #222E85;
        text-align: center;
        margin: 0 auto;
        text-decoration: none;
        transition: 0.3s;
    }

    .footer-button a:hover {
        opacity: 0.7;
    }

    .pc {
        display: none;
    }
    
    .mobile {
        display: block;
    }

}