@charset "utf-8";
/* CSS Document */

#sub {
    position: relative;
    top: 0;
    left: 0;
    z-index: -0;
    background: url("../images/kv1.jpg") no-repeat center top /cover;
    height: 400px;
}

#sub::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.5);
	z-index: 1;
}

#sub h2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 4.0rem;
    z-index: 10;
}

#gallery .titleset5-parts {
	color: #FFF;
}

/* =========================
   ギャラリー（写真のみ）
========================= */
.wave1-section-parts {
	margin: 100px 0;
}
.gallery {
  padding: 48px 0;
  background: #a3c8f6;
}

.gallery__inner {
  width: min(1100px, 92%);
  margin: 0 auto;
}

/* 見出し下の説明文 */
.gallery__lead {
  text-align: center;
  font-size: 14px;
  line-height: 1.8;
  opacity: 0.8;
  margin: 0 0 24px;
}

/* グリッドレイアウト */
.gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

/* タブレット */
@media (min-width: 640px) {
  .gallery__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
}

/* PC */
@media (min-width: 980px) {
  .gallery__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
}

/* 1枚ずつのカード */
.gallery__item {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #f3f3f3;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}

/* リンク */
.gallery__item a {
  display: block;
}

/* 画像 */
.gallery__item img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.3s ease, filter 0.3s ease;
}

/* ホバー時（上品に） */
.gallery__item a:hover img {
  transform: scale(1.03);
  filter: saturate(1.05);
}

/* 注意文 */
.gallery__note {
  margin-top: 16px;
  text-align: center;
  font-size: 13px;
  opacity: 0.7;
}
.lightbox{ width:min(1100px,94vw); border:none; padding:0; border-radius:16px; overflow:hidden; background:#000; }
.lightbox::backdrop{ background:rgba(0,0,0,.6); }
.lightbox__img{ display:block; max-width:100%; max-height:85vh; margin:0 auto; object-fit:contain; background:#000; }
.lightbox__close{ position:absolute; top:10px; right:10px; width:40px; height:40px; border:none; border-radius:999px;
  background:rgba(255,255,255,.18); color:#fff; font-size:22px; cursor:pointer; }

/*波のアニメーション
---------------------------------------------------------------------------*/
/*波を囲む全体のブロック*/
.wave1-section-parts {
	position: relative;
	padding: calc(80px - 1px) 0px;
}

/*波の色（２つとも揃えておけばOK）*/
.wave1-section-parts .text-parts {
	background: #a3c8f6;
}
.wave1-section-parts .wave-wrap-parts use {
	fill: #a3c8f6;
}

/*上下の波（共通）*/
.wave1-section-parts .wave-parts {
	position: absolute;
	left: 0;
	width: 100%;
	height: 80px;	/*波の高さ。ここを変更する場合は上の.wave1-section-partsのpaddingの行にある80の数字も合わせて変更して下さい。*/
}
.wave1-section-parts .wave-parts svg {
	display: block;
	width: 100%;
	height: 100%;
}
.wave1-section-parts .wave-parts .wave-wrap-parts {
	transform-box: fill-box;
	transform-origin: 0 0;
	animation: move-wave 10s linear infinite;	/*ここの10の数字で速度調整できます*/
}

@keyframes move-wave {
0% { transform: translateX(0); }
100%   { transform: translateX(-50%); }
}

/*上の波*/
.wave1-section-parts .wave-top-parts {
	top: 0;
}
/*下の波*/
.wave1-section-parts .wave-bottom-parts {
	bottom: 0;
	transform: rotate(180deg);
}
@media (max-width: 600px) {
	.wave1-section-parts {
	margin: 30px 0;
}
	#sub {
	height: 250px;
}
	
	
	
	
}
