html {
  font-size: 10px;
}

body {
  background: #fff;
  color: #000;
  font-family: "hiragino-mincho-pron", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 2;
}

a {
  display: block;
  transition: 0.2s;
}

a:hover {
  transition: 0.2s;
}

dt {
  font-weight: normal;
}

img {
  display: block;
  max-width: 100%;
  width: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
  padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
  display: block;
  max-width: 100%;
  width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/*
 * l-archive
 * -------------------------------------------------------------
 */

.l-archive {
  padding-top: 1.5rem;
  position: relative;
}

.l-archive__inner {
  display: flex;
  gap: 5rem;
}

.l-archive__main {
  flex: 1;
  max-width: 85rem;
}

.l-archive__side {
  max-width: 30rem;
  position: sticky;
  top: 0;
  width: 30%;
}

/*
 * l-footer
 * -------------------------------------------------------------
 */

.l-footer {
  border-top: 1px solid #d4cbbe;
}

.l-footer__inner {
  display: flex;
  gap: 5rem;
  justify-content: space-between;
  position: relative;
}

.l-footer__nav {
  display: flex;
  flex: 1;
  padding-top: 6.3rem;
  width: -moz-fit-content;
  width: fit-content;
}

.l-footer__nav-items {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: min(28.5rem, 21vw);
}

.l-footer__nav-items:last-of-type {
  width: auto;
}

.l-footer__nav-link {
  font-size: 1.6rem;
  line-height: 1;
}

.l-footer__nav a:hover {
  color: #b8a788;
}

.l-footer__nav-subitems {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2.5rem;
}

.l-footer__nav-sublink {
  align-items: center;
  display: flex;
  font-size: 1.5rem;
  gap: 1rem;
  line-height: 1;
}

.l-footer__nav-sublink::before {
  border-bottom: 1px solid #b8a788;
  border-right: 1px solid #b8a788;
  content: "";
  display: inline-block;
  height: 0.8rem;
  transform: rotate(-45deg);
  width: 0.8rem;
}

.l-footer__info {
  align-items: center;
  border-left: 1px solid #d4cbbe;
  border-right: 1px solid #d4cbbe;
  display: flex;
  flex-direction: column;
  height: 34.4rem;
  justify-content: center;
  max-width: 39rem;
  width: 40%;
}

.l-footer__logo {
  margin: 0 auto;
  max-width: 7rem;
}

.l-footer__temple-name {
  font-size: 2rem;
  margin-top: 1.5rem;
}

.l-footer__address {
  font-size: 1.4rem;
  text-align: center;
}

.l-footer__copyright {
  border-top: 1px solid #d4cbbe;
  font-size: 1.3rem;
  padding: 4.5rem 0;
  text-align: center;
}

.l-footer__pagetop {
  align-items: center;
  background: #c6beb2;
  display: flex;
  height: 7rem;
  justify-content: center;
  max-width: 7.8rem;
  position: absolute;
  right: 4rem;
  top: -2.7rem;
  width: 100%;
}

.l-footer__pagetop:hover {
  filter: brightness(105%);
  opacity: 1;
}

.l-footer__pagetop span {
  border-left: 0.1rem solid #fff;
  border-top: 0.1rem solid #fff;
  display: block;
  height: 1.4rem;
  transform: rotate(45deg);
  width: 1.4rem;
}

/*
 * l-header
 * -------------------------------------------------------------
 */

.l-header {
  background: #f8f6f4;
  border-bottom: 1px solid #cdcdcd;
  left: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.l-header__inner {
  align-items: center;
  display: flex;
  height: 12.5rem;
  justify-content: space-between;
  padding: 0 min(4rem, 2.667vw);
  position: relative;
  transition: height 0.3s ease;
}

.l-header__inner.is-scrolled {
  height: 8.2rem;
}

.l-header__inner::before {
  background: url(./../images/common/h_shape_left.webp) no-repeat center/100%;
  bottom: -0.5rem;
  content: "";
  display: block;
  height: 6.6rem;
  left: 0;
  max-width: 25.5rem;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.l-header__inner::after {
  background: url(./../images/common/h_shape_right.webp) no-repeat center/100%;
  bottom: -0.2rem;
  content: "";
  display: block;
  height: 11.4rem;
  max-width: 39rem;
  position: absolute;
  right: 0;
  transition: all 0.3s;
  width: 100%;
  z-index: -1;
}

.l-header__inner.is-scrolled::after {
  background: url(./../images/common/h_shape_right_scrolled.webp) no-repeat center/100%;
  bottom: -3.2rem;
}

.l-header__logo {
  transition: all 0.3s;
  width: min(19.5rem, 13vw);
}

.l-header__inner.is-scrolled .l-header__logo {
  max-width: 17rem;
}

.l-header__nav {
  flex: 1;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
  margin: auto;
  max-width: 128rem;
  padding: 0 4rem;
}

.l-inner.--archive {
  margin-top: 7.5rem;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
  margin-top: 12.5rem;
  overflow: hidden;
  transition: all 0.3s ease;
}

.l-main.is-scrolled {
  margin-top: 8.2rem;
}

/*
 * c-breadcrumb
 * -------------------------------------------------------------
 */

.c-breadcrumb {
  padding: 2.6rem 0 5.5rem;
}

.c-breadcrumb__list {
  align-items: center;
  display: flex;
  gap: 0.8rem;
}

.c-breadcrumb a,
.c-breadcrumb span {
  letter-spacing: 0.075em;
  line-height: 1;
}

.c-breadcrumb__item {
  align-items: center;
  display: flex;
  gap: 0.8rem;
}

.c-breadcrumb__item a,
.c-breadcrumb__list .home {
  color: #134e9e;
  text-transform: uppercase;
}

.c-breadcrumb__item:first-child::after {
  content: ">";
  display: inline-block;
}

.c-breadcrumb__item:nth-child(3)::before {
  content: ":";
  display: inline-block;
  position: relative;
  top: -0.1em;
}

/*
 * c-btn
 * -------------------------------------------------------------
 */

.c-btn {
  -webkit-clip-path: polygon(0 0, 95% 0%, 100% 20%, 100% 100%, 5% 100%, 0% 85%, 0 0);
  align-items: center;
  background: #dbd7d0;
  clip-path: polygon(0 0, 95% 0%, 100% 20%, 100% 100%, 5% 100%, 0% 85%, 0 0);
  display: flex;
  height: 5rem;
  justify-content: center;
  max-width: 21rem;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 1;
}

.c-btn__link {
  -webkit-clip-path: polygon(0 0, 95% 0%, 100% 20%, 100% 100%, 5% 100%, 0% 85%, 0 0);
  align-items: center;
  background: #dbd7d0;
  clip-path: polygon(0 0, 95% 0%, 100% 20%, 100% 100%, 5% 100%, 0% 85%, 0 0);
  display: flex;
  height: calc(100% - 2px);
  justify-content: center;
  max-width: calc(100% - 2px);
  position: relative;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.c-btn__link::before {
  background: url(./../images/common/btn_logo_white.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 5rem;
  position: absolute;
  right: 1rem;
  width: 9.2rem;
  z-index: -1;
}

.c-btn__link.--white {
  background: #fff;
}

.c-btn__link.--white::before {
  background: url(./../images/common/btn_logo.webp) no-repeat center/100%;
}

.c-btn.--lg {
  max-width: 26.8rem;
}

.c-btn.--xl {
  max-width: 31.7rem;
}

/*
 * c-contents-ttl-v
 * -------------------------------------------------------------
 */

.c-contents-ttl-v {
  background: #94826a;
  color: #fff;
  font-size: 2.5rem;
  left: 4rem;
  letter-spacing: 0.2em;
  line-height: 1;
  padding: 3rem 2.4rem 2.5rem;
  position: absolute;
  top: -3rem;
  writing-mode: vertical-rl;
}

.c-contents-ttl-v.--short {
  padding: 4.6rem 2.4rem 5rem;
}

/*
 * c-hamburger
 * -------------------------------------------------------------
 */

.c-hamburger {
  display: none;
  height: 2.2rem;
  position: relative;
  width: 3.6rem;
  z-index: 100;
}

.c-hamburger span {
  background: #b5ad9f;
  display: block;
  height: 0.3rem;
  position: absolute;
  transition: all 0.2s;
  width: 100%;
}

.c-hamburger span:nth-child(1) {
  top: 0;
}

.c-hamburger span:nth-child(2) {
  top: 50%;
}

.c-hamburger span:nth-child(3) {
  top: 100%;
}

.c-hamburger span.is-active:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(-40deg);
}

.c-hamburger span.is-active:nth-child(2) {
  opacity: 0;
}

.c-hamburger span.is-active:nth-child(3) {
  top: 50%;
  transform: translateY(-50%) rotate(40deg);
}

/*
 * c-image-stack
 * -------------------------------------------------------------
 */

.c-image-stack {
  position: relative;
}

.c-image-stack__item {
  aspect-ratio: 650/445;
  max-width: 65rem;
  width: 54.167%;
}

.c-image-stack__item img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.c-image-stack__item.--item02 {
  position: absolute;
  right: 0;
  top: min(10.6rem, 8.5vw);
  z-index: 2;
}

/*
 * c-sec-header-page
 * -------------------------------------------------------------
 */

.c-sec-header-page {
  position: relative;
  text-align: center;
}

.c-sec-header-page__lead {
  font-size: 2.4rem;
  margin-top: 6.6rem;
}

.c-sec-header-page__text {
  margin-top: 3.5rem;
}

.c-sec-header-page__link {
  -webkit-text-decoration: underline;
  margin-top: 0.5rem;
  text-decoration: underline;
}

.c-sec-header-page__ttl.--facility {
  margin: 0 auto;
  max-width: 20.7rem;
}

/*
 * c-sec-ttl-top
 * -------------------------------------------------------------
 */

.c-sec-ttl-top {
  font-family: "hot-kaishokk", serif;
  font-size: 4.5rem;
  letter-spacing: -0.05em;
  text-align: center;
}

/*
 * c-sec-ttl-v
 * -------------------------------------------------------------
 */

.c-sec-ttl-v {
  font-family: "hot-kaishokk", sans-serif;
  font-size: 6.5rem;
  line-height: 1.4;
  writing-mode: vertical-rl;
}

.c-sec-ttl-v span {
  display: block;
  letter-spacing: -0.05em;
  text-indent: 2em;
}

/*
 * c-sec-ttl
 * -------------------------------------------------------------
 */

.c-sec-ttl {
  color: #4d4d4d;
  font-family: "hot-kaishokk", serif;
  font-size: 5rem;
  letter-spacing: 0.075em;
  line-height: 1;
  text-align: center;
}

/*
 * c-shape
 * -------------------------------------------------------------
 */

.c-shape {
  position: absolute;
  width: 100%;
  z-index: -1;
}

/* １番目のセクションのshape */

.c-shape.--top-left {
  left: 0;
  max-width: 50rem;
  top: 24rem;
  width: 36%;
}

.c-shape.--top-left.--facility {
  top: 11rem;
}

.c-shape.--top-left.--contact {
  top: 13rem;
}

.c-shape.--top-left.--archive {
  top: 14rem;
}

.c-shape.--top-left.--service {
  top: 14rem;
}

.c-shape.--top-right {
  max-width: 44rem;
  right: 0;
  top: 2rem;
  width: 31%;
}

.c-shape.--left {
  left: 0;
  max-width: 50rem;
}

.c-shape.--right {
  right: 0;
}

.--left {
  left: 0;
}

.--right {
  right: 0;
}

/*
 * u-pc
 * -------------------------------------------------------------
 */

.u-pc {
  display: block;
}

/*
 * u-sp
 * -------------------------------------------------------------
 */

.u-sp {
  display: none;
}

/*
 * about-header
 * -------------------------------------------------------------
 */

/*
 * about-nav
 * -------------------------------------------------------------
 */

.about-nav {
  padding-bottom: 7rem;
}

.about-nav__items {
  grid-gap: 1rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 26.5rem));
  justify-content: center;
}

.about-nav__item {
  background: #f5f2ed;
}

.about-nav__item.is-current {
  background: #dcd4c9;
  position: relative;
}

.about-nav__item.is-current::after {
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  background: #dcd4c9;
  bottom: -1.1rem;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  display: block;
  height: 1.6rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 1.5rem;
}

.about-nav__link {
  color: #472f06;
  font-size: 1.8rem;
  letter-spacing: 0.075em;
  line-height: 1;
  padding: 2rem;
  text-align: center;
}

.about-nav.--bottom {
  padding: 11rem 0 8.4rem;
}

.about-nav.--bottom .about-nav__item.is-current::after {
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  bottom: auto;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  top: -1.1rem;
}

/*
 * about-table
 * -------------------------------------------------------------
 */

.about-table {
  padding-top: 17.5rem;
}

.about-table__sec-ttl {
  background: #c9beae;
  color: #fff;
  display: inline-block;
  font-size: 3.5rem;
  left: 50%;
  letter-spacing: 0.2em;
  line-height: 1;
  padding: 4rem 2rem 3.7rem;
  position: absolute;
  top: -8rem;
  transform: translateX(-50%);
  writing-mode: vertical-rl;
  z-index: 2;
}

.about-table__body {
  background: #f0eeea;
  padding: 10.7rem 9rem 8rem;
  position: relative;
}

.about-table__table {
  border-collapse: separate;
  border-spacing: 0.4rem;
  font-size: 2rem;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
}

.about-table__table th {
  background: #fff;
  font-weight: normal;
  padding: 1.3rem;
  text-align: center;
  vertical-align: middle;
  width: 21.5rem;
}

.about-table__table th.--lg {
  padding: 7rem 1.3rem;
}

.about-table__table th.--md {
  padding: 3.3rem 1.3rem;
}

.about-table__table td {
  letter-spacing: 0;
  padding-left: 2rem;
  vertical-align: middle;
}

.about-table__table .ruby-text {
  line-height: 2.5;
}

.about-table__table .ruby-text rt {
  font-size: 1.1rem;
  letter-spacing: 0;
  margin-bottom: 0.4rem;
}

.about-table__table .ruby-text.--lh16 {
  line-height: 1.6;
}

.about-table__shape {
  max-width: 58rem;
  right: 0;
  top: 4.5rem;
  z-index: 1;
}

/*
 * about-top
 * -------------------------------------------------------------
 */

.about-top {
  padding: 14rem 0 18rem;
  position: relative;
}

.about-top::before {
  border-bottom: 0.4rem solid #dcdcdc;
  border-right: 0.4rem solid #dcdcdc;
  content: "";
  display: block;
  height: 3rem;
  left: 50%;
  position: absolute;
  top: 5rem;
  transform: translateX(-50%) rotate(45deg);
  width: 3rem;
}

.about-top__body {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.about-top__header {
  margin-left: auto;
}

.about-top__details {
  margin-left: min(9rem, 6vw);
  max-width: 42.6rem;
  padding-right: 4rem;
}

.about-top__text {
  text-align: justify;
}

.about-top__btn {
  margin-top: 2rem;
}

.about-top__img {
  height: 35.5rem;
  max-width: 51.1rem;
}

.about-top__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.about-top__shape.--top-left {
  bottom: 0;
  top: auto;
}

/*
 * about
 * -------------------------------------------------------------
 */

.about {
  padding-top: 9rem;
  position: relative;
}

.about__detail {
  align-items: center;
  display: flex;
  padding: 24rem 0 12.5rem;
  position: relative;
}

.about__detail-logo {
  left: 0;
  max-width: 52rem;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.about__detail-text {
  padding-left: min(30rem, 20vw);
}

.about__stack3-items {
  margin-top: 6.5rem;
  padding-bottom: 7.5rem;
  position: relative;
}

.about__stack3-item {
  aspect-ratio: 415/334;
  max-width: 41.5rem;
  width: 100%;
}

.about__stack3-item.--item02 {
  left: 50%;
  position: absolute;
  top: 4.3rem;
  transform: translateX(-50%);
  z-index: 2;
}

.about__stack3-item.--item03 {
  position: absolute;
  right: 0;
  top: 7.5rem;
  z-index: 1;
}

.about__stack3-item img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.about__shape.--right {
  max-width: 52.7rem;
  top: 102.6rem;
}

/*
 * access-top
 * -------------------------------------------------------------
 */

.access-top {
  background: #f0eeea;
  padding: 10rem 0 13.8rem;
  position: relative;
}

.access-top__body {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
}

.access-top__sec-ttl {
  background: #c6beb2;
  color: #fff;
  font-size: 3.45rem;
  height: 27rem;
  margin-left: auto;
  max-width: 14rem;
  padding: 3rem 2rem 3.8rem;
  position: relative;
  top: -13rem;
  width: 100%;
}

.access-top__sec-ttl::before {
  background: url(./../images/top/access_ttl_shape.webp) no-repeat center/100%;
  bottom: 1rem;
  content: "";
  display: block;
  height: 4.5rem;
  max-width: 14rem;
  position: absolute;
  right: 0;
  width: 100%;
}

.access-top__sec-ttl::after {
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background: #b6ada0;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  content: "";
  display: block;
  height: 3.2rem;
  left: -2rem;
  position: absolute;
  top: 0;
  width: 2.1rem;
}

.access-top__details {
  flex: 1;
  margin-right: min(8.4rem, 5.6vw);
  max-width: 39.6rem;
  min-width: 37rem;
  padding-left: 5rem;
}

.access-top__img-items {
  grid-gap: 2rem;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
  max-width: 58rem;
  position: relative;
  width: 50%;
  z-index: 1;
}

.access-top__img {
  height: 21.3rem;
}

.access-top__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.access-top__img-text {
  font-size: 1.4rem;
  letter-spacing: 0;
  line-height: 1.78;
  margin-top: 2rem;
}

.access-top__btn {
  margin-top: 2.2rem;
}

.access-top__shape {
  left: 0;
  max-width: 57rem;
  top: -8rem;
  z-index: 1;
}

/*
 * access
 * -------------------------------------------------------------
 */

.access {
  padding: 1.5rem 0 13rem;
  position: relative;
}

.access__body {
  margin: 0 auto;
  max-width: 81rem;
}

.access__map-block {
  margin: 6rem auto 0;
}

.access__map {
  aspect-ratio: 810/458;
  width: 100%;
}

.access__map-link {
  -webkit-text-decoration: underline;
  color: #134e9e;
  margin-top: 2.9rem;
  text-align: right;
  text-decoration: underline;
}

.access__info {
  margin-top: -3rem;
}

.access__nav {
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  margin-top: 3.5rem;
}

.access__nav-link {
  background: #f5f2ed;
  color: #472f06;
  font-size: 1.8rem;
  letter-spacing: 0.075em;
  line-height: 1;
  max-width: 35rem;
  padding: 2rem;
  position: relative;
  text-align: center;
  width: 100%;
}

.access__nav-link::before {
  border-bottom: 0.2rem solid #c8bdad;
  border-right: 0.2rem solid #c8bdad;
  content: "";
  display: inline-block;
  height: 1.2rem;
  left: 2.5rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 1.2rem;
}

.access__details {
  padding-top: 7.5rem;
  text-align: center;
}

.access__ttl {
  font-size: 2.4rem;
  line-height: 1;
  text-align: center;
}

.access__lead {
  margin-top: 4.5rem;
}

.access__lead .u-sp {
  display: none;
}

.access__items {
  display: flex;
  flex-direction: column;
  gap: 4.2rem;
  margin: 5rem auto 0;
  max-width: 65rem;
}

.access__item:not(:last-child)::after {
  border-bottom: 0.6rem solid #ece8e1;
  border-right: 0.6rem solid #ece8e1;
  content: "";
  display: block;
  height: 3rem;
  margin: 1.2rem auto 0;
  transform: rotate(45deg);
  width: 3rem;
}

.access__img {
  aspect-ratio: 650/445;
  width: 100%;
}

.access__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.access__text {
  margin-top: 2rem;
}

.access__bottom {
  background: #f0eeea;
  margin-top: 11.3rem;
  padding: 6.8rem 3rem 7.3rem;
  position: relative;
}

.access__bottom-inner {
  margin: 0 auto;
  max-width: 74rem;
  position: relative;
  z-index: 2;
}

.access__shape-left01.--top-left {
  top: 14rem;
}

.access__shape-left02.--left {
  max-width: 47rem;
  top: 143rem;
}

.access__shape-left03.--left {
  max-width: 52rem;
  top: 304rem;
}

.access__shape-left04.--left {
  bottom: 138rem;
  max-width: 47rem;
}

.access__shape-right02.--right {
  max-width: 51rem;
  top: 107rem;
}

.access__shape-right03.--right {
  max-width: 44rem;
  top: 236rem;
}

.access__shape-right04.--right {
  max-width: 51rem;
  right: -6rem;
  top: 385rem;
}

.access__bottom-shape.--right {
  max-width: 49rem;
  right: -8rem;
  top: 2rem;
  z-index: 1;
}

/*
 * archive-list
 * -------------------------------------------------------------
 */

.archive-list {
  border-bottom: 0.2rem solid #dcd5c9;
  display: flex;
  flex-direction: column;
  gap: 9rem;
  padding-bottom: 9rem;
}

.archive-list__item {
  scroll-margin-top: 10rem;
}

.archive-list__ttl {
  font-size: 2.7rem;
  letter-spacing: 0;
  line-height: 1.3;
  width: -moz-fit-content;
  width: fit-content;
}

.archive-list__ttl.--hover:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-decoration-color: #dcd5c9;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.archive-list__meta {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  margin-top: 2rem;
}

.archive-list__date {
  font-size: 1.7rem;
  letter-spacing: 0;
  line-height: 1;
}

.archive-list__category-block {
  display: flex;
}

.archive-list__category {
  background: #c4b69e;
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0;
  line-height: 1;
  padding: 0.6rem 1.4rem;
  text-align: center;
}

.archive-list__category.--catname {
  background: #dcd5c9;
}

.archive-list__body {
  display: flex;
  flex-wrap: wrap;
  gap: 3.7rem;
  margin-top: 4rem;
}

.archive-list__body .wp-block-image {
  aspect-ratio: 363/246;
  max-width: 36.3rem;
  width: 45%;
}

.archive-list__body .wp-block-image img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.archive-list__body .wp-block-image+p {
  flex: 1;
  margin: 0;
}

.archive-list__body p {
  font-size: 1.6rem;
  letter-spacing: 0;
  text-align: justify;
}

.archive-list__body a {
  color: #a29176;
  color: #8093fe;
}

.archive-list__text {
  font-size: 1.6rem;
  letter-spacing: 0;
  text-align: justify;
}

.archive-list__flex {
  align-items: flex-start;
  display: flex;
  gap: 3.7rem;
  margin-top: 6rem;
}

.archive-list__flex:not(:has(.archive-list__img)) .archive-list__flex-text {
  width: 100%;
}

.archive-list__img {
  aspect-ratio: 363/246;
  background: #eee;
  max-width: 36.3rem;
  width: 45%;
}

.archive-list__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.archive-list__flex-text {
  flex: 1;
}

/*
 * archive-nav
 * -------------------------------------------------------------
 */

.archive-nav {
  display: flex;
  justify-content: space-between;
  padding: 5rem 0 8.8rem;
}

.archive-nav__btn {
  letter-spacing: 0.1em;
  line-height: 1;
  position: relative;
  text-transform: uppercase;
}

.archive-nav__btn::before,
.archive-nav__btn::after {
  content: "";
  display: inline-block;
  height: 0.8rem;
  position: absolute;
  top: 43%;
  transform: translateY(-50%);
  width: 0.8rem;
}

.archive-nav__btn.--back::before {
  border-bottom: 0.2rem solid #695d48;
  border-left: 0.2rem solid #695d48;
  left: 2.5rem;
  transform: rotate(45deg);
}

.archive-nav__btn.--next {
  margin-left: auto;
}

.archive-nav__btn.--next::after {
  border-bottom: 0.2rem solid #695d48;
  border-right: 0.2rem solid #695d48;
  right: 2.5rem;
  transform: rotate(-45deg);
}

/*
 * archive-side
 * -------------------------------------------------------------
 */

.archive-side {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.archive-side__ttl {
  background: #dcd5c9;
  border-top: 0.1rem solid #a29176;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1;
  overflow: hidden;
  padding: 1.5rem 2.4rem;
  position: relative;
}

.archive-side__ttl::before {
  background: url(./../images/common/btn_logo_white.webp) no-repeat center/100%;
  content: "";
  display: inline-block;
  height: 9rem;
  position: absolute;
  right: 2.4rem;
  top: 50%;
  transform: translateY(-50%);
  width: 9rem;
}

.archive-side__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 3rem;
  padding-left: 0.6rem;
}

.archive-side__link {
  line-clamp: 1;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  align-items: center;
  display: flex;
  display: -webkit-box;
  gap: 1rem;
  letter-spacing: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.archive-side__link::before {
  border-bottom: 2px solid #b8a788;
  border-right: 2px solid #b8a788;
  content: "";
  display: inline-block;
  height: 0.8rem;
  margin-right: 1rem;
  min-width: 0.8rem;
  transform: rotate(-45deg);
  width: 0.8rem;
}

/*
 * archive
 * -------------------------------------------------------------
 */

.archive {
  position: relative;
}

/*
 * blog-top
 * -------------------------------------------------------------
 */

.blog-top {
  padding: 6.5rem 0 13rem;
  position: relative;
}

.blog-top__body {
  margin-top: 3rem;
}

.blog-top__cards {
  grid-gap: 5.7rem;
  display: grid;
  gap: 5.7rem;
  grid-template-columns: repeat(3, 1fr);
}

.blog-top__card {
  border: 1px solid #c7c5c1;
}

.blog-top__img {
  aspect-ratio: 360/225;
}

.blog-top__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.blog-top__card-body {
  padding: 2.5rem 3rem 4.5rem 3rem;
}

.blog-top__ttl {
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1.66;
  position: relative;
}

.blog-top__ttl::before {
  background: #e1d5bf;
  content: "";
  display: inline-block;
  height: 4.2rem;
  left: -3.1rem;
  margin-top: -0.8rem;
  position: absolute;
  width: 0.6rem;
}

.blog-top__text {
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  letter-spacing: 0;
  line-height: 1.66;
  margin-top: 2.8rem;
  overflow: hidden;
  text-align: justify;
}

.blog-top__btn {
  margin: 3.5rem auto 0;
}

.blog-top__shape {
  max-width: 56.4rem;
  right: 0;
  top: -2rem;
  width: 43%;
}

/*
 * contact
 * -------------------------------------------------------------
 */

.contact {
  padding-bottom: 12rem;
  position: relative;
}

.contact__lead {
  line-height: 2.2;
  margin-top: 6rem;
}

.contact__body {
  margin-top: 5.8rem;
}

.contact__text {
  margin-top: 4rem;
}

.contact__links {
  display: flex;
  gap: 5.2rem;
  justify-content: center;
  margin-top: 2rem;
}

.contact__link {
  align-items: center;
  display: flex;
  justify-content: center;
  letter-spacing: 0.05em;
  position: relative;
}

.contact__link.--line {
  color: #134e9e;
  gap: 1.2rem;
}

.contact__link.--line::before {
  background: url(./../images/common/icon_line.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 3.5rem;
  width: 3.5rem;
}

.recaptcha-notice {
  font-size: 1.4rem;
  margin-top: 5rem;
  text-align: center;
}

.recaptcha-notice a {
  -webkit-text-decoration: underline;
  color: #134e9e;
  display: inline;
  text-align: center;
  text-decoration: underline;
}

/*
 * event
 * -------------------------------------------------------------
 */

.event {
  padding: 3.5rem 0 9.5rem;
  position: relative;
}

.event__list {
  display: flex;
  flex-direction: column;
  gap: 6.2rem;
}

.event__item {
  background: rgba(245, 244, 242, 0.502);
  border: 1px solid #c9beae;
  padding: 5.3rem 4.3rem;
}

.event__item-inner {
  align-items: flex-start;
  display: flex;
  gap: 2.4rem;
}

.event__item:nth-child(2n) .event__item-inner {
  flex-direction: row-reverse;
}

.event__ttl {
  background: #94826a;
  color: #fff;
  font-size: 2.2rem;
  letter-spacing: 0.2em;
  line-height: 1.4;
  margin-top: -8.4rem;
  padding: 3rem 2rem 2.5rem;
  writing-mode: vertical-rl;
}

.event__ttl.--lg {
  font-size: 2.5rem;
}

.event__text {
  flex: 1;
}

.event__img-wrap {
  display: flex;
  gap: 2.2rem;
  max-width: 41%;
}

.event__img-wrap--w100 {
  margin-top: -2rem;
  max-width: 100%;
  padding-left: 10rem;
  width: 100%;
}

.event__img-wrap--w100.--pl-125 {
  padding-left: 12.5rem;
}

.event__img {
  background: #999;
  height: 16rem;
  max-width: 23rem;
}

.event__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.event__note {
  margin-top: 8rem;
  text-align: center;
}

.event__shape-left.--top-left {
  top: 26rem;
}

.event__shape-bottom {
  bottom: 14rem;
  max-width: 52.7rem;
}

/*
 * facility
 * -------------------------------------------------------------
 */

.facility {
  position: relative;
}

.facility__inner {
  margin-top: 10rem;
}

.facility__items {
  display: flex;
  flex-direction: column;
  gap: 13.5rem;
}

.facility__item {
  display: flex;
  gap: 4.5rem;
  position: relative;
}

.facility__img {
  max-width: 85.5rem;
}

.facility__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.facility__detail {
  flex: 1;
  min-width: 30rem;
}

.facility__text {
  letter-spacing: 0.03em;
}

.facility__item.--reverse {
  flex-direction: row-reverse;
}

.facility__item.--reverse .facility__ttl {
  left: auto;
  right: 4rem;
}

.facility__item::before,
.facility__item::after {
  display: block;
  position: absolute;
  z-index: -1;
}

.facility__item::before {
  left: 0;
  margin-left: calc(50% - 50vw);
}

.facility__item::after {
  margin-right: calc(50% - 50vw);
  right: 0;
}

.facility__item.--item04:before {
  background: url(./../images/common/c-shape_left.webp) no-repeat center/100%;
  bottom: -3rem;
  content: "";
  height: 25.2rem;
  max-width: 50rem;
  width: 42%;
}

.facility__item.--item02::after {
  background: url(./../images/common/shape_right.webp) no-repeat center/100%;
  bottom: -11rem;
  content: "";
  height: 17.55rem;
  max-width: 53.2rem;
  width: 44%;
}

/*
 * faq
 * -------------------------------------------------------------
 */

.faq {
  padding: 16.4rem 0 13.4rem;
}

.faq__sec-ttl {
  letter-spacing: 0.05em;
  top: -7.5rem;
}

.faq__body {
  background: #f0eeea;
  padding: 5.6rem 4rem 9rem;
  position: relative;
}

.faq__lead {
  padding-left: 13rem;
  position: relative;
  z-index: 2;
}

.faq__list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin: 6.3rem auto 0;
  max-width: 103rem;
}

.faq__item {
  border: 0.1rem solid #fff;
}

.faq__question {
  border-bottom: 1px solid #fff;
  display: flex;
}

.faq__ttl {
  background: #fff;
  color: #6a502e;
  flex: 1;
  font-size: 1.8rem;
  padding: 0.5rem 2.5rem;
}

.faq__eng {
  color: #6a502e;
  display: inline-block;
  font-size: 2.5rem;
  line-height: 1;
  min-width: 5rem;
  text-align: center;
}

.faq__eng.--q {
  align-items: center;
  background: #dad5ce;
  display: inline-block;
  display: flex;
  height: 5rem;
  justify-content: center;
  width: 5rem;
}

.faq__answer {
  display: flex;
}

.faq__text {
  background: #f7f5f1;
  flex: 1;
  padding: 2rem 2.5rem;
}

.faq__eng.--a {
  background: #e8e4de;
  padding-top: 2.5rem;
}

.faq__text a {
  -webkit-text-decoration: underline;
  color: #134e9e;
  display: inline-block;
  text-decoration: underline;
}

.faq__text a:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.faq__shape.--right {
  max-width: 47.5rem;
  right: -8.3rem;
  top: 2rem;
  z-index: 1;
}

/*
 * form
 * -------------------------------------------------------------
 */

.form {
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 1;
}

.form__item {
  align-items: center;
  display: flex;
  gap: 1.2rem;
}

.form__label {
  align-items: center;
  background: #eae7e2;
  display: flex;
  height: 5rem;
  justify-content: space-between;
  max-width: 32.5rem;
  padding: 1rem 1.2rem 1rem 2.3rem;
  width: 30%;
}

.form__label.--textarea {
  height: auto;
  padding: 1rem 1.2rem 16.6rem 2.3rem;
}

.form__item:not(:nth-child(1)) .form__label {
  margin-top: 0.7rem;
}

.form__label span {
  background: #839dbf;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  padding: 0.7rem 1.5rem;
}

.form__input {
  flex: 1;
}

.form__input input,
.form__input textarea {
  background: #fff;
  border: 1px solid #bebebe;
  border-radius: 0.3rem;
  padding: 1rem 1.2rem;
  width: 100%;
}

.form__input input {
  height: 3.6rem;
}

.form__input.--sm {
  max-width: 34rem;
}

.form__input.--md {
  max-width: 46.5rem;
}

.form__input-flex {
  align-items: center;
  display: flex;
  flex: 1;
  gap: 1.5rem;
}

.form__postcode {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.form__input.--postcode {
  max-width: 10.9rem;
}

.form__input.--lg {
  max-width: 100%;
}

.form__input textarea {
  height: 19rem;
}

.form__btn {
  height: 6.1rem;
  margin: 5rem auto 0;
  max-width: 25.6rem;
  position: relative;
  text-align: center;
}

.form__btn::before {
  background: url(./../images/contact/btn_logo.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 6rem;
  position: absolute;
  right: 2.5rem;
  width: 9.2rem;
  z-index: 3;
}

.form__btn::after {
  border-bottom: 2px solid #695d49;
  border-right: 2px solid #695d49;
  content: "";
  display: inline-block;
  height: 0.9rem;
  left: 2.1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 0.9rem;
  z-index: 3;
}

.form__btn input {
  position: relative;
}

.form__btn-link {
  background: transparent;
  position: relative;
  z-index: 4;
}

.form__btn-link::before {
  display: none;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-previous {
  display: block !important;
}

.wpcf7-previous {
  font-size: 1.6rem;
  margin: 5rem auto 0;
}

.wpcf7-not-valid-tip {
  position: absolute;
}

.wpcf7 form.invalid .wpcf7-response-output {
  border-color: #eae7e2;
  margin: 5rem auto;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

/*
 * guide-top
 * -------------------------------------------------------------
 */

.guide-top {
  padding-bottom: 13rem;
}

.guide-top__text {
  margin-top: 3.6rem;
  text-align: center;
}

.guide-top__links {
  display: flex;
  gap: 3.6rem;
  justify-content: center;
  margin-top: 2.3rem;
}

.guide-top__link {
  align-items: center;
  border: 1px solid #c6beb2;
  display: flex;
  height: 6.3rem;
  justify-content: center;
  letter-spacing: 0.05em;
  max-width: 27.2rem;
  position: relative;
  width: 100%;
}

.guide-top__link.--tel {
  font-size: 1.8rem;
  gap: 2.7rem;
  padding-left: 1.3rem;
}

.guide-top__link.--tel::before {
  background: url(./../images/common/icon_tel.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 3.55rem;
  left: 2.4rem;
  position: absolute;
  top: 46%;
  transform: translateY(-50%);
  width: 2.1rem;
}

.guide-top__link.--line {
  color: #134e9e;
  gap: 1.2rem;
}

.guide-top__link.--line::before {
  background: url(./../images/common/icon_line.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 3.5rem;
  width: 3.5rem;
}

/*
 * history
 * -------------------------------------------------------------
 */

.history {
  position: relative;
}

.history__inner {
  margin-top: 8.5rem;
  position: relative;
}

.history__items {
  display: flex;
  flex-direction: column;
  gap: 8.5rem;
}

.history__data {
  text-align: center;
}

.history__ttl {
  font-size: 2.6rem;
  line-height: 1.8;
  text-align: center;
}

.history__time {
  color: #735a2e;
  display: block;
  font-size: 1.8rem;
}

.history__desc {
  margin: 1.4rem auto 0;
  max-width: 87rem;
}

.history__img-wrap {
  display: flex;
  gap: 5.8rem;
  justify-content: center;
  margin-top: 3.5rem;
}

.history__img {
  aspect-ratio: 570/412;
  max-width: 57rem;
}

.history__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.history__shape-left01.--left {
  max-width: 50rem;
  top: 411rem;
}

.history__shape-left02 {
  max-width: 63rem;
  top: 557rem;
}

.history__shape-left03.--left {
  max-width: 50rem;
  top: 693rem;
}

.history__shape-right01.--right {
  max-width: 53.2rem;
  top: 234rem;
}

.history__shape-right02 {
  max-width: 51.4rem;
  top: 392.5rem;
}

.history__shape-right03.--right {
  max-width: 53.2rem;
  top: 473rem;
}

.history__shape-right04.--right {
  max-width: 51.4rem;
  top: 664rem;
}

.history__logo {
  left: -7.3rem;
  max-width: 78rem;
  position: absolute;
  top: 195.5rem;
  z-index: -1;
}

.history__item {
  position: relative;
}

.history__item::before {
  display: block;
  left: 0;
  margin-left: calc(50% - 50vw);
  position: absolute;
  width: 100rem;
  z-index: -1;
}

.history__item.--item05::before {
  background: url(./../images/about/logo_lg.webp) no-repeat center/100%;
  content: "";
  height: 51.67vw;
  height: 51.67vw;
  left: 3.5rem;
  max-width: 78rem;
  top: -18.53vw;
  width: 52vw;
  width: 52vw;
}

.history__item.--item07::before {
  background: url(./../images/history/shape_left01.webp) no-repeat center/100%;
  content: "";
  height: 26rem;
  max-width: 50rem;
  top: 5rem;
  width: 100%;
}

.history__item.--item10::before {
  background: url(./../images/history/shape_left02.webp) no-repeat center/100%;
  content: "";
  height: 27.5rem;
  max-width: 63rem;
  top: -1rem;
  width: 52.5%;
}

.history__item.--item13::before {
  background: url(./../images/history/shape_left01.webp) no-repeat center/100%;
  content: "";
  height: 26rem;
  max-width: 50rem;
  top: -15.3rem;
  width: 41%;
}

.history__item::after {
  display: block;
  margin-right: calc(50% - 50vw);
  position: absolute;
  right: 0;
  width: 100%;
  z-index: -1;
}

.history__item.--item03::after {
  background: url(./../images/history/shape_right01.webp) no-repeat center/100%;
  content: "";
  height: 17.55rem;
  max-width: 52.2rem;
  top: 1.7rem;
  width: 43%;
}

.history__item.--item07::after {
  background: url(./../images/history/shape_right02.webp) no-repeat center/100%;
  content: "";
  height: 28.2rem;
  max-width: 51.4rem;
  top: -13rem;
  width: 43%;
}

.history__item.--item08::after {
  background: url(./../images/history/shape_right01.webp) no-repeat center/100%;
  content: "";
  height: 17.55rem;
  max-width: 52.2rem;
  top: 2rem;
  width: 43%;
}

.history__item.--item12::after {
  background: url(./../images/history/shape_right02.webp) no-repeat center/100%;
  content: "";
  height: 28.2rem;
  max-width: 51.4rem;
  top: 19.3rem;
  width: 43%;
}

/*
 * mv-page
 * -------------------------------------------------------------
 */

.mv-page__ttl {
  align-items: center;
  background: rgba(0, 0, 0, 0.43);
  color: #fff;
  display: flex;
  font-family: "hot-kaishokk", sans-serif;
  font-size: 4rem;
  height: 100%;
  justify-content: center;
  left: 50%;
  line-height: 1;
  max-width: 14.5rem;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  writing-mode: vertical-rl;
}

.mv-page__ttl::before {
  background: url(./../images/common/mv-page_ttl_shape.webp) no-repeat center/100%;
  content: "";
  display: inline-block;
  height: 6.8rem;
  position: absolute;
  top: 2rem;
  width: 100%;
}

.mv-page__img {
  height: 39.4rem;
}

.mv-page__img img {
  -o-object-fit: cover;
  -o-object-position: bottom;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.mv-page.--about .mv-page__ttl {
  justify-content: start;
  padding-top: 3.7rem;
}

.mv-page__ttl.--about {
  background-color: rgba(155, 139, 114, 0.45);
}

/*
 * mv
 * -------------------------------------------------------------
 */

.mv {
  position: relative;
}

.mv::before {
  background: url(./../images/common/mv_shape_left.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 8.8rem;
  left: 0;
  max-width: 30rem;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 11;
}

.mv::after {
  background: url(./../images/common/mv_shape_right.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 12.2rem;
  max-width: 26.6rem;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 11;
}

.mv__img {
  aspect-ratio: 1500/874;
}

.mv__img img {
  -o-object-fit: cover;
  -o-object-position: bottom;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.mv-slider .swiper-slide-prev img,
.mv-slider .swiper-slide-active img,
.mv-slider .swiper-slide-duplicate-active img {
  animation-duration: 18s;
  animation-fill-mode: forwards;
  animation-name: zoom;
}

/*
 * nav
 * -------------------------------------------------------------
 */

.nav.is-active {
  opacity: 1;
  overflow: auto;
  transition: all 0.6s;
  visibility: visible;
  z-index: 10;
}

.nav__items {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

.nav__item:not(:last-child) {
  margin-right: 6.267vw;
}

.nav__item:first-child {
  margin-right: 4.33vw;
}

.nav__link {
  font-size: max(14px, min(1.133vw, 1.7rem));
  line-height: 1.4;
  text-align: center;
}

.nav a:hover {
  color: #b8a788;
}

.nav__item-contact {
  margin-left: 1.333vw;
}

.nav__link-contact {
  align-items: center;
  background: #fff;
  border: 1px solid #cdcdcd;
  border-radius: 1.9rem;
  display: flex;
  font-size: max(12px, min(1vw, 1.5rem));
  gap: min(1.6rem, 1.067vw);
  height: min(4rem, 2.667vw);
  justify-content: flex-start;
  letter-spacing: 0.025em;
  min-height: 3rem;
  min-width: 15rem;
  padding-left: min(2.3rem, 1.533vw);
  width: min(20.3rem, 13.533vw);
}

.nav__link-contact::before {
  background: url(./../images/common/icon_mail.webp) no-repeat center/100%;
  content: "";
  display: inline-block;
  height: min(1.3rem, 0.867vw);
  min-height: 1rem;
  min-width: 1.8rem;
  width: min(2.3rem, 1.533vw);
}

.nav__item-sp {
  display: none;
}

.nav__subitems {
  display: none;
}

.nav__sublink {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  gap: 1rem;
  line-height: 1;
}

.nav__sublink::before {
  border-bottom: 2px solid #b8a788;
  border-right: 2px solid #b8a788;
  content: "";
  display: inline-block;
  height: 0.8rem;
  transform: rotate(-45deg);
  width: 0.8rem;
}

/*
 * news-top__list
 * -------------------------------------------------------------
 */

.news-top__list {
  display: flex;
  flex-direction: column;
}

.news-top__item {
  align-items: center;
  display: flex;
  gap: 3rem;
  overflow: hidden;
  padding: 1rem;
}

.news-top__item:not(:last-child) {
  border-bottom: 1px solid #c4c4c4;
}

.news-top__meta {
  align-items: center;
  display: flex;
  gap: 3rem;
  min-width: 23.3rem;
}

.news-top__category {
  background: #bfad92;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  padding: 0.7rem;
  text-align: center;
  width: 9.8rem;
}

.news-top__category.--event {
  background: #a29684;
}

.news-top__text {
  white-space: nowrap;
}

.news-top__link:hover {
  -webkit-text-decoration: underline;
  opacity: 1;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

/*
 * news-top
 * -------------------------------------------------------------
 */

.news-top {
  background: #f0eeea;
  padding: 8rem 0 8.5rem;
  position: relative;
}

.news-top__header {
  position: relative;
  z-index: 2;
}

.news-top__body {
  margin-top: 3rem;
}

.news-top__date {
  color: #949494;
  font-size: 1.4rem;
  min-width: 11.5rem;
}

.news-top__btn {
  display: flex;
  justify-content: center;
  margin: 2rem auto 0;
}

.news-top__shape {
  display: block;
  max-width: 44rem;
  right: 0;
  top: 0;
  z-index: 1;
}

/*
 * privacy
 * -------------------------------------------------------------
 */

.privacy {
  padding: 2rem 0 12.5rem;
  position: relative;
}

.privacy__lead {
  margin-top: 4.5rem;
}

.privacy__body {
  background: rgba(245, 244, 242, 0.502);
  border: 1px solid #c9beae;
  margin-top: 3.5rem;
  padding: 6.2rem 5.8rem 7.5rem;
}

.privacy__lists {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}

.privacy__ttl {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
}

.privacy__desc {
  margin-top: 1.5rem;
}

.privacy__desc ol {
  counter-reset: item;
  margin-top: 1.5rem;
}

.privacy__desc ol li {
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.privacy__desc ol li::before {
  content: counter(item) ". ";
  counter-increment: item;
}

.privacy__desc ol ol {
  margin-top: 0;
  padding-left: 1em;
}

.privacy__desc address {
  margin-top: 1.5rem;
}

.privacy__shape-left01.--top-left {
  top: 15rem;
}

.privacy__shape-right02.--right {
  max-width: 51rem;
  top: 107rem;
}

/*
 * service-meal
 * -------------------------------------------------------------
 */

.service-meal {
  padding-top: 2.3rem;
}

.service-meal__list {
  grid-gap: 1.2rem;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 4.2rem;
}

.service-meal__ttl {
  line-height: 1;
  margin-top: 1.5rem;
  text-align: center;
}

.service-meal__info {
  border: 0.1rem solid #d3d3d3;
  margin: 5rem auto 0;
  max-width: 50rem;
}

.service-meal__info-ttl {
  background: #f8f5ef;
  border-bottom: 0.1rem solid #d3d3d3;
  font-size: 1.8rem;
  line-height: 1;
  padding: 2rem;
  text-align: center;
}

.service-meal__info-desc {
  padding: 1.7rem 4.3rem 2.2rem;
}

/*
 * service-top
 * -------------------------------------------------------------
 */

.service-top {
  padding-top: 16rem;
  position: relative;
}

.service-top::before {
  border-bottom: 0.4rem solid #dcdcdc;
  border-right: 0.4rem solid #dcdcdc;
  content: "";
  display: block;
  height: 3rem;
  left: 50%;
  position: absolute;
  top: 5rem;
  transform: translateX(-50%) rotate(45deg);
  width: 3rem;
}

.service-top__body {
  align-items: flex-start;
  display: flex;
}

.service-top__header .c-sec-ttl-v span {
  text-indent: 1em;
}

.service-top__details {
  margin-right: min(8.5rem, 5.667vw);
  max-width: 42.2rem;
  padding-left: 3.5rem;
}

.service-top__text {
  text-align: justify;
}

.service-top__btn {
  margin-top: 19.3rem;
}

.service-top__img {
  height: 36.2rem;
  margin-left: auto;
  max-width: 51.1rem;
}

.service-top__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.service-top__shape {
  left: 0;
  max-width: 43.8rem;
  top: 0;
  width: 34%;
}

/*
 * service
 * -------------------------------------------------------------
 */

.service {
  position: relative;
}

.service__detail {
  margin-top: 9rem;
  position: relative;
}

.service__items::before {
  background: url(./../images/common/shape_right.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 19rem;
  margin-right: calc(50% - 50vw);
  max-width: 52.7rem;
  position: absolute;
  right: 0;
  top: -26rem;
  width: 46%;
  z-index: -1;
}

.service__detail-text {
  text-align: center;
}

.service__items {
  display: flex;
  gap: 5rem;
  margin-top: 9rem;
  position: relative;
}

.service__item {
  position: relative;
}

.service__ttl {
  letter-spacing: 0.05em;
}

.service__main-imgWrap {
  margin: 6rem auto 0;
  max-width: 81rem;
  position: relative;
}

.service__main-img {
  aspect-ratio: 405/262;
  margin: 0 auto;
  max-width: 81rem;
}

@media screen and (min-width: 1025px) {

  a[href^="tel:"] {
    pointer-events: none;
  }

}

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

  .nav__item:not(:last-child) {
    margin-right: 4.7vw;
  }

  .nav__item:first-child {
    margin-right: 3.25vw;
  }

  .nav__item-contact {
    margin-left: 1vw;
  }

}

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

  .l-header__inner {
    height: 9rem;
    padding: 0 2rem;
  }

  .l-header__inner.is-scrolled {
    height: 7rem;
  }

  .l-header__inner::before {
    display: none;
  }

  .l-header__inner::after {
    display: none;
  }

  .l-header__inner.is-scrolled::after {
    display: none;
  }

  .l-header__logo {
    width: 15rem;
  }

  .l-header__inner.is-scrolled .l-header__logo {
    max-width: 13rem;
  }

  .l-main {
    margin-top: 9rem;
  }

  .l-main.is-scrolled {
    margin-top: 6rem;
  }

  .c-hamburger {
    display: block;
  }

  .archive-list__body .wp-block-image+p {
    flex: auto;
  }

  .nav {
    background: #ece8e1;
    height: 100%;
    opacity: 0;
    padding: 6rem 3.6rem 8rem;
    position: fixed;
    right: 0;
    top: 0;
    transition: all 0.6s;
    visibility: hidden;
    width: 100%;
  }

  .nav__items {
    align-items: flex-start;
    flex-direction: column;
    gap: 2.2rem;
  }

  .nav__item:not(:last-child) {
    margin-right: 0;
  }

  .nav__item:first-child {
    margin-right: 0;
  }

  .nav__link {
    font-size: 1.8rem;
    line-height: 1;
  }

  .nav__link br {
    display: none;
  }

  .nav__item-contact {
    display: none;
  }

  .nav__item-sp {
    display: block;
  }

  .nav__subitems {
    display: flex;
    flex-direction: column;
    gap: 2.3rem;
    padding: 2.3rem 0 3.8rem;
  }

}

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

  html {
    font-size: 1.333vw;
  }

  .l-archive__inner {
    flex-direction: column;
    gap: 0;
  }

  .l-archive__main {
    max-width: 100%;
  }

  .l-archive__side {
    max-width: 100%;
    padding-bottom: 6rem;
    width: 100%;
  }

  .l-footer {
    position: relative;
  }

  .l-footer__inner {
    flex-direction: column;
    gap: 0;
    position: static;
  }

  .l-footer__nav {
    flex-direction: column;
    padding-top: 4.2rem;
    width: 100%;
  }

  .l-footer__nav-items {
    border-bottom: 0.1rem solid #d4cbbe;
    padding: 2.8rem 0;
    width: 100%;
  }

  .l-footer__nav-items:last-of-type {
    border-bottom: none;
    padding-bottom: 6.3rem;
  }

  .l-footer__nav-link {
    font-size: 1.8rem;
  }

  .l-footer__nav-subitems {
    gap: 2.4rem;
  }

  .l-footer__nav-sublink {
    font-size: 1.6rem;
  }

  .l-footer__nav-sublink::before {
    border-width: 0.1rem;
    height: 0.7rem;
    width: 0.7rem;
  }

  .l-footer__info {
    border-left: none;
    border-right: none;
    border-top: 0.1rem solid #d4cbbe;
    height: auto;
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    padding: 5.3rem 0 8.8rem;
    width: 100vw;
  }

  .l-footer__temple-name {
    margin-top: 2rem;
  }

  .l-footer__address {
    line-height: 1.7;
  }

  .l-footer__copyright {
    padding: 3.5rem 0 4.8rem;
  }

  .l-footer__pagetop {
    height: 5rem;
    right: 0;
    width: 5.5rem;
  }

  .l-footer__pagetop span {
    height: 1.5rem;
    position: relative;
    top: 0.4rem;
    width: 1.5rem;
  }

  .l-header {
    border-bottom: none;
  }

  .l-header__inner {
    height: 5.8rem;
    padding: 0 2rem;
  }

  .l-header__inner.is-scrolled {
    height: 4.2rem;
  }

  .l-header__logo {
    width: 10rem;
  }

  .l-header__inner.is-scrolled .l-header__logo {
    max-width: 8.7rem;
  }

  .l-inner {
    max-width: 86%;
    padding: 0 2rem;
  }

  .l-inner.--archive {
    margin-top: 6rem;
  }

  .l-main {
    margin-top: 5.8rem;
  }

  .l-main.is-scrolled {
    margin-top: 4.2rem;
  }

  .c-btn {
    height: 5rem;
    max-width: 20.9rem;
  }

  .c-btn__link::before {
    height: 5rem;
    right: 0.8rem;
    width: 9.2rem;
  }

  .c-btn.--lg {
    max-width: 24rem;
  }

  .c-btn.--lg .c-btn__link::before {
    right: 2.3rem;
  }

  .c-btn.--xl {
    max-width: 30.5rem;
  }

  .c-btn.--xl .c-btn__link::before {
    right: 3.8rem;
  }

  .c-contents-ttl-v {
    align-items: center;
    display: flex;
    font-size: 2rem;
    justify-content: center;
    left: 1.6rem;
    line-height: 1.25;
    max-width: 8rem;
    padding: 1.8rem 1.5rem 2.5rem;
    top: -4rem;
    width: 100%;
  }

  .c-contents-ttl-v.--short {
    padding: 3rem 2rem 3.5rem;
  }

  .c-hamburger {
    height: 1.7rem;
    width: 3rem;
  }

  .c-hamburger span {
    height: 0.2rem;
  }

  .c-image-stack {
    margin: 0 calc(50% - 50vw);
    max-width: 98rem;
  }

  .c-image-stack__item {
    aspect-ratio: 562/387;
    max-width: 56.3rem;
    width: 75%;
  }

  .c-image-stack__item.--item02 {
    margin-left: auto;
    margin-top: -4%;
    position: static;
  }

  .c-sec-header-page__lead {
    margin-top: 4.4rem;
  }

  .c-sec-header-page__lead.--center {
    text-align: center;
  }

  .c-sec-header-page__text {
    letter-spacing: 0;
    margin-top: 2.6rem;
  }

  .c-sec-header-page__ttl.--facility {
    max-width: 14rem;
  }

  .c-sec-ttl-top {
    font-size: 2.9rem;
  }

  .c-sec-ttl-v {
    font-size: 3.3rem;
  }

  .c-sec-ttl {
    font-size: 3rem;
  }

  .c-shape.--top-left.--history {
    top: 21rem;
    width: 41%;
  }

  .c-shape.--top-left.--about {
    display: none;
  }

  .c-shape.--top-left.--facility {
    display: none;
  }

  .c-shape.--top-left.--contact {
    display: none;
  }

  .c-shape.--top-left.--archive {
    display: none;
  }

  .c-shape.--top-left.--service {
    display: none;
  }

  .c-shape.--top-right {
    max-width: 35.5rem;
    right: -2.3rem;
    top: 2.2rem;
    width: 100%;
  }

  .c-shape.--top-right.--history {
    width: 41%;
  }

  .c-shape.--top-right.--facility {
    max-width: 25.4rem;
    right: 0;
    top: 2.2rem;
    width: 100%;
  }

  .c-shape.--top-right.--contact {
    display: none;
  }

  .c-shape.--top-right.--service {
    max-width: 25.4rem;
    right: 0;
    top: 1rem;
    width: 100%;
  }

  .c-shape.--right {
    right: -2.3rem;
  }

  .--right {
    right: -2.3rem;
  }

  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }

  .about-header__lead {
    font-size: 2.1rem;
    letter-spacing: 0;
    line-height: 1.66;
    text-align: center;
  }

  .about-nav__items {
    gap: 0.6rem;
  }

  .about-nav__item.is-current::after {
    bottom: -0.8rem;
    height: 1rem;
    width: 1rem;
  }

  .about-nav__link {
    font-size: 1.4rem;
    letter-spacing: 0;
    padding: 1.2rem 0.6rem;
  }

  .about-nav.--bottom {
    padding: 6rem 0 8rem;
  }

  .about-nav.--bottom .about-nav__item.is-current::after {
    top: -0.8rem;
  }

  .about-table__body {
    margin: 0 calc(50% - 50vw);
    padding: 11rem 2rem 5.5rem;
    width: 100vw;
  }

  .about-table__table th.--md-sp {
    padding: 4rem 1rem 3.5rem;
  }

  .about-table__shape {
    display: none;
  }

  .about-top {
    padding: 5rem 0 6rem;
  }

  .about-top::before {
    display: none;
  }

  .about-top__body {
    flex-direction: column;
  }

  .about-top__header {
    display: flex;
    margin: 0 auto;
    order: 1;
  }

  .about-top__details {
    display: contents;
  }

  .about-top__text {
    margin-top: 5.4rem;
    order: 2;
  }

  .about-top__btn {
    margin: 3.5rem auto 0;
    order: 4;
  }

  .about-top__img {
    height: auto;
    margin-top: 4.5rem;
    max-width: 100%;
    order: 3;
  }

  .about-top__shape.--top-left {
    display: none;
  }

  .about-top__shape.--top-right {
    top: 2.2rem;
  }

  .about__detail-logo {
    left: -11rem;
  }

  .about__detail-text {
    letter-spacing: 0;
    padding-left: 0;
    text-align: justify;
  }

  .about__stack3-items {
    margin: 5rem calc(50% - 50vw) 0;
    width: 100vw;
  }

  .about__stack3-items::before {
    background: url(./../images/common/shape_left_sp.webp) no-repeat center/100%;
    content: "";
    display: block;
    height: 24.7rem;
    left: 0;
    max-width: 63rem;
    position: absolute;
    top: 32rem;
    width: 100%;
  }

  .about__stack3-item {
    aspect-ratio: unset;
    aspect-ratio: 375/325;
    max-width: 37.5rem;
    width: 50%;
  }

  .about__stack3-item.--item02 {
    aspect-ratio: 395/320;
    left: auto;
    margin-left: auto;
    margin-top: -19%;
    max-width: 39.5rem;
    position: relative;
    top: auto;
    transform: none;
    transform: initial;
    width: 53%;
  }

  .about__stack3-item.--item03 {
    aspect-ratio: 398/320;
    left: auto;
    margin: -5% auto 0;
    max-width: 39.8rem;
    position: relative;
    top: auto;
    width: 53%;
  }

  .about__shape.--right {
    display: none;
  }

  .access-top {
    padding: 10rem 0 11rem;
  }

  .access-top__body {
    align-items: center;
    flex-direction: column;
    justify-content: center;
  }

  .access-top__sec-ttl {
    font-size: 3rem;
    height: 21.8rem;
    margin: 0 auto;
    max-width: 11.3rem;
    order: 1;
    padding: 2rem 1.3rem 1.5rem;
    top: -12.7rem;
  }

  .access-top__sec-ttl::before {
    bottom: 0.5rem;
  }

  .access-top__sec-ttl::after {
    height: 2.8rem;
    left: -1.8rem;
    width: 1.9rem;
  }

  .access-top__details {
    margin-right: 0;
    max-width: 100%;
    min-width: auto;
    order: 3;
    padding-left: 0;
  }

  .access-top__text {
    margin-top: 4rem;
  }

  .access-top__img-items {
    gap: 4rem;
    grid-template-columns: repeat(1, 1fr);
    margin: -6rem auto 0;
    max-width: 84%;
    order: 2;
    width: 100%;
  }

  .access-top__img {
    height: auto;
  }

  .access-top__img-text {
    margin-top: 2.4rem;
  }

  .access-top__btn {
    margin: 5rem auto 0;
  }

  .access-top__shape {
    left: 0;
    max-width: 34.5rem;
    top: -12.2rem;
  }

  .access {
    padding-bottom: 8rem;
  }

  .access__nav-link {
    font-size: 1.6rem;
    line-height: 1.6;
    max-width: 39rem;
    padding: 1.2rem;
  }

  .access__nav-link:nth-child(2) {
    padding-left: 3rem;
  }

  .access__nav-link::before {
    height: 1rem;
    left: 1.5rem;
    width: 1rem;
  }

  .access__ttl {
    font-size: 2rem;
  }

  .access__lead .u-sp {
    display: block;
  }

  .access__items {
    margin-top: 4rem;
  }

  .access__item:not(:last-child)::after {
    border-width: 0.4rem;
    height: 2rem;
    width: 2rem;
  }

  .access__img {
    aspect-ratio: 505/350;
    margin: 0 auto;
    width: 75%;
  }

  .access__bottom {
    margin-top: 5rem;
    padding: 4.8rem 2rem 4.3rem;
  }

  .access__bottom-shape.--right {
    min-width: 20rem;
    width: 55%;
  }

  .access__shape {
    display: none;
  }

  .archive-list {
    padding-bottom: 9rem;
  }

  .archive-list__ttl {
    font-size: 2rem;
  }

  .archive-list__date {
    font-size: 1.6rem;
  }

  .archive-list__category {
    font-size: 1.3rem;
    padding: 0.5rem 1rem;
  }

  .blog-top {
    padding: 6.5rem 0 14rem;
  }

  .blog-top__body {
    margin-top: 2rem;
  }

  .blog-top__cards {
    gap: 3.3rem;
    grid-template-columns: repeat(1, 1fr);
  }

  .blog-top__img {
    aspect-ratio: 333/227;
  }

  .blog-top__shape {
    max-width: 35.8rem;
    right: -3.7rem;
    top: 3rem;
  }

  .event {
    padding: 4rem 0 8rem;
  }

  .event__list {
    gap: 7rem;
  }

  .event__item {
    display: flex;
    flex-direction: column;
    gap: 2.2rem;
    padding: 2.5rem 9.1vw 4rem;
  }

  .event__item-inner {
    display: contents;
    flex-direction: column;
    gap: 2.2rem;
  }

  .event__item:nth-child(2n) .event__item-inner {
    flex-direction: column;
  }

  .event__ttl {
    font-size: 1.8rem;
    margin: -5.4rem auto 0;
    order: 1;
    padding: 1.6rem 2.4rem 1.8rem;
  }

  .event__ttl.--lg {
    font-size: 2rem;
  }

  .event__text {
    margin-top: 0.5rem;
    order: 3;
  }

  .event__img-wrap {
    flex-direction: column;
    margin-top: 1rem;
    max-width: 100%;
    order: 2;
  }

  .event__img-wrap--w100 {
    margin-top: 1rem;
    padding-left: 0;
  }

  .event__img-wrap--w100.--pl-125 {
    padding-left: 0;
  }

  .event__img {
    aspect-ratio: 265/190;
    height: auto;
    max-width: 100%;
    width: 100%;
  }

  .event__shape-left,
  .event__shape-right,
  .event__shape-bottom {
    display: none;
  }

  .facility__inner {
    margin-top: 7.5rem;
  }

  .facility__items {
    gap: 9rem;
  }

  .facility__item {
    flex-direction: column;
    gap: 2rem;
  }

  .facility__img {
    height: auto;
  }

  .facility__detail {
    margin-top: 1rem;
    min-width: auto;
  }

  .facility__item.--reverse {
    flex-direction: column;
  }

  .facility__item.--reverse .facility__ttl {
    left: 1.6rem;
    right: auto;
  }

  .facility__ttl.--sm {
    font-size: 1.5rem;
  }

  .facility__item.--item02::before {
    background: url(./../images/common/shape_left_sp.webp) no-repeat center/100%;
    bottom: -4.3rem;
    content: "";
    height: 12rem;
    max-width: 31rem;
    width: 100%;
  }

  .facility__item.--item04:before {
    display: none;
  }

  .facility__item.--item02::after {
    display: none;
  }

  .facility__item.--item04::after {
    background: url(./../images/facility/shape_right_sp.webp) no-repeat center/100%;
    bottom: -11.2rem;
    content: "";
    height: 22rem;
    max-width: 25rem;
    width: 100%;
  }

  .faq {
    padding: 12rem 0 9rem;
  }

  .faq__sec-ttl {
    left: 2rem;
  }

  .faq__body {
    padding: 3.6rem 2rem 6rem;
  }

  .faq__lead {
    padding-left: 8rem;
  }

  .faq__list {
    gap: 2rem;
    margin-top: 3.5rem;
  }

  .faq__ttl {
    font-size: 1.6rem;
    line-height: 1.6;
    padding: 0.9rem 2rem 0.7rem;
  }

  .faq__eng {
    font-size: 2.2rem;
    min-width: 4rem;
  }

  .faq__eng.--q {
    height: auto;
    width: 4rem;
  }

  .faq__text {
    padding: 1.5rem 2rem;
  }

  .faq__eng.--a {
    padding-top: 2rem;
  }

  .faq__shape.--right {
    display: none;
  }

  .form {
    font-size: 1.5rem;
  }

  .form__item {
    flex-direction: column;
    gap: 1rem;
  }

  .form__label {
    height: 3.6rem;
    max-width: 100%;
    padding: 0.6rem 2rem;
    width: 100%;
  }

  .form__label.--textarea {
    height: 3.6rem;
    padding: 1rem 2rem;
  }

  .form__item:not(:nth-child(1)) .form__label {
    margin-top: 1rem;
  }

  .form__label span {
    font-size: 1.3rem;
    padding: 0.5rem 1rem;
  }

  .form__input {
    width: 100%;
  }

  .form__input input,
  .form__input textarea {
    padding: 0.6rem 1rem;
  }

  .form__input.--sm {
    max-width: calc(100% - 2rem);
  }

  .form__input.--md {
    max-width: calc(100% - 2rem);
  }

  .form__input-flex {
    gap: 1rem;
    width: calc(100% - 2rem);
  }

  .form__input textarea {
    height: 12rem;
  }

  .history__inner {
    margin-top: 4.5rem;
  }

  .history__header-lead {
    font-size: 1.5rem;
  }

  .history__items {
    gap: 7.5rem;
  }

  .history__ttl {
    font-size: 2.4rem;
    line-height: 1.7;
  }

  .history__time {
    font-size: 1.6rem;
  }

  .history__desc {
    margin-top: 2.6rem;
    max-width: 100%;
    text-align: justify;
  }

  .history__desc.--center {
    text-align: center;
  }

  .history__img-wrap {
    align-items: center;
    flex-direction: column;
    gap: 2rem;
    margin-top: 2.8rem;
  }

  .history__img {
    aspect-ratio: 505/350;
    width: 75%;
  }

  .history__shape-left01.--left {
    max-width: 26rem;
    top: 245.2rem;
  }

  .history__shape-left02 {
    display: none;
  }

  .history__shape-left03.--left {
    left: -12.5rem;
    max-width: 45rem;
    top: 401.3rem;
  }

  .history__shape-right01.--right {
    max-width: 53.2rem;
    right: -6.8rem;
    top: 155.5rem;
  }

  .history__shape-right02 {
    display: none;
  }

  .history__shape-right03.--right {
    max-width: 39rem;
    right: -6.4rem;
    top: 336.4rem;
  }

  .history__shape-right04.--right {
    right: -6rem;
    top: 497.9rem;
  }

  .history__logo {
    display: none;
  }

  .history__item.--item05::before {
    display: none;
  }

  .history__item.--item06::before {
    background: url(./../images/common/c-shape_left_sp.webp) no-repeat center/100%;
    content: "";
    height: 16rem;
    max-width: 26rem;
    top: -6.6rem;
    width: 100%;
  }

  .history__item.--item07::before {
    display: none;
  }

  .history__item.--item10::before {
    background: url(./../images/common/c-shape_left_sp.webp) no-repeat center/100%;
    content: "";
    height: 16rem;
    max-width: 26rem;
    top: 15rem;
    width: 100%;
  }

  .history__item.--item13::before {
    display: none;
  }

  .history__item.--item03::after {
    background: url(./../images/history/shape_right01_sp.webp) no-repeat center/100%;
    height: 14rem;
    max-width: 32.7rem;
    top: -8.8rem;
    width: 100%;
  }

  .history__item.--item07::after {
    display: none;
  }

  .history__item.--item08::after {
    background: url(./../images/history/shape_right01_sp.webp) no-repeat center/100%;
    height: 14rem;
    max-width: 35.3rem;
    top: 1.7rem;
    width: 100%;
  }

  .history__item.--item12::after {
    display: none;
  }

  .history__item.--item13::after {
    background: url(./../images/history/shape_right01_sp.webp) no-repeat center/100%;
    content: "";
    height: 14rem;
    max-width: 35.3rem;
    top: -1rem;
    width: 100%;
  }

  .mv-page__ttl {
    font-size: 3rem;
    max-width: 9rem;
  }

  .mv-page__ttl::before {
    top: 0;
  }

  .mv-page__img {
    height: 28rem;
  }

  .mv::before {
    display: none;
  }

  .mv::after {
    display: none;
  }

  .mv__img {
    aspect-ratio: unset;
  }

  .nav__link {
    font-size: 1.6rem;
  }

  .news-top__list {
    gap: 1rem;
  }

  .news-top__item {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }

  .news-top__item:not(:last-child) {
    border-bottom: none;
  }

  .news-top__meta {
    gap: 0.5rem;
    min-width: auto;
  }

  .news-top__category {
    padding: 0.5rem;
    width: 7.5rem;
  }

  .news-top {
    padding: 5rem 0 7rem;
  }

  .news-top__body {
    margin-top: 1.8rem;
  }

  .news-top__btn {
    margin-top: 2.8rem;
  }

  .news-top__shape {
    max-width: 34.5rem;
    right: -3.4rem;
  }

  .privacy {
    padding-bottom: 8rem;
  }

  .privacy__ttl {
    font-size: 2rem;
  }

  .privacy__shape-right02.--right {
    display: none;
  }

  .service-meal {
    padding-top: 0;
  }

  .service-meal__list {
    gap: 3rem;
    grid-template-columns: repeat(1, 1fr);
    margin: 3rem auto 0;
    max-width: 80%;
  }

  .service-meal__info-ttl {
    font-size: 1.6rem;
    padding: 1.6rem 2rem 1.4rem;
  }

  .service-top {
    padding-top: 6rem;
  }

  .service-top::before {
    display: none;
  }

  .service-top__body {
    flex-direction: column;
  }

  .service-top__header {
    display: flex;
    margin: 0 auto;
    order: 1;
  }

  .service-top__details {
    display: contents;
  }

  .service-top__text {
    margin-top: 5.2rem;
    order: 2;
  }

  .service-top__btn {
    margin: 3.2rem auto 0;
    order: 4;
  }

  .service-top__img {
    height: auto;
    margin: 3rem auto 0;
    max-width: 100%;
    order: 3;
  }

  .service-top__shape {
    left: -1.4rem;
    max-width: 34.1rem;
    top: 2.4rem;
  }

  .service__detail {
    margin-top: 6rem;
  }

  .service__items::before {
    top: -17rem;
    width: 66%;
  }

  .service__items {
    flex-direction: column;
    gap: 7rem;
    margin-top: 8rem;
  }

  .service__main-imgWrap {
    margin-top: 8rem;
  }

}

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

  html {
    font-size: min(10px, 2.66vw);
  }

  .l-footer__pagetop {
    right: 0;
  }

  .l-inner {
    max-width: 100%;
  }

  .c-breadcrumb {
    padding: 2rem 0 2.4rem;
  }

  .c-breadcrumb__list {
    gap: 0.5rem;
  }

  .c-breadcrumb a,
  .c-breadcrumb span {
    font-size: 1.3rem;
  }

  .c-breadcrumb__item {
    gap: 0.45rem;
  }

  .c-sec-header-page {
    text-align: left;
  }

  .c-sec-ttl.--sm {
    font-size: 2.9rem;
    margin: 0 calc(50% - 50vw);
  }

  .c-shape.--top-left.--history {
    display: block;
    max-width: 26rem;
    top: 14.7rem;
    width: 100%;
  }

  .c-shape.--top-right.--history {
    display: none;
  }

  .c-shape.--top-right.--about {
    max-width: 25.4rem;
    right: 0;
    top: 7.8rem;
  }

  .c-shape.--top-right.--archive {
    max-width: 18.5rem;
    right: 0;
    top: 3rem;
    width: 100%;
  }

  .about-header__lead {
    margin-top: 4.4rem;
  }

  .about-nav {
    padding-bottom: 3.8rem;
    padding-bottom: 6rem;
  }

  .about-table {
    padding-top: 3rem;
  }

  .about-table__sec-ttl {
    font-size: 2.3rem;
    padding: 2.3rem 1.4rem 2.7rem;
    top: -2.3rem;
  }

  .about-table__table {
    border-spacing: 0.2rem;
    font-size: 1.5rem;
  }

  .about-table__table th {
    font-size: 1.7rem;
    line-height: 1.35;
    padding: 1.8rem 1rem;
    width: 8rem;
  }

  .about-table__table th.--lg {
    line-height: 1.35;
    padding: 4.6rem 0.5rem 4.2rem;
  }

  .about-table__table th.--lg span {
    display: inline-block;
    margin-left: -1rem;
  }

  .about-table__table th.--md {
    padding: 4rem 1rem 3.5rem;
  }

  .about-table__table td {
    padding-left: 1rem;
  }

  .about-table__table .ruby-text rt {
    font-size: 0.9rem;
  }

  .about-table__shape {
    max-width: 23rem;
    right: 0;
    top: 1.2rem;
  }

  .about {
    padding-top: 3.5rem;
  }

  .about__detail {
    padding: 5.5rem 0 0;
  }

  .about__stack3-items::before {
    height: 27.73vw;
    max-width: 82.67vw;
    top: 45vw;
  }

  .access-top__img-items {
    min-width: 27.8rem;
  }

  .access__map {
    aspect-ratio: unset;
    height: 26rem;
  }

  .access__map-link {
    font-size: 1.4rem;
    margin-top: 1rem;
  }

  .access__info {
    margin-top: 0;
  }

  .access__nav {
    align-items: center;
    flex-direction: column;
  }

  .access__nav-link:nth-child(2) {
    padding-left: 1.2rem;
  }

  .access__lead {
    margin-top: 3rem;
    text-align: left;
  }

  .access__lead .u-sp {
    display: none;
  }

  .access__text {
    text-align: left;
  }

  .access__text.--center {
    text-align: center;
  }

  .archive-list__body .wp-block-image {
    max-width: 100%;
    width: 100%;
  }

  .archive-list__flex {
    flex-direction: column;
    gap: 2rem;
  }

  .archive-list__img {
    max-width: 100%;
    width: 100%;
  }

  .archive-nav {
    padding: 4rem 0 10rem;
  }

  .archive-nav__btn {
    font-size: 1.4rem;
    height: 4rem;
    max-width: 13rem;
  }

  .archive-nav__btn::before,
  .archive-nav__btn::after {
    height: 0.6rem;
    width: 0.6rem;
  }

  .archive-nav__btn.--back::before {
    left: 1.5rem;
  }

  .archive-nav__btn.--next::after {
    right: 1.5rem;
  }

  .contact__links {
    align-items: center;
    flex-direction: column;
    gap: 2rem;
  }

  .recaptcha-notice {
    -moz-text-align-last: left;
    font-size: 1.3rem;
    text-align-last: left;
  }

  .event__note {
    margin-top: 3rem;
    text-align: left;
  }

  .faq__sec-ttl {
    margin: -9rem auto 0;
    position: static;
  }

  .faq__lead {
    margin-top: 3rem;
    padding-left: 0;
  }

  .guide-top__text {
    -moz-text-align-last: left;
    margin-top: 1.6rem;
    text-align-last: left;
  }

  .guide-top__links {
    align-items: center;
    flex-direction: column;
    gap: 2rem;
  }

  .guide-top__link.--tel {
    font-size: 1.7rem;
  }

  .history__header-lead {
    margin-top: 2.6rem;
    text-align: left;
  }

  .mv-page__ttl {
    font-size: 2.2rem;
    max-width: 8.2rem;
  }

  .mv-page__ttl::before {
    display: none;
  }

  .mv-page__img {
    height: 21.5rem;
  }

  .mv-page.--about .mv-page__ttl {
    padding-top: 2.3rem;
  }

  .mv__img {
    aspect-ratio: 375/450;
  }

  .privacy__sec-ttl {
    margin: 0 calc(50% - 50vw);
  }

  .privacy__lead {
    margin-top: 3.5rem;
  }

  .privacy__body {
    padding: 2.4rem 2rem 3rem;
  }

  .privacy__ttl {
    font-size: 1.8rem;
  }

  .service-meal__list {
    max-width: 100%;
  }

  .service-meal__info-desc {
    padding: 1.7rem 2rem 2.2rem;
  }

  .service-meal__info-desc span {
    display: inline-block;
  }

  .service__items::before {
    top: -15rem;
    width: 80%;
  }

}

@keyframes zoom {

  from {
    transform: scale(1);
  }

  to {
    transform: scale(1.12);
  }

}


/*# sourceMappingURL=style.css.map */