.l-header {
      color: #fff;
      background-color: initial;
      width: 100%;
      z-index: 1000;
    }

    #l-header {
      position: fixed;
      top: 0;
      left: 0;
      transform: translateY(-100%);
      transition: transform 0.3s ease-in-out;
    }

    #l-header.visible {
      transform: translateY(0);
    }

    .l-header__wrapper {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px 30px;
      height: 66px;
    }

 /* モバイル用レスポンシブ */
    @media screen and (max-width: 768px) {
      body {
        font-size: 14px;
        font-size: 0.875rem;
      }

      #l-header {
        position: relative !important;
        transform: none !important;
        transition: none !important;
      }

      #l-header.visible {
        transform: none !important;
      }

      .l-header {
        color: #000;
        height: 66px;
      }

      .l-header .l-header__wrapper {
        justify-content: space-between;
        padding: 10px 30px;
        height: 66px;
      }

      .l-header .l-header__nav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        z-index: 10;
      }

      .l-header .SpButton__wrap {
        display: block;
      }
    .l-header .SpButton__wrap .SpButton span{
      background-color: #000;
    }
    .l-header .SpButton__wrap .SpButton.is-active span {
      background-color: #000;
    }
  }
    main {
      padding-top: 80px;
    }

.l-main{padding-top:0}.mainvisual{text-align:center;overflow:hidden}.mainvisual img{width:100%}.project{padding-top:80px}.project-contents{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:10px}.message{padding-top:100px;padding-bottom:30px}.message .message--container{border-radius:30px;background-image:url(../../img/top/message-bg.jpg);background-repeat:no-repeat;background-size:cover;display:-webkit-box;display:-ms-flexbox;display:flex;gap:15px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:50px}.message .message--inner{width:50%}.message .message--image{width:45%}.message .message--title{font-size:20px;font-size:1.25rem;line-height:1.75;font-weight:700;margin-bottom:20px}.message .message--text{font-size:14px;font-size:.875rem}.news{padding-top:80px}.event{overflow:hidden;padding-top:80px;padding-bottom:20px;position:relative}.event .event-slide{position:relative}.event .event--btnWrap{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:40px;gap:38px}.event .swiper__btnInner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:20px}.event .event--more .link{width:211px;height:38px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:14px;font-size:.875rem;font-weight:700;border-radius:30px;background-color:#000;color:#fff;text-decoration:none}.event-card{max-width:360px;height:590px;width:100%}.card{max-width:557px}.card .card-link{position:relative;display:inline-block}.red-jp{padding-top:80px}.red-jp .red-jp--card{overflow:hidden;border-radius:30px;max-width:1200px;width:100%;height:650px}.red-jp .red-jp--card img{width:100%}.bnr_fix{position:fixed;z-index:999;bottom:50px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (max-width:768px){.l-header{color:#000}.l-header .SpButton__wrap .SpButton span{background-color:#000}.project{padding-top:35px}.project-contents{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:60px}.message{padding-top:50px}.message .message--container{border-radius:15px}.message .message--container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:25px}.message .message--inner{width:100%}.message .message--image{width:100%}.message .message--title{font-size:16px;font-size:1rem;margin-bottom:10px}.message .message--text{font-size:13px;font-size:.8125rem}.event .event--btnWrap{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.event .m-swiper__btnInner{display:contents}.event .m-swiper__btn-next,.event .m-swiper__btn-prev{position:absolute;top:50%;z-index:2}.event .m-swiper__btn-prev{left:calc(50% - 200px)}.event .m-swiper__btn-next{right:calc(50% - 200px)}.event-card{margin-inline:auto;aspect-ratio:9/16;height:inherit}.red-jp .red-jp--card{border-radius:15px}.red-jp .red-jp--card{height:auto}.bnr_fix{width:100%}}@media screen and (max-width:425px){.event .m-swiper__btn-prev{left:3px}.event .m-swiper__btn-next{right:3px}}

.subvisual{
  position: relative;
    margin: 100px 0;
    text-align: center;
    overflow: hidden;
}

.contact_link{
  margin: 100px auto;
  text-align: center;
}

.contact_link img{
  max-width: 100%;
  height: auto;
  display: inline-block;
}

.copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px; /* 各リンクの間隔 */
  margin: 20px 0;
}

.mini{
  font-size: 11pt;
  letter-spacing: 0;
}

.button-wrapper {
  position: relative;
    text-align: center;  /* 親要素で中央寄せ */
    margin: 30px 0;       /* 上下余白はお好みで */
  }

.consultation-button {
    display: inline-block;
    background-color: #dcdcdc;  
    color: #000;               
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 10px;        
    font-weight: bold;
    font-size: 25px;
    text-align: center;
    width: 100%; 
    height: 70px;               
    max-width: 1200px;           
    box-sizing: border-box;
    margin: 50px auto 0;
    position: relative;
    line-height: 46px;
  }

  .consultation-button:hover {
    opacity: 0.8;
  }

  .floating-toggle-button {
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #fff;
    border: none;
    font-size: 24px;
    font-weight: 900;
    cursor: pointer;
    z-index: 1;
    line-height: normal;
}

.floating-toggle-button:focus, a {
    outline: none;
}

/* .icon-plus {
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  display: block;
  width: 18px;
  height: 18px;
}

.icon-plus::before,
.icon-plus::after {
  content: "";
  position: absolute;
  background-color: black;
  transition: all 0.2s ease;
}

.icon-plus::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 4px; 
  transform: translateY(-50%);
}

.icon-plus::after {
  left: 50%;
  top: 0;
  width: 4px; 
  height: 100%;
  transform: translateX(-50%);
} */

/* −記号用のクラス */
/* .icon-minus::after {
  display: none;
} */

.floating-toggle-button:hover {
   opacity: 0.8;
}

  .consultation{
    margin-bottom:50px;
    padding-left: 20px;
}

.consultation-title{
    font-size: 25px;
    font-weight: bold;
}

.consultation-text{
    margin-bottom: 10px;
}
  
.contact-address{
    width: 1200px;
    background-color: #d1eded;
    padding: 20px;
    border-radius: 25px;

}

.consultation-text a {
  color: inherit;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.consultation-text a:hover {
  color: #007bff;
}

.expo_link{
  width: 30%;
  height: 10%;
  position: absolute;
  top: 80%;
  left: 35%;
  border: #fff 2px solid;
  border-radius: 55px;
  color: #fff;
  font-size: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.expo_link:hover{
  color: rgba(0, 0, 0, 0.5);
  background-color: #fff;
}


 /* モバイル用レスポンシブ */
    @media screen and (max-width: 768px) {
      .consultation-button {
        width: 90%;
        font-size: 14px;
      }

      .floating-toggle-button {
        width: 28px;
        height: 28px;
      }

      /* .icon-plus {
        width: 13px;
        height: 13px;
      } */

      .consultation-title {
        font-size: 14px;
      }

      .consultation-text {
        font-size: 12px;
        margin: 10px auto;
      }

      .contact-address {
        width: 100%;
      }

      .expo_link{
        font-size: 0.5em;
      }
  }