html{
  scroll-behavior: smooth;
  scroll-padding-top: 85px;
}
body, ul ,ol,li,h1,h2,h3,h4,p,figure{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: none;
    font-style: normal;
    font-size: 16px;
    font-weight: normal;
    
    padding: 0;
    margin: 0;
    list-style-type: none;
    font-feature-settings: "palt";
}
p{
  text-align:justify;
}
a,a:visited{
    text-decoration: none;
    color: unset;
    transition: all 0.3s ease;
}
a:hover{
    color: unset;
    text-shadow: 
    0.5px 0 0 currentColor,
    -0.5px 0 0 currentColor;
}
a img{
  transition: transform 0.3s ease;
}
a:hover img{
  transform: scale(1.05);
}

.flex{
    display: flex;
}
/* ヘッダー */
header{
  position: fixed;
  background: #fff;
  z-index: 9999;
  width: 100%;
  top: 0;
}
.header_wrap{
    max-width: 1080px;
    padding: 20px 20px 16px 20px;
    margin: 0 auto;
    justify-content: space-between;
}
h1 img{
    height: 45px;
    width: auto;
}
.nav-list a::before,
footer ul a li::before{
    content: '▶';
    font-size: 0.7em;
    margin:0 5px 0 20px;
    color: #00A73C;
    vertical-align: 1px;
}
.nav-list{
    padding-top: 10px;
}

/* フッター */
footer{
  text-align: center;
  padding-top: 100px;
  margin-bottom: 100px;
}
.footer_wrap{
  background: #E9F7EE;
  padding: 80px 20px 60px 20px;
}
footer h2 img,footer h3 img{
  height: 60px;
  width: auto;
}
footer h2 a,footer h3 a{
  margin: 30px 0 60px 0;
  display: inline-block;
}
footer h3 img{
  height: 46px;
}
footer ul{
  width: fit-content;
  margin: 0 auto;
}
footer ul li{
  margin-right: 20px;
  color: #525252;
}
footer p{
  font-size: 12px;
  background: #fff;
  padding: 4px 0;
  color: #525252;
  text-align: center;
}


/* --- 共通・PC用スタイル --- */
.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 5%;
  background: #fff;
}
.nav-list {
  display: flex;
  gap: 20px;
  list-style: none;
}
.menu-trigger { display: none; } /* PCでは隠す */


/* --- スマホ用スタイル (1049px以下) --- */
@media (max-width: 1049px) {
header{
        height:79px;
        box-shadow: 1px 0 10px 1px #A4A4A4;
    }
.nav-list a::before{
    margin-left: 0 ;
}
.menu-trigger {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 4px;
  width: 80px;
  height: 76px;
  background: #00A73C; 
  color: #fff;
  cursor: pointer;
  z-index: 9999;
  position: fixed;
        top: 0;
        right: 0;
}
.hamburger-lines {
  position: relative; /* これがないと中身のspanが吹っ飛びます */
  width: 30px; 
  height: 20px; /* ここで「三本線の高さ」を確保 */
  margin-bottom: 5px; /* 文字（MENU）との距離 */
}

.hamburger-lines span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  transition: 0.3s;
}

.menu-text {
  font-weight: bold;
  margin-top: 6px;
}

.menu-trigger.active .menu-text::before {
  content:'CLOSE';
  position: absolute;
  background: #00A73C;
  width: 100%;
}
/* 線の基本スタイル */
.hamburger-lines span {
    position: absolute; left: 0; width: 100%; height: 2px;
    background: #fff; transition: 0.3s;
}

/* 線の定位置（1・2・3本目） */
.hamburger-lines span:nth-child(1) { top: 0; }
.hamburger-lines span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.hamburger-lines span:nth-child(3) { bottom: 0; }

/* 閉じる時（バツ印）のアニメーション */
/* ここにも .hamburger-lines を追加！ */
.menu-trigger.active .hamburger-lines span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.menu-trigger.active .hamburger-lines span:nth-child(2) { opacity: 0; }
.menu-trigger.active .hamburger-lines span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }


  .nav-list {
    position: fixed; top: 0; right: -100%; /* 最初は右に隠す */
    width: 60%;
    max-width: 280px;
    height: 100vh;
    background: #E9F7EE;
    flex-direction: column;
    padding: 100px 40px;
    transition: 0.5s;
    z-index: 90;
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
  }
  .nav-list.active { right: 0; } /* クラスがついたら横から出る */
}
@media (max-width: 910px) {
  footer {
    margin-bottom: 140px;
}
}
@media (max-width: 774px) {
.footer_wrap .flex{
        display: block;
    }
footer ul li{
      margin: 20px auto;
    }
}
footer ul a li::before{
  margin-left: 0;
}
@media (max-width: 720px) {
  footer {
    margin-bottom: 70px;
}
}
@media (max-width: 480px) {
html{
  scroll-padding-top: 60px;
}
header {
  height: 60px;
}
h1 img{
    height: 32px;
}
.header_wrap{
  padding-top: 14px;
}
.menu-trigger {
  padding-top: 4px;
  width: 60px;
  height: 56px;
}
.menu-text {
    font-size: 14px;
        margin-top: 0;
    }
}