@charset "UTF-8";

@media screen and (max-width:768px) { 
/* style */
.only_pc{
    display: none;
}
.only_sp{
    display: block;
}
    
.only_sp.tab{
    display: none;
    }
.only_pc.tab{
    display: block;
    }    
.box {
    flex-direction: column;
}
    
body{
    background: none;
    }    
    

body::before {
  background: url(../img/bg_body.png);/* 画像（ここにfixedは入れない） */
  background-size: cover;/* cover指定できる */
  content: "";
  display: block;
  position: fixed;/* 擬似要素ごと固定 */
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;/* 横幅いっぱい */
  height: 100vh;/* 縦幅いっぱい */
}
    

    
/*====================================================
                  header
====================================================*/
    
nav .nav_more img {
    width: 45%;
    }
#nav-content img.nav_logo {
    width: 66%;
    }
    
#nav-content {
    padding-top: 10rem;
    }
    
/*.logo {
    width: 33vw;
    top: 4vw;
    left: 4vw;
}    
.menu_content li img {
    width: 47vw;
    }
    
.menu_content li .bus_link img {
    width: 61vw;
    margin-top: 5vw;
    margin-left: -10vw;
}
    
.menu_content li:first-child img{
    width: 53vw;
    margin-bottom: 11vw;
    }
    
nav .menu_content li {
    font-size: 3.74vw;
    margin-bottom: 5vw;
    }
nav .menu_content {
    width: 100%;
    margin: 0 auto;
}
#nav-content a {
    padding: 0;
    text-align: left;
    }
.is-open #nav-content a {
    width: 50%;
    margin: 0 auto;
    letter-spacing: 0.07rem;
}
    
nav .menu_content {
    width: 100%;
    position: absolute;
    top: 0%;
    left: 55%;
    transform: translate(-50%,145%);
    -webkit-transform: translate(-50%,145%);
    -ms-transform: translate(-50%,145%);
    }
    
.menu_content li:first-child img {
    width: 53vw;
    margin-bottom: 11vw;
    position: absolute;
    top: 0%;
    left: 44%;
    transform: translate(-50%,-110%);
    -webkit-transform: translate(-50%,-110%);
    -ms-transform: translate(-50%,-110%);
}*/
    

    
.btn  {
    width: 10vw;
    height: 10vw;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 998 ;
}  
    
header .contact_sp{
    position: fixed;
    right: 6vw;
    top: 0;
    z-index: 998;
    width: 27.8vw;
    }
    
header .contact_sp img{
    height: 10vw;
    }
.main .main_text {
    width: 10vw;
    position: absolute;
    top: 13vw;
    right: 5vw;
}
.main {
    height: 145vw;
}
    
.main {
    position: relative;
    text-align: center;
    background: url(../img/sp/main_bg_sp.svg) center / auto 90% no-repeat;
    background-image: url(../img/sp/main_bg_sp.svg);
    background-position: center;
    background-repeat: no-repeat;
    }

    
    
.about {
    height: 100vw;
    }
.about .wrapper{
    width: 80%;
    text-align: justify;
    }
    
.about h5 {
    width: 100%;
    }
.about p.txt {
    font-size: 14px;
    }
.about .sub_bg {
    background: url(../img/about_bg.svg) bottom 12% left 75% no-repeat;
    height: 100%;
    background-size: 88%;
}
    
    
    
.event .content_box .img {
    width: 100%;
    margin-right: 2rem;
}
.event .content_box .txt {
    width: 100%;
    }
.event .content:nth-child(3) .content_box .img {
    width: 50%;
    }
   
.event .content:nth-child(3) .content_box .txt {
    width: 100%;
    }
    
.event .content:nth-child(3) .content_box .txt {
    width: 50%;
    margin-right: 0;
    }    
.event .content:nth-child(3) .content_box .box .item {
    margin-top: 2vw;
    flex-direction: row;
}
    
 .event .content:nth-child(3) .content_box .box.margin{
    margin-top: 0;
    }
.event .content_box .txt {
    margin-top: 1rem;
    }
.event .content_box .txt.none {
    margin-top: 0;
    }
 .event .content:nth-child(3) .content_box .txt {
    margin-top: 0;
    }
    
    
.contact_link {
    margin: 5vw auto 26vw;
}
    
.shuttlebus {
    height: 105vw;
}
    
footer .guide {
    width: 50%;
}
    
footer .guide li, header .head_nav li {
    margin-bottom: 3vw;
}
    
footer .title_img {
    margin: 0 auto 4vw;
    }
    
footer .guide {
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    width: 84%;
}    
    
footer .guide li{
    width: 25vw;
    }
footer  .link_img{
    text-align: center;
    }
footer  .link_img img{
    width: 40vw;
    margin: 0 auto 4vw;
    }

}


    
@media screen and (max-width:600px) { 

.only_sp.tab{
    display: block;
    }
.only_pc.tab{
    display: none;
    }   
p,dl,ul{
    font-size: 3.74vw;
    letter-spacing: 0.01rem;
    }    
.wrapper {
    width: 85%;
    }
    
h4.title {
    padding-top: 0;
    margin-bottom: 6vw;
}
h4.title img {
    height: 22.5vw;
    margin: 0 auto;
}
    
span.square {
    font-size: 3vw;
    margin-right: 1.5vw;
}
    
.sub_text {
    font-size: 2.8vw;
    margin-top: 2vw;
}
    
.more {
    width: 100%;
    }
    
.more .link_btn {
    width: 100%;
    }
    
.more img{
    width: 80vw;
    }
.more .day {
    margin-top: 4vw;
}
    
h4 {
    height: 16vw;
    }
    
h4::before {
    width: 14vw;
    top: -21vw;
    }

/*====================================================
                  main
====================================================*/
.main {
    height: 100vh;
}    
.main .title .img01 {
    width: 100vw;
}
.main .title .img02 {
    margin: 6vw auto 0;
}
    
.btn {
    width: 19vw;
    }
    
    
header .contact_sp img{
    height: 19vw;
    }
    
header .contact_sp {
    right: 18vw;
    width: 46.3vw;
}
    
.main .title .img01 {
    margin-top: 24vw;
}    
nav .nav_more img {
    width: 67%;
    }
    
#nav-content img.nav_logo {
    width: 86%;
    }
    
#nav-content {
    padding-top: 30vw;
    }
    
/*====================================================
                  about
====================================================*/  
.about {
    background: url(../img/sp/bg_wh_sp.svg) ;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 0.3vw;
    height: 166vw;
    }
    
.about h5 {
    width: 68vw;
    margin: 8vw auto 6.5vw;
}
    
.about .wrapper {
    width: 90%;
    }
    
.about .more {
    margin-top: 8vw;
}
.about .sub_bg {
    background: none;
    }
    
/*====================================================
                  event
====================================================*/
.event {
    margin-top: 20vw;
    margin-bottom: 23vw;
    }    
    
.event h4::before {
    width: 14vw;
    top: -11vw;
    }
    
.event .wrapper {
    width: 91%;
}
    
.event .content img.sub_img {
    height: 7vw;
    top: -7vw;
    left: -0.5vw;
}
    
.event h5 {
    font-size: 14px;
    margin-bottom: 4vw;
    line-height: 1.4;
}
    
.event .content {
    margin-top: 9vw;
    padding: 7vw 5vw 9vw;
}
    
.event .content .h5_img.left {
    width: 93vw;
    margin-left: -11vw;
}
    
.event .detail {
    margin: 7vw auto;
    font-size: 14px;
}
    
.event .detail dl {
    align-items: flex-start;
    margin-bottom: 4vw;
}
    
.event .detail dt{
    font-size: 12px;
    margin-right: 3vw;
        width: 28vw;
}
    
.event .detail dd {
    font-size: 14px;
    line-height: 1.4;
    width: 100%;
    margin-top: -.5vw;
}
    
.event .content .h5_img {
    width: 100%;
}
    
.event .detail {
    width: 100%;
    }
    
.event .content_box {
    width: 100%;
    margin: 0 auto;
    border: 1px solid #231815;
    padding: 7vw;
    padding-bottom: 10vw;
}    
    
.event .content_box .txt {
    width: 100%;
    }
.event .content_box .img {
    width: 100%;
    }
.event img.hall_img {
    width: 96%;
    margin: 13vw auto;
    }
    
.event .content_box h6 {
    font-size: 17px;
    margin: 1vw 0;
    }
    
.event .content_box .age {
    width: 40vw;
    padding: 1vw 0;
    font-size: 17px;
    margin-top: 4vw;
}
    
.event .content_box .txt {
    margin-top: 0;
    }
    
.event .content_box .txt.none {
    margin-top: 1vw;
    }
    
.event .more {
    margin-top: 9vw;
}
    
.event .content_box .box.none .age {
    margin-top: 0;
    }
.event .content_box .box.none{
    margin-top: 3vw;
    }
    
.event .content_box .h6_img {
    margin-top: 2vw;
    }
    
.event .content_box .box {
    margin-top: 9vw;
}
    
.event .content_box .img {
    margin-right: 0;
}
    
.event .content:nth-child(3) {
    margin-top: 15vw;
    }
    
.event .content:nth-child(3) img.hall_img {
    width: 100%;
    }
.event .content:nth-child(3) .detail {
    width: 100%;
    margin-bottom: 10vw;
    }   
.event .content:nth-child(3) h5{
        letter-spacing: 0.01rem;
    }
    
.event .content:nth-child(3) .content_box h6 {
    font-size: 14px;
    line-height: 1.2;
}
    
.event .content:nth-child(3) .content_box h6 span {
    font-size: 11px;
    letter-spacing: -0.06rem;
}
    
.event .content:nth-child(3) .content_box p{
        font-size: 12px;
        line-height: 1.3;
    letter-spacing: -0.05rem;
    }
.event .content:nth-child(3) img.hall_img {
    margin-bottom: 4vw;
}
    
.event .content:nth-child(3) .content_box .txt .text .sub span {
    letter-spacing: -0.08rem;
}
    
.event .content:nth-child(3) .content_box .box .item {
    margin-top: 3vw;
    }
.event .content:nth-child(3) {
    padding-bottom: 9vw;
}

/*====================================================
                  shuttle
====================================================*/    
    
.shuttlebus {
    height: 318vw;
    background: url(../img/sp/bg_wh_bus_sp.svg) ;
    background-position: center;
    width: 100%;
}    
    
.shuttlebus .wrapper {
    width: 93%;
    text-align: justify;
    padding-top: 20vw;
} 

.shuttlebus p {
    font-size: 16px;
    font-weight: 600;
    color: #231815;
    letter-spacing: 0.05rem;
    line-height: 1.6;
    margin: 7vw auto;
}
    
.shuttlebus h4::before {
    width: 17vw;
    top: -25vw;
    }
    
.shuttlebus .bus_img{
    width: 85%;
    }
    
.shuttlebus h4 img {
    margin-top: 0;
}
    
    

    
/*====================================================
                  map
====================================================*/
   
.map .wrapper {
    width: 92%;
    padding-top: 13vw;
}    
    
.map img.map_img {
    width: 100%;
}

     
    

    
 


/*====================================================
                  access
====================================================*/  
.access .wrapper {
    width: 100%;
    }
.access .txt {
    margin: 5vw auto;
    }
    
.access  .map iframe{
    height: 61vw;
    }
.access .map {
    margin-bottom: 6vw;
}
    
/*====================================================
                  contact_link
====================================================*/      
.contact_link {
    width: 90%;
    height: 32vw;
    margin: 15vw auto 28vw;
}
.contact_link a {
    height: auto;
}

.contact_link img{
    width: 100%;
    }
        
/*====================================================
                  footer
====================================================*/    
footer {
    width: 100%;
    margin: 17vw auto 0;
}
    
footer .title_img {
    margin: 15vw auto 4vw;
    margin-left: -0.5vw;
}    

footer .title_img img {
    width: 90%;
}
    
footer .guide{
        width: 100%;
    }
    
footer .guide {
    width: 70%;
    margin: 0 auto 2vw;
    }
    
footer .guide img {
    width: 59vw;
    margin-left: -19vw;
    margin-top: 2vw;
}
    
footer .guide li {
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 7.5vw;
    width: 38%;
    margin-right: 5vw;
    letter-spacing: 0.03rem;
    }
    
footer .guide li:nth-child(2n){
        width: 40%;
        margin-right: 0;
    }
    
footer .title_img {
    width: 100%;
    }
    
footer .sub_txt:last-child {
    padding-bottom: 7vw;
}
    
footer .sub_txt {
    width: 90%;
    margin: 0 auto;
    text-align: justify;
}
footer .sub_txt.small{
    font-size: 10px;
    letter-spacing: -0.01rem;
    line-height: 2.2;
    margin-top: 2vw;
    }
footer .link_img img {
    width: 60vw;
    margin: 0 auto 15vw;
}
    
footer .contact img, footer .contact a {
    width: 79%;
}
    
footer .contact h6 {
    margin-bottom: 2.5vw;
}
    
footer .contact p {
    margin-top: 2.7vw;
    letter-spacing: 0.1rem;
}
    
footer .contact {
    margin-bottom: 11vw;
    font-size: 14px;
}
    
    
    
    
    
    
    
    
    
}

