@charset "UTF-8";
:root {
  --vw: 1vw;
}

/* ===========================================================
   # BASE
=========================================================== */
* {
  font: inherit;
  margin: 0;
  padding: 0;
  outline: none;
}

html {
  scroll-padding-top: 100px;
  -webkit-text-size-adjust: 100%;
}

body {
  color: var(--wp--preset--color--black);
  container-type: inline-size;
  font: 400 clamp(16px, 0.6vw + 10px, 20px)/1 "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

.site {
  overflow: hidden;
}

h1 {
  font: inherit;
  margin: 0;
}

a:focus, *:focus {
  outline: none;
}

strong {
  font-weight: 600;
}

ol, ul {
  list-style: none;
}

/* = CLASS
----------------------------------------------------------- */
.trans500 {
  transition: all 500ms 0s ease;
}

.en {
  font-family: "Archivo Black", "Noto Sans JP", sans-serif;
  font-weight: initial;
}

.noSP, .onPC {
  display: none;
}

.is-content-justification-center {
  justify-content: center;
}

.inner {
  padding-left: clamp(1em, 2.5vw, 2em);
  padding-right: clamp(1em, 2.5vw, 2em);
}
.innerS, .innerM, .innerL, .innerLl {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.innerS {
  max-width: 980px;
}
.innerM {
  max-width: 1000px;
}
.innerL {
  max-width: 1540px;
}

.posRe {
  position: relative;
}

.posAb {
  position: absolute;
}

@media (min-width: 640px) {
  .onSP {
    display: none !important;
  }
  .noSP {
    display: block;
  }
  img.noSP, span.noSP, strong.noSP {
    display: inline;
  }
}
@media (min-width: 1024px) {
  .noPC {
    display: none !important;
  }
  .onPC {
    display: block;
  }
  img.onPC, span.onPC, strong.onPC {
    display: inline;
  }
}
/* ===========================================================
   # HREF
=========================================================== */
body a {
  color: inherit;
  text-decoration: none;
  transition: all 500ms 0s ease;
}
body a:visited {
  color: var(--wp--preset--color--main);
}
body .wp-block-buttons .wp-block-button__link {
  background: var(--wp--preset--color--sub);
  color: var(--wp--preset--color--black);
  font-size: clamp(18px, 2vw, 20px);
  line-height: 1.3;
  padding: 1.1em 2em;
  height: -moz-fit-content;
  height: fit-content;
  width: clamp(320px, 85vw, 360px);
  max-width: 100%;
  position: relative;
  text-decoration: none;
}
body .wp-block-buttons .wp-block-button__link::after {
  aspect-ratio: 1/1;
  content: "";
  background: url(../img/arrow01.svg) 50%/contain no-repeat;
  width: 1.2em;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
}
body .wp-block-buttons .wp-block-button__link:hover {
  transform: scale(1.1);
}
body .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border: clamp(2px, 0.4vw, 3px) solid;
  border-radius: 100%;
  color: var(--wp--preset--color--sub);
  font-size: clamp(18px, 3vw, 28px);
  font-weight: 800;
  min-width: unset;
  line-height: 3.4em;
  padding: 0 3.2em 0 2.6em;
  position: relative;
}
body .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link::before, body .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link::after {
  border-radius: 50%;
  content: "";
  width: 1.1em;
  height: 1.1em;
  margin: auto;
  position: absolute;
  right: 1em;
  top: 0;
  bottom: 0;
  transform: translateY(0.05em);
  transition: all 500ms 0s ease;
}
body .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link::before {
  background: var(--wp--preset--color--sub);
}
body .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link::after {
  background: url(../img/arrow01.svg) 50%/60% no-repeat;
  filter: invert(80%) sepia(100%) saturate(5%) hue-rotate(324deg) brightness(109%) contrast(100%);
}
body .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--sub);
  background: var(--wp--preset--color--sub);
  color: var(--wp--preset--color--white);
}
body .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover::before {
  background: var(--wp--preset--color--white);
}
body .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover::after {
  filter: invert(30%) sepia(90%) saturate(1076%) hue-rotate(338deg) brightness(102%) contrast(102%);
}
body .wp-block-file * + .wp-block-file__button {
  color: var(--wp--preset--color--white);
  padding: 0 2em;
  text-decoration: none;
}
body .linkWrap {
  position: relative;
}
body .linkWrap a {
  text-decoration: none;
}
body .linkWrap a::after {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

/* ===========================================================
   # HEAD
=========================================================== */
/* = SITE
----------------------------------------------------------- */
.siteHead {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 999;
}
.siteHead > .body {
  justify-content: space-between;
  padding-top: clamp(1em, 3vw, 1.8em);
  padding-bottom: clamp(1em, 3vw, 1.8em);
}
.siteHead > .body .logo img {
  height: clamp(40px, 10vw, 52px);
  width: auto;
}
.open .siteHead {
  background: var(--wp--preset--color--white);
}
@media (min-width: 1024px) {
  .siteHead:hover {
    background: var(--wp--preset--color--main) !important;
  }
  .open .siteHead {
    background: transparent;
  }
}
/* = ENTRY(PAGE, SINGLE), ARCHIVE(PAGE)
----------------------------------------------------------- */
.page-header {
  background-size: cover;
  background-position: center;
  font-weight: 500;
  margin-top: clamp(4em, 13vw, 5em);
  padding-top: clamp(3em, 10vw, 6.3em);
  padding-bottom: clamp(3em, 10vw, 6.3em);
  position: relative;
}
.page-header.hasThumb {
  padding-bottom: clamp(4em, 12vw, 7em);
}
.page-header.hasThumb::before {
  background-image: linear-gradient(-45deg, #fff 25%, #ccc 25%, #ccc 50%, #fff 50%, #fff 75%, #ccc 75%, #ccc);
  background-size: 4px 4px;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  content: "";
  mix-blend-mode: multiply;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.page-header.hasThumb .page-title {
  color: var(--wp--preset--color--white);
  text-shadow: 0 0 0.5em var(--wp--preset--color--black);
}
.page-title {
  color: var(--wp--preset--color--sub);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.3em 2em;
  font-size: clamp(15px, 3vw, 16px);
  font-weight: 500;
  position: relative;
  z-index: 1;
}
.page-title strong {
  font-size: clamp(40px, 7.6vw, 80px);
  font-weight: 400;
}
.page-id-3 .page-title strong::after {
  content: "!";
}
.page-subTitle {
  font-size: clamp(0.9em, 3vw, 1em);
  font-weight: 600;
  margin-top: clamp(1em, 3vw, 1.5em);
  position: relative;
  z-index: 1;
}
.page-subTitle p::before {
  content: "［ ";
}
.page-subTitle p::after {
  content: " ］";
}
@media (min-width: 640px) {
  .page-title {
    align-items: center;
    flex-direction: row;
  }
}
.entry-header {
  font-weight: 700;
  padding: clamp(2em, 8vw, 6em) 1em clamp(0em, 2vw, 2em);
  position: relative;
}
.entry-header .body {
  border: 0.3em solid;
  display: flex;
  flex-direction: column;
  gap: 1em;
  line-height: 1.4;
  padding: clamp(1em, 4vw, 3em) clamp(1em, 4vw, 3em);
}
.entry-header .body .ttl {
  color: var(--wp--preset--color--black);
  font-size: clamp(1.6em, 4vw, 2em);
}
.entry-header .body .info {
  gap: 1em;
}
.entry-header .body .info .term {
  gap: 0.6em;
  margin-top: 0.1em;
}
.entry-header .body .info .term a {
  border: 1px solid;
  border-radius: 2em;
  font-size: 0.7em;
  font-weight: 500;
  line-height: 1.1;
  padding: 0 1em 0.05em;
  opacity: 0.6;
}

/* ===========================================================
   # NAVI
=========================================================== */
/* = HAMBURGER
----------------------------------------------------------- */
.hamburger {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}
.hamburger .lines {
  display: block;
  width: 28px;
  height: 10px;
}
.hamburger .lines .line {
  background: var(--wp--preset--color--black);
  width: 100%;
  height: 2px;
  left: 0;
}
.home .hamburger .lines .line {
  background: var(--wp--preset--color--white);
}
.hamburger .lines .line:first-child {
  top: 0;
}
.hamburger .lines .line:last-child {
  bottom: 0;
}
.open .hamburger .lines .line {
  background: var(--wp--preset--color--black);
}
.open .hamburger .lines .line:first-child {
  transform: translateY(4px) rotate(30deg);
}
.open .hamburger .lines .line:last-child {
  transform: translateY(-4px) rotate(-30deg);
}

/* = G NAVI
----------------------------------------------------------- */
.gNav {
  background: var(--wp--preset--color--white);
  display: none;
  height: calc(100dvh - var(--header_height));
  width: 100cqw;
  padding: 0 !important;
  overflow: auto;
  position: fixed;
  left: 0;
  top: var(--header_height);
  z-index: 99;
}
.gNav nav ul {
  display: flex;
  align-items: flex-start;
  gap: 1.5em clamp(1em, 2vw, 2em);
  font-size: clamp(20px, 3vw, 38px);
  font-weight: 500;
  margin: 0;
  padding: 2em;
}
.gNav nav ul li {
  width: 100%;
}
.gNav nav ul li a {
  color: inherit;
  display: flex;
  gap: 0.5em;
  transition: all 500ms 0s ease;
}
.gNav nav ul li.cart a {
  background: url(../img/ico_cart.svg) 0/contain no-repeat;
  content: "";
  font-size: 0;
  height: 37px;
  width: 39px;
}
.home .gNav nav ul, .siteHead:hover .gNav nav ul {
  color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
}
.home .gNav nav ul li.cart a, .siteHead:hover .gNav nav ul li.cart a {
  color: var(--wp--preset--color--white);
}
.gNav .foot {
  display: flex;
  align-items: center;
  flex-direction: column;
  font-size: 12px;
  padding-bottom: 1.5em;
}
.gNav .foot .wrap {
  padding: 0;
}
.gNav .foot .body {
  justify-content: center;
}
.gNav .foot #block-4 {
  display: none;
}
.gNav .foot .sns {
  padding: 2em 0;
}
@media (min-width: 640px) {
  .gNav nav ul li {
    width: calc(50% - 0.5em);
  }
}
@media (min-width: 1024px) {
  .gNav {
    background: transparent;
    display: flex !important;
    height: auto;
    width: auto;
    position: static;
  }
  .gNav nav ul {
    align-items: center;
    flex-direction: row;
    font-size: 13px;
    padding: 0;
  }
  .home .gNav nav ul, .siteHead:hover .gNav nav ul {
    color: var(--wp--preset--color--white);
  }
  .home .gNav nav ul li.cart a, .siteHead:hover .gNav nav ul li.cart a {
    color: var(--wp--preset--color--white);
    filter: invert(80%) sepia(100%) saturate(5%) hue-rotate(324deg) brightness(109%) contrast(100%);
  }
  .gNav nav ul li {
    width: auto;
  }
  .gNav .foot {
    display: none !important;
  }
}
/* ===========================================================
   # FOOT
=========================================================== */
.siteFoot, .gNav {
  padding-top: clamp(3em, 13vw, 7em);
}
.siteFoot .wrap, .gNav .wrap {
  gap: clamp(3.5em, 14vw, 4em);
  padding-top: clamp(1em, 4vw, 6em);
  padding-bottom: 3.6em;
}
.siteFoot .catchphrase-wrapper, .gNav .catchphrase-wrapper {
  margin: 0 0 clamp(3em, 15vw, 8em);
}
.home .siteFoot .catchphrase-wrapper, .home .gNav .catchphrase-wrapper {
  display: none;
}
.siteFoot .cta, .gNav .cta {
  margin: 0;
}
.siteFoot .cta .body::before, .siteFoot .cta .body::after, .gNav .cta .body::before, .gNav .cta .body::after {
  aspect-ratio: 225/184;
  background-position: 0;
  background-size: cover;
  content: "";
  width: clamp(100px, 31vw, 450px);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  left: calc(clamp(3em, 15vw, 11em) * -1);
  top: calc(clamp(3em, 9vw, 7em) * -1);
  transition: all 500ms 0s ease;
}
.siteFoot .cta .body::before, .gNav .cta .body::before {
  background-image: url(../img/home_contact_before.png);
}
.siteFoot .cta .body::after, .gNav .cta .body::after {
  background-image: url(../img/home_contact_after.png);
}
.siteFoot .cta .body img, .gNav .cta .body img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  transition: all 500ms 0s ease;
}
.siteFoot .cta .body .img, .gNav .cta .body .img {
  aspect-ratio: 28/9;
  border-radius: 1em;
  overflow: hidden;
  position: relative;
}
.siteFoot .cta .body .txt::before, .siteFoot .cta .body .txt::after, .gNav .cta .body .txt::before, .gNav .cta .body .txt::after {
  aspect-ratio: 1/1;
  border-radius: 50%;
  content: "";
  width: clamp(20px, 5vw, 62px);
  pointer-events: none;
  position: absolute;
  right: clamp(1em, 4vw, 2em);
  bottom: clamp(1em, 4vw, 2em);
  transform-origin: 0 0;
  transition: all 500ms 0s ease;
}
.siteFoot .cta .body .txt::before, .gNav .cta .body .txt::before {
  background: #ea6143;
}
.siteFoot .cta .body .txt::after, .gNav .cta .body .txt::after {
  background: url(../img/arrow01.svg) 50%/40% no-repeat;
  filter: invert(8%) sepia(9%) saturate(0%) hue-rotate(287deg) brightness(97%) contrast(81%);
}
.siteFoot .cta .body a, .gNav .cta .body a {
  color: var(--wp--preset--color--sub);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(24px, 7vw, 80px);
  font-weight: 900;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  text-decoration: none;
}
.siteFoot .cta .body a:after, .gNav .cta .body a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.siteFoot .cta .body:hover::before, .siteFoot .cta .body:hover::after, .gNav .cta .body:hover::before, .gNav .cta .body:hover::after {
  opacity: 1;
}
.siteFoot .cta .body:hover img, .gNav .cta .body:hover img {
  transform: scale(1.1);
}
.siteFoot .cta .body:hover .txt::before, .siteFoot .cta .body:hover .txt::after, .gNav .cta .body:hover .txt::before, .gNav .cta .body:hover .txt::after {
  transform: scale(1.3);
}
.siteFoot .body .info, .gNav .body .info {
  gap: clamp(1em, 3vw, 2em);
  font-size: clamp(12px, 3vw, 15px);
  line-height: 1.5;
}
.siteFoot .body .sns, .gNav .body .sns {
  gap: 1.5em;
}
.siteFoot .copy, .gNav .copy {
  color: #C2C2C2;
  font-size: 0.75em;
}
@media (min-width: 640px) {
  .siteFoot .wrap, .gNav .wrap {
    padding-top: clamp(2em, 6vw, 6em);
  }
  .siteFoot .body, .gNav .body {
    justify-content: space-between;
  }
  .siteFoot .body sns, .gNav .body sns {
    order: 1;
  }
  .siteFoot .copy, .gNav .copy {
    text-align: left;
  }
}
/* = GO TO TOP
----------------------------------------------------------- */
.gotoTop {
  background: var(--wp--preset--color--main);
  width: clamp(3em, 6vw, 5em);
  height: clamp(3em, 6vw, 5em);
  position: fixed;
  right: clamp(1em, 3vw, 2em);
  bottom: clamp(1em, 3vw, 2em);
  z-index: 99;
}
.gotoTop svg {
  fill: var(--wp--preset--color--white);
  width: 40%;
}
.gotoTop:hover {
  transform: translateY(-0.5em);
}
/* = PAGE NAVI
----------------------------------------------------------- */
.pageNav.wp-block-query-pagination {
  gap: 1em;
}
.pageNav.wp-block-query-pagination a {
  transition: all 500ms 0s ease;
}
.pageNav.wp-block-query-pagination a:hover {
  opacity: 1;
}
.pageNav.wp-block-query-pagination .wp-block-query-pagination-next, .pageNav.wp-block-query-pagination .wp-block-query-pagination-previous {
  opacity: 0.5;
}
.pageNav.wp-block-query-pagination .wp-block-query-pagination-numbers {
  display: flex;
  gap: 0.5em;
}
.pageNav.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9em;
  font-weight: 500;
  width: 3em;
  height: 3em;
}
.pageNav.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers:hover {
  background: var(--wp--preset--color--black);
  color: var(--wp--preset--color--white);
}
.pageNav.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers.current {
  background: var(--wp--preset--color--black);
  color: var(--wp--preset--color--white);
}

/* = SINGLE NAVI
----------------------------------------------------------- */
.singleNav {
  padding-bottom: clamp(3em, 10vw, 5em);
}
.singleNav .body {
  gap: 0;
}
.singleNav .body li {
  flex: 1;
  margin: 0 -1px;
}
.singleNav .body li a {
  background: var(--wp--preset--color--white);
  border: 1px solid;
  display: block;
  font-size: 0.8em;
  padding: clamp(1em, 3vw, 1.5em) 0;
  text-align: center;
}
.singleNav .body li a:hover {
  background: var(--wp--preset--color--black);
  border-color: var(--wp--preset--color--black);
  color: var(--wp--preset--color--white);
}

/* ===========================================================
   # CONTENTS
=========================================================== */
.entry-content {
  line-height: 2;
  margin-top: 0;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
.entry-content > *:first-child {
  margin-top: 0;
}
.entry-content > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--content-size);
}
.entry-content :where(a) {
  color: var(--wp--preset--color--main);
  text-decoration: underline;
}

body .alignfull {
  width: 100cqw;
  margin-left: -1.5em;
  margin-right: -1.5em;
}
body .alignfull:not(hr) {
  padding-left: clamp(1.5em, 6vw, 2em);
  padding-right: clamp(1.5em, 6vw, 2em);
}
body .alignwide {
  width: var(--wp--style--global--wide-size);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
body .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: rgba(0, 0, 0, 0.6);
  line-height: 1.5;
  padding: 0.5em;
}
body hr.wp-block-separator {
  background: #ccc;
  border: none;
}
body hr.wp-block-separator.is-style-hrClear {
  width: 10em;
}
body ol.wp-block-list,
body ul.wp-block-list {
  margin-left: auto;
  padding-left: 1.5em;
}
body ol.wp-block-list {
  list-style: decimal;
}
body ul.wp-block-list {
  list-style: disc;
}

/* ===========================================================
   # HEADING
=========================================================== */
body :where(h2.wp-block-heading) {
  font-size: clamp(28px, 4.5vw, 40px);
  line-height: 1.3em;
  margin-top: clamp(1.5em, 12vw, 2.5em);
  margin-bottom: clamp(0.6em, 3vw, 1em);
  position: relative;
}
body :where(h2.wp-block-heading).has-text-align-center {
  margin-bottom: 1em;
}
body :where(h2.wp-block-heading).has-text-align-center::after {
  border-top: 0.12em solid;
  content: "";
  width: 1.2em;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
body :where(h2.wp-block-heading).en {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.1em 0.5em;
  font-size: clamp(40px, 7.6vw, 80px);
  width: 100%;
  line-height: 1;
}
body :where(h2.wp-block-heading).en strong {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(13px, 3vw, 16px);
  font-weight: 500;
  line-height: 1.4;
}
@media (min-width: 640px) {
  body :where(h2.wp-block-heading).en {
    align-items: center;
    flex-direction: row;
  }
}
body :where(h3.wp-block-heading) {
  border-bottom: 1px solid #d5d5d5;
  color: var(--wp--preset--color--sub);
  font-weight: 500;
  margin-top: clamp(2em, 6vw, 2.5em);
}
body :where(h3.wp-block-heading) + * {
  margin-top: clamp(0.5em, 2vw, 1em);
}
body h4.wp-block-heading {
  border: 0.08em solid;
  font-size: 1.2em;
  font-weight: 500;
  margin-top: clamp(2em, 6vw, 2.5em);
  padding: 0.3em 0.8em;
}
body h4.wp-block-heading.has-text-align-center {
  padding: 0.1em 2em;
  width: -moz-fit-content;
  width: fit-content;
}
body h4.wp-block-heading + * {
  margin-top: 1em;
}
body h5.wp-block-heading {
  border-bottom: 0.08em solid #ccc;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.4;
  margin-top: clamp(1.5em, 6vw, 2em);
  padding-bottom: 0.4em;
  position: relative;
}
body h5.wp-block-heading::after {
  background: var(--wp--preset--color--black);
  content: " ";
  width: 2em;
  height: 0.08em;
  position: absolute;
  left: 0;
  bottom: -0.08em;
}
body h5.wp-block-heading.has-text-align-center {
  border-top: 1px solid;
  border-bottom: 1px solid;
  padding: 0.2em;
}
body h5.wp-block-heading.has-text-align-center::after {
  display: none;
}
body h5.wp-block-heading + * {
  margin-top: 0.5em;
}
body h6.wp-block-heading {
  border-left: 0.2em solid;
  font-size: 1.1em;
  font-weight: 500;
  line-height: 1;
  margin-top: clamp(1.5em, 6vw, 2em);
  padding: 0 0 0.1em 0.5em;
}
body h6.wp-block-heading.has-text-align-center {
  border: none;
  display: flex;
  gap: 0.5em;
  justify-content: center;
  padding: 0;
}
body h6.wp-block-heading.has-text-align-center::before {
  content: "＼";
}
body h6.wp-block-heading.has-text-align-center::after {
  content: "／";
}
body h6.wp-block-heading + * {
  margin-top: 0.5em;
}

/* ===========================================================
   # HOME
=========================================================== */
.home .entry-content {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.homeCont {
  margin-top: clamp(3em, 13vw, 7em);
}
.home .enLine {
  font-size: clamp(16px, 3.2vw, 40px);
}
.homeCatch {
  gap: clamp(1em, 2vw, 3em);
  overflow: hidden;
}
.homeCatch .item {
  animation: homeCatch 30s linear infinite;
  display: grid;
  font-size: min(4vw, 40px);
  grid-template-columns: clamp(100px, 18vw, 225px) auto;
  line-height: 1;
  white-space: nowrap;
}
@keyframes homeCatch {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.homeIntro {
  padding-top: clamp(3em, 12vw, 8em);
  padding-bottom: clamp(3em, 12vw, 8em);
}
.homeIntro .body {
  gap: 0;
  font-size: clamp(22px, 2.8vw, 32px);
  line-height: 2.4em;
}
.homeIntro .body .item {
  gap: 0.5em;
}
.homeIntro .body .item.space {
  margin-top: 1em;
}
.homeIntro .body .item img {
  height: clamp(55px, 8vw, 88px);
  width: auto;
}
.homeIntro .btn {
  margin-top: clamp(2em, 7vw, 5em);
}
@media (min-width: 640px) {
  .homeIntro .body .item {
    line-height: 3.4em;
  }
  .homeIntro .body .item.space {
    margin-top: 0;
  }
}
@media (min-width: 1024px) {
  .homeIntro .body .item {
    justify-content: flex-start;
  }
  .homeIntro .body .item.space {
    margin-top: 0;
  }
}
.homeReserve {
  padding-bottom: clamp(4em, 18vw, 8em);
}
.homeReserve a.wp-block-button__link {
  font-size: clamp(18px, 4vw, 24px);
  padding: clamp(1em, 5vw, 1.5em) clamp(3.5em, 17vw, 8em);
}
.homeEvent {
  padding-bottom: clamp(3.5em, 12vw, 8em);
}
.homeEvent .btn {
  margin-top: clamp(3em, 13vw, 5em);
}
@media (min-width: 1024px) {
  .homeEvent .btn {
    margin-top: 0;
  }
}
.homeProduct {
  padding-top: clamp(3em, 12vw, 7em);
  padding-bottom: clamp(3em, 12vw, 7em);
}
.homeProduct .body .item {
  color: var(--wp--preset--color--sub);
  font-size: clamp(16px, 3vw, 32px);
  position: relative;
}
.homeProduct .body .item:first-child {
  font-size: clamp(16px, 2.4vw, 25px);
}
.homeProduct .body .item img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 23/18;
}
.homeProduct .body .item figcaption {
  background: rgba(255, 255, 255, 0.85);
  display: flex;
  align-items: center;
  gap: 1em;
  justify-content: space-between;
  line-height: 56px;
  margin: 0;
  padding: 0 1em;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all 500ms 0s ease;
}
.homeProduct .body .item figcaption br {
  display: none;
}
.homeProduct .body .item figcaption::after {
  aspect-ratio: 1/1;
  background: url(../img/arrow_circle01.svg) 0/cover;
  content: "";
  height: clamp(40px, 7vw, 64px);
}
.homeProduct .body .item a::after {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
@media (min-width: 640px) {
  .homeProduct .body .item {
    flex: 1;
  }
  .homeProduct .body .item img {
    -o-object-fit: initial;
       object-fit: initial;
    aspect-ratio: initial;
  }
  .homeProduct .body .item figcaption {
    justify-content: center;
    height: 100%;
    letter-spacing: 0.3em;
    line-height: 1.6;
    opacity: 0;
    writing-mode: vertical-rl;
  }
  .homeProduct .body .item figcaption br {
    display: block;
  }
  .homeProduct .body .item:hover figcaption {
    opacity: 1;
  }
}
.homeNote .logo {
  text-align: center;
}
.homeNote .logo img {
  height: clamp(240px, 40vw, 340px);
  width: auto;
}
.homeNote .body {
  display: grid;
  gap: 1.5em clamp(2em, 5vw, 5em);
  line-height: 1.5;
}
.homeNote .body .txt {
  flex-wrap: nowrap;
  gap: 1.4em;
  font-size: clamp(12px, 3.2vw, 14px);
  height: clamp(300px, 80vw, 400px);
  letter-spacing: 0.1em;
  overflow: auto;
  padding-right: 1em;
  scrollbar-color: #ddd #fafafa;
  scrollbar-width: thin;
}
.homeNote .body .txt .has-background {
  padding: 0.3em 0.6em;
}
.homeNote .body .txt .has-background + * {
  margin-top: -1em;
}
.homeNote .btn {
  margin-top: clamp(2em, 7vw, 5em);
}
@media (min-width: 640px) {
  .homeNote .body {
    grid-template-columns: min(25vw, 200px) auto;
  }
}
/* ===========================================================
   # HELLO
=========================================================== */
.helloIntro {
  padding-bottom: clamp(3em, 12vw, 9em);
}
.helloIntro .body {
  gap: 2em clamp(2em, 5vw, 12em);
}
.helloIntro .body .wp-block-media-text__media {
  grid-row: 2;
}
.helloIntro .body .wp-block-media-text__media img {
  border-radius: 1em;
  transform: translateX(2em);
}
.helloIntro .body .wp-block-media-text__content {
  grid-row: 1;
  padding: 0;
}
.helloIntro .body .wp-block-media-text__content .txt {
  gap: clamp(1em, 2vw, 1.5em);
}
.helloIntro .body .wp-block-media-text__content .txt .ilst {
  max-width: 48.4vw;
}
.helloIntro .body .wp-block-media-text__content .txt .ttl {
  font-size: clamp(24px, 6vw, 32px);
}
.helloAbout {
  padding-top: clamp(3em, 12vw, 9em);
  padding-bottom: clamp(3em, 12vw, 9em);
}
.helloAbout .body {
  gap: 2em clamp(2em, 5vw, 12em);
}
.helloAbout .body .wp-block-media-text__media img {
  border-radius: 1em;
  transform: translateX(-2em);
}
.helloAbout .body .wp-block-media-text__content {
  padding: 0;
}
.helloAbout .body .wp-block-media-text__content .txt {
  gap: clamp(1em, 2vw, 1.5em);
}
.helloAbout .body .wp-block-media-text__content .txt .ttl {
  font-size: 24px;
}
.helloCover {
  min-height: 60vh;
}
.helloCover .wp-block-cover__image-background {
  background-position: 63% 50% !important;
}
.helloAccess {
  padding-top: clamp(1em, 4vw, 3em);
}
.helloAccess::before {
  content: "";
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  border-bottom: clamp(3em, 10vw, 9em) solid var(--wp--preset--color--white);
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: calc(clamp(3em, 9.93vw, 9em) * -1);
}
.helloAccess .body .gMap {
  aspect-ratio: 25/11;
  width: 100%;
  position: relative;
}
.helloAccess .body .gMap iframe {
  border-radius: 1em;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
@media (min-width: 640px) {
  .helloIntro .body .wp-block-media-text__media {
    grid-row: 1;
  }
  .helloIntro .body .wp-block-media-text__media img {
    transform: none;
  }
  .helloAbout .body .wp-block-media-text__media img {
    transform: none;
  }
  .helloAbout .body .wp-block-media-text__content {
    padding: 0;
  }
  .helloAbout .body .wp-block-media-text__content .txt {
    gap: clamp(1em, 2vw, 1.5em);
  }
  .helloAbout .body .wp-block-media-text__content .txt .ilst {
    max-width: 34vw;
  }
  .helloAbout .body .wp-block-media-text__content .txt .ttl {
    font-size: 24px;
  }
  .helloAccess .body {
    align-items: flex-end;
  }
}
@media (min-width: 1024px) {
  .helloIntro .body {
    gap: 2em clamp(5em, 9vw, 12em);
  }
  .helloAbout .body {
    gap: 2em clamp(5em, 9vw, 12em);
  }
  .helloCover {
    min-height: 45vw;
  }
  .helloCover .wp-block-cover__image-background {
    background-position: 50% 50% !important;
  }
}
/* ===========================================================
   # EVENT
=========================================================== */
.permWrap {
  padding-bottom: clamp(3em, 10vw, 9em);
}

.spWrap {
  padding-top: clamp(3em, 10vw, 9em);
  padding-bottom: clamp(3em, 10vw, 9em);
}
.spWrap ul {
  margin-top: clamp(2em, 8vw, 4em);
}

/* = LIST
----------------------------------------------------------- */
.eventList {
  display: flex;
  flex-wrap: wrap;
  gap: 2em 1.2em;
  padding: 0;
}
.eventList .item {
  width: 100%;
}
.eventList .item .ico {
  aspect-ratio: 1/1;
  background-position: top right;
  background-size: cover;
  width: 48px;
  position: absolute;
  top: 0;
  left: 1em;
}
.eventList .item .ico.eat {
  background-image: url(../img/ico_eat.png);
}
.eventList .item .ico.connect {
  background-image: url(../img/ico_connect.png);
}
.eventList .item .ico.learn {
  background-image: url(../img/ico_learn.png);
}
.eventList .item .ico.play {
  background-image: url(../img/ico_play.png);
}
.eventList .item .thumb {
  aspect-ratio: 20/13;
  border-radius: 1em;
  margin: 0 0 0.5em;
  overflow: hidden;
}
.eventList .item .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.eventList .item .terms {
  color: var(--wp--preset--color--main);
  display: flex;
  align-items: center;
  gap: 0.4em;
  margin: 0;
}
.eventList .item .terms .term {
  border: 1px solid;
  border-radius: 0.6em;
  font-size: 12px;
  font-weight: 500;
  line-height: clamp(26px, 3vw, 30px);
  padding: 0 1em 0.1em;
}
.eventList .item .terms .term.permanent {
  color: var(--wp--preset--color--sub);
}
.eventList .item .terms .term.permanent + .date {
  display: none;
}
.eventList .item .terms .date {
  font-size: 13px;
  letter-spacing: 0;
}
.eventList .item .ttl {
  font-size: 20px;
  font-weight: 500;
  padding: 0;
}
.eventList .item a {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
  font-size: 24px;
  line-height: 1.4;
  position: relative;
  text-decoration: none;
}
.eventList .item a:hover .thumb img {
  transform: scale(1.1);
}
.eventList .slick-list {
  overflow: initial;
}
.eventList .slick-slide {
  height: auto;
}
.eventList .slick-arrow {
  aspect-ratio: 1/1;
  background: var(--wp--preset--color--sub) url(../img/arrow01.svg) center/40% no-repeat;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  width: clamp(40px, 6vw, 56px);
  position: absolute;
  bottom: 0;
}
.eventList .slick-arrow.slickNext {
  right: calc(50% - 3.3em);
}
.eventList .slick-arrow.slickPrev {
  left: calc(50% - 3.3em);
  transform: rotate(180deg);
}
.eventList .slick-arrow.slick-disabled {
  opacity: 0.2;
}
.homeEvent .eventList {
  padding: 0 12vw 4em 0;
}
.homeEvent .eventList .item {
  padding-right: clamp(1.5em, 6vw, 3em);
}
.homeEvent .eventList .item .thumb {
  aspect-ratio: 1/1;
}
.homeEvent .eventList .item .ttl {
  font-size: 24px;
}
.perm .eventList {
  gap: 2em;
  justify-content: center;
  padding-bottom: clamp(3em, 6vw, 5em);
}
.sp .eventList {
  padding-bottom: clamp(3em, 6vw, 5em);
}
.recommend .eventList {
  margin: clamp(2em, 8vw, 4em) 0 0;
}
@media (min-width: 640px) {
  .eventList .item {
    width: calc(50% - 0.6em);
  }
  .eventList .slick-slide {
    max-width: 45vw;
  }
  .homeEvent .eventList {
    padding-right: 0;
  }
  .homeEvent .eventList .ico {
    width: 16%;
  }
  .perm .eventList .item {
    width: calc(50% - 1em);
  }
}
@media (min-width: 1024px) {
  .eventList .item {
    width: calc(33.33% - 0.8em);
  }
  .eventList .slick-arrow {
    top: -5.5em;
    bottom: auto;
  }
  .eventList .slick-arrow.slickNext {
    right: 0;
  }
  .eventList .slick-arrow.slickPrev {
    right: 5em;
    left: auto;
  }
  .perm .eventList .item {
    width: calc(33.33% - 0.8em);
  }
}
/* = SINGLE
----------------------------------------------------------- */
.single-event .eventHead {
  padding-bottom: clamp(1em, 2.2vw, 2em);
}
.single-event .eventHead .meta {
  display: flex;
  align-items: center;
  gap: 0.8em;
}
.single-event .eventHead .meta .term {
  border: 1px solid;
  border-radius: 0.6em;
  font-size: clamp(12px, 3vw, 13px);
  font-weight: 500;
  line-height: 30px;
  padding: 0 0.5em 0.1em;
}
.single-event .eventHead .meta .term.permanent {
  color: var(--wp--preset--color--sub);
}
.single-event .eventHead .meta .term.special {
  color: var(--wp--preset--color--main);
}
.single-event .eventHead .meta .date {
  color: var(--wp--preset--color--main);
  font-size: clamp(13px, 3vw, 24px);
  font-weight: 400;
  letter-spacing: 0;
}
.single-event .eventHead .eventTtl {
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 400;
  line-height: 1.4;
  padding: clamp(0.5em, 3vw, 0.5em) 0;
}
.single-event .eventBody {
  display: grid;
  gap: 2em clamp(2em, 5vw, 5em);
  grid-template-columns: 1fr;
  padding-bottom: clamp(4em, 10vw, 9em);
}
.single-event .eventBody img {
  border-radius: clamp(0.5em, 2vw, 1em);
}
.single-event .eventBody .smb-spider-slider__figure-wrapper {
  aspect-ratio: 14/9;
}
.single-event .eventBody .spider__dots {
  overflow-x: scroll;
  flex-wrap: nowrap;
  gap: 0.5em;
  margin-top: clamp(1em, 4vw, 1.5em);
  padding-bottom: 0.3em;
  scrollbar-color: rgba(235, 97, 67, 0.6) var(--wp--preset--color--white);
  scrollbar-width: thin;
}
.single-event .eventBody .spider__dots .spider__dot {
  aspect-ratio: 4/3;
  width: clamp(90px, 20vw, 144px);
}
.single-event .eventBody .spider__dots .spider__dot img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-event .eventBody .wp-block-group.is-vertical {
  gap: 1em;
}
.single-event .eventBody .wp-block-group.is-vertical::before {
  background-position: top right;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 72px;
  margin-bottom: -2.5em;
}
.single-event .eventBody .wp-block-group.is-vertical h3 {
  border-bottom: 1px solid #d5d5d5;
  color: var(--wp--preset--color--sub);
  font-weight: 500;
  margin-bottom: 0.5em;
}
.single-event .eventBody .wp-block-group.is-vertical h3:not(:first-child) {
  margin-top: clamp(0.5em, 2vw, 1.5em);
}
.single-event .eventBody .wp-block-group.is-vertical .txtSub * {
  font-size: 0.88em;
}
.single-event .eventBody .wp-block-group.is-vertical .txtSub h3 {
  font-size: 1em;
}
.single-event .eventBody.permanent .wp-block-group.is-vertical::before {
  display: none;
}
.single-event .eventBody.eat .wp-block-group.is-vertical::before {
  background-image: url(../img/ico_eat.png);
}
.single-event .eventBody.learn .wp-block-group.is-vertical::before {
  background-image: url(../img/ico_learn.png);
}
.single-event .eventBody.play .wp-block-group.is-vertical::before {
  background-image: url(../img/ico_play.png);
}
.single-event .eventBody.connect .wp-block-group.is-vertical::before {
  background-image: url(../img/ico_connect.png);
}
.single-event .reserve a.close {
  background: #ccc;
  opacity: 0.3;
  pointer-events: none;
}
.single-event .wp-block-gallery.zaq {
  display: block;
  max-width: 560px;
}
.single-event .wp-block-gallery.zaq figure {
  aspect-ratio: 14/9;
  width: 100% !important;
}
.single-event .yarpp-related {
  grid-column: 1/3;
}
.single-event .yarpp-related .noEntry {
  padding-top: clamp(3em, 10vw, 5em);
}
@media (min-width: 640px) {
  .single-event .eventBody {
    grid-template-columns: clamp(260px, 44vw, 560px) 1fr;
  }
}
/* = GALLERY
----------------------------------------------------------- */
.gallWrap {
  max-width: calc(100vw - 3em);
}
.gallWrap .slick-slide {
  height: auto;
}
.gallWrap a {
  display: block;
  max-width: calc(100vw - 3em);
  pointer-events: none;
}
.gallWrap figure {
  margin: 0;
}
.gallWrap .gallNav .gallery-icon {
  padding-right: 1em;
}
.gallWrap .gallNav .gallery-icon img {
  border-radius: 0.5em !important;
}

.gallery-icon {
  aspect-ratio: 14/9;
  max-width: calc(100vw - 3em);
}
.gallery-icon img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

.wpview .gallery br {
  display: none;
}
.wpview .gallery-item {
  width: 33.33% !important;
}
@media (min-width: 640px) {
  .wpview .gallery-item {
    width: 25% !important;
  }
}
@media (min-width: 1024px) {
  .wpview .gallery-item {
    width: 20% !important;
  }
}
.mce-content-body {
  line-height: 2;
}
.mce-content-body > * {
  margin-top: 1em;
}
.mce-content-body h3 {
  border-bottom: 1px solid #d5d5d5;
  color: #eb6143;
  font-weight: 500;
}

/* = REGULAR
----------------------------------------------------------- */
.regular {
  padding-top: clamp(4em, 10vw, 9em);
}
.regular .eventList {
  margin: clamp(2em, 8vw, 4em) 0 0;
}

/* = RECOMMEND
----------------------------------------------------------- */
.recommend {
  background: #FFE9E5;
  padding-top: clamp(4em, 10vw, 9em);
  padding-bottom: clamp(4em, 10vw, 9em);
}

/* ===========================================================
   # CALENDAR
=========================================================== */
.eo-fullcalendar .fc-toolbar .fc-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.eo-fullcalendar .fc-toolbar .fc-center h2 {
  font-size: clamp(18px, 5vw, 30px);
  font-weight: 500;
}
.eo-fullcalendar .fc-toolbar .fc-center button {
  background: transparent;
  border: none;
}
.eo-fullcalendar .fc-day-number {
  display: flex;
  font-size: clamp(14px, 3vw, 16px);
  font-weight: 500 !important;
}
.eo-fullcalendar .fc-day-number::after {
  content: "）";
}
.eo-fullcalendar .fc-day-number .fc-list-header-left {
  width: 1em;
  margin-right: 0.1em;
  padding: 0 !important;
  overflow: hidden;
  white-space: nowrap;
}
.eo-fullcalendar .fc-day-number .fc-list-header-right {
  color: inherit !important;
  padding: 0 !important;
  order: -1;
}
.eo-fullcalendar .fc-day-number .fc-list-header-right::after {
  content: "日（";
}
.eo-fullcalendar .fc-widget-content {
  border: none;
}
.eo-fullcalendar .fc-content-skeleton > table {
  min-height: clamp(1em, 11vw, 7em);
}
.eo-fullcalendar .fc-sat {
  color: var(--wp--preset--color--main);
}
.eo-fullcalendar .fc-sun {
  color: var(--wp--preset--color--sub);
}
.eo-fullcalendar a.fc-day-grid-event {
  border-radius: 0.3em;
  margin: 1px 0 0.5em;
  padding: 0.1em clamp(0.3em, 0.6vw, 0.5em) 0.2em !important;
}
.eo-fullcalendar a.fc-day-grid-event .fc-content {
  font-size: clamp(13px, 3.5vw, 14px);
}
.eo-fullcalendar a.fc-day-grid-event .fc-content .fc-time {
  display: none;
}
@media (min-width: 514px) {
  .eo-fullcalendar .fc-widget-content {
    border: 1px solid #ddd;
  }
  .eo-fullcalendar .fc-day-number {
    display: table-cell;
  }
  .eo-fullcalendar .fc-day-number::after {
    content: " ";
  }
  .eo-fullcalendar a.fc-day-grid-event {
    margin: 1px 0.3em;
  }
}
/* ===========================================================
   # FAQ
=========================================================== */
.faq .smb-accordion__item {
  background: rgba(0, 143, 218, 0.1);
  border-radius: 1em;
  line-height: 1.6;
  padding: clamp(1em, 3vw, 2em) clamp(1em, 4vw, 3em);
}
.faq .smb-accordion__item:not(:first-child) {
  margin-top: clamp(1em, 3vw, 2em);
}
.faq .smb-accordion__item__title {
  background: transparent;
  color: #008fda;
  font-size: 1.1em;
  font-weight: 500;
  padding: 0 0 0 2em;
  position: relative;
}
.faq .smb-accordion__item__title::before {
  content: "Q.";
  font-size: 1.5em;
  font-size: 26px;
  font-weight: 400;
  position: absolute;
  top: -0.4em;
  left: 0;
}
.faq .smb-accordion__item__body {
  align-items: flex-start;
  gap: 0.3em;
  padding: 1.5em 0 0 2.5em;
}
.faq .smb-accordion__item__body::before {
  content: "A.";
  font-size: 1.5em;
  font-weight: 400;
  transform: translateY(-0.4em);
}
.faq .smb-accordion__item__body * {
  margin: 0 !important;
}
.faq .smb-accordion__item__control:checked + .smb-accordion__item__title + .smb-accordion__item__body {
  display: flex !important;
}
/* ===========================================================
   # INQ
=========================================================== */
.hidden-fields-container {
  border: none;
  padding: 0;
}

.inqTbl {
  display: grid;
  grid-template-columns: 1fr;
  line-height: 1.2;
  margin-bottom: clamp(0.5em, 2.4vw, 2em);
}
.inqTbl p {
  margin: 0;
}
.inqTbl .small {
  font-size: 0.8em;
}
.inqTbl dt {
  font-weight: 500;
}
.inqTbl dt span {
  color: var(--wp--preset--color--sub);
}
.inqTbl dd {
  margin: 0;
  padding: 0.5em 0 1.5em;
}
.inqTbl dd .wpcf7-form-control-wrap + .small {
  color: #888;
  margin-left: 0.5em;
}
.inqTbl dd .inqTxt {
  font-size: 1.3em;
  font-weight: 300;
  padding-right: 0.5em;
}
.inqTbl dd .inqBlock {
  display: inline-block;
  margin-top: 0.5em;
  width: 100%;
}
.inqTbl dd .wpcf7-not-valid {
  background: rgba(255, 246, 246, 0.5);
  border: 1px solid #c99 !important;
  display: inline-block;
}
.inqTbl dd span.wpcf7-not-valid-tip {
  display: none !important;
}
@media (min-width: 640px) {
  .inqTbl {
    grid-template-columns: clamp(15em, 30vw, 17em) auto;
  }
  .inqTbl dt, .inqTbl dd {
    padding: 1.5em;
  }
  .inqTbl dt:nth-of-type(2n), .inqTbl dd:nth-of-type(2n) {
    background: #fafafa;
  }
  .inqTbl dt {
    padding-top: 2em;
  }
}
/* = FORM
----------------------------------------------------------- */
body input[type=text], body input[type=email],
body input[type=tel], body input[type=number],
body textarea {
  border: 1px solid #ccc;
  color: inherit;
  width: 100%;
  max-width: 100%;
  padding: 0.5em;
  -webkit-appearance: none;
}
body input.sizeSs {
  width: 8rem;
}
body input.sizeS {
  width: 14rem;
}
body input.sizeL {
  max-width: 60rem;
}
body textarea {
  height: 200px;
}
body .wpcf7-radio, body .wpcf7-checkbox {
  display: block;
  padding: 0.3em 0;
}
body .wpcf7-list-item.first {
  margin-left: 0.3em;
}
body input[type=radio], body input[type=checkbox] {
  accent-color: #111;
}
body select {
  background: var(--wp--preset--color--white);
  border: 1px solid #ccc;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  padding: 0.5em 5em 0.5em 0.5em;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
body select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #333;
}
body .selectWrap span:after {
  border-right: 2px solid;
  border-bottom: 2px solid;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  pointer-events: none;
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1;
}
body .inqSend input[type=submit] {
  background: var(--wp--preset--color--main);
  border: none;
  color: var(--wp--preset--color--white);
  cursor: pointer;
  display: inline-block;
  line-height: clamp(2em, 8vw, 3em);
  outline: none;
  width: min(60vw, 23em);
}
body .inqSend input[type=submit]:hover {
  transform: scale(1.1);
}
body .inqSend .wpcf7-spinner {
  position: absolute;
}
@media (min-width: 640px) {
  body input.sizeM {
    max-width: 26rem;
  }
}
/*--------
アニメーション
DOMContentLoadedでloadedのclassを付与して再生開始
※適宜調整してください
----------*/
body.home.loaded .loader-polygon {
  animation: polygon-move-sp 2.2s cubic-bezier(0.45, 0, 0.55, 1) forwards;
}
@media screen and (min-width: 640px) {
  body.home.loaded .loader-polygon {
    animation: polygon-move 2.2s cubic-bezier(0.45, 0, 0.55, 1) forwards;
  }
}
body.home.loaded header.siteHead {
  animation: fade 1s ease-out forwards 1.2s;
}
body.home.loaded .homeMv {
  animation: zoom-slider 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards 1s;
}
body.home.loaded .catch {
  animation: fade-title 2s cubic-bezier(0.25, 1, 0.5, 1) forwards 2.4s;
}
/*--------
ファーストビュー
----------*/
.loader-polygon {
  position: fixed;
  z-index: 1000;
  top: calc(var(--header_height) + 4.5em + 320px);
  left: 50%;
  transform: translate(-50%, 0);
  aspect-ratio: 25/13;
  width: auto;
  height: 85.9375vw;
  max-width: none !important;
  pointer-events: none;
  padding: 0;
  margin: 0;
}
.loader-polygon img {
  width: 100%;
  height: 100%;
  max-width: none !important;
}
@media screen and (min-width: 640px) {
  .loader-polygon {
    top: var(--header_height);
    height: 59.921875vw;
  }
}

@keyframes polygon-move-sp {
  0% {
    top: calc(var(--header_height) - 39.0625vw);
    height: calc(100vh + 39.0625vw);
  }
  60% {
    top: calc(var(--header_height) + 4.5em + 320px);
    height: 85.9375vw;
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes polygon-move {
  0% {
    top: calc(var(--header_height) - 39.0625vw);
    height: calc(100vh + 39.0625vw);
  }
  60% {
    top: var(--header_height);
    height: 59.921875vw;
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.homeMv_wrap {
  position: relative;
  padding-top: var(--header_height);
  width: 100%;
  height: calc(85.9375vw + var(--header_height));
  overflow: hidden;
  -webkit-mask: url(../img/mask_kura.svg) no-repeat center var(--header_height) alpha;
          mask: url(../img/mask_kura.svg) no-repeat center var(--header_height) alpha;
  -webkit-mask-size: 163.984375vw 85.9375vw;
          mask-size: 163.984375vw 85.9375vw;
}
@media screen and (min-width: 640px) {
  .homeMv_wrap {
    height: calc(59.921875vw + var(--header_height));
    -webkit-mask-size: 114.21875vw 59.921875vw;
            mask-size: 114.21875vw 59.921875vw;
  }
}

/* フェードインスライダー */
.homeMv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  transform-origin: bottom center;
}
.homeMv .slick-slide {
  width: 100%;
  height: 100%;
  overflow: hidden;
  transform-origin: bottom center;
}
.homeMv .slick-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.homeMv .slick-slide.add-animation {
  animation: zoom-slider 8s linear forwards;
}

@keyframes zoom-slider {
  from {
    transform: scale(1.05);
  }
  to {
    transform: scale(1);
  }
}
/* タイトル */
.catch {
  opacity: 0;
  margin: calc(var(--header_height) + 2em) 2em -2em 0;
  padding: 0;
  text-align: right;
}
.catch img {
  height: 320px;
  width: 110px;
}
@media (min-width: 640px) {
  .catch {
    position: absolute;
    z-index: 10;
    top: calc(3.90625vw + var(--header_height));
    right: 13.515625vw;
    width: 10.46875vw;
    height: 30.546875vw;
    margin: 0;
  }
  .catch img {
    width: 100%;
    height: 100%;
  }
}

@keyframes fade-title {
  0% {
    opacity: 0;
    filter: blur(20px);
    transform: scale(1.2);
  }
  80% {
    filter: blur(0);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}
/*--------
スクロールするキャッチフレーズ
----------*/
.catchphrase-wrapper {
  position: relative;
}
.catchphrase-wrapper .scroll-catchphrase {
  position: relative;
  overflow: hidden;
}
.catchphrase-wrapper .scroll-catchphrase .catchphrase-loop {
  animation: loop 30s linear infinite;
  display: grid !important;
  gap: 0.5em;
  grid-template-columns: clamp(100px, 18vw, 225px) auto;
  font-size: min(4vw, 40px);
  width: -moz-max-content;
  width: max-content;
  line-height: 1;
  margin: 0;
  padding-right: 1em;
}
.catchphrase-wrapper .scroll-catchphrase .catchphrase-loop.loop2 {
  position: absolute;
  top: 0;
  left: 0;
  animation: loop 30s -15s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

/*--------
画像付きリード文
----------*/
.homeCont {
  margin-top: 0 !important;
  background-color: #fff;
}

.homeNote {
  padding-top: clamp(3em, 12vw, 120px);
}

.lead-box {
  opacity: 0;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: auto;
  padding-inline: 24px;
  box-sizing: border-box;
}
.lead-box .lead-item {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
@media screen and (min-width: 640px) {
  .lead-box .lead-item {
    gap: 16px;
  }
}
.lead-box .lead-item span,
.lead-box .lead-item img {
  display: block;
}
.lead-box .lead-item span {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (min-width: 640px) {
  .lead-box .lead-item span {
    font-size: 32px;
  }
}
.lead-box .lead-item img {
  height: 28px;
  width: auto;
}
@media screen and (min-width: 640px) {
  .lead-box .lead-item img {
    height: 88px;
  }
}
.lead-box .lead-item + .lead-item {
  margin-top: 40px;
}

@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-in {
  from {
    transform: translateY(50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
body.home {
  background-color: #008FDA;
}

.home header.siteHead {
  opacity: 0;
}

.siteFoot {
  background-color: #fff;
}

/*--------
↑↑↑↑↑↑↑↑↑
ファーストビューのCSSここまで
----------*//*# sourceMappingURL=kamimura.css.map */