@charset "UTF-8";
/* ------------------------
  Instagram Gallery
------------------------ */
.p-gallery {
  padding: var(--section-padding-top-sm) 0 var(--section-padding-bottom-sm);
  background: var(--bg-gradation);
}
@media (min-width: 768px) {
  .p-gallery {
    padding: var(--section-padding-top-lg) 0 var(--section-padding-bottom-lg);
  }
}

.p-gallery__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;

  gap: 6px;
}
@media (min-width: 768px) {
  .p-gallery__list {
    margin-top: 25px;

    gap: 2px;
  }
}

.p-gallery__list-note {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
  letter-spacing: 0.01em;
  font-family: var(--base-font-family-mincho);
  font-size: 0.875rem;
  font-weight: 500;

  gap: 0.3125rem;
}
@media (min-width: 768px) {
  .p-gallery__list-note {
    margin-top: 56px;
    letter-spacing: 0.04em;
    font-size: 1.25rem;

    gap: 0.6875rem;
  }
}
.p-gallery__list-note .--icon {
  display: grid;
  width: 0.8125rem;
  height: 0.8125rem;

  place-content: center;
}
@media (min-width: 768px) {
  .p-gallery__list-note .--icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.p-gallery__list-note .--icon img {
  width: 100%;
}

.p-gallery__item {
  width: calc((100% - 6px) / 2);

  aspect-ratio: 186/186;
}
@media (min-width: 768px) {
  .p-gallery__item {
    width: calc((100% - 8px) / 4);

    aspect-ratio: 253/253;
  }
}
.p-gallery__item > a {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
}
.p-gallery__item img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;

  translate: -50% -50%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-gallery__btnWrap {
  display: flex;
  justify-content: center;
  margin-top: 55px;
}
@media (min-width: 768px) {
  .p-gallery__btnWrap {
    margin-top: 80px;
  }
}

.p-gallery__btn {
  text-align: center;
  line-height: 1.4;
}

.p-gallery__item > a {
  opacity: 1;
  transition: opacity var(--duration-sm-out) var(--easing-easeOut-sine);
}
@media (hover: hover) and (pointer: fine) {
  .p-gallery__item > a:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.65;
    -webkit-transition: opacity var(--duration-sm-on) var(--easing-easeOut-sine);
    transition: opacity var(--duration-sm-on) var(--easing-easeOut-sine);
  }
  .p-gallery__item > a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.65;
    -moz-transition: opacity var(--duration-sm-on) var(--easing-easeOut-sine);
    transition: opacity var(--duration-sm-on) var(--easing-easeOut-sine);
  }
  .p-gallery__item > a:where(:any-link, :enabled, summary):hover {
    opacity: 0.65;
    transition: opacity var(--duration-sm-on) var(--easing-easeOut-sine);
  }
}
@media (hover: none) and (any-pointer: coarse) {
  .p-gallery__item > a:active {
    opacity: 0.65;
    transition: opacity var(--duration-sm-on) var(--easing-easeOut-sine);
  }
}

/*
* sitemap.css
*
*/
/* --------------------------------
  override
-------------------------------- */
.sitemapWrap .c-heading__main {
  letter-spacing: -0.04em;
  font-family: var(--base-font-family-mincho);
  font-size: 1.6875rem;
  font-weight: 600;
}
@media (min-width: 768px) {
  .sitemapWrap .c-heading__main {
    letter-spacing: 0.06em;
    font-size: 2.25rem;

    font-feature-settings: "palt" 1;
  }
}
.sitemapWrap .c-heading__sub {
  margin-top: 0.625rem;
  text-align: center;
  letter-spacing: 0.02em;
  font-size: 0.75rem;
  line-height: 1.5333333333;
}
@media (min-width: 768px) {
  .sitemapWrap .c-heading__sub {
    margin-top: 1.1875rem;
    letter-spacing: 0.1em;
    font-size: 1.0625rem;
  }
}

/* --------------------------------
  サイトマップ
-------------------------------- */
.sitemapWrap {
  position: relative;
  margin-top: var(--header-height-sm);
}
@media (min-width: 768px) {
  .sitemapWrap {
    margin-top: var(--header-height-lg);
  }
}
.sitemapWrap::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  width: 100%;
  height: 125.2vw;
  background: linear-gradient(to bottom, transparent calc(100% - 67px), rgb(var(--color-white)) 100%), var(--bg-gradation);
}
@media (min-width: 768px) {
  .sitemapWrap::before {
    height: 939px;
  }
}

.sitemap {
  padding: 33px 0 var(--section-padding-bottom-sm);
}
@media (min-width: 768px) {
  .sitemap {
    padding: 93px 0 var(--section-padding-bottom-lg);
  }
}

.sitemapList {
  margin-top: 27px;
}
@media (min-width: 768px) {
  .sitemapList {
    display: grid;
    margin-top: 50px;

    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 60px;
  }
}

.sitemapItem {
  display: block;
}
.sitemapItem.--full-md {
  grid-column: 1/-1;
}
.sitemapItem + .sitemapItem {
  margin-top: 1.5625rem;
}
@media (min-width: 768px) {
  .sitemapItem + .sitemapItem {
    margin-top: 2.6875rem;
  }
}

.sitemapItem__name {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.5625rem 0;
  border-bottom: 1px solid rgb(var(--color-gray-02));
  width: 100%;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;

  gap: 0 0.5rem;
}
@media (min-width: 768px) {
  .sitemapItem__name {
    padding: 0.625rem 0;

    gap: 0 0.5625rem;
  }
}

.sitemapItem__name-icon {
  display: block;
  align-self: center;
  flex-shrink: 0;
  position: relative;
  width: 1.125rem;
  height: 0.4375rem;
}
.sitemapItem__name-icon .--arrow {
  display: block;
  position: absolute;
  z-index: 3;
  bottom: 15%;
  left: 50%;
  width: 100%;
  height: 1px;
  transform: translate(-50%, 50%);
  background-color: rgb(var(--color-gold));
}
.sitemapItem__name-icon .--arrow::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  width: 0.65625rem;
  height: 1px;
  transform: rotate(28deg);
  transform-origin: right bottom;
  background-color: rgb(var(--color-gold));
}
@media (min-width: 768px) {
  .sitemapItem__name-icon .--arrow::before {
    width: 0.5625rem;
  }
}

.sitemapItem__name-blank {
  width: 0.875rem;
  height: 0.875rem;
}
@media (min-width: 768px) {
  .sitemapItem__name-blank {
    width: 1.0625rem;
    height: 1rem;
  }
}
.sitemapItem__name-blank svg {
  display: block;
  width: 100%;
  height: 100%;
}

.sitemapItem__areaList-name {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.5625rem 0;
  border-bottom: 1px solid rgb(var(--color-gray-02));
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;

  gap: 0 0.5625rem;
}
@media (min-width: 768px) {
  .sitemapItem__areaList-name {
    padding: 0.625rem 0;

    gap: 0 0.625rem;
  }
}

.sitemapItem__areaList-name-icon {
  display: block;
  align-self: center;
  flex-shrink: 0;
  position: relative;
  width: 1.125rem;
  height: 0.4375rem;
}
.sitemapItem__areaList-name-icon .--arrow {
  display: block;
  position: absolute;
  z-index: 3;
  bottom: 15%;
  left: 50%;
  width: 100%;
  height: 1px;
  transform: translate(-50%, 50%);
  background-color: rgb(var(--color-gold));
}
.sitemapItem__areaList-name-icon .--arrow::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  width: 0.65625rem;
  height: 1px;
  transform: rotate(28deg);
  transform-origin: right bottom;
  background-color: rgb(var(--color-gold));
}
@media (min-width: 768px) {
  .sitemapItem__areaList-name-icon .--arrow::before {
    width: 0.5625rem;
  }
}

.sitemapItem__areaList {
  margin-top: 1.25rem;
}
@media (min-width: 768px) {
  .sitemapItem__areaList {
    margin-top: 1.625rem;
  }
}

.sitemapItem__areaItem + .sitemapItem__areaItem {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .sitemapItem__areaItem + .sitemapItem__areaItem {
    margin-top: 26px;
  }
}

.sitemapItem__areaItem-inner {
  display: block;
}
@media (min-width: 768px) {
  .sitemapItem__areaItem-inner {
    display: flex;
    align-items: flex-start;

    gap: 0 11px;
  }
}

.sitemapItem__areaItem-tag {
  padding: 0.1875rem 0.375rem;
}
@media (min-width: 768px) {
  .sitemapItem__areaItem-tag {
    padding: 0.1875rem 0.4375rem;
  }
}

.sitemapItem__areaItem-name {
  font-size: 1rem;
  line-height: 1.40625;
}
.sitemapItem__areaItem-name:is(.sitemapItem__areaItem-tag + *) {
  margin-top: 0.375rem;
}
@media (min-width: 768px) {
  .sitemapItem__areaItem-name:is(.sitemapItem__areaItem-tag + *) {
    margin-top: 0;
  }
}

.sitemapItem__areaItem-icon {
  display: inline-block;
  margin-left: 0.25rem;
  width: 0.875rem;
  height: 0.8125rem;
}
@media (min-width: 768px) {
  .sitemapItem__areaItem-icon {
    margin-left: 0.375rem;
    width: 0.875rem;
    height: 0.8125rem;
  }
}
.sitemapItem__areaItem-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.sitemapItem__blockList {
  margin: 15px 0 10px;
  padding: 0 15px;
}
@media (min-width: 768px) {
  .sitemapItem__blockList {
    display: grid;
    margin: 16px 0 0;
    padding: 0 20px;

    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 60px;
  }
}

@media (max-width: 767.98px) {
  .sitemapItem__block + .sitemapItem__block {
    margin-top: 28px;
  }
}

.sitemapItem__name,
.sitemapItem__areaList-name {
  transition: color var(--duration-sm-out) var(--easing-easeOut-sine);
}
.sitemapItem__name .sitemapItem__name-icon,
.sitemapItem__name .sitemapItem__areaList-name-icon,
.sitemapItem__areaList-name .sitemapItem__name-icon,
.sitemapItem__areaList-name .sitemapItem__areaList-name-icon {
  transition: transform var(--duration-lg-out) var(--easing-easeOut-quad);
  transform: translateX(0);
}
@media (hover: hover) and (pointer: fine) {
  .sitemapItem__name:where(:-webkit-any-link, :enabled, summary):hover, .sitemapItem__areaList-name:where(:-webkit-any-link, :enabled, summary):hover {
    -webkit-transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    color: rgb(var(--color-gold));
  }
  .sitemapItem__name:where(:-moz-any-link, :enabled, summary):hover, .sitemapItem__areaList-name:where(:-moz-any-link, :enabled, summary):hover {
    -moz-transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    color: rgb(var(--color-gold));
  }
  .sitemapItem__name:where(:any-link, :enabled, summary):hover,
  .sitemapItem__areaList-name:where(:any-link, :enabled, summary):hover {
    transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    color: rgb(var(--color-gold));
  }
  .sitemapItem__name:where(:-webkit-any-link, :enabled, summary):hover .sitemapItem__name-icon, .sitemapItem__name:where(:-webkit-any-link, :enabled, summary):hover .sitemapItem__areaList-name-icon, .sitemapItem__areaList-name:where(:-webkit-any-link, :enabled, summary):hover .sitemapItem__name-icon, .sitemapItem__areaList-name:where(:-webkit-any-link, :enabled, summary):hover .sitemapItem__areaList-name-icon {
    -webkit-transition: transform var(--duration-lg-on) var(--easing-easeOut-quad);
    transition: transform var(--duration-lg-on) var(--easing-easeOut-quad);
    transform: translateX(0.4em);
  }
  .sitemapItem__name:where(:-moz-any-link, :enabled, summary):hover .sitemapItem__name-icon, .sitemapItem__name:where(:-moz-any-link, :enabled, summary):hover .sitemapItem__areaList-name-icon, .sitemapItem__areaList-name:where(:-moz-any-link, :enabled, summary):hover .sitemapItem__name-icon, .sitemapItem__areaList-name:where(:-moz-any-link, :enabled, summary):hover .sitemapItem__areaList-name-icon {
    -moz-transition: transform var(--duration-lg-on) var(--easing-easeOut-quad);
    transition: transform var(--duration-lg-on) var(--easing-easeOut-quad);
    transform: translateX(0.4em);
  }
  .sitemapItem__name:where(:any-link, :enabled, summary):hover .sitemapItem__name-icon,
  .sitemapItem__name:where(:any-link, :enabled, summary):hover .sitemapItem__areaList-name-icon,
  .sitemapItem__areaList-name:where(:any-link, :enabled, summary):hover .sitemapItem__name-icon,
  .sitemapItem__areaList-name:where(:any-link, :enabled, summary):hover .sitemapItem__areaList-name-icon {
    transition: transform var(--duration-lg-on) var(--easing-easeOut-quad);
    transform: translateX(0.4em);
  }
}
@media (hover: none) and (any-pointer: coarse) {
  .sitemapItem__name:active,
  .sitemapItem__areaList-name:active {
    transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    color: rgb(var(--color-gold));
  }
  .sitemapItem__name:active .sitemapItem__name-icon,
  .sitemapItem__name:active .sitemapItem__areaList-name-icon,
  .sitemapItem__areaList-name:active .sitemapItem__name-icon,
  .sitemapItem__areaList-name:active .sitemapItem__areaList-name-icon {
    transition: transform var(--duration-lg-on) var(--easing-easeOut-quad);
    transform: translateX(0.4em);
  }
}

.sitemapItem__areaItem-inner {
  transition: color var(--duration-sm-out) var(--easing-easeOut-sine);
}
.sitemapItem__areaItem-inner .sitemapItem__areaItem-icon svg {
  transition: stroke var(--duration-sm-out) var(--easing-easeOut-sine);
}
@media (hover: hover) and (pointer: fine) {
  .sitemapItem__areaItem-inner:where(:-webkit-any-link, :enabled, summary):hover {
    -webkit-transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    color: rgb(var(--color-gold));
  }
  .sitemapItem__areaItem-inner:where(:-moz-any-link, :enabled, summary):hover {
    -moz-transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    color: rgb(var(--color-gold));
  }
  .sitemapItem__areaItem-inner:where(:any-link, :enabled, summary):hover {
    transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    color: rgb(var(--color-gold));
  }
  .sitemapItem__areaItem-inner:where(:-webkit-any-link, :enabled, summary):hover .sitemapItem__areaItem-icon svg {
    -webkit-transition: stroke var(--duration-sm-on) var(--easing-easeOut-sine);
    transition: stroke var(--duration-sm-on) var(--easing-easeOut-sine);

    stroke: rgb(var(--color-gold));
  }
  .sitemapItem__areaItem-inner:where(:-moz-any-link, :enabled, summary):hover .sitemapItem__areaItem-icon svg {
    -moz-transition: stroke var(--duration-sm-on) var(--easing-easeOut-sine);
    transition: stroke var(--duration-sm-on) var(--easing-easeOut-sine);

    stroke: rgb(var(--color-gold));
  }
  .sitemapItem__areaItem-inner:where(:any-link, :enabled, summary):hover .sitemapItem__areaItem-icon svg {
    transition: stroke var(--duration-sm-on) var(--easing-easeOut-sine);

    stroke: rgb(var(--color-gold));
  }
}
@media (hover: none) and (any-pointer: coarse) {
  .sitemapItem__areaItem-inner:active {
    transition: color var(--duration-sm-on) var(--easing-easeOut-sine);
    color: rgb(var(--color-gold));
  }
  .sitemapItem__areaItem-inner:active .sitemapItem__areaItem-icon svg {
    transition: stroke var(--duration-sm-on) var(--easing-easeOut-sine);

    stroke: rgb(var(--color-gold));
  }
}