*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:sans-serif;
    background:#eee;   
}

/* 上部 */

.hero{
    position: relative;
    height:90vh;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:60px;
    background:linear-gradient(
        90deg,
        #77dfff80,
        hsl(290, 100%, 80%)
    );
}

.title{
    position:absolute;
    top:3vh;
    left: 1vw;
    font-size:  9vw;
    font-family: 'HG行書体';
    font-weight:bold;
    white-space:nowrap;
    padding: 1vh;
    color: #0e0d0d;
    text-shadow:
            1vh 1vh 0px #ffffff, -3px -3px 0px #ffffff,
           -3px 3px 0px #ffffff,  3px -3px 0px #ffffff,
            3px 0px 0px #ffffff, -3px -0px 0px #ffffff,
            0px 3px 0px #ffffff,  0px -3px 0px #ffffff;
    margin: 0;
}

.place{
    position:relative;
    bottom: 10vh;
    margin-top:90vh;
    font-size:5vw;
    font-family: 'HG行書体';
    font-weight:bold;
}

.right{
    display:flex;
    flex-direction:column;
    align-items:center;
}

#logo{
    position:absolute;
    right: 2vw;
    top: 5vh;
    width: 40vw;
    height:auto;
    object-fit: contain;
}


.countdown{
    position: absolute;
    bottom: 5vh;
    right: 5vh;
    background:rgb(251, 255, 174);
    border-radius: 50px;
    padding:7.5vh;
    font-family: 'HG行書体';
}

.countdown div:first-child{
    font-size:2vw;
}

#days{
    font-size:5vw;
    text-align:center;
    font-weight:bold;
}

/* ナビ */

nav{
    background:rgb(22, 48, 22);
    display:flex;
    justify-content:space-around;
    padding:12px;
}

nav a{
    color:white;
    text-decoration:none;
    font-weight:bold;
}

/* 下部 */

.section1,.section2,.section3{
    position: relative;
    min-height:90vh;
    text-align: center;
}

.section1{
    display: flex;
}

.info{
    width: 50vw;
    margin:auto auto;
}

.schedule,.location{
    position:relative;
    top:4vh;
    font-family: 'HG行書体';
}

.schedule h2,.location h2{
    font-size:7.5vw;
}

.schedule p{
    margin-top:4vh;
    font-size:3.5vw;
    font-weight:bold;
}

.location p{
    margin-top:5vh;
    font-size:3.5vw;
    font-weight:bold;
}

#day1{
    color: blue;
}

#day2{
    color: red;
}

.location{
    margin-top: 10vh;
}

.map{
    width: 50vw;
    margin: auto auto;
}

#access-map{
    position:relative;
    width:40vw;
    height:60vh; 
    background:white;
    padding: 5vh;
    box-shadow:
            3vh 3vh 0px #0a3b00, 0px 0px 0px #fefffe,
            0px 0px 0px #ffffff,  0px 0px 0px #ffffff,
            0px 0px 0px #ffffff, 0px 0px 0px #ffffff,
            0px 0px 0px #ffffff,  0px 0px 0px #ffffff;
}

/*説明部*/

.theme{
    display: flex;
}

.theme-ex{
    position: relative;
    width:50vw;
    height:100vh;
    margin:0 auto;
}

.theme-ex h1{
    position:relative;
    top:10vh;
    font-weight:bold;
    font-size: 15vw;
    font-family: 'HG行書体';
}

.bunnpatu h2, .theme-ex h2{
    position: relative;
    margin-top:20vh;
    font-weight:bold;
    font-size: 7.5vw;
    font-family: 'HG行書体';
    font-weight:bold;
}

.bunnpatu p{
    position: relative;
    justify-content:space-between;
    margin-top: 5vh;
    font-size: 1.75vw;
}

.theme-ex p{
    position:relative;
    margin-top:10vh;
    font-size:2vw;
}

.poster{
    position:relative;
    width:30vw;
    top: 30vh;
    background:white;
    padding: 5vh;
    box-shadow:
        3vh 3vh 0px #0a3b00, 0px 0px 0px #ffffff,
        0px 0px 0px #ffffff,  0px 0px 0px #ffffff,
        0px 0px 0px #ffffff, 0px 0px 0px #ffffff,
        0px 0px 0px #ffffff,  0px 0px 0px #ffffff;
}

.section3 h2{
    margin-top: 40vh;
    position:relative;
    font-weight:bold;
    font-size: 10vh;
    font-family: 'HG行書体';
}

.section3 h3{
    margin: 0 auto;
    position:relative;
    font-weight:bold;
    font-family: 'HG行書体';
    font-size: 10vh;
}