a.gallery-item__see-more-link:visited {
  color: #fff;
}


.gallery-single-padding {
  padding-bottom: 80px;
}

.gallery-page-title-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 52px; /* ← 左右の間隔をmarginでなくgapで */
  border-bottom: 1px solid #444141;
  flex-wrap: wrap;
}

/* ---------
   h1前アイコン
-------------------- */
.gallery-page-title-wrapper__right-title--with-icon {
  display: flex;
  align-items: flex-end; /* ← baselineではなくflex-endに */
  gap: 24px;
}

.gallery-page-title-wrapper__right-title--with-icon::before {
  content: "";
  display: block;
  width: 92px;
  height: 122.8px;
  background-image: url(media/image/gallery-title-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

/* ---------
   h1ギャラリーの文字
-------------------- */
.gallery-page-title-wrapper__right {
  max-width: calc(400px + 92px + 12px); /* ← before画像とその余白 */
  width: auto;
  flex-shrink: 0;
  margin-bottom: -10px;
}

.gallery-page-title-wrapper__right-title {
  width: auto; /* OK: __right に制限されてるので */
  display: flex;
  align-items: baseline;
  gap: 24px;
}

.gallery-page-title-wrapper__right-title img {
  height: auto;
  width: 100%; /* 横幅を親に合わせる */
  max-width: 400px; /* 最大幅制限 */
  object-fit: contain;
  vertical-align: baseline;
  margin-bottom: -20px;
}

.gallery-page-title-wrapper__left {
  display: flex;
  align-items: center;
  height: 64.8px;
  padding-left: 52px;
  padding-bottom: 10px;
}

/* 縦線用のボックスを追加して高さを固定 */
.gallery-page-title-wrapper__left-line {
  border-left: 10px solid #707070;
  height: 100%;
  margin-right: 24px;
}

p.gallery-page-title-wrapper__left-text.gallery-page-title-wrapper__left-text-light-blue {
  font-size: 20px;
  line-height: 1;
  color: #AFC6D8;
}

@media screen and (max-width: 1142px) {
  .gallery-single .explain-page-title-wrapper {
    flex-direction: column;
  }
  
  .gallery-page-title-wrapper__left {
    padding-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .gallery-page-title-wrapper {
    gap: 16px;
    flex-direction: column;
    align-items: flex-start;
  }

  .gallery-page-title-wrapper__right {
    max-width: calc(250px + 46px + 4px); /* ← before画像とその余白 */
    width: auto;
    flex-shrink: 0;
    margin-bottom: -10px;
  }

  .gallery-page-title-wrapper__right-title {
    gap: 8px;
  }

  .gallery-page-title-wrapper__right-title img {
    max-width: 250px; /* 最大幅制限 */
  }
  
  .gallery-page-title-wrapper__right-title--with-icon {
    display: flex;
    align-items: baseline; /* ←ここも */
    gap: 4px;
  }

  .gallery-page-title-wrapper__right-title--with-icon::before {
    width: 46px;
    height: 61.4px;
    margin-right: 12px;
  }

  .gallery-page-title-wrapper__left {
    padding-left: 0;
    margin-top: 4px;
  }
  

  .gallery-page-title-wrapper__left-line {
    height: 56px;
    border-left-width: 5px;
    margin-right: 12px;
    margin-left: 0;
  }

  .gallery-page-title-wrapper__left-text {
    font-size: 16px;
  }
}

@media screen and (max-width: 375px) {
  .gallery-page-title-wrapper__left.gallery-page-title-wrapper__left--long .gallery-page-title-wrapper__left-line {
    height: 86px;
  }
}


/* ---------
   伝道句提唱へのリンク
-------------------- */
.to-page-explain-link-wrap {
  width: 80%;
  margin-inline: auto;
  margin-top: 28px;
  display: flex;
  justify-content: flex-end;
}

.to-page-explain-link-wrap__container {
  height: 64.8px;
  border-left: 10px solid #707070;
  padding-left: 24px;
  display: flex;
  align-items: center;
}

.to-page-explain-link-wrap__container a {
  color: #AFC6D8;
  font-size: 48px;
  padding-left: 10px;
}

.to-page-explain-link-wrap__container a:hover {
  cursor: pointer;
}

.to-page-explain-link-wrap__span {
  font-size: 30px;
  padding-left: 8px;
}

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

  .to-page-explain-link-wrap__container {
    height: 40px;
    padding-left: 10px;
  }

  .to-page-explain-link-wrap {
    margin-inline: initial;
    margin-left: 32px;
  }

  .to-page-explain-link-wrap__container a {
    color: #AFC6D8;
    font-size: 32px;
    padding-left: 8px;
  }
  
  .to-page-explain-link-wrap__span {
    font-size: 16px;
    padding-left: 8px;
  }
}

/* ---------
   カテゴリのコンテナたち
-------------------- */
.page-gallery__all-categories {

}

.gallery-items {

}

.gallery-item,
.gallery-item__image {
  list-style: none;
}

.gallery-item {
  display: flex;
  flex-direction: column;
}

.gallery-item:not(:first-child) {
  margin-top: 60px;
}

.gallery-item__title {
  height: 64.8px;
  border-left: 10px solid #707070;
  padding-left: 24px;
  display: flex;
  align-items: center;
  font-size: 38px;
}

.gallery-item__title.gallery-item__title--ume {
  border-left: 10px solid #F4104E;
}

.gallery-item__title.gallery-item__title--sakura {
  border-left: 10px solid #F50BC0;
}

.gallery-item__title.gallery-item__title--azisai {
  border-left: 10px solid #C234FF;
}

.gallery-item__title.gallery-item__title--hasu {
  border-left: 10px solid #FFB302;
}

.gallery-item__title.gallery-item__title--higanbana {
  border-left: 10px solid #FF0404;
}

.gallery-item__title.gallery-item__title--uki {
  border-left: 10px solid #C7C7C7;
}

.gallery-item__title.gallery-item__title--mizuaoi{
  border-left: 10px solid #0000FF;
}

.gallery-item__row2 {
  display: flex;
}

.gallery-item__title-month-box {
  width: 134px;
  display: flex;
  justify-content: flex-end;
}

.gallery-item__title-month {
  white-space: nowrap;
}


.gallery-item__images-container {
  margin-left: 32px;
  display: flex;
  column-gap: 40px;
}

.gallery-item__image {
  width: calc((100% - 120px) / 4);
  height: auto;
  aspect-ratio: 289 / 217;
}

.gallery-item__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

a:link.gallery-item__see-more-link {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  background-color: #0b4875;
  border-radius: 16px;
  border: none;
  color: #fff;
  padding: 12px 40px;
  word-break: keep-all;
  cursor: pointer;
  margin-inline: auto;
  text-decoration: none;
  font-size: 16px;
}

@media screen and ( max-width: 1142px ){
  .gallery-item__images-container {
    margin-left: 24px;
    column-gap: 24px;
  }

  .gallery-item__image {
    width: calc((100% - 72px) / 4);
  }

  .a:link.gallery-item__see-more-link {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

@media screen and (max-width: 768px) {
  .gallery-items,
  .gallery-item__images-container {
    padding-left: 0;
  }

  .gallery-item__title {
    font-size: 28px;
    height: 40px;
  }

  .gallery-item__images-container {
  margin-left: 8px;
  display: flex;
  flex-direction: column;
  row-gap: 24px;
 }

  .gallery-item__image {
  width: 100%;
  }
}

/* ---------
   カメラマンのプロフィール
-------------------- */
.buddhist-profile-section.buddhist-profile-section--cameraman {
  border-top: 1px solid #444141;
}

.buddhist-profile-section__flexbox-right.buddhist-profile-section__flexbox-right--cameraman {
  border-left: 1px solid #444141;
}


.buddhist-profile-section__name.buddhist-profile-section__name--cameraman,
.buddhist-profile-section__text.buddhist-profile-section__text--cameraman {
  color: #0B4875;
}

@media screen and (max-width: 767px) {
  .buddhist-profile-section__flexbox-right.buddhist-profile-section__flexbox-right--cameraman {
    border-top: 1px solid #444141;
    border-left: none;
    text-align: center;
  }
}


/* ---------
--------------------------------------
   ここからギャラリー各カテゴリーページ
---------------------------------------
-------------------- */
.gallery-single p,
.gallery-single h2,
dl.gallery-single-text-info-section__row-dl dt,
dl.gallery-single-text-info-section__row-dl dd  {
  color: #fff;
}

.gallery-page-title-wrapper__left-line.gallery-page-title-wrapper__left-line--ume {
  border-left: 10px solid #F4104E;
}

.gallery-page-title-wrapper__left-line.gallery-page-title-wrapper__left-line--sakura {
  border-left: 10px solid #F50BC0;
}

.gallery-page-title-wrapper__left-line.gallery-page-title-wrapper__left-line--azisai {
  border-left: 10px solid #C234FF;
}

.gallery-page-title-wrapper__left-line.gallery-page-title-wrapper__left-line--hasu {
  border-left: 10px solid #FFB302;
}

.gallery-page-title-wrapper__left-line.gallery-page-title-wrapper__left-line--higanbana {
  border-left: 10px solid #FF0404;
}

.gallery-page-title-wrapper__left-line.gallery-page-title-wrapper__left-line--yuki {
  border-left: 10px solid #C7C7C7;
}

.gallery-page-title-wrapper__left-line.gallery-page-title-wrapper__left-line--mizuaoi {
  border-left: 10px solid #0000FF;
}

.gallery-page-title-wrapper__left-text.gallery-page-title-wrapper__left-text--single-gallery {
  font-size: 48px;
}

span.gallery-page-title-wrapper__left-text-span--single-gallery {
  font-size: 24px;
}


.gallery-single__photographer-note {
  display: flex;
  justify-content: flex-end;
  margin-top: 22px;
}

.gallery-single__photographer-note-text {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .gallery-page-title-wrapper__left {
    margin-top: 20px;
  }

  .gallery-page-title-wrapper__left.gallery-page-title-wrapper__left--long {
    margin-top: 40px;
  }

  .gallery-page-title-wrapper__left-text.gallery-page-title-wrapper__left-text--single-gallery {
    font-size: 32px;
  }
  
  span.gallery-page-title-wrapper__left-text-span--single-gallery {
    font-size: 18px;
  }
}

/* ---------
   swiper
-------------------- */

/* swiper中身 */
.gallery-single__swiper-container {
  width: 100%;
  margin-top: 80px;
}

.main-swiper {
  width: 80%;
  height: auto;
  margin-inline: auto;
  aspect-ratio: 1747 / 1310;
  margin-bottom: 40px;
}

.main-swiper .swiper-wrapper,
.main-swiper .swiper-wrapper .swiper-slide,
.main-swiper .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thumbs-swiper {
  width: 100%;
  height: 168px;
  overflow: hidden; /* ←これ重要 */
  margin: 0 auto;
  display: flex;
  justify-content: center; /* スライダー自体の中央寄せ */
}

/* 横幅1921px以上のとき最大1920pxに制限 */
@media (min-width: 1921px) {
  .thumbs-swiper {
    max-width: 1920px;
  }
}

/* Swiper内スライド設定 */
.thumbs-swiper .swiper-wrapper {
  display: flex;
  align-items: center;
}

.thumbs-swiper .swiper-slide {
  width: 223px;
  aspect-ratio: 223 / 168;
  flex-shrink: 0;
  margin-right: 10px;
  cursor: pointer;
}

/* .thumbs-swiper .swiper-slide-thumb-active {
  opacity: 1;
} */

.thumbs-swiper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.main-swiper img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* ---------
   矢印
-------------------- */
.main-swiper .swiper-button-prev,
.main-swiper .swiper-button-next {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  border: 1px solid #fff;
  width: 48px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  border-radius: 4px;
  padding: 0;
  box-sizing: border-box;
}

/* アイコン部分をラップするような仕組みに */
.main-swiper .swiper-button-prev::before,
.main-swiper .swiper-button-next::before,
.main-swiper .swiper-button-prev::after,
.main-swiper .swiper-button-next::after {
  position: absolute;
  display: block;
  content: '';
}

/* 棒線（横棒） */
.main-swiper .swiper-button-prev::after,
.main-swiper .swiper-button-next::after {
  width: 20px;
  height: 2px;
  background-color: white;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 矢印（三角形風） */
.main-swiper .swiper-button-prev::before {
  border-left: 2px solid white;
  border-top: 2px solid white;
  width: 10px;
  height: 10px;
  top: 50%;
  left: calc(50% - 5px); /* 横棒より左にずらす */
  transform: translate(-50%, -50%) rotate(-45deg);
}

.main-swiper .swiper-button-next::before {
  border-right: 2px solid white;
  border-bottom: 2px solid white;
  width: 10px;
  height: 10px;
  top: 50%;
  left: calc(50% + 5px); /* 横棒より右にずらす */
  transform: translate(-50%, -50%) rotate(-45deg);
}


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

/* ---------
   swiper下テキストブロック
-------------------- */
.gallery-single__text-info-section {
  margin-top: 54px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.gallery-single-text-info-section__row {
  padding-top: 54px;
  padding-bottom: 54px;
  max-width: 1340px;
  width: 100%;
  display: flex;
  margin-inline: auto;
}

.gallery-single-text-info-section__row:not(:first-child) {
  border-top: 1px solid #fff;
}

.gallery-single-text-info-section__row-left {
  width: 40%;
}

h2.gallery-single-text-info-section__row-title {
  color: #fff;
  font-weight: normal;
}

.gallery-single-text-info-section__row-left-container {
  margin-left: 200px;
}

dl.gallery-single-text-info-section__row-dl {
  padding-right: 24px;
}

dl.gallery-single-text-info-section__row-dl dd {
  margin-top: 4px;
}

div.gallery-single-text-info-section__row-text p {
  color: #fff;
}

.gallery-single-text-info-section__row-right {
  width: 60%;
  border-left: 1px solid #fff;
}

.gallery-single-text-info-section__row-right-text {
  padding-left: 58px;
  padding-right: 80px;
  padding-top: 32px;
  color: #fff;
  line-height: 1.5;
}

.gallery-single__go-back {
  width: 160px;
  margin-inline: auto;
}

@media screen and (max-width: 1040px) {
  .gallery-single-text-info-section__row-left-container {
    margin-left: 100px;
  }
}

@media screen and (max-width: 768px) {
  .gallery-single-text-info-section__row {
    max-width: initial;
    flex-direction: column;
  }

  .gallery-single-text-info-section__row-left {
    width: 100%;
  }

  .gallery-single-text-info-section__row-right {
    width: 100%;
    border-left: none;
  }

  .gallery-single-text-info-section__row-right-text {
    padding-left: 0;
    padding-right: 0;
  }

  .gallery-single-text-info-section__row-left-container {
    margin-left: 0;
  }

}

