@charset "utf-8";
/* CSS Document */
.topmenu{
    display: none;
}
#hamburger {
   position: absolute;
   display: block;
    right: 10px;
    top: 10px;
   width: 30px;
   height: 25px;
   margin: 0 0 0 auto;
    z-index: 1;
}

#hamburger span {
   position: absolute;
   top: 50%;
   left: 0;
   display: block;
   width: 100%;
   height: 2px;
   background-color: #504c2a;
   transform: translateY(-50%);
}
#hamburger::before {
   content: '';
   display: block;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 2px;
   background-color: #504c2a;
}
#hamburger::after {
   content: '';
   display: block;
   position: absolute;
   bottom: 0;
   left: 0;
   width: 70%;
   height: 2px;
   background-color: #504c2a;
}
.sp-nav {
   z-index: 1;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   display: block;
   width: 100%;
   background: rgba(0, 0, 0, .8);
   transition: all .2s ease-in-out;
   color: #fff;
    text-decoration: none;
}
.sp-nav ul {
   padding: 0;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   height: 100%;
}
.sp-nav li {
   margin: 0;
   padding: 0;
}
.sp-nav li span {
   font-size: 15px;
}
.sp-nav li a, .sp-nav li span {
   display: block;
   padding: 20px 0;
}
/*基準となるli要素*/
.sp-nav .close {
   position: relative;
   padding-left: 20px;
}
/*バツ印線1*/
.sp-nav .close::before {
   content: '';
   position: absolute;
   top: 50%;
   left: 0;
   display: block;
   width: 16px;
   height: 1px;
   background: #fff;
   transform: rotate( 45deg );
}
/*バツ印線2*/
.sp-nav .close::after {
   content: '';
   position: absolute;
   top: 50%;
   left: 0;
   display: block;
   width: 16px;
   height: 1px;
   background: #fff;
   transform: rotate( -45deg );
}
.sp-nav {
   z-index: 2;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   display: block;
   width: 100%;
   background: rgba(0, 0, 0, .8);
    color: #fff;
    text-decoration: none;
   transition: all .2s ease-in-out;
   opacity: 0;
   transform: translateY(-100%);
}
.toggle {
   transform: translateY( 0 );
   opacity: 1;
}
.main-visual {
   padding: 0 4%;
}
h2 {
   line-height: 1.6;
   text-align: center;
}
@media screen and (min-width:897px) {
    #hamburger{
        display: none;
    }
    .topmenu{
        display: inline;
        left: 0;
    width: 100%;
    padding-top: 16px;
    padding-bottom: 16px;
    background:  rgba( 255, 255, 255, 0.45 );
    z-index: 20;
     position: absolute;
    margin-top: 250px;
}
.top-menu{
    margin: 0 100px;
}
a{
  text-decoration: none;
    color: #fff;
}
a:hover{
    color: #bc1b21;
}
}