/*
Theme Name: Genova Template
File: top.css
Theme Author: Genova Design
Author URI: https://genova.co.jp/
Description: Description: This file is reserved for the top-page css
Version: 1.0
*/
body {
  letter-spacing: 0.08em;
}

#main {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.post-password-form {
  padding: 150px 30px;
  box-sizing: border-box;
}

.ttl-style-1 .elementor-heading-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-align: center;
}
.ttl-style-1 .elementor-heading-title small {
  font-size: 24px;
  letter-spacing: 0.08em;
}
.ttl-style-1 .elementor-heading-title .en {
  display: inline-block;
  padding: 3px 16px;
  background: var(--wp--preset--color--pale-spring-bud);
  border-radius: 99px;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ttl-style-1 .elementor-heading-title .jp {
  display: block;
  margin-top: 8px;
}

.ttl-style-1.txt-vertical .elementor-heading-title {
  text-align: left;
  cursor: vertical-text;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  word-wrap: break-word;
}
.ttl-style-1.txt-vertical .elementor-heading-title .en {
  padding: 15px 3px;
  direction: rtl;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: sideways-right;
  -o-text-orientation: sideways-right;
  -ms-text-orientation: upright;
  -ms-text-orientation: sideways-right;
  -moz-text-orientation: sideways-right;
  -webkit-text-orientation: sideways-right;
}
.ttl-style-1.txt-vertical .elementor-heading-title .jp {
  letter-spacing: 0.28em;
}

.ttl-style-1.txt-vertical .elementor-heading-title,
.ttl-style-1.txt-vertical-ipad .elementor-heading-title,
.ttl-style-1.txt-vertical-pc .elementor-heading-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
  -ms-flex-align: center;
      align-items: center;
}

@media screen and (max-width: 767px) {
  .ttl-style-1 .elementor-heading-title {
    font-size: 36px;
  }
  .ttl-style-1 .elementor-heading-title small {
    font-size: 16px;
  }
  .ttl-style-1 .elementor-heading-title .en {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .ttl-style-1.txt-vertical-ipad .elementor-heading-title {
    display: block;
    text-align: left;
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
  .ttl-style-1.txt-vertical-ipad .elementor-heading-title .en {
    padding: 15px 3px;
    direction: rtl;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: sideways-right;
    -o-text-orientation: sideways-right;
    -ms-text-orientation: upright;
    -ms-text-orientation: sideways-right;
    -moz-text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
  }
}
@media screen and (min-width: 1180px) {
  .ttl-style-1.txt-vertical-pc .elementor-heading-title {
    display: block;
    text-align: left;
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
  .ttl-style-1.txt-vertical-pc .elementor-heading-title .en {
    padding: 15px 3px;
    direction: rtl;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: sideways-right;
    -o-text-orientation: sideways-right;
    -ms-text-orientation: upright;
    -ms-text-orientation: sideways-right;
    -moz-text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
  }
}
/*--------------------------------------
	mainimage
--------------------------------------*/
#mainimage {
  z-index: 0;
}
#mainimage::after {
  content: "";
  background: url("../img/pattern1.jpg");
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 110' fill='none'%3E%3Cpath d='M1024.5 0C1158.78 0 1366 40 1366 40V109.5H0V40C0 40 207.224 80 341.5 80C475.776 80 548.5 63.5 683 40C817.5 16.5 890.224 0 1024.5 0Z' fill='white'/%3E%3C/svg%3E") bottom center/100% no-repeat, linear-gradient(#000 0 0);
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 110' fill='none'%3E%3Cpath d='M1024.5 0C1158.78 0 1366 40 1366 40V109.5H0V40C0 40 207.224 80 341.5 80C475.776 80 548.5 63.5 683 40C817.5 16.5 890.224 0 1024.5 0Z' fill='white'/%3E%3C/svg%3E") bottom center/100% no-repeat, linear-gradient(#000 0 0); /* we need this extra layer for mask-composite */
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  position: absolute;
  inset: 0;
  z-index: -1;
}
#mainimage .ttlbox ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  gap: 8px;
}
#mainimage .ttlbox ul li {
  padding: 11px 16px 12px 12px;
  background: #fff;
  border-radius: 99px;
}
@media screen and (max-width: 767px) {
  #mainimage .ttlbox ul li {
    padding: 8px 16px 8px 12px;
  }
}
@media screen and (max-width: 1179px) {
  #mainimage .imgbox1, #mainimage .imgbox2, #mainimage .imgbox3 {
    position: relative;
    inset: auto;
  }
  #mainimage .imgbox1 > .elementor-widget-image, #mainimage .imgbox2 > .elementor-widget-image, #mainimage .imgbox3 > .elementor-widget-image {
    position: relative;
    inset: auto;
  }
}

/*--------------------------------------
	sections
--------------------------------------*/
#access .map {
  height: 100%;
  min-height: 300px;
  padding-top: 0;
}

#features {
  z-index: 0;
}
#features::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M1024.5 100C1158.78 100 1366 63.4703 1366 63.4703V0H0V63.4703C0 63.4703 207.224 26.9406 341.5 26.9406C475.776 26.9406 548.5 42.0091 683 63.4703C817.5 84.9315 890.224 100 1024.5 100Z' fill='white'/%3E%3C/svg%3E") top center/100% no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M341.5 0C207.224 0 0 36.5297 0 36.5297V100H1366V36.5297C1366 36.5297 1158.78 73.0594 1024.5 73.0594C890.224 73.0594 817.5 57.9909 683 36.5297C548.5 15.0685 475.776 0 341.5 0Z' fill='white'/%3E%3C/svg%3E") bottom center/100% no-repeat, linear-gradient(#000 0 0);
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M1024.5 100C1158.78 100 1366 63.4703 1366 63.4703V0H0V63.4703C0 63.4703 207.224 26.9406 341.5 26.9406C475.776 26.9406 548.5 42.0091 683 63.4703C817.5 84.9315 890.224 100 1024.5 100Z' fill='white'/%3E%3C/svg%3E") top center/100% no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M341.5 0C207.224 0 0 36.5297 0 36.5297V100H1366V36.5297C1366 36.5297 1158.78 73.0594 1024.5 73.0594C890.224 73.0594 817.5 57.9909 683 36.5297C548.5 15.0685 475.776 0 341.5 0Z' fill='white'/%3E%3C/svg%3E") bottom center/100% no-repeat, linear-gradient(#000 0 0); /* we need this extra layer for mask-composite */
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
#features::after {
  content: "";
  background: url("../img/pattern1.jpg");
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M1024.5 100C1158.78 100 1366 63.4703 1366 63.4703V0H0V63.4703C0 63.4703 207.224 26.9406 341.5 26.9406C475.776 26.9406 548.5 42.0091 683 63.4703C817.5 84.9315 890.224 100 1024.5 100Z' fill='white'/%3E%3C/svg%3E") top center/100% no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M341.5 0C207.224 0 0 36.5297 0 36.5297V100H1366V36.5297C1366 36.5297 1158.78 73.0594 1024.5 73.0594C890.224 73.0594 817.5 57.9909 683 36.5297C548.5 15.0685 475.776 0 341.5 0Z' fill='white'/%3E%3C/svg%3E") bottom center/100% no-repeat, linear-gradient(#000 0 0);
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M1024.5 100C1158.78 100 1366 63.4703 1366 63.4703V0H0V63.4703C0 63.4703 207.224 26.9406 341.5 26.9406C475.776 26.9406 548.5 42.0091 683 63.4703C817.5 84.9315 890.224 100 1024.5 100Z' fill='white'/%3E%3C/svg%3E") top center/100% no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M341.5 0C207.224 0 0 36.5297 0 36.5297V100H1366V36.5297C1366 36.5297 1158.78 73.0594 1024.5 73.0594C890.224 73.0594 817.5 57.9909 683 36.5297C548.5 15.0685 475.776 0 341.5 0Z' fill='white'/%3E%3C/svg%3E") bottom center/100% no-repeat, linear-gradient(#000 0 0); /* we need this extra layer for mask-composite */
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  position: absolute;
  inset: 0;
  z-index: -1;
}
#features .container {
  z-index: 2;
}
#features .box-style {
  padding: 50px 60px;
  border-left: 1px dashed var(--wp--preset--color--gold);
  border-bottom: 1px dashed var(--wp--preset--color--gold);
}
#features .box-style:nth-child(odd) {
  padding-left: 0;
  border-left: 0;
}
#features .box-style:nth-child(even) {
  padding-right: 0;
}
#features .box-style:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
#features .box-style:first-child {
  padding-top: 0;
}
#features .btn a.elementor-button.elementor-size-sm {
  width: auto;
  max-width: none;
  padding-right: 56px;
}
@media screen and (max-width: 1179px) {
  #features .box-style {
    padding: 40px 20px;
  }
}
@media screen and (max-width: 767px) {
  #features .box-style {
    padding: 30px 0;
    border-left: 0;
  }
}
@media screen and (max-width: 450px) {
  #features .box-style {
    border-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  #features .box-style:nth-child(-n+2) {
    padding-top: 0;
  }
  #features .box-style:nth-last-child(-n+2) {
    padding-bottom: 0;
    border-bottom: 0;
  }
  #features .box-style .icon {
    left: auto;
    right: 10px;
    bottom: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1179px) {
  #features .box-style .txt,
  #features .box-style .ttl .elementor-heading-title {
    letter-spacing: 0;
  }
}

#menu::before {
  z-index: 1;
}

#menu .container {
  z-index: 2;
}
#menu .box-style {
  height: 100%;
  padding: 32px 24px 64px;
  background: #fff;
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.25);
  border-radius: 16px;
}
#menu .box-style::after {
  content: "";
  width: auto;
  height: 48px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 16' fill='none'%3E%3Cpath d='M16.7071 8.70711C17.0976 8.31658 17.0976 7.68342 16.7071 7.29289L10.3431 0.928932C9.95262 0.538408 9.31946 0.538408 8.92893 0.928932C8.53841 1.31946 8.53841 1.95262 8.92893 2.34315L14.5858 8L8.92893 13.6569C8.53841 14.0474 8.53841 14.6805 8.92893 15.0711C9.31946 15.4616 9.95262 15.4616 10.3431 15.0711L16.7071 8.70711ZM0 8V9H16V8V7H0V8Z' fill='%23AACD60'/%3E%3C/svg%3E") right center/16px no-repeat;
  border-top: 1px solid var(--wp--preset--color--middle-green-yellow);
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
}
#menu .box-style > .elementor-widget-container {
  height: auto;
}
#menu .box-style .elementor-image-box-img {
  margin-bottom: 8px;
}
#menu .box-style .elementor-image-box-description {
  margin-top: 8px;
  text-align: left;
}
#menu .box-style-1 {
  height: 100%;
  padding: 24px 24px 8px;
  background: #fff;
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.25);
  border-radius: 16px;
}
#menu .box-style-1 > .elementor-widget-container {
  height: auto;
}
#menu .box-style-1 .elementor-image-box-title {
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
  padding-right: 30px;
  position: relative;
}
#menu .box-style-1 .elementor-image-box-title::after {
  content: "";
  width: auto;
  width: 16px;
  height: 16px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 16' fill='none'%3E%3Cpath d='M16.7071 8.70711C17.0976 8.31658 17.0976 7.68342 16.7071 7.29289L10.3431 0.928932C9.95262 0.538408 9.31946 0.538408 8.92893 0.928932C8.53841 1.31946 8.53841 1.95262 8.92893 2.34315L14.5858 8L8.92893 13.6569C8.53841 14.0474 8.53841 14.6805 8.92893 15.0711C9.31946 15.4616 9.95262 15.4616 10.3431 15.0711L16.7071 8.70711ZM0 8V9H16V8V7H0V8Z' fill='%23AACD60'/%3E%3C/svg%3E") right center/contain no-repeat;
  position: absolute;
  top: 12px;
  right: 0;
}
#menu .box-style-1 .elementor-image-box-img {
  margin-bottom: 8px;
}
#menu .box-style-1 .elementor-image-box-description {
  margin-top: 8px;
  text-align: left;
}
#menu .set1 > .elementor-element {
  max-width: 258px;
}
#menu .set2 .gr2 > .elementor-element {
  max-width: 295px;
}
@media screen and (max-width: 1179px) {
  #menu .set1 > .elementor-element {
    max-width: 48%;
  }
  #menu .set2 .gr2 > .elementor-element {
    max-width: 48%;
  }
}
@media screen and (max-width: 767px) {
  #menu .box-style {
    padding: 24px 24px 64px;
  }
  #menu .box-style .elementor-image-box-wrapper {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
  }
  #menu .box-style .elementor-image-box-img {
    width: 66px;
  }
  #menu .box-style-1 .elementor-image-box-title::after {
    top: 9px;
  }
  #menu .box-style .elementor-image-box-content {
    width: calc(100% - 90px);
  }
  #menu .box-style .elementor-image-box-description {
    font-size: 15px;
    line-height: 160%;
    letter-spacing: 0;
  }
  #menu .set1 > .elementor-element {
    width: 100%;
    max-width: 100%;
  }
  #menu .set2 .gr2 > .elementor-element {
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #menu::before {
    background-image: url("../img/bg4_sp.png");
    background-size: cover;
  }
}
@media screen and (min-width: 768px) {
  #menu .box-style .elementor-image-box-img {
    height: 78px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    margin: 0 auto;
  }
}

#gym {
  position: relative;
  z-index: 0;
}
#gym::before, #gym::after {
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M341.5 0C207.224 0 0 36.5297 0 36.5297V100H1366V36.5297C1366 36.5297 1158.78 73.0594 1024.5 73.0594C890.224 73.0594 817.5 57.9909 683 36.5297C548.5 15.0685 475.776 0 341.5 0Z' fill='white'/%3E%3C/svg%3E") bottom center/100% no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M1024.5 100C1158.78 100 1366 63.4703 1366 63.4703V0H0V63.4703C0 63.4703 207.224 26.9406 341.5 26.9406C475.776 26.9406 548.5 42.0091 683 63.4703C817.5 84.9315 890.224 100 1024.5 100Z' fill='white'/%3E%3C/svg%3E") top center/100% no-repeat, linear-gradient(#000 0 0);
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M341.5 0C207.224 0 0 36.5297 0 36.5297V100H1366V36.5297C1366 36.5297 1158.78 73.0594 1024.5 73.0594C890.224 73.0594 817.5 57.9909 683 36.5297C548.5 15.0685 475.776 0 341.5 0Z' fill='white'/%3E%3C/svg%3E") bottom center/100% no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 100' fill='none'%3E%3Cpath d='M1024.5 100C1158.78 100 1366 63.4703 1366 63.4703V0H0V63.4703C0 63.4703 207.224 26.9406 341.5 26.9406C475.776 26.9406 548.5 42.0091 683 63.4703C817.5 84.9315 890.224 100 1024.5 100Z' fill='white'/%3E%3C/svg%3E") top center/100% no-repeat, linear-gradient(#000 0 0); /* we need this extra layer for mask-composite */
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  position: absolute;
  inset: 0;
}
#gym::before {
  background: var(--wp--preset--color--yellow);
}
#gym::after {
  background: url("../img/pattern2.jpg");
  transform: scaleX(-1);
}
#gym .ttl-style-1 .elementor-heading-title .en {
  background: var(--wp--preset--color--yellow);
}
#gym .box-style {
  padding: 5px 40px 5px 60px;
}
#gym .box-style .elementor-heading-title {
  position: relative;
}
#gym .box-style .elementor-heading-title::before {
  content: "";
  width: 20px;
  height: 16px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 15' fill='none'%3E%3Cpath d='M15.4324 1.43359C15.6972 1.43359 15.9596 1.48579 16.2039 1.58789C16.4482 1.69002 16.6702 1.83986 16.8562 2.02832H16.8552C17.2286 2.40307 17.4381 2.91037 17.4382 3.43945C17.4382 3.96946 17.2278 4.47851 16.8533 4.85352L8.35327 13.3535C7.97832 13.728 7.47011 13.9384 6.94019 13.9385C6.41028 13.9385 5.90208 13.7279 5.5271 13.3535H5.52612L1.14624 8.97363C0.771706 8.59863 0.561279 8.08957 0.561279 7.55957C0.561345 7.02966 0.771764 6.52143 1.14624 6.14648C1.33178 5.95908 1.55234 5.80976 1.79565 5.70801C2.03989 5.60592 2.30243 5.55375 2.56714 5.55371C2.83187 5.55371 3.09436 5.60595 3.33862 5.70801C3.58296 5.81014 3.80493 5.95997 3.99097 6.14844H3.98999L6.23315 8.39062C6.42065 8.57789 6.67519 8.68359 6.94019 8.68359C7.2051 8.68353 7.45879 8.57784 7.64624 8.39062L14.0115 2.02637C14.197 1.83899 14.4176 1.68961 14.6609 1.58789C14.9052 1.48577 15.1676 1.43361 15.4324 1.43359Z' stroke='%23AACD60' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 0 0/contain no-repeat;
  position: absolute;
  top: 13px;
  left: -30px;
}
#gym .set > .elementor-element:not(.first) {
  border-left: 1px dashed var(--wp--preset--color--gold);
}
@media screen and (max-width: 1179px) {
  #gym .box-style {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #gym .set > .elementor-element:not(.first) {
    border-left: 0;
  }
  #gym .set > .elementor-element:not(.img):not(:last-child) {
    border-bottom: 1px dashed var(--wp--preset--color--gold);
  }
}
@media screen and (max-width: 767px) {
  #gym .box-style {
    padding-left: 40px;
    padding-right: 0;
  }
  #gym .set .img {
    top: auto;
    bottom: -40px;
    left: auto;
    right: -15px;
  }
}

#greeting::before {
  min-height: 667px;
  z-index: 1;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #greeting::after {
    content: '';
    width: 30%;
    height: 41%;
    background: url('../img/greeting_bgl.png') bottom left / contain no-repeat;
    position: absolute;
    bottom: -30px;
    left: -30px;
    z-index: -1;
  }
}