@charset "utf-8";

@media screen and (max-width: 1480px){
    h3{
        font-size: 48px;
    }
    header{
        height: 74px;
    }
    .header-wrap{
        padding: 0 5%;
    }
    .header-wrap .logo h2{
        height: 28px;
    }
    .header-wrap .menu ul li{
        margin-right: 50px;
    }
    .header-wrap .menu ul li a{
        font-size: 14px;
    }

    /* main */
    .mainVisual-wrap{
        padding: 0 5%;
    }
    .mainVisual-wrap .title .first{
        font-size: 35px;
        margin-bottom: 10px;
    }
    .mainVisual-wrap .title .second{
        font-size: 52px;
        margin-bottom: 10px;

    }
    .mainVisual-wrap .title .third{
        font-size: 52px;
    }
    .mainVisual-wrap .cont .btn{
        gap: 20px;
    }
    /* greeting */
    .greeting-wrap{
        padding: 0 5%;
    }
    .greeting-wrap .title{
        font-size: 24px;
        
    }
    .greeting-wrap .cont{
        font-size: 18px;
    }
    /* agenda */
    .agenda-wrap{
        padding: 180px 5%;
    }
    .table .session-info .wrap{
        width: 90%;
        height: 500px;
    }
    .notice p{
        font-size: 18px;
    }
    .notice .big{
        font-size: 24px;
    }
    .notice .box{
        font-size: 24px;
        padding: 4px 12px 6px;
    }
    /* keymessage */
    .key-wrap{
        padding: 180px 5%;
    }
    .key-wrap .text .title{
        font-size: 24px;
    }
    .key-wrap .text .cont{
        font-size: 18px;
    }
    .key-wrap .box-wrap{
        gap: 20px;
    }
    .key-wrap .box-wrap li{
        width: calc((100% - 60px) / 4);
    }
    .who-wrap .box-wrap li{
        width: calc((100% - 120px) / 7);
    }
    .who-wrap .text{
        font-size: 18px;
    }
    /* who should attend */
    .who-wrap{
        padding: 0 5% 180px;
    }
    /* sponsor */
    .sponsor-wrap{
        padding: 180px 5% 0;
    }
    .sponsor-wrap div{
        padding: 40px;
    }
    .sponsor-wrap div ul{
        gap: 20px;
    }
    .sponsor-wrap div ul li{
        height: 70px;
    }
    .sponsor-wrap div ul li a img{
    height: 32px; 
    }

    /* event */
    .event-wrap{
        padding: 180px 5% 0;
    }
    .event-wrap > div.event-flex{
        gap: 20px;
    }
    .event-wrap > div.event-flex > div > .text h5{
        font-size: 28px;
    }
    .event-wrap > div.event-flex > div > .text p{
        font-size: 18px;
    }
    .event-wrap .one .text h5{
        font-size: 28px;
    }
    .event-wrap .one .text p{
        font-size: 18px;
    }
    /* map */
    #map{
        padding : 180px 0;
    }
    .map-wrap{
        padding: 0 5%;
    }
    .map-wrap div{
        gap: 20px;
    }
    .map-wrap div .mapimg img{
        width: auto;
        height: 100%;
        object-fit: cover;
    }
    .map-wrap div div.text{
        padding: 20px;
    }
    .map-wrap > div div.text div{
        margin-bottom: 12px;
    }
    .map-wrap > div div.text .btns{
        margin-bottom: 0;
    }
    /* footer */
    .footer-wrap{
        padding: 40px 5%;
    }
}

@media screen and (max-width: 1140px) {

    h3{
        font-size: 40px;
        margin-bottom: 64px;
    }
    .header-wrap{
        padding: 0 3%;
    }
    .header-wrap .logo h2{
        height: 24px;
    }
    .header-wrap h2.aws{
        height: 24px;
    }
    /* main */
    .mainVisual-wrap{
        padding: 0 3%;
        justify-content: space-between;
    }
    .mainVisual-wrap .title{
        width: 50%;
    }
    .mainVisual-wrap .title .second{
        font-size: 40px;
        margin-bottom: 0;
    }
    .mainVisual-wrap .title .third{
        font-size: 40px;
    }    
    .mainVisual-wrap .title .add{
        font-size: 16px;
        margin-top: 8px;
    }
    .mainVisual-wrap .cont .text{
        font-size: 18px;
    }
    .mainVisual-wrap .cont{
        width: 44%;
    }
    .mainVisual-wrap .cont .text p{
        margin-bottom: 4px;
    }
    .mainVisual-wrap .cont .btn{
        margin-top: 28px;
    }
    /* greeting */
    .greeting{
        padding: 0 3%;
    }
    .greeting-wrap .title{
    font-size: 22px;
    }
    .greeting-wrap .cont{
        font-size: 16px;
    }
    /* agedna */
    .agenda-wrap{
        padding: 160px 3%;
    }
    .agenda-wrap > div{
        padding: 64px 3% 80px;
    }
    .agenda-wrap > div h5{
        font-size: 16px;
        height: 40px;
    }
    .agenda-wrap .change{
        font-size: 14px;
    }
    .agenda-wrap > div > ul > li .time{
        width: 100px;
        font-size: 14px;
    }
    .agenda-wrap > div > ul > li .session{
        width: calc(100% - 100px);
        font-size: 14px;
    }
    .track .time{
        width: 100px;
    }
    .track .tr-a{
        width: calc((100% - 100px) / 2);
    }
    .track .tr-b{
        width: calc((100% - 100px) / 2);
    }
    /* agenda-wrap session-info */
    .table .session-info .wrap{
        width: 90%;
        height: 70vh;
    }
    .session-info .wrap .title{
        font-size: 22px;
        line-height: 1.4;
    }
    .session-info .wrap .sub{
        font-size: 15px;
        font-weight: 300;
        padding-bottom: 40px;
        margin-bottom: 40px;
    }
    .speakerwrap .speaker-text .speaker-name{
        font-size: 17px;
    }
    .speakerwrap .speaker-text .speaker-info{
        font-size: 15px;
        font-weight: 300;
    }
    .agenda-wrap .keynote{
        margin-bottom: 20px;
    }
    /* notice */
    .agenda-wrap > .notice{
        padding: 40px;
    }
    .notice p{
        font-size: 16px;
    }
    .notice .big{
        font-size: 22px;
    }
    .notice .box{
        font-size: 22px;
    }
    /* key */
    .key-wrap{
        padding: 160px 3%;
    }
    .key-wrap h3{
        margin-bottom: 48px;
    }
    .key-wrap .text .title{
        font-size: 22px;
    }
    .key-wrap .text .cont{
        font-size: 16px;
    }
    .key-wrap .box-wrap{
        margin-top: 40px;
        flex-wrap: wrap;
    }
    .key-wrap .box-wrap li{
        width: calc(50% - 10px);
        aspect-ratio: 1.5;
    }
    /* who */
    .who-wrap{
        padding: 0 3% 160px;
    }
    .who-wrap .box-wrap li img{
        width: 70%;
    }
    .who-wrap .box-wrap li span{
        font-size: 20px;
    }
    /* sponsor */
    .sponsor-wrap{
        padding: 160px 3% 0;
    }
    .sponsor-wrap div{
        padding: 64px 32px;
    }
    .sponsor-wrap div h5{
        width: 200px;
        height: 40px;
        font-size: 20px;
    }
    .sponsor-wrap div ul li{
        width: 200px;
        height: 64px;
    }
    .sponsor-wrap div ul li a img{
        height: 28px;
    }
    .sponsor-wrap div.survey ul li a img{
        height: 28px;
    }
    /* event */
    .event-wrap{
        padding: 160px 3% 0;
    }
    .event-wrap > div.event-flex{
        gap: 20px;
    }
    .event-wrap > div > div.third{
        width: 70%;
    }
    .event-wrap > div.event-flex > div .text{
    width: 55%;
    }
    .event-wrap > div.event-flex > div.survey .photo{
    margin-right: 12px;
    }
    .event-wrap > div.event-flex > div> .text h5{
        font-size: 24px;
    }
    .event-wrap .one{
        height: 300px;
        margin-top: 20px;
    }
    .event-wrap .one .text{
        width: 60%;
        margin-bottom: 0;
    }
    .event-wrap .one .text h5{
        font-size: 23px;
        width: 100%;
    }
    .event-wrap .one .text p{
        padding: 0 10px;
    }
    .event-wrap .one .photo{
        width: 50%;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .event-wrap .one .photo img{
        width: 65%;
    }
    /* map */
    #map{
        padding: 0;
    }
    .map-wrap{
        padding: 160px 3%;
    }
    .map-wrap > div{
        gap: 20px;
    }
    .map-wrap > div > div{
        height: auto;
    }
    .map-wrap div div.text{
        padding: 40px 32px;
    }
    .map-wrap div div.text div h5{
        font-size: 20px;
        width: 60px;
    }
    .map-wrap div div.text div p{
        font-size: 15px;
        font-weight: 500;
    }
    .map-wrap div div.text div p span{
        font-size: 13px;
        color: #555;
    }
    .map-wrap > div div.text .btns div{
        height: 48px;
    }
    .map-wrap > div div.text .btns{
        margin-top: 4px;
    }
    /* banner */
    .banner-wrap a{
        padding: 40px 32px;
    }
    .banner-wrap .label{
        margin-bottom: 0;
    }
    .banner-wrap .title{
        font-size: 28px;
    }
    .banner-wrap .desc{
        font-size: 15px;
    }
    .banner-wrap .desc p{
        margin-bottom: 0;
    }
    .banner-wrap .desc p span{
        font-weight: 500;
    }
    .banner-wrap .desc .fir{
        font-size: 18px;
    }
    .banner-wrap .by{
        margin-top: 16px;
    }
    /* footer */
    .footer-wrap{
        padding: 80px 3% 40px;
    }
    .footer-wrap .text p{
        font-size: 14px;
    }
    .footer-wrap .copy{
        font-size: 12px;
        font-weight: 200;
        margin-top: 20px;
    }
}

@media screen and (max-width: 900px) {
    .header-wrap .menu ul{
        display: none;
    }
    .header-wrap .logo h2{
        height: 24px;
    }

    /* mainvisual */

    .mainVisual-wrap{
        display: block;
    }
    .mainVisual-wrap .title{
        width: 100%;
        text-align: center;
        padding-top: 200px;
    }
    .mainVisual-wrap .cont{
        width: 100%;
        text-align: center;
        padding-top: 60px;
    }
    .mainVisual-wrap .cont .btn{
        margin-top: 40px;
    }
    .mainVisual-wrap .title .first{
        margin: 0 auto;
    }
    /* greeting */
    .greeting-wrap .title{
    font-size: 20px;
    width: 100%;
    }
    .greeting-wrap .cont{
    width: 100%;
    }

    /* agenda */
    .agenda-wrap .change{
        padding: 12px 0;
        margin-bottom: 0;
        font-size: 12px;
        text-align: left;
    }
    .agenda-wrap > div{
        padding: 28px 20px;
    }
    .agenda-wrap > div > ul > li .session{
        padding: 20px;
    }
    .sponsor-wrap div{
        padding: 40px 24px;
    }
    .sponsor-wrap div ul li{
        height: 54px;
    }
    .session-info .wrap .title{
        font-size: 20px;
    }
    .session-info .wrap .sub{
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    .session-info .wrap .close{
        font-size: 12px;
        width: 80px;
    }
    .speakerwrap .speaker-img{
        width: 160px;
        height: 160px;
    }
    .table .button{
        width: 20px;
        height: 20px;
        right: 20px;
    }
    .table .button img{
        max-width: 50%;
    }
    
    /* notice */
    .notice .big{
        font-size: 20px;
        margin-top: 12px;
    }
    .notice .box{
        font-size: 20px;
    }
    /* key */
    .key-wrap .text .title{
        font-size: 20px;
    }
    .key-wrap .box-wrap img{
        opacity: .5;
        top: 0;
    }
    .key-wrap .box-wrap h6{
        font-size: 20px;

    }
    .key-wrap .box-wrap p{
        opacity: 1;
    }
    /* who */
    .who-wrap .box-wrap{
        flex-wrap: wrap;
        gap: 20px;
        justify-content: center;
    }
    .who-wrap .box-wrap li{
        width: calc((100% - 60px) / 4);
    }
    .who-wrap .box-wrap li img{
        width: 40%;
        filter: grayscale(0);
    }
    .who-wrap .text{
        font-size: 16px;
    }
    /* sponsor */
    .sponsor-wrap div{
        padding: 28px 20px;
    }
    .sponsor-wrap div ul li{
        height: 48px;
    }
    /* event */
    .event-wrap > div.event-flex{
        display: block;
    }
    .event-wrap > div.event-flex > div{
        width: 100%;
        height: 200px;
        margin-bottom: 20px;
    }
    .event-wrap > div > div.third{
        width: 100%;
    }
    .event-wrap > div.event-flex > div .photo{
        width: 30%;
        margin-right: 12px;
    }
    .event-wrap > div > div .text h5{
        font-size: 20px;
        margin: 0;
        margin-bottom: 12px;
    }
    .event-wrap > div.event-flex > div .text p{
        font-size: 16px;
    }
    .event-wrap > div > div.lucky{
        margin-bottom: 12px;
    }
    .event-wrap .change{
        font-size: 12px; margin-top: 0;
    }
    /* map */
    .map-wrap > div{
        display: block;
    }
    .map-wrap > div > div{
        width: 100%;
        margin-bottom: 20px;
        height: 240px;
    }
    .map-wrap > div div.mapimg img{
        width: 100%;
    }
    .map-wrap > div div.text{
        padding: 20px 32px;
    }
    /* footer */
    .footer-wrap h3{
        margin-bottom: 32px;
        text-align: left;
    }
}
@media screen and ( max-width: 700px){
    h3{
        font-size: 36px;
    }
    .mvimg{
        width: 100%;
    }
    .mainVisual-wrap .title .second{
        font-size: 34px;
    }
    .mainVisual-wrap .title .third{
        font-size: 34px;
    }
    .greeting-wrap{
        display: block;
    }
    .greeting-wrap .title{
        text-align: center;
        margin-bottom: 20px;
        font-size: 18px;
    }
    .greeting-wrap .cont{
        width: 80%;
        margin: 0 auto;
        text-align: center;
        font-size: 15px;
    }

    /* agenda */
    .agenda-wrap > div h5{
        font-size: 12px;
        padding: 0 10px;
    }
    .agenda-wrap > div > ul > li{
        flex-wrap: wrap;
    }
    .agenda-wrap > div > ul > li .time{
        width: 50px;
        overflow-wrap: break-word;
        font-size: 13px;
        text-align: left;
        padding-left: 4px;
    }
    .agenda-wrap > div > ul > li .session{
        width: calc(100% - 50px);
    }
    .table .button{
        right: 12px;
        width: 18px;
        height: 18px;
        background-color: rgba(256, 256, 256, 0.1);
        border: 1px solid #fff;
    }
     .table .button img{
        width: 8px;
     }
    .track .time{
        width: 50px;
    }
    .track .tr-a{
        width: calc((100% - 50px) / 2);
    }
    .track .tr-b{
        width: calc((100% - 50px) / 2);
    }
    .session-info .wrap .close{
        right: 20px;
    }
    /* notice */
    .notice p{
        font-size: 15px;
    }
    .notice .big{
        font-size: 18px;
    }
    .notice .box{
        font-size: 18px;
        padding: 2px 8px 4px;
    }
    /* key */
    .key-wrap .text .title{
        font-size: 18px;
        margin-bottom: 16px;
    }
    .key-wrap .text .cont{
        font-size: 15px;
    }
    .key-wrap .box-wrap p{
        font-size: 15px;
    }
    .key-wrap .box-wrap li{
        aspect-ratio: auto;
        padding-bottom: 20px;
        height: 200px;
    }
    .key-wrap .box-wrap p{
        word-break: keep-all;
    }
    /* who */
    .who-wrap .box-wrap{
        gap: 12px;
    }
    .who-wrap .box-wrap li{
        padding: 12px 20px;
    }
    .who-wrap .box-wrap li p{
        height: 54px;
    }
    .who-wrap .box-wrap li span{
        margin-top: 0;
    }
    .who-wrap .box-wrap li span{
        font-size: 16px;
    }
    .sponsor-wrap div ul li{
        width: 45%;
    }
    .sponsor-wrap div ul li.two{
        width: calc(90% + 20px);
    }
    .event-wrap > div.event-flex > div > .text h5{
        font-size: 20px;
    }
    .event-wrap > div.event-flex > div > .text p{
        font-size: 15px;
    }
    .event-wrap > div.event-flex >div.third{
        height: auto;
        padding: 10px 0;
    }
    .map-wrap > div div.text{
        height: auto;
        padding: 20px;
    }
    .top-arrow{
        display: none;
    }
}

@media screen and (max-width: 480px) {
    h3{
        font-size: 28px;
        margin-bottom: 40px;
    }
     header {
        width: 100%;
        height: 60px;
        position: fixed;
    }
    .header-wrap {
        width: 100%;
        height: 100%;
        
    }
    .header-wrap .logo h2{
        height: 22px;
    }
    .header-wrap .menu h2 a img{
        height: 24px;
    }
    #main{
        position: relative;
    }
    .mainVisual-wrap .title .second{
        font-size: 32px;
        font-weight: 600;
        line-height: 1;
        margin-bottom: 8px;
    }
    .mainVisual-wrap .title .third{
        font-size: 32px;
        font-weight: 600;
        line-height: 1;
    }
    .mainVisual-wrap .title .add{
        padding: 0 8px;
        margin-top: 16px;
        word-break: keep-all;
        font-size: 12px;
        line-height: 1.3;
    }
    .mainVisual-wrap .title .add span{
        font-size: 16px;
        margin-bottom: 6px;
    }
    .mainVisual-wrap .cont{
        padding-top: 54px;
    }
    .mainVisual-wrap .cont .btn{
        gap: 20px;
    }
    .mainVisual-wrap .cont .btn a{
        width: 160px;
        height: 48px;
        line-height: 46px;
    }
    /* greeting */

    .greeting-wrap .title{
        font-size: 17px;
        display: block;
    }
    .greeting-wrap .cont{
        width: 100%;
    }

    /* agenda */
    #agenda{
        background-color: #030d3e;
    }
    .agenda-wrap{
        padding: 120px 0;
    }
    .agenda-wrap > div{
        padding: 40px 4px;
        border: none;
        border-radius: 0;
        background-color: transparent;
    }
    .agenda-wrap > div.table > ul > li > .session{
        padding: 20px;
        overflow-y: scroll;
    }
    .agenda-wrap > div > ul > li .session{
        padding: 10px;
    }

    .agenda-wrap .keynote{
        margin-bottom: 0;
    }
    .table .session-info .button{
        right: 14px;
        width: 16px;
        height: 16px;
    }
    .table .session-info .button img{
        width: 50%;
    }
    .table .session-info .wrap{
        position: fixed;
        z-index: 9999;
    }
    .track .cont{
        height: 220px;
        padding: 0;
    }
    .track .tr .session{
        padding: 10px;
    }
    .track .tr .button{
        top: auto;
        transform: translate(0 , -50%);
        bottom: 0;
        left: 50%;
    }
    /* agenda-session-info */

    .session-info .wrap .title{
        font-size: 20px;
        margin-top: 36px;
    }
    .speakerwrap{
        display: block;
    }

    .speakerwrap .speaker-text{
    width: 100%;
    padding: 0;
    margin-top: 12px;
    }

    .speakerwrap .speaker-text .speaker-name{
        font-size: 16px;
        font-weight: 600;
    }
    /* notice */
    .agenda-wrap > .notice{
        background-color: rgba(0, 0, 0, 0.5);
        padding: 32px 16px;
    }
    .notice .box{
        background-color: transparent;
        color: #00b7ff;
        margin-top: 0;
    }
    /* key */
    .key-wrap{
        padding: 120px 3%;
    }
    .key-wrap .box-wrap{
        gap: 12px;
    }
    .key-wrap .box-wrap li{
        width: 100%;
        aspect-ratio: 2;
        height: auto;
        padding-bottom: 0;
    }
    /* who */
    .who-wrap .box-wrap li{
        box-shadow: 0 0 10px #00b7ff43;
        border: 1px solid #00b7ff;
    }
    .who-wrap .box-wrap li img{
        width: 70%;
    }
    /* sponsor */
    .sponsor-wrap{
        padding: 120px 3% 0;
    }
    .sponsor-wrap div{
        padding: 20px 8px;
    }
    .sponsor-wrap div ul{
        gap: 12px;
    }
    .sponsor-wrap div ul li{
        width: 47%;
    }
    .sponsor-wrap div ul li a img{
        height: 24px;
    }
    /* event */
    .event-wrap{
        padding: 100px 3% 0;
    }
    .event-wrap > div.event-flex > div > .text h5{
        font-size: 18px;
    }
    .event-wrap > div.event-flex > div > .text p{
        font-size: 15px;
    }
    .event-wrap > div.event-flex > div .photo{
        width: 40%;
        margin-right: 12px;
    }
    .event-wrap > div.event-flex > div.survey .photo{
        width: 34%;
        margin-right: 20px;
    }
    .event-wrap .one .text h5{
        font-size: 17px;
        letter-spacing: -1px;
    }
    .event-wrap .one .text p{
        font-size: 15px;
    }
    .event-wrap .one .photo{
        width: 40%;
    }
    .event-wrap .one .photo img{
        width: 100%;
    }
    .event-wrap > div > div.third{
        height: auto;
        padding: 20px 0;
    }
    /* map */
    .map-wrap{
        padding: 100px 3%;
    }
    .map-wrap > div div.text{
        height: 400px;
    }
    .map-wrap > div div.text{
        height: auto;
    }
    /* banner */
    #banner{
        padding: 0;
        border: 2px solid #00b7ff73;
    }
    .banner-wrap{
        border: 0;
        border-radius: 0;
    }
    .banner-wrap img{
        width: auto;
        height: 100%;
    }
    .banner-wrap a{
        padding: 20px;
        background: rgba(0, 0, 0, 0.8);
    }
    .banner-wrap:hover a{
        background: rgba(0, 0, 0, 0.8);
    }
    .banner-wrap .title{
        font-size: 24px;
    }
    .banner-wrap .desc{
        color: #ddd;
    }
    .banner-wrap .desc .fir{
        font-size: 17px;
    }
    .banner-wrap .by{
        font-size: 14px;
    }
    /* footer */
    .footer-wrap .copy{
        text-align: left;
        margin: 0 ;
        font-size: 11px;
        padding: 24px 6px;
    }



}