/*----------------------------------------------------

design.css

----------------------------------------------------*/
/* loader
----------------------------------------------------*/
/*.loader {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: var(--clr-wh);
  z-index: 9999;
  top: 0;
  left: 0;
}
.loader .txt {
  font-size: 2.4rem;
  display: none;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.loader .txt2 {
  width: 80px;
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}*/
/* 
----------------------------------------------------*/
.top-main {}
.cont-box {
  height: 50vh;
  position: relative;
}
.cont-box img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.cont-box h2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 5vw;
  color: var(--clr-wh);
  line-height: var(--lh-base-s);
  font-size: 140%;
}
.cont-box h2 span {
  opacity: 0;
  display: inline-block;
  transform: translateY(-20px);
  animation-name: mainttl;
  animation-duration: 1.5s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
.cont-box h2 span:nth-child(1) {  animation-delay: .5s;}
.cont-box h2 span:nth-child(2) {  animation-delay: .8s;}
.cont-box h2 span:nth-child(3) {  animation-delay: 1.1s;}
.cont-box h2 span:nth-child(4) {  animation-delay: 1.4s;}
.cont-box h2 span:nth-child(5) {  animation-delay: 1.7s;}
.cont-box h2 span:nth-child(6) {  animation-delay: 2s;}
.cont-box h2 span:nth-child(7) {  animation-delay: 2.3s;}
.cont-box h2 span:nth-child(8) {  animation-delay: 2.6s;}
.cont-box h2 span:nth-child(9) {  animation-delay: 2.9s;}
.cont-box h2 span:nth-child(10) {  animation-delay: 3.2s;}
.cont-box h2 span:nth-child(11) {  animation-delay: 3.5s;}
.cont-box h2 span:nth-child(12) {  animation-delay: 3.8s;}
.cont-box h2 span:nth-child(13) {  animation-delay: 4.1s;}
.cont-box h2 span:nth-child(14) {  animation-delay: 4.4s;}
.cont-box h2 span:nth-child(15) {  animation-delay: 4.7s;}
.cont-box h2 span:nth-child(16) {  animation-delay: 5s;}
@keyframes mainttl {
  100% {  opacity: 1;  transform: translateY(0);}
}
@media (min-width: 600px) {
  .cont-box {  height: 60vh;}
  .cont-box h2 {  font-size: 180%;}
}
@media (min-width: 1025px) {
  .cont-box {  height: 80vh;}
  .cont-box h2 {  font-size: 4rem;  left: 10vw;}
}
/* 
----------------------------------------------------*/
.top-intro {  position: relative;}
.top-intro .txt-box {  line-height: var(--lh-base-s);}
.top-intro h2 {  font-size: 2rem;}
.top-intro h2:last-of-type {  margin-bottom: 30px;}
.top-intro figure {
  width: 26%;
  position: absolute;
  top: 0;
  right: 3vw;
  transition-delay: 1s;
}
@media (min-width: 600px) {
  .top-intro {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .top-intro .txt-box {
    width: 70%;
    display: flex;
    flex-flow: row-reverse;
    justify-content: space-between;
  }
  .top-intro h2, .top-intro span {
    writing-mode: vertical-rl;
    display: block;
    line-height: 1
  }
  .top-intro h2:last-of-type {  margin: 0 0 0 30px;}
  .top-intro span {  transition-delay: 6s;}
  .top-intro figure {
    position: inherit;
    top: auto;
    right: auto;
    width: 25%;
  }
  .top-intro .txt br {  display: none;}
}
@media (min-width: 1025px) {
  .top-intro {  padding-left: 0;}
  .top-intro .txt-box {  width: 75%;}
  .top-intro h2 {  font-size: 2.8rem;}
  .top-intro figure {  width: 20%;}
  .top-intro .txt {  font-size: 1.7rem;}
}
/* 
----------------------------------------------------*/
.top-religion {
  background-color: rgba(0, 0, 0, 0.6);
  position: relative;
  color: var(--clr-wh);
}
.top-religion::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: url("../img/bg-religion.jpg");
  background-position: center;
  background-size: cover;
  z-index: -1
}
.top-religion .txt {  line-height: var(--lh-base-b);}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  .top-religion {  margin-left: -280px;}
  .top-religion .inner {  padding-left: 310px;}
  .top-religion .txt {  font-size: 1.7rem;}
}
/* 
----------------------------------------------------*/
.top-butsudan {}
.top-butsudan .sec-ttl {  color: var(--clr-maeda);  text-align: center;}
.top-butsudan .lead {  text-align: center;}
.top-butsudan .list {  padding: 0 5vw;}
.top-butsudan .list-item a {  display: block;  text-decoration: none;}
.top-butsudan .list-item figure {  background-color: var(--clr-beige);  position: relative;}
.top-butsudan .list-item p {  background-size: 90%;}
.top-butsudan .list-item .item01 p {  background-image: url("../butsudan/mbd-00001-t.png");}
.top-butsudan .list-item .item02 p {  background-image: url("../butsudan/mbd-11362.png");}
.top-butsudan .list-item .item03 p {  background-image: url("../butsudan/mbd-33023-t.png");}
.top-butsudan .list-item .item04 p {  background-image: url("../butsudan/mbd-11832-t.png");}
.top-butsudan .list-item h3 {
  writing-mode: vertical-rl;
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 2rem;
}
.top-butsudan .list-item .item05 h3 {
  top: 50%;
  left: 50%;
  right: auto;
  transform: translateX(-50%) translateY(-50%);
  line-height: var(--lh-base);
}
.top-butsudan .list-item .txt {  margin: 1em 0;  line-height: var(--lh-base-s);}
@media (min-width: 600px) {
  .top-butsudan .list {  padding: 0;}
  .top-butsudan .list-item {  width: 45%;}
}
@media (min-width: 1025px) {
  .top-butsudan .list-item {  width: 30%;}
}
/* 
----------------------------------------------------*/
.top-work {  margin: 4vw;}
.top-work .inner {  color: var(--clr-wh);  background-color: rgba(131, 146, 123, 0.70);}
.top-work h2, .top-work .txt {  text-align: center; line-height: var(--lh-base)}
.top-work .link-btn a {  margin: 0 auto;}
.top-work {  background-position: center;  background-size: cover;}
.top-work-1 {  background-image: url("../img/bg-work1.jpg");}
.top-work-2 {  background-image: url("../img/bg-work2.jpg");}
@media (min-width: 600px) {
  .top-work {  margin: 0;}
  .top-work h2, .top-work .txt {  text-align: left;}
  .top-work .link-btn a {  margin: 0;}
  .top-work-wrap {  position: relative;}
  .top-work {  width: 52%;}
  .top-work-1 {  position: absolute;  top: -20px;}
  .top-work-2 {  margin-left: 48%;  transition-delay: .5s;}
  .top-work-2 .inner {  padding-left: 8vw;}
}
@media (min-width: 1025px) {
  .top-work-wrap {  margin-left: -280px;}
  .top-work-1 {  top: -60px;  width: 58%;}
  .top-work-1 .inner {  padding-left: 310px;  padding-right: 80px;}
  .top-work-2 {  width: 48%;  margin-left: 52%;}
  .top-work-2 .inner {  padding-left: 6vw;  padding-right: 50px;}
}
/* 
----------------------------------------------------*/
.top-news {}
.top-news .sec-box {  background-color: rgba(158, 175, 150, .3);  padding: 30px;}
.top-news h2 {  text-align: center;  color: var(--clr-maeda);}
.top-news dl {  border-top: 1px solid #fff;  line-height: var(--lh-base);}
.top-news dt {
  color: var(--clr-maeda);
  padding-top: 10px;
  font-weight: lighter;
}
.top-news dd {  border-bottom: 1px solid #fff;  padding-bottom: 10px;}
@media (min-width: 600px) {
  .top-news .sec-box { padding: 40px;}
  .top-news dt, .top-news dd {  padding: 15px 5px;}
  .top-news dt {  width: 120px;  border-bottom: 1px solid #fff;}
  .top-news dd {  width: calc(100% - 120px);}
}
@media (min-width: 1025px) {
  .top-news .sec-box {  padding: 50px 60px 60px;  margin: 0 8vw;}
  .top-news dt, .top-news dd {  padding: 20px 5px;}
}
/* 
----------------------------------------------------*/
.top-menu {}
.top-menu .inner {}
.menu-item {}
.top-menu .list {  padding: 0 8vw;  flex-wrap: nowrap;}
.top-menu .list-item a {  display: block;  text-decoration: none;}
.top-menu .list-item figure {  background-color: var(--clr-beige);  position: relative;}
.top-menu .list-item .menu01 p {  background-image: url("../img/pht-shop.jpg");}
.top-menu .list-item .menu02 p {  background-image: url("../img/pht-access.jpg");}
.top-menu .list-item .menu03 p {  background-image: url("../img/pht-movie.jpg");}
.top-menu .list-item h3 {
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 2rem;
  padding: 15px;
  background-color: var(--clr-maeda-sl);
}
@media (min-width: 600px) {
  .top-menu .list {  padding: 0;}
  .top-menu .list-item {  width: 30%;}
}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}