/*
Theme Name: Mahoroba. WordPress Theme
Author: hitomi
Description: Mahoroba.のWordPressテーマ
Version: 1.0
*/


@charset "utf-8";


* {
    list-style: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-decoration: none;
    margin: 0;
    padding: 0;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}


html {
    font-size: 100%;
    height: 100%;
}
body {  
    color: #24292e;
    background-color: #ffffff;
    font-family: 'BIZ UDPMincho', serif;
    letter-spacing: 2px;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

#container {
  flex: 1;
  
}


a:link, a:visited, a:hover, a:active {
    color: #24292e;
    text-decoration: none;
    
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
}

li {
    list-style: none;
}

.wrapper {
    max-width: 1050px;
    margin: 0 auto 150px auto;
    font-size: 0.9rem;
    padding: 0 1%;
}




@media screen and (max-width: 640px) {
 .wrapper {
     margin-bottom: 0px;
     padding: 0 10%;
 }
 
}


#header {
    display: none;      
}
.sp-visual {
  display: none;
}



@media screen and (max-width: 640px) {
    
    #header {
        max-width: 100%;
        height: 130px;
        padding: 2% 0;
        display: flex;                                                
        align-items: center;
        background-color: #a7a94e;                
    }
    .site-title {                        
        display: block;
        text-align: center;        
        margin: 0 auto;                       
    } 
    .site-title img {
      width: 40%;
    }       
    
    .navmenu {
      display: block;
      position: absolute;
      top: 30px;
      right: 2%;  
      z-index: 11;
    }
    .instanav {
      display: block;
      margin-bottom: 5px;           
    }    
    .instanav img {
        width: 100%;
    }
    .spmenu {
        display: block;                
    }

    .sptoggle {        
        border-radius: 50%;
        border: 1px solid #ffffff; 
        position: fixed;        
        width: 66px;
        height: 66px;
        z-index: 11;
        background-color: #447a37;
      }

      .sptoggle span {
        display: block;
        position: absolute;
        width: 32px;
        border-bottom: 3px solid #ffffff;
        -webkit-transition: .3s ease-in-out;
        transition: .3s ease-in-out;
        left: 16px;
      }
      .sptoggle span:nth-child(1) {
        top: 20px;
      }
      .sptoggle span:nth-child(2) {
        top: 30px;
      }
      .sptoggle span:nth-child(3) {
        top: 40px;
      }
      .sptoggle.active span:nth-child(1) {
        top: 30px;
        left: 16px;
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg);
      }
      .sptoggle.active span:nth-child(2),
      .sptoggle.active span:nth-child(3) {
        top: 30px;
        left: 16px;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
      }
      .spgnav {
        display: block;
        background-color: rgba(68,122,55,0.8);   
        width: 100%;
        position: fixed;
        left: 100%;
        -webkit-transition: 0.5s;
        transition: 0.5s;
        height: auto;               
        top: 6rem;        
        padding: 30px 0 40px 0;        
        z-index: 9;                
      }      

      .spgnav ul {
        display: flex;
        flex-direction: column;
        text-align: center;
        margin-top: 20px;
        align-items: flex-start;        
      }
      .spgnav ul li {
        margin-top: 40px;
        margin-left: 20px;
      }
      .spgnav ul li a {
        color: #ffffff;
        font-size: 1.3rem;
        font-family: 'Cambria',sans-serif;
      }

    .spgnav.active {
        left:50%;
    }

    .sp-visual {
      
      display: block;
    }
}


#mainvisual { 
  margin-bottom: 50px;
}





.fixed-background-1::before  {
    content:"";
    display:block;
    position:relative;
    top:0;
    left:0;
    z-index:-1;
    width:100%;
    height:100vh;
    background:url(img/main3.jpg) center no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
.fixed-background-1 {
  position: relative;
}
.logo { 
    width: 392px;
    height: 264px;
    object-fit: cover;
    position: absolute;
    top: 35%;
    left: 40%;
}
.sidemenu {
    display: block;
    width: 100%;
    height: auto;
    margin: 50px 0 auto auto;
    position: fixed;    
    right: 0;
    transition: 0.5s;
    z-index: 11;
}
.sidemenu.active {
  left: 75%;
}
.toggle {
    position: fixed;
    top: 100px;
    right: 0;
    width: 100px;
    height: 80px;
    z-index: 11;
    background-color: rgba(172,174,78,0.9);
    transition: 0.2s;
  }
  .toggle.active {
    left: 80%;
    width: auto;   
    
  }
  .toggle span {
    display: block;
    position: absolute;
    width: 40px;
    border-bottom: 3px solid #ffffff;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    left: 11px;
  }
  .toggle span:nth-child(1) {
    top: 19px;
  }
  .toggle span:nth-child(2) {
    top: 31px;
  }
  .toggle span:nth-child(3) {
    top: 43px;
  }
  .toggle.active span:nth-child(1) {
    top: 31px;
    left: 11px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .toggle.active span:nth-child(2),
  .toggle.active span:nth-child(3) {
    top: 31px;
    left: 11px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .toggle p {
    position: absolute;
    left: 7px;
    bottom: 10px;
    color: #ffffff;
    font-size: 0.8rem;

  }
  .gmenu {
    display: block;  
    background-color: rgba(172,174,78,0.9);
    width: 100%;  
    height: auto;
    position: fixed;
    top: 180px;
    left: 100%;
    right: 0;
    transition: 0.5s;
              
  }      
  .gmenu.active {
    left: 80%;
  } 
  .gmenu ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 10px;        
  }
  
  .gmenu ul li {
    width: 100%;
    height: auto;
   
  }
  .gmenu ul li a {
    display: block;
    color: #ffffff;
    font-family: 'Cambria',sans-serif;
    font-size: 1.5rem;    
    padding: 20px;
  }
  .gmenu ul li a:hover {
    background-color: rgba(132,133,30,0.8);
  }



@media screen and (max-width: 640px) {
    .fixed-background-1 {
        display: none;
    }
}    

#about {
    background: #ffffff;
    padding: 100px 0 10px 0;
    
}
.about-flexall {
    display: flex;
    align-items: center;
    justify-content: space-between;        
    margin: 0 auto;
    left: 0;
    right: 0;
}
.about-left {
    display: block;
    margin-top: 0;
    opacity: 0;
    transform : translateX(-50px);
    transition : all 2s;
}

.about-center {
    font-size: 1.1rem;
    text-align: center;
    line-height: 4rem;
    opacity: 0;
    transform : translate(0, 100px);
    transition : all 1s;
}
.about-center.up {
    opacity : 1;
    transform : translate(0, 0);
}   

.about-center p {
    color: #467e37;
}
.about-right {    
    margin-top: 30px;
    opacity: 0;
    transform : translateX(50px);
    transition : all 2s;
}


@media screen and (max-width: 640px) {
    #about {
        padding: 50px 0 100px 0;
    }
    .about-flexall {
        display: block;
        flex-direction: column;    
        margin: 0 auto;        
        text-align: center;
    }
    .about-flexall img {
        width: 70%;
        height: auto;
    }
    
    .about-center p {
      font-size: 1rem;
    }
    .about-left,.about-center {
        margin-bottom: 40px;
    }
    .about-left,.about-right {
      opacity: 1;
      transform : none;
      transition : none;
    }
}

.fixed-background-2::before  {
  content:"";
  display:block;
  position:relative;
  top:0;
  left:0;
  bottom: 0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(img/foot.jpg) center no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.fixed-background-2 {
  position: relative;
}

.news {
  position: absolute;
  top: 10%;
  left: 0;
  right: 0;
  background: #ffffff;
  padding: 5% 10%;
  margin: 0 5%;
  border-style: solid;
  border-color: #acae4e;
  opacity: 0;
  transform : translate(0, 100px);
  transition : all 1s;
}

.news.up {
    opacity : 1;
    transform : translate(0, 0);
}

.news-flexall {
  display: flex;
  align-items: center;
  justify-content: space-between;        
  margin: 0 auto;
  left: 0;
  right: 0;
}
.news-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.topimg a:hover {
  opacity: 0.8;
}
.news-top-text {  
  width: 500px;
  text-align: justify;  
  padding: 0 5%;
}
.news-top-text a {
  color: #467e37;
  line-height: 1.8rem;
  text-decoration: underline;
}
.news-top-text a:hover {
  opacity: 0.8;
}
.news-day {
  margin-bottom: 20px;
}
.news-bar {
  margin: 30px 0;
  display: block;
}
.newsmore {
  display: flex;
  justify-content: space-between;
  
}
.newsmore img:hover {
  opacity: 0.8;
}
.newsimg   {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
 
}
.newsimg li {
  border-radius: 10px;
  
}
.newsimg a:hover {
  opacity: 0.8;
}
.newsimg img {
  margin-right: 20px;
  
}

.newsbutton {
  margin-left: 20px;
  
}


@media screen and (max-width: 640px) {  
  .news {
    position: absolute;
    top: 7%;
    padding: 10% 8%;
    opacity: 1;
    transform : none;
    transition : none;
  }
  .fixed-background-2::before  {
    content:"";
    display:block;
    position:relative;
    top:0;
    left:0;
    bottom: 0;
    z-index:-1;
    width:100%;
    height:100vh;
    background:url(img/spimg/sp-foot.jpg) center no-repeat;
    background-size: cover;
    background-attachment: fixed;
  }
  
  .fixed-background-2 {
    position: relative;
  }

  .news-flexall {
    display: block;
    flex-direction: column;    
    margin: 0 auto;
    left: 0;
    right: 0;
    text-align: center;
  }
  .newslogo {
    display: block;
    margin: 40px 0 60px 0;
    left: 0;
    right: 0;
    text-align: center;
  }
  .newslogo img {
    width: 80%;    
  }
  .news-top {
    display: block;
    
  }
  .news-top-img {
    
    margin-bottom: 40px;
  }
  .news-top-img img {
    width: 90%;
  }
  .news-top-text {
    width: 100%;
  }
  .newsmore {
    display: block;
  }
  .newsimg {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
  }
  
  .newsbutton {
    display: flex;
    justify-content: flex-end;
  }
  .newsbutton img {
    width: 80%;
  }
}  



.fixed-background-3::before  {
  content:"";
  display:block;
  position:relative;
  left:0;
  bottom: 0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(img/foot.jpg) center no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.fixed-background-3 {
  position: relative;
}

.footer {
  color: #ffffff;
  position: absolute;
  top:10px;
  left: 0;
  right: 0;
  
  padding: 0 18%;
  opacity: 0;
  transform : translate(0, 100px);
  transition : all 1s; 
}
.footer.up {
  opacity : 1;
  transform : translate(0, 0);
}

.footer-flexall {
  display: flex;
  justify-content: space-between;
}
.footer-left {
  width: 100%;  
}
.time {  
  margin: 30px auto 0 30px;
  font-size: 1.3rem;
  line-height: 2rem;
  
}
.footer-right {
  color: #ffffff;
  
}

.footermenu {
  background-color: rgba(68,122,55,0.8);
  
}

.footermenu ul {
  display: flex;
  justify-items: center;
  flex-wrap: wrap;     
}

.footermenu li {
  width: 50%;
}
.footinsta {
  justify-self: center;
  width: 28%;
}
.footermenu ul li a {
  display: block;
  color: #ffffff;
  font-family: 'Cambria',sans-serif;
  font-size: 1.5rem;    
  padding: 20px;
  text-align: center;
}
.footermenu ul li a:hover {
  background-color: rgba(52,91,42,0.8);
}

.copy {
  position: absolute;
  bottom: 0;
  
}
.spcopy {
  display: none;
}


@media screen and (max-width: 640px) {  
  .fixed-background-3::before  {
    content:"";
    display:block;
    position:relative;
    left:0;
    bottom: 0;
    z-index:-1;
    width:100%;
    height:100vh;
    background:url(img/spimg/sp-foot.jpg) center no-repeat;
    background-size: cover;
    background-attachment: fixed;
  }
  
  .fixed-background-3 {
    position: relative;
  }
  .footer {
    top:300px;
    left: 0;
    right: 0;  
    padding: 4% 8%;
    opacity: 1;
    transform : none;
    transition : none; 
  }
  .footer-flexall {
    display: block;
    
  }
  .footer-left {
    background-color: rgba(68,122,55,0.8);
    width: 100%;
    padding: 5%;    
  }
  .footer-left img {
    display: block;
    width: 50%;
    padding-top: 30px;
    margin: 0 auto;
    left: 0;
    right: 0;
    text-align: center;
  }
  
  p.time {
    font-size: 1rem;
    line-height: 2.5rem;
    text-align: left;
    margin: 20px 0 5px 20px;
    left: 0;
    right: 0;
  }
  .footermenu {
    display: none;
  }
  .copy {
    display: none;    
  }
  .spcopy {
    display: block;
    position: absolute;
    bottom: 30px;
    color: #ffffff;
    font-size: 0.8rem;
    margin: 0 auto;
    left: 0;
    right: 0;
    text-align: center;
  }
  
}  


