@charset "UTF-8";
.BD-home:before {
  content: "";
  width: 100%;
  height: 100vh;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  background-image: url(../images/home/bg.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.l-main {
  padding-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .l-main {
    padding-bottom: 0;
  }
}
/* ========== ローディング ========== */
.loading {
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 1000;
  background: #fff url(../images/home/loading-bg.webp) no-repeat center;
  background-size: cover;
}
.loading-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 445px;
  height: 445px;
  background: url(../images/home/loading-logo-bg.webp) no-repeat center;
  background-size: 100%;
}
.loading-logo .logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.loading-logo .logo01 {
  animation: loadingLogo01 1s 3s forwards;
}
.loading-logo .logo02 {
  opacity: 0;
  animation: loadingLogo02 1s 4s forwards;
}

@keyframes loadingLogo01 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes loadingLogo02 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .loading-logo {
    width: 320px;
    height: 320px;
  }
}
/* ========== メインビジュアル ========== */
.mv {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}
.mv-copy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 445px;
  z-index: 10;
}
.mv-slider {
  position: relative;
}
.mv-slider:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 9;
}
.mv-slider .slide-item__img {
  width: 100%;
  height: 100vh;
  height: 100dvh;
}
.mv-slider .slide-item__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .mv-copy {
    width: 320px;
  }
}
/* ========== 天嶽院について ========== */
.p-about {
  padding: 170px 0;
  text-align: center;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
}
.p-about:before, .p-about:after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.p-about:before {
  top: 60px;
  right: 50%;
  margin-right: -316px;
  width: 73px;
  height: 97px;
  background-image: url(../images/common/illust01.svg);
}
.p-about:after {
  bottom: 150px;
  left: 50%;
  margin-left: -300px;
  width: 71px;
  height: 46px;
  background-image: url(../images/common/illust02.svg);
}
.p-about__lead {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  margin-bottom: 64px;
}
.p-about__head {
  padding-top: 60px;
  background: url(../images/home/about-icon.svg) no-repeat center top;
  background-size: 76px;
  margin-bottom: 84px;
}
.p-about .about-ttl {
  font-size: 4rem;
  letter-spacing: 0.5em;
}
.p-about .about-ttl__txt {
  display: inline-block;
  padding-left: 0.5em;
}
.p-about .about-txt {
  display: inline-block;
  text-align: left;
  font-size: 2.2rem;
  letter-spacing: 0.03em;
  margin-bottom: 80px;
}
.p-about .about-txt p {
  margin-bottom: 0.8em;
}
.p-about .about-txt p:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .p-about {
    padding: 135px 0 160px;
  }
  .p-about:before {
    top: 48px;
    margin-right: -140px;
    width: 63px;
    height: 87px;
  }
  .p-about:after {
    bottom: 58px;
    margin-left: -128px;
    width: 57px;
    height: 37px;
  }
  .p-about__lead {
    font-size: 1.7rem;
    line-height: 1.76;
    margin-bottom: 50px;
  }
  .p-about__head {
    padding-top: 40px;
    background-size: 58px;
    margin-bottom: 65px;
  }
  .p-about .about-ttl {
    font-size: 2.8rem;
  }
  .p-about .about-txt {
    font-size: 2rem;
    margin-bottom: 35px;
  }
}
/* ========== 年間行事・法要 ========== */
.p-events {
  padding: 120px 0 110px;
}
.p-events:after {
  content: "";
  width: 316px;
  height: 71px;
  position: absolute;
  bottom: -35px;
  right: -33px;
  background: url(../images/common/illust07.svg) no-repeat;
  background-size: 100%;
  z-index: 1;
}
.p-events__inner {
  position: relative;
}
.p-events__inner:before {
  content: "";
  width: 250px;
  height: 53px;
  position: absolute;
  top: 0;
  left: -19px;
  background: url(../images/common/illust06.svg) no-repeat;
  background-size: 100%;
}
.p-events__head {
  margin-bottom: 40px;
}
.p-events .events-list .slide-item {
  height: 100%;
  position: relative;
  padding: 30px 35px 270px;
}
.p-events .events-list .slide-item .item-ttl {
  font-size: 2.4rem;
  letter-spacing: 0.03em;
}
.p-events .events-list .slide-item .item-lead {
  font-size: 1.5rem;
  line-height: 1.866;
  margin-top: 0.5em;
}
.p-events .events-list .slide-item .item-event {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
}
.p-events .events-list .slide-item .item-event__list {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 1em;
  font-size: 1.8rem;
}
.p-events .events-list .slide-item .item-event__list p {
  margin-bottom: 0.2em;
}
.p-events .events-list .slide-item .item-event__list p:last-child {
  margin-bottom: 0;
}
.p-events .events-list .slide-item .item-event__bg {
  width: 100%;
  height: 100%;
}
.p-events .events-list .slide-item .item-event__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-events .swiper-slide {
  background: #fff;
  height: auto;
}
.p-events .slide-pagination {
  margin-top: 30px;
}
.p-events .events-more {
  margin-top: 30px;
}

@media only screen and (max-width: 767px) {
  .p-events {
    padding: 70px 0;
  }
  .p-events:after {
    width: 234px;
    height: 53px;
    bottom: -20px;
    right: -38px;
  }
  .p-events__inner:before {
    width: 185px;
    height: 38px;
    top: -54px;
    left: -52px;
  }
  .p-events__head {
    margin-bottom: 35px;
  }
  .p-events .events-list .slide-item {
    padding: 12px 15px 185px;
  }
  .p-events .events-list .slide-item .item-ttl {
    font-size: 2rem;
  }
  .p-events .events-list .slide-item .item-lead {
    font-size: 1.4rem;
    line-height: 1.57;
    padding-bottom: 1em;
  }
  .p-events .events-list .slide-item .item-event {
    height: 185px;
  }
  .p-events .events-list .slide-item .item-event__list {
    font-size: 1.4rem;
  }
  .p-events .slide-pagination {
    margin-top: 15px;
  }
  .p-events .events-more {
    margin-top: 25px;
  }
}
/* ========== お寺を開く ========== */
.p-oterawohiraku {
  background: #fff;
  padding: 120px 0 0;
}
.p-oterawohiraku:before {
  content: "";
  width: 136px;
  height: 127px;
  position: absolute;
  top: clamp(64px, 10vw, 128px);
  right: clamp(64px, 10vw, 128px);
  background: url(../images/common/illust03.svg) no-repeat;
  background-size: 100%;
}
.p-oterawohiraku__inner {
  max-width: 904px;
}
.p-oterawohiraku__head {
  margin-bottom: 50px;
}
.p-oterawohiraku .oterawohiraku-item {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 90px;
}
.p-oterawohiraku .oterawohiraku-item:last-child {
  margin-bottom: 0;
}
.p-oterawohiraku .oterawohiraku-item__img {
  width: calc(100% - 300px);
  max-width: 480px;
}
.p-oterawohiraku .oterawohiraku-item__txt {
  width: 253px;
  text-align: center;
}
.p-oterawohiraku .oterawohiraku-item .item-ttl {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
}
.p-oterawohiraku .oterawohiraku-item .item-img {
  width: calc(100% + (100vw - 866px) / 2);
}
.p-oterawohiraku .oterawohiraku-item .item-img img {
  width: 100%;
}
.p-oterawohiraku .oterawohiraku-item:nth-child(odd) .item-img {
  transform: translateX(calc((100vw - 866px) / -2));
}
@media only screen and (max-width: 940px) {
  .p-oterawohiraku .oterawohiraku-item .item-img {
    width: calc(100% + 20px);
  }
  .p-oterawohiraku .oterawohiraku-item:nth-child(odd) .item-img {
    transform: translateX(-20px);
  }
}
@media only screen and (max-width: 767px) {
  .p-oterawohiraku {
    padding: 70px 0 0;
  }
  .p-oterawohiraku:before {
    width: 97px;
    height: 90px;
    right: auto;
    left: 50%;
    margin-left: -180px;
    top: 55px;
  }
  .p-oterawohiraku .oterawohiraku-item {
    margin-bottom: 50px;
  }
  .p-oterawohiraku .oterawohiraku-item__img {
    width: 100%;
    max-width: 100%;
    -ms-order: 1;
    order: 1;
  }
  .p-oterawohiraku .oterawohiraku-item__txt {
    width: 100%;
    -ms-order: 2;
    order: 2;
  }
  .p-oterawohiraku .oterawohiraku-item .item-ttl {
    font-size: 2rem;
  }
  .p-oterawohiraku .oterawohiraku-item .item-img {
    width: 100%;
    margin-bottom: 15px;
  }
  .p-oterawohiraku .oterawohiraku-item .item-img img {
    width: 100%;
  }
  .p-oterawohiraku .oterawohiraku-item:nth-child(odd) .item-img {
    transform: translateX(0);
  }
}
/* ========== 日常・イベント ========== */
.p-instagram {
  background: #fff;
  padding: 155px 0 185px;
}
.p-instagram__contents {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  position: relative;
  align-items: flex-start;
}
.p-instagram__contents:before {
  content: "";
  width: 148px;
  height: 137px;
  position: absolute;
  top: -180px;
  left: 130px;
  background: url(../images/common/illust04.svg) no-repeat;
  background-size: 100%;
}
.p-instagram__contents:after {
  content: "";
  width: 122px;
  height: 117px;
  position: absolute;
  bottom: -98px;
  right: 122px;
  background: url(../images/common/illust05.svg) no-repeat;
  background-size: 100%;
}
.p-instagram .instagram-ttl {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  text-align: center;
  width: 36px;
}
.p-instagram .instagram-ttl span {
  display: inline-block;
  line-height: 1.1;
  margin-bottom: 15px;
}
.p-instagram .instagram-ttl img {
  width: 100%;
}
.p-instagram .instagram-gallery {
  width: calc(100% - 120px);
  max-width: 760px;
  margin-left: auto;
}
.p-instagram .instagram-more {
  width: 100%;
  margin-top: 65px;
}
.p-instagram #sb_instagram #sbi_images {
  padding: 0;
}

@media only screen and (max-width: 767px) {
  .p-instagram {
    padding: 122px 0 110px;
  }
  .p-instagram__contents {
    display: block;
  }
  .p-instagram__contents:before {
    width: 99px;
    height: 91px;
    top: -107px;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-instagram__contents:after {
    width: 86px;
    height: 83px;
    bottom: -94px;
    right: 50%;
    margin-right: -116px;
  }
  .p-instagram .instagram-ttl {
    font-size: 2rem;
    writing-mode: horizontal-tb;
    width: 100%;
    margin-bottom: 15px;
  }
  .p-instagram .instagram-ttl span {
    margin: 0 10px 0 0;
    vertical-align: middle;
  }
  .p-instagram .instagram-ttl img {
    width: 36px;
    display: inline-block;
    vertical-align: middle;
  }
  .p-instagram .instagram-gallery {
    width: 100%;
    padding: 0 36px;
  }
  .p-instagram .instagram-more {
    margin-top: 25px;
  }
  .p-instagram #sb_instagram #sbi_images {
    gap: 10px !important;
  }
}
/* ========== ふうがくの杜 ========== */
.p-fugaku {
  background: #fff;
  padding: 360px 0 0;
}
.p-fugaku:before {
  content: "";
  width: 100%;
  height: 520px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/home/fugaku-bg.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-fugaku__contents {
  text-align: center;
  background: #001E4D;
  color: #fff;
  padding: 50px 20px;
  position: relative;
}
.p-fugaku__contents:before {
  content: "";
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  border: 1px solid #DAC227;
  position: absolute;
  top: 12px;
  left: 12px;
  box-sizing: border-box;
}
.p-fugaku__contents * {
  position: relative;
}
.p-fugaku .fugaku-logo {
  margin-bottom: 20px;
}
.p-fugaku .fugaku-logo img {
  width: 386px;
}
.p-fugaku .fugaku-lead {
  font-size: 1.7rem;
  line-height: 1.76;
  margin-bottom: 1.5em;
}

@media only screen and (max-width: 767px) {
  .p-fugaku {
    padding: 36.2666666667vw 0 0;
  }
  .p-fugaku:before {
    height: 48.5333333333vw;
    background-image: url(../images/home/fugaku-bg-sp.webp);
  }
  .p-fugaku__contents {
    padding: 40px;
  }
  .p-fugaku__contents:before {
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    top: 8px;
    left: 8px;
  }
  .p-fugaku .fugaku-logo {
    margin-bottom: 15px;
  }
  .p-fugaku .fugaku-logo img {
    width: 251px;
  }
  .p-fugaku .fugaku-lead {
    text-align: left;
    font-size: 1.4rem;
    margin-bottom: 1em;
  }
}
/* ========== お知らせ ========== */
.p-news {
  background: #fff;
  padding: 120px 0;
}
.p-news__head {
  margin-bottom: 40px;
}
.p-news .news-more {
  margin-top: 50px;
}

@media only screen and (max-width: 767px) {
  .p-news {
    padding: 50px 0;
  }
  .p-news__head {
    margin-bottom: 30px;
  }
  .p-news .news-more {
    margin-top: 30px;
  }
}