@charset "UTF-8";
/*共通部分----
----------------------------*/
html{
  font-size: 100%;
}/*ブラウザのデフォルト（通常１６ｐｘ。ふぁびこんのおおきさが１６PX。）やユーザーの設定した文字サイズを正しく反映。*/
body{
  font-family: "Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体","ヒラギノ角ゴ Pro W3",sans-serif;
  line-height: 1.7;
  color: #432;
}
a{
  text-decoration: none;
}/*<a>タグの傍線の指定。*/
img{
  max-width: 100%;
}/*画像が親要素より大きくなるのを防ぐ。*/

/*header
---------------------------------*/
.logo{
  width: 210px;
  margin-top: 14px;
}
.main-nav{
  display: flex;/*横並び。main-navの中には<li>タグがある。それらを横並び。*/
  font-size: 1,25rem;
  text-transform: uppercase;
  margin-top: 34px;
  list-style: none;
}
.main-nav li{
  margin-left: 36px;
}
.main-nav a{
  color: #432;
}
.main-nav a:hover{
  color: #00bbdd;
}
.page-header{
  display: flex;/*横並び。page-headerの中には<h1>と<nav>がある。*/
  justify-content: space-between;/*両端の設置*/
}
.wrapper{
  max-width: 1100px;/*横幅最大１１００ｐの指定。*/
  margin: 0 auto;/*boxを画面の中央に配置。*/
  padding: 0 4%;/*左右にpaddingを付けておくとスマホなど狭い画面幅でも余白ができ見やすい。*/
}
/*HOME
---------------------------------------*/
.home-content{
  text-align: center;
  margin-top: 10%;
}
.home-content p{
  font-size: 1.125rem;
  margin: 10px 0 42px;
}
/*見出し*/
.page-title{
  font-size: 5rem;
  font-family: 'Philosopher',serif;
  text-transform: uppercase;
  font-weight: normal;
}
/*ボタン*/
.button{
  font-size: 1.075rem;
  background: #0bd;
  color: #fff;
  border-radius: 5px;
  padding: 18px 32px;
}
.button:hover{
  background: #0090aa;
}
/*大きな背景画像。この指定は他でも使いまわしたいのでidではなくクラスにしている。*/
.big-bg{
  background-size: cover;/*画像の縦横比率を保ったまま画面いっぱいに広げたい時に使える。*/
  background-position: center top;
  background-repeat: no-repeat;
}
#home{
  background-image: url(../image/main-bg.jpg);
  min-height: 100vh;
}
#home .page-title{
  text-decoration: none;
}
/*NEWS
-------------------------------------*/
#news{
  background-image: url(../image/news-bg.jpg);
  height: 250px;
  margin-bottom: 40px;
}
#news .page-title{
  text-align: center;
}
.news-contents{
  margin-top: 40px;
}

/*フッター
-----------------------------------------*/
footer{
  background: #432;
  text-align: center;
  padding: 26px 0;/*上下に26PX、左右０．*/
}
footer p{
  color: #fff;
  font-size: 0.875rem;
}
/*記事部分
--------------------------------------------*/
article{
  width: 74%;
  }
/*サイドバー
--------------------------------------------*/
aside{
  width: 22%;
}
.news-contents{
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
.post-info{
  position: relative;
  padding-top: 4px;
  margin-bottom: 40px;
}
.post-date{
  background: #0bd;
  border-radius: 50%;/*丸になる。*/
  color: #fff;
  width: 100px;
  height: 100px;
  font-size: 1.625rem;
  text-align: center;
  position: absolute;
  top: 0;
  padding-top: 10px;
}
.post-date span{
  font-size: 1rem;
  border-top: 1px rgba(255,255,255,.5)solid;
  /*上に付けたい線はborder-topで指定。「255,255,255」はRGB形式で白を表す。「.5」は不透明度。不透明度0～1の間で小数点を使う。0が透明、1が不透明。つまり、「白い線を50％の割合で不透明にして表示」という意味。*/
  padding-top: 6px;
  display: block;
  width: 60%;
  margin: 0 auto;
}
.post-title{
  font-family: "Yu Mincho","YuMincho",serif;
  font-size: 2rem;
  font-weight: normal;
}
.post-title,.post-cat{
  margin-left: 120px;
}
article img{
margin-bottom: 20px;
}
article p{
  margin-bottom: 1rem;
}
.sub-title{
  font-size: 1.375rem;
  padding: 0 8px 8px;
  border-bottom: 2px #0bd solid;
  font-weight: normal;
}
aside p{
  padding: 12px 10px;
}
.sub-menu{
  margin-bottom: 60px;
  list-style: none;/*丸いマークを非表示にする。*/
}
.sub-menu li{
  border-bottom: 1px #ddd solid;
}
.sub-menu a{
  color: #432;
  padding: 10px;
  display: block;/*リンクのクリックできる範囲を広げる*/
}
.sub-menu a:hover{
  color: #0bd;
}
/*アクセス
--------------------------------------*/
.access-name{
  font-family: Philosopher;
  font-size: 30px;
  text-align: center;
  border-bottom: #432 solid;
}
.address-text{
  margin-top: 10px;
  margin-bottom: 10px;
}



/*MENU
-----------------------------------------*/
#menu{
  background-image: url(../image/menu-bg.jpg);
  /*min-height: 100h;/*デバイスごとの高さいっぱいになる。*/
  height: 450px;
  margin-bottom: 40px;
  text-align: center;
}

.menu-content{
  max-width: 100%;
  margin-top: 30%;
}
.menu-content .page-title{
text-align: center;
margin-top: 0;
}
.menu-content p{
  font-size: 1.125rem;
  margin: 10px 0 0;
}
.grid{
  display: grid;
  gap: 26px;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 6%;
  margin-bottom: 50px;
}
.big-box{
  grid-column: 1/3;
  grid-row: 1/3;
}
.big-box img{
  height: 94%;
  width: 100%;
  object-fit: cover;
}

.item p{
  text-align: center;
}
/*CONTACT
------------------------------------------*/
#contact{
  background-image: url(../image/contact-bg.jpg);
  min-height: 100vh;  
}
/*フォーム
------------------------------------------*/
form div{
 margin-bottom: 14px;
 }
 label{
   font-size: 1.125rem;
   margin-bottom: 10px;
   display: block;
 }
 input[type="text"],input[type="email"],textarea{
   background: rgba(255,255,255,.5);
   border: 1px #fff solid;
   border-radius: 5px;
   padding: 10px;
   font-size: 1rem;
 }
 input[type="text"],input[type="email"]{
   width: 100%;
   max-width: 240px;
 }
 textarea{
   width: 100%;
   max-width: 480px;
   height: 6rem;
 }
 input[type="submit"]{
   border: none;
   cursor: pointer;
   line-height: 1;
 }

 .miru {
  
  display:block;
  animation: prunprun 2.2s ease-in infinite;
  -webkit-animation: prunprun 2.2s ease-in infinite;
  -moz-animation: prunprun 2.2s ease-in infinite;
  -o-animation: prunprun 2.2s ease-in infinite;
  -ms-animation: prunprun 2.2s ease-in infinite;
}

@keyframes prunprun {
48%, 62% {transform: scale(1.0, 1.0);}
50% {transform: scale(1.1, 0.9);}
56% {transform: scale(0.9, 1.1) translate(0, -5px);}
59% {transform: scale(1.0, 1.0) translate(0, -3px);}
}

@-webkit-keyframes prunprun{
48%, 62% {-webkit-transform: scale(1.0, 1.0);}
50% {-webkit-transform: scale(1.1, 0.9);}
56% {-webkit-transform: scale(0.9, 1.1) translate(0, -5px);}
59% {-webkit-transform: scale(1.0, 1.0) translate(0, -3px);}
}






 /*モバイル版
------------------------------------------*/
@media(max-width:600px){
  .page-title{
    font-size: 2.5rem;
  }
  /*HEADER*/
  .main-nav{
    font-size: 1rem;
    margin-top: 10px;
  }
  .main-nav li{
    margin: 0 20px;
  }
  /*HOME*/
  .home-content{
    margin-top: 20%;
  }
  .page-header{
    flex-direction: column;/*どの方向に並べるかを指定できる。columにするこで縦並びになる。*/
    align-items: center;/*画面中央に配置。*/
  }
  /*NEWS*/
  .news-contents{
    flex-direction: column;
  }
  article,aside{
    width: 100%;
  }
  #news .page-title{
    margin-top: 30px;
  }
  aside{
    margin-top: 60px;
  }
  .post-info{
    margin-bottom: 30px;
  }
  .post-date{
    width: 70px;
    height: 70px;
    font-size: 1rem;
  }
  .post-date span{
    font-size: 0.875rem;
    padding-top: 2px;
  }
  .post-title{
    font-size: 1.375rem;
  }
  .post-cat{
    font-size: 0.875rem;
    margin-top: 10px;
  }
  .post-title,.post-cat{
    margin-left: 80px;
  }


  /*MENU
  --------------------------------------------*/
  #menu{
    background-image: url(../image/menu-bg.jpg);
    min-height: 100h;/*デバイスごとの高さいっぱいになる。*/
    height: 600px;
    margin-bottom: 100px;
  } 
  .menu-content{
    margin-top: 20%;
  }
  .grid{
    display: grid;
    gap: 26px;
    margin-top: 60%;
    grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
    margin-bottom: 50px;
  }
  .big-box{
    grid-column: auto;
    grid-row: auto;
  }
  .big-box img{
    height: 100%;
  }
  .wrapper-grid{
    margin-top: 0;
  }
  /*CONTACT
  ---------------------------------------------*/
  #contact .page-title{
  margin-top: 40px;
  }
  /*フォーム
  ---------------------------------------------*/
  input[type="text"],input[type="email"],textarea{
    max-width: 100%;
  }
  .gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    }
    .gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    }
  }/*メディアクエリは@mediaと書く。最大幅６００ｐｘの時=0～600pxの画面サイズに対しての指示。*/
