*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html{
    font-size: 62.5%;
    font-family: nimbus-sans,ryo-gothic-plusn, sans-serif;
font-weight: 400;
font-style: normal;
font-feature-settings: "palt";
    color: #666;
    
}
body{
    background:linear-gradient(-45deg, #fed5ba,#ffffff,#aef2ff);
    background-size: 300%,300%;
    animation: GradietionAnimation 9s ease infinite;

}
.menu{
    position: fixed;
    top:0;
    left: 0;
    width: 100vw;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    letter-spacing: 0.4rem;
    z-index: 10000;
    border-bottom: #999 solid 1px;
    padding-left: 60px;
    padding-right: 60px;
    background-color: rgba(255, 255, 255, 0.4);

}
.menu_links{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.menu a img{
    padding-top: 4px;
    width: 52px;
    height: 52px;
}
.menu a{
    font-size: 1.4rem;
    color: #666;
    text-decoration: none;
}
.menu h3{
    font-size: 1.6rem;
    font-weight: normal;
}
.reserve{
    border:#999 solid 1px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding: 10px;
    padding-right: 8px;
    margin-right: 40px;
}
.topbox{
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.box{
    width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30vw;
}
.frame{
    border: solid #999 2px;
    text-align: center;
}
.box_1 p{
    width: 60vw;
    padding: 2vw;
    padding-top: 5vw;
    padding-bottom: 5vw;
    border: solid #999 2px;
    font-size: 2rem;
    text-align: center;
    letter-spacing: 0.5rem;
    line-height: 6rem;
    border-top-left-radius: 5vw;
    border-bottom-right-radius: 5vw;
    background-color: rgba(255, 255, 255, 0.9);
}
.box_2{
   width: 100vw; 
   position: relative;
   display: flex;
   align-items: flex-end;
}
.box_2_img1{
    width: 60vw;
    height: 40vw;
    margin-left: -40vw;
    background-image: url("../images/S__154673160.jpg");
    background-size: cover;
    border-top-right-radius: 5vw;
    border-bottom-right-radius: 5vw;

}
.box_2_bg{
    position: absolute;
    border: solid #999 2px;
    top:50%;
    left: 10vw;
    width: 20vw;
    height: 20vw;
    transform: translateY(-50%);
    background-size: cover;
    border-top-right-radius: 5vw;
    border-bottom-left-radius: 5vw;
}

.box_2_textwrapper{
    position: absolute;
    left: 50%;
    bottom: -5vw;
    width: 40vw;
    padding: 2vw;
    padding-top: 3vw;
    padding-bottom: 3vw;
    border: solid #999 2px;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: 0.2rem;
    line-height: 3rem;
    border-top-right-radius: 5vw;
    border-bottom-left-radius: 5vw;
    background-color: rgba(255, 255, 255, 0.9);

}
.box_3{
    margin-top: 20vw;
    width: 90vw;
    margin-left:5vw;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: 0.2rem;
    line-height: 3rem;
}
.box_3 div{
    background-color: rgba(255, 255, 255, 0.9);

}
.box_3_wrapper_1{
    z-index: 100;
    padding: 2vw;
    border-top-left-radius: 5vw;
    margin-bottom: -10vw;
}
.box_3_wrapper_2{
    background-image: url("../images/ke_ph_1.jpg");
    background-size: cover;
    border-top-left-radius: 5vw;
    border-bottom-right-radius: 5vw;
    width: 60vw;
    height: 40vw;
    margin-left: 15vw;
    margin-bottom: 10vw;
}
.box_3_wrapper_3{
    border-top-left-radius: 5vw;
    border-bottom-right-radius: 5vw;
    z-index: 100;
    padding: 2vw;
    border-top-left-radius: 5vw;
    margin-bottom: -60vw;
    margin-left: 10vw;
}
.box_3_wrapper_4{
    background-image: url("../images/S__154673161.jpg");
    background-size: cover;
    border-top-right-radius: 5vw;
    border-bottom-left-radius: 5vw;
    width: 60vw;
    height: 40vw;
    margin-left: 30vw;
}
.box_4{
    flex-wrap: wrap;
}
.box_4_wrapper{
    display: flex;
    padding-left: 10vw;
    padding-right: 10vw;
    width: 100vw;
    justify-content: space-between;
}
.box_4_img{
    display: inline;
    height:calc(55vw * 0.56);
    border-top-left-radius: 5vw;
    border-top-right-radius: 5vw;
}
.box_4_map{
    width: 55vw;
    border-top-left-radius: 5vw;
    border-bottom-right-radius: 5vw;
}
.box_4_wrapper_wrapper{
    display: flex;
    padding-top: 3rem;
    width: 50vw;
    flex-wrap: wrap;
}
.box_4_wrapper_wrapper a{
    text-decoration: none;
    color: #666;
    font-size: 2rem;
    padding: 1.6rem;
    border-radius: 3rem;
    margin-right: 20vw;
    margin-bottom: 1rem;
    border: solid #999 2px;
    background-color: rgba(255, 255, 255, 0.9);
}
.map_text{
    text-decoration: none;
    color: #666;
    font-size: 1.3rem;
    border-radius: 3rem;
    margin-bottom: 1rem;
    margin-right: 2rem;
    white-space: nowrap
}
h2{
    font-weight: normal;
    margin-bottom: 2rem;
}
.topbox_logo{
    width: 20vw;
    height: auto;
    
}
.leftbox{
    width: 50vw;
    height: 100vh;
}
.rightbox{
    width: 50vw;
    height: 100vh;
}
.rightbox_1{
    width: 100%;
    height: 100vh;
    background-image:url("../images/ke_ph_1.jpg");
    background-size: cover;
    background-position: 50% 50%;
}
footer{
    color: #666;
    width: 100vw;
    height: 200px;
    padding-top: 30px;
    border-top: #999 solid 1px;
    padding-left: 60px;
    padding-right: 60px;
    background-color: rgba(255, 255, 255, 0.4);
}
.footer_flex{
    display: flex;
    width:100%;
    justify-content: center;
    align-items: center;

}
.footer_item{
    text-align: center;
    text-decoration: none;
    color: #666;
    margin-left: 10px;
    margin-right: 10px;
    font-size: 1.4rem;
}
.footer_MMN{
    margin-top: 20px;
    margin-bottom: 10px;
    width: 70px;
    height: auto;
    
}
small{
    font-size: 1rem;
}

@keyframes GradietionAnimation { 
    0%{background-position:0% 50%}
    50%{background-position:100% 100%}
    100%{background-position:0% 50%}
  }


@media screen and (max-width:1000px) and (min-width:640px) {
    .box_2_img1{
        margin-left: -20vw;
        width: 80vw;
        height: 60vw;
    }

    h2{
        font-size: 1.2rem;
    }
    .box_2_textwrapper{
        font-size: 1rem;
    }

    .box_1 p{
        font-size: 1.6rem;
        line-height: 4.8rem;
        letter-spacing: 0.3rem;
    }
    .box_4_wrapper_wrapper a{
        font-size: 1.6rem;
        padding: 1.2rem;
    }
    .map_text{
        font-size: 1.1rem;
    }

}
@media screen and (max-width:640px) {
    .menu{
        padding-left: 20px;
        padding-right: 20px;
    }
    .box{
        margin-bottom: 20vh;
    }
    .box_1 p{
        width: 80vw;
        font-size: 1.4rem;
        letter-spacing: 0.2rem;
        line-height: 3.2rem;
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .box_2{
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .box_2_img1{
        width: 80vw;
        height: 60vw;
        margin: 0;
    }
    .box_2_textwrapper{
        position: relative;
        width: 80vw;
        left: 0;
        padding: 4rem;
    }
    .box_3{
        width: 80vw;
        margin-right: 0;
        margin-left: 10vw;
    }
    .box_3_wrapper_1{
        width: 80vw;
        margin-left: 0;
        margin-bottom: 5vw;
        padding: 4rem;

    }
    .box_3_wrapper_2{
        width: 80vw;
        height: 50vw;
        margin-left: 0;
        

    }
    .box_3_wrapper_3{
        width:80vw;
        margin-left: 0;
        margin-bottom: 5vw;
        padding: 4rem;


    }
    .box_3_wrapper_4{
        width: 80vw;
        height: 60vw;
        margin: 0;
    }
    .box_4_wrapper{
        flex-wrap: wrap;
    }
    .box_4_wrapper_wrapper{
        width: 80vw;
        justify-content: space-between;
    }
    .box_4_wrapper_wrapper a{
        font-size: 1.6rem;
        margin: 0;
    }
    .box_4_img{
        display: none;
    }
    .box_4_map{
        width: 80vw;
    }
        .footer_item{
        font-size: 1rem;
    }
}