@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

#page-top {
    position: fixed;
    bottom: 5%;
    right: 3%;
    width: 7%;
    height: 7vw;
    border: 1px solid silver;
    border-radius: 50%;
    background-color: #fff;
    z-index: 10000;
}

#page-top a {
    display: block;
    line-height: 6;
}
#page-top a img {
 width: 100%;
}
#page-top a:hover {
    width: 100%;
    height: 7vw;
    border-radius: 50%;
    color: #111;
    background-color: sandybrown;
}


h1 {
    width: 15%;
}

h1 img {
    display: block;
    width: 100%;
    height: 10vw;
}
.top{
    display: flex;
}
.NavMenu {
  display: none;
}
.Toggle {
  display: none;
}


.global_menu { /* メニュー全体のスタイル */
    width: 100%;
    position: relative;
    color: #333; /* 文字色 */
    text-align: center;
    z-index: 100000;
    margin-top: 1%;
    
}
 
.global_menu li {
  display: inline-block;
  width: 15%;
}
 
.global_menu a { /* 各項目のスタイル */
  display: block;
  font-size: 1.5vw;
  font-family: "Noto Sans JP", sans-serif;
  background-color:rgba(173, 255, 47, 0.5);
  border-radius: 5px;
 
}

.menu img {
    width: 35%;
}
.menu .navItem {
  transition: all .3s
}
.menu a {
    color: #404040;
    line-height: 2.5;
    text-decoration: none;
}
 
.menu:hover a {
  background: #fff;
}
.child_menu h3 {
  font-size: 1.5vw;
  text-align: left;
  border-bottom: 2px solid greenyellow;
} 
.child_menu li {
    width: 30%;
    padding: 1%;
   
}
 
.child_menu li a { /* 子項目のスタイル */
  font-size: 1.3vw;
  text-align: left;
  color: #333;
  background-color: #fff;
}
.child_menu li a:hover { /* 子項目のスタイル（ホバー時） */
  background: greenyellow;
  border-radius: 5px;
}
 
.child_menu { /* 下層メニューのスタイル */
  width: 92%;
  position: absolute;
  top: 90%; /* 親項目の直下に配置 */
  left: 4%;
  box-shadow: 10px 10px 2px 1px rgba(192, 192, 192, 0.5);
  color: #333; /* 文字色 */
  background: #fff; /* 背景色 */
  visibility: hidden; /* 下層メニューを非表示 */
  transition: all .2s
}
 
.menu:hover .child_menu { /* 下層メニューのスタイル（親項目ホバー時） */
  visibility: visible; /* 下層メニューを表示 */
}
 
.child_menu a:hover {
  color: #fff;
}

/*セクション部分*/
section h2 {
  width: 60%;
  padding: 1%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3%;
  font-size: 2.5vw;
  text-align: center;
  border: 2px solid greenyellow;
  border-radius: 5px;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif;
}
section h2::before {
  content: "";
  background-image: url(../images/h1_bg.png);
  background-repeat: no-repeat;
  display: inline-block;
  width: 5%;/*画像の幅*/
  height: 2vw;/*画像の高さ*/
  background-size: contain;
  vertical-align: middle;

}
section h2::after {
  content: "";
  background-image: url(../images/h1_bg.png);
  background-repeat: no-repeat;
  display: inline-block;
  width: 5%;/*画像の幅*/
  height: 2vw;/*画像の高さ*/
  background-size: contain;
  vertical-align: middle;
}
.all-1 {
  display: flex;
}
.contect {
  width: 25%;
  margin-top: 5%;
  margin-left: 19%;
}
.contect h3 {
  width: 70%;
  padding: 1%;
  font-size: 1.5vw;
  text-align: left;
  color: #404040;
  background-color:rgba(192, 192, 192, 0.5);
  border-left: 8px solid greenyellow;
}
.contect ul {
  width: 100%;
  margin-top: 3%;
  list-style-type: none;
}
.contect ul li {
  position: relative;
  margin-top: 3%;
  margin-left: 8%;
  font-size: 1.1vw;
  font-family: "Noto Sans JP", sans-serif;
}
.contect ul li a {
  color: #1877f2;
}
.contect ul li::before {
  content: "";
  position: absolute;
  top: .45em;
  left: -10%;
  margin-right: 2%;
  background-image: url(../images/memo.png);
  background-repeat: no-repeat;
  display: inline-block;
  width: 7%;/*画像の幅*/
  height: 2vw;/*画像の高さ*/
  background-size: contain;
  vertical-align: middle;
}

/**/
.topic1 {
  width: 100%;
  padding: 20%;
  height: 25vw;
  margin-left: auto;
  margin-top: 40%;
  border: 2px solid greenyellow;
  border-radius: 5px;
}
.topic-h3 {
  margin-top: 3%;
  margin-bottom: 2%;
  font-size: 1.2vw;
  font-weight: 700;
  color: #404040;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}
.topic-h3::before {
  content: "";
  padding-left: 3%;
  border-left: 7px solid greenyellow;
}
.topic1 ul {
  padding-bottom: 2%;
  list-style-type: none;
}
.topic1 ul li {
  position: relative;
  width: 100%;
  margin-top: 5%;
  text-align: left;
  font-size: 1.1vw;
  font-family: "Noto Sans JP", sans-serif;
}
.topic1 ul li a {
  font-size: 1vw;
}
.topic1 ul li a:before {
  content: "";
  position: absolute;
  top: .45em;
  left: -10%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 5.5%;
  height: 0.5vw;
  border-top: 1px solid green;
  border-right: 1px solid green;
}


.set1 {
  width: 30%;
  margin-top: 5%;
  margin-left: 5%;
}
.set1 h3 {
  width: 60%;
  padding: 1%;
  font-size: 1.5vw;
  text-align: left;
  color: #404040;
  background-color:rgba(192, 192, 192, 0.5);
  border-left: 8px solid greenyellow;
}
.set1 ul {
  width: 70%;
  margin-top: 3%;
  list-style-type: none;
}
.set1 ul li {
  width: 100%;
  position: relative;
  margin-top: 3%;
  margin-left: 8%;
  font-size: 1.1vw;
  font-family: "Noto Sans JP", sans-serif;
}
.set1 ul li a {
  color: #1877f2;
}
.set1 ul li::before {
  content: "";
  position: absolute;
  top: .45em;
  left: -10%;
  margin-right: 2%;
  background-image: url(../images/memo2.png);
  background-repeat: no-repeat;
  display: inline-block;
  width: 7%;/*画像の幅*/
  height: 2vw;/*画像の高さ*/
  background-size: contain;
  vertical-align: middle;
}
.marginbox {
  height: 30vw;
  background-image: url(../images/bcimg.png);
  background-repeat: repeat-x;
  background-size: 40%;
  background-position: center bottom;
}
.set2 {
  width: 30%;
  margin-top: 5%;
  margin-left: 5%;
  margin-left: 19%;
}
.set2 h3 {
  width: 60%;
  padding: 1%;
  font-size: 1.5vw;
  text-align: left;
  color: #404040;
  background-color:rgba(192, 192, 192, 0.5);
  border-left: 8px solid greenyellow;
}
.set2 ul {
  width: 70%;
  margin-top: 3%;
  list-style-type: none;
}
.set2 ul li {
  width: 100%;
  position: relative;
  margin-top: 3%;
  margin-left: 8%;
  font-size: 1.1vw;
  font-family: "Noto Sans JP", sans-serif;
}
.set2 ul li a {
  color: #1877f2;
}
.set2 ul li::before {
  content: "";
  position: absolute;
  top: .45em;
  left: -10%;
  margin-right: 2%;
  background-image: url(../images/memo2.png);
  background-repeat: no-repeat;
  display: inline-block;
  width: 7%;/*画像の幅*/
  height: 2vw;/*画像の高さ*/
  background-size: contain;
  vertical-align: middle;
}




/*footer*/
.flex9 {
    display: flex;
    width: 80%;
    margin-left: auto;
  }
  footer {
    width: 100%;
    padding-top: 2%;
    background-color: rgb(198, 246, 143);
  }
  .address1 {
    width: 100%;
    justify-content: center;
  }
  footer img {
     display: block;
     width: 50%;
  }
  address {
    font-size: 1vw;
    font-family: "Noto Sans JP", sans-serif;
  }
  
  .font-awsome {
    width: 100%;
    display: flex;
    justify-content: center;
  }
    
  footer a .fa-brands {
     margin-top: 30%;
     font-size: 3vw;
     letter-spacing: 0.5em;
     text-align: center;
     
  }
  footer a .fa-instagram {
     background: rgb(255,214,0);
     background: linear-gradient(24deg, rgba(255,214,0,1) 10%, rgba(255,0,105,1) 25%, rgba(255,0,105,1) 20%, rgba(211,0,197,1) 35%, rgba(118,56,250,1) 75%);
     background-clip: text;
     -webkit-text-fill-color: transparent;
  }
  footer a .fa-youtube {
    background: red;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  footer a .fa-line {
    background: #00B900;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  footer a .fa-square-x-twitter {
    background: #000;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  footer a .fa-square-facebook {
    background: #1877f2;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  footer ul {
     width: 80%;
     padding-bottom: 2%;
     list-style-type: none;
  }
  footer ul li {
    position: relative;
     width: 100%;
     font-size: 1.2vw;
     text-align: left;
     font-family: "Noto Sans JP", sans-serif;
  }
  footer ul li a {
    margin-left: 3%;
  
  }
  footer ul li a:before {
    content: "";
    position: absolute;
    top: .45em;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 1.5%;
    height: 0.5vw;
    border-top: 2px solid green;
    border-right: 2px solid green;
  }
  
  .copyright {
     width: 100%;
     margin-top: 1%;
     margin-bottom: 1%;
     margin-left: auto;
     margin-right: auto;
  }
  footer p {
     font-size: 1vw;
     color: #404040;
     text-align: center;
  
  }