@charset "UTF-8";

html {
  font-size: 100%;
}

a,
a:hover,
a:visited {
  color: inherit;
}

/*
フッターを画面下に配置するために、
「position: relative;」を設定
「min-height」で最小の高さを画面の高さにあわせる
*/
body {
  color: #333;
  position: relative;
}

* {
  margin: 0;
  padding: 0;
}

/*リンクのデコレーション無し*/
a {
  text-decoration: none;
}


li {
  list-style: none;
}

header {
  max-width: 1500px;
  width: 100%;
}

/*
コンテンツ幅を設定するための共通クラス
*/


/*-------------------------------------------
ヘッダー
-------------------------------------------*/
/*
「position: fixed;」でヘッダーを固定し、「z-index: 10;」で前面に表示
※他のコンテンツでpositionをrelative、absolute、fixedのいずれかに
設定している場合は、z-indexの数値が大きい方が前面に表示される
*/
#header {
  width: 100%;
  height: auto;
  color: #fff;

  display: grid;
  justify-content: center;
  position: fixed;
  z-index: 5;
}

.wrapper {

  background-color: #fff;
  opacity: 0.8;
  padding: 110px 0 0 0;
}

.top-rogo {
  width: 380px;
  display: grid;
  position: absolute;
  padding: 17px 10px 0 30px;

}




/*
ハンバーガーメニュー
メニューが閉じている時は、「left: -300px;」で画面左に隠し、
「opacity: 0;」で非表示にしている
*/
#navi {
  position: fixed;
  top: 0;
  right: -300px;

  color: #fff;
  padding: 10% 0 0 55%;
  transition: all 2.5s;
  z-index: 20;
  opacity: 0;
  font-size: 20px;
}

#navi a {

  color: #fff;
}

#navi ul {
  padding: 60px 0 0 0;

}

#navi li {
  margin-bottom: 14px;
}

/*
ハンバーガーメニュー
メニューが開いている時は、「left: 0;」「opacity: 1;」で
画面左に表示する
*/
.open #navi {
  left: 0;
  opacity: 1;
}

.toggle_btn {
  width: 30px;
  height: 22px;
  position: absolute;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 20;
  padding: 0 0 0 75%;
  margin: 20px;
}

/*
ハンバーガーメニューの線の設定（メニューが閉じている時）
*/
.toggle_btn span {
  display: block;
  position: absolute;
  width: 40px;
  height: 3px;
  background-color: #0b0b0b;
  border-radius: 4px;
  transition: all 0.5s;
}

/*
1本目の線の位置を設定
*/
.toggle_btn span:nth-child(1) {
  top: 1px;
}

/*
2本目の線の位置を設定
*/
.toggle_btn span:nth-child(2) {
  bottom: 10px;
}

/*
ハンバーガーメニューの線の設定（メニューが開いている時）
線の色を白に変更
*/
.open .toggle_btn span {
  background-color: #fff;
}

/*
1本目の線を-45度回転
*/
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(4px) rotate(-45deg);
  transform: translateY(4px) rotate(-45deg);
}

/*
2本目の線を45度回転
*/
.open .toggle_btn span:nth-child(2) {
  -webkit-transform: translateY(-4px) rotate(45deg);
  transform: translateY(-4px) rotate(45deg);
}

#mask {
  display: none;
  transition: all 0.5s;
}

/*
メニューを開いている時は、全体を黒背景にする
*/
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #164d17;
  opacity: 2.8;
  z-index: 10;
  cursor: pointer;
}


.top-bac {
  display: grid;

}

.top-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  position: relative;
}

.content {
  display: grid;
  grid-template-columns: 60%;
  grid-template-rows: auto;
  place-content: center;
  word-break: break-all;
}

.box-H {
  display: grid;
  place-items: center;
  font-size: 18px;
  margin: 20px 10px 0 10px;
  padding: 20px 0 0;


}



.info {
  display: grid;
  grid-template-columns: 90%;
  grid-template-rows: auto;
  place-content: center;
  margin: 20px 50px 0 50px;
  padding: 80px 0 0 0;
}

.info-box {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, auto));
  grid-template-rows: 50px;
  font-size: 22px;
  justify-content: center;
  justify-items: center;
  row-gap: 20px;
  column-gap: 30px;


}

.info-text1 {
  width: 240px;
  display: grid;
  place-items: end;
  box-shadow: 5px 5px 0 0 #828282;
  border-radius: 3px;
  padding: 0 20px 10px 0;
}

.info-text3 {
  width: 280px;
  display: grid;
  place-items: end;
  box-shadow: 5px 5px 0 0 #828282;
  border-radius: 3px;
  padding: 0 20px 10px 0;
}

.info-text4 {
  width: 100px;
  display: grid;
  place-items: end;
  box-shadow: 5px 5px 0 0 #828282;
  border-radius: 3px;
  padding: 0 20px 10px 0;
}

.info-text2 {
  width: 120px;
  display: grid;
  place-items: end;
  box-shadow: 5px 5px 0 0 #828282;
  border-radius: 3px;
  padding: 0 20px 10px 0;
}

.H2-1 {
  display: grid;
  place-items: center;
  margin: 20px 0 0 0;
  padding: 100px 0 0 0;
}

.H2-2 {
  display: grid;
  place-items: center;
  padding: 0 0 5px;
}

.line1 {
  display: grid;
  place-self: center;
  width: 350px;
  border-radius: 5px;
  border: solid 3px #979393;
}

.line2 {
  display: grid;
  place-self: center;
  width: 100%;
  border-radius: 3px;
  border: solid 1x #979393;
  margin: 50px 0;

}

.line3 {
  display: grid;
  place-self: center;
  width: 80%;
  border-radius: 3px;
  border: solid 1px #000000;


}

/* お知らせ毎月更新～*/
.oshirase-top {
  display: grid;
  grid-template-columns: 70%;
  grid-template-rows: 200px;
  place-content: center;
  position: relative;
  top: 0;
  background-color: rgba(255, 255, 255, 0.478);
  /* スクロール時に隠れないように背景色を設定 */
  z-index: 1;
  /* データより上に表示 */

}

.oshirase-scrol {
  height: 600px;
  overflow: auto;
}


.month {
  place-self: start;
  font-size: 20px;
  height: 30px;
  padding: 0 0 0 30px;

}

/*3月------------------------------------*/
.Mar {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-auto-rows: auto;

}

.month3-tex {
  display: grid;
  place-items: start;
  font-size: 18px;
  word-break: break-all;
  padding: 0 20px;
}

.month3-im1 {
  display: grid;
  justify-items: center;
  align-items: center;
  justify-items: center;
  padding: 10px 20px;
}

.month3-tex2 {
  display: grid;
  place-items: start;
  font-size: 18px;
  word-break: break-all;
  padding: 0 20px;
}

.month3-im2 {
  display: grid;
  justify-self: center;
  padding: 10 px20px;

}

/*2月------------------------------------*/

.Feb {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-auto-rows: auto;

}

.month1-im1 {
  display: grid;
  justify-items: center;
  padding: 0 10px;
}

.month1-tex {
  display: grid;
  place-items: start;
  font-size: 18px;
  word-break: break-all;
  padding: 0 20px;
}

.month1-tex2 {
  display: grid;
  place-items: start;
  font-size: 18px;
  word-break: break-all;
  padding: 0 20px;
}

/*1月------------------------------------*/
.Jan {
  display: grid;
  grid-template-columns: 400px;
  grid-auto-rows: auto;
  place-content: center;

}

.month1-tex {
  display: grid;
  place-items: start;
  font-size: 20px;
}

.month1-im1 {
  display: grid;
  justify-items: center;
  padding: 0 30px 0 30px;
}

.hr01 {
  display: grid;
  place-self: center;
  width: 100%;
  border-radius: 3px;
  border: solid 1x #979393;
  margin: 50px 0;

}






/*------------------------------------*/





.content2 {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  place-content: center;
  margin: 50px 50px 0 50px;
  padding: 50px 0;

}

.box-Agata {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  grid-template-rows: auto;
  place-items: center;
  row-gap: 30px;
}

.Agata-top {
  width: 300px;
  height: auto;
  display: grid;
  place-items: center;
  color: #fff;
  background-color: rgb(4, 2, 38);
  padding: 30px;
  margin: 0 30px;
}

.Agata1-text {
  width: 300px;
  padding: 0 20px;
}

.Agata1-img {
  display: grid;
  justify-items: center;
  padding: 0 30px;
}

.Agata1-img2 {
  display: grid;
  justify-items: center;
  padding: 0 30px;
}

.box2-Agata {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  grid-template-rows: auto;
  place-items: center;
  margin: 50px 0;

}

.Agata2-text {
  width: 300px;
  padding: 0 30px;
}

.Agata2-img {
  display: grid;
  justify-items: center;
  padding: 0 30px;
}

.box3 {
  display: grid;
  justify-items: center;

}

.box-h3 {
  margin: 20px 0 0 0;
  padding: 30px 0 0 0;
}

.box3-Agata {
  display: grid;
  place-self: center;
  word-break: break-all;
  padding: 20px 0 20px 0;
}

.box4-Agata {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  grid-template-rows: auto;
  place-items: center;
  row-gap: 30px;
  margin: 30px 0 0 0;
}

.box3 {
  display: grid;
  place-content: center;
}


.Agata4-text {
  padding: 0 30px;
}

.Agata4-img {
  display: grid;
  place-items: center;
  padding: 0 30px;

}







.address {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  grid-template-rows: auto;
  justify-content: center;
  place-items: center;
  margin: 50px 10px 0 10px;
}

.address1 {
  place-items: center;
  color: #ffffff;
  background-color: #000000;
  padding: 30px 10px 30px 10px;
  padding: 20px 70px;
}

.address2 {
  padding: 50px 0 0 0;

}

.mail-im {
  display: grid;
  position: relative;
  justify-items: ;
  padding: 50px 0 0 0;
}

.mail-tex {
  display: grid;
  position: absolute;
  font-size: 18px;

  padding: 50px 0 0px 120px
}

.map {
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  margin: 30px 0 0 0;
  padding: 15px;

}







.content3 {
  display: grid;
  width: 100%;
  height: auto;
  background-color: #48790b;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  grid-template-rows: auto;
}

.foot-im {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: 90px;
  justify-content: start;
  grid-template-areas: "a" "b";
  padding: 50px 0 0 30px;
}


.foot-im1 {
  display: grid;
  width: 100px;
  height: 100px;
  grid-area: a;

}

.foot-im2 {
  width: 300px;
  height: 100px;
  place-items: start;
  grid-area: b;
}


.foot-menw {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  place-items: start;
  font-size: 20px;
  font-style: bold;
  color: #fff;
  padding: 50px 0 100px 30px;
}