@charset "UTF-8";
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}

.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}

/*　////////////////////////////////
ブレイクポイント
//////////////////////////////////　*/
/*　////////////////////////////////
ベースフォント
//////////////////////////////////　*/
/*　////////////////////////////////
カラー
//////////////////////////////////　*/
/*　////////////////////////////////
clearfix[@extend .clearfix];
//////////////////////////////////　*/
.clearfix {
  zoom: 1;
}
.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

/*　////////////////////////////////////////////////////////////////////////////////////////////////
flex include
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
初期値top:50%; left:50%;
[@include set-top();] [@include set-left();]
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*縦中央*/
/*横中央*/
/* -----上下左右中央、%指定で調整可能----- */
/*　////////////////////////////////
flex 設定
//////////////////////////////////　*/
/*　////////////////////////////////
三角形
//////////////////////////////////　*/
/*　////////////////////////////////
矢印
//////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
font-size
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////
汎用style
//////////////////////////////////　*/
/*　////////////////////////////////
メイン画像
//////////////////////////////////　*/
.webp .lh-img-area {
  background-image: url("/img/gallery/webp/lower_main_gallery.webp");
}

.no-webp .lh-img-area {
  background-image: url("/img/gallery/lower_main_gallery.jpg");
}

/*----- 共通 ------------------------------------*/
#gallery .accordion-title {
  margin-bottom: clamp(20px, 15.4545454545px + 1.2121212121vw, 30px);
}
#gallery section:not(:last-child):has(.close) {
  margin-bottom: clamp(20px, 15.4545454545px + 1.2121212121vw, 30px);
}

.pt-box {
  padding-top: 100px;
  margin-top: -100px;
}

/*----- .gallery-list ------------------------------------*/
.gallery-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(15px, 10.4545454545px + 1.2121212121vw, 25px) 2%;
}
.gallery-list .gallery-item {
  width: 49%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.gallery-list .gallery-item .gallery-lightbox {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #8b0000;
  position: relative;
}
.gallery-list .gallery-item .gallery-lightbox::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  z-index: 2;
}
.gallery-list .gallery-item .gallery-lightbox::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: clamp(40px, 35.4545454545px + 1.2121212121vw, 50px);
  height: clamp(40px, 35.4545454545px + 1.2121212121vw, 50px);
  opacity: 0;
  z-index: 3;
  background-image: url("/img/lightbox/expand.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.gallery-list .gallery-item .gallery-lightbox .caption {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  padding: 7px 5px;
  background: #8b0000;
  color: #fff;
  text-align: center;
  line-height: 1.3;
}
.gallery-list .gallery-item .gallery-lightbox:hover {
  opacity: 1;
}
.gallery-list .gallery-item .gallery-lightbox:hover::before {
  opacity: 1;
}
.gallery-list .gallery-item .gallery-lightbox:hover::after {
  opacity: 0.8;
}

@media (min-width: 768px) {
  .gallery-list .gallery-item {
    width: 32%;
  }
}
@media (min-width: 987px) {
  .gallery-list .gallery-item {
    width: 23.5%;
  }
}
/*----- .contribution ------------------------------------*/
.contribution-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 25px 3%;
}
.contribution-wrap .img-box, .contribution-wrap .txt-box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}
.contribution-wrap .img-box img {
  max-width: 250px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.contribution-wrap .first-txt {
  font-size: clamp(1.4rem, 13.6341463415px + 0.0975609756vw, 1.5rem);
  margin-bottom: clamp(20px, 17.7272727273px + 0.6060606061vw, 25px);
}
.contribution-wrap .contribution-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
  font-size: clamp(2.1rem, 19.1707317073px + 0.487804878vw, 2.6rem);
  line-height: 1.4;
  margin-bottom: 5px;
  text-indent: -0.4em;
}
.contribution-wrap .principal-name {
  font-size: clamp(1.6rem, 15.2682926829px + 0.1951219512vw, 1.8rem);
  font-weight: bold;
  margin-bottom: clamp(20px, 17.7272727273px + 0.6060606061vw, 25px);
}

@media (min-width: 768px) {
  .contribution-wrap .img-box {
    width: 20%;
  }
  .contribution-wrap .txt-box {
    width: 77%;
  }
}