@charset "UTF-8";

/* 全体のスタイル設定 */
body,
html {
  margin: 0;
  padding: 0;
  width: 100%;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
}

/*スクロールバー非表示（Chrome・Safari）*/
body::-webkit-scrollbar {
  display: none;
}

/* ナビゲーションバーのスタイル */
.navbar {
  position: fixed;
  /* 固定位置 */
  top: 0;
  /* 画面の最上部に配置 */
  z-index: 1000;
  /* 他の要素より前面に表示 */
  width: 100%;
  /* 幅を100%に設定 */
  padding: 5px;
  /* パディング */
  display: -webkit-flex;
  /* Safari 用 */
  display: flex;
  -webkit-justify-content: space-between;
  /* Safari 用 */
  justify-content: space-between;
  -webkit-align-items: center;
  /* Safari 用 */
  align-items: center;
  /* 中央揃え */
  width: 100%;
  /* ナビゲーションバーの幅を100%に設定 */
  background-color: #fff;
  /* 背景色 */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  /* 影を追加 */
}



/* ロゴのスタイル */
.logo {
  max-height: 50px;
  /* ロゴの高さ（必要に応じて変更） */
}

/* ナビゲーションリンクのスタイル */
.navbar-nav {
  list-style: none;
  display: flex;
  display: -webkit-flex;
  /* Safari 用 */
  align-items: center;
  margin: 0;
  padding-right: 40px;
}

.nav-item {
  margin-left: 20px;
  /* リンク間のマージン（必要に応じて変更） */
  word-wrap: break-word;
  max-width: 100%;
}

.nav-link {
  text-decoration: none;
  color: #333;
  /* リンクの色（必要に応じて変更） */
}

.nav-link:hover {
  color: #eaeaea;
  /* ホバー時のリンクの色（必要に応じて変更） */
}



/* モバイルビューでのスタイル */
@media (max-width: 768px) {
  .thumbSwiper .swiper-slide {

    /*追加した*/
    .navbar-nav {
      flex-direction: column;
      margin-left: 0;
    }

    .nav-item {
      margin-left: 0;
      margin-top: 10px;
    }
  }
}




/* Swiper container */
.swiper {
  width: 100%;
  height: 100%;
}

/* Swiper slide */
.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;

  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

/* Navigation buttons */
.swiper-button-next,
.swiper-button-prev {
  color: #fff;
}

/* Pagination */
.swiper-pagination-bullet {
  background: #fff;
}

/* Scrollbar */

/* Responsive adjustments */
@media (max-width: 768px) {
  .swiper-slide {
    font-size: 14px;
  }
}



/* サムネイルスライダーのスタイル */
.thumbSwiper {
  height: 100%;
  /* 高さを自動調整に */
  overflow: visible;
  /* オーバーフローを表示 */
}


.thumbSwiper .swiper-slide {
  margin: 0;
  /* 上下のマージンを0に設定 */
  padding: 0;
  /* 上下のパディングを0に設定 */
}

.thumbSwiper .swiper-slide-thumb-active {
  opacity: 1;
  /* 不透明度 */
}

.thumbSwiper .swiper-slide img {
  width: 100%;
  /* 幅を自動調整に */
  height: auto;
  /* 高さをスライドの高さに合わせる */
  object-fit: cover;
  /* 画像がコンテナを覆うように調整 */
  object-position: center center;
  /* 画像の中心を基点に配置 */
}

.mainSwiper {
  height: 75%;
  width: 75%;
  margin-top: 100px;
  /* ナビゲーションバーの高さに応じて調整 */
  /* その他のスタイル設定 */
}

.mainSwiper .swiper-slide img {
  max-width: 100%;
  /* 画像の最大幅をスライダーの幅に合わせる */
  height: auto;
  /* 高さを自動調整し、アスペクト比を維持 */
  object-fit: contain;
  /* 画像がコンテナに収まるように調整 */
  object-position: top center;
  /* 画像の上部を中心に配置 */
}

h2 {
  border-bottom: 2px solid #000;
  margin-top: 0px;
}





/* アクティブなサムネイルスライダーのスタイル */
.thumbSwiper .swiper-slide-active {
  border: none;
  /* 境界線を削除 */
}

.thumbSwiper {
  overflow: hidden;
  /* コンテナのオーバーフローを非表示に設定 */
}

.thumbSwiper .swiper-slide:hover {
  transform: scale(1.05);
  /* わずかに拡大 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  /* 影を追加 */
  /* border: 2px solid #0056b3; */
  /* 境界線を追加 */
}

/* youtube start */
.youtube-container {
  display: flex;
  /* Flexboxコンテナとして定義 */
  justify-content: space-around;
  /* 各アイテムを均等に配置 */
}

.youtube-video {
  flex: 1;
  /* 各動画が均等な幅を取るように設定 */
  padding: 5px;
  /* ビデオ間の余白を設定 */
}

.youtube-video iframe {
  width: 100%;
  /* iframeを親要素の幅に合わせる */
  height: 250px;
  /* 適切な高さを設定 */
}

/* youtube end */





.image-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 4つの列を均等に配置 */
  gap: 10px;
  /* 画像間の隙間 */
}

.image-item {
  width: 100%;
  /* Adjust width as necessary */
  /* height: 200px; 既存の高さ設定 */
  overflow: hidden;
  /* はみ出した部分は非表示に */
  display: flex;
  /* Flexbox を使用 */
  flex-direction: column;
  /* 子要素を縦方向に並べる */
  justify-content: flex-start;
  /* 子要素を上端に揃える */
  align-items: center;
  /* 横方向の中央揃え */
}

.image-item img {
  width: 100%;
  /* 必要に応じて調整 */
  height: 200px;
  /* 例として200pxの高さを設定 */
  object-fit: cover;
  /* 画像がコンテナを覆うように調整し、アスペクト比を保持 */
}

/* 以下のように修正すると、ふぇりしあ。の「みずき」と「ふゆみ」のみ変になる */
/* .image-item img {
  width: 100%;
  height: auto;
  object-fit: contain;
} */



.image-caption {
  text-align: center;
  margin-top: 5px;
  /* Adjust the space between the image and the caption */
  font-size: 1rem;
  /* Adjust the font size as needed */
  color: #333;
  /* Adjust the font color as needed */
  align-self: center;
  /* Align the caption to the center of the flex container */
  position: relative;
  /* Position the caption relative to the image-item */
  top: 100%;
  /* Push the caption below the image */
  transform: translateY(-100%);
  /* Adjust the position of the caption if necessary */
}

a {
  color: #18272F;
  position: relative;
  text-decoration: none;
}

a::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background-color: #18272F;
  bottom: 0;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}

a:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}









/* フッター用のスタイル */
.footer-navbar {
  background-color: #ffffff;
  /* box-shadowを削除 */
}

.footer-navbar .navbar-nav {
  list-style: none;
  display: flex;
  display: -webkit-flex;
  /* Safari 用 */
  margin-left: auto;
  align-items: center;
}

/*いらない？*/
.footer-navbar .nav-item {
  margin-left: 50px;
}

.footer-navbar .nav-link {
  text-decoration: none;
  color: #000;
  font-weight: bold;
}

.footer-navbar .nav-link:hover {
  color: #0056b3;
}

/* モバイルビューでのフッターのスタイル調整 */
@media (max-width: 768px) {
  .footer-navbar .navbar-nav {
    flex-direction: column;
    margin-left: 0;
  }

  .footer-navbar .nav-item {
    margin-left: 0;
    margin-top: 10px;
  }
}

.site-footer {
  text-align: center;
}

@media only screen and (max-width: 768px) {

  /* Styles for screens smaller than 768px */
  .header,
  .footer {
    padding: 10px;
  }

  .main-content {
    margin: 5px;
  }

  /* Other styles */
}

@media only screen and (max-width: 768px) {
  .nav-menu {
    display: none;
    /* Hide the regular menu */
  }

  .hamburger-menu {
    display: block;
    /* Show hamburger menu */
  }

  /* Other styles */
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 16px;
  }

  /* Adjust other font sizes */
}

/* Adjusting Swiper container for all devices */
.swiper-container {
  margin: 0 auto;
  padding: 0;
  height: auto;
  /* Adjust based on your content */
}