/*!///////////////////////////////////////////*/
/*!/////commoncssはTOPのアセッツ内のcss//////*/
/*!/////////////////////////////////////////*/
/* 色分け 西大寺 */
#saidaiji .h-color {color: #7E6930;} 
#saidaiji .tx-color{color: #D9B34F;} 
#saidaiji .bd-color {border-color: #D9B34F;} 
#saidaiji .bk-color { background-color: #D9B34F; }
#saidaiji .bk-color-sub1 { background-color: rgba(221,187,97,1); }
#saidaiji .bk-color-sub2 { background-color: rgba(221,187,97,.6); }
#saidaiji .bk-color-t-2 { background-color: #ECD9A7; }
#saidaiji .bk-color-t-3 { background-color: #F7F0DC; }
/* 色分け 邑久 */
#oku .h-color {color: #745353;}
#oku .tx-color {color: #C68D8B;}
#oku .bd-color {border-color: #C68D8B;}
#oku .bk-color {background-color: #C68D8B;}
#oku .bk-color-sub1 {background-color: #CC9997;}
#oku .bk-color-sub2 {background-color: rgba(198,141,139,.6);}
#oku .bk-color-t-2 {background-color: #E2C6C5;}
#oku .bk-color-t-3 {background-color: #F4E8E8;}

#oku .oku-display-none {
  display: none;
  opacity: 0;
} 

.container {
  max-width: 1040px;
  padding: 20px;
}

@media(min-width: 768px){
  .small-container {
    max-width: 800px;
    padding: 0 90px;
  }
}

@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}

h2 {
  text-align: center;
  padding: 80px 0 40px;
  font-size: 40px;
}
@media screen and (max-width: 767px) {
  h2 {
    padding: 25px 0;
    font-size: 6.93333333333333vw;
  }
}

.header {
  z-index: 1000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 2.64285714285714vw 4.57142857142857vw;
}
@media screen and (max-width: 767px) {
  #top .header {
    display: none;
  }
  .header {
    padding: 35px 18px 22px;
  }
}

.top-link ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.top-icon {
  width: calc(28.57142857142857vw + 25px);
  padding-right: 25px;
}
@media screen and (max-width: 767px) {
  .top-icon {
    width: auto;
    height: 11.73333333333333vw;
    padding: 1.6vw 25px 1.6vw 0;
  }
}

.top-icon img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-icon img {
    width: auto;
    height: 100%;
  }
}

.top-link li {
  position: relative;
}

.top-link li::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(50%, -50%);
  width: 1px;
  height: 25px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .top-link li::after {
    content: none;
  }
}

.top-link li:not(:first-of-type) {
  flex: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-link li:not(:first-of-type) {
    flex: none;
  }
}

.top-link li a {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.top-link-sp {
  z-index: 999;
  position: fixed;
  top: 35px;
  right: 18px;
  width: 11.7333333333333vw;
  aspect-ratio: 1;
  background-color: #000;
  margin-left: auto;
  padding: 0 8px;
}

.top-link-sp-button {
  position: relative;
  height: 100%;
  width: 100%;
}

.top-link-sp-button span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transition: all .8s;
}

.top-link-sp-button span:first-of-type {
  transform: translate(-50% , calc(-50% - 8px));
}
.top-link-sp-button span:nth-of-type(2n) {
  transform: translate(-50% , -50%) rotate(-180deg);
  transition: all 1s;
}
.top-link-sp-button span:last-of-type {
  transform: translate(-50% , calc(-50% + 8px));
}

.link_active .top-link-sp-button span {
  transition: all 1.6s;
}

.link_active .top-link-sp-button span:first-of-type {
  transform: translate(-50% , -50%) rotate(225deg);
  transform-origin: center;
}
.link_active .top-link-sp-button span:nth-of-type(2n) {
  opacity: 0;
  transform: translate(-50% , -50%) rotate(180deg);
}
.link_active .top-link-sp-button span:last-of-type {
  transform: translate(-50% , -50%) rotate(-225deg);
  transform-origin: center;
}

.top-link-sp-content {
  width: 100vw;
  height: 0.1vh;
  opacity: 0;
  transform: translateY(-0.1vh);
}

.link_active .top-link-sp-content {
  z-index: 998;
  display: flex;
  justify-content: center;
  flex-flow: column;
  overflow: hidden;
  position: fixed;
  width: 100vw;
  height: 100vh;
  padding: 30vw 0;
  top: 0;
  left: 0;
  opacity: 1;
  transform: translateY(0);
  transition: opacity .3s ease-out;
}

.top-link-sp-content li {
  position: relative;
  text-align: center;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-link-sp-content li a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-link-sp-content li a p {
  font-size: 5vw;
  color: #fff;
  text-shadow: 1px 1px 5px rgba(0,0,0,.5);
}

.top-link-sp-content li::after {
  content: "";
  position: absolute;
  width: 80%;
  height: 1px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
}

.top-link-sp-content li:last-of-type::after {
  content: none;
}

.hall-fv {
  position: relative;
  background-color: #21BEF3;
  background-image: url(../img/hall/fv_bk_sora.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
  border-bottom: 10px solid;
}
@media screen and (max-width: 767px) {
  .hall-fv {
    background-image: url(../img/hall/fv_bk_sora_sp.jpg);
  }
}

.hall-fv-title {
padding-top: 9.28571428571429vw;
 width: 100%;
 height: auto;
 aspect-ratio: 7 / 3;
 margin: 0 auto;
}

.hall-fv-title h1 {
  width: 100%;
 }
 @media screen and (max-width: 767px) {
  .hall-fv-title h1 {
    padding: 15vw 0 42vw;
   }
}

.hall-fv-title h1 img {
  width: 100%;
 }

 .hall-fv-title-img {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
 }
 @media screen and (max-width: 767px) {
  .hall-fv-title-img {
    width: 180%;
   }
}

.fv-link {
  z-index: 5;
  position: absolute;
  top: 40vw;
  left: 50%;
  transform: translate(-50% , 0);
  width: 57.14285714285714vw;
  background-color: rgba(255 , 255 , 255 , 0.7);
  border-radius: 1px;
  text-align: center;
  margin: 0 auto;
  padding-bottom: 1vw;
}
@media screen and (max-width: 767px) {
  .fv-link {
    background-color: transparent;
    width: 100%;
    top: 140vw;
  }
}

.fv-link-text {
  font-size: 1.92857142857143vw;
  font-weight: 700;
  padding-top: 1vw;
}
@media screen and (max-width: 767px) {
  .fv-link-text {
    font-size: 5.86666666666667vw;
    line-height: 1.33;
    padding-bottom: 3vw;
  }
}

main {
  position: relative;
  background-image: url(../img/hall/hall_main_bk.jpg);
  background-size: 500px;
}

.sisetu {
  position: relative;
}
@media screen and (max-width: 767px) {
  .sisetu {
    padding: 16vw 20px 0;
  }
}

.sisetu-bk {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
  height: auto;
  width: 100%;
  aspect-ratio: 2 / 1;
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .sisetu-bk {
    top: auto;
    bottom: -12vw;
  }
}

#saidaiji .sisetu-bk {
  background-image: url(../img/hall/sisetu_bk_saidaiji.png);
}

#oku .sisetu-bk {
  background-image: url(../img/hall/sisetu_bk_oku.png);
}

@media screen and (max-width: 767px) {
  .splide {
    width: 62.67vw;
    margin: 0 auto;
  }
}

.splide__list p {
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .splide__list p {
    text-align: center;
  }
}

.splide__slide img {
  width: 100%;
}

.splide__arrow {
  background: #B69549;
  border: 2px #fff solid;
  left: 50%;
}

.splide__arrow--prev {
  transform: translate(calc(-50% - 400px), calc(-50% - 16px));
}    
@media screen and (max-width: 767px) {
  .splide__arrow--prev {
    left: -12.5vw;
    transform: translate(0, calc(-50% - 16px));
  }
}

.splide__arrow--next {
  transform: translate(calc(-50% + 400px), calc(-50% - 16px));
}
@media screen and (max-width: 767px) {
  .splide__arrow--next {
    left: auto;
    right: -12.5vw;
    transform: translate(0, calc(-50% - 16px));
  }
}

.splide__arrow svg {
  fill: #fff;
}

.splide__slide {
  &:not(.is-visible) {
    .slide p {
      opacity: 0;
    }
  }
}

.take-care {
  position: relative;
}
@media(max-width: 767px){
  .take-care {
    padding-bottom: 43vw;
  }
}

.animal-bk {
  position: absolute;
  left: 50%;
  top: 0;
  aspect-ratio: 1;
  height: auto;
  mix-blend-mode: darken;
  pointer-events: none;
}
@media(max-width: 767px){
  .animal-bk {
    top: auto;
    bottom: 0;
  }
}

.animal-bk img {
  width: 100%;
}

.take-care-bk--1 {
  width: 420px;
  transform: translate(calc(-50% - 450px) , 300px);
}
.take-care-bk--2 {
  width: 257px;
  transform: translate(calc(-50% + 450px) , 250px);
}
@media(max-width: 767px){
  .take-care-bk--1 {
    width: 43.46666666666667vw;
    left: 20px;
    transform: translate(0 , 0);
  }
  .take-care-bk--2 {
    width: 33.33333333333333vw;
    left: auto;
    right: 20px;
    transform: translate(0 , 0);
  }
}

.take-care-bk img {
  width: 100%;
}

.take-care-hd {
  text-align: center;
  padding: 28px 0;
  display: block;
}
@media(min-width: 768px){
  .take-care a:hover{
    opacity: 1;
    cursor: auto;
  }
}
@media(max-width: 767px){
  .take-care-hd {
    margin-bottom: 30px;
  }
}

.take-care-hd p {
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
}
@media(max-width: 767px){
  .take-care-hd p {
    font-size: 4.8vw;
  }
}

.take-care-hd h3 {
  font-size: 62px;
  font-weight: 700;
  line-height: 1.2;
}
@media(max-width: 767px){
  .take-care-hd h3 {
    font-size: 9.76vw;
  }
}

.take-care-hd h3 img {
  height: 50px;
  padding-right: 14px;
}
@media(max-width: 767px){
  .take-care-hd h3 img {
    height: 7.5vw;
    padding-right: 5px;
  }
}

.take-care-hd p small {
  font-size: 74%;
}
@media(max-width: 767px){
  .take-care-hd p small {
    font-size: 83.33333333333333%;
  }
}

.take-care-list li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 28px 0;
}
@media(max-width: 767px){
  .take-care-list li {
    flex-flow: column;
  }
}

.take-care-list h3 {
  font-size: 25px;
}
@media(max-width: 767px){
  .take-care-list h3 {
    font-size: 5.33333333333333vw;
  }
}

.take-care-list-r {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 163px;
  height: 70px;
  margin-right: 25px;
}
@media(max-width: 767px){
  .take-care-list-r {
    width: 100%;
    height: auto;
    padding: 10px 0;
    margin-right: 0;
  }
}

.take-care-list-l {
  flex: 1;
  font-size: 16px;
  font-weight: 500;
}
@media(max-width: 767px){
  .take-care-list-l {
    font-size: 4vw;
    letter-spacing: -0.08rem;
  }
}

.take-care-list li span {
  position: absolute;
  width: 34px;
  height: auto;
  aspect-ratio: 17 / 14;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-clip-path: polygon(25% 36%, 25% 0, 75% 0, 75% 36%, 100% 36%, 50% 100%, 0 36%);
  clip-path: polygon(25% 36%, 25% 0, 75% 0, 75% 36%, 100% 36%, 50% 100%, 0 36%);
}

.take-care-can h4 {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  padding: 8px 0;
  margin-bottom: 10px;
  border-top: 1px #000 solid;
  border-bottom: 1px #000 solid;
}
@media(max-width: 767px){
  .take-care-can h4 {
    font-size: 4.53333333333333vw;
  }
}

.take-care-can p {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media(max-width: 767px){
  .take-care-can p {
    font-size: 4.26666666666667vw;
  }
}

.flow {
  position: relative;
  background-position: center calc(100% - 50px);
  background-repeat: no-repeat;
  background-size: 100%;
}
@media(max-width: 767px){
  .flow {
    padding-bottom: 43.46666666666667vw;
    background-position: center calc(100% - 43.46666666666667vw - 20px - 55px - 14px - 10px - 20vw);
  }
}

#saidaiji .flow {
  background-image: url(../img/hall/flow_bk_saidaiji.png);
}
#oku .flow {
  background-image: url(../img/hall/flow_bk_oku.png);
}

.flow-bk--1 {
  width: 270px;
  transform: translate(calc(-50% - 450px), 50px);
}
.flow-bk--2 {
  width: 420px;
  transform: translate(calc(-50% + 450px), -150px);
}
@media(max-width: 767px){
  .flow-bk--1 {
    width: 33.33333333333333vw;
    left: 20px;
    top: auto;
    bottom: 5vw;
    transform: translate(0, 0);
  }
  .flow-bk--2 {
    width: 43.46666666666667vw;
    left: auto;
    right: 20px;
    transform: translate(0, 0);
  }
}

.flow-bk img {
  width: 100%;
}

.flow-list {
  position: relative;
}

.flow-list ol ,.flow-list li {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.flow-list li {
  justify-content: center;
  flex-direction: column;
  padding: 20px 0;
  text-align: center;
  border: 7px solid;
  border-radius: 10px;
  background-color: #fff;
  margin-bottom: 55px;
}
@media(max-width: 767px){
  .flow-list li {
    padding: 13px 0;
    border: 4px solid;
  }
}

.flow-list-half {
  width: calc(50% - 15px);
}
@media(max-width: 767px){
  .flow-list-half {
    width: calc(50% - 1.33333333333333vw);
  }
}

.flow-list-full {
  position: relative;
  width: 100%;
}

.flow-list-full span {
  position: absolute;
  left: 50%;
  width: 62.5px;
  height: auto;
  aspect-ratio: 625 / 362;
  clip-path: polygon(25% 36%, 25% 0, 75% 0, 75% 36%, 100% 36%, 50% 100%, 0 36%);
}

.flow-list-full span:first-of-type {
  bottom: 100%;
  transform: translate(-50%, -50%);
}
.flow-list-full span:last-of-type {
  top: 100%;
  transform: translate(-50%, 50%);
}
@media(max-width: 767px){
  .flow-list-full span:first-of-type {
    transform: translate(-50%, -37.5%);
  }
  .flow-list-full span:last-of-type {
    transform: translate(-50%, 37.5%);
  }
}

.flow-list li h3 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.57;
}
@media(max-width: 767px){
  .flow-list li h3 {
    line-height: 1.2;
    padding: 5px 0;
    font-size: 5.33333333333333vw;
  }
}

.flow-list li p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.05rem;
  line-height: 1.5;
}
@media(max-width: 767px){
  .flow-list li p {
    font-size: 4vw;
  }
}

.flow-list-arrow1 {
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 208px;
  height: 33px;
  border-radius: 0 0 10px 10px;
  clip-path: polygon(7px calc(100% - 7px), 7px 0, 0 0, 0 100%, 100% 100%, 100% 0, calc(100% - 7px) 0, calc(100% - 7px) calc(100% - 7px));
}
@media(max-width: 767px){
  .flow-list-arrow1 {
    width: calc(50% + 2.67vw);
    height: 23px;
    bottom: 0;
  }
}

.flow-list-arrow2 {
  position: absolute;
  bottom: 22px;
  left: calc(50% + 108px);
  transform: translateX(calc(-50% - 7px));
  width: 0;
  height: 0;
  border-left: 16px transparent solid !important;
  border-right: 16px transparent solid !important;
  border-bottom: 24px solid;
}
@media(max-width: 767px){
  .flow-list-arrow2 {
    left: calc(50% + 24.67vw);
  }
}

.flow-list-note {
  text-align: center;
  padding-top: 13px;
  font-size: 20px;
  font-weight: 500;
}
@media(max-width: 767px){
  .flow-list-note {
    font-size: 4vw;
  }
}

@media(max-width: 767px){
  .fee {
    background-repeat: no-repeat;
    background-size: 100%;
    padding-bottom: 20vw;
    background-position: center 100%;
  }
  #saidaiji .fee { background-image: url(../img/hall/flow_bk_saidaiji.png); }
  #oku .fee { background-image: url(../img/hall/flow_bk_oku.png); }
}

.fee h3 {
  text-align: center;
  font-size: 31px;
}
@media(max-width: 767px){
  .fee h3 {
    font-size: 5.6vw;
    letter-spacing: -0.1rem;
  }
}

.fee-text {
    text-align: right;
    font-size: 16px;
    font-weight: 700;
}
@media(max-width: 767px){
    .fee-text {
      text-align: center;
      margin-top: -25px;
      padding-bottom: 25px;
  }
}

table {
  border-spacing: 0;
  border: 1px #6D6F70 solid;
  margin: 8px 0 50px;
}
@media(max-width: 767px){
  table {
    width: 100%;
    margin: 8px 0 15px;
  }
  .table1 ,.table2 ,.table3 ,.table4 ,.table5 ,.table6 {
    margin-bottom: 20px;
  }
  .table7 table ,.table8 table {
    margin: 0 0 8px;
  }
}

tr {
  width: 100%;
}

th {
  padding-top: 10px;
  padding-bottom: 10px;
  border: 0.5px #6D6F70 solid;
}
@media(max-width: 767px){
  th {
    padding-top: 3px;
    padding-bottom: 3px;
  }
}

caption {
  text-align: left;
  padding-top: 12px;
  font-size: 16px;
  font-weight: 500;
}

.table5 caption {
  text-align: center;
}

.table-th-detail th span {
  display: inline-block;
}


.table-th-detail th span:nth-of-type(2n) {
  margin-left: auto;
}

.table-th-30 {
  width: 30px;
}

.table-th-127 th:not(:first-of-type) {
  width: 127px;
  padding: 10px 0;
}
@media(max-width: 767px){
  .table-th-127 th:not(:first-of-type) {
    width: 22.9vw;
    padding: 3px 0;
  }
}

.table-th-237 {
  width: 237.5px;
}
@media(max-width: 767px){
  .table-th-237 {
    width: 17.86666666666667vw;
  }
  .table4 .table-th-237 {
    width: 50%;
  } 
}

.bk-color-t-2 {
  font-weight: 500;
  font-size: 16px;
}
@media(max-width: 767px){
  .bk-color-t-2 {
    font-size: 3.46vw;
    letter-spacing: -0.08rem;
  }
}

.table-th-font14 {
  font-size: 14px;
  font-weight: 500;
  list-style: 1;
  padding: 2px 0;
}

.table-th-font21 {
  font-size: 21px;
  font-weight: 500;
}
@media(max-width: 767px){
  .table-th-font21 {
    font-size: 4vw;
  }
}

.table-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.table-flex-list {
  width: 475px;
}
@media(max-width: 767px){
  .table-flex-list {
    width: calc(100vw - 40px);
  }
}

.table-flex--2 .table-flex-list th:not(:first-of-type){
  width: calc(100% / 3);
}

.table6 th {
  width: calc(100% / 3);
  padding: 0;
}

.table-th-h60 {
  height: 60px;
}

.fee-region ,.fee-bottom {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
}
@media(max-width: 767px){
  .fee-region {
    text-align: left;
    font-size: 4vw;
    letter-spacing: -0.1rem;
    padding: 10px 0;
  }
}

.fee-bottom {
  margin-top: -25px;
}
@media(max-width: 767px){
  .fee-bottom {
    margin-top: -5px;
  }
}

.access-map {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .access-map {
    flex-wrap: wrap;
  }
}

.access-map li {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .access-map li {
    flex: auto;
    width: 50%;
  }
  #oku .access-map li {
    width: 100%;
  }
}

.access-map li img {
  width: 100%;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  .access-map li:first-of-type {
    order: 2;
    width: 100%;
    aspect-ratio: 1;
  }
}

.access-text {
  text-align: center;
  padding-top: 35px;
}

.access-text h3 {
  font-size: 21px;
  font-weight: 700;
  margin-bottom: 12px;
}

.access-text p {
  font-size: 23px;
  font-weight: 500;
  line-height: 1;
  margin: 5px 0;
}

.access-text p span ,.access-text p small  {
  font-size: 17px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .access-text p span ,.access-text p small  {
    font-size: 4vw;
    letter-spacing: -0.05rem;
  }
}

.access-text p span  {
  padding: 0 10px;
  border: 1px #000 solid;
  border-radius: 2px;
  margin-left: 7px;
}

footer {
  margin-top: 120px;
}    
@media screen and (max-width: 767px) {
  footer {
    margin-top: 0;
  }    
}

footer p {
  padding: 50px 0 30px;
  font-weight: 500;
}