@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');

/**
 * Swiper 4.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 14, 2018
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform,-webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform,-webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  -o-transition-property: transform,height;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform;
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s top,.2s -webkit-transform;
  transition: .2s top,.2s -webkit-transform;
  -o-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top;
  transition: .2s transform,.2s top,.2s -webkit-transform;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s left,.2s -webkit-transform;
  transition: .2s left,.2s -webkit-transform;
  -o-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left;
  transition: .2s transform,.2s left,.2s -webkit-transform;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s right,.2s -webkit-transform;
  transition: .2s right,.2s -webkit-transform;
  -o-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right;
  transition: .2s transform,.2s right,.2s -webkit-transform;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px;
}


@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}

/*
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
*/
.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input,
textarea,
select {
  *font-size: 100%;
}

.clearfix::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

a {
  outline: none;
  text-decoration: none;
  color: inherit;
}

img {
  -webkit-backface-visibility: hidden;
  vertical-align: bottom;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}

a[href],
label[for],
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="image"],
input[type="radio"],
input[type="checkbox"],
select {
  cursor: pointer;
}

a[href^="tel:"] {
  cursor: default;
}

/* rgba(#000 , .15) */
/* rgba(#000 , .10) */
/*-------------------------
  ROLL OVER
-------------------------*/
.ro {
  transition: all 0.1s ease-in;
}

.ro:hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.ro:hover img {
  opacity: 1;
}

.ro a:hover, .ro a:hover img {
  transition: none;
  opacity: 1;
}

@media print, screen and (max-width: 1023px) {
  .ro:hover,
  .ro a:hover,
  .ro a:hover img {
    opacity: 1;
  }
}

/*-------------------------
  pcCont/spCont
-------------------------*/
@media print, screen and (min-width: 1023px) {
  .sp, .spCont {
    display: none !important;
  }
}

@media print, screen and (max-width: 1023px) {
  .pc, .pcCont {
    display: none !important;
  }
}

/*-------------------------
  COMMONS
-------------------------*/
.tac {
  text-align: center;
}

.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

.f_left {
  float: left;
}

.f_right {
  float: right;
}

.clear {
  clear: both;
}

button {
  cursor: pointer;
  outline: none;
}

.fBox {
  display: flex;
}

svg {
  fill: currentColor;
}

.preload * {
  transition: none !important;
}

.ofi {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.ac_btn {
  cursor: pointer;
}

.ac_box {
  display: none;
}

.slider {
  opacity: 0;
  transition: opacity .3s linear;
}

.slider.slick-initialized {
  opacity: 1;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■setting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
html {
  font-family: "Zen Maru Gothic", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 62.5%;
}

@media print, screen and (max-width: 1023px) {
  html {
    font-weight: normal;
  }
}

@media all and (-ms-high-contrast: none) {
  html {
    font-weight: 400;
  }
}

body {
  /*position: relative;
  min-width: 319px;*/
  background: #FFF462;
  color: #222;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 auto;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  word-break: normal;
  word-wrap: break-word;
  line-break: strict;
  overflow-wrap: break-word;
}

body.spMenu_open {
  position: fixed;
  left: 0;
  right: 0;
}

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

body:not(.view_sp) a[href^="tel:"] {
  pointer-events: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: inherit;
}

.bold, strong {
  font-weight: inherit;
}

a{
  color: #D93751;
  text-decoration: underline;
}
a.disabled{
  pointer-events: none;
  cursor: default; 
  opacity: 0.4;
}

#container {
  position: relative;
  z-index: 0;
  width: 100%;
}

.contents {
  position: relative;
  padding: 80px 0 0 0;
  background-color: #fff; 
}
.page-toppage .contents{
  padding: 0;
  background-color: #FFF462;
}
.main{
  background: url(../img/bg-town.png) repeat-x center bottom;
  background-size: 50% auto;
  padding-bottom: 200px;
  margin-bottom: 24px;
}
@media screen and (max-width: 1023px) {
  .main{
    padding-bottom: 80px;
    background-size: 100% auto;
  }
}

.innerWrap {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

@media screen and (max-width: 1240px) {
  .innerWrap {
    max-width: none;
    padding: 0 30px;
  }
}
@media screen and (max-width: 1023px) {
  .contents {
    padding-top: 40px;
  }
  .innerWrap{
    padding: 0 30px;
  }
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■parts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
img[src*="logo"] {
  pointer-events: none;
}

/* rgba(#000 , .15) */
/* rgba(#000 , .10) */

/* 動画 */
.video-container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 8px;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
}

.video-container iframe {
  width: 100%;
  height: 100%;
}


/*-------------------------
  bg
-------------------------*/
.bg01 {
  padding-left: 40px;
  padding-right: 40px;
  border-bottom: 1px solid #000;
}

@media print, screen and (max-width: 1023px) {
  .bg01 {
    overflow: hidden;
    padding-left: 24px;
    padding-right: 24px;
  }
}

#page_activity .bg01{
  border-bottom: 1px solid #000;
}



/*-------------------------
  hd
-------------------------*/
.hd01 {
  position: relative;
  color: #00683E;
  font-weight: 500;
  font-size: 3.6rem;
  line-height: 1.8;
  text-align: left;
  width: 960px;
  margin: 0 auto 16px;
}

@media screen and (max-width: 1023px) {
  .hd01 {
    order: 1;
    font-size: 3rem;
    margin-bottom: 12px;
  }
}


.hd02 {
  color: #00683E;
  font-size: 36px;
  text-align: left;
  max-width: 1200px;
  margin: 20px auto 40px;
}

@media print, screen and (max-width: 1023px) {
  .hd02 {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
}

.hd02 + p {
  text-align: center;
  line-height: 2.125;
}

@media screen and (max-width: 1023px) {
  .hd02 + p {
    text-align: left;
    line-height: 1.875;
  }
}

.hd03 {
  position: relative;
  text-align: center;
  font-weight: bold;
  font-size: 3.0rem;
  line-height: 1.8;
}

@media screen and (max-width: 1023px) {
  .hd03 {
    font-size: 2.6rem;
    line-height: 1.42308;
  }
}

.hd03 span {
  position: relative;
  display: inline-block;
  padding: 16px 42px 0;
}

@media screen and (max-width: 1023px) {
  .hd03 span {
    padding: 10px 18px 0;
  }
}

.hd03 span::before, .hd03 span::after {
  content: '';
  position: absolute;
  top: 0;
  width: 62px;
  height: 78px;
  background-size: cover;
}

@media screen and (max-width: 1023px) {
  .hd03 span::before, .hd03 span::after {
    top: 16px;
    width: 50px;
    height: 62px;
  }
}

.hd03 span::before {
  right: 100%;
  background-image: url(../img/top_case01.png);
}

.hd03 span::after {
  left: 100%;
  background-image: url(../img/top_case02.png);
}

.hd03 + p {
  text-align: center;
  line-height: 2.125;
}

@media screen and (max-width: 1023px) {
  .hd03 + p {
    text-align: left;
    line-height: 1.875;
  }
}

.hd04 {
  overflow: hidden;
  position: relative;
  text-align: center;
  font-weight: bold;
  font-size: 3.2rem;
  line-height: 1.8;
}

@media screen and (max-width: 1023px) {
  .hd04 {
    font-size: 2.6rem;
    line-height: 1.42308;
  }
}

.hd04 span {
  position: relative;
  display: inline-block;
  padding: 0 45px;
}

@media screen and (max-width: 1023px) {
  .hd04 span {
    padding: 0 11px;
  }
}

.hd04 span::before, .hd04 span::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 500%;
  height: 1px;
  background: #000;
}

.hd04 span::before {
  right: 100%;
}

.hd04 span::after {
  left: 100%;
}

.hd04 + p {
  text-align: center;
  line-height: 2.125;
}

@media screen and (max-width: 1023px) {
  .hd04 + p {
    text-align: left;
    line-height: 1.875;
  }
}

/*-------------------------
  btn
-------------------------*/
/* 通常ボタン */
.btn01 {
  position: relative;
  display: inline-block;
  min-width: 200px;
  margin: 0 0 24px;
}

.btn01 .btn_inner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 45px;
  background: #fff;
  border: 2px solid #222;
  border-radius: 24px;
  box-sizing: border-box;
  color: #222;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 8px 24px 10px;
  transition: all 0.1s ease-in;
}

.btn01 .btn_inner::after {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #31A2D2;
  transition: all 0.1s ease-in;
}

.btn01 button {
  background: none;
  border: none;
  box-shadow: none;
  font-family: inherit;
  font-size: 100%;
}

.btn01 a {
  text-decoration: none;
}

.btn01 a:hover.btn_inner::after, .btn01 button:hover.btn_inner::after {
  opacity: .2;
}

.btn01 span {
  display: inline-block;
}

.btn01 a[href*="/contact/"] span {
  position: relative;
  padding-left: 39px;
}

.btn01 a[href*="/contact/"] span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 22px;
  height: 16px;
  background: url(../img/ico_mail.svg) no-repeat left center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}

.btn01 a[href*="/contact/"] span::after {
  display: none;
}

.btn01 a[target="_blank"] {
  /*_blankのとき*/
}

/*.btn01 a[target="_blank"] span::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 17px;
  height: 14px;
  background: url(../img/icon-out.png) no-repeat left top;
  background-size: 17px auto;
  transform: translate(0, -50%);
}*/

.btn01 a[target="_blank"][href$=".pdf"] {
  /*_blankかつhrefの最後が【.pdf】のとき*/
}

.btn01 span::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 12px;
  width: 8px;
  height: 8px;
  transform: translate(0, -50%) rotate(45deg);
  border-right: 2px solid #222;
  border-top: 2px solid #222;
}

@media screen and (max-width: 1023px) {
  .btn01{
    margin-bottom: 16px;
  }
}



.btn02 {
  position: relative;
  display: flex;
  max-width: 400px;
  margin: 0 auto;
}

.btn02 .btn_inner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 60px;
  background: #D93751;
  box-sizing: border-box;
  border-radius: 40px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  padding: 24px 32px;
  transition: all 0.1s ease-in;
}

.btn02 .btn_inner::after {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  transition: all 0.1s ease-in;
}

.btn02 button {
  background: none;
  border: none;
  box-shadow: none;
  font-family: inherit;
  font-size: 100%;
}

.btn02 a {
  text-decoration: none;
}

.btn02 a:hover.btn_inner::after, .btn02 button:hover.btn_inner::after {
  opacity: .2;
}

.btn02 span {
  display: inline-block;
}

.btn02 a:hover.btn_inner::after {
  opacity: .2;
}

.btn02 span::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 24px;
  width: 12px;
  height: 12px;
  transform: translate(0, -50%) rotate(45deg);
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
}

@media screen and (max-width: 1023px) {
  .btn02 .btn_inner {
    font-size: 1.8rem;
    min-height: 56px;
    padding: 16px 24px;
  }
}



.btn03 {
  position: relative;
  display: flex;
  max-width: 300px;
}

.btn03 .btn_inner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 60px;
  background: #fff;
  box-sizing: border-box;
  color: #333333;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 10px;
  transition: all 0.1s ease-in;
}

.btn03 .btn_inner::after {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  transition: all 0.1s ease-in;
}

.btn03 button {
  background: none;
  border: none;
  box-shadow: none;
  font-family: inherit;
  font-size: 100%;
}

.btn03 a {
  text-decoration: none;
}

.btn03 a:hover.btn_inner::after, .btn03 button:hover.btn_inner::after {
  opacity: .2;
}

.btn03 span {
  display: inline-block;
}

.btn03 a[href*="/contact/"] span {
  position: relative;
  padding-left: 39px;
}

.btn03 a[href*="/contact/"] span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 22px;
  height: 16px;
  background: url(../img/ico_mail.svg) no-repeat left center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}

.btn03 a[href*="/contact/"] span::after {
  display: none;
}

.btn03 a[target="_blank"] {
  /*_blankのとき*/
}

.btn03 a[target="_blank"] span::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  height: 13px;
  background: url(../img/ico_blank.svg) no-repeat left top;
  background-size: 12px auto;
  transform: translate(0, -50%);
}

.btn03 a[target="_blank"][href$=".pdf"] {
  /*_blankかつhrefの最後が【.pdf】のとき*/
}

.btn03 .btn_inner {
  border: 1px solid #BFBFBF;
  border-radius: 0;
  font-size: 1.8rem;
  letter-spacing: 0;
}

@media print, screen and (max-width: 1023px) {
  .btn03 .btn_inner {
    font-weight: normal;
  }
}

@media all and (-ms-high-contrast: none) {
  .btn03 .btn_inner {
  }
}

.btn03 > *:hover {
  background-color: rgba(191, 191, 191, 0.2);
}

/*-------------------------
  text
-------------------------*/
.text01 {
  font-size: 1.5rem;
  line-height: 2;
}

.text01 em {
  font-style: italic;
}

.text01 strong, .text01 b {
  font-weight: 700;
}

.text01 a:not([class]) {
  text-decoration: underline;
  transition: all 0.1s ease-in;
}

.text01 a:not([class]):hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.text01 a:not([class]):not([href^="mailto:"])[target="_blank"] {
  position: relative;
  margin-right: 5px;
}

.text01 a:not([class]):not([href^="mailto:"])[target="_blank"]:after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 13px;
  background: url(../img/ico_blank.svg) no-repeat left top;
  background-size: 12px auto;
  margin-left: 3px;
}

@media print, screen and (min-width: 1023px) {
  .text01.pc_center {
    text-align: center;
  }
}

@media print, screen and (max-width: 1023px) {
  .text01.sp_center {
    text-align: center;
  }
}

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

.text01:not(p) > *:first-child {
  margin-top: 0;
}

.text01 .marker {
  color: #00f;
  font-weight: bold;
  font-size: 160%;
  margin: 0 .5em;
  background: linear-gradient(transparent 78%, #FFC6B5 78%);
}

@media screen and (max-width: 1023px) {
  .text01 .marker {
    margin: 0;
  }
}

@media print, screen and (max-width: 1023px) {
  .text01 {
    font-size: 1.4rem;
  }
}

.text01:not(p) > * {
  margin-top: 30px;
}

@media print, screen and (max-width: 1023px) {
  .text01:not(p) > * {
    margin-top: 25px;
  }
}

.text02 {
  font-size: 1.6rem;
  line-height: 2.25;
}

.text02 em {
  font-style: italic;
}

.text02 strong, .text02 b {
  font-weight: 700;
}

.text02 a:not([class]) {
  color: #e21318;
  text-decoration: underline;
  transition: all 0.1s ease-in;
}

.text02 a:not([class]):hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.text02 a:not([class]):not([href^="mailto:"])[target="_blank"] {
  position: relative;
  margin-right: 5px;
}

.text02 a:not([class]):not([href^="mailto:"])[target="_blank"]:after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 13px;
  background: url(../img/ico_blank.svg) no-repeat left top;
  background-size: 12px auto;
  margin-left: 3px;
}

@media print, screen and (min-width: 1023px) {
  .text02.pc_center {
    text-align: center;
  }
}

@media print, screen and (max-width: 1023px) {
  .text02.sp_center {
    text-align: center;
  }
}

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

.text02:not(p) > *:first-child {
  margin-top: 0;
}

.text02 .marker {
  /*color: #00f;*/
  font-weight: bold;
  font-size: 160%;
  margin: 0 .25em;
  background: linear-gradient(transparent 78%, #f0ff00 78%);
}

@media screen and (max-width: 1023px) {
  .text02 .marker {
    margin: 0;
  }
}

@media print, screen and (max-width: 1023px) {
  .text02 {
    line-height: 2;
  }
}

.text02:not(p) > * {
  margin-top: 30px;
}

.text03 {
  font-size: 1.7rem;
  line-height: 2;
}

.text03 em {
  font-style: italic;
}

.text03 strong, .text03 b {
  font-weight: 700;
}

.text03 a:not([class]) {
  color: #e21318;
  text-decoration: underline;
  transition: all 0.1s ease-in;
}

.text03 a:not([class]):hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.text03 a:not([class]):not([href^="mailto:"])[target="_blank"] {
  position: relative;
  margin-right: 5px;
}

.text03 a:not([class]):not([href^="mailto:"])[target="_blank"]:after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 13px;
  background: url(../img/ico_blank.svg) no-repeat left top;
  background-size: 12px auto;
  margin-left: 3px;
}

@media print, screen and (min-width: 1023px) {
  .text03.pc_center {
    text-align: center;
  }
}

@media print, screen and (max-width: 1023px) {
  .text03.sp_center {
    text-align: center;
  }
}

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

.text03:not(p) > *:first-child {
  margin-top: 0;
}

.text03 .marker {
  color: #00f;
  font-weight: bold;
  font-size: 160%;
  margin: 0 .5em;
  background: linear-gradient(transparent 78%, #FFC6B5 78%);
}

@media screen and (max-width: 1023px) {
  .text03 .marker {
    margin: 0;
  }
}

@media print, screen and (max-width: 1023px) {
  .text03 {
    font-size: 1.5rem;
  }
}

.text03:not(p) > * {
  margin-top: 34px;
}

/*-------------------------
  sec_block
-------------------------*/
.page-toppage .sec_block {
  padding-left: 40px;
  padding-right: 40px;
}

@media print, screen and (max-width: 1023px) {
  .page-toppage .sec_block {
    padding-left: 24px;
    padding-right: 24px;
  }
}

.sec_block + .sec_block {
  margin-top: 60px;
}

@media print, screen and (max-width: 1023px) {
  .sec_block + .sec_block {
    margin-top: 30px;
  }
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■汎用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.first{
  background-color: #fff;
}

.second{
  padding: 60px 0 200px;
  background:#FFF462 url(../img/bg-town.png) repeat-x center bottom 20px;
  background-size: 800px auto;
}

.c-intro-section {
  width: 100%;
  background-color: #fff;
}

.c-intro-inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.c-intro-img {
  width: 100%;
  margin: 0 0 80px;
  text-align: center;
}

.c-intro-img img {
  width: 100%;
  height: auto;
  display: block;
}

.c-intro-body {
  text-align: left;
}
/* --- SP版 --- */
@media screen and (max-width: 1023px) {
  .second{
    padding: 30px 0 160px;
  }
  .c-intro-inner {
    padding: 0 30px;
  }
}
@media screen and (max-width: 439px) {
  .second{
    padding: 30px 0 120px;
    background-size: 600px auto;
  }
}

.c-box {
  max-width: 960px;
  width: 100%;
  margin: 0 auto 32px;
  background-color: #fff;
  padding: 34px 40px 40px;
  border-radius: 16px;
}
.c-box > :first-child {
  margin-top: 0;
}

.c-b-box {
  max-width: 960px;
  width: 100%;
  margin: 0 auto 32px;
  background-color: #fff;
  padding: 20px 32px;
  border-radius: 10px;
  border:1px solid #666;
}

.c-box .image{
  text-align: center;
  margin: 40px 24px;
}
@media screen and (max-width: 1023px) {
  .c-box .image{
    width: 100%;
    margin: 30px 0;
  }
  .c-box .image img{
    max-width: 800px;
    width: 100%;
    height: auto;
  }
}



/* --- 見出し系 --- */
.c-hd-main {
  font-size: 26px;
  color: #00683E;
  margin-bottom: 20px;
}

.c-hd-sub {
  font-size: 20px;
  color: #fff;
  background-color: #00683E;
  text-align: center;
  padding: 12px;
  margin: 48px 0 24px;
  border-radius: 4px;
}

.c-hd-sub2 {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.5;
  margin: 48px 0 16px;
  padding: 14px 0 16px 20px;
  border-left: 4px solid #00683E;
  border-radius: 8px;
  background-color: #f0f0f0;
}

.c-text-highlight {
  font-size: 22px;
  line-height: 1.8;
  margin: 0;
}

/* --- テキスト系 --- */
.c-text-intro { font-size: 18px; margin-bottom: 20px; }
.c-text-base  { font-size: 18px; line-height: 2; margin-bottom: 20px; }
.c-text-large { font-size: 26px; line-height: 1.5; margin-bottom: 12px; color: #222; }
.c-text-medium { font-size: 21px; line-height: 1.5; margin-bottom: 10px; color: #222; }
.c-text-small { font-size: 15px; line-height: 1.6; color: #333; }
.c-text-small p { margin-bottom: 0.5em; }

/* --- 補助金カード --- */
.c-flex-group {
  display: flex;
  gap: 20px;
}

.c-card {
  flex: 1;
  background-color: #f3f7f5;
  padding: 24px 20px;
  border-radius: 12px;
  text-align: center;
}

.c-card-label { font-size: 26px; margin-bottom: 10px; }

.c-card-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

.c-card-value { font-size: 26px; color: #31A2D2; display: flex; align-items: baseline; }
.c-card-value span { font-size: 80px; line-height: 1; }
.c-card-note { font-size: 26px; }
.c-card-note span { color: #31A2D2; }

/* --- リスト --- */
.c-list { list-style: none; padding: 0; margin: 0; }
.c-list li {
  font-size: 18px;
  line-height: 1.6;
  padding: 4px 0 4px 1.2em;
  position: relative;
}
.c-list li::before { content: "・"; position: absolute; left: 0; }
.c-list li:last-child { border-bottom: none; }

/* --- SP版 --- */
@media screen and (max-width: 1023px) {
  .c-intro-img {
    margin-bottom: 25px;
  }

  .c-intro-body {
    padding: 0;
    text-align: left;
  }
  .c-card{
    padding: 20px;
  }
  .c-card-row {
    gap: 0;
  }
  .c-text-highlight {
    font-size: 18px;
    line-height: 1.8;
  }

  .c-box { padding: 30px 25px; margin-bottom: 16px; }
  .c-hd-sub{ font-size: 18px; padding: 6px; margin: 24px 0 20px;}
  .c-hd-sub2 { font-size: 17px; padding: 12px 10px 14px 18px;}
  .c-hd-main { font-size: 24px; }
  .c-text-large { font-size: 20px; }
  .c-text-medium { font-size: 18px; }
  .c-text-base, .c-text-intro, .c-list li { font-size: 16px; }
  .pc-only { display: none; }

  .c-flex-group { flex-direction: column; gap: 16px; }
  .c-card-label, .c-card-note, .c-card-value { font-size: 20px; margin: 0;}
  .c-card-value span { font-size: 60px; }
}


/* --- アンカー --- */
.c-index{
  display: flex;
  align-items: center;
  gap: 0 40px;
  margin: 0 auto;
  border: 1px solid #666;
  padding: 24px;
  border-radius: 8px
}
.c-index h2{
  margin: 0;
  padding: 4px 12px;
}
.c-index .c-list{
  display: flex;
  gap: 0 24px;
}
@media screen and (max-width: 1023px) {
  .c-index{
    display: block;
    padding: 16px;
  }
  .c-index h2{
    margin-bottom: 8px;
  }
  .c-index .c-list{
    display: block;
  }
}





/* 全体を包む1200pxの白背景ブロック */
.c-info-block {
  width: 100%;
  background-color: #fff;
  padding: 60px 0;
}

.c-info-inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* h1：マーカー風 */
.c-hd-marker {
  text-align: center;
  font-size: 32px;
  margin-bottom: 40px;
}
.c-hd-marker span {
  background: linear-gradient(transparent 50%, #FFF462 50%);
  display: inline;
  padding: 0 4px;
}

/* 注意事項：赤枠ユニット */
.c-alert-unit {
  margin: 0 auto;
  border: 1px solid #D93751;
  border-radius: 8px;
  overflow: hidden;
}

.c-hd-alert {
/*  background-color: #D93751;*/
  color: #D93751;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  padding: 20px 24px 0;
  margin: 0;
}
.c-alert-body {
  padding: 16px 24px 20px;
}
.c-alert-body .c-text-base{
  font-size: 17px;
}

.c-list-dot {
  list-style: none;
  padding: 0;
  margin: 0;
}
.c-list-dot li {
  font-size: 17px;
  line-height: 1.8;
  padding-left: 1.2em;
  text-indent: -1.2em;
  margin-bottom: 3px;
}
.c-list-dot li::before { content: "・"; }

.c-list-dot li .btn01{
  margin-top: 16px;
  margin-bottom: 0;
}
.c-list-dot li .btn01 a{
  text-indent: 0;
}

/* --- SP版 --- */
@media screen and (max-width: 1023px) {
  .c-info-block { padding: 40px 0; }
  .c-hd-marker { font-size: 24px; }
  .c-hd-alert { font-size: 17px; padding: 14px 12px 0;}
  .c-alert-body { padding: 6px 12px 12px; }
  .c-list-dot li { font-size: 16px; line-height: 1.6; }
  .c-alert-body .c-text-base{ font-size: 16px;}
}






/*-------------------------
  pagetitle
-------------------------*/
.pagetitle {
  text-align: center;
  padding: 48px 0 24px;
}

@media screen and (max-width: 1023px) {
  .pagetitle {
    padding: 24px 0;
  }
}

.pagetitle > span {
  position: relative;
  z-index: 0;
  display: inline-block;
}

.first h1{
  display: inline-block;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.35;
  letter-spacing: 0.1em;
  margin-bottom: 80px;
  background: linear-gradient(transparent 60%, #FFF462 40%);
}

@media print, screen and (max-width: 1023px) {
  .first h1{
    font-size: 28px;
    margin-bottom: 32px;
  }
}


.pagetitle .text02 {
  text-align: center;
  font-size: 2.0rem;
  font-weight: 700;
  /*margin-top: 22px;
  margin-bottom: -22px;*/
}

@media screen and (max-width: 1023px) {
  .pagetitle .text02 {
    line-height: 1.9;
    margin-top: 10px;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 561px) {
  .pagetitle .text02 br.spCont {
    display: none;
  }
}

.pagetitle .text02 a {
  color: #333333;
  text-decoration: none;
}

/*.pagetitle h1:only-of-type {
  padding: 0;
}*/

@media screen and (max-width: 1023px) {
  .page-case .pagetitle h1 {
    /*font-size: 1.8rem;*/
  }
}

@media screen and (max-width: 360px) {
  .page-case .pagetitle h1 {
    font-size: 5vw;
  }
}

.page-event .pagetitle > span {
  /*background-image: url(../img/ttl02_c.png);*/
  color: #000000;
}

/*@media screen and (min-width: 1023px) {
  .page-event .pagetitle > span {
    width: 472px;
  }
}

@media print, screen and (max-width: 1023px) {
  .page-event .pagetitle > span {
    max-width: 324px;
  }
}*/

.page-event .pagetitle > span::before {
  background-image: url(../img/ttl02_r.png), url(../img/ttl02_l.png);
}

@media screen and (max-width: 1023px) {
  .page-event .pagetitle h1 {
    font-size: 2rem;
  }
}

@media screen and (max-width: 360px) {
  .page-event .pagetitle h1 {
    font-size: 5vw;
  }
}

/*-------------------------
  list
-------------------------*/
ul.indent li, ol.indent li {
  text-indent: -1em;
  padding-left: 1em;
}

/* list_dot */
.list_dot {
  font-size: 1.5rem;
  line-height: 2;
}

.list_dot em {
  font-style: italic;
}

.list_dot strong, .list_dot b {
  font-weight: 700;
}

.list_dot a:not([class]) {
  color: #e21318;
  text-decoration: underline;
  transition: all 0.1s ease-in;
}

.list_dot a:not([class]):hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.list_dot a:not([class]):not([href^="mailto:"])[target="_blank"] {
  position: relative;
  margin-right: 5px;
}

.list_dot a:not([class]):not([href^="mailto:"])[target="_blank"]:after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 13px;
  background: url(../img/ico_blank.svg) no-repeat left top;
  background-size: 12px auto;
  margin-left: 3px;
}

@media print, screen and (min-width: 1023px) {
  .list_dot.pc_center {
    text-align: center;
  }
}

@media print, screen and (max-width: 1023px) {
  .list_dot.sp_center {
    text-align: center;
  }
}

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

.list_dot:not(p) > *:first-child {
  margin-top: 0;
}

.list_dot .marker {
  color: #00f;
  font-weight: bold;
  font-size: 160%;
  margin: 0 .5em;
  background: linear-gradient(transparent 78%, #FFC6B5 78%);
}

@media screen and (max-width: 1023px) {
  .list_dot .marker {
    margin: 0;
  }
}

@media print, screen and (max-width: 1023px) {
  .list_dot {
    font-size: 1.4rem;
  }
}

.list_dot li {
  position: relative;
  padding-left: 15px;
}

.list_dot li:first-child {
  margin-top: 0;
}

.list_dot li::before {
  content: '';
  position: absolute;
  top: 14px;
  left: 5px;
  width: 3px;
  height: 3px;
  background: #333333;
  border-radius: 100%;
}

@media print, screen and (max-width: 1023px) {
  .list_dot li::before {
    top: 13px;
    left: 6px;
  }
}

/* カラム - 2列 */
@media print, screen and (min-width: 1023px) {
  .list_column2 > * {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: -60px;
  }
}

@media print, screen and (max-width: 1023px) {
  .list_column2 > * {
    margin-bottom: 0;
  }
}

.list_column2 > *::before, .list_column2 > *::after {
  content: '';
  order: 1;
  width: 47.414%;
}

@media print, screen and (max-width: 1023px) {
  .list_column2 > *::before, .list_column2 > *::after {
    display: none;
  }
}

.list_column2 > * > * {
  position: relative;
}

@media print, screen and (min-width: 1023px) {
  .list_column2 > * > * {
    width: 47.414%;
    margin: 0 0 60px;
  }
}

/* カラム - 3列 */
.list_column3 > * {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: -38px;
}

.list_column3 > *::before, .list_column3 > *::after {
  content: '';
  order: 1;
  width: 30%;
}

@media print, screen and (max-width: 1023px) {
  .list_column3 > *::before, .list_column3 > *::after {
    display: none;
  }
}

.list_column3 > * > * {
  position: relative;
  width: 30%;
  margin: 0 0 50px;
}

@media print, screen and (max-width: 1023px) {
  .list_column3 > * > * {
    width: 49.108%;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 560px) {
  .list_column3 > * > * {
    width: 100%;
  }
}

/*-------------------------
  list_item
-------------------------*/
.list_card .list_item a {
  position: relative;
  z-index: 0;
  display: block;
  height: 100%;
  color:#222;
  background: #fff;
}

.list_card .list_item a::after {
  content: '';
  opacity: 0;
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: -2px;
  right: -2px;
  z-index: 1;
  background: #fff;
  transition: all 0.1s ease-in;
}

.list_card .list_item a:hover::after {
  opacity: .2;
}

.list_card .list_item .post_img {
  overflow: hidden;
  position: relative;
  z-index: -1;
  display: block;
}

.list_card .list_item .post_img::before {
  content: '';
  display: block;
  padding-bottom: 66.77%;
  padding-bottom: 66.765%;
}

.list_card .list_item .post_img img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -o-object-fit: contain;
  object-fit: contain;
  font-family: 'object-fit: contain;';
}

.list_card .list_item .detail {
  padding: 18px 24px;
}

.list_card .list_item .detail > *:only-child {
  margin: 0;
}

.list_card .list_item .post_date {
  float: left;
  color: #ADADAD;
  font-weight: 500;
  font-size: 1.5rem;
  margin-right: 15px;
  margin: 0 15px 13px 0;
}

.list_card .list_item .post_category {
  position: absolute;
  min-width: 120px;
  background: #31A2D2;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  padding: 8px 10px 6px;
  border-radius: 0 0 12px 0;
}
/*
.list_card .list_item.c1 .post_category {
  background-color: #f53228;
}

.list_card .list_item.c2 .post_category {
  background-color: #f0ff00;
}

.list_card .list_item.c3 .post_category {
  background-color: #f80;
}
*/
.list_card .list_item .post_sub_category {
  display: inline-block;
  color: #555;
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 4px;
}

.list_card .list_item .text {
  overflow: hidden;
  clear: both;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.5;
  margin: 0;
}

/* type1 */
.type1 .list_item a {
  border: 4px solid #fff;
}

.type1 .list_item .post_category {
  top: 8px;
  left: -4px;
}

/* type2 */
.type2 .list_item .post_category {
  top: 0;
  left: 0;
}

/* type3 */

@media screen and (max-width: 1023px) {
  .type3 .list_item .detail {
    padding: 15px 25px 39px;
  }
}

@media screen and (max-width: 1023px) {
  .type3 .list_item .text {
    margin-top: 4px;
  }
}

/* type4 */
.type4 .list_item a {
  padding: 17px 26px 27px;
}

.type4 .list_item a::before {
  content: '';
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 16px 16px;
  border-color: transparent transparent #000 transparent;
}

.type4 .list_item a[href=""]::before {
  display: none;
}

.type4 .list_item .post_subtitle {
  color: #e21318;
  font-weight: bold;
  font-size: 1.7rem;
  line-height: 1.41176;
  text-align: center;
  margin: 0 0 15px;
}

.type4 .list_item .post_img {
  z-index: 0;
  border-radius: 0;
  margin: 0 0 11px;
}

.type4 .list_item .post_img::before {
  padding-bottom: 66.67%;
}

.type4 .list_item .post_img::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: 1px solid #DBDBDB;
}

.type4 .list_item .post_img img {
  z-index: -1;
}

.type4 .list_item .post_title {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.55556;
  margin: 0 0 12px;
}

.type4 .list_item .text {
  font-size: 1.3rem;
  line-height: 1.76923;
  display: block;
  overflow: inherit;
  -webkit-box-orient: inherit;
}

@media print, screen and (max-width: 1023px) {
  .type4 .list_item .text {
    font-weight: normal;
  }
}

@media all and (-ms-high-contrast: none) {
  .type4 .list_item .text {
    font-weight: 400;
  }
}

/* event */
.list_event .list_item {
  position: relative;
  display: flex;
  flex-direction: column;
}

.list_event .list_item > div:not([class]) {
  position: relative;
  order: 2;
}

.list_event .list_item .post_img {
  order: 2;
  overflow: hidden;
  position: relative;
  background: #fff;
  margin: 0 0 13px;
}

.list_event .list_item .post_img::before {
  content: '';
  display: block;
  padding-bottom: 62.875%;
  padding-bottom: 66.77%;
}

.list_event .list_item .post_img img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -o-object-fit: contain;
  object-fit: contain;
  font-family: 'object-fit: contain;';
  border: 1px solid #ddd;
}

.list_event .list_item .post_date {
  order: 1;
  font-weight: 500;
  font-size: 2.2rem;
  margin: 0 0 13px;
}

.list_event .list_item .post_date small {
  font-size: 60%;
}

.list_event .list_item .post_date .time {
  font-size: 78%;
  margin-left: 18px;
}

.list_event .list_item .post_category {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 120px;
  background: #f0ff00;
  color: #000;
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  padding: 6px 13px;
}

.list_event .list_item .post_title {
  order: 3;
  font-weight: bold;
  font-size: 1.7rem;
  line-height: 1.64706;
  margin: 0 0 15px;
}

.list_event .list_item .post_detail_tbl {
  order: 3;
  font-size: 1.4rem;
  font-weight: 500;
  word-break: break-all;
  margin: 0 0 15px;
}

.list_event .list_item .post_detail_tbl div {
  display: flex;
  align-items: flex-start;
  margin: 7px 0 0;
}

.list_event .list_item .post_detail_tbl div:first-child {
  margin-top: 0;
}

.list_event .list_item .post_detail_tbl dt {
  font-size: 1.3rem;
  flex: 1 0 auto;
  min-width: 60px;
  background: #fff;
  color: #000;
  border: 1px solid #000;
  text-align: center;
  padding: 4px 10px;
  margin-right: 13px;
}

.list_event .list_item .post_detail_tbl dd {
  width: 100%;
  line-height: 1.5;
}

.list_event .list_item .btn02 {
  order: 4;
  max-width: inherit;
  width: 100%;
  margin: auto auto 0;
}

.list_event .list_item .btn02 .btn_inner {
  font-size: 1.6rem;
  min-height: 50px;
}

/*-------------------------
  list_news
-------------------------*/
.list_news {
  width: 100%;
  font-size: 1.7rem;
}

.list_news li {
  position: relative;
  border-bottom: 1px solid #DBDBDB;
}

.page-toppage .list_news li:last-child {
  border-bottom: none;
}


.list_news a {
  color: #222;
  position: relative;
  display: block;
  transition: all 0.1s ease-in;
  text-decoration: none;
}

.list_news a:hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.list_news a .post_title {
  padding-right: 32px;
}

.list_news a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  height: 8px;
  /*background: url(../img/arrow01.svg) no-repeat left top;
  background-size: 8px auto;
  border-radius: 100%;*/
  transform: translate(0, -50%) rotate(45deg);
  border-top: 1px solid #000;
  border-right: 1px solid #000;
}

.list_news a[target="_blank"]::after {
  display: none;
}

.list_news a[target="_blank"] .post_title {
  padding-right: 0;
}

.list_news a[target="_blank"] .post_title p::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 13px;
  background: url(../img/ico_blank.svg) no-repeat left top;
  background-size: 12px auto;
  margin-left: 2px;
}

@media print, screen and (min-width: 1023px) {
  .list_news .inner {
    display: flex;
    padding: 17px 0;
  }
}

@media screen and (max-width: 1023px) {
  .list_news .inner {
    padding: 15px 0;
  }
}

.list_news .post_date {
  color: #31A2D2;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .05em;
}

@media print, screen and (min-width: 1023px) {
  .list_news .post_date {
    flex: 1 0 auto;
    min-width: 110px;
    /*padding: 5px 0;*/
  }
}

@media screen and (max-width: 1023px) {
  .list_news .post_date {
    margin: 0 0 4px;
  }
}

.list_news .post_title {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.71429;
}
.list_news .post_date,
.page-toppage .list_news .post_title {
  font-size: 1.7rem;
}

/*-------------------------
  table
-------------------------*/
/* table01 */
.table01 {
  font-size: 1.5rem;
  line-height: 1.8;
  margin-bottom: 30px;
}
@media screen and (max-width: 1023px) {
  .table01{
    margin-bottom: 20px;
  }
}

.table01 table {
  border: 1px solid #000;
}

.table01 tr {
  border-top: 1px solid #000;
}

@media screen and (max-width: 560px) {
  .table01 tr {
    display: block;
  }
}

.table01 tr:first-child {
  border-top: none;
}

.table01 tr > * {
  height: 60px;
  padding: 16px 26px;
  vertical-align: top;
}

@media screen and (max-width: 560px) {
  .table01 tr > * {
    display: block;
    height: auto;
    padding: 8px 20px;
    text-align: left;
  }
}

.table01 th {
  /*width: 149px;*/
  background: #fff;
  font-weight: 700;
  border-right: 1px solid #000;
}

@media screen and (max-width: 560px) {
  .table01 th {
    width: auto;
    border-right: 0;
    padding-bottom: 0;
  }
}

.table01 td {
  background: #fff;
}
@media screen and (max-width: 560px) {
  .table01 td {
    padding-top: 0;
  }
}

/*-------------------------
  nav_category
-------------------------*/
.pagetitle + .nav_category {
  margin-top: 5px;
  padding-bottom: 60px;
}

@media print, screen and (max-width: 560px) {
  .pagetitle + .nav_category {
    margin-top: -3px;
    padding-bottom: 30px;
  }
}

.nav_category {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  font-weight: bold;
  font-size: 2.1rem;
  line-height: 1.5;
}

@media print, screen and (max-width: 1023px) {
  .nav_category {
    font-size: 1.6rem;
  }
}

.nav_category ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 -10px;
}

@media print, screen and (max-width: 560px) {
  .nav_category ul {
    justify-content: space-between;
  }
}

.nav_category ul::before, .nav_category ul::after {
  content: '';
  display: none;
  order: 1;
  max-width: 280px;
  width: 24%;
}

@media screen and (max-width: 560px) {
  .nav_category ul::before, .nav_category ul::after {
    max-width: inherit;
    width: 49%;
  }
}

.nav_category li {
  overflow: hidden;
  display: flex;
  width: 24%;
  min-height: 58px;
  background: #fff;
  border: 1px solid #000;
  margin: 0 0 10px;
}

@media screen and (max-width: 560px) {
  .nav_category li {
    max-width: inherit;
    width: 49%;
    min-height: 48px;
    margin: 0 0 10px;
  }
}

.nav_category a {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 5px 20px;
}

.nav_category a::before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: #DBDBDB;
  transition: all 0.1s ease-in;
}

.nav_category a:hover::before {
  opacity: .2;
}

.nav_category .current-cat {
  border: none;
  background: #f0ff00;
}

.nav_category .current-cat a {
  color: #000;
}

.nav_category .current-cat a::before {
  display: none;
}

@media all and (-ms-high-contrast: none) {
  .nav_category ul {
    justify-content: space-between;
  }
  .nav_category ul::before, .nav_category ul::after {
    display: block;
  }
  .nav_category li {
    width: 31.112%;
    margin: 0 0 10px;
  }
}

/*-------------------------
  search
-------------------------*/
.search {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
}

@media screen and (max-width: 560px) {
  .search {
    display: block;
  }
}

.search div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 49%;
  padding: 15px 15px 15px 28px;
}

@media print, screen and (max-width: 1023px) {
  .search div {
    display: block;
  }
}

@media screen and (max-width: 560px) {
  .search div {
    width: 100%;
    padding: 15px 20px;
    margin-top: 20px;
  }
}

@media screen and (max-width: 560px) {
  .search div:first-child {
    margin-top: 0;
  }
}
.search div:nth-child(1),
.search div:nth-child(2) {
  background-color: #000;
}

/*
.search div:nth-child(1) {
  background: #00f;
}
.search div:nth-child(2) {
  background: #f53228;
}
*/
.search div:only-child {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
}

.search div:only-child dt {
  flex: 1 0 auto;
  margin-right: 20px;
}

.search div:only-child dd {
  max-width: inherit;
}

.search dt {
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media print, screen and (max-width: 1023px) {
  .search dt {
    text-align: center;
    margin-bottom: 15px;
  }
}

.search dd {
  max-width: 350px;
  width: 100%;
}

@media print, screen and (max-width: 1023px) {
  .search dd {
    max-width: inherit;
  }
}

.search .select {
  overflow: hidden;
  position: relative;
  z-index: 0;
  display: inline-flex;
  width: 100%;
  background: none;
}

.search .select::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 18px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #333333 transparent transparent transparent;
  transform: translate(0, -50%);
}

.search select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 48px;
  border: none;
  background: #fff;
  border: 1px solid #DBDBDB;
  border-radius: 0;
  color: #333333;
  padding: 0 30px 0 20px;
}

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



/*-------------------------
  anchor
-------------------------*/
.pagetitle + .list_anchor {
  padding-bottom: 58px;
}

@media print, screen and (max-width: 560px) {
  .pagetitle + .list_anchor {
    padding-bottom: 30px;
  }
}

.list_anchor {
  max-width: 880px;
  width: 100%;
  margin: 0 auto;
  font-weight: bold;
  font-size: 2.1rem;
  line-height: 1.5;
}

@media print, screen and (max-width: 1023px) {
  .list_anchor {
    font-size: 1.8rem;
  }
}

.list_anchor ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media print, screen and (max-width: 560px) {
  .list_anchor ul {
    justify-content: space-between;
    margin: 0 0 -10px;
  }
}

@media screen and (max-width: 560px) {
  .list_anchor ul {
    display: block;
    margin: 0 0 -10px;
    /*
			margin: 0 -14px -10px;
			*/
  }
}

.list_anchor li {
  overflow: hidden;
  display: flex;
  max-width: 280px;
  width: 45%;
  min-height: 60px;
  background: #fff;
  border: 2px solid #DBDBDB;
  margin: 0 10px;
}

@media screen and (max-width: 560px) {
  .list_anchor li {
    max-width: inherit;
    width: 100%;
    /*
			width: calc(50% - 5px);
			*/
    min-height: 48px;
    margin: 0 0 10px;
  }
}

.list_anchor a {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 5px 20px;
}

@media print, screen and (max-width: 1023px) {
  .list_anchor a {
    padding: 5px 5px;
  }
}

.list_anchor a::before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: #f0ff00;
  transition: all 0.1s ease-in;
}

.list_anchor a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 23px;
  width: 8px;
  height: 8px;
  /*background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.56%22%20height%3D%2221.467%22%20viewBox%3D%220%200%2013.56%2021.467%22%3E%3Cpath%20d%3D%22M557.855%2C2078.969a2%2C2%2C0%2C0%2C1-1.413-3.412l7.322-7.322-7.322-7.322a2%2C2%2C0%2C1%2C1%2C2.827-2.826l10.148%2C10.148-10.148%2C10.148A1.993%2C1.993%2C0%2C0%2C1%2C557.855%2C2078.969Z%22%20transform%3D%22translate(-555.856%20-2057.502)%22%20fill%3D%22%23e21318%22%2F%3E%3C%2Fsvg%3E") no-repeat left top;
  background-size: cover;*/
  margin: auto 0;
  transform: rotate(45deg);
  border-right: 2px solid#000;
  border-bottom: 2px solid#000;
}

.list_anchor a:hover::before {
  opacity: .1;
}

.list_anchor .current-cat {
  border: none;
  background: #e21318;
}

.list_anchor .current-cat a {
  color: #fff;
}

.list_anchor .current-cat a::before {
  display: none;
}

/*-------------------------
  Swiper
-------------------------*/
.slide_wrap {
  overflow: hidden;
}

.slide_wrap .slide {
  display: none;
}

.swiper-slide:only-of-type {
  margin: 0 auto;
}

.swiper-navigation {
  display: flex;
  justify-content: center;
  margin: 20px 0 0;
}

.swiper-navigation > * {
  outline: none;
}

/* pagination */
.swiper-pagination {
  position: static;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: -7px;
}

.swiper-pagination-bullet {
  opacity: 1;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 100%;
  margin: 0 10px 7px;
  transition: all 0.1s ease-in;
}

.swiper-pagination-bullet-active {
  background: #000;
}

/* arrow */
.swiper-button-prev {
  position: static;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 auto;
  max-width: 34px;
  width: 34px;
  height: 34px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.56%22%20height%3D%2221.467%22%20viewBox%3D%220%200%2013.56%2021.467%22%3E%3Cpath%20d%3D%22M557.855%2C2078.969a2%2C2%2C0%2C0%2C1-1.413-3.412l7.322-7.322-7.322-7.322a2%2C2%2C0%2C1%2C1%2C2.827-2.826l10.148%2C10.148-10.148%2C10.148A1.993%2C1.993%2C0%2C0%2C1%2C557.855%2C2078.969Z%22%20transform%3D%22translate(-555.856%20-2057.502)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 54% center rgba(0, 0, 0, 1);
  background-size: 9px auto;
  border-radius: 100%;
  margin: 0;
  transform: rotate(180deg);
  margin-right: 60px;
}

@media print, screen and (max-width: 1023px) {
  .swiper-button-prev {
    margin-right: 30px;
  }
}

.swiper-button-next {
  position: static;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 auto;
  max-width: 34px;
  width: 34px;
  height: 34px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.56%22%20height%3D%2221.467%22%20viewBox%3D%220%200%2013.56%2021.467%22%3E%3Cpath%20d%3D%22M557.855%2C2078.969a2%2C2%2C0%2C0%2C1-1.413-3.412l7.322-7.322-7.322-7.322a2%2C2%2C0%2C1%2C1%2C2.827-2.826l10.148%2C10.148-10.148%2C10.148A1.993%2C1.993%2C0%2C0%2C1%2C557.855%2C2078.969Z%22%20transform%3D%22translate(-555.856%20-2057.502)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 54% center rgba(0, 0, 0, 1);
  background-size: 9px auto;
  border-radius: 100%;
  margin: 0;
  margin-left: 60px;
}

@media print, screen and (max-width: 1023px) {
  .swiper-button-next {
    margin-left: 30px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ヘッダー基本設定 */
.site-header {
  width: 100%;
  height: 120px;
  background-color: #FFF462;
  /*box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);*/ /* 境界用 */
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: center; /* 上下センター */
}

.page-toppage .site-header{
  height: 80px;
}

.header-inner {
  width: 100%;
  display: flex;
  justify-content: space-between; /* 左右に振る */
  align-items: center;
  padding-left: 48px;  /* 左余白 */
  padding-right: 64px; /* 右余白 */
  box-sizing: border-box;
}

/* ロゴ */
.page-toppage .header-logo{
  display: none;
}
.header-logo a {
  display: block;
}

.header-logo img {
  display: block;
}

.logoset{
  display: none;
}
.page-toppage .logoset{
  display: block;
}

/* 検索とナビのグループ */
.header-utilities {
  display: flex;
  align-items: center;
  gap: 32px; /* 検索とナビの間隔 */
}

/* サイト内検索 */
.search-form {
  position: relative;
  width: 224px;
  height: 44px;
}

.search-input {
  width: 100%;
  height: 100%;
  padding: 0 44px 0 12px; /* 右側にアイコン用の余白 */
  border: 1px solid #222;
  border-radius: 30px;
  font-size: 15px;
  box-sizing: border-box;
  outline: none;
}

.search-button {
  position: absolute;
  top: 50%;
  right: 6px; /* 丸を少し内側に配置 */
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background-color: #31A2D2; /* 丸の背景色（必要に応じて変更可） */
  border-radius: 50%; /* 正円 */
  border: none;
  cursor: pointer;
  /* 虫眼鏡アイコンの配置 */
  background-image: url('../img/search-icon.png'); 
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px; /* アイコン自体のサイズ */
}

/* ナビゲーション */
.nav-list {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 32px; /* 項目間32px */
}

.nav-item a {
  text-decoration: none;
  color: #31A2D2;
  font-size: 18px;
  font-weight: bold;
  transition: color 0.3s ease;
}

.header-nav .nav-item a {
  color: #222;
}

/* ホバーカラー */
.nav-item a:hover {
  color: #D93751;
}

@media screen and (max-width: 1400px) {
  .header-logo img{
    height: 22px;
    width: auto;
  }
}

@media screen and (max-width: 1280px) {
  .page-toppage .site-header {
    width: 100%;
    height: 56px;
  }
  .header-inner{
    padding-left: 32px;
    padding-right: 32px;
  }
  .header-utilities {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 16px;
  }
  .logoset{
    height: 29px;
    width: auto;
  }
}
@media screen and (max-width: 1023px) {
  .nav-list{
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  .nav-list li{
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .site-header{
    height: 56px;
  }
  .header-logo img{
    width: 260px;
    height: auto;
  }
  .header-inner{
    padding: 0 0 0 20px;
  }
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■MENU
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.menuBtn {
  position: relative;
  z-index: 99999;
  position: fixed;
  transition: all 0.2s;
  top:87px;
  right:15px;
  width: auto;
  height: auto;
}

.menuBtn img{
  width: 100%;
  height: auto;
}

@media print, screen and (min-width: 1023px) {
  .menuBtn {
    display: none;
  }
}
@media print, screen and (max-width: 1023px) {
  .menuBtn {
    top: 0px;
    right: 0;
  }
}

body.spMenu_open .menuBtn {
  opacity: 0;
  visibility: hidden;
}

/*-------------------------
  spMenuBtn
-------------------------*/
#spMenuBtn {
  z-index: 99999;
  border: none;
  background-color: transparent;
  outline: none;
  box-shadow: 0px 1px 4px #ccc;
  border-radius: 0 0 0 6px;
}

#spMenuBtn {
  width:96px;
  height:96px;
}
#spMenuBtn img{
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 1023px) {
  #spMenuBtn{
    width: 64px;
    height: 64px;
  }
}

/*-------------------------
  closeBtn
-------------------------*/
#closeBtn {
  position: absolute;
  top: -2px;
  right: -5px;
  z-index: 9999999;
  width: 60px;
  height: 60px;
  border: none;
  background-color: transparent;
  outline: none;
}

#closeBtn .closeBtn_bar {
  position: relative;
  width: 22px;
  height: 18px;
  margin: auto;
}

#closeBtn .closeBtn_bar::before, #closeBtn .closeBtn_bar::after {
  content: '';
}

#closeBtn .closeBtn_bar span, #closeBtn .closeBtn_bar::before, #closeBtn .closeBtn_bar::after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: auto;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}

#closeBtn .closeBtn_bar span {
  opacity: 0;
  top: 0;
  bottom: 0;
}

#closeBtn .closeBtn_bar::before {
  top: 0;
  bottom: 0;
  transform: rotate(45deg);
}

#closeBtn .closeBtn_bar::after {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#closeBtn .closeBtn_bar span, #closeBtn .closeBtn_bar:before, #closeBtn .closeBtn_bar:after {
  height: 2px;
  background-color: #000;
  border-radius: 100px;
}

/*-------------------------
  spMenuOverlay
-------------------------*/
#spMenuOverlay {
  position: fixed;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
  transform: translate3d(-10%, 0, 0);
  /* 右からイン */
  transform: translate3d(0, 0, 0);
  transition: all 0.1s ease-in-out;
  z-index: 9999;
}

@media print, screen and (min-width: 1141px) {
  #spMenuOverlay {
    display: none;
  }
}

body.spMenu_open #spMenuOverlay {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0%, 0, 0);
}

/*-------------------------
  spMenu
-------------------------*/
#spMenu {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  display: block;
  padding: 0;
  overflow: hidden;
  top: 20px;
  right: 22px;
  left: 23px;
  z-index: 10000;
  width: auto;
  background: #fff;
  line-height: 1;
  padding: 0;
  transform: translate3d(0, 0, 0);
  transition: all 0.1s ease-in-out;
  border-radius: 24px;
}

#spMenu.open {
  opacity: 1;
}

@media print, screen and (min-width: 1141px) {
  #spMenu {
    display: none;
  }
}

#spMenu .spMenu_innerWrap {
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
}

#spMenu .spMenu_inner {
  width: 100%;
  padding: 56px 0;
  background-color: #fff;
}

body.spMenu_open #spMenu {
  visibility: visible;
  transform: translate3d(0%, 0, 0);
}

#spMenu {
  max-width: 560px;
  margin: 0 auto;
}

#spMenu .logo {
  text-align: center;
  margin: 0 0 40px;
}

#spMenu .logo a {
  display: inline-block;
}

#spMenu .logo img {
  width: 280px;
  height: auto;
}

#spMenu .list_menu {
  font-weight: bold;
  line-height: 1.5;
  padding: 14px 20px 0;
  padding: 0 22px;
}

#spMenu .list_menu__inner {
  width: 100%;
  margin: 0 auto 10px;
}

#spMenu .list_menu a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 50px;
  padding: 10px 10px;
  transition: all 0.1s ease-in;
}

#spMenu .list_menu a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 8px;
  border-top:2px solid #000;
  border-right:2px solid #000;
  transform: translate(0,-50%) rotate(45deg);
}

#spMenu .list_menu a:hover {
  color: #e21318;
}

#spMenu .list_menu .list_item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

#spMenu .list_menu .list_item:last-child {
  border-bottom: none;
}

@media all and (-ms-high-contrast: none) {
  #spMenu {
    width: 100%;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer {
  padding: 40px 24px 14px;
  background-color: #fff;
}

@media print, screen and (max-width: 1023px) {
  #footer {
    padding: 18px 0 130px;
  }
}

#footer .innerWrap {
  max-width: 1200px;
}

#footer .copyright {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
}

@media print, screen and (max-width: 1023px) {
  #footer .copyright {
    font-size: 1.2rem;
    margin-top: 12px;
  }
}

#footer #sec_contact {
  display: flex;
  justify-content: center;
  /*flex-direction: column;*/
  align-items: center;
  font-size: 1.5rem;
  line-height: 1.5;
  border-top: 1px solid #DBDBDB;
  padding: 27px 24px 0;
  margin: 35px 0 12px;
}

@media screen and (max-width: 1023px) {
  #footer #sec_contact {
    padding: 0;
    margin: 0;
    border: none;
  }
}

@media screen and (max-width: 1023px) {
  #footer #sec_contact p:not(.obda) {
    display: none;
  }
}

#footer #sec_contact .hd {
  font-size: 1.5rem;
  margin-right: 1.5em;
}

#footer #sec_contact span {
  margin-right: 1.6em;
}

#footer #sec_contact .obda {
  margin-left: auto;
}

@media print, screen and (max-width: 1023px) {
  #footer #sec_contact .obda {
    margin: 15px auto 0;
  }
}

#footer #sec_contact .obda a {
  display: inline-block;
  transition: all 0.1s ease-in;
}

#footer #sec_contact .obda a:hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

#footer #sec_contact .obda img {
  max-width: 148px;
  width: 100%;
}

@media print, screen and (max-width: 1023px) {
  #footer #sec_contact .obda img {
    max-width: 174px;
  }
}

#footer_nav {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.5;
}

@media print, screen and (max-width: 1023px) {
  #footer_nav {
    display: none;
  }
}

#footer_nav .list_wrap {
  display: flex;
  justify-content: center;
  margin: 0 -1em;
}

@media print, screen and (max-width: 910px) {
  #footer_nav .list_wrap {
    flex-wrap: wrap;
    margin-bottom: -5px;
  }
}

#footer_nav .list_wrap a {
  color: #31A2D2;
  display: inline-block;
  transition: all 0.1s ease-in;
}

#footer_nav .list_wrap a:hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

#footer_nav .list_item {
  padding: 0 1em;
}

@media print, screen and (max-width: 910px) {
  #footer_nav .list_item {
    width: 33%;
    text-align: center;
    margin-bottom: 5px;
  }
}

#footer_nav *[data-hide*="footer"] {
  display: none;
}

/* 主催運営 */
.organizer-container{
  margin-bottom: 16px;
}

.org-area {
  display: flex;
  justify-content: center;
  gap: 20px 40px;
  flex-wrap: wrap;
  align-items: center;
}

.org-area img {
  height: 40px;
  vertical-align: middle;
}

@media (max-width: 1023px) {
  .org-area { flex-direction: column; }
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■linkset
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#linkset {
  break-inside: avoid;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  margin: 80px 0 0;
}

@media print, screen and (max-width: 1023px) {
  #linkset {
    background-size: auto 99px;
  }
}

@media screen and (max-width: 560px) {
  #linkset {
    display: block;
  }
}

@media print, screen and (min-width: 561px) {
  #linkset .link_event,
  #linkset .link_kanren {
    width: 50%;
  }
}

#linkset .link_facebook {
  width: 100%;
}

.link_event,
.link_kanren {
  display: flex;
  align-items: center;
  min-height: 100px;
  background: #fff;
  font-weight: bold;
  line-height: 1.5;
}

@media print, screen and (max-width: 1023px) {
  .link_event,
  .link_kanren {
    min-height: 100px;
  }
}

@media screen and (max-width: 560px) {
  .link_event,
  .link_kanren {
    min-height: inherit;
  }
}

.link_event a,
.link_kanren a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px 40px;
  transition: all 0.1s ease-in;
}

.link_event a:hover,
.link_kanren a:hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

@media print, screen and (max-width: 1023px) {
  .link_event a,
  .link_kanren a {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 20px;
  }
}

@media screen and (max-width: 560px) {
  .link_event a,
  .link_kanren a {
    align-items: center;
  }
}

.link_event a::after,
.link_kanren a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 54px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translate(0, -50%) rotate(45deg);
}
.link_event a::before,
.link_kanren a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 40px;
  width: 34px;
  height: 34px;
  background-color: #f0ff00;
  transform: translate(0, -50%);
  border-radius: 50%;
}


@media screen and (max-width: 1023px) {
  .link_event a::after,
  .link_kanren a::after {
    right: 24px;
    width: 8px;
    height: 8px;
    }
  .link_event a::before,
  .link_kanren a::before {
    right: 12px;
    width: 28px;
    height: 28px;
   }
}

.link_event .hd,
.link_kanren .hd {
  font-size: 2.4rem;
  font-weight: 500;
  margin-right: 44px;
}

@media print, screen and (max-width: 1023px) {
  .link_event .hd,
  .link_kanren .hd {
    font-size: 1.9rem;
    line-height: 1.42857;
    margin: 0 56px 20px 0;
  }
}

@media screen and (max-width: 560px) {
  .link_event .hd,
  .link_kanren .hd {
    text-align: center;
    margin: 0 0 4px;
  }
}

.link_event p:not(.hd),
.link_kanren p:not(.hd) {
  position: relative;
  display: inline-flex;
  padding-right: 56px;
}

@media print, screen and (max-width: 1023px) {
  .link_event p:not(.hd),
  .link_kanren p:not(.hd) {
    margin-top: auto;
  }
}

@media screen and (max-width: 560px) {
  .link_event p:not(.hd),
  .link_kanren p:not(.hd) {
    padding-right: 0;
    font-size: 1.5rem;
    font-weight: 500;
  }
}

.link_event a {
  background: #000;
  color: #f0ff00;
}

@media print, screen and (min-width: 376px) {
  .link_event br.spCont {
    display: none;
  }
}

.link_kanren a {
  background: #d7d7d7;
  color: #000;
}

.link_facebook {
  color: #000;
  background: #f0ff00;
  min-height: 100px;
  display: flex;
}

@media print, screen and (max-width: 1023px) {
  .link_facebook {
    padding: 21px 0 28px;
  }
}

.link_facebook .inner {
  position: relative;
  z-index: 0;
  width: 100%;
  margin: 0 0 0 40px;
  display: flex;
  justify-content: start;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .link_facebook .inner {
    display: block;
    margin: 0;
  }
}

.link_facebook .hd {
  position: relative;
  color: #000;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  margin-right: 60px;
}

@media screen and (max-width: 1023px) {
  .link_facebook .hd {
    position: relative;
    display: block;
    font-size: 1.9rem;
    padding: 0 25px 12px;
    margin: 0;
    text-align: center;
  }
}
.link_facebook .hd .spCont390 {
  display: none;
}
@media screen and (max-width: 390px) {
  .link_facebook .hd .spCont390 {
    display: block;
  }
}

.link_facebook .btn01 {
  width: 30%;
  max-width: 500px;
}
.link_facebook .btn01 .btn_inner {
  background: #d7d7d7;
  color: #000;
  border-radius: 50px;
  font-size: 2rem;
  padding: 12px 12px 12px 32px;
  justify-content: start;
}
.link_facebook .btn01 a[target="_blank"] span::before{
  content:none;
}
.link_facebook .btn01 span::after{
  border-width: 4px;
  border-color: #f0ff00;
  width: 14px;
  height: 14px;
  right: 24px;
}

@media screen and (max-width: 1023px) {
  .link_facebook .btn01 {
    width:100%;
    max-width: 330px;
    margin: 0 auto;
  }
  .link_facebook .btn01 .btn_inner {
  }
}


/*-------------------------
  FBバナー
-------------------------*/
.bnr_facebook {
  position: fixed;
  z-index: 9999;
  right: 30px;
  bottom: 28px;
  transition: all 0.1s ease-in;
}

@media only print {
  .bnr_facebook {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .bnr_facebook {
    bottom: 15px;
    right: 0;
    left: 0;
    text-align: center;
    padding: 0 17px;
  }
}

.bnr_facebook a {
  display: inline-block;
  transition: all 0.1s ease-in;
}

.bnr_facebook a:hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.bnr_facebook img {
  max-width: 100%;
}

@media print, screen and (max-width: 1023px) {
  .bnr_facebook img {
    max-width: 340px;
    width: 100%;
  }
}

@media screen and (max-width: 1023px) {
  .bnr_facebook img.pcCont {
    display: none;
  }
}

.bnr_facebook img.spCont {
  display: block;
}

@media print, screen and (min-width: 1023px) {
  .bnr_facebook img.spCont {
    display: none;
  }
}

.page-toppage .bnr_facebook.top_only {
  position: absolute;
}

@media screen and (min-width: 1023px) {
  .page-toppage .bnr_facebook.top_only {
    bottom: 80px;
  }
}

@media print, screen and (max-width: 1023px) {
  .page-toppage .bnr_facebook.top_only {
    display: none;
  }
}

/*@media print, screen and (min-width: 1023px) {
  .page-toppage .bnr_facebook:not(.top_only) {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-10%);
  }
}

@media print, screen and (min-width: 1023px) {
  .page-toppage .bnr_facebook:not(.top_only).show {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
}*/

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■WP用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------
  編集ボタン
-------------------------*/
a.post-edit-link {
  background-color: #F00 !important;
  background-image: none !important;
  border-radius: 5px 5px 5px 5px !important;
  color: #FFFFFF !important;
  font-size: 10px !important;
  font-weight: normal !important;
  padding: 3px 5px !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.1 !important;
}

a.post-edit-link:hover {
  background-color: #06C !important;
}

/*-------------------------
  404用
-------------------------*/
#page_404 {
  padding-bottom: 0;
  border-bottom: 1px solid #dbdbdb;
}
#notfound {
  padding: 100px 40px 150px;
}

#notfound p {
  text-align: center;
}

#notfound .caption {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 20px;
}

#page_404 .under-mainvisual {
  margin-bottom: 0;
}

#page_404 .pagetitle .text::before {
  margin-bottom: 30px;
}

@media screen and (max-width: 1023px) {
  #page_404 .pagetitle .text::before {
    font-size: 3.6rem;
  }
}

@media screen and (max-width: 375px) {
  #page_404 .pagetitle .text::before {
    font-size: 9.6vw;
  }
}

/*-------------------------
  記事用
-------------------------*/
.wp_editer {
  font-size: 1.8rem;
  line-height: 2;
  word-break: break-all;
}

.wp_editer em {
  font-style: italic;
}

.wp_editer strong, .wp_editer b {
  font-weight: 700;
}

.wp_editer a:not([class]) {
  color: #e21318;
  text-decoration: underline;
  transition: all 0.1s ease-in;
}

.wp_editer a:not([class]):hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.wp_editer a:not([class]):not([href^="mailto:"])[target="_blank"] {
  position: relative;
  margin-right: 5px;
}

.wp_editer a:not([class]):not([href^="mailto:"])[target="_blank"]:after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 13px;
  background: url(../img/ico_blank.svg) no-repeat left top;
  background-size: 12px auto;
  margin-left: 3px;
}

@media print, screen and (min-width: 1023px) {
  .wp_editer.pc_center {
    text-align: center;
  }
}

@media print, screen and (max-width: 1023px) {
  .wp_editer.sp_center {
    text-align: center;
  }
}

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

.wp_editer:not(p) > *:first-child {
  margin-top: 0;
}

.wp_editer .marker {
  color: #e21318;
  font-weight: bold;
  font-size: 160%;
  margin: 0 .5em;
  background: linear-gradient(transparent 78%, #FFC6B5 78%);
}

@media screen and (max-width: 1023px) {
  .wp_editer .marker {
    margin: 0;
  }
}

.wp_editer > *:not(hr) {
  margin-bottom: 30px !important;
}

.wp_editer *:not(hr):last-child {
  margin-bottom: 0 !important;
}

.wp_editer .alignleft {
  float: left;
  display: block;
  max-width: 50%;
  margin-right: 50px;
}

@media screen and (max-width: 1023px) {
  .wp_editer .alignleft {
    float: none;
    max-width: 100%;
    text-align: center;
    font-weight: normal;
  }
}

.wp_editer .alignright {
  float: right;
  display: block;
  max-width: 50%;
  margin-left: 50px;
}

@media screen and (max-width: 1023px) {
  .wp_editer .alignright {
    float: none;
    max-width: 100%;
    text-align: center;
    font-weight: normal;
  }
}

.wp_editer .aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.wp_editer img:not([class]) {
  display: block;
}

.wp_editer img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.wp_editer table th, .wp_editer table td {
  padding: 10px 15px;
  text-align: left;
  line-height: 1.6;
}

.wp_editer table th {
  font-weight: 700;
}

.wp_editer > *:not(.wp-block-table) table {
  border-top: 1px solid #c5c5c5;
  border-left: 1px solid #c5c5c5;
}

.wp_editer > *:not(.wp-block-table) table th, .wp_editer > *:not(.wp-block-table) table td {
  border-bottom: 1px solid #c5c5c5;
  border-right: 1px solid #c5c5c5;
}

.wp_editer > *:not(.wp-block-table) table th {
  background: #F3F3F3;
}

.wp_editer pre {
  white-space: normal;
}

.wp_editer .wp-caption {
  max-width: inherit !important;
  width: 100% !important;
}

.wp_editer figcaption,
.wp_editer .wp-caption-text {
  font-size: 80%;
  margin-top: 10px;
}

.wp_editer em {
  font-style: italic;
}

.wp_editer strong {
  font-weight: 700;
}

.wp_editer sup {
  vertical-align: super;
}

.wp_editer sub {
  vertical-align: sub;
}

.wp_editer hr {
  height: 1px;
  background: #c5c5c5;
  border: none;
  margin: 60px 0;
}

.wp_editer ul, .wp_editer ol {
  list-style-position: inside;
}

.wp_editer ul li, .wp_editer ol li {
  list-style: inherit;
  text-indent: -1.3em;
  padding-left: 1.3em;
  margin-top: 15px;
}

.wp_editer ul li:first-child, .wp_editer ol li:first-child {
  margin-top: 0;
}

.wp_editer ul li > ul, .wp_editer ul li > ol, .wp_editer ol li > ul, .wp_editer ol li > ol {
  margin-top: 15px;
}

.wp_editer ul {
  list-style-type: disc;
}

.wp_editer ol {
  list-style-type: decimal;
}

.wp_editer a:not([class]) {
  color: #e21318;
  transition: all 0.1s ease-in;
}

.wp_editer a:not([class]):hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.wp_editer blockquote {
  overflow: hidden;
  position: relative;
  display: flex;
  background: #F3F3F3;
  min-height: 110px;
  text-align: left;
  padding: 25px 50px;
  margin: 0 0 30px;
}

@media screen and (max-width: 1023px) {
  .wp_editer blockquote {
    padding: 25px 30px;
  }
}

.wp_editer blockquote:before, .wp_editer blockquote:after {
  position: absolute;
  color: #c5c5c5;
  font-weight: 500;
  font-size: 6.0rem;
  line-height: 1.0;
}

.wp_editer blockquote:before {
  content: '“';
  top: 18px;
  left: 15px;
}

@media screen and (max-width: 1023px) {
  .wp_editer blockquote:before {
    top: 12px;
    left: 10px;
  }
}

.wp_editer blockquote:after {
  content: '”';
  bottom: -12px;
  right: 15px;
}

@media screen and (max-width: 1023px) {
  .wp_editer blockquote:after {
    bottom: -15px;
    right: 11px;
  }
}

.wp_editer blockquote > *:last-child {
  margin-bottom: 0;
}

.wp_editer p + h1, .wp_editer p + h2, .wp_editer p + h3, .wp_editer p + h4, .wp_editer p + h5, .wp_editer p + h6 {
  margin-top: 40px;
}

.wp_editer h1, .wp_editer h2, .wp_editer h3, .wp_editer h4, .wp_editer h5, .wp_editer h6 {
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 25px;
}

.wp_editer h1 {
  font-size: 200%;
}

@media screen and (max-width: 1023px) {
  .wp_editer h1 {
    font-size: 160%;
  }
}

.wp_editer h2 {
  position: relative;
  color: #333333;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44444;
  padding: 3px 0 3px 24px;
}

.wp_editer h2::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  background: #f0ff00;
}

.wp_editer h3 {
  border-bottom: 1px solid #DBDBDB;
  color: #e21318;
  font-size: 1.8rem;
  line-height: 1.44444;
  padding: 0 0 19px;
}

.wp_editer h4 {
  background: #fff;
  font-size: 1.6rem;
  line-height: 1.625;
  padding: 17px 20px;
  border:1px solid #000
}

.wp_editer h5 {
  font-size: 1.8rem;
  line-height: 1.44444;
}

.wp_editer h6 {
  font-size: 1.5rem;
}

.wp_editer .wp-block-table {
  overflow: inherit;
}

@media screen and (max-width: 1023px) {
  .wp_editer .sp_scroll:not(.wp-block-table) {
    min-width: 1023px;
  }
}

@media screen and (max-width: 1023px) {
  .wp_editer .wp-block-table.sp_scroll table {
    min-width: 1023px;
  }
}

@media screen and (max-width: 1023px) {
  .wp_editer .wp-block-table.sp_scroll .scroll-hint-icon {
    top: 80px;
  }
}

/*-------------------------
  ブロックエディタ(Gutenberg)
-------------------------*/
.wp-block-archives-dropdown label {
  display: block;
}

.wp-block-avatar.aligncenter {
  text-align: center;
}

.wp-block-audio {
  margin: 0 0 1em;
}

.wp-block-audio figcaption {
  margin-top: .5em;
  margin-bottom: 1em;
}

.wp-block-audio audio {
  width: 100%;
  min-width: 300px;
}

.wp-block-button__link {
  color: #fff;
  background-color: #32373c;
  border-radius: 9999px;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  font-size: 1.125em;
  padding: calc(.667em + 2px) calc(1.333em + 2px);
  text-align: center;
  text-decoration: none;
  word-break: break-word;
  box-sizing: border-box;
}

.wp-block-button__link:active,
.wp-block-button__link:focus,
.wp-block-button__link:hover,
.wp-block-button__link:visited {
  color: #fff;
}

.wp-block-button__link.aligncenter {
  text-align: center;
}

.wp-block-button__link.alignright {
  text-align: right;
}

.wp-block-buttons > .wp-block-button.has-custom-width {
  max-width: none;
}

.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
  width: 100%;
}

.wp-block-buttons > .wp-block-button.has-custom-font-size .wp-block-button__link {
  font-size: inherit;
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
  width: calc(25% - var(--wp--style--block-gap, .5em)*0.75);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
  width: calc(50% - var(--wp--style--block-gap, .5em)*0.5);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-75 {
  width: calc(75% - var(--wp--style--block-gap, .5em)*0.25);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-100 {
  width: 100%;
  flex-basis: 100%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-25 {
  width: 25%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-50 {
  width: 50%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-75 {
  width: 75%;
}

.wp-block-button.is-style-squared,
.wp-block-button__link.wp-block-button.is-style-squared {
  border-radius: 0;
}

.wp-block-button.no-border-radius,
.wp-block-button__link.no-border-radius {
  border-radius: 0 !important;
}

.is-style-outline > :where(.wp-block-button__link),
:where(.wp-block-button__link).is-style-outline {
  border: 2px solid;
  padding: .667em 1.333em;
}

.is-style-outline > .wp-block-button__link:not(.has-text-color),
.wp-block-button__link.is-style-outline:not(.has-text-color) {
  color: currentColor;
}

.is-style-outline > .wp-block-button__link:not(.has-background),
.wp-block-button__link.is-style-outline:not(.has-background) {
  background-color: transparent;
}

.wp-block-buttons.is-vertical {
  flex-direction: column;
}

.wp-block-buttons.is-vertical > .wp-block-button:last-child {
  margin-bottom: 0;
}

.wp-block-buttons > .wp-block-button {
  display: inline-block;
  margin: 0;
}

.wp-block-buttons.is-content-justification-left {
  justify-content: flex-start;
}

.wp-block-buttons.is-content-justification-left.is-vertical {
  align-items: flex-start;
}

.wp-block-buttons.is-content-justification-center {
  justify-content: center;
}

.wp-block-buttons.is-content-justification-center.is-vertical {
  align-items: center;
}

.wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}

.wp-block-buttons.is-content-justification-right.is-vertical {
  align-items: flex-end;
}

.wp-block-buttons.is-content-justification-space-between {
  justify-content: space-between;
}

.wp-block-buttons.aligncenter {
  text-align: center;
}

.wp-block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, .is-content-justification-center) .wp-block-button.aligncenter {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.wp-block-button.aligncenter,
.wp-block-calendar {
  text-align: center;
}

.wp-block-calendar tbody td,
.wp-block-calendar th {
  padding: .25em;
  border: 1px solid #ddd;
}

.wp-block-calendar tfoot td {
  border: none;
}

.wp-block-calendar table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-calendar table th {
  font-weight: 400;
  background: #ddd;
}

.wp-block-calendar a {
  text-decoration: underline;
}

.wp-block-calendar table caption,
.wp-block-calendar table tbody {
  color: #40464d;
}

.wp-block-categories.alignleft {
  margin-right: 2em;
}

.wp-block-categories.alignright {
  margin-left: 2em;
}

.wp-block-code code {
  display: block;
  font-family: inherit;
  overflow-wrap: break-word;
  white-space: pre-wrap;
}

.wp-block-columns {
  display: flex;
  margin-bottom: 1.75em;
  box-sizing: border-box;
  flex-wrap: wrap !important;
  align-items: normal !important;
}

@media (min-width: 782px) {
  .wp-block-columns {
    flex-wrap: nowrap !important;
  }
}

.wp-block-columns.are-vertically-aligned-top {
  align-items: flex-start;
}

.wp-block-columns.are-vertically-aligned-center {
  align-items: center;
}

.wp-block-columns.are-vertically-aligned-bottom {
  align-items: flex-end;
}

@media (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}

@media (min-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*=flex-basis] {
    flex-grow: 0;
  }
}

.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: nowrap !important;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column[style*=flex-basis] {
  flex-grow: 0;
}

:where(.wp-block-columns.has-background) {
  padding: 1.25em 2.375em;
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.wp-block-column.is-vertically-aligned-top {
  align-self: flex-start;
}

.wp-block-column.is-vertically-aligned-center {
  align-self: center;
}

.wp-block-column.is-vertically-aligned-bottom {
  align-self: flex-end;
}

.wp-block-column.is-vertically-aligned-bottom,
.wp-block-column.is-vertically-aligned-center,
.wp-block-column.is-vertically-aligned-top {
  width: 100%;
}

.wp-block-comments-pagination > .wp-block-comments-pagination-next,
.wp-block-comments-pagination > .wp-block-comments-pagination-numbers,
.wp-block-comments-pagination > .wp-block-comments-pagination-previous {
  margin-right: .5em;
  margin-bottom: .5em;
}

.wp-block-comments-pagination > .wp-block-comments-pagination-next:last-child,
.wp-block-comments-pagination > .wp-block-comments-pagination-numbers:last-child,
.wp-block-comments-pagination > .wp-block-comments-pagination-previous:last-child {
  margin-right: 0;
}

.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow {
  margin-right: 1ch;
  display: inline-block;
}

.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow {
  margin-left: 1ch;
  display: inline-block;
}

.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-comments-pagination.aligncenter {
  justify-content: center;
}

.wp-block-comment-template {
  margin-bottom: 0;
  max-width: 100%;
  list-style: none;
  padding: 0;
}

.wp-block-comment-template li {
  clear: both;
}

.wp-block-comment-template ol {
  margin-bottom: 0;
  max-width: 100%;
  list-style: none;
  padding-left: 2rem;
}

.wp-block-cover,
.wp-block-cover-image {
  position: relative;
  background-size: cover;
  background-position: 50%;
  min-height: 430px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em;
  box-sizing: border-box;
}

.wp-block-cover-image.has-parallax,
.wp-block-cover.has-parallax {
  background-attachment: fixed;
}

@supports (-webkit-touch-callout: inherit) {
  .wp-block-cover-image.has-parallax,
  .wp-block-cover.has-parallax {
    background-attachment: scroll;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-cover-image.has-parallax,
  .wp-block-cover.has-parallax {
    background-attachment: scroll;
  }
}

.wp-block-cover-image.is-repeated,
.wp-block-cover.is-repeated {
  background-repeat: repeat;
  background-size: auto;
}

.wp-block-cover-image.has-background-dim:not([class*=-background-color]),
.wp-block-cover-image .has-background-dim:not([class*=-background-color]),
.wp-block-cover.has-background-dim:not([class*=-background-color]),
.wp-block-cover .has-background-dim:not([class*=-background-color]) {
  background-color: #000;
}

.wp-block-cover-image .has-background-dim.has-background-gradient,
.wp-block-cover .has-background-dim.has-background-gradient {
  background-color: transparent;
}

.wp-block-cover-image.has-background-dim:before,
.wp-block-cover.has-background-dim:before {
  content: "";
  background-color: inherit;
}

.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,
.wp-block-cover-image .wp-block-cover__background,
.wp-block-cover-image .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim:not(.has-background-gradient):before,
.wp-block-cover .wp-block-cover__background,
.wp-block-cover .wp-block-cover__gradient-background {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  opacity: .5;
}

.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before {
  opacity: .1;
}

.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before {
  opacity: .2;
}

.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before {
  opacity: .3;
}

.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before {
  opacity: .4;
}

.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before {
  opacity: .5;
}

.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before {
  opacity: .6;
}

.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before {
  opacity: .7;
}

.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before {
  opacity: .8;
}

.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before {
  opacity: .9;
}

.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,
.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,
.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,
.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,
.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before {
  opacity: 1;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 {
  opacity: 0;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10 {
  opacity: .1;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20 {
  opacity: .2;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30 {
  opacity: .3;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40 {
  opacity: .4;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50 {
  opacity: .5;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60 {
  opacity: .6;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70 {
  opacity: .7;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80 {
  opacity: .8;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90 {
  opacity: .9;
}

.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100 {
  opacity: 1;
}

.wp-block-cover-image .block-library-cover__padding-visualizer,
.wp-block-cover .block-library-cover__padding-visualizer {
  z-index: 2;
}

.wp-block-cover-image.alignleft,
.wp-block-cover-image.alignright,
.wp-block-cover.alignleft,
.wp-block-cover.alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-cover-image:after,
.wp-block-cover:after {
  display: block;
  content: "";
  font-size: 0;
  min-height: inherit;
}

@supports (position: sticky) {
  .wp-block-cover-image:after,
  .wp-block-cover:after {
    content: none;
  }
}

.wp-block-cover-image.aligncenter,
.wp-block-cover-image.alignleft,
.wp-block-cover-image.alignright,
.wp-block-cover.aligncenter,
.wp-block-cover.alignleft,
.wp-block-cover.alignright {
  display: flex;
}

.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
  width: 100%;
  z-index: 1;
  color: #fff;
}

.wp-block-cover-image.is-light .wp-block-cover__inner-container,
.wp-block-cover.is-light .wp-block-cover__inner-container {
  color: #000;
}

.wp-block-cover-image h1:not(.has-text-color),
.wp-block-cover-image h2:not(.has-text-color),
.wp-block-cover-image h3:not(.has-text-color),
.wp-block-cover-image h4:not(.has-text-color),
.wp-block-cover-image h5:not(.has-text-color),
.wp-block-cover-image h6:not(.has-text-color),
.wp-block-cover-image p:not(.has-text-color),
.wp-block-cover h1:not(.has-text-color),
.wp-block-cover h2:not(.has-text-color),
.wp-block-cover h3:not(.has-text-color),
.wp-block-cover h4:not(.has-text-color),
.wp-block-cover h5:not(.has-text-color),
.wp-block-cover h6:not(.has-text-color),
.wp-block-cover p:not(.has-text-color) {
  color: inherit;
}

.wp-block-cover-image.is-position-top-left,
.wp-block-cover.is-position-top-left {
  align-items: flex-start;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-top-center,
.wp-block-cover.is-position-top-center {
  align-items: flex-start;
  justify-content: center;
}

.wp-block-cover-image.is-position-top-right,
.wp-block-cover.is-position-top-right {
  align-items: flex-start;
  justify-content: flex-end;
}

.wp-block-cover-image.is-position-center-left,
.wp-block-cover.is-position-center-left {
  align-items: center;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-center-center,
.wp-block-cover.is-position-center-center {
  align-items: center;
  justify-content: center;
}

.wp-block-cover-image.is-position-center-right,
.wp-block-cover.is-position-center-right {
  align-items: center;
  justify-content: flex-end;
}

.wp-block-cover-image.is-position-bottom-left,
.wp-block-cover.is-position-bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-bottom-center,
.wp-block-cover.is-position-bottom-center {
  align-items: flex-end;
  justify-content: center;
}

.wp-block-cover-image.is-position-bottom-right,
.wp-block-cover.is-position-bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}

.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
  margin: 0;
  width: auto;
}

.wp-block-cover-image img.wp-block-cover__image-background,
.wp-block-cover-image video.wp-block-cover__video-background,
.wp-block-cover img.wp-block-cover__image-background,
.wp-block-cover video.wp-block-cover__video-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  -o-object-fit: cover;
  object-fit: cover;
  outline: none;
  border: none;
  box-shadow: none;
}

.wp-block-cover__image-background,
.wp-block-cover__video-background {
  z-index: 0;
}

.wp-block-cover-image-text,
.wp-block-cover-image-text a,
.wp-block-cover-image-text a:active,
.wp-block-cover-image-text a:focus,
.wp-block-cover-image-text a:hover,
.wp-block-cover-text,
.wp-block-cover-text a,
.wp-block-cover-text a:active,
.wp-block-cover-text a:focus,
.wp-block-cover-text a:hover,
section.wp-block-cover-image h2,
section.wp-block-cover-image h2 a,
section.wp-block-cover-image h2 a:active,
section.wp-block-cover-image h2 a:focus,
section.wp-block-cover-image h2 a:hover {
  color: #fff;
}

.wp-block-cover-image .wp-block-cover.has-left-content {
  justify-content: flex-start;
}

.wp-block-cover-image .wp-block-cover.has-right-content {
  justify-content: flex-end;
}

.wp-block-cover-image.has-left-content .wp-block-cover-image-text,
.wp-block-cover.has-left-content .wp-block-cover-text,
section.wp-block-cover-image.has-left-content > h2 {
  margin-left: 0;
  text-align: left;
}

.wp-block-cover-image.has-right-content .wp-block-cover-image-text,
.wp-block-cover.has-right-content .wp-block-cover-text,
section.wp-block-cover-image.has-right-content > h2 {
  margin-right: 0;
  text-align: right;
}

.wp-block-cover-image .wp-block-cover-image-text,
.wp-block-cover .wp-block-cover-text,
section.wp-block-cover-image > h2 {
  font-size: 2em;
  line-height: 1.25;
  z-index: 1;
  margin-bottom: 0;
  max-width: 840px;
  padding: .44em;
  text-align: center;
}

.wp-block-embed.alignleft,
.wp-block-embed.alignright,
.wp-block[data-align=left] > [data-type="core/embed"],
.wp-block[data-align=right] > [data-type="core/embed"] {
  max-width: 360px;
  width: 100%;
}

.wp-block-embed.alignleft .wp-block-embed__wrapper,
.wp-block-embed.alignright .wp-block-embed__wrapper,
.wp-block[data-align=left] > [data-type="core/embed"] .wp-block-embed__wrapper,
.wp-block[data-align=right] > [data-type="core/embed"] .wp-block-embed__wrapper {
  min-width: 280px;
}

.wp-block-cover .wp-block-embed {
  min-width: 320px;
  min-height: 240px;
}

.wp-block-embed {
  margin: 0 0 1em;
  overflow-wrap: break-word;
}

.wp-block-embed figcaption {
  margin-top: .5em;
  margin-bottom: 1em;
}

.wp-block-embed iframe {
  max-width: 100%;
}

.wp-block-embed__wrapper {
  position: relative;
}

.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before {
  content: "";
  display: block;
  padding-top: 50%;
}

.wp-embed-responsive .wp-has-aspect-ratio iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before {
  padding-top: 42.85%;
}

.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before {
  padding-top: 50%;
}

.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before {
  padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before {
  padding-top: 75%;
}

.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before {
  padding-top: 100%;
}

.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before {
  padding-top: 177.77%;
}

.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before {
  padding-top: 200%;
}

.wp-block-file {
  margin-bottom: 1.5em;
}

.wp-block-file.aligncenter {
  text-align: center;
}

.wp-block-file.alignright {
  text-align: right;
}

.wp-block-file .wp-block-file__embed {
  margin-bottom: 1em;
}

.wp-block-file .wp-block-file__button {
  background: #32373c;
  border-radius: 2em;
  color: #fff;
  font-size: .8em;
  padding: .5em 1em;
}

.wp-block-file a.wp-block-file__button {
  text-decoration: none;
}

.wp-block-file a.wp-block-file__button:active,
.wp-block-file a.wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:hover,
.wp-block-file a.wp-block-file__button:visited {
  box-shadow: none;
  color: #fff;
  opacity: .85;
  text-decoration: none;
}

.wp-block-file * + .wp-block-file__button {
  margin-left: .75em;
}

.blocks-gallery-grid:not(.has-nested-images),
.wp-block-gallery:not(.has-nested-images) {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item {
  margin: 0 1em 1em 0;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: calc(50% - 1em);
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n) {
  margin-right: 0;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure {
  margin: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img {
  display: block;
  max-width: 100%;
  height: auto;
  width: auto;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption {
  position: absolute;
  bottom: 0;
  width: 100%;
  max-height: 100%;
  overflow: auto;
  padding: 3em .77em .7em;
  color: #fff;
  text-align: center;
  font-size: .8em;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3) 70%, transparent);
  box-sizing: border-box;
  margin: 0;
  z-index: 2;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img {
  display: inline;
}

.blocks-gallery-grid:not(.has-nested-images) figcaption,
.wp-block-gallery:not(.has-nested-images) figcaption {
  flex-grow: 1;
}

.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,
.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,
.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,
.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,
.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,
.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,
.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,
.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img {
  width: 100%;
  height: 100%;
  flex: 1;
  -o-object-fit: cover;
  object-fit: cover;
}

.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,
.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,
.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,
.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item {
  width: 100%;
  margin-right: 0;
}

@media (min-width: 600px) {
  .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,
  .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,
  .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,
  .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item {
    width: calc(33.33333% - .66667em);
    margin-right: 1em;
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,
  .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,
  .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,
  .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item {
    width: calc(25% - .75em);
    margin-right: 1em;
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,
  .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,
  .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,
  .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item {
    width: calc(20% - .8em);
    margin-right: 1em;
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,
  .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,
  .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,
  .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item {
    width: calc(16.66667% - .83333em);
    margin-right: 1em;
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,
  .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,
  .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,
  .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item {
    width: calc(14.28571% - .85714em);
    margin-right: 1em;
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,
  .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,
  .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,
  .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item {
    width: calc(12.5% - .875em);
    margin-right: 1em;
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),
  .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),
  .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),
  .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),
  .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),
  .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),
  .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),
  .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),
  .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),
  .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),
  .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),
  .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),
  .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),
  .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),
  .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),
  .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),
  .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),
  .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),
  .wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),
  .wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),
  .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),
  .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),
  .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),
  .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),
  .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),
  .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),
  .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),
  .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),
  .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),
  .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),
  .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),
  .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n) {
    margin-right: 0;
  }
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,
.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child {
  margin-right: 0;
}

.blocks-gallery-grid:not(.has-nested-images).alignleft,
.blocks-gallery-grid:not(.has-nested-images).alignright,
.wp-block-gallery:not(.has-nested-images).alignleft,
.wp-block-gallery:not(.has-nested-images).alignright {
  max-width: 420px;
  width: 100%;
}

.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,
.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure {
  justify-content: center;
}

.wp-block-gallery:not(.is-cropped) .blocks-gallery-item {
  align-self: flex-start;
}

figure.wp-block-gallery.has-nested-images {
  align-items: normal;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2);
  margin: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
  display: flex;
  flex-grow: 1;
  justify-content: center;
  position: relative;
  flex-direction: column;
  max-width: 100%;
}

.wp-block-gallery.has-nested-images figure.wp-block-image > a,
.wp-block-gallery.has-nested-images figure.wp-block-image > div {
  margin: 0;
  flex-direction: column;
  flex-grow: 1;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
  display: block;
  height: auto;
  max-width: 100% !important;
  width: auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3) 70%, transparent);
  bottom: 0;
  color: #fff;
  font-size: 13px;
  left: 0;
  margin-bottom: 0;
  max-height: 60%;
  overflow: auto;
  padding: 0 8px 8px;
  position: absolute;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img {
  display: inline;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a {
  color: inherit;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a,
.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div {
  flex: 1 1 auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption {
  flex: initial;
  background: none;
  color: inherit;
  margin: 0;
  padding: 10px 10px 9px;
  position: relative;
}

.wp-block-gallery.has-nested-images figcaption {
  flex-grow: 1;
  flex-basis: 100%;
  text-align: center;
}

.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
  margin-top: 0;
  margin-bottom: auto;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) {
  align-self: inherit;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a,
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > div:not(.components-drop-zone) {
  display: flex;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
  width: 100%;
  flex: 1 0 0%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
    width: calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*0.66667);
  }
  .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
    width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*0.75);
  }
  .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) {
    width: calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*0.8);
  }
  .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) {
    width: calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*0.83333);
  }
  .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) {
    width: calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*0.85714);
  }
  .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) {
    width: calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*0.875);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
    width: calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*0.66667);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2) ~ figure.wp-block-image:not(#individual-image) {
    width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*0.5);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child {
    width: 100%;
  }
}

.wp-block-gallery.has-nested-images.alignleft,
.wp-block-gallery.has-nested-images.alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-gallery.has-nested-images.aligncenter {
  justify-content: center;
}

.wp-block-group {
  box-sizing: border-box;
}

h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-image {
  margin: 0 0 1em;
}

.wp-block-image img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

.wp-block-image:not(.is-style-rounded) > a,
.wp-block-image:not(.is-style-rounded) img {
  border-radius: inherit;
}

.wp-block-image.aligncenter {
  text-align: center;
}

.wp-block-image.alignfull img,
.wp-block-image.alignwide img {
  height: auto;
  width: 100%;
}

.wp-block-image.aligncenter,
.wp-block-image .aligncenter,
.wp-block-image.alignleft,
.wp-block-image .alignleft,
.wp-block-image.alignright,
.wp-block-image .alignright {
  display: table;
}

.wp-block-image.aligncenter > figcaption,
.wp-block-image .aligncenter > figcaption,
.wp-block-image.alignleft > figcaption,
.wp-block-image .alignleft > figcaption,
.wp-block-image.alignright > figcaption,
.wp-block-image .alignright > figcaption {
  display: table-caption;
  caption-side: bottom;
}

.wp-block-image .alignleft {
  float: left;
  margin: .5em 1em .5em 0;
}

.wp-block-image .alignright {
  float: right;
  margin: .5em 0 .5em 1em;
}

.wp-block-image .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.wp-block-image figcaption {
  margin-top: .5em;
  margin-bottom: 1em;
}

.wp-block-image.is-style-circle-mask img,
.wp-block-image.is-style-rounded img,
.wp-block-image .is-style-rounded img {
  border-radius: 9999px;
}

@supports (-webkit-mask-image: none) or (mask-image: none) or (-webkit-mask-image: none) {
  .wp-block-image.is-style-circle-mask img {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    border-radius: 0;
  }
}

.wp-block-image figure {
  margin: 0;
}

ol.wp-block-latest-comments {
  margin-left: 0;
}

.wp-block-latest-comments .wp-block-latest-comments {
  padding-left: 0;
}

.wp-block-latest-comments__comment {
  line-height: 1.1;
  list-style: none;
  margin-bottom: 1em;
}

.has-avatars .wp-block-latest-comments__comment {
  min-height: 2.25em;
  list-style: none;
}

.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,
.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta {
  margin-left: 3.25em;
}

.has-dates .wp-block-latest-comments__comment,
.has-excerpts .wp-block-latest-comments__comment {
  line-height: 1.5;
}

.wp-block-latest-comments__comment-excerpt p {
  font-size: .875em;
  line-height: 1.8;
  margin: .36em 0 1.4em;
}

.wp-block-latest-comments__comment-date {
  display: block;
  font-size: .75em;
}

.wp-block-latest-comments .avatar,
.wp-block-latest-comments__comment-avatar {
  border-radius: 1.5em;
  display: block;
  float: left;
  height: 2.5em;
  margin-right: .75em;
  width: 2.5em;
}

.wp-block-latest-posts.alignleft {
  margin-right: 2em;
}

.wp-block-latest-posts.alignright {
  margin-left: 2em;
}

.wp-block-latest-posts.wp-block-latest-posts__list {
  list-style: none;
  padding-left: 0;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
  clear: both;
}

.wp-block-latest-posts.is-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.wp-block-latest-posts.is-grid li {
  margin: 0 1.25em 1.25em 0;
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-latest-posts.columns-2 li {
    width: calc(50% - .625em);
  }
  .wp-block-latest-posts.columns-2 li:nth-child(2n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-3 li {
    width: calc(33.33333% - .83333em);
  }
  .wp-block-latest-posts.columns-3 li:nth-child(3n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-4 li {
    width: calc(25% - .9375em);
  }
  .wp-block-latest-posts.columns-4 li:nth-child(4n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-5 li {
    width: calc(20% - 1em);
  }
  .wp-block-latest-posts.columns-5 li:nth-child(5n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-6 li {
    width: calc(16.66667% - 1.04167em);
  }
  .wp-block-latest-posts.columns-6 li:nth-child(6n) {
    margin-right: 0;
  }
}

.wp-block-latest-posts__post-author,
.wp-block-latest-posts__post-date {
  display: block;
  font-size: .8125em;
}

.wp-block-latest-posts__post-excerpt {
  margin-top: .5em;
  margin-bottom: 1em;
}

.wp-block-latest-posts__featured-image a {
  display: inline-block;
}

.wp-block-latest-posts__featured-image img {
  height: auto;
  width: auto;
  max-width: 100%;
}

.wp-block-latest-posts__featured-image.alignleft {
  margin-right: 1em;
  float: left;
}

.wp-block-latest-posts__featured-image.alignright {
  margin-left: 1em;
  float: right;
}

.wp-block-latest-posts__featured-image.aligncenter {
  margin-bottom: 1em;
  text-align: center;
}

ol,
ul {
  box-sizing: border-box;
}

ol.has-background,
ul.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-media-text {
  /*!rtl:begin:ignore*/
  direction: ltr;
  /*!rtl:end:ignore*/
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto;
}

.wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 1fr 50%;
}

.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,
.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media {
  align-self: start;
}

.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,
.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,
.wp-block-media-text .wp-block-media-text__content,
.wp-block-media-text .wp-block-media-text__media {
  align-self: center;
}

.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,
.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media {
  align-self: end;
}

.wp-block-media-text .wp-block-media-text__media {
  /*!rtl:begin:ignore*/
  grid-column: 1;
  grid-row: 1;
  /*!rtl:end:ignore*/
  margin: 0;
}

.wp-block-media-text .wp-block-media-text__content {
  direction: ltr;
  /*!rtl:begin:ignore*/
  grid-column: 2;
  grid-row: 1;
  /*!rtl:end:ignore*/
  padding: 0 8%;
  word-break: break-word;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  /*!rtl:begin:ignore*/
  grid-column: 2;
  grid-row: 1;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  /*!rtl:begin:ignore*/
  grid-column: 1;
  grid-row: 1;
}

.wp-block-media-text__media img,
.wp-block-media-text__media video {
  height: auto;
  max-width: unset;
  width: 100%;
  vertical-align: middle;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media {
  height: 100%;
  min-height: 250px;
  background-size: cover;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media > a {
  display: block;
  height: 100%;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media img {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

@media (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
  }
}

.wp-block-navigation {
  position: relative;
  --navigation-layout-justification-setting: flex-start;
  --navigation-layout-direction: row;
  --navigation-layout-wrap: wrap;
  --navigation-layout-justify: flex-start;
  --navigation-layout-align: center;
}

.wp-block-navigation ul {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-left: 0;
}

.wp-block-navigation ul,
.wp-block-navigation ul li {
  list-style: none;
  padding: 0;
}

.wp-block-navigation .wp-block-navigation-item {
  display: flex;
  align-items: center;
  position: relative;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty {
  display: none;
}

.wp-block-navigation .wp-block-navigation-item__content {
  color: inherit;
  display: block;
  padding: 0;
}

.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content,
.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active,
.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus {
  text-decoration: underline;
}

.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content,
.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active,
.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus {
  text-decoration: line-through;
}

.wp-block-navigation:where(:not([class*=has-text-decoration])) a,
.wp-block-navigation:where(:not([class*=has-text-decoration])) a:active,
.wp-block-navigation:where(:not([class*=has-text-decoration])) a:focus {
  text-decoration: none;
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
  align-self: center;
  line-height: 0;
  display: inline-block;
  font-size: inherit;
  padding: 0;
  background-color: inherit;
  color: currentColor;
  border: none;
  width: .6em;
  height: .6em;
  margin-left: .25em;
}

.wp-block-navigation .wp-block-navigation__submenu-icon svg {
  display: inline-block;
  stroke: currentColor;
  width: inherit;
  height: inherit;
  margin-top: .075em;
}

.wp-block-navigation.is-vertical {
  --navigation-layout-direction: column;
  --navigation-layout-justify: initial;
  --navigation-layout-align: flex-start;
}

.wp-block-navigation.no-wrap {
  --navigation-layout-wrap: nowrap;
}

.wp-block-navigation.items-justified-center {
  --navigation-layout-justification-setting: center;
  --navigation-layout-justify: center;
}

.wp-block-navigation.items-justified-center.is-vertical {
  --navigation-layout-align: center;
}

.wp-block-navigation.items-justified-right {
  --navigation-layout-justification-setting: flex-end;
  --navigation-layout-justify: flex-end;
}

.wp-block-navigation.items-justified-right.is-vertical {
  --navigation-layout-align: flex-end;
}

.wp-block-navigation.items-justified-space-between {
  --navigation-layout-justification-setting: space-between;
  --navigation-layout-justify: space-between;
}

.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) {
  background-color: inherit;
  color: inherit;
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: normal;
  opacity: 0;
  transition: opacity .1s linear;
  visibility: hidden;
  width: 0;
  height: 0;
  overflow: hidden;
  left: -1px;
  top: 100%;
}

.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: flex;
  flex-grow: 1;
}

.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
  margin-right: 0;
  margin-left: auto;
}

.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content {
  margin: 0;
}

@media (min-width: 782px) {
  .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container {
    left: 100%;
    top: -1px;
  }
  .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container:before {
    content: "";
    position: absolute;
    right: 100%;
    height: 100%;
    display: block;
    width: .5em;
    background: transparent;
  }
  .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-icon {
    margin-right: .25em;
  }
  .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-icon svg {
    transform: rotate(-90deg);
  }
}

.wp-block-navigation .has-child:where(:not(.open-on-click)):hover > .wp-block-navigation__submenu-container {
  visibility: visible;
  overflow: visible;
  opacity: 1;
  width: auto;
  height: auto;
  min-width: 200px;
}

.wp-block-navigation .has-child:where(:not(.open-on-click):not(.open-on-hover-click)):focus-within > .wp-block-navigation__submenu-container {
  visibility: visible;
  overflow: visible;
  opacity: 1;
  width: auto;
  height: auto;
  min-width: 200px;
}

.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container {
  visibility: visible;
  overflow: visible;
  opacity: 1;
  width: auto;
  height: auto;
  min-width: 200px;
}

.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container {
  left: 0;
  top: 100%;
}

@media (min-width: 782px) {
  .wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: 100%;
    top: 0;
  }
}

.wp-block-navigation-submenu {
  position: relative;
  display: flex;
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
  stroke: currentColor;
}

button.wp-block-navigation-item__content {
  background-color: transparent;
  border: none;
  color: currentColor;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  font-style: inherit;
  font-weight: inherit;
  text-transform: inherit;
  text-align: left;
}

.wp-block-navigation-submenu__toggle {
  cursor: pointer;
}

.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle {
  padding-right: .85em;
}

.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-icon {
  margin-left: -.6em;
  pointer-events: none;
}

.wp-block-navigation,
.wp-block-navigation .wp-block-page-list,
.wp-block-navigation:where(.has-background),
.wp-block-navigation:where(.has-background) .wp-block-navigation .wp-block-page-list,
.wp-block-navigation:where(.has-background) .wp-block-navigation__container,
.wp-block-navigation__container,
.wp-block-navigation__responsive-close,
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-dialog {
  gap: inherit;
}

.wp-block-navigation:where(.has-background) .wp-block-navigation-item__content,
.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content {
  padding: .5em 1em;
}

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container {
  left: auto;
  right: 0;
}

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  left: -1px;
  right: -1px;
}

@media (min-width: 782px) {
  .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: auto;
    right: 100%;
  }
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
  background-color: #fff;
  color: #000;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.wp-block-navigation__container {
  display: flex;
  flex-wrap: var(--navigation-layout-wrap, wrap);
  flex-direction: var(--navigation-layout-direction, initial);
  justify-content: var(--navigation-layout-justify, initial);
  align-items: var(--navigation-layout-align, initial);
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.wp-block-navigation__container .is-responsive {
  display: none;
}

.wp-block-navigation__container:only-child,
.wp-block-page-list:only-child {
  flex-grow: 1;
}

.wp-block-navigation__responsive-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
  display: flex;
  flex-wrap: var(--navigation-layout-wrap, wrap);
  flex-direction: var(--navigation-layout-direction, initial);
  justify-content: var(--navigation-layout-justify, initial);
  align-items: var(--navigation-layout-align, initial);
}

.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open) {
  color: inherit !important;
  background-color: inherit !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
  display: flex;
  flex-direction: column;
  background-color: inherit;
  padding: 2rem;
  overflow: auto;
  z-index: 100000;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding-top: calc(2rem + 24px);
  overflow: visible;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: var(--navigation-layout-justification-setting, inherit);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
  justify-content: flex-start;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
  display: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
  opacity: 1;
  visibility: visible;
  height: auto;
  width: auto;
  overflow: initial;
  min-width: 200px;
  position: static;
  border: none;
  padding-left: 2rem;
  padding-right: 2rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
  gap: inherit;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
  padding-top: var(--wp--style--block-gap, 2em);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
  padding: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
  display: flex;
  flex-direction: column;
  align-items: var(--navigation-layout-justification-setting, initial);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
  color: inherit !important;
  background: transparent !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
  right: auto;
  left: auto;
}

@media (min-width: 600px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block;
    width: 100%;
    position: relative;
    z-index: auto;
    background-color: inherit;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
    display: none;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
    left: 0;
  }
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  background-color: #fff;
  color: #000;
}

.wp-block-navigation__toggle_button_label {
  font-size: 1rem;
  font-weight: 700;
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
  vertical-align: middle;
  cursor: pointer;
  color: currentColor;
  background: transparent;
  border: none;
  margin: 0;
  padding: 0;
}

.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
  fill: currentColor;
  pointer-events: none;
  display: block;
  width: 24px;
  height: 24px;
}

.wp-block-navigation__responsive-container-open {
  display: flex;
}

@media (min-width: 600px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}

.wp-block-navigation__responsive-container-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}

.wp-block-navigation__responsive-close {
  width: 100%;
}

.wp-block-navigation__responsive-close:focus {
  outline: none;
}

.is-menu-open .wp-block-navigation__responsive-close,
.is-menu-open .wp-block-navigation__responsive-container-content,
.is-menu-open .wp-block-navigation__responsive-dialog {
  box-sizing: border-box;
}

.wp-block-navigation__responsive-dialog {
  position: relative;
}

html.has-modal-open {
  overflow: hidden;
}

.wp-block-navigation .wp-block-navigation-item__label {
  word-break: normal;
  overflow-wrap: break-word;
}

.wp-block-navigation .wp-block-navigation-item__description {
  display: none;
}

.wp-block-navigation .wp-block-page-list {
  display: flex;
  flex-direction: var(--navigation-layout-direction, initial);
  justify-content: var(--navigation-layout-justify, initial);
  align-items: var(--navigation-layout-align, initial);
  flex-wrap: var(--navigation-layout-wrap, wrap);
  background-color: inherit;
}

.wp-block-navigation .wp-block-navigation-item {
  background-color: inherit;
}

.is-small-text {
  font-size: .875em;
}

.is-regular-text {
  font-size: 1em;
}

.is-large-text {
  font-size: 2.25em;
}

.is-larger-text {
  font-size: 3em;
}

.has-drop-cap:not(:focus):first-letter {
  float: left;
  font-size: 8.4em;
  line-height: .68;
  font-weight: 100;
  margin: .05em .1em 0 0;
  text-transform: uppercase;
  font-style: normal;
}

p.has-drop-cap.has-background {
  overflow: hidden;
}

p.has-background {
  padding: 1.25em 2.375em;
}

:where(p.has-text-color:not(.has-link-color)) a {
  color: inherit;
}

.wp-block-post-author {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-post-author__byline {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  font-size: .5em;
}

.wp-block-post-author__avatar {
  margin-right: 1em;
}

.wp-block-post-author__bio {
  margin-bottom: .7em;
  font-size: .7em;
}

.wp-block-post-author__content {
  flex-grow: 1;
  flex-basis: 0;
}

.wp-block-post-author__name {
  margin: 0;
}

.wp-block-post-comments .alignleft {
  float: left;
}

.wp-block-post-comments .alignright {
  float: right;
}

.wp-block-post-comments .navigation:after {
  content: "";
  display: table;
  clear: both;
}

.wp-block-post-comments .commentlist {
  clear: both;
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-block-post-comments .commentlist .comment {
  min-height: 2.25em;
  padding-left: 3.25em;
}

.wp-block-post-comments .commentlist .comment p {
  font-size: 1em;
  line-height: 1.8;
  margin: 1em 0;
}

.wp-block-post-comments .commentlist .children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-block-post-comments .comment-author {
  line-height: 1.5;
}

.wp-block-post-comments .comment-author .avatar {
  border-radius: 1.5em;
  display: block;
  float: left;
  height: 2.5em;
  margin-top: .5em;
  margin-right: .75em;
  width: 2.5em;
}

.wp-block-post-comments .comment-author cite {
  font-style: normal;
}

.wp-block-post-comments .comment-meta {
  font-size: .875em;
  line-height: 1.5;
}

.wp-block-post-comments .comment-meta b {
  font-weight: 400;
}

.wp-block-post-comments .comment-meta .comment-awaiting-moderation {
  margin-top: 1em;
  margin-bottom: 1em;
  display: block;
}

.wp-block-post-comments .comment-body .commentmetadata {
  font-size: .875em;
}

.wp-block-post-comments .comment-form-author label,
.wp-block-post-comments .comment-form-comment label,
.wp-block-post-comments .comment-form-email label,
.wp-block-post-comments .comment-form-url label {
  display: block;
  margin-bottom: .25em;
}

.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),
.wp-block-post-comments .comment-form textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
}

.wp-block-post-comments .comment-form-cookies-consent {
  display: flex;
  gap: .25em;
}

.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent {
  margin-top: .35em;
}

.wp-block-post-comments .comment-reply-title {
  margin-bottom: 0;
}

.wp-block-post-comments .comment-reply-title :where(small) {
  font-size: var(--wp--preset--font-size--medium, smaller);
  margin-left: .5em;
}

.wp-block-post-comments .reply {
  font-size: .875em;
  margin-bottom: 1.4em;
}

.wp-block-post-comments input:not([type=submit]),
.wp-block-post-comments textarea {
  border: 1px solid #949494;
  font-size: 1em;
  font-family: inherit;
}

.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),
.wp-block-post-comments textarea {
  padding: calc(.667em + 2px);
}

.wp-block-post-comments input[type=submit] {
  border: none;
}

.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title) {
  font-weight: inherit;
}

.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title) {
  font-family: inherit;
}

.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),
.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title) {
  font-size: inherit;
}

.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title) {
  line-height: inherit;
}

.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title) {
  font-style: inherit;
}

.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title) {
  letter-spacing: inherit;
}

.wp-block-post-comments-form input[type=submit] {
  border: none;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  overflow-wrap: break-word;
}

.wp-block-post-comments-form input:not([type=submit]),
.wp-block-post-comments-form textarea {
  border: 1px solid #949494;
  font-size: 1em;
  font-family: inherit;
}

.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]),
.wp-block-post-comments-form textarea {
  padding: calc(.667em + 2px);
}

.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]),
.wp-block-post-comments-form .comment-form textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
}

.wp-block-post-comments-form .comment-form-author label,
.wp-block-post-comments-form .comment-form-email label,
.wp-block-post-comments-form .comment-form-url label {
  display: block;
  margin-bottom: .25em;
}

.wp-block-post-comments-form .comment-form-cookies-consent {
  display: flex;
  gap: .25em;
}

.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent {
  margin-top: .35em;
}

.wp-block-post-comments-form .comment-reply-title {
  margin-bottom: 0;
}

.wp-block-post-comments-form .comment-reply-title :where(small) {
  font-size: var(--wp--preset--font-size--medium, smaller);
  margin-left: .5em;
}

.wp-block-post-excerpt__more-link {
  display: inline-block;
}

.wp-block-post-featured-image {
  margin-left: 0;
  margin-right: 0;
}

.wp-block-post-featured-image a {
  display: block;
}

.wp-block-post-featured-image img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.wp-block-post-featured-image.alignfull img,
.wp-block-post-featured-image.alignwide img {
  width: 100%;
}

.wp-block-post-terms__separator {
  white-space: pre-wrap;
}

.wp-block-post-title {
  word-break: break-word;
}

.wp-block-post-title a {
  display: inline-block;
}

.wp-block-preformatted {
  white-space: pre-wrap;
}

.wp-block-preformatted.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-pullquote {
  margin: 0 0 1em;
  padding: 3em 0;
  text-align: center;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

.wp-block-pullquote blockquote,
.wp-block-pullquote cite,
.wp-block-pullquote p {
  color: inherit;
}

.wp-block-pullquote.alignleft,
.wp-block-pullquote.alignright,
.wp-block-pullquote.has-text-align-left,
.wp-block-pullquote.has-text-align-right {
  max-width: 420px;
}

.wp-block-pullquote.alignleft p,
.wp-block-pullquote.alignright p,
.wp-block-pullquote.has-text-align-left p,
.wp-block-pullquote.has-text-align-right p {
  font-size: 1.25em;
}

.wp-block-pullquote p {
  font-size: 1.75em;
  line-height: 1.6;
}

.wp-block-pullquote cite,
.wp-block-pullquote footer {
  position: relative;
}

.wp-block-pullquote .has-text-color a {
  color: inherit;
}

.wp-block-pullquote.has-text-align-left blockquote {
  text-align: left;
}

.wp-block-pullquote.has-text-align-right blockquote {
  text-align: right;
}

.wp-block-pullquote.is-style-solid-color {
  border: none;
}

.wp-block-pullquote.is-style-solid-color blockquote {
  margin-left: auto;
  margin-right: auto;
  max-width: 60%;
}

.wp-block-pullquote.is-style-solid-color blockquote p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2em;
}

.wp-block-pullquote.is-style-solid-color blockquote cite {
  text-transform: none;
  font-style: normal;
}

.wp-block-pullquote cite {
  color: inherit;
}

.wp-block-post-template,
.wp-block-query-loop {
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100%;
  list-style: none;
  padding: 0;
}

.wp-block-post-template.wp-block-post-template,
.wp-block-query-loop.wp-block-post-template {
  background: none;
}

.wp-block-post-template.is-flex-container,
.wp-block-query-loop.is-flex-container {
  flex-direction: row;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25em;
}

.wp-block-post-template.is-flex-container li,
.wp-block-query-loop.is-flex-container li {
  margin: 0;
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-post-template.is-flex-container.is-flex-container.columns-2 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-2 > li {
    width: calc(50% - .625em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-3 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-3 > li {
    width: calc(33.33333% - .83333em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-4 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-4 > li {
    width: calc(25% - .9375em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-5 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-5 > li {
    width: calc(20% - 1em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-6 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-6 > li {
    width: calc(16.66667% - 1.04167em);
  }
}

.wp-block-query-pagination > .wp-block-query-pagination-next,
.wp-block-query-pagination > .wp-block-query-pagination-numbers,
.wp-block-query-pagination > .wp-block-query-pagination-previous {
  margin-right: .5em;
  margin-bottom: .5em;
}

.wp-block-query-pagination > .wp-block-query-pagination-next:last-child,
.wp-block-query-pagination > .wp-block-query-pagination-numbers:last-child,
.wp-block-query-pagination > .wp-block-query-pagination-previous:last-child {
  margin-right: 0;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow {
  margin-right: 1ch;
  display: inline-block;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-query-pagination .wp-block-query-pagination-next-arrow {
  margin-left: 1ch;
  display: inline-block;
}

.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-query-pagination.aligncenter {
  justify-content: center;
}

.wp-block-quote {
  box-sizing: border-box;
  overflow-wrap: break-word;
}

.wp-block-quote.is-large:not(.is-style-plain),
.wp-block-quote.is-style-large:not(.is-style-plain) {
  margin-bottom: 1em;
  padding: 0 1em;
}

.wp-block-quote.is-large:not(.is-style-plain) p,
.wp-block-quote.is-style-large:not(.is-style-plain) p {
  font-size: 1.5em;
  font-style: italic;
  line-height: 1.6;
}

.wp-block-quote.is-large:not(.is-style-plain) cite,
.wp-block-quote.is-large:not(.is-style-plain) footer,
.wp-block-quote.is-style-large:not(.is-style-plain) cite,
.wp-block-quote.is-style-large:not(.is-style-plain) footer {
  font-size: 1.125em;
  text-align: right;
}

.wp-block-read-more {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}

.wp-block-read-more:not([style*=text-decoration]),
.wp-block-read-more:not([style*=text-decoration]):active,
.wp-block-read-more:not([style*=text-decoration]):focus {
  text-decoration: none;
}

ul.wp-block-rss {
  list-style: none;
  padding: 0;
}

ul.wp-block-rss.wp-block-rss {
  box-sizing: border-box;
}

ul.wp-block-rss.alignleft {
  margin-right: 2em;
}

ul.wp-block-rss.alignright {
  margin-left: 2em;
}

ul.wp-block-rss.is-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  list-style: none;
}

ul.wp-block-rss.is-grid li {
  margin: 0 1em 1em 0;
  width: 100%;
}

@media (min-width: 600px) {
  ul.wp-block-rss.columns-2 li {
    width: calc(50% - 1em);
  }
  ul.wp-block-rss.columns-3 li {
    width: calc(33.33333% - 1em);
  }
  ul.wp-block-rss.columns-4 li {
    width: calc(25% - 1em);
  }
  ul.wp-block-rss.columns-5 li {
    width: calc(20% - 1em);
  }
  ul.wp-block-rss.columns-6 li {
    width: calc(16.66667% - 1em);
  }
}

.wp-block-rss__item-author,
.wp-block-rss__item-publish-date {
  display: block;
  font-size: .8125em;
}

.wp-block-search__button {
  background: #f7f7f7;
  border: 1px solid #ccc;
  padding: .375em .625em;
  color: #32373c;
  margin-left: .625em;
  word-break: normal;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.wp-block-search__button.has-icon {
  line-height: 0;
}

.wp-block-search__button svg {
  min-width: 1.5em;
  min-height: 1.5em;
  fill: currentColor;
}

.wp-block-search__inside-wrapper {
  display: flex;
  flex: auto;
  flex-wrap: nowrap;
  max-width: 100%;
}

.wp-block-search__label {
  width: 100%;
}

.wp-block-search__input {
  padding: 8px;
  flex-grow: 1;
  min-width: 3em;
  border: 1px solid #949494;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.wp-block-search.wp-block-search__button-only .wp-block-search__button {
  margin-left: 0;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
  padding: 4px;
  border: 1px solid #949494;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input {
  border-radius: 0;
  border: none;
  padding: 0 0 0 .25em;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus {
  outline: none;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button {
  padding: .125em .5em;
}

.wp-block-search.aligncenter .wp-block-search__inside-wrapper {
  margin: auto;
}

.wp-block-separator {
  border-top: 1px solid;
  border-bottom: 1px solid;
}

.wp-block-separator.is-style-dots {
  background: none !important;
  border: none;
  text-align: center;
  line-height: 1;
  height: auto;
}

.wp-block-separator.is-style-dots:before {
  content: "···";
  color: currentColor;
  font-size: 1.5em;
  letter-spacing: 2em;
  padding-left: 2em;
  font-family: serif;
}

.wp-block-site-logo {
  line-height: 0;
}

.wp-block-site-logo a {
  display: inline-block;
}

.wp-block-site-logo.is-default-size img {
  width: 120px;
  height: auto;
}

.wp-block-site-logo a,
.wp-block-site-logo img {
  border-radius: inherit;
}

.wp-block-site-logo.aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.wp-block-site-logo.is-style-rounded {
  border-radius: 9999px;
}

.wp-block-social-links {
  padding-left: 0;
  padding-right: 0;
  text-indent: 0;
  margin-left: 0;
  background: none;
}

.wp-block-social-links .wp-social-link a,
.wp-block-social-links .wp-social-link a:hover {
  text-decoration: none;
  border-bottom: 0;
  box-shadow: none;
}

.wp-block-social-links .wp-social-link a {
  padding: .25em;
}

.wp-block-social-links .wp-social-link svg {
  width: 1em;
  height: 1em;
}

.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
  margin-left: .5em;
  margin-right: .5em;
  font-size: .65em;
}

.wp-block-social-links.has-small-icon-size {
  font-size: 16px;
}

.wp-block-social-links,
.wp-block-social-links.has-normal-icon-size {
  font-size: 24px;
}

.wp-block-social-links.has-large-icon-size {
  font-size: 36px;
}

.wp-block-social-links.has-huge-icon-size {
  font-size: 48px;
}

.wp-block-social-links.aligncenter {
  justify-content: center;
  display: flex;
}

.wp-block-social-links.alignright {
  justify-content: flex-end;
}

.wp-block-social-link {
  display: block;
  border-radius: 9999px;
  transition: transform .1s ease;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-social-link {
    transition-duration: 0s;
    transition-delay: 0s;
  }
}

.wp-block-social-link a {
  align-items: center;
  display: flex;
  line-height: 0;
  transition: transform .1s ease;
}

.wp-block-social-link:hover {
  transform: scale(1.1);
}

.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,
.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,
.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,
.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited,
.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg {
  color: currentColor;
  fill: currentColor;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link {
  background-color: #f0f0f0;
  color: #444;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon {
  background-color: #f90;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp {
  background-color: #1ea0c3;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance {
  background-color: #0757fe;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen {
  background-color: #1e1f26;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart {
  background-color: #02e49b;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble {
  background-color: #e94c89;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox {
  background-color: #4280ff;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy {
  background-color: #f45800;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook {
  background-color: #1778f2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx {
  background-color: #000;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr {
  background-color: #0461dd;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare {
  background-color: #e65678;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github {
  background-color: #24292d;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads {
  background-color: #eceadd;
  color: #382110;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google {
  background-color: #ea4434;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram {
  background-color: #f00075;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm {
  background-color: #e21b24;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin {
  background-color: #0d66c2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon {
  background-color: #3288d4;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium {
  background-color: #02ab6c;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup {
  background-color: #f6405f;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon {
  background-color: #ff424d;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest {
  background-color: #e60122;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket {
  background-color: #ef4155;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit {
  background-color: #fe4500;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype {
  background-color: #0478d7;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat {
  background-color: #fefc00;
  color: #fff;
  stroke: #000;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud {
  background-color: #ff5600;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify {
  background-color: #1bd760;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram {
  background-color: #2aabee;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok {
  background-color: #000;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr {
  background-color: #011835;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch {
  background-color: #6440a4;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter {
  background-color: #1da1f2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo {
  background-color: #1eb7ea;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk {
  background-color: #4680c2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress {
  background-color: #3499cd;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp {
  background-color: #d32422;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube {
  background-color: red;
  color: #fff;
}

.wp-block-social-links.is-style-logos-only .wp-social-link {
  background: none;
}

.wp-block-social-links.is-style-logos-only .wp-social-link a {
  padding: 0;
}

.wp-block-social-links.is-style-logos-only .wp-social-link svg {
  width: 1.25em;
  height: 1.25em;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-amazon {
  color: #f90;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp {
  color: #1ea0c3;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-behance {
  color: #0757fe;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-codepen {
  color: #1e1f26;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart {
  color: #02e49b;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble {
  color: #e94c89;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox {
  color: #4280ff;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-etsy {
  color: #f45800;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-facebook {
  color: #1778f2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx {
  color: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-flickr {
  color: #0461dd;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare {
  color: #e65678;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-github {
  color: #24292d;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads {
  color: #382110;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-google {
  color: #ea4434;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-instagram {
  color: #f00075;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm {
  color: #e21b24;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin {
  color: #0d66c2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon {
  color: #3288d4;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-medium {
  color: #02ab6c;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-meetup {
  color: #f6405f;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-patreon {
  color: #ff424d;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest {
  color: #e60122;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-pocket {
  color: #ef4155;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-reddit {
  color: #fe4500;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-skype {
  color: #0478d7;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat {
  color: #fff;
  stroke: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud {
  color: #ff5600;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-spotify {
  color: #1bd760;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-telegram {
  color: #2aabee;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok {
  color: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr {
  color: #011835;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-twitch {
  color: #6440a4;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-twitter {
  color: #1da1f2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo {
  color: #1eb7ea;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-vk {
  color: #4680c2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress {
  color: #3499cd;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-yelp {
  color: #d32422;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-youtube {
  color: red;
}

.wp-block-social-links.is-style-pill-shape .wp-social-link {
  width: auto;
}

.wp-block-social-links.is-style-pill-shape .wp-social-link a {
  padding-left: .66667em;
  padding-right: .66667em;
}

.wp-block-spacer {
  clear: both;
}

.wp-block-tag-cloud.aligncenter {
  text-align: center;
}

.wp-block-tag-cloud.alignfull {
  padding-left: 1em;
  padding-right: 1em;
}

.wp-block-tag-cloud a {
  display: inline-block;
  margin-right: 5px;
}

.wp-block-tag-cloud span {
  display: inline-block;
  margin-left: 5px;
  text-decoration: none;
}

.wp-block-tag-cloud.is-style-outline {
  display: flex;
  flex-wrap: wrap;
  gap: 1ch;
}

.wp-block-tag-cloud.is-style-outline a {
  border: 1px solid;
  font-size: unset !important;
  margin-right: 0;
  padding: 1ch 2ch;
  text-decoration: none !important;
}

.wp-block-table {
  margin: 0 0 1em;
  overflow-x: auto;
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table .has-fixed-layout {
  table-layout: fixed;
  width: 100%;
}

.wp-block-table .has-fixed-layout td,
.wp-block-table .has-fixed-layout th {
  word-break: break-word;
}

.wp-block-table.aligncenter,
.wp-block-table.alignleft,
.wp-block-table.alignright {
  display: table;
  width: auto;
}

.wp-block-table.aligncenter td,
.wp-block-table.aligncenter th,
.wp-block-table.alignleft td,
.wp-block-table.alignleft th,
.wp-block-table.alignright td,
.wp-block-table.alignright th {
  word-break: break-word;
}

.wp-block-table .has-subtle-light-gray-background-color {
  background-color: #f3f4f5;
}

.wp-block-table .has-subtle-pale-green-background-color {
  background-color: #e9fbe5;
}

.wp-block-table .has-subtle-pale-blue-background-color {
  background-color: #e7f5fe;
}

.wp-block-table .has-subtle-pale-pink-background-color {
  background-color: #fcf0ef;
}

.wp-block-table.is-style-stripes {
  border-spacing: 0;
  border-collapse: inherit;
  background-color: transparent;
  border-bottom: 1px solid #f0f0f0;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: #f0f0f0;
}

.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) {
  background-color: #f3f4f5;
}

.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) {
  background-color: #e9fbe5;
}

.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) {
  background-color: #e7f5fe;
}

.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) {
  background-color: #fcf0ef;
}

.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
  border-color: transparent;
}

.wp-block-table .has-border-color > *,
.wp-block-table .has-border-color td,
.wp-block-table .has-border-color th,
.wp-block-table .has-border-color tr {
  border-color: inherit;
}

.wp-block-table table[style*=border-style] > *,
.wp-block-table table[style*=border-style] td,
.wp-block-table table[style*=border-style] th,
.wp-block-table table[style*=border-style] tr {
  border-style: inherit;
}

.wp-block-table table[style*=border-width] > *,
.wp-block-table table[style*=border-width] td,
.wp-block-table table[style*=border-width] th,
.wp-block-table table[style*=border-width] tr {
  border-width: inherit;
  border-style: inherit;
}

.wp-block-text-columns,
.wp-block-text-columns.aligncenter {
  display: flex;
}

.wp-block-text-columns .wp-block-column {
  margin: 0 1em;
  padding: 0;
}

.wp-block-text-columns .wp-block-column:first-child {
  margin-left: 0;
}

.wp-block-text-columns .wp-block-column:last-child {
  margin-right: 0;
}

.wp-block-text-columns.columns-2 .wp-block-column {
  width: 50%;
}

.wp-block-text-columns.columns-3 .wp-block-column {
  width: 33.33333%;
}

.wp-block-text-columns.columns-4 .wp-block-column {
  width: 25%;
}

pre.wp-block-verse {
  font-family: inherit;
  overflow: auto;
  white-space: pre-wrap;
}

.wp-block-video {
  margin: 0 0 1em;
}

.wp-block-video video {
  width: 100%;
}

@supports (position: sticky) {
  .wp-block-video [poster] {
    -o-object-fit: cover;
    object-fit: cover;
  }
}

.wp-block-video.aligncenter {
  text-align: center;
}

.wp-block-video figcaption {
  margin-top: .5em;
  margin-bottom: 1em;
}

:root {
  --wp--preset--font-size--normal: 16px;
  --wp--preset--font-size--huge: 42px;
}

:root .has-very-light-gray-background-color {
  background-color: #eee;
}

:root .has-very-dark-gray-background-color {
  background-color: #313131;
}

:root .has-very-light-gray-color {
  color: #eee;
}

:root .has-very-dark-gray-color {
  color: #313131;
}

:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
  background: linear-gradient(135deg, #00d084, #0693e3);
}

:root .has-purple-crush-gradient-background {
  background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe);
}

:root .has-hazy-dawn-gradient-background {
  background: linear-gradient(135deg, #faaca8, #dad0ec);
}

:root .has-subdued-olive-gradient-background {
  background: linear-gradient(135deg, #fafae1, #67a671);
}

:root .has-atomic-cream-gradient-background {
  background: linear-gradient(135deg, #fdd79a, #004a59);
}

:root .has-nightshade-gradient-background {
  background: linear-gradient(135deg, #330968, #31cdcf);
}

:root .has-midnight-gradient-background {
  background: linear-gradient(135deg, #020381, #2874fc);
}

.has-regular-font-size {
  font-size: 1em;
}

.has-larger-font-size {
  font-size: 2.625em;
}

.has-normal-font-size {
  font-size: var(--wp--preset--font-size--normal);
}

.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge);
}

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

.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

#end-resizable-editor-section {
  display: none;
}

.aligncenter {
  clear: both;
}

.items-justified-left {
  justify-content: flex-start;
}

.items-justified-center {
  justify-content: center;
}

.items-justified-right {
  justify-content: flex-end;
}

.items-justified-space-between {
  justify-content: space-between;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #ddd;
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

html :where(.has-border-color),
html :where([style*=border-width]) {
  border-style: solid;
}

html :where(img[class*=wp-image-]) {
  height: auto;
  max-width: 100%;
}

.wp-block-image {
  overflow: hidden;
}

/* ギャラリー */
.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 1023px) {
  .wp-block-gallery {
    justify-content: space-between;
  }
}

.wp-block-gallery > *:not(.blocks-gallery-caption) {
  position: relative;
  width: calc((100% / 3) - 15px);
}

@media screen and (max-width: 1023px) {
  .wp-block-gallery > *:not(.blocks-gallery-caption) {
    width: calc((100% / 2) - 5px);
  }
}

.wp-block-gallery > *:not(.blocks-gallery-caption)::before {
  content: '';
  display: block;
  padding-bottom: 100%;
}

.wp-block-gallery > *:not(.blocks-gallery-caption) img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  max-height: inherit;
  object-fit: cover;
  z-index: -1;
}

.wp-block-gallery > *:not(.blocks-gallery-caption) figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3) 70%, transparent);
  color: #fff;
  padding: 5px 10px;
}

.wp-block-gallery .blocks-gallery-caption {
  display: block;
  width: 100%;
  align-self: flex-start;
}

/* 画像角丸 */
.is-style-circle-mask img,
.is-style-rounded img {
  border-radius: 9999px;
}

/* メディアとテキスト・モバイルでは縦に並べる */
.wp-block-media-text {
  direction: ltr;
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto;
}

.wp-block-media-text__media {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.wp-block-media-text__content {
  direction: ltr;
  grid-column: 2;
  grid-row: 1;
  padding: 0 8%;
  word-break: break-word;
}

.wp-block-media-text.is-stacked-on-mobile {
  grid-template-columns: 100% !important;
}

.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
  grid-column: 1;
  grid-row: 1;
}

.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
  grid-column: 1;
  grid-row: 2;
}

/* ボタン */
.wp-block-button__link {
  position: relative;
  display: block;
  background: #e21318;
  color: #fff;
  padding: 10px 20px;
  border-radius: 100px;
}

/* 区切り線 */
.wp-block-separator.is-style-dots {
  background: none !important;
  border: none;
  text-align: center;
  line-height: 1;
  height: auto;
}

.wp-block-separator.is-style-dots:before {
  content: "···";
  color: currentColor;
  font-size: 1.5em;
  letter-spacing: 2em;
  padding-left: 2em;
  font-family: serif;
}

/* テーブル */
.wp-block-table.is-style-regular {
  border-top: 1px solid #c5c5c5;
  border-left: 1px solid #c5c5c5;
}

.wp-block-table.is-style-regular th, .wp-block-table.is-style-regular td {
  border-bottom: 1px solid #c5c5c5;
  border-right: 1px solid #c5c5c5;
}

.wp-block-table.is-style-regular th {
  background: #F3F3F3;
}

.wp-block-table.is-style-stripes table {
  border: 1px solid #c5c5c5;
}

/*-------------------------
  編集者がつける装飾
-------------------------*/
/* 色 */
/* 背景色 */
p.has-background,
*.has-background {
  padding: 5px 10px;
}

.has-pale-pink-background-color {
  background-color: #f78da7;
}

.has-vivid-red-background-color {
  background-color: #cf2e2e;
}

.has-luminous-vivid-orange-background-color {
  background-color: #ff6900;
}

.has-luminous-vivid-amber-background-color {
  background-color: #fcb900;
}

.has-light-green-cyan-background-color {
  background-color: #7bdcb5;
}

.has-vivid-green-cyan-background-color {
  background-color: #00d084;
}

.has-pale-cyan-blue-background-color {
  background-color: #8ed1fc;
}

.has-vivid-cyan-blue-background-color {
  background-color: #0693e3;
}

.has-vivid-purple-background-color {
  background-color: #9b51e0;
}

.has-white-background-color {
  background-color: #fff;
}

.has-very-light-gray-background-color {
  background-color: #eee;
}

.has-cyan-bluish-gray-background-color {
  background-color: #abb8c3;
}

.has-very-dark-gray-background-color {
  background-color: #313131;
}

.has-black-background-color {
  background-color: #000;
}

/* 文字色 */
.has-pale-pink-color {
  color: #f78da7;
}

.has-vivid-red-color {
  color: #cf2e2e;
}

.has-luminous-vivid-orange-color {
  color: #ff6900;
}

.has-luminous-vivid-amber-color {
  color: #fcb900;
}

.has-light-green-cyan-color {
  color: #7bdcb5;
}

.has-vivid-green-cyan-color {
  color: #00d084;
}

.has-pale-cyan-blue-color {
  color: #8ed1fc;
}

.has-vivid-cyan-blue-color {
  color: #0693e3;
}

.has-vivid-purple-color {
  color: #9b51e0;
}

.has-white-color {
  color: #fff;
}

.has-very-light-gray-color {
  color: #eee;
}

.has-cyan-bluish-gray-color {
  color: #abb8c3;
}

.has-very-dark-gray-color {
  color: #313131;
}

.has-black-color {
  color: #000;
}

/* グラデーション */
.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
  background: linear-gradient(135deg, #0693e3, #9b51e0);
}

.has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
  background: linear-gradient(135deg, #00d084, #0693e3);
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
  background: linear-gradient(135deg, #7adcb4, #00d082);
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
  background: linear-gradient(135deg, #fcb900, #ff6900);
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
  background: linear-gradient(135deg, #ff6900, #cf2e2e);
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
  background: linear-gradient(135deg, #eee, #a9b8c3);
}

.has-cool-to-warm-spectrum-gradient-background {
  background: linear-gradient(135deg, #4aeadc, #9778d1 20%, #cf2aba 40%, #ee2c82 60%, #fb6962 80%, #fef84c);
}

.has-blush-light-purple-gradient-background {
  background: linear-gradient(135deg, #ffceec, #9896f0);
}

.has-blush-bordeaux-gradient-background {
  background: linear-gradient(135deg, #fecda5, #fe2d2d 50%, #6b003e);
}

.has-purple-crush-gradient-background {
  background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe);
}

.has-luminous-dusk-gradient-background {
  background: linear-gradient(135deg, #ffcb70, #c751c0 50%, #4158d0);
}

.has-hazy-dawn-gradient-background {
  background: linear-gradient(135deg, #faaca8, #dad0ec);
}

.has-pale-ocean-gradient-background {
  background: linear-gradient(135deg, #fff5cb, #b6e3d4 50%, #33a7b5);
}

.has-electric-grass-gradient-background {
  background: linear-gradient(135deg, #caf880, #71ce7e);
}

.has-subdued-olive-gradient-background {
  background: linear-gradient(135deg, #fafae1, #67a671);
}

.has-atomic-cream-gradient-background {
  background: linear-gradient(135deg, #fdd79a, #004a59);
}

.has-nightshade-gradient-background {
  background: linear-gradient(135deg, #330968, #31cdcf);
}

.has-midnight-gradient-background {
  background: linear-gradient(135deg, #020381, #2874fc);
}

/* 文字サイズ */
.has-small-font-size {
  font-size: 80%;
}

.has-normal-font-size,
.has-regular-font-size {
  font-size: 100%;
}

.has-medium-font-size {
  font-size: 130%;
}

.has-large-font-size {
  font-size: 160%;
}

.has-x-large-font-size,
.has-huge-font-size,
.has-larger-font-size {
  font-size: 200%;
}

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

.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

#end-resizable-editor-section {
  display: none;
}

.aligncenter {
  clear: both;
}

.items-justified-left {
  justify-content: flex-start;
}

.items-justified-center {
  justify-content: center;
}

.items-justified-right {
  justify-content: flex-end;
}

.items-justified-space-between {
  justify-content: space-between;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #ddd;
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 100%;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/*-------------------------
  WP用のページャー
-------------------------*/
#list_pager {
  overflow: hidden;
}

.pager_wrap {
  margin: 80px auto 0;
}

@media screen and (max-width: 1023px) {
  .pager_wrap {
    margin-top: 60px;
  }
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  font-weight: 500;
  font-size: 1.6rem;
}

.wp-pagenavi > * {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid #DBDBDB;
  border-radius: 100%;
  margin: 0 15px 0 0;
}

@media screen and (max-width: 1023px) {
  .wp-pagenavi > * {
    margin: 0 10px 0 0;
  }
}

.wp-pagenavi > *[class$="postslink"] {
  position: relative;
  width: 34px;
  height: 34px;
  font-size: 0;
  line-height: 0;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.56%22%20height%3D%2221.467%22%20viewBox%3D%220%200%2013.56%2021.467%22%3E%3Cpath%20d%3D%22M557.855%2C2078.969a2%2C2%2C0%2C0%2C1-1.413-3.412l7.322-7.322-7.322-7.322a2%2C2%2C0%2C1%2C1%2C2.827-2.826l10.148%2C10.148-10.148%2C10.148A1.993%2C1.993%2C0%2C0%2C1%2C557.855%2C2078.969Z%22%20transform%3D%22translate(-555.856%20-2057.502)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 54% center #000;
  background-size: 9px auto;
  border: none;
}

.wp-pagenavi .previouspostslink {
  transform: rotate(180deg);
  margin: 3px 47px 0 0;
}

@media screen and (max-width: 1023px) {
  .wp-pagenavi .previouspostslink {
    margin: 3px 27px 0 0;
  }
}

.wp-pagenavi .nextpostslink {
  margin: 3px 0 0 32px;
}

@media screen and (max-width: 1023px) {
  .wp-pagenavi .nextpostslink {
    margin: 3px 0 0 22px;
  }
}

.wp-pagenavi .current {
  background-color: #000;
  border-color: #000;
  color: #fff;
}

.wp-pagenavi a {
  transition: all 0.1s ease-in;
}

.wp-pagenavi a:hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

/*非表示*/
.wp-pagenavi .first, .wp-pagenavi .last,
.wp-pagenavi .pages,
.wp-pagenavi .extend,
.wp-pagenavi .extend + .page {
  display: none;
}

.post_article {
  padding: 0 40px 100px;
  border-bottom: 1px solid #dbdbdb;
}

@media print, screen and (max-width: 1023px) {
  .post_article {
    padding: 0 0 40px;
  }
}

.post_article .innerWrap{
  max-width: 1000px;
}

.post_article .post_head {
  overflow: hidden;
}

.post_article .post_date {
  color: #888;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 500;
  padding: 7px 0;
  margin: 0 19px 5px 0;
}

.post_article .post_title {
  clear: both;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  background: none;
  margin-bottom: 0;
}
@media screen and (max-width: 1023px) {
  .post_article .post_title {
    font-size: 2.4rem;
  }
}

.post_article .post_category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 140px;
  color: #000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  background: #f0ff00;
  padding: 3px 10px;
}

.post_article .post_sub_category {
  clear: left;
  overflow: hidden;
  margin: 15px 0 11px 0;
}

@media print, screen and (min-width: 1023px) {
  .post_article .post_sub_category {
    display: flex;
    flex-wrap: wrap;
  }
}

.post_article .post_sub_category * {
  color: #555;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
}

.post_article .post_sub_category > div {
  display: flex;
  margin: 0 40px 5px .item_faq0;
}

.post_article .post_sub_category > div:last-child {
  margin-right: 0;
}

.post_article .post_sub_category dt {
  position: relative;
  flex: 1 0 auto;
}

@media screen and (max-width: 1023px) {
  .post_article .post_sub_category dt {
    min-width: 5em;
    text-align: justify;
    text-align-last: justify;
    padding-right: 1em;
  }
}

.post_article .post_sub_category dt::after {
  content: '：';
}

@media screen and (max-width: 1023px) {
  .post_article .post_sub_category dt::after {
    position: absolute;
    top: 0;
    right: 0;
  }
}

.post_article .post_sub_category dd {
  width: 100%;
}

.post_article .post_sub_category dd ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -6px 0;
}

.post_article .post_sub_category dd li {
  display: inline-block;
  margin: 0 0 6px 0;
}

.post_article .post_sub_category dd li::after {
  content: ',';
}

.post_article .post_sub_category dd li:last-child::after {
  display: none;
}

.post_article .post_main {
  overflow: hidden;
  border-top: 1px solid #888;
  border-bottom: 1px solid #888;
  padding: 24px 0 40px;
  margin: 24px 0 40px;
}


.post_article .gallery {
  /*
		> *:first-child:nth-last-child(2),
		> *:first-child:nth-last-child(2) ~ *,
		> *:first-child:nth-last-child(4),
		> *:first-child:nth-last-child(4) ~ * {
			@include minW($minW: $sp) {
				width: 47.969%;
			}
		}
		*/
}

@media print, screen and (min-width: 561px) {
  .post_article .gallery {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px 30px 0;
  }
}

@media screen and (max-width: 1023px) {
  .post_article .gallery {
    margin: 0 0 30px;
  }
}

.post_article .gallery > * {
  margin-bottom: 10px;
}

@media print, screen and (min-width: 561px) {
  .post_article .gallery > * {
    max-width: 300px;
    width: 47.29%;
    width: calc((100% / 2) - 15px);
    margin-right: 15px;
  }
}

@media print, screen and (min-width: 1023px) {
  .post_article .gallery > * {
    width: 31.795%;
    width: calc((100% / 3) - 15px);
  }
}

@media screen and (max-width: 560px) {
  .post_article .gallery > *:first-child {
    margin-top: 0;
  }
}

@media print, screen and (min-width: 1023px) {
  .post_article .gallery > *:only-of-type {
    /*
				position: relative;
				width: 100%;
				margin-left: 0;
				margin-right: 0;
				left: 50%;
				transform: translate(-50% , 0);
				*/
  }
}

.post_article .gallery figure {
  position: relative;
  background: #fff;
}

.post_article .gallery figure::before {
  content: '';
  display: block;
  padding-bottom: 66.765%;
}

.post_article .gallery figure img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%;
  width: auto;
  margin: auto;
}

.post_article .table01 {
  margin-bottom: 36px;
}

@media screen and (max-width: 560px) {
  .post_article .table01 {
    margin-bottom: 30px;
  }
}

.post_article .table01 table {
  width: 100%;
}

.post_article .sns_share {
  background: #fff;
  padding: 15px 30px;
  margin: 60px 0 0;
}

@media screen and (max-width: 1023px) {
  .post_article .sns_share {
    margin-top: 40px;
    padding: 15px 20px;
  }
}

.post_article .sns_share ul {
  display: flex;
  justify-content: center;
}

.post_article .sns_share li {
  margin: 0 25px;
}

@media screen and (max-width: 1023px) {
  .post_article .sns_share li {
    margin: 0 15px;
  }
}

.post_article .sns_share a {
  display: inline-block;
  transition: all 0.1s ease-in;
}

.post_article .sns_share a:hover {
  opacity: .8;
  transition: all 0.1s ease-in;
}

.post_article .sns_share img {
  width: 40px;
}

.post_article .btn01 {
  max-width: 210px;
  margin: 0 auto;
}

.post_article .btn01 .btn_inner {
  min-height: 45px;
  font-size: 1.6rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■form
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*--------------------------------------------------
  form reset
--------------------------------------------------*/
.form {
  /*
	select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	select::-ms-expand {
		display: none;
	}
	*/
}

.form input,
.form select,
.form textarea,
.form button {
  font-weight: 500;
}

@media print, screen and (max-width: 1023px) {
  .form input,
  .form select,
  .form textarea,
  .form button {
    font-weight: normal;
  }
}

@media all and (-ms-high-contrast: none) {
  .form input,
  .form select,
  .form textarea,
  .form button {
    font-weight: 400;
  }
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="email"],
.form input[type="password"],
.form input[type="number"],
.form input[type="url"],
.form input[type="date"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline-color: #e21318;
  width: 100%;
  border: 1px solid #8B8B8B;
  border-radius: 0;
  height: 50px;
  padding: 10px 20px;
  background: #fff;
}

@media print, screen and (max-width: 1023px) {
  .form input[type="text"],
  .form input[type="tel"],
  .form input[type="email"],
  .form input[type="password"],
  .form input[type="number"],
  .form input[type="url"],
  .form input[type="date"] {
    height: 42px;
    padding: 5px 10px;
  }
}

.form input[type=date]::-webkit-date-and-time-value,
.form input[type=month]::-webkit-date-and-time-value {
  text-align: left;
}

.form select {
  outline-color: #e21318;
  width: 100%;
  border: 1px solid #8B8B8B;
  border-radius: 0;
  height: 50px;
  padding: 10px 20px;
  background: transparent;
  padding-right: 0;
}

@media print, screen and (max-width: 1023px) {
  .form select {
    height: 42px;
    padding: 5px 10px;
  }
}

.form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline-color: #e21318;
  width: 100%;
  border: 1px solid #8B8B8B;
  border-radius: 0;
  height: 50px;
  padding: 10px 20px;
  display: block;
  resize: none;
  resize: both;
  height: 178px;
  background: #fff;
}

@media print, screen and (max-width: 1023px) {
  .form textarea {
    height: 42px;
    padding: 5px 10px;
  }
}

@media print, screen and (max-width: 1023px) {
  .form textarea {
    height: 126px;
  }
}

.form button,
.form input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  text-shadow: none;
  box-shadow: none;
}

.form button:not(.btn_inner):hover,
.form input[type="submit"]:hover {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.form label {
  cursor: pointer;
}

.form label span {
  position: relative;
  padding: 0 0 0 22px;
}

.form label span:before, .form label span:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
}

.form label span:before {
  bottom: 0;
  left: 0;
  width: 16px;
  height: 16px;
  background: transparent;
  border: 1px solid #8B8B8B;
  background: #fff;
  -webkit-transition: all 0.25s linear;
  transition: all 0.25s linear;
  margin: auto 0;
}

.form label span:after {
  opacity: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}

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

.form input[type="radio"]:checked + span:after,
.form input[type="radio"]:checked + input + span:after,
.form input[type="checkbox"]:checked + span:after,
.form input[type="checkbox"]:checked + input + span:after {
  opacity: 1;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}

.form label input[type="radio"] + span:before,
.form label input[type="radio"] + input + span:before,
.form label input[type="radio"] + span:after,
.form label input[type="radio"] + input + span:after {
  border-radius: 50%;
}

.form label input[type="radio"] + span:after,
.form label input[type="radio"] + input + span:after {
  left: 4px;
  width: 8px;
  height: 8px;
  background: #e21318;
}

.form label input[type="checkbox"] + span:after,
.form label input[type="checkbox"] + input + span:after {
  top: 0;
  bottom: 2px;
  left: 5px;
  width: 6px;
  height: 10px;
  background: none;
  border-bottom: 2px solid #e21318;
  border-right: 2px solid #e21318;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

@media print, screen and (max-width: 1023px) {
  .custombtn label span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 40px;
    padding: 0;
  }
  .custombtn label span:before, .custombtn label span:after {
    z-index: -1;
  }
  .custombtn label span:after {
    display: none;
  }
  .custombtn label input[type="radio"] + span:before,
  .custombtn label input[type="radio"] + input + span:before,
  .custombtn label input[type="radio"] + span:after,
  .custombtn label input[type="radio"] + input + span:after,
  .custombtn label input[type="checkbox"] + span:before,
  .custombtn label input[type="checkbox"] + input + span:before,
  .custombtn label input[type="checkbox"] + span:after,
  .custombtn label input[type="checkbox"] + input + span:after {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    height: auto;
    border-radius: 5px;
  }
  .custombtn label input[type="checkbox"] + span:after,
  .custombtn label input[type="checkbox"] + input + span:after {
    border: none;
    background: #ccc;
    -webkit-transform: none;
    transform: none;
  }
  .custombtn label input[type="radio"]:checked + span,
  .custombtn label input[type="radio"]:checked + input + span,
  .custombtn label input[type="checkbox"]:checked + input + span,
  .custombtn label input[type="checkbox"]:checked + span {
    color: #fff;
  }
  .custombtn label input[type="checkbox"]:checked + input + span:before,
  .custombtn label input[type="checkbox"]:checked + span:before {
    background-color: #6e6e6e;
  }
  .custombtn label input[type="radio"]:checked + span:before,
  .custombtn label input[type="radio"]:checked + input + span:before,
  .custombtn label input[type="checkbox"]:checked + span:before,
  .custombtn label input[type="checkbox"]:checked + input + span:before {
    background-color: #f00;
  }
}

/*--------------------------------------------------
  プレースホルダー
--------------------------------------------------*/
:placeholder-shown {
  color: #DBDBDB !important;
}

::-webkit-input-placeholder {
  color: #DBDBDB !important;
}

:-moz-placeholder {
  opacity: 1;
  color: #DBDBDB !important;
}

::-moz-placeholder {
  opacity: 1;
  color: #DBDBDB !important;
}

:-ms-input-placeholder {
  color: #DBDBDB !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■↓↓↓お問い合わせフォーム　各サイトごとに自由編集↓↓↓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*--------------------------------------------------
  メールフォームプロ
--------------------------------------------------*/
/* エラー */
div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin: 10px 0px 0px 0px;
  color: #F00;
  font-size: 1.2rem;
  line-height: normal;
  background-position: 0px 1px;
}

div.mfp_err:empty {
  display: none;
}

.mfp_parent_error {
  border: solid 2px #F00;
}

.problem {
  background-color: #FCC;
}

div#mfp_error {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
}

/* ボタン */
.mfp_buttons {
  font-size: 0;
  line-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* テーブル */
#mfp_confirm_table tr {
  background: none;
}

@media print, screen and (max-width: 1023px) {
  #mfp_confirm_table tr:last-child td {
    padding-bottom: 0;
  }
}

#mfp_confirm_table th, #mfp_confirm_table td {
  text-align: left;
  vertical-align: top;
  /*
		line-height: 1.8;
		padding: 20px 0;
		*/
}

@media print, screen and (max-width: 1023px) {
  #mfp_confirm_table th, #mfp_confirm_table td {
    display: block;
    width: 100%;
  }
}

#mfp_confirm_table th {
  /*
		width: 230px;
		@include maxW($maxW: $sp) {
			padding: 0 0 5px;
		}
		*/
}

#mfp_confirm_table td {
  /*
		@include maxW($maxW: $sp) {
			padding: 0 0 30px;
		}
		*/
}

/*--------------------------------------------------
	入力画面
--------------------------------------------------*/
#sec_contact_form .list_input ul + ul {
  margin-top: 15px;
}

#sec_contact_form .list_input li {
  margin: 0 20px 10px 0;
}

#sec_contact_form #mfp_phase_confirm h4 {
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 30px;
}

@media print, screen and (max-width: 1023px) {
  #sec_contact_form #mfp_phase_confirm h4 {
    margin: 0 0 50px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■INDEX
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.page-toppage #header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: none;
  border: none;
}
.page-toppage #header .innerWrap{
  width: 1920px;
  margin: 0 auto;
}

.page-toppage #header #header_nav {
  margin-left: auto;
}

.page-toppage #linkset {
  display: none;
}

/*-------------------------
  mainvisual
-------------------------*/
/* 基本設定 */
.mv {
  background-color: #ffffff;
  /* PC用パディング */
  padding: 60px 0;
  margin: 0 40px;
}

.mv-container {
  /* コンテンツ幅1080px + 左右余白40px*2 = 1160px */
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

.mv-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

/* 左カラム */
.mv-left {
  width: 584px;
}

.mv-title-img {
  margin-bottom: 48px;
}

.mv-title-img img {
  width: 100%;
  max-width: 578px;
  height: auto;
  display: block;
}

.mv-text {
  font-size: 19px;
  font-weight: 500;
  line-height: 36px;
  margin: 0;
  color: #333;
}

/* 右カラム */
.mv-right {
  width: 420px;
  position: relative;
}

.mv-main-img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- SP版 (1080px以下で切り替え) --- */
@media screen and (max-width: 1080px) {
  .mv {
    padding: 28px 20px 20px;
    margin: 0 20px;
  }

  .mv-container {
    padding: 0;
  }

  .mv-flex {
    flex-direction: column; /* 縦並び */
    align-items: center;
  }

  .mv-left, 
  .mv-right {
    width: 100%; /* 幅をいっぱいに */
  }

  .mv-title-img {
    max-width: 270px;
    margin: 0 auto 28px;
    padding: 0 20px;
  }
  .mv-title-img img {
    margin: 0 auto;
  }
  .mv-text {
    font-size: 16px;
    line-height: 28px;
    text-align: left;
    margin-bottom: 20px;
  }
  .mv-right {
    text-align: center;
  }
  .mv-main-img {
    max-width: 270px;
    margin: 0 auto 22px;
    padding: 0 20px;

  }
}


.period-box {
  width: 458px;
  border: 5px solid #D93751;
  background-color: #fff;
  text-align: center;
  box-sizing: border-box;
  position: absolute;
  right: -20px;
  bottom: -8px;
  padding: 0px 0 15px; /* 内側の余白調整 */

}

/* 申請期間ラベル */
.period-label {
  width: 100%;
  background-color: #D93751;
  color: #ffffff;
  font-size: 28px;
  font-weight: bold;
  padding: 0 30px 7px;
  line-height: 1.3;
  white-space: nowrap;
}

/* 日時テキスト */
.period-date {
  font-size: 35px;
  font-weight: 900;
  color: #D93751;
  margin: 10px 0 0 0;
  line-height: 1.2;
}

/* 曜日とひらがなのサイズ調整 (75%) */
.period-date span {
  font-size: 0.70em;
  font-weight: bold;
}

/* --- SP版 --- */
@media screen and (max-width: 1023px) {
  .period-box {
    width: 100%;
    padding: 0 0 15px;
    position: relative;
    right: auto;
    bottom: auto;
  }

  .period-label {
    font-size: 18px;
    padding: 0 20px 5px;
  }

  .period-date {
    font-size: 22px;
    margin-top: 10px;
  }
}




#top-mainvisual .slide_wrap {
  overflow: inherit;
  position: relative;
  z-index: 0;
  padding: 31px 0;
  transform: translate(0, -30px);
}

@media screen and (max-width: 1023px) {
  #top-mainvisual .slide_wrap {
    padding: 0 0 10px;
    transform: translate(0, -10px);
  }
}

#top-mainvisual .swiper-container {
  overflow: inherit;
}

#top-mainvisual .swiper-slide {
  max-width: 390px;
  height: auto;
}

@media print, screen and (max-width: 1023px) {
  #top-mainvisual .swiper-slide {
    max-width: 330px;
  }
}

#top-mainvisual .swiper-slide:only-of-type {
  margin: 0 auto;
}

#top-mainvisual .swiper-navigation > *[class^="swiper-button"] {
  background-color: #000;
}

#top-mainvisual .list_card {
  margin-top: 0;
}

@media print, screen and (min-width: 1023px) {
  #top-mainvisual .list_card {
    padding: 0 0 30px;
  }
}

#top-mainvisual .list_item {
  height: 100%;
}


/*-------------------------
  ボタン
-------------------------*/
/* コンテナ設定 */
.btn-section {
  padding: 60px 0 80px;
}

.btn-container {
  display: flex;
  justify-content: center;
  gap: 48px;
  max-width: 1080px;
  margin: 0 auto;
}

/* ボタン基本スタイル (PC) */
.btn-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 328px;
  height: 300px;
  padding-top: 36px;
  background-color: #fff;
  border-radius: 8px;
  text-decoration: none;
  box-sizing: border-box;
  transition: opacity 0.3s;
}

/* 各カラー設定 */
.type-green { border: 5px solid #00683E; color: #00683E; }
.type-blue  { border: 5px solid #31A2D2; color: #31A2D2; }
.type-red   { border: 5px solid #D93751; color: #D93751; }

@media screen and (min-width: 1080px) {
  .type-green .btn-text,
  .type-red .btn-text{
    padding-top: 25px;
  }
}

/* 非公開（グレーアウト）設定 */
.btn-item.is-disabled {
/*  border-color: #DBDBDB !important;
  color: #DBDBDB !important;*/
  background-color: #DBDBDB;
  pointer-events: none; /* クリック不可 */
  cursor: default;
}

/* アイコン */
.btn-icon {
  width: 154px;
  height: 100px;
  margin-bottom: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-icon img {
  max-width: 100%;
  height: auto;
}

.is-disabled .btn-icon img {
  /*filter: grayscale(1) opacity(0.5);*/
  filter: grayscale(0.2) opacity(0.9);
}

/* テキスト */
.btn-text-wrap {
  text-align: center;
}
.btn-text {
  display: block;
  font-size: 38px;
  line-height: 48px;
  font-weight: 500;
}
.btn-note {
  display: block;
  font-size: 26px;
  font-weight: 500;
  color: #D93751;
  margin-top: 5px;
}
/* グレーアウト時 */
/*.is-disabled .btn-icon { margin-bottom: 12px; }*/
.is-disabled .btn-arrow { display: none; }

/* 右下矢印 */
.btn-arrow {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 36px;
  height: 36px;
}
.btn-arrow img {
  width: 100%;
  height: 100%;
}
.is-disabled .btn-arrow {
  filter: grayscale(1) opacity(0.5);
}

/* ホバー時の共通設定 */
.btn-item:not(.is-disabled):hover {
  transition: background-color 0.3s ease;
}

.type-green:not(.is-disabled):hover {
  background-color: #f0f7f4;
}

.type-blue:not(.is-disabled):hover {
  background-color: #f2f9fc;
}

.type-red:not(.is-disabled):hover {
  background-color: #fdf5f6;
}

/* 補足：矢印なども少し動かすとよりボタンらしくなります（任意） */
.btn-item:not(.is-disabled):hover .btn-arrow {
  transform: scale(1.1);
  transition: transform 0.2s ease;
}

/* ボタン本体のアニメーション */
.btn-item:not(.is-disabled) {
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.btn-item:not(.is-disabled):hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* 矢印のアニメーション */
.btn-arrow {
  transition: transform 0.3s ease;
}

.btn-item:not(.is-disabled):hover .btn-arrow {
  transform: translate(3px, 3px); /* 右下へ3px動く */
}

/* クリックした瞬間の反応（ポチッと押した感） */
.btn-item:not(.is-disabled):active {
  transform: translateY(-2px);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  transition: 0.1s;
}

/* --- SP版 --- */
@media screen and (max-width: 1080px) {
  .btn-section{
    padding: 30px 0;
  }
  .btn-container {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .btn-item {
    flex-direction: row; /* 横並び */
    width: 330px;
    height: 136px;
    padding: 0 20px;
    align-items: center;
  }

  .btn-icon {
    width: 100px;
    height: auto;
    margin-bottom: 0;
    margin-right: 15px;
  }

  .btn-arrow {
    right: 12px;
    bottom: 12px;
    width:28px;
    height: 28px;
  }
  .btn-text-wrap {
    flex: 1;
    text-align: center;
  }

  .btn-text {
    font-size: 28px; /* SPサイズ調整 */
    line-height: 1.4;
  }
  .btn-note {
    font-size: 20px;
    margin-top: 2px;
  }
}


/*-------------------------
  news
-------------------------*/
#page_toppage #news {
  margin: 0 auto 80px;
  width: 1080px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media screen and (max-width: 1023px) {
  #page_toppage #news {
    margin: 0 20px 24px;
    width: calc(100% - 40px);
  }
}

#page_toppage #news .innerWrap {
  display: flex;
  max-width: 1080px;
  background: #fff;
  border-radius: 16px;
  padding: 12px 40px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #news .innerWrap {
    display: block;
    padding: 20px 25px;
  }
}

#page_toppage #news .title {
  flex: 1 0 auto;
  font-size: 2.6rem;
  margin: 0 40px 0 0;
}

@media screen and (max-width: 1023px) {
  #page_toppage #news .title {
    text-align: center;
    padding: 0;
    margin: 0;
  }
}


.heading-with-icon {
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: 500;
  color: #333;
  margin-bottom: 30px;
}

/* アイコン部分 (PC) */
.heading-icon {
  flex-shrink: 0;      /* アイコンが潰れないように固定 */
  display: flex;
  align-items: center;
  justify-content: center;
}

#page_toppage .heading-icon{
  width: ;
}

/* テキスト部分 (PC) */
.heading-text {
  font-size: 26px;
  line-height: 1.4;
}

/* --- SP版 --- */
@media screen and (max-width: 1023px) {
  .heading-with-icon {
    gap: 10px;         /* SP時は間隔を少し狭める */
  }

  .heading-icon {
    width: 40px;
    height: 41px;
  }

  .heading-icon img{
    width: 100%;
    height: auto;
  }



  .heading-text {
    font-size: 24px;
  }
}


#page_toppage #news .btn01 {
  max-width: 180px;
  width: 100%;
  margin: 20px 0 0;
  text-align: right;
  display: flex;
  justify-content: flex-end; /* 中の要素を末尾（右）に寄せる */
}

@media screen and (max-width: 1023px) {
  #page_toppage #news .btn01 {
    margin-top: 20px;
  }
}

#page_toppage #news .btn01 .btn_inner {
  min-height: 45px;
  font-size: 1.6rem;
}



/*-------------------------
  トップページ用 about
-------------------------*/
#page_toppage #about {
  overflow: hidden;
  padding:0 0 80px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #about {
    padding: 0 30px 40px;
  }
}

#page_toppage #about .innerWrap {
  max-width: 1080px;
}

@media print, screen and (max-width: 1058px) {
  #page_toppage #about .innerWrap {
    padding: 0;
  }
}
@media screen and (max-width: 1023px) {
  #page_toppage #about .innerWrap {
    display: flex;
    flex-direction: column;
  }
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #about .img {
    float: right;
    max-width: 490px;
    width: 48%;
    margin: 0;
  }
}

@media screen and (max-width: 1023px) {
  #page_toppage #about .img {
    order: 3;
    float: none;
    width: 100%;
    margin: 30px 0 0;
  }
}

#page_toppage #about .img img {
  width: 100%;
}

@media print, screen and (max-width: 1023px) {
  #page_toppage #about .text_block{
    padding: 32px 0 0 0;
  }  
}

#page_toppage #about .hd01{
  width: auto;
  margin-left: 0;
  margin-right: 0;
}

#page_toppage #about .hd01 + p {
  font-size: 1.7rem;
  text-align: left;
  line-height: 2;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #about .hd01 + p {
    max-width: 50%;
  }
}

@media screen and (max-width: 1023px) {
  #page_toppage #about .hd01 + p {
    order: 2;
    line-height: 2;
  }
}

@media screen and (max-width: 1023px) {
  #page_toppage #about .hd01 img {
    width: 100%;
    height: auto;
    max-width: 330px;
  }
}

#page_toppage #about .btn01 {
  margin: 28px 0 0;
  max-width: 180px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #about .btn01 {
    order: 4;
    width: 100%;
    margin: 30px auto 0;
  }
}

/*---------------------
問い合わせ
----------------------*/
.contact-box {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 16px;
  padding: 40px;
  box-sizing: border-box;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

/* 事務局名 */
.contact-name {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 4px;
}

/* 電話番号エリア */
.contact-tel-wrap {
  margin-bottom: 10px;
}

.contact-tel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 56px;
  color: #D93751;
  font-weight: bold;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.05em;
}

.tel-icon {
  width: 30px; /* アイコンサイズ調整 */
  margin-right: 15px;
  margin-bottom: 15px;
}

.tel-icon img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.contact-info {
  display: flex;
  justify-content: center;
  gap: 40px;
  font-size: 19px;
  font-weight: 500;
}

.info-item span {
  font-weight: bold;
}

/* --- SP版 --- */
@media screen and (max-width: 1023px) {
  .contact-box {
    width: calc(100% - 40px);
    padding: 20px 20px 24px;
    border-radius: 16px; /* 角丸維持 */
    margin: 0 20px;
  }

  .contact-name {
    font-size: 20px;
    margin-bottom: 0;
  }

  .contact-tel {
    font-size: 36px;
  }

  .tel-icon {
    width: 20px;
    margin-right: 7px;
    margin-bottom: 4px;
  }

  .contact-info {
    flex-direction: column;
    gap: 10px;
    font-size: 15px;
  }
}





/*-------------------------
  activity
-------------------------*/
#page_toppage #activity {
  overflow: hidden;
  padding: 0 40px 80px;
  border-top: 1px solid #000;
}

@media screen and (max-width: 1023px) {
  #page_toppage #activity {
    padding: 0 0 40px;
  }
}

/*#page_toppage #activity .hd01 {
  margin-bottom: 50px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #activity .hd01 {
    margin-bottom: 30px;
  }
}*/

#page_toppage #activity .hd01 + p {
  /*display: flex;
  justify-content: center;
  text-align: left;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 20px 0;
  background-color: #d7d7d7;*/
}

/*#page_toppage #activity .hd01 h2 {
  padding: 49px 0 0 108px;
}
@media screen and (max-width: 1023px) {
  #page_toppage #activity .hd01 h2 {
    padding: 39px 0 0 84px;
  }
}*/

#page_toppage #activity .list_card {
  margin-top: 20px;
}

#page_toppage #activity .slide_wrap {
  overflow: inherit;
}

#page_toppage #activity .swiper-container {
  overflow: inherit;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #activity .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    transform: none !important;
  }
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #activity .swiper-wrapper::after {
    content: '';
    order: 1;
    max-width: 350px;
    width: 32%;
  }
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #activity .swiper-slide-duplicate {
    display: none;
  }
}

#page_toppage #activity .swiper-slide {
  height: auto;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #activity .swiper-slide {
    max-width: 350px;
    width: 32%;
    margin: 0 !important;
  }
}

@media print, screen and (max-width: 1023px) {
  #page_toppage #activity .swiper-slide {
    max-width: 280px;
  }
}

#page_toppage #activity .slide_item {
  height: 100%;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #activity .swiper-navigation_wrap {
    display: none;
  }
}

#page_toppage #activity .btn01 {
  margin: 40px auto 0;
}

/*-------------------------
  case
-------------------------*/
#page_toppage #case {
  overflow: hidden;
  padding: 0 40px 80px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #case {
    padding: 0px 24px 40px;
  }
}

#page_toppage #case .list_card {
  margin-top: 20px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #case .list_card {
    margin-top: 20px;
  }
}

#page_toppage #case .type3 .list_item a::before {
  display: block;
}

#page_toppage #case .slide_wrap {
  overflow: inherit;
}

#page_toppage #case .swiper-container {
  overflow: inherit;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #case .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    transform: none !important;
  }
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #case .swiper-wrapper::after {
    content: '';
    order: 1;
    max-width: 350px;
    width: 31%;
  }
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #case .swiper-slide-duplicate {
    display: none;
  }
}

#page_toppage #case .swiper-slide {
  height: auto;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #case .swiper-slide {
    max-width: 350px;
    width: 31%;
    margin: 0 !important;
  }
}

@media print, screen and (max-width: 1023px) {
  #page_toppage #case .swiper-slide {
    max-width: 280px;
  }
}

#page_toppage #case .slide_item {
  height: 100%;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #case .swiper-navigation_wrap {
    display: none;
  }
}

#page_toppage #case .swiper-navigation {
  margin-top: 25px;
}

#page_toppage #case .text02 {
  text-align: center;
  font-size: 2.0rem;
  font-weight: 700;
  margin: 32px 0 0;
}

@media screen and (max-width: 1023px) {
  #page_toppage #case .text02 {
    line-height: 1.9;
  }
}

@media print, screen and (min-width: 561px) {
  #page_toppage #case .text02 br.spCont {
    display: none;
  }
}

#page_toppage #case .btn01 {
  margin: 40px auto 0;
}

/*-------------------------
  event
-------------------------*/
#page_toppage #event {
  padding: 0 40px 80px;
  border-top: 1px solid #000;
}

@media screen and (max-width: 1023px) {
  #page_toppage #event {
    padding: 0 0 60px;
  }
}

#page_toppage #event .hd01 {
  margin-bottom: 20px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #event .hd01 {
    margin-bottom: 10px;
  }
}

#page_toppage #event .hd01::after {
  background-color: #fff;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #event .swiper-wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    transform: none !important;
  }
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #event .swiper-wrapper::after {
    content: '';
    order: 1;
    max-width: 330px;
    width: 31%;
  }
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #event .swiper-slide-duplicate {
    display: none;
  }
}

#page_toppage #event .swiper-slide {
  height: auto;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #event .swiper-slide {
    max-width: 330px;
    width: 31%;
    margin: 0 !important;
  }
}

@media print, screen and (max-width: 1023px) {
  #page_toppage #event .swiper-slide {
    max-width: 280px;
  }
}

#page_toppage #event .swiper-slide:only-of-type {
  margin: 0 auto;
}

#page_toppage #event .slide_item {
  height: 100%;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #event .swiper-navigation_wrap {
    display: none;
  }
}

#page_toppage #event .slide_none {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  padding: 100px 0;
}

#page_toppage #event .slide_none:only-child {
  display: block;
}

#page_toppage #event .btn_wrap {
  margin: 62px auto 0;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #event .btn_wrap {
    display: flex;
    justify-content: center;
  }
}

@media screen and (max-width: 1023px) {
  #page_toppage #event .btn_wrap {
    margin-top: 64px;
  }
}

#page_toppage #event .btn_wrap .btn01 {
  width: 100%;
  margin: 0 18px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #event .btn_wrap .btn01 {
    margin: 20px auto 0;
  }
}

@media screen and (max-width: 1023px) {
  #page_toppage #event .btn_wrap .btn01:first-child {
    margin-top: 0;
  }
}

/*#page_toppage #event .btn_wrap .btn_inner {
  border: 1px solid #fff;
}*/

/*-------------------------
  facebook
-------------------------*/
#page_toppage #facebook {
  overflow: hidden;
  display: flex;
  line-height: 1.8;
  padding: 0 40px;
  background-color: #EBF9FC;
}

@media screen and (max-width: 1023px) {
  #page_toppage #facebook {
    padding: 24px 32px 48px;
  }
}

#page_toppage #facebook .innerWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 370px;
  padding: 60px 0;
}

@media screen and (max-width: 1023px) {
  #page_toppage #facebook .innerWrap {
    padding: 0;
  }
}

#page_toppage #facebook .innerWrap > div {
  width: 100%;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #facebook .innerWrap > div {
    min-width: 280px;
    padding-right: 15px;
  }
}

#page_toppage #facebook .hd {
  color: #138EBD;
  font-size: 3.6rem;
  margin: 0 0 24px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #facebook .hd {
    text-align: center;
    margin-bottom: 20px;
  }
  #page_toppage #facebook .hd img{
    width: 100%;
    height: auto;
    max-width: 260px;
  }
}

#page_toppage #facebook .btn01 {
  max-width: 240px;
  margin-top: 40px;
}

@media screen and (max-width: 1023px) {
  #page_toppage #facebook .btn01 {
    margin: 0 auto;
  }
}

#page_toppage #facebook .btn01 .btn_inner {
  color: #fff;
  font-size: 18px;
  background-color: #1877F2;
  border: none;
}

#page_toppage #facebook .btn01 span::after {
  content: none;
}

#page_toppage #facebook .img.pcCont {
  flex: 1 0 auto;
  display: block;
  max-width: 514px;
  width: 62%;
}

@media screen and (max-width: 1023px) {
  #page_toppage #facebook .img.pcCont {
    display: none;
  }
}

#page_toppage #facebook .img.pcCont img {
  width: 100%;
}

#page_toppage #facebook .img.spCont {
  text-align: center;
  margin: 27px -5px 30px;
}

@media print, screen and (min-width: 1023px) {
  #page_toppage #facebook .img.spCont {
    display: none;
  }
}

#page_toppage #facebook .img.spCont img {
  max-width: 375px;
  width: 100%;
  margin: 0 auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■activity
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* rgba(#000 , .15) */
/* rgba(#000 , .10) */
/*
body {
	padding-bottom: 500px;
	min-width: 3000px;
	@include maxW($maxW: $sp) {
		min-width: 375px;
	}
}
*/
/*-------------------------
  一覧
-------------------------*/
.search {
  margin: 40px 0 70px;
}

@media print, screen and (max-width: 1023px) {
  .search {
    margin: 40px 0 40px;
  }
}

.result {
  margin-top: 60px;
}

@media print, screen and (max-width: 1023px) {
  .result {
    margin-top: 30px;
  }
}

#page_case .list_card,
#page_activity .list_card {
  margin-top: 20px;
}

@media print, screen and (max-width: 1023px) {
  #page_case .list_card,
  #page_activity .list_card {
    margin-top: 20px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■event
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.page-event #linkset {
  margin-top: 0;
}

.page-event .link_event,
.page-event .link_kanren {
  display: none;
}

.page-event #related {
  margin-bottom: 80px;
}

/*-------------------------
  event
-------------------------*/
#page_event #event {
  background: #d7d7d7;
  color: #000;
  padding-top: 80px;
  padding-bottom: 100px;
}

@media print, screen and (max-width: 1023px) {
  #page_event #event {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

#page_event #event .hd02 {
  margin: 7px 0 35px;
}

#page_event #event .hd03 {
  margin-bottom: 56px;
}

@media print, screen and (max-width: 1023px) {
  #page_event #event .hd03 {
    margin-bottom: 30px;
  }
}

#page_event #event .hd04 {
  margin-bottom: 34px;
}

#page_event #event .hd04 span::before, #page_event #event .hd04 span::after {
  background-color: #fff;
}

#page_event #event .search {
  margin: 0 0 48px;
}

#page_event #event .search div {
  background-color: #000;
}

#page_event #event .search dt {
  color: #fff;
}

@media print, screen and (min-width: 1023px) {
  #page_event #event .list_event .list_item {
    max-width: 334px;
    width: 30%;
  }
}

@media screen and (max-width: 1023px) {
  #page_event #event .list_event .list_item {
    width: 47%;
  }
}

@media screen and (max-width: 560px) {
  #page_event #event .list_event .list_item {
    width: 100%;
  }
}

#page_event #event .btn01 {
  max-width: 390px;
  margin: 60px auto 0;
}

@media screen and (max-width: 1023px) {
  #page_event #event .btn01 {
    margin-top: 50px;
  }
}

#page_event #event .btn01 .btn_inner {
  /*border: 1px solid #fff;*/
  text-align: center;
}

#page_event #event .wp-pagenavi {
  color: #000;
}

#page_event #event .wp-pagenavi > *[class$="postslink"] {
  background-color: rgba(0, 0, 0, 0.15);
}

#page_event #event .result .result_text:only-child {
  height: 100px;
  padding: 0;
}

#page_event #event_other {
  margin-top: 100px;
}

@media screen and (max-width: 1023px) {
  #page_event #event_other {
    margin-top: 60px;
  }
}

#page_event #event_other:only-child {
  margin-top: 0;
}

#page_event #related {
  padding-top: 78px;
  margin-top: 0;
  border-top: 1px solid #000;
}

@media print, screen and (max-width: 1023px) {
  #page_event #related {
    padding-top: 50px;
  }
}

#page_event #related .hd02 {
  margin-bottom: 50px;
}

@media print, screen and (max-width: 1023px) {
  #page_event #related .hd02 {
    margin-bottom: 30px;
  }
}

#page_event #related .list_card {
  margin-top: 52px;
}

@media print, screen and (max-width: 1023px) {
  #page_event #related .list_card {
    margin-top: 30px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■news
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */


#page_news #news {
  padding: 0 40px 100px;
}

@media screen and (max-width: 1023px) {
  #page_news #news {
    padding: 0 0 40px;
  }
}

#page_news #news .innerWrap {
  max-width: 1000px;
}

#page_news #news .pager_wrap {
  margin-top: 60px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■contact
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#page_contact .innerWrap {
  max-width: 960px;
}

#page_contact .tel_wrap {
  text-align: center;
  background: #fff;
  padding: 33px 20px 23px;
  margin: 0 0 62px;
}

@media screen and (max-width: 1023px) {
  #page_contact .tel_wrap {
    margin-bottom: 40px;
  }
}

#page_contact .tel_wrap .ttl {
  font-weight: bold;
  font-size: 2.4rem;
  margin-bottom: 15px;
}

@media screen and (max-width: 1023px) {
  #page_contact .tel_wrap .ttl {
    font-size: 2.0rem;
  }
}

#page_contact .tel a {
  display: inline-flex;
  align-items: center;
  font-weight: 500;
  font-size: 4rem;
  letter-spacing: .03em;
  margin-bottom: 10px;
}

@media screen and (max-width: 1023px) {
  #page_contact .tel a {
    white-space: nowrap;
    margin-bottom: 10px;
    font-size: 3.4rem;
  }
}

#page_contact .tel p {
  font-size: 1.4rem;
  line-height: 1.6;
}

@media screen and (max-width: 1023px) {
  #page_contact .tel p {
    font-size: 1.2rem;
  }
}

/*-------------------------
  入力
-------------------------*/
.form_item {
  font-size: 1.5rem;
  line-height: 1.6;
}

@media print, screen and (min-width: 1023px) {
  .form_item {
    display: flex;
    margin-top: 34px;
  }
}

@media screen and (max-width: 1023px) {
  .form_item {
    margin-top: 20px;
  }
}

.form_item:first-child {
  margin-top: 0;
}

.form_item .item_title {
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
}

@media print, screen and (min-width: 1023px) {
  .form_item .item_title {
    flex: 1 0 auto;
    padding: 0;
    width: 270px;
    padding: 13px 78px 13px 0;
  }
}

@media screen and (max-width: 1023px) {
  .form_item .item_title {
    width: auto;
    margin-bottom: 10px;
  }
}

.form_item .item_title .required {
  position: absolute;
  top: 12px;
  right: 20px;
  background: #f0ff00;
  color: #000;
  font-size: 1.3rem;
  line-height: 2;
  padding: 0 7px;
}

@media screen and (max-width: 1023px) {
  .form_item .item_title .required {
    position: static;
    display: inline-block;
    vertical-align: top;
    font-size: 1.1rem;
    line-height: 2;
    transform: translate(0, 1px);
    margin-left: 15px;
  }
}

.form_item .item_main {
  width: 100%;
  font-size: 1.6rem;
}

@media print, screen and (max-width: 1023px) {
  .form_item .item_main {
    font-size: 1.5rem;
  }
}

.form_item .item_main *.problem {
  border: 2px solid #DF1D1D;
  background-color: rgba(223, 29, 29, 0.1);
}

.form_item .flex {
  display: flex;
  align-items: center;
  margin-top: 11px;
}

.form_item .flex:first-of-type {
  margin-top: 0;
}

.form_item .flex > span {
  white-space: nowrap;
  font-weight: 700;
  margin-right: 25px;
}

.form_item .sizeS {
  max-width: 280px;
  margin-right: auto;
}

.form_item div.mfp_err {
  display: block;
  color: #DF1D1D;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.25;
  background: none;
  margin: 10px 0 10px;
}

@media print, screen and (max-width: 1023px) {
  .form_item div.mfp_err {
    margin-bottom: 20px;
  }
}

.form_item div.mfp_err:empty {
  display: none !important;
}

#sec_contact_form {
  padding: 0 40px;
  margin-top: 40px;
}

@media screen and (max-width: 1023px) {
  #sec_contact_form {
    padding: 0 24px;
    margin-top: 30px;
  }
}

#sec_contact_form .hd {
  background: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  padding: 24px 45px;
  margin: 0 0 60px;
}

@media print, screen and (max-width: 1023px) {
  #sec_contact_form .hd {
    font-size: 1.7rem;
    padding: 19px 25px;
    margin-bottom: 40px;
  }
}

#sec_contact_form .form_privacy {
  font-size: 1.3rem;
  line-height: 1.84615;
  background: #fff;
  padding: 27px 35px 21px;
  margin: 60px 0;
}

@media screen and (max-width: 1023px) {
  #sec_contact_form .form_privacy {
    padding: 20px 20px;
    margin: 40px 0;
  }
}

#sec_contact_form .btn01 {
  margin: 60px auto 0;
}

@media screen and (max-width: 1023px) {
  #sec_contact_form .btn01 {
    margin-top: 40px;
  }
}

#sec_contact_form .text01 {
  margin-top: 60px;
}

@media screen and (max-width: 1023px) {
  #sec_contact_form .text01 {
    margin-top: 40px;
  }
}

/*-------------------------
	確認画面
-------------------------*/
#sec_contact_form #mfp_confirm_table tr {
  font-size: 1.5rem;
  line-height: 1.6;
}

@media print, screen and (min-width: 1023px) {
  #sec_contact_form #mfp_confirm_table tr {
    display: flex;
    margin-top: 34px;
  }
}

@media screen and (max-width: 1023px) {
  #sec_contact_form #mfp_confirm_table tr {
    display: block;
    margin-top: 30px;
  }
}

#sec_contact_form #mfp_confirm_table tr:first-child {
  margin-top: 0;
}

#sec_contact_form #mfp_confirm_table th {
  position: relative;
  font-weight: 700;
}

@media print, screen and (min-width: 1023px) {
  #sec_contact_form #mfp_confirm_table th {
    flex: 1 0 auto;
    padding: 0;
    width: 270px;
    padding: 0;
  }
}

@media screen and (max-width: 1023px) {
  #sec_contact_form #mfp_confirm_table th {
    width: auto;
    margin-bottom: 10px;
  }
}

#sec_contact_form #mfp_confirm_table td {
  width: 100%;
}

@media print, screen and (min-width: 1023px) {
  #sec_contact_form #mfp_confirm_table td {
    padding: 11px 0;
    padding: 0;
  }
}

#sec_contact_form div.mfp_buttons {
  margin: 60px 0 0;
}

@media screen and (max-width: 1023px) {
  #sec_contact_form div.mfp_buttons {
    margin-top: 40px;
  }
}

#sec_contact_form div.mfp_buttons button {
  background: none;
  border: none;
  box-shadow: none;
  font-family: inherit;
  font-size: 100%;
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 60px;
  background: #ccc;
  box-sizing: border-box;
  color: #000;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 10px;
  transition: all 0.1s ease-in;
  /*
			position: relative;
			z-index: 0;
			overflow: hidden;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
			min-height: 58px;
			border: none;
			border-radius: 100px;
			box-shadow: none;
			box-sizing: border-box;
			@include default_font;
			font-size: 1.6rem;
			letter-spacing: .05em;
			padding: 10px;
			@include liner;
			*/
}

#sec_contact_form div.mfp_buttons button::after {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  transition: all 0.1s ease-in;
}

#sec_contact_form div.mfp_buttons button:hover:after {
  opacity: .2;
}

#sec_contact_form .mfp_buttons button#mfp_button_send {
  max-width: 380px;
  background-color: #000;
  color: #fff;
}

@media print, screen and (max-width: 1023px) {
  #sec_contact_form .mfp_buttons button#mfp_button_send {
    max-width: 324px;
  }
}

#sec_contact_form .mfp_buttons button#mfp_button_send::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 13px;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  display: block;
  transform: translate(0, -50%) rotate(45deg);
}

#sec_contact_form .mfp_buttons button#mfp_button_cancel {
  background-color: #fff;
  color: #000;
  max-width: 210px;
  min-height: 45px;
  font-size: 1.6rem;
  margin-top: 30px;
}

@media screen and (max-width: 1023px) {
  #sec_contact_form .mfp_buttons button#mfp_button_cancel {
    margin-top: 20px;
  }
}

/*-------------------------
	サンクスページ
-------------------------*/
#sec_contact_thanks {
  padding: 0 40px;
  margin-top: 80px;
}

@media screen and (max-width: 1023px) {
  #sec_contact_thanks {
    padding: 0 24px;
    margin-top: 40px;
  }
}

#sec_contact_thanks .hd {
  font-weight: bold;
  font-size: 3.2rem;
  line-height: 1.8;
  margin-bottom: 30px;
}

@media screen and (max-width: 1023px) {
  #sec_contact_thanks .hd {
    font-size: 2.6rem;
    line-height: 1.42308;
  }
}

#sec_contact_thanks .tel_wrap {
  margin-top: 60px;
}

@media screen and (max-width: 1023px) {
  #sec_contact_thanks .tel_wrap {
    margin-top: 40px;
  }
}

#sec_contact_thanks .btn01 {
  margin: 60px auto 0;
}

@media screen and (max-width: 1023px) {
  #sec_contact_thanks .btn01 {
    margin-top: 40px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■about
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#page_about .sec_block + .sec_block{
  margin-top: 100px;
}
@media screen and (max-width: 1023px) {
  #page_about .sec_block + .sec_block{
    margin-top: 50px;
  }
}


@media screen and (max-width: 1023px) {
  #page_details .second .innerWrap,
  #page_application .second .innerWrap,
  #page_about .second .innerWrap{
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* --- 基本設定 --- */
.c-schedule {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 0;
  text-align: center;
}

.c-sch-row {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.c-sch-item {
  display: flex;
  align-items: center;
}

.c-sch-row .c-sch-item:last-child .c-sch-arrow {
  display: none;
}

.c-sch-box {
  width: 220px;
  height: 180px;
  background-color: #fff;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10px;
  box-sizing: border-box;
}

.c-sch-label {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 10px;
  color: #000;
}

.c-sch-date {
  font-size: 20px;
  color: #00683E;
  line-height: 1.4;
}

.c-sch-arrow {
  width: 0;
  height: 0;
  margin: 0 10px;
  border-style: solid;
  border-width: 11.5px 0 11.5px 14px;
  border-color: transparent transparent transparent #D93751;
  flex-shrink: 0;
}

/* --- レスポンシブ (2列保持) --- */

@media screen and (max-width: 1023px) {
  .c-schedule {
    padding: 30px 0;
  }

  .c-sch-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 0;
    margin-bottom: 18px;
  }

  .c-sch-item {
    justify-content: center;
    position: relative;
    width: 100%;
  }

  .c-sch-box {
    width: 100%;
    max-width: 280px;
    height: auto;
    /*aspect-ratio: 3 / 2;*/
    margin-right: 10px;
    height: 120px;
  }

  .c-sch-arrow {
    position: absolute;
    right: 0;
    margin: 0;
    z-index: 1;
    display: block !important;
  }

  .c-sch-item:nth-child(2n) .c-sch-arrow {
    display: none;
  }

  .c-sch-label { font-size: 20px; }
  .c-sch-date { font-size: 18px; }
  .c-schedule h2 { font-size: 30px; }
}

@media screen and (max-width: 400px) {
  .c-sch-label { font-size: 16px; }
  .c-sch-date { font-size: 14px; }
  .c-sch-arrow {
    border-width: 8px 0 8px 10px;
    right: -5px;
  }
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■briefing
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_briefing .c-alert-body {
  padding: 24px 40px 32px;
}
#page_briefing .c-hd-alert {
  font-size: 18px;
  padding: 9px;
  color: #fff;
  background-color: #D93751;
  text-align: center;
}
#page_briefing .c-list-dot li {
  font-size: 18px;
  line-height: 1.7;
}

@media screen and (max-width: 1023px) {
  #page_briefing .c-alert-body { padding: 20px; }
  #page_briefing .c-hd-alert {
    font-size: 16px;
    padding: 7px;
  }
  #page_briefing .c-list-dot li {
    font-size: 17px;
  }

}

#page_briefing .c-text-highlight{
  font-size: 18px;
  margin-bottom: 64px;
}
@media screen and (max-width: 1023px) {
  #page_briefing .c-text-highlight{
    font-size: 16px;
  }
}

#page_briefing .c-intro-body img{
  position: absolute;
  right: 0;
  top: 0;
}


@media screen and (max-width: 1023px) {
  #page_briefing .c-text-highlight{
    margin-bottom: 32px;
  }
  #page_briefing .c-intro-body img{
    right: 30px;
  }
}


.c-session {
  width: 100%;
  padding: 0 0 60px;
  box-sizing: border-box;
}

.c-session-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
}

.c-session-card {
  position: relative;
  width: 590px;
  height: 374px;
  background-color: #fff;
  border-radius: 16px;
  padding: 32px 40px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  transition: background-color 0.3s ease;
  overflow: hidden;
  border: 1px solid #eee;
}

.c-session-card:not(.is-finished):hover {
  background-color: #f2f9fc;
}

/* 右上ラベル */
.c-tag {
  position: absolute;
  top: 18px;
  right: 24px;
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  padding: 8px 20px 11px;
  border-radius: 50px;
  z-index: 2;
}
.is-finished .c-tag{
  font-size: 15px;
  padding: 8px 20px 10px;
  background-color: #777;
}

.tag-real { background-color: #D93751; }
.tag-online { background-color: #31A2D2; }

/* 日付ヘッダー */
.c-session-header {
  margin-bottom: 24px;
  position: relative;
  z-index: 2;
}
.c-session-date-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}
.c-date-main { font-size: 40px; }
.c-day-main { font-size: 24px; margin-left: 4px; }

/* 終了テキスト (PC:日付の右) */
.c-finish-txt {
  color: #D93751;
  font-weight: bold;
  font-size: 20px;
  margin-left: 16px;
}

/* 本文エリア */
.c-session-body {
  text-align: left;
  line-height: 1.6;
  position: relative;
  z-index: 2;
}
.c-session-body dl { display: flex; flex-wrap: wrap; margin: 0; }

/* 見出し書式の統一 */
.c-session-body dt {
  width: 66px;
  height: 25px;
  line-height: 21px;
  text-align: center;
  border: 2px solid #222;
  border-radius: 5px;
  font-size: 14px;
  font-weight: bold;
  margin-top: 4px;
  margin-bottom: 12px;
  box-sizing: border-box;
}

.c-session-body dd {
  width: calc(100% - 66px);
  padding-left: 15px;
  margin: 0 0 12px 0;
  font-size: 17px; /* 基本サイズ */
  box-sizing: border-box;
}

/* 特定のフォントサイズ指定 */
.f-18 { font-size: 18px !important; }
.f-20 { font-size: 20px !important; font-weight: bold; }

.c-session-body dd.f-18 span {
  display: block;
  font-size: 16px;
}

/* ボタン */
.c-btn-apply {
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 164px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #222;
  border-radius: 50px;
  color: #222;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  z-index: 2;
}

/* 外部リンクアイコン（CSSでの簡易再現） */
.icon-link {
  width: 16px; /* アイコンサイズ */
  height: auto;
  margin-left: 8px;
}

/* 終了済みオーバーレイ */
.c-session-overlay {
  display: none;
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-color: rgba(128, 128, 128, 0.2); /* グレー20% */
  z-index: 5;
  pointer-events: none;
}

.is-finished .c-session-overlay {
  display: block;
}

.is-disabled {
  border-color: #999;
  color: #999;
}

/* --- SP版 --- */
@media screen and (max-width: 1023px) {
  .c-session {
    padding: 0 0 30px;
  }
  .c-session-card {
    width: calc(100% + 20px);
    height: auto;
    min-height: 342px;
    padding: 20px 25px;
    margin: 0 -10px;
  }
  .c-tag{
    position: relative;
    right: 0;
    top: 0;
    width: 100%;
    padding:  6px 20px 9px;
    text-align: center;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 550px) {
  /* 終了テキスト (SP:日付の下) */
  .c-finish-txt {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-top: 5px;
  }
  
  .c-session-body dd {
    font-size: 16px; /* 少しだけ調整 */
  }
  
  .c-btn-apply {
    position: static;
    margin-top: 20px;
    width: 100%;
  }
}




/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■details
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#req-subsidy .c-sch-container{
  margin-bottom: 40px;
}

/* --- SP版 --- */
@media screen and (max-width: 1023px) {
  #page_details .c-info-block { padding: 40px 0; }
  #page_details .c-hd-marker { font-size: 24px; }
}

/* スケジュール */
#page_details .c-sch-row {
  flex-wrap: wrap;
  justify-content: start;
  gap: 20px 0;
  margin-bottom: 0;
}
#page_details .c-sch-box {
  width: 190px;
  height: 108px;
  background-color: #f3f3f3;
}
#page_details .c-sch-label {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
#page_details .c-sch-date {
  font-size: 17px;
}
#page_details .c-sch-arrow {
  border-width: 7.5px 0 7.5px 10px;
}
@media screen and (max-width: 1023px) {
  #page_details .c-sch-row {
    gap: 10px 0;
  }
  #page_details .c-sch-box {
    width: 100%;
    height: 108px;
  }
  #page_details .c-sch-label {
    font-size: 16px;
  }
  #page_details .c-sch-date {
    font-size: 14px;
  }
}


.theme-item {
  margin-bottom: 30px;
}

.theme-item h4 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 15px;
  color: #222;
}

.theme-item dl {
  margin: 0;
}

.theme-item dl div {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
}

.theme-item dl dt {
  flex-shrink: 0;
  width: 70px;
  text-align: center;
  border: 1px solid #222;
  border-radius: 4px;
  font-size: 14px;
  padding: 2px 4px;
  font-weight: bold;
  line-height: 1.4;
  background-color: #fff;
  margin-right: 15px;
}

.theme-item dl dd {
  margin: 0;
  font-size: 1.7rem;
  line-height: 1.6;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .theme-item h4 {
    font-size: 1.6rem;
  }
  .theme-item dl dt {
    width: 60px;
    font-size: 13px;
    margin-right: 10px;
  }
  .theme-item dl dd {
    font-size: 1.5rem;
  }
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■application
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#page_application h2 + h3{
  margin-top: 0;
}

#app-about .c-sch-box {
  width: 273px;
  height: 160px;
  background-color: #f3f3f3;
}
#app-about .c-sch-label {
  font-size: 19px;
}
#app-about .c-sch-date {
  font-size: 14px;
  padding: 0 24px;
}
@media screen and (max-width: 1023px) {
  #app-about .c-sch-box {
    width: 100%;
    height: auto;
    min-height: 80px;
    max-width: none;
    padding: 16px 24px;
  }
  #app-about .c-sch-label {
    font-size: 19px;
  }
  #app-about .c-sch-date {
    font-size: 14px;
    padding: 0 24px;
  }
  #app-about .c-sch-row{
    display: flex;
    flex-wrap: wrap;
  }

}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■faq
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.page-faq .second{
  padding-top: 80px;
}
@media screen and (max-width: 1023px) {
  .page-faq .second{
    padding-top: 40px;
  }
  .page-faq .hd02{
    font-size: 2.2rem;
  }
}

.result{
  max-width:1200px;
  margin: 0 auto;
}

.c-search-section {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 20px;
}

.c-search-row {
  display: flex;
  margin-bottom: 30px;
}

.c-search-ttl {
  width: 160px;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  margin: 13px 0 0 0;
  flex-shrink: 0;
}

.c-search-box {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.c-search-input {
  flex: 1;
  height: 64px;
  border: 2px solid #000;
  border-radius: 50px;
  padding: 0 30px;
  font-size: 18px;
  box-sizing: border-box;
  outline: none;
}

.c-search-input::placeholder {
  color: #999;
}

.c-search-btn {
  width: 64px;
  height: 64px;
  background-color: #31A2D2;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  transition: opacity 0.3s;
}

.c-search-btn:hover {
  opacity: 0.7;
}

.c-search-icon-img {
  width: 28px;
  height: auto;
  display: block;
}

/* カテゴリボタン（等幅4つ並び） */
.c-category-list {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.cat-item {
  height: 56px;
  border: 2px solid #000;
  border-radius: 50px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.cat-item a {
  color: #222;
  font-size: 17px;
  font-weight: bold;
  text-decoration: none;
  padding: 0 24px;
}

.cat-item:hover {
  background-color: #D93751;
  border: none;
}
.cat-item:hover a{
  color:#fff;
}


.btn_all{
  font-size: 18px;
  color:#222;
  text-decoration: underline;
}

/* --- レスポンシブ --- */
@media screen and (max-width: 1023px) {
  .c-search-input{
    height: 48px;
  }
  .c-search-btn{
    width: 48px;
    height: 48px;
  }
  .cat-item{
    padding:0 10px;
  }
  .cat-item a{
    font-size: 15px;
    padding: 0;
  }
}

@media screen and (max-width: 850px) {
  .c-search-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .c-search-ttl {
    width: 100%;
    margin-top: 0;
    margin-bottom: 15px;
  }

  .c-search-box, .c-category-list {
    width: 100%;
    gap: 10px 6px;
    
  }

  .c-category-list {
    grid-template-columns: repeat(2, 1fr); /* SPは2列 */
  }
}

@media screen and (max-width: 480px) {
  .c-search-input {
    font-size: 16px;
    padding: 0 20px;
  }
  .c-category-btn {
    font-size: 16px;
  }
}

.current-cat {
  border: none;
  background: #D93751;
}

.current-cat a {
  color: #fff;
}
.nav_category .current-cat a::before {
  display: none;
}


.c-faq-item {
  margin-bottom: 20px;
}

.c-faq-q {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 40px;
  padding: 18px 22px;
  cursor: pointer;
  position: relative;
  transition: background-color 0.3s;
}

.c-faq-q-txt {
  flex: 1;
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  padding: 0 50px 0 18px;
  text-align: left;
}

.c-faq-a {
  display: none;
  background-color: #fff;
  border-radius: 32px;
  margin-top: 16px;
  padding: 22px 40px 22px 22px;
}

.c-faq-a-inner {
  display: flex;
  align-items: flex-start;
}

.c-faq-a-txt {
  flex: 1;
  font-size: 18px;
  line-height: 32px;
  padding-left: 18px;
  text-align: left;
}

.c-faq-icon-q, .c-faq-icon-a {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-shrink: 0;
  font-weight: bold;
  font-size: 24px;
  padding-bottom: 4px;
}

.c-faq-icon-q {
  background-color: #D93751; /* Qの色 */
  color: #fff;
}

.c-faq-icon-a {
  background-color: #31A2D2; /* Aの色 */
  color: #fff;
}

/* --- 下向き矢印（くの字） --- */
.c-faq-arrow {
  position: absolute;
  right: 30px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
  transition: transform 0.3s;
}

/* 開いている時の矢印（上向き） */
.c-faq-item.is-open .c-faq-arrow {
  transform: rotate(-135deg);
  margin-top: 5px;
}

.list_faq{
	margin-bottom: 80px;	
}
.item_faq .question{
	cursor:pointer;
}
.item_faq .answer{
	display: none;
}

.result .result_text {
  color: #00683E;
  display: flex;
  justify-content: start;
  align-items: flex-end;
  font-size: 2.4rem;
  margin-bottom: 40px;
}

@media print, screen and (max-width: 1023px) {
  .list_faq{
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 40px;
  }
  .c-faq-item {
    margin-bottom: 15px;
  }
  .c-faq-q{
    padding: 12px 16px;
  }
  .c-faq-a{
      padding: 22px 24px 22px 16px;
  }

  .result .result_text {
    font-size: 2.2rem;
    margin-bottom: 20px;
    display: block;
  }
  .result .result_text a{
    display: block;
  }
  .c-faq-q-txt{
    font-size: 18px;
    line-height: 1.5;
    padding-left: 16px;
  }
  .c-faq-a-txt{
    font-size: 16px;
    line-height: 28px;
    padding-left: 16px;
  }
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■search
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#page_search .second{
  margin-top: 60px;
  padding-top: 60px;
}
#page_search h1{
  margin-bottom: 32px;
}
#page_search h1 + p{
 font-size: 20px;
}

#page_search .result{
  margin-top: 0;
}

@media print, screen and (max-width: 1023px) {
  #page_search h1{
    margin-bottom: 24px;
  }
  #page_search .first p{
    font-size: 18px;
  }

  .list_column3 > * > *{
    margin-bottom: 16px;
  }
  #page_search .list_card .list_item a{
    display: flex;
  }
  #page_search .list_card .list_item .post_img{
    width:150px;
    height: 100px;
  }
  #page_search .list_card .list_item .detail{
    width:calc(100% - 150px);
    padding: 14px 20px;
  }
  #page_search .list_card .list_item .text{
    overflow: auto;
    display: block;
    -webkit-box-orient:inherit;
    font-weight: 500;
    font-size: 1.5rem;
  }
  #page_search .list_card .list_item .post_category{
    min-width: 90px;
    font-size: 1.3rem;
    padding: 5px 7px;
  }
}

@media print, screen and (max-width: 1140px) {

  #spMenu .spmenu_search{
    position: relative;
    margin: 0 22px;
  }
  #spMenu .spmenu_search .search_text{
    width: 100%;
    height: 48px;
    padding: 0 40px 0 18px;
    border: 1px solid #999;
    border-radius: 24px;
  }
  #spMenu .spmenu_search .search_submit{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    position: absolute;
    top: 50%;
    right: 6px;
    width: 40px;
    height: 40px;
    background: #31A2D2 url(../img/icon-search.png) no-repeat center center;
    background-size: 20px auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    text-indent: -9999px;
    border-radius: 24px;
  }

}