*{
    
    margin: 0;
    padding: 0;

  }
img{
  border: none;

}
  a{
    text-decoration: none;
  }

  li{
    list-style: none;
  }
 
  body{
    
    font-family:'Noto Serif JP',"HGP明朝E","游明朝体","Yu Mincho","YuMincho","ヒラギノ明朝 Pro","Hiragino Mincho Pro","MS P明朝","MS PMincho",serif;
  }
  /* ヘッダー部分 */


 #header{
    display: flex;
    color:#fff;
    font-size: 30px;
    position: fixed;
    z-index: 999;
 }



 #header img{
    padding-left: 80px
 }



 #gnavi{
    padding-left: 250px;
    font-family: 'Noto Serif JP', serif;

}
 #gnaviList{
    display: flex;
 }

#gnaviList li{
  padding-left: 30px;
  padding-top: 50px;
}

#gnaviList a {
    color: #fff;
 }
 #gnaviList li a:hover {
  color: #666666;
}


#mainphoto {
  
    width: 100%;
    padding-top: 55px;
    padding-bottom: 55px;
    padding-left: 10px;
    padding-right: 10px;
}

  #mainphoto img {
    width: 100%;
    height: 79vh;
    object-fit: cover;
    
}

#topphoto{
    background-color: black;
}

section{
  max-width: 1200px;
  margin: 0 auto;
}


#our_photo {
  position: relative;
  background-color: #a6a6a6;
  text-align: center;
}

#our_photo img {
  width: 100%; /* 必要に応じて調整 */
  display: block;
}

#ourphilosophy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 24px;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.8;
  background-color: rgba(0, 0, 0, 0.5); /* 読みやすさUP */
  padding: 20px;
  border-radius: 10px;
  max-width: 80%;
  box-sizing: border-box;
}


#menuContent {
  background-color: black;

  color: white;
  text-align: center;
}

  #menu {
    color: #fff;
    font-size: 25px;
    font-family: 'Noto Serif JP', serif;
    text-align: left;   
   
  }
  

#menu_photo {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  gap: 20px;
}

#menu_photo img {
  width: 22%; /* 4枚並べる用、レスポンシブならmedia queryで調整 */
  height: auto;
  border-radius: 10px;
}

.btn {
    position: relative;
    z-index: 0;
    overflow: hidden;
    background-color: black;
    color: white;
    border: 1px solid;
    width: 150px;
    padding: 18px 70px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  

  .btn::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 0%;
    height: 100%;
    background-color: #bbb;
    transition: .5s;
  }


  .btn p{
    font-weight: bold;
    font-size: 20px;
    font-family: 'Noto Serif JP', serif;
    color: #fff;

}


  .btn:hover::before {
    width: 100%;
  }
  

#owner{
    display: flex;
    background-color: #a6a6a6;
}

.owner_photo img{
    width: 500px;
    height: 500px;
    padding-top: 100px;
    padding-left: 100px;
    padding-bottom: 100px
}

#profile{
    font-weight: bold;
    font-size: 20px;
    font-family: 'Noto Serif JP', serif;
    color: #fff;
    padding: 80px;

}

#access_photo img{
    width: 300px;
    height: 300px;
    padding-top: 100px;
    padding-left: 300px;
    padding-bottom: 100px

}




#access{
    display: flex;
    background-color: black;
    color:#fff;
    font-weight: bold;
    font-size: 20px;
    font-family: 'Noto Serif JP', serif

}


#address{
    padding: 100px;
}

#mapContact{
    display: flex;
}



#news{
    background-color: #a6a6a6;

}

#newsTitle{
    color:#fff;
    font-weight: bold;
    font-size: 20px;
    font-family: 'Noto Serif JP', serif;
    padding-top: 75px;
    text-align: center;
    margin: 0 auto;
    width: 380px;

}


.news_test{
  display: flex;
  justify-content: space-between;
  width: 75%;
  margin: 0 auto;
}



.news_test td:hover img {
  opacity: 0.8;
  transform: scale(1.02);
  transition: 0.3s;
}


table {
  margin-left: auto;
  margin-right: auto;
  padding: 50px;
  width: 100%;
}


td{
    display: flex;
    margin-top: 20px;
}

.box{
    background-color: black;
    color: #fff;
    width: 250px;
    font-size: 15px;
    text-align: center;
    padding-top: 25px;
}

footer{
    height: 30px;
    background-color: black;

}

.hidden {
  opacity: 0;
  transition: opacity 1s ease-out;
}
