body {
  overflow-x: hidden;
}

.l-header.HeaderBgChange{
    height:auto}
    .m-main__head{
        margin-bottom:0
    }

    .fixed-block{
        /* position:fixed; */
        /* padding-bottom:78%; */
        width:100%;
        top:22vh;
        z-index:-1
    }

    .fixed-block .mv{
        /* border-radius:30px; */
        overflow:hidden;
        /* max-width:1200px; */
        margin-left:auto;
        margin-right:auto;
        margin-bottom:50px
    }
    
        .fixed-block .mv img{
            -o-object-fit:cover;
            object-fit:cover;
            height:100%;
            width:100%
        }
            
        .fixed-block .logo{
            max-width:140px;
            margin:0 50px
        }

        .fixed-block .logo img{
            width:100%
        }
        .l-main{position:relative;background-size:cover;background-repeat:no-repeat;padding-top:inherit;z-index:0}.l-main .m-wrapper{position:relative;z-index:2}.concept{padding-top:100vh}.concept--inner,.concept--inner2{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:4%}.concept--inner:not(:first-of-type){margin-top:50px}.concept--inner2{margin-top:50px}.concept--inner3{margin-top:50px;border-radius:30px;overflow:hidden}.concept__box,.concept__box2{border-radius:30px;background-color:#f0f0f0;width:50%;padding:80px 60px}.concept__box2{width:61%}.concept__box--image{width:50%;overflow:hidden;border-radius:30px}.concept__box--image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.concept__box--title{font-size:40px;font-size:2.5rem;line-height:1.25;font-weight:700;padding-bottom:15px}.concept__box--lead{font-size:20px;font-size:1.25rem}.concept__box--text{padding-top:15px;font-size:14px;font-size:.875rem;line-height:1.5714285714}.concept__box--list{margin-top:15px}.concept__box--list li{font-size:14px;font-size:.875rem;text-indent:-1em;padding-left:1em}.l-footer{background-color:#fff;position:relative}@media screen and (max-width:768px){.fixed-block .logo{max-width:100px}.concept--inner,.concept--inner2{gap:30px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.concept__box,.concept__box2{width:100%;padding:35px}.concept__box--image{width:100%}.concept__box--title{font-size:23px;font-size:1.4375rem}.concept__box--lead{font-size:15px;font-size:.9375rem}.concept__box--text{font-size:13px;font-size:.8125rem}.concept__box--list li{font-size:13px;font-size:.8125rem}}

.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:100px}.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}}

.logo{
    position: absolute;
    top: 120px;
    left: 10%;
    width: 10%;
}

.about{
  max-width: 1200px;
  margin: 50px auto;
}
    
.about--title {
  font-size: 30pt;
  font-family: 'Oswald', sans-serif;
  line-height: 1;
  margin-top: 16px;
  letter-spacing: 0;
  /* margin-left: 200px; */
}

.about--title.pad {
  padding-left: 7%;
}

.a-title{
  font-size: 40pt;
  font-family: 'Oswald', sans-serif;
  margin: 0 auto 20px;
  line-height: 1.5em;
  letter-spacing: 0;
  width: 70%;
}

.a-title-sub{
  font-size: 22pt;
  font-weight: bold;
  width: 100%;
  margin: 0 auto;
}

.a-wrappes{
  /* display: flex; */
  /* justify-content: center; */
  /* gap: 13% */
  width: 100%;
  margin: 0 auto;
}

.about--text{
  font-size: 15pt;
  margin-top: 25px;
  width: 70%;
  margin: 0 auto;
}

.about--text br{
  display: inline;
}

.about--container{
  width: 80%;
  margin: 0 auto;
}

.digest_buttons{
  display: flex;
  justify-content: center;
  gap: 4%;
  margin: 65px auto;
}

.movie_button{
  width: 45%;
  height: 80px;
  color: #fff;
  background-color: #000;
  border-radius: 55px;
  font-size: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* スライダー全体（画面いっぱい） */
.slider {
  width: 100%;
  height: auto; /* お好みで調整可 */
  overflow: hidden;
  position: relative;
  margin: 100px 0;
}

.slider-track {
  display: flex;
  will-change: transform;
}

.slider-track img {
  width: 400px;
  object-fit: contain;
  flex-shrink: 0;
  margin-right: 80px;
}

.speskers,.facilitator,.time-table{
  margin: 350px auto 0;
  max-width: 1400px;
  position: relative;
}

.outline-section{
  margin: 100px auto 0;
  max-width: 1400px;
  position: relative;
  height: 1200px;
}

.about--title.function{
  position: absolute;
  top: -3%;
  left: 9%;
  margin: 0;
}

.about--title.table{
  position: absolute;
  top: -8%;
  left: 9%;
  margin: 0;
}

.about--title.out{
  position: absolute;
  top: 4%;
  left: 9%;
  margin: 0;
  z-index: 2;
}

.image-stack-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.image-stack-absolute {
  position: relative;
  width: 1200px;  /* 2列分の幅 */
  height: 2800px; /* 全体高さ（必要に応じて） */
  transform-origin: top left;
  margin: 0 auto;
}

.image-stack-absolute-02 {
  position: relative;
  width: 1200px;  /* 2列分の幅 */
  height: 1000px; /* 全体高さ（必要に応じて） */
  margin: 0 auto;
}

.image-stack-absolute img,.image-stack-absolute-02 img {
  position: absolute;
  object-fit: cover;
}

/* 各画像の配置を細かく調整 */
/* SPEAKERS */
.img-01 { top: 0px; left: 0px;  z-index: 7;}
.img-02 { top: -15px; left: 560px;  z-index: 1;}
.img-03 { top: 445px; left: 70px; z-index: 2;}
.img-04 { top: 430px; left: 525px; z-index: 10;}
.img-05 { top: 900px; left: 60px; z-index: 8;}
.img-06 { top: 850px; left: 635px; z-index: 12;}
.img-07 { top: 1400px; left: 80px; z-index: 6;}
.img-08 { top: 1370px; left: 500px; z-index: 11;}
.img-09 { top: 1930px; left: 50px; z-index: 5;}
.img-10 { top: 1800px; left: 600px; z-index: 9;}
.img-11 { top: 2370px; left: 0px; z-index: 4;}
.img-12 { top: 2350px; left: 520px; z-index: 3;}
/* FACILITATOR */
.img-13 { top: 80px; left: 45px; z-index: 3;}
.img-14 { top: 0px; left: 500px; z-index: 1;}
.img-15 { top: 470px; left: 350px; z-index: 2;}

/* 初期状態（非表示＋下方向へオフセット） */
.slide-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 表示状態（スクロールでクラス追加） */
.slide-up.active {
  opacity: 1;
  transform: translateY(0);
}

.modal-image {
  cursor: pointer;               /* ホバー時にポインター表示 */
}

.modal-image:hover {
   opacity: 0.7;
}

.title-img{
  display: block;
  width: 1000px;
  margin: 0 auto;
}

.timetable_times{
  margin-top: 50px;
  margin-left: 140px;
  font-weight: bold;
}

.time-table td{
height: 40px;
vertical-align: middle;
}


.time-cell {
  width: 80px;
  white-space: nowrap;
  color: #1b1b1b;
  font-size: 18pt;
  padding-right: 10px;
}

.line-cell {
  width: 8%;
  vertical-align: middle;
}

.time-line {
  height: 1px;
  background-color: #1b1b1b;
  width: 100%;
}

.content-cell {
  padding-left: 10px;
  font-size: 15pt;
}

.session01{
 position: absolute;
 width: 100%;
 top: 425px;
 left: 315px;
 display: flex;
}

.session02{
 position: absolute;
 width: 100%;
 top: 480px;
 display: flex;
}
.session03{
 position: absolute;
 width: 100%;
 top: 875px;
 display: flex;
}
.supporters{
  margin: 0 20px;
  text-align: center;
}

.image-description{
  text-align: center;
  font-size: 8pt;
  font-weight: lighter;
  line-height: 1.5;
  margin-top: 10px;
}

.supporter-company{
  font-size: 8pt;
  font-weight: lighter;
  letter-spacing: 0;
}

.supporter-company-l{
  font-size: 6pt;
}

.supporter-name{
  font-size: 12pt;
  line-height: 1.5;
  font-weight: normal;
}

.joining {
  display: flex;
  justify-content: center;    /* 中央揃え */
  align-items: center;        /* 垂直方向の中央揃え（必要なら） */
  gap: 180px;                  /* 画像間のスペースを調整 */
  flex-wrap: wrap;            /* 幅が狭い画面で折り返し可能にする */
  margin: 100px 0 300px;             /* 上下の余白 */
}

.subvisual {
  width: 100vw;       /* ビューポートの横幅いっぱい */
  overflow: hidden;   /* 万一余計なスクロールが出ないように */
  margin: 0;          /* セクション間の余白をなくす */
}

.subvisual img {
  width: 100%;
  height: auto;
  display: block;     /* 画像下の余白防止（inlineの隙間） */
}



/* モーダル */
.modal {
  display: none; /* 初期は非表示 */
  position: fixed;
  z-index: 1000;
  padding-top: 60px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(255, 255, 255, 0.8); /* 背景の暗さ */
}

.modal-content {
  display: block;
  margin: 70px auto 0;
  max-width: 80%;
  max-height: 80%;
  animation: fadeIn 0.5s;
}

.modal-close {
  position: absolute;
  top: 30px;
  right: 40px;
  color: #000;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  z-index: 1000;
}

/* フェードインアニメーション */
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}



/* レスポンシブ */
@media screen and (max-width: 768px) {

.fixed-block .mv {
  width: 100%;
  margin-bottom: 30px;

}

.fixed-block .logo {
    width: 85px;
    margin: 0 0 0 25px;
}

.l-main{
  padding: 0;
}

.logo{
  top: 0;
  left: 13%;
  width: 15%;

}
.a-wrappes {
  margin: 10px;
  gap: 10%;
}


.about--title {
  font-size: 15pt;
  margin-left: 25px;
  margin-right: 0
  ;
}

.about--title.pad {
  padding-left: 0;
}

.a-title {
  font-size: 25pt;
  width: 72%;
  margin-left: 27%;
  margin-right: 0;
}

.a-title-sub {
  font-size: 13pt;
  font-weight: bold;
}
.about{
  max-width: 600px;
}
.about--text {
  font-size: 10pt;
  width: 100%;
  text-align: justify;
}

.about--text br{
  display: none;
}

.outline-title{
  margin: 30px 10px 0;
}


.about--title.function {
  top: -7%;
  left: 25px;
}

.about--title.table {
  top: -6%;
  left: 25px;
}

.about--title.out {
  top: 2%;
  left: 40px;
}

.digest_buttons{
  gap: 10%;
}

.movie_button{
  height: 45px;
  font-size: 1em;
}

.speskers,.facilitator,.time-table{
  margin: 200px 10px 0;
  max-width: 700px;
  position: relative;
}

.image-stack-absolute {
    transform: scale(0.3);
    transform-origin: top left;
    height: 900px;
    margin: 10px;
  }

.image-stack-absolute-02 {
    transform: scale(0.3);
    transform-origin: top left;
    height: 290px;
  }

.title-img{
  width: 90%;
}

.timetable_times {
  margin: 20px 15px;
}

.time-table td {
  height: 0;
}

.content-cell {
  font-size: 10pt;
}

.session01 {
  top: 240px;
  left: 80px;
  width: 80%; 
}

.session02 {
  top: 290px; 
}

.session03 {
  top: 520px; 
}

.supporters {
  margin: 0 0 0 10px;
}

.supporter-name {
  font-size: 6pt;
}
.supporter-name-l {
  font-size: 6pt;
  line-height: 0.9;
}
.time-cell {
  width: 50px;
  font-size: 10pt;
}
.line-cell {
  width: 5%;
}
.image-description{
  font-size: 4pt;
}

.supporter-company {
    font-size: 4pt;
}
.supporter-company-l {
    font-size: 4pt;
    letter-spacing: 0;
}

.outline-section {
  margin: 0 auto;
  height: 470px;
}

.joining {
  gap: 65px;
  flex-wrap: nowrap;
  margin: 25px auto;
  width: 85%;
}

}