@charset "UTF-8";
/*
Theme Name: main
Theme URI: 
Description: 
Author: ailylab
Author URI: 
Version: 1.0.0
*/
img[src=""] {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 70%;
  border: 1px solid #eee;
}

img[src=""]:after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  font-size: 24px;
  white-space: nowrap;
  content: "※画像準備中※";
}

/****************************************
1.Setting
*****************************************/
html, body, div, span, a, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, em, img, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figcaption, figure, footer, header, menu, nav, section, time, video {
  margin: 0px;
  padding: 0px;
  border: none;
  outline: none;
  box-sizing: border-box;
}

body {
  color: #313131;
  overflow-x: hidden;
  font-family: "Shippori Mincho", serif;
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 600;
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.6;
}

a {
  color: #359ddd;
}

a:hover {
  color: #76b6dd;
}

a[href="#none"] {
  color: #313131;
  text-decoration: none;
  pointer-events: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0px auto;
  -webkit-backface-visibility: hidden; /* IE 9 */
  -webkit-transform: translateZ(0); /* Chrome, Safari, Opera */
  transform: translateZ(0);
}

/* Chromeで縮小したアイコン画像がぼやける現象への対策 */
img[src$=".png"],
img[src$=".gif"] {
  -webkit-backface-visibility: hidden;
}

p {
  line-height: 1.8;
  letter-spacing: 0.02em;
}

p.paragraph:nth-of-type(n + 2) {
  margin: 1.5em 0px 0px;
}

figcaption {
  font-size: clamp(15px, 3.5294117647vw, 18px);
  padding: 0.5em;
  text-align: center;
}

a:hover > figure > img {
  opacity: 0.8;
}

table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

table th,
table td {
  padding: 10px;
  border-bottom: 1px solid #dedede;
}

table th:nth-of-type(n + 2),
table td:nth-of-type(n + 2) {
  border-left: 1px solid #dedede;
}

table th {
  background-color: #edf8ff;
}

@media screen and (max-width: 767.98px) {
  .tbl_wrapper {
    overflow-x: scroll;
  }
  .tbl_wrapper > table {
    width: 767px;
  }
}
address {
  font-style: normal;
}

.video_wrapper video {
  width: 100%;
}

ol.list,
ul.list {
  margin: 0px 0px 0px 1.5em;
}

p + ol.list,
p + ul.list {
  margin: 0.5em 0px 0px 1.5em;
}

ol.list + p,
ul.list + p {
  margin: 0.5em 0px 0px;
}

ol.list > li + li,
ul.list > li + li {
  margin: 1em 0px 0px;
}

ol.list > li > ul,
ul.list > li > ul {
  margin: 1em 0px 0px 1.5em;
}

ol.list > li > .box,
ul.list > li > .box {
  margin: 1em 0px 0px;
}

dl.list {
  border: 1px solid #dedede;
  border-top: none;
}

dl.list > dt,
dl.list > dd {
  padding: 1em;
  margin: 0px;
  border-top: 1px solid #dedede;
}

dl.list > dt {
  background-color: #ecf8fe;
  color: #231815;
  font-weight: bold;
}

.cf:after {
  display: block;
  clear: both;
  content: "";
}

.bw > span,
h1 > span,
h2 > span,
h3 > span,
h4 > span,
h5 > span,
h6 > span,
figcaption > span {
  display: inline-block;
}

@media screen and (max-width: 991px) {
  .pc {
    display: none !important;
  }
}
@media screen and (max-width: 767.98px) {
  .tb {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .mb {
    display: none !important;
  }
}
.center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .pc_center {
    text-align: center;
  }
}
.right {
  text-align: right;
}

.em {
  font-size: 16px;
  font-weight: bold;
}

.if_wrapper {
  position: relative;
  padding-bottom: 56.25%;
}

.if_wrapper iframe {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 60px auto 0px;
}

.pagination > a,
.pagination > span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 2.8em;
  height: 2.8em;
  margin: 30px 0.5em 0px;
  font-size: clamp(14px, 1.8229166667vw, 20px);
  font-weight: 600;
}

.pagination > a:link,
.pagination > a:visited,
.pagination > a:active,
.pagination > a:hover {
  color: #5F1B45;
  text-decoration: none;
}

.pagination > .prev,
.pagination > .next {
  border: 1px solid transparent;
  background-color: transparent;
  width: 100px;
  letter-spacing: 0.11em;
  margin: 30px 2em 0px;
}

.pagination > .prev:before,
.pagination > .next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
}

.pagination > .prev:before {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(225deg);
          transform: translateX(-50%) translateY(-50%) rotate(225deg);
  left: 0;
}

.pagination > .next:before {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
          transform: translateX(-50%) translateY(-50%) rotate(45deg);
  left: 100%;
}

.pagination > .current {
  background-color: #EDDFE8;
  color: #5F1B45;
}

.link_prev,
.link_next {
  position: relative;
  padding: 0px 1em;
}

.link_prev {
  float: left;
}

.link_next {
  float: right;
}

.link_prev:before,
.link_next:after {
  position: absolute;
  top: 50%;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
}

.link_prev:before {
  left: 0px;
  -webkit-transform: translateY(-50%) rotate(225deg);
          transform: translateY(-50%) rotate(225deg);
}

.link_next:after {
  right: 0px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 1em 0px;
  margin-left: 70px;
  list-style: none;
  color: #5F1B45;
}
.breadcrumb a {
  color: #5F1B45;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    margin-left: 0;
  }
}

.breadcrumb > li {
  position: relative;
  font-size: 14px;
}

.breadcrumb > li:nth-of-type(n + 2) {
  padding: 0px 0px 0px 2.5em;
}

.breadcrumb > li:nth-of-type(n + 2):before {
  position: absolute;
  top: 50%;
  left: 1em;
  width: 0.5em;
  height: 0.5em;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  border-right: 1px solid #5F1B45;
  border-top: 1px solid #5F1B45;
  content: "";
}

.list_slash {
  list-style: none;
}

.list_slash > li {
  display: inline-block;
  position: relative;
}

.list_slash > li:not(:last-child)::after {
  margin: 0px 0.5em;
  content: "/";
}

/****************************************
2. Layout 
*****************************************/
.mt1em {
  margin-top: 1em;
}

.mt30 {
  margin-top: 30px;
}

.section {
  padding: 30px 0px 30px 0px;
}

div[class=col],
div[class^=col-] {
  margin-top: 30px;
}

.row.no_mt {
  margin-top: -30px;
}

.container {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .container {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}

@media print, (min-width: 992px) {
  .container {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 576px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 1300px) {
  .container {
    max-width: 1430px;
  }
}
.container_s {
  padding: 0px 15px;
  width: 100%;
}

@media print, (min-width: 992px) {
  .container_s {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
}
@media (min-width: 768px) {
  .container_s {
    max-width: 768px;
  }
}
@media print, (min-width: 768px) {
  .col2 {
    display: flex;
    padding: 0px 0px 60px;
  }
  .col2_main {
    order: 2;
    width: 75%;
  }
  .col2_side {
    order: 1;
    margin: 0px 20px 0px 0px;
    width: calc(25% - 20px);
  }
}
@media screen and (max-width: 767.98px) {
  .col2_side {
    margin: 30px 0px 0px;
  }
}
/*================================ 共通 ==*/
body {
  background-image: url("./images/common/bg.jpg");
  background-repeat: repeat;
}

.vertical {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}

.common-button, .home .section-top-news .button, .common-button-fill {
  display: block;
  max-width: 285px;
  width: 100%;
  height: 60px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  padding: 22px 10px 0 54px;
  margin: auto;
  color: #650246;
  border: solid 1px #650246;
  text-decoration: none;
  position: relative;
  transition: 0.3s;
}
.common-button::after, .home .section-top-news .button::after, .common-button-fill::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258.551%22%20height%3D%2211.64%22%20viewBox%3D%220%200%2058.551%2011.64%22%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill%3Anone%3Bstroke%3A%23650246%3Bstroke-linecap%3Around%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(0.5%200.64)%22%3E%3Cline%20class%3D%22a%22%20x2%3D%2257.411%22%20transform%3D%22translate(0%2010.36)%22%2F%3E%3Cline%20class%3D%22a%22%20x2%3D%2228.75%22%20y2%3D%2210.36%22%20transform%3D%22translate(28.661)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: 18%;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 8%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  transition: 0.3s;
}
.common-button:hover, .home .section-top-news .button:hover, .common-button-fill:hover {
  color: #fff;
  background-color: #650246;
}
.common-button:hover::after, .home .section-top-news .button:hover::after, .common-button-fill:hover::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258.139%22%20height%3D%2211.278%22%20viewBox%3D%220%200%2058.139%2011.278%22%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(0.544%200.139)%22%3E%3Cline%20class%3D%22a%22%20x2%3D%2257%22%20transform%3D%22translate(-0.044%2010.5)%22%2F%3E%3Cline%20class%3D%22a%22%20x2%3D%2228%22%20y2%3D%2210%22%20transform%3D%22translate(28.956%200.5)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  right: 28px;
}

.common-button-fill {
  font-size: 22px;
  padding: 18px 10px 0 54px;
  max-width: 315px;
  color: #fff;
  background-color: #650246;
  margin-left: 0;
  margin-top: 43px;
}
.common-button-fill::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258.139%22%20height%3D%2211.278%22%20viewBox%3D%220%200%2058.139%2011.278%22%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(0.544%200.139)%22%3E%3Cline%20class%3D%22a%22%20x2%3D%2257%22%20transform%3D%22translate(-0.044%2010.5)%22%2F%3E%3Cline%20class%3D%22a%22%20x2%3D%2228%22%20y2%3D%2210%22%20transform%3D%22translate(28.956%200.5)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.common-button-fill:hover {
  color: #650246;
  background-color: #fff;
}
.common-button-fill:hover::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258.551%22%20height%3D%2211.64%22%20viewBox%3D%220%200%2058.551%2011.64%22%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill%3Anone%3Bstroke%3A%23650246%3Bstroke-linecap%3Around%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(0.5%200.64)%22%3E%3Cline%20class%3D%22a%22%20x2%3D%2257.411%22%20transform%3D%22translate(0%2010.36)%22%2F%3E%3Cline%20class%3D%22a%22%20x2%3D%2228.75%22%20y2%3D%2210.36%22%20transform%3D%22translate(28.661)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

.font20 {
  font-size: 20px;
  line-height: 1.8;
}

.semi-bold {
  font-weight: 600;
}

.page-about .heading-big, .page-guide .heading-big {
  font-size: clamp(30px, 3.90625vw, 50px);
}
@media screen and (max-width: 767px) {
  .page-about .heading-big, .page-guide .heading-big {
    font-size: clamp(23px, 6.1333333333vw, 30px);
  }
}

.page-pet .heading-big, .category-news .heading-big {
  font-size: clamp(30px, 3.90625vw, 45px);
}

.heading-big {
  color: #5F1B45;
  font-weight: 500;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.1em;
  line-height: 1;
  border-right: solid 2px #5F1B45;
  padding: 0 47px 0 68px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 20px;
}
.heading-big .font30 {
  font-size: clamp(20px, 2.6041666667vw, 30px);
}
.heading-big .font34 {
  font-size: clamp(24px, 3.125vw, 34px);
}
@media screen and (max-width: 1024px) {
  .heading-big {
    padding: 0 30px;
  }
}
@media screen and (max-width: 600px) {
  .heading-big {
    padding: 0 20px 0 0;
    margin-right: 0;
  }
}

.heading-mid {
  font-size: clamp(26px, 3.3898305085vw, 35px);
  font-weight: 600;
  color: #5F1B45;
}
@media screen and (max-width: 767px) {
  .heading-mid {
    font-size: clamp(19px, 4.75vw, 23px);
  }
}

.heading-small {
  font-size: clamp(24px, 3.1290743155vw, 29px);
  font-weight: 600;
  color: #5F1B45;
}
@media screen and (max-width: 767px) {
  .heading-small {
    font-size: clamp(18px, 4.2352941176vw, 22px);
  }
}

.heading-line-left {
  position: relative;
  margin-left: 50px;
  letter-spacing: 0.01em;
  margin-bottom: 53px;
  color: #5F1B45;
}
.heading-line-left::before {
  content: "";
  width: 30px;
  height: 2px;
  background-color: #5F1B45;
  position: absolute;
  top: 50%;
  left: -50px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .heading-line-left {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 500px) {
  .heading-line-left {
    margin-left: 40px;
  }
  .heading-line-left::before {
    left: -40px;
  }
}

.line-top-bottom {
  letter-spacing: 0.01em;
  margin: 100px 0 22px;
  color: #5F1B45;
  border-top: solid 1.5px #5F1B45;
  border-bottom: solid 1.5px #5F1B45;
  width: 100%;
  padding: 30px 10px 27px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .line-top-bottom {
    margin-bottom: 30px;
  }
}

.common-table table, .common-table td, .common-table th {
  border-top: 1px solid #D6BBCC;
  border-bottom: 1px solid #D6BBCC;
  border-collapse: collapse;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.common-table th {
  font-size: clamp(22px, 2.8683181226vw, 29px);
  color: #5F1B45;
  background: #EDDFE8;
  width: 25%;
  min-width: 33px;
}
.common-table td {
  background-color: #FEFCF6;
  padding: 63px 20px 63px 78px;
  line-height: 1.8;
}
.common-table .td-map {
  padding: 50px 30px 40px !important;
}
.common-table ul {
  list-style: none;
}
.common-table .text1 {
  margin-left: 16px;
  display: inline-block;
}
.common-table .text2 {
  display: inline-block;
}
.common-table dt {
  color: #5F1B45;
  font-size: clamp(22px, 2.8683181226vw, 29px);
  display: flex;
  align-items: center;
  gap: 40px;
}
.common-table dt img {
  margin: 0;
  margin-bottom: 0 !important;
}
.common-table dd {
  margin-left: 96px;
}
.common-table iframe {
  width: 100%;
  aspect-ratio: 785/440;
  height: auto;
}
@media screen and (max-width: 767px) {
  .common-table td, .common-table th {
    font-size: clamp(16px, 3.5555555556vw, 18px);
  }
  .common-table th {
    width: 26%;
  }
  .common-table td {
    padding: 33px 10px 33px 20px;
  }
  .common-table .td-map {
    padding: 28px 10px !important;
  }
}
@media screen and (max-width: 400px) {
  .common-table .text1 {
    margin-left: 0;
    display: block;
  }
}

/*************** bizカレンダー設定 *************/
/*定休日の色を変更*/
#biz_calendar table.bizcal .holiday {
  background-color: #aa196d;
}

#biz_calendar p span.boxholiday {
  background-color: #aa196d;
}

/*イベント開催日の色を変更*/
#biz_calendar table.bizcal .eventday {
  background-color: #D8AB32;
}

#biz_calendar p span.boxeventday {
  background-color: #D8AB32;
}

#biz_calendar {
  max-width: 500px;
  margin-left: 0;
}

#biz_calendar table.bizcal td, #biz_calendar table.bizcal th {
  padding: 6px;
}

#biz_calendar table.bizcal .calmonth {
  padding: 7px 7px;
}

/**************** スクロールアニメーション *************/
.fadeIn-title {
  -webkit-animation-name: fadeInAnimetitle;
          animation-name: fadeInAnimetitle;
  -webkit-animation-duration: 5s;
          animation-duration: 5s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnimetitle {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnimetitle {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn1 {
  -webkit-animation-name: fadeInAnime1;
          animation-name: fadeInAnime1;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime1 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInAnime1 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fadeIn2 {
  -webkit-animation-name: fadeInAnime2;
          animation-name: fadeInAnime2;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime2 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInAnime2 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fadeIn3 {
  -webkit-animation-name: fadeInAnime3;
          animation-name: fadeInAnime3;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime3 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInAnime3 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/***************************    トップページ  *****/
.home .slider {
  overflow: hidden;
}
.home .slider .slick-img img {
  width: 100%;
}
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
.home .slider .add-animation {
  -webkit-animation: zoomUp 10s linear 0s normal both;
          animation: zoomUp 10s linear 0s normal both;
}
@media screen and (max-width: 767px) {
  .home .slider .slick-img img {
    height: 70vh;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.home .wrap-mv {
  position: relative;
  margin-top: 144px;
  opacity: 0;
}
.home .wrap-mv .mv-title {
  position: absolute;
  margin: auto;
  inset: 0;
  max-width: 141px;
  min-width: 90px;
  width: 9vw;
}
@media screen and (max-width: 767px) {
  .home .wrap-mv {
    margin-top: 0;
  }
}
.home .wrap-mv::before, .home .wrap-mv::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  max-width: 347px;
  width: 25%;
  height: auto;
  aspect-ratio: 347/293;
  position: absolute;
  bottom: -293px;
  z-index: -1;
}
.home .wrap-mv::before {
  background-image: url("./images/top/leaf01.png");
  left: 0;
}
.home .wrap-mv::after {
  background-image: url("./images/top/leaf02.png");
  right: 0;
}
@media screen and (max-width: 1400px) {
  .home .wrap-mv::before, .home .wrap-mv::after {
    bottom: -21vw;
  }
}
@media screen and (max-width: 500px) {
  .home .wrap-mv::before, .home .wrap-mv::after {
    width: 30%;
    bottom: -24vw;
  }
}
.home .main {
  position: relative;
}
.home .banner-pet {
  padding-top: 116px;
  margin: 0 auto 120px;
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
.home .banner-pet:hover {
  -webkit-transform: scale(0.99);
          transform: scale(0.99);
}
@media screen and (max-width: 1400px) {
  .home .banner-pet {
    padding-top: 7.25vw;
    max-width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .home .banner-pet {
    margin: 0 auto 8.5vw;
    max-width: 95%;
  }
}
.home .section-top-info h2 {
  font-size: 49px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #762256;
  padding: 94px 127px 0;
  position: relative;
}
.home .section-top-info h2::before {
  content: "";
  background-image: url("./images/common/icon-tera.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 72px;
  height: auto;
  aspect-ratio: 72/53;
  position: absolute;
  top: 15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 1400px) {
  .home .section-top-info h2 {
    padding: 94px 5vw 0;
    font-size: clamp(35px, 4.5572916667vw, 42px);
  }
}
.home .section-top-info .wrap-info {
  display: flex;
  margin-bottom: 308px;
}
.home .section-top-info .wrap-info p {
  margin-bottom: 37px;
}
.home .section-top-info .wrap-info .float-text {
  display: none;
}
@media screen and (max-width: 767px) {
  .home .section-top-info .wrap-info {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 550px) {
  .home .section-top-info .wrap-info {
    display: inline;
  }
  .home .section-top-info .wrap-info h2 {
    display: block;
    float: left;
    margin-right: 20px;
    width: 80px;
    height: 320px;
    font-size: 28px;
    padding: 75px 2.8vw 0;
  }
  .home .section-top-info .wrap-info h2::before {
    width: 50px;
    height: auto;
    left: 55%;
  }
  .home .section-top-info .wrap-info .float-text {
    display: block;
    font-size: 18px;
    line-height: 2;
    text-align: justify;
    width: 100%;
  }
  .home .section-top-info .wrap-info .sp-none {
    display: none;
  }
}
.home .section-top-info .wrap-link {
  display: flex;
  gap: 42px;
}
.home .section-top-info .wrap-link h3 {
  font-size: 35px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  display: block;
  width: 89px;
  height: 399px;
  color: #fff;
  background-color: #650046;
  position: absolute;
  top: -200px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
  padding: 70px 27px 10px;
}
.home .section-top-info .wrap-link h3::before {
  content: "";
  background-image: url("./images/common/pattern.png");
  background-repeat: repeat;
  background-size: contain;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.home .section-top-info .wrap-link .box {
  position: relative;
  width: 33.3%;
  opacity: 0;
}
.home .section-top-info .wrap-link .box:nth-child(2) {
  margin-top: 72px;
}
.home .section-top-info .wrap-link .box:nth-child(2) h3 {
  background-color: #044D12;
  height: 408px;
  padding-top: 56px;
}
.home .section-top-info .wrap-link .box:nth-child(3) {
  margin-top: 154px;
}
.home .section-top-info .wrap-link .box:nth-child(3) h3 {
  background-color: #152155;
  height: 413px;
  padding-top: 90px;
}
.home .section-top-info .wrap-link .box p {
  margin: 28px auto 60px;
}
@media screen and (max-width: 1024px) {
  .home .section-top-info .wrap-link {
    gap: 2vw;
  }
  .home .section-top-info .wrap-link .box h3 {
    font-size: 23px;
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    height: -webkit-fit-content !important;
    height: -moz-fit-content !important;
    height: fit-content !important;
    padding: 60px 18px;
    min-height: 330px;
  }
}
@media screen and (max-width: 767px) {
  .home .section-top-info .wrap-link {
    flex-direction: column;
    align-items: center;
  }
  .home .section-top-info .wrap-link h3 {
    top: -140px;
  }
  .home .section-top-info .wrap-link .box {
    width: 100%;
    max-width: 435px;
    margin-top: 260px !important;
  }
  .home .section-top-info .wrap-link .box h3 {
    font-size: 23px;
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    height: -webkit-fit-content !important;
    height: -moz-fit-content !important;
    height: fit-content !important;
    padding: 60px 18px;
    min-height: 330px;
  }
  .home .section-top-info .wrap-link .box p {
    margin: 20px auto 20px;
  }
}
.home .section-top-news {
  margin-top: 142px;
  padding-bottom: 344px;
}
.home .section-top-news .outer {
  border-top: solid 6px #E3D7B3;
  background-color: #FEFCF6;
  padding: 92px 190px 60px 145px;
  margin: auto 80px;
  position: relative;
}
.home .section-top-news .inner {
  display: flex;
  gap: 5em;
}
.home .section-top-news h2 {
  font-size: 32px;
  letter-spacing: 0.2em;
  color: #650246;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 145px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.home .section-top-news .wrap {
  max-width: 640px;
  width: 80%;
  margin-left: auto;
}
.home .section-top-news .wrap .box {
  display: flex;
  gap: 60px;
  padding: 16px 0;
  border-bottom: solid 1px #DBDAD3;
  font-size: 18px;
}
.home .section-top-news .wrap .box p {
  line-height: 1.6;
}
.home .section-top-news .wrap .box .date {
  min-width: 150px;
}
.home .section-top-news .wrap .box a {
  color: #0C0D0D;
  text-decoration: none;
}
.home .section-top-news .button {
  margin: 45px auto 0;
  font-size: 17px;
  letter-spacing: 0.02em;
  width: 211px;
  height: 52px;
  padding: 15px 10px 15px 44px;
}
.home .section-top-news .button::after {
  top: 45%;
  right: 8%;
  width: 8px;
  height: 8px;
  border-top: 1px solid #650246;
  border-right: 1px solid #650246;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.home .section-top-news .button:hover::after {
  right: 9%;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media screen and (max-width: 1440px) {
  .home .section-top-news {
    padding-bottom: 160px;
  }
}
@media screen and (max-width: 1110px) {
  .home .section-top-news .outer {
    padding: 92px 10% 60px 8%;
    margin: auto 0;
  }
  .home .section-top-news h2 {
    font-size: clamp(24px, 4.3636363636vw, 30px);
    left: 8%;
  }
  .home .section-top-news .wrap {
    max-width: 750px;
    width: 80%;
  }
  .home .section-top-news .wrap .box {
    gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .home .section-top-news .container {
    padding: 0;
  }
  .home .section-top-news .outer {
    padding: 60px 4% 60px 6%;
    margin: auto 0;
  }
  .home .section-top-news h2 {
    left: 6%;
  }
  .home .section-top-news .wrap .box {
    flex-direction: column;
  }
  .home .section-top-news .wrap .box p {
    font-size: 17px;
  }
}

/***************************    下層ページ  *****/
.section-outer {
  opacity: 0;
  display: flex;
  align-items: flex-start;
  gap: 7.5%;
  margin-bottom: 220px;
  color: #2B3131;
  /* 略年表 */
}
.section-outer p {
  margin-bottom: 22px;
  font-weight: 600;
}
.section-outer .wrap-detail {
  width: 82%;
}
.section-outer .wrap-detail img {
  margin-bottom: 50px;
  -o-object-fit: contain;
     object-fit: contain;
}
.section-outer .wrap-detail-inner {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}
.section-outer .wrap {
  display: flex;
  align-items: flex-start;
  gap: 2.8%;
  margin-top: 60px;
  margin-bottom: 94px;
}
.section-outer .wrap .box {
  margin-top: -9px;
}
.section-outer .wrap-history-table {
  background-color: #FEFCF6;
  padding: 50px 37px 80px;
}
.section-outer .wrap-history-table .inner {
  list-style: none;
  display: block;
}
.section-outer .wrap-history-table .inner .box {
  display: flex;
  align-items: flex-start;
  padding: 15px 18px;
  border-bottom: solid 1px #DBDAD3;
}
.section-outer .wrap-history-table .inner .box p {
  margin-bottom: inherit;
  letter-spacing: 0.02em;
}
.section-outer .wrap-history-table .inner .box .year {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-width: 180px;
  color: #762256;
}
.section-outer .wrap-history-table .inner .box .year span {
  font-size: 14px;
}
.section-outer .wrap-history-table .inner .box:last-child {
  border-bottom: none;
}
.section-outer .common-table tr:last-child > td {
  padding: 33px 20px 70px 40px;
}
@media screen and (max-width: 1024px) {
  .section-outer {
    gap: 7%;
    margin-bottom: 100px;
  }
  .section-outer .wrap-float {
    display: inline-block;
  }
  .section-outer .wrap-float img {
    display: block;
    float: left;
    width: 25%;
    min-width: 200px;
    margin: 0 20px 10px 0;
  }
  .section-outer .wrap-float .float-text {
    display: block;
    width: 100%;
  }
  .section-outer .wrap-float .img-history02 {
    width: 25%;
    min-width: 150px;
  }
}
@media screen and (max-width: 767px) {
  .section-outer {
    margin-bottom: 80px;
    gap: 5%;
  }
  .section-outer .heading-big {
    margin-top: 0;
    margin-right: 0;
    padding: 0 24px 0 0;
    font-size: clamp(21px, 4.375vw, 23px);
  }
  .section-outer .sp-wide-text {
    width: 91vw;
    margin-left: -11vw;
    margin-bottom: 20px;
  }
  .section-outer .wrap-detail {
    width: 88%;
  }
  .section-outer .wrap-detail img {
    margin-bottom: 20px;
  }
  .section-outer .wrap-history-table {
    padding: 30px 20px 50px;
  }
  .section-outer .wrap-history-table .inner .box {
    flex-direction: column;
  }
  .section-outer .common-table tr:last-child > td {
    padding: 33px 10px 70px 20px;
  }
}
@media screen and (max-width: 620px) {
  .section-outer .wrap-detail {
    width: 86%;
  }
  .section-outer .sp-wide-text {
    margin-left: -13vw;
  }
}
@media screen and (max-width: 500px) {
  .section-outer .heading-big {
    margin-right: 0;
    margin-top: 0;
    padding: 0 14px 0 0;
  }
  .section-outer .wrap-history-table {
    padding: 20px 10px 30px;
  }
  .section-outer .sp-wide-text {
    width: 90vw;
  }
}
@media screen and (max-width: 430px) {
  .section-outer .sp-wide-text {
    margin-left: -15vw;
  }
}

.section-history .sp-only {
  display: none;
}
@media screen and (max-width: 550px) {
  .section-history .sp-only {
    display: inline;
  }
  .section-history .pc-only {
    display: none;
  }
  .section-history .sp-wide-text {
    margin-top: 50px;
  }
  .section-history .wrap-float {
    display: flex;
    flex-direction: column;
  }
  .section-history .wrap-float .img-history02 {
    width: 100%;
  }
}

@media screen and (max-width: 630px) {
  .section-honzon .sp-wide-text {
    margin-top: 10px;
  }
}
@media screen and (max-width: 460px) {
  .section-honzon .sp-wide-text {
    margin-top: 50px;
  }
}
@media screen and (max-width: 400px) {
  .section-honzon .sp-wide-text {
    margin-top: 90px;
  }
}

.section-rakanzu .heading-big {
  margin-top: -10px;
}
.section-rakanzu .wrap-float {
  display: inline-block;
}
.section-rakanzu .wrap-float .float-text {
  display: block;
  width: 100%;
}
.section-rakanzu .wrap-float .img-rakanzu {
  display: block;
  float: left;
  width: 50%;
  min-width: 350px;
  margin: 10px 20px 30px 0;
}
@media screen and (max-width: 1024px) {
  .section-rakanzu .heading-big {
    margin-top: 10px;
  }
  .section-rakanzu .wrap-float .img-rakanzu {
    width: 40%;
    margin: 10px 20px 10px 0;
  }
}
@media screen and (max-width: 767px) {
  .section-rakanzu .wrap-float .img-rakanzu {
    width: 30%;
    min-width: 180px;
  }
}
@media screen and (max-width: 560px) {
  .section-rakanzu .sp-wide-text2 {
    width: 90vw;
    margin-left: -11vw;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 460px) {
  .section-rakanzu .wrap-float {
    display: flex;
    flex-direction: column;
  }
  .section-rakanzu .wrap-float .img-rakanzu {
    width: 100%;
  }
  .section-rakanzu .sp-wide-text2, .section-rakanzu .sp-wide-text3 {
    width: 90vw;
    margin-left: -13vw;
  }
}
@media screen and (max-width: 405px) {
  .section-rakanzu .sp-wide-text2, .section-rakanzu .sp-wide-text3 {
    width: 89vw;
    margin-left: -16vw;
  }
}

.section-sanmon .wrap-detail-inner {
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}
.section-sanmon .wrap-detail-inner .box {
  width: calc(50% - 26px);
}
.section-sanmon .wrap-detail-inner .box img {
  width: auto;
  height: 516px;
  -o-object-position: top;
     object-position: top;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .section-sanmon .wrap-detail-inner .box {
    width: calc(50% - 26px);
  }
  .section-sanmon .wrap-detail-inner .box img {
    width: auto;
    height: auto;
    aspect-ratio: 553/516;
    -o-object-position: top;
       object-position: top;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 550px) {
  .section-sanmon .wrap-detail-inner .box {
    width: 100%;
  }
}

.section-taimamandara .wrap-detail-inner {
  gap: 3.7%;
}
.section-taimamandara .wrap-detail-inner figure {
  margin-bottom: 20px;
}
.section-taimamandara .wrap-detail-inner figure, .section-taimamandara .wrap-detail-inner p {
  flex-basis: 50%;
}
.section-taimamandara .wrap-detail-inner img {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .section-taimamandara .wrap-detail-inner {
    display: flex;
    flex-direction: column;
  }
}

.section-temple .wrap-detail, .section-parking .wrap-detail {
  margin: 20px auto 0;
  /* bxSlider */
}
.section-temple .wrap-detail img, .section-parking .wrap-detail img {
  width: 100%;
  height: auto;
}
.section-temple .wrap-detail .bx-pager, .section-parking .wrap-detail .bx-pager {
  display: flex;
  gap: 5px;
}
.section-temple .wrap-detail .bx-pager a:not(.active), .section-parking .wrap-detail .bx-pager a:not(.active) {
  -webkit-filter: brightness(0.6);
          filter: brightness(0.6);
}
.section-temple .wrap-detail .bx-pager a, .section-parking .wrap-detail .bx-pager a {
  width: 25%;
}
.section-temple .wrap-detail .bx-pager a img, .section-parking .wrap-detail .bx-pager a img {
  width: 100%;
}
.section-temple .wrap-detail .bx-wrapper, .section-parking .wrap-detail .bx-wrapper {
  margin-bottom: 0 !important;
}
.section-temple .wrap-detail #bxslider img, .section-parking .wrap-detail #bxslider img {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .section-temple .wrap-detail, .section-parking .wrap-detail {
    margin: 0 auto 0;
    width: 87%;
  }
}

@media screen and (max-width: 767px) {
  .section-festival .section-outer .sp-wide-text {
    width: 91vw;
    margin-left: -15vw;
    margin-top: 40px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 600px) {
  .section-festival .section-outer .sp-wide-text {
    width: 88vw;
    margin-left: -15vw;
  }
}
@media screen and (max-width: 375px) {
  .section-festival .section-outer .sp-wide-text {
    width: 88vw;
    margin-left: -18vw;
  }
}

@media screen and (max-width: 800px) {
  .section-festival .wrap-detail {
    width: 76%;
  }
}

div[class=col], div[class^=col-] {
  margin-top: 0;
}

/***************************    ペット供養ページ  *****/
.page-pet .heading-line-left {
  margin-bottom: 40px;
}
.page-pet .section-outer .wrap-detail img {
  margin-bottom: initial;
}
.page-pet .main {
  overflow-x: initial;
}
.page-pet .main section {
  position: relative;
}
.page-pet .main section::before {
  content: "";
  background-image: url("./images/pet/bg-pink.png");
  background-repeat: no-repeat;
  background-size: contain;
  width: 47vw;
  height: auto;
  aspect-ratio: 762/470;
  position: absolute;
  top: -70px;
  top: -3em;
  left: calc((100vw - 1400px) / 2 * -1);
  z-index: -1;
}
.page-pet .main section::after {
  content: "";
  background-image: url("./images/pet/bg-blue.png");
  background-repeat: no-repeat;
  background-size: contain;
  width: 44vw;
  height: auto;
  aspect-ratio: 717/444;
  position: absolute;
  bottom: 120px;
  right: calc((100vw - 1400px) / 2 * -1);
  z-index: -1;
}
.page-pet .main .section-info::after {
  content: none;
}
.page-pet .main .section-memorial-tower::before {
  content: none;
}
@media screen and (max-width: 1400px) {
  .page-pet .main section::before {
    left: -20px;
  }
  .page-pet .main section::after {
    right: -20px;
  }
}
@media screen and (max-width: 767px) {
  .page-pet .heading-line-left {
    margin-top: 10px;
    margin-bottom: 20px !important;
  }
  .page-pet .main section::before {
    left: -30px;
  }
  .page-pet .main section::after {
    right: -30px;
  }
}
@media screen and (max-width: 500px) {
  .page-pet .main section::before {
    width: 70vw;
  }
  .page-pet .main section::after {
    width: 70vw;
  }
}

.section-info .section-outer {
  margin-bottom: 80px;
}
.section-info .wrap-born {
  margin-bottom: 35px;
}
.section-info .wrap-pet {
  margin-top: -40px;
  margin-bottom: 20px;
}
.section-info .wrap-pet figure {
  width: 20%;
}
.section-info .wrap-pet img {
  margin-bottom: 16px;
}
.section-info .pet-acceptable {
  font-size: 16px;
  padding-left: 2vw;
  margin-bottom: 50px;
}
@media screen and (max-width: 575px) {
  .section-info .wrap-born {
    margin: 0 calc(50% - 52vw);
    width: 92vw;
  }
  .section-info .wrap-pet {
    justify-content: center;
    margin: -20px calc(50% - 52vw) 20px;
    width: 92vw;
  }
  .section-info .wrap-pet figure {
    width: 30%;
  }
  .section-info .wrap-pet img {
    margin-bottom: 20px;
  }
  .section-info .pet-acceptable {
    font-size: 14px;
    padding-left: initial;
  }
}

.section-memorial-tower {
  padding-bottom: 140px;
}
.section-memorial-tower .wrap-memorial-tower {
  margin-top: 35px;
}
.section-memorial-tower .wrap-memorial-tower div {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .section-memorial-tower .wrap-memorial-tower {
    margin: 35px calc(50% - 52vw) 0px;
    width: 92vw;
  }
  .section-memorial-tower .wrap-memorial-tower img {
    width: 100%;
  }
}

.section-individual {
  padding-bottom: 110px;
}
.section-individual .img-individual {
  margin-top: 64px;
}
.section-individual h3 {
  margin-top: 20px;
}
.section-individual .text1, .section-individual .text2 {
  width: 83%;
}
.section-individual .text2 {
  margin-top: -5px;
  margin-bottom: 30px;
}
.section-individual .wrap-stupa {
  margin-top: 25px;
  margin-bottom: 120px;
}
.section-individual .wrap-plate {
  margin-top: -20px;
}
@media screen and (max-width: 767px) {
  .section-individual .text-small {
    font-size: 16px;
  }
  .section-individual .img-individual {
    margin-top: 20px;
    margin-bottom: 50px !important;
  }
  .section-individual .text1, .section-individual .text2 {
    width: 100%;
  }
  .section-individual .wrap-stupa img {
    width: 100%;
  }
  .section-individual .wrap-plate {
    flex-direction: column-reverse;
    gap: 20px;
    margin-top: 0;
  }
  .section-individual .wrap-plate img {
    width: 100%;
  }
}

.section-other {
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.section-other .mt {
  margin-top: 97px;
}
@media screen and (max-width: 767px) {
  .section-other .mt {
    margin-top: 40px;
  }
}

.section-schedule {
  padding-bottom: 350px;
  margin-bottom: 100px;
}
.section-schedule .heading-line-left {
  margin-bottom: 21px;
}
.section-schedule .wrap-calender {
  margin-bottom: 84px;
}
.section-schedule .wrap-time {
  margin-bottom: 117px;
}
.section-schedule .wrap-time .common-table th {
  font-size: inherit;
}
.section-schedule .wrap-time .common-table td {
  padding: 44px 20px 44px 50px;
}
.section-schedule .wrap-bring01 figcaption, .section-schedule .wrap-bring02 figcaption {
  font-size: clamp(22px, 2.8683181226vw, 28px);
  font-weight: 600;
  color: #5F1B45;
  padding: 0;
}
.section-schedule .wrap-bring01 {
  max-width: 720px;
  margin: auto;
}
.section-schedule .wrap-bring01 .text {
  margin-top: 20px;
}
.section-schedule .wrap-bring02 {
  margin-bottom: 190px;
}
.section-schedule .wrap-flow01 {
  max-width: 810px;
  margin-top: 100px;
}
.section-schedule .wrap-flow01 .box img {
  margin-bottom: 20px;
}
.section-schedule .wrap-flow01 .box-circle {
  position: relative;
}
.section-schedule .wrap-flow01 .icon-arrow-down {
  position: absolute;
  left: 50%;
  bottom: 0;
  height: 15vw;
  max-height: 190px;
}
.section-schedule .wrap-flow01 .col-3 {
  padding: 0;
}
.section-schedule .wrap-flow02 {
  margin-top: 69px;
}
.section-schedule .wrap-flow02 h4 {
  font-size: clamp(24px, 3.1290743155vw, 34px);
  font-weight: 600;
  color: #5F1B45;
  margin-bottom: 30px;
}
.section-schedule .circle {
  font-size: clamp(26px, 2.5390625vw, 34px);
  font-weight: 600;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border: solid 1px #875571;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #5F1B45;
  margin-top: 80px;
}
@media screen and (max-width: 1024px) {
  .section-schedule .wrap-flow01 {
    max-width: 100%;
  }
  .section-schedule .circle {
    font-size: clamp(18px, 4.1860465116vw, 26px);
  }
}
@media screen and (max-width: 767px) {
  .section-schedule {
    padding-bottom: 160px;
    margin-bottom: 0;
  }
  .section-schedule .wrap-bring01 figcaption, .section-schedule .wrap-bring02 figcaption {
    font-size: clamp(18px, 2.8683181226vw, 20px);
  }
  .section-schedule .wrap-bring02 {
    margin-bottom: 100px;
  }
  .section-schedule .common-table {
    max-width: 520px;
    margin-bottom: 20px;
  }
  .section-schedule .common-table td {
    padding: 30px 20px 30px 50px !important;
  }
  .section-schedule .wrap-time {
    margin-bottom: 50px;
  }
  .section-schedule .sp-wide-wrap {
    margin: 0 calc(50% - 50vw);
    width: 88vw;
  }
  .section-schedule .wrap-flow01 {
    margin-top: 30px;
    flex-wrap: nowrap;
  }
  .section-schedule .wrap-flow01 .icon-arrow-down {
    height: 40%;
    max-height: none;
    bottom: 30px;
  }
  .section-schedule .wrap-flow01 .col-3 {
    margin-left: 20px;
  }
  .section-schedule .wrap-flow01 .col-8 {
    padding-right: 0;
  }
  .section-schedule .wrap-flow02 h4 {
    margin: 0 0 10px;
  }
  .section-schedule .wrap-flow02 img {
    margin-bottom: 20px !important;
  }
  .section-schedule .circle {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 500px) {
  .section-schedule {
    padding-bottom: 20px;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 425px) {
  .section-schedule .wrap-calender {
    margin: 50px calc(50% - 50vw);
    width: 85vw;
  }
}

.section-service {
  padding-bottom: 8vw;
}
.section-service .text {
  margin-top: 36px;
}
@media screen and (max-width: 1400px) {
  .section-service {
    padding-bottom: 3vw;
  }
}
@media screen and (max-width: 1024px) {
  .section-service {
    padding-bottom: 4vw;
  }
}

/***************************    参拝のご案内ページ  *****/
@media screen and (max-width: 767px) {
  .page-guide .container {
    padding-left: 1em;
    padding-right: 1em;
  }
  .page-guide .common-table dt {
    font-size: clamp(16px, 4.2666666667vw, 20px);
    gap: 20px;
  }
  .page-guide .common-table dt img {
    width: 30px;
  }
  .page-guide .common-table dd {
    margin-left: 60px;
  }
}
@media screen and (max-width: 550px) {
  .page-guide .common-table th {
    width: 12%;
    min-width: 33px;
  }
  .page-guide .common-table td {
    width: 70%;
    padding: 33px 10px 33px;
  }
  .page-guide .common-table dd {
    margin-left: 0;
    margin-top: 10px;
  }
}
@media screen and (max-width: 435px) {
  .page-guide .common-table dt {
    gap: 10px;
  }
  .page-guide .common-table dd span {
    display: block;
  }
}

/***************************    カテゴリーページ  *****/
.archive .list_news {
  display: flex;
  gap: 10px 3.6vw;
  align-items: center;
  padding: 5.3% 0 4.7%;
  border-bottom: 2px dashed #B2B1A6;
}
.archive .list_news .box-date {
  display: flex;
  gap: 3vw;
  align-items: center;
}
.archive .list_news .date, .archive .list_news .text {
  font-size: clamp(18px, 2.34375vw, 24px);
}
.archive .list_news .cat {
  font-size: clamp(14px, 1.8229166667vw, 20px);
  color: #fff;
  padding: 14px 29px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  line-height: 1;
}
.archive .list_news .text a {
  color: #2B3131;
  text-decoration: none;
}
.archive .list_news:first-child {
  border-top: 2px dashed #B2B1A6;
}
@media screen and (max-width: 1024px) {
  .archive .list_news .cat {
    padding: 12px 20px;
  }
}
@media screen and (max-width: 767px) {
  .archive .list_news {
    flex-direction: column;
    align-items: flex-start;
  }
  .archive .list_news .cat {
    padding: 8px 16px;
  }
}
@media screen and (max-width: 500px) {
  .archive .section-outer .heading-big {
    display: none;
  }
}

/***************************    プライバシーポリシー・投稿ページ  *****/
.page-privacy-policy h2, .page-privacy-policy h3, .page-privacy-policy h4, .page-privacy-policy h5, .single-post h2, .single-post h3, .single-post h4, .single-post h5 {
  margin: 10px 0;
  font-weight: bold;
}
.page-privacy-policy ul, .single-post ul {
  list-style-position: inside;
  margin: 8px 0 10px;
}

/***************************    サイトマップページ  *****/
.page-sitemap #menu-ftnavi {
  margin-left: 5vw;
}
.page-sitemap #menu-ftnavi li a {
  display: block;
  margin-bottom: 10px;
  text-decoration: none;
  color: #0C0D0D;
}

/****************************************
3. header,nav
*****************************************/
@media screen and (max-width: 767.98px) {
  .header_cta,
  .header_menu {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0px;
    left: 50%;
    z-index: 9999;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    height: 144px;
    background-color: #fff;
    transition: top 0.5s;
  }
  .header::before {
    position: absolute;
    top: 0px;
    left: calc((50vw - 50%) * -1);
    right: calc((50vw - 50%) * -1);
    z-index: -1;
    bottom: 0px;
    width: 100vw;
    background-color: #fff;
    content: "";
    background-image: url("./images/common/bg.jpg");
    background-repeat: repeat;
  }
  .header_title {
    margin: 0px 0px 0px 10px;
    max-width: 200px;
    width: 16vw;
  }
  .header_cta {
    margin: 0px 20px 17px auto;
    border-radius: 0 0 20px 20px;
    background: #5f1b45;
    width: 345px;
    height: 66px;
    transition: 0.3s;
  }
  .header_cta:hover {
    -webkit-filter: brightness(0.9);
            filter: brightness(0.9);
  }
  .header_menu {
    width: 100%;
    display: flex;
  }
  .header.js_active {
    top: -70px;
  }
  .header.js_active .header_title_logo img {
    min-width: 130px;
    padding: 73px 0 5px;
  }
  body {
    margin-top: 100px;
  }
}
@media print, (min-width: 1100px) {
  .header {
    max-width: 1400px;
  }
  .header_title {
    width: 250px;
    height: 100%;
    margin-left: 63px;
  }
  .header.js_active {
    top: -80px;
    transition: 0.3s;
    opacity: 0.9;
  }
  .header.js_active .header_title {
    height: auto;
  }
  .header.js_active .header_title_logo img {
    width: 90px;
    min-width: 150px;
    padding: 83px 0 5px;
  }
  .header.js_active .header_menu > .menu > li {
    font-size: 16px;
  }
  body {
    margin-top: 130px;
  }
}
.header_cta_tel {
  color: #fff;
  font-size: 23px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.08em;
  padding: 23px 10px 20px 60px;
  display: block;
  position: relative;
  transition: 0.3s;
}
.header_cta_tel::before {
  content: "";
  background-image: url("./images/common/icon-phone.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 23px;
  height: 23px;
  position: absolute;
  top: 23px;
  left: 23px;
}
.header_cta_tel::after {
  content: "";
  background-image: url("./images/common/pattern-phone.png");
  background-repeat: repeat;
  background-size: contain;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.header_cta_tel span {
  font-size: 10px;
  font-weight: 500;
  margin-left: 10px;
}

.header_cta_tel:hover {
  color: #fff;
  opacity: 0.9;
}

.header_title_logo img {
  max-width: 250px;
  min-width: 180px;
  padding: 40px 0 0px;
  display: block;
  width: 100%;
  width: 15vw;
  height: auto;
  transition: 0.3s;
}

@media print, (min-width: 1100px) {
  .header_title_logo img {
    max-width: 250px;
    width: 100%;
    padding: 40px 0 20px;
  }
}
@media print, (max-width: 767px) {
  .header_title_logo img {
    padding: 10px 0 10px;
    min-width: 130px;
  }
}
.header_menu_wrap {
  width: 75%;
  max-width: 1050px;
  height: 100%;
}

.header_menu > .menu {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 7vw;
  padding: 0px;
  margin: 0px;
  padding-right: 40px;
  flex-grow: 1;
}

.header_menu > .menu > li {
  position: relative;
  list-style-type: none;
  font-size: clamp(18px, 1.5652173913vw, 20px);
  font-weight: 700;
  white-space: nowrap;
}

.header_menu > .menu > li::before {
  background: #5F1B45;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.header_menu > .menu > li:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.header_menu > .menu > li > a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 3em;
  color: #313131;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 1;
}

@media screen and (max-width: 1024px) {
  .header_menu > .menu {
    gap: 4.5vw;
  }
}
@media screen and (max-width: 991px) {
  .header_menu > .menu > li {
    font-size: clamp(15px, 1.953125vw, 18px);
  }
}
.header_menu .sub-menu {
  display: block;
  position: absolute;
  top: 5em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 2em;
  background-color: rgba(8, 20, 65, 0.8);
  list-style: none;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: 0.5s;
}

.header_menu .sub-menu.js_active {
  visibility: visible;
  opacity: 1;
}

.header_menu .sub-menu > li + li {
  margin-top: 1.5em;
}

.header_menu .sub-menu > li > a {
  display: block;
  color: #fff;
  text-decoration: none;
}

.header_menu .sub-menu > li > a:hover {
  color: #007cdb;
}

.page_title {
  position: relative;
  z-index: -1;
  background-image: url(./images/pagetitle/title-about.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100vw;
  height: 442px;
  margin-top: 144px;
}
@media screen and (max-width: 767px) {
  .page_title {
    margin-top: 2px;
  }
}

.page_title_base {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
@media screen and (max-width: 500px) {
  .page_title_base {
    margin-left: 26px;
  }
}

.page_title_base > h1 {
  width: 100%;
  color: #fff;
  font-size: clamp(27px, 3.5384615385vw, 42px);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: center;
  vertical-align: middle;
}

.post-type-archive-product .page_title,
.single-product .page_title {
  background-image: url(./images/pagetitle/title-about.jpg);
}

.category-news .page_title,
.single-post .page_title {
  background-image: url(./images/pagetitle/title-news.jpg);
}

.page-privacy .page_title {
  background-image: url(./images/pagetitle/title-about.jpg);
}

.error404 .page_title,
.page-sitemap .page_title {
  background-image: url(./images/pagetitle/title-about.jpg);
}

.archive .page_title {
  background-image: url(./images/pagetitle/title-news.jpg);
}

.page-about .page_title {
  background-image: url(./images/pagetitle/title-about.jpg);
}

.page-pet .page_title {
  background-image: url(./images/pagetitle/title-pet.jpg?20240625);
}
.page-pet .page_title .page_title_base > h1 {
  font-size: clamp(23px, 3.5384615385vw, 36px);
}
@media screen and (max-width: 1024px) {
  .page-pet .page_title {
    background-image: url(./images/pagetitle/title-pet-sp.jpg?20240625);
  }
}
@media screen and (max-width: 560px) {
  .page-pet .page_title {
    background-position-x: 5%;
  }
}

.page-guide .page_title {
  background-image: url(./images/pagetitle/title-guide.jpg);
}

.page-privacy-policy .page_title .page_title_base > h1 {
  font-size: clamp(23px, 3.5384615385vw, 32px);
}

/*************** SPメニュー設定 **/
#sp-nav {
  display: none;
}

.openbtn {
  display: none;
}

@media screen and (max-width: 767px) {
  #sp-nav {
    display: block;
    position: fixed;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(59, 4, 42, 0.8);
    transition: all 0.3s;
    overflow-y: scroll;
    padding-bottom: 100px;
  }
  #sp-nav .header_title {
    background-image: url("./images/common/bg.jpg");
  }
  /*アクティブクラスがついたら透過なしにして最前面へ*/
  #sp-nav.panelactive {
    opacity: 1;
    visibility: visible;
    z-index: 9998;
  }
  /*ナビゲーションの縦スクロール*/
  #sp-nav.panelactive #sp-nav-list {
    z-index: 9998;
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    padding: 30px 0.6em 0;
  }
  /*ナビゲーション*/
  #sp-nav ul {
    display: none;
    position: relative;
    z-index: 9998;
  }
  #sp-nav.panelactive ul {
    display: block;
  }
  /*リストのレイアウト設定*/
  #sp-nav li {
    list-style: none;
    text-align: left;
  }
  #sp-nav li a {
    color: #fff;
    text-decoration: none;
    padding: 20px 0;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0;
    font-size: 18px;
  }
  #sp-nav-list a:hover {
    transition: 0.3s;
    color: #5F1B45;
  }
  /*========= ボタンのためのCSS ===============*/
  .openbtn {
    display: block;
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 60px;
    height: 60px;
  }
  /*×に変化*/
  .openbtn span {
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #5F1B45;
    width: 50%;
  }
  .openbtn span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    -webkit-transform: translateY(6px) rotate(-45deg);
            transform: translateY(6px) rotate(-45deg);
    width: 50%;
  }
  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    -webkit-transform: translateY(-6px) rotate(45deg);
            transform: translateY(-6px) rotate(45deg);
    width: 50%;
  }
}
/****************************************
4. sidebar
*****************************************/
/****************************************
5. contents
****************************************/
.menu-sitemap-container > .menu {
  margin: -1em 0px 0px 1.5em;
}

.menu-sitemap-container > .menu > li {
  margin: 1em 0px 0px;
  font-size: 17px;
}

.menu-sitemap-container > .menu .sub-menu {
  margin: 0px 0px 0px 2em;
}

.menu-sitemap-container > .menu .sub-menu > li {
  margin: 0.5em 0px 0px;
  font-size: 15px;
}

/****************************************
6. Footer 
****************************************/
@media print, (max-width: 767.98px) {
  .mnavi {
    display: block;
    position: fixed;
    bottom: 0px;
    left: 0px;
    z-index: 9999;
    width: 100%;
    height: 80px;
    background-color: #3B042A;
  }
  body {
    margin-bottom: 80px;
  }
}
@media print, (min-width: 768px) {
  .mnavi {
    display: none;
  }
}
.mnavi > ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 100%;
  list-style: none;
}

.mnavi > ul > li {
  width: 40px;
  height: 40px;
}

.mnavi > ul > li > a,
.mnavi > ul > li > button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.5vw;
}

.mnavi > ul > li > a:before,
.mnavi > ul > li > button:before {
  position: absolute;
  top: 0px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 32px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.mnavi_home > a:before {
  content: "\f015";
}

.mnavi_contact > a:before {
  content: "\f0e0";
}

.mnavi_tel > a:before {
  content: "\f095";
}

.mnavi_menu > button:before {
  content: "\f0c9";
}

.mnavi > ul > li > a {
  text-decoration: none;
}

.mnavi > ul > li > button {
  border: none;
  background: none;
  outline: none;
  -webkit-appearance: none;
          appearance: none;
  cursor: pointer;
}

.mnavi > ul > li span {
  position: absolute;
  bottom: -1em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  line-height: 1;
  white-space: nowrap;
}

.mnavi_menu_area {
  display: none;
  position: fixed;
  left: 0px;
  bottom: 80px;
  width: 100vw;
  height: calc(100vh - 80px);
  z-index: 9999;
  background-color: rgba(59, 4, 42, 0.8549019608);
  overflow-x: hidden;
  overflow-y: scroll;
}

.mnavi_menu_area > .menu {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  width: 90%;
}

.mnavi_menu_area > .menu > li {
  list-style-type: none;
  text-align: center;
}

.mnavi_menu_area > .menu > li > a {
  display: inline-block;
  padding: 1em 2em;
  color: #fff;
  font-size: 4vw;
  text-decoration: none;
}

#btn_scroll_top {
  display: none;
  position: fixed;
  bottom: 120px;
  right: 30px;
  z-index: 9999;
  width: 50px;
  height: 50px;
  background-color: #650246;
  text-decoration: none;
  outline: none;
}

#btn_scroll_top:after {
  position: absolute;
  top: 40%;
  left: 50%;
  width: 20px;
  height: 20px;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  content: "";
}

@media print, (min-width: 768px) {
  #btn_scroll_top {
    bottom: 30px;
    width: 42px;
    height: 42px;
  }
  #btn_scroll_top:after {
    width: 12px;
    height: 12px;
  }
}
.footer .section-ft-cta {
  padding: 148px 0;
  background-image: url("./images/common/ft-cta-bg.jpg");
  background-size: cover;
  background-position-x: center;
  background-repeat: no-repeat;
}
.footer .section-ft-cta .text {
  font-size: clamp(22px, 2.8645833333vw, 32px);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
  margin-bottom: 20px;
}
.footer .section-ft-cta .ft_cta_tel {
  display: block;
  font-size: 48px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-align: center;
  color: #fff;
  text-decoration: none;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 58px;
  margin: auto;
}
.footer .section-ft-cta .ft_cta_tel span {
  font-size: 50%;
  font-weight: 500;
  letter-spacing: 0.22em;
  margin-left: 24px;
}
.footer .section-ft-cta .ft_cta_tel::before {
  content: "";
  background-image: url("./images/common/icon-phone-white.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 35px;
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: 23px;
  left: 0px;
}
@media print, (max-width: 767px) {
  .footer .section-ft-cta {
    padding: 100px 0;
  }
  .footer .section-ft-cta .text {
    font-size: clamp(18px, 4.8vw, 22px);
  }
  .footer .section-ft-cta .text span {
    display: block;
  }
  .footer .section-ft-cta .ft_cta_tel {
    font-size: clamp(30px, 8vw, 46px);
    padding-left: 0;
  }
  .footer .section-ft-cta .ft_cta_tel span {
    display: block;
    margin-left: 0;
    font-size: 46%;
  }
  .footer .section-ft-cta .ft_cta_tel::before {
    width: 5vw;
    min-width: 20px;
    top: 41%;
    left: -7vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.footer .ft-nav {
  background-color: #3B042A;
  padding: 60px 1em 48px;
  color: #fff;
}
.footer .ft-nav .address {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-align: center;
  margin: 24px auto 50px;
}
.footer .ft-nav .menu {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  list-style: none;
  max-width: 890px;
  margin: auto;
}
.footer .ft-nav .menu a {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 2.7;
}
.footer .ft-nav .menu a:hover {
  -webkit-filter: opacity(0.8);
          filter: opacity(0.8);
}
.footer .ft-nav .menu li:nth-child(1) {
  grid-area: 1/1/2/2;
}
.footer .ft-nav .menu li:nth-child(2) {
  grid-area: 2/1/3/2;
}
.footer .ft-nav .menu li:nth-child(3) {
  grid-area: 1/2/2/3;
}
.footer .ft-nav .menu li:nth-child(4) {
  grid-area: 2/2/3/3;
}
.footer .ft-nav .menu li:nth-child(5) {
  grid-area: 1/3/2/4;
}
.footer .ft-nav .menu li:nth-child(6) {
  grid-area: 2/3/3/4;
}
.footer .ft-nav .menu li:nth-child(7) {
  grid-area: 1/4/2/5;
}
.footer .ft-nav .menu li:nth-child(8) {
  grid-area: 2/4/3/5;
}
@media screen and (max-width: 767px) {
  .footer .ft-nav .menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    max-width: 500px;
  }
  .footer .ft-nav .menu a {
    font-size: 15px;
  }
  .footer .ft-nav .menu li:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .footer .ft-nav .menu li:nth-child(2) {
    grid-area: 2/1/3/2;
  }
  .footer .ft-nav .menu li:nth-child(3) {
    grid-area: 3/1/4/2;
  }
  .footer .ft-nav .menu li:nth-child(4) {
    grid-area: 4/1/5/2;
  }
  .footer .ft-nav .menu li:nth-child(5) {
    grid-area: 1/2/2/3;
  }
  .footer .ft-nav .menu li:nth-child(6) {
    grid-area: 2/2/3/3;
  }
  .footer .ft-nav .menu li:nth-child(7) {
    grid-area: 3/2/4/3;
  }
  .footer .ft-nav .menu li:nth-child(8) {
    grid-area: 4/2/5/3;
  }
}
@media screen and (max-width: 370px) {
  .footer .ft-nav .menu {
    display: block;
    margin: auto;
    text-align: center;
  }
}
.footer .copyright {
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.01em;
  line-height: 1;
  padding: 27px 0 22px;
  color: #fff;
  background-color: #5F1046;
}

/*フッターの教念寺ロゴとSNSロゴ周り*/
.wrap-ft-logo{
  margin: 0 auto;
  width: 100%;
  text-align: center;
}


.ft_logo a{
  text-decoration: none;
}

.ft_logo_kyonenji{
  display: inline;
  width: 400px;
}

.ft_logo_sns_icon{
  width:30px;
  display: inline;
}
@media screen and (max-width: 767.98px) {
  .ft_logo_kyonenji{
    display: block;
    width: 75%;
    margin:15px;
  }
}



/****************************************
7. single
****************************************/
.single-post p + p {
  margin: 1em 0px 0px;
}

.single-post .container {
  padding-bottom: 80px;
}

.single-post .header_title {
  margin-top: -20px;
}

@media screen and (max-width: 767.98px) {
  .single-post img {
    margin: 1em auto 0px;
  }
}
@media print, (min-width: 768px) {
  /*.single-post img {
      margin: 1em 0px 0px;
  }*/
  .single-post .alignleft {
    display: inline-block;
  }
  .single-post .alignleft + .alignleft {
    margin: 1em 0px 0px 1em;
  }
  .single-post .aligncenter {
    margin: 1em auto 0px;
  }
  .single-post .alignright {
    margin: 1em 0px 0px 100%;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
/****************************************
8. WP
****************************************/
/****************************************
9. Print
****************************************/
/****************************************
10. Plugin
****************************************/
.no_must {
  display: block;
  background-color: #fc0;
  padding: 4px 5px;
  font-size: 13px;
  color: #fff;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #ccc;
}

.bx-wrapper {
  background-color: transparent;
  margin: 0px auto 0px;
  border: none;
  box-shadow: none;
}

.bx-wrapper img {
  display: block;
  margin: 0px auto;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #c9e2ff;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #012065;
}

/****************************************
10. Tweak
****************************************/
/****************************************
11. メールフォームプロ用スタイル
****************************************/
form#mailformpro .mailform {
  margin: 0px;
}

form#mailformpro dl {
  box-sizing: border-box;
}

form#mailformpro dl dt {
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  border: none;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}

form#mailformpro dl dd {
  box-sizing: border-box;
  border: none;
}

form#mailformpro dl dt:nth-of-type(n+2),
form#mailformpro dl dd:nth-of-type(n+2) {
  border-top: 1px solid #d3dad9;
}

.mfp_colored {
  background: none;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
  padding: 1em;
  margin: 0px;
  width: 100% !important;
  box-sizing: border-box;
  border: 1px solid #95cec7;
  background-color: #f0f8f7;
  box-shadow: none;
  outline: none;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
  padding: 0.5em 3em;
  box-sizing: border-box;
  background: none;
  background-color: #00665b;
  box-shadow: none;
  color: #fff;
  font-size: 18px;
  text-shadow: 0px 2px 0px #00564d;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover {
  background: none;
  background-color: #267d73;
  box-shadow: none;
}

div.mfp_err {
  padding: 0.5em 0px 0.5em 1em;
  background: none;
}

.problem {
  border: 1px solid #ffd5dc;
  background-color: #ffd5dc;
}

.must,
.no_must {
  display: block;
  padding: 0px 1em;
  border-radius: 4px;
  background: none;
  box-shadow: none;
  text-shadow: none;
  color: #fff;
  font-size: 10px;
  line-height: 1.5;
}

.must {
  border: 1px solid #c60505;
  background-color: #c60505;
}

.no_must {
  border: 1px solid #fc0;
  background-color: #fc0;
}

@media screen and (max-width: 767.98px) {
  form#mailformpro dl dt,
  form#mailformpro dl dd {
    padding: 1em;
    width: 100%;
  }
  .must,
  .no_must {
    margin: 2px 2em 0px 0px;
  }
}
@media print, (min-width: 768px) {
  form#mailformpro dl {
    display: flex;
    flex-wrap: wrap;
  }
  form#mailformpro dl dt {
    float: none;
    padding: 2em 0px;
    width: 280px;
  }
  form#mailformpro dl dd {
    padding: 2em 2em 2em 0px;
    width: calc(100% - 280px);
  }
  .mfp_element_text,
  .mfp_element_number,
  .mfp_element_select-one,
  .mfp_element_email,
  .mfp_element_tel,
  .mfp_element_textarea {
    max-width: 500px;
  }
  .must,
  .no_must {
    margin: 2px 2em 0px;
  }
}/*# sourceMappingURL=style.css.map */