@charset "UTF-8";

#mainImage {
  position: relative;
  height: 56vw;
  z-index: 1;
}
/* #mainImage::before, #mainImage::after{
  width: 100%;
  height: 40.5vw;
  position: absolute;
  content: "";
  z-index: 1;
  left: 0;  
}
#mainImage::before {
  background: linear-gradient(90deg, #62deb5 0%, #63cde0 100%);
  top: 56vw;
  clip-path: polygon(0 57%, 100% 43%, 100% 100%);
}
#mainImage::after {
  background: #d3fc32;
  top: 51vw;
  clip-path: polygon(0 44%, 100% 0, 100% 56%, 0 100%);
} */

#mainImage .mv {
  background-image: url(../img/guide/mv.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.mvs img {
  position: absolute;
  bottom: -27.7vw;
  left: 0;
  z-index: 2;
  height: auto;
}
.hero-contents {
  top: 0;
  left: 0;
  color: #fff;
  text-align: left;
  margin: 0 auto;
  width: 60vw;
  max-width: 864px;
  padding: 17.3vw 0 0;
  font-weight: 700;
}

.hero-contents .hero-copy {
  margin-bottom: 0rem;
  position: relative;
  z-index: 1;
  text-align: center;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.35));
}

.hero-contents .en {
  font-style: italic;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.15));
  text-align: center;
}
.hero-contents h1 {
  font-size: clamp(3rem, 7.6vw,11rem);
  line-height: 0.9;
  letter-spacing: 1px;
}
.hero-contents h3 {
  font-size: clamp(2rem, 2.4vw, 3.2rem);
  letter-spacing: 0px;
  line-height: 1.2;
}
.hero-contents h5 {
  font-size: clamp(1.1rem, 1.64vw, 2rem);
  font-weight: 900;
  margin: 0.5vw 0 1vw;
}

@media only screen and (max-width: 640px) {
  #mainImage {
    height: 90vw;
  }
  /* #mainImage::before, #mainImage::after{
    top: 137vw;
  }
  #mainImage::before {
    height: 121vw;
    clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%);
  }
  #mainImage::after {
    height: 84vw;
    clip-path: polygon(0 21%, 100% 0, 100% 79%, 0 100%);
  }
 */
  #mainImage .mv {
    height: 90vw;
    background-image: url(../img/guide/mv_sp.jpg);
  }
  .hero-contents{
    margin: 0 auto;
    padding: 29vw 0 0;
    width: 100%;
  }
  /* .hero-copy{
    margin-left: 1.2vw;
  } */
  .hero-contents h1 {
    font-size: 14vw;
  }  
  .hero-contents h1:first-child {
    margin-left: -4vw;
    letter-spacing: -0.3vw;
  }
  .hero-contents h3 {
    letter-spacing: -0.1vw;
    font-size: 4vw;
  }
  .hero-copy::after{
    width: 100%;
    top: 4vw;
    left: -4vw;
  }
  .hero-contents h5 {
    margin: 0 0 2vw;
    font-size: 2.8vw;
  }
  .hero-contents p {
    line-height: 1.7;
    font-size: 2.95vw;
  }
}
@media only screen and (min-width: 641px) {
  nav.local {
    z-index: 2;
    background: #000;
    margin: -13vw auto 13vw;
    padding: 0;
    width: 83%;
    transform: skew(-30deg);
  }
  nav.local .local-inner {
    /* transform: skew(30deg); */
    padding: 0 5vw 0 3vw;
}
  nav.local .l-nav{ justify-content: space-between; }
  .l-nav a{ color: #fff; }
  ul.l-nav li:first-child {
    background: #4fb401;
    color: #fff;
    padding: 1.8vw 0;
    /* clip-path: polygon(20% 0, 100% 0, 80% 100%, -1% 101%); */
    margin-right: 0.6vw;
    margin-left: -3vw;
    font-size: clamp(0.9rem, 1.2vw, 1.7rem);
    width: 17%;
    transform: skew(0deg);
  }
  ul.l-nav li:first-child span {
    transform: skew(30deg);
    display: block;
  }
  ul.l-nav li {
    /* padding: 1.8vw 0; */
    font-weight: 700;
    font-size: clamp(0.8rem, 1.1vw, 1.55rem);
    min-width: 8vw;
    transform: skew(30deg);
  }
  nav.local .l-nav a{ 
    position: relative;
    overflow: visible;
    filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.3));
  }

  nav.local .l-nav a::before{
    content: "";
      border: #d3fc32 solid 2.8vw;
      clip-path: polygon(73% 0%, 78% 0, 32% 100%, 27% 100%);
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      height: 150%;
      width: 5vw;
      z-index: 1;
      opacity: 0;
      transition: all .5s;
      box-sizing: content-box;
    }
    ul.l-nav li:nth-child( n + 5 ) a::before{
      height: 115%;
      border-width: 30px 40px 30px;
      left: 25%;
    }
    nav.local .l-nav a:hover::before{
      opacity: 1;
      transition: all .5s;
    }

  .lnav-footer nav.local{
    margin: 0 auto 7vw;
  }
  .lnav-first .lnav-footer nav.local {
    margin: 0px auto 9vw;
}
}

/* .section {
  position: relative;
} */
section .section-content {
  align-items: flex-start;
  flex-wrap: wrap;
  z-index: 1;
}
.gnav-guide section .section-content > * {
  width: 100%;
}
.section-content.flex > .flex-box {
  width: 50%;
}
.section-content.flex .flex-box .hero-copy {
  margin-left: -2rem;
  margin-bottom: 0rem;
  position: relative;
  z-index: 1;
  top: 0;
  left: 0;
  text-align: left;
  margin: 12vw -3.5vw 0 3.5vw;
  padding: 0;
  font-weight: 700;
  justify-content: flex-start;
}
.section-content.flex .flex-box .hero-copy h1 {
  transform: rotate(-10deg);
  transform-origin: left;
  font-style: italic;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.15));
  font-size: clamp(5.5rem, 7.7vw, 11rem);
  line-height: 0.85;
  letter-spacing: 0;
}
.section-content.flex .flex-box .hero-copy h1:last-child {
  left: 2.8vw;
  position: relative;
}

.section-content.flex .flex-box .hero-copy::after {
  content: '';
  width: 104%;
  height: 16vw;
  position: absolute;
  top: 0;
  bottom: -3.6rem;
  left: 0;
  z-index: -1;
}
.section-content.flex .flex-box.text-content {
  margin: -7vw 0 0 0vw;
  width: 43%;
  text-align: left;
  z-index: 1;
}
.flex-box.text-content h5 {
  font-size: clamp(1.0rem, 2.0vw, 2.9rem);
  font-weight: 900;
  /* margin: 1.5rem 0 2.3rem; */
  margin: 1.2vw -2vw 1.5vw 0;
  /* filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.35)); */
}
.flex-box p {
  font-size: clamp(0.9rem, 1.05vw, 1.5rem);
  line-height: 2;
  font-weight: 700;
  padding-bottom: 2.5vw;
  margin-bottom: 0;
}
#wrapper .note a {
  color: #0072ff;
  text-decoration: underline;
  text-underline-offset: 0.5em;
}
@media only screen and (max-width: 640px) {
  .section-content.flex > .flex-box {
    width: 100%;
  }
  .section-content.flex .flex-box .hero-copy {
    margin: 2vw 0 0 2vw;
  }
  .section-content.flex .flex-box .hero-copy h1{
    font-size: 14.7vw;
  }
  .section-content.flex .flex-box .hero-copy h1:last-child{
    left: 5vw;
  }
  .section-content.flex .flex-box .hero-copy::after {
    width: 100%;
    height: 31vw;
    bottom: 0;
    top: -1vw;
  }
  .section-content.flex .flex-box.text-content {
    width: 90%;
    margin: -14vw auto 0;
    position: relative;
  }
  .flex-box.text-content h5 {
    font-size: 6.4vw;
    text-align: left;
  }
  .flex-box h5 {
    line-height: 1.6;
    margin-bottom: 3vw;
    text-align: center;
    font-size: 6.4vw;
  }
  .flex-box p {
    line-height: 1.8;
    padding-bottom: 6vw;
    font-size: 3.2vw;
  }
}
.org {
  color: #ff4d00;
}
section::before,
section::after {
  position: absolute;
  width: 100%;
  content: "";
  top: 0;
}
section::before {
  z-index: 0;
  left: 0;
}
section::after {
  z-index: -1;
  bottom: 0;
  right: 0;
}
section:not(.top-content) .section-content h1 {
  color: #007e44;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: clamp(4rem,5.3vw,7.7rem);
  line-height: 1.1;
  letter-spacing: 0;
}


#mainImage::before,
#mainImage::after {
  position: absolute;
  width: 100%;
  content: "";
  top: 38vw;
  left: 0;
}
.gnav-guide #mainImage::before {
  background: #d3fc32;
  height: 43vw;
  clip-path: polygon(0 40%, 100% 0, 100% 60%, 0 100%);
  z-index: 1;
}
.gnav-guide #mainImage::after {
  background: #62deb5;
  height: 37vw;
  clip-path: polygon(0 25%, 100% 25%, 100% 100%, 0 55%);
  z-index: -1;
}
@media only screen and (max-width: 640px) {
  .gnav-guide #mainImage::before {
    top: 69vw;
    height: 67vw;
    clip-path: polygon(0 27%, 100% 0, 100% 70%, 0 100%);
  }
  .gnav-guide #mainImage::after {
    background: #62deb5;
    top: 81vw;
    height: 67vw;
    clip-path: polygon(0 25%, 100% 25%, 100% 100%, 0 74%);
  }
  
}

/* section.business-hour::before {
  background: #d3fc32;
  height: 44vw;
  clip-path: polygon(0 41%, 100% 0, 100% 59%, 0 100%);
  z-index: 1;
}
section.business-hour::after {
  background: #62deb5;
  height: 37vw;
  clip-path: polygon(0 25%, 100% 25%, 100% 100%, 0 55%);
} */
section.business-hour .section-content {
  position: relative;
  margin-top: -24vw;
  padding-top: 18vw;
}
section.register .section-content {
  padding-top: 4vw;
}
section.register .section-content .flex > img {
  width: 39%;
  padding-left: 5.5%;
}
section.register .section-content h1 {
  text-align: left;
  line-height: 1.3;
  width: 60%;
}
.gnav-guide section .section-content h3.txt-center {
  font-size: clamp(2rem, 2.8vw, 3.9rem);
  padding: 0 0 1.6vw;
  line-height: 1.4;
}
.gnav-guide section .section-content h3.grn {
  margin: 4vw 0;
}
.gnav-guide section.annual .section-content h3.grn:first-child{ margin-bottom: 0; }
.gnav-guide section.annual .section-content h3.grn:nth-child(3){ margin-top: 0;}
/* .gnav-guide.lnav-index section .section-content .card-registration {
  margin-bottom: 10vw;
} */

@media only screen and (max-width: 640px) {
  section.business-hour .section-content {
    margin-top: 7vw;
    padding-top: 0;
  }
  section.business-hour img {
    padding: 0;
}
section.register .section-content{ padding-top: 14vw; margin-bottom: 20vw;}
section.register .section-content .flex img{ width: 60%; padding-left: 0;}
section.register .section-content h1{ width: 100%; font-size: 10.5vw;}
section.register .section-content > * {
  width: 95%;
  margin: 0 auto;
}
section.register .flex, section.register .grn {
  width: 100%;
}
section.register .section-content h1{
  /* margin-left: 3%; */
  margin-top: -2vw;
  text-align: center;
}
section.register .section-content h1 .kana{
  margin-left: 3%;
}
.gnav-guide section .section-content h3.txt-center{
  font-size: 6.5vw;
  margin: 4vw auto 3vw;
}
section.register .section-content p.txt-center{
  text-align: left;
  text-indent: -3vw;
  padding-left: 5vw;
}
.gnav-guide section .section-content h3.grn {
  margin: 13vw 0 5vw;
  padding: 2.5vw 0;
  letter-spacing: 0px;
}
.gnav-guide section.annual .section-content h3.grn:nth-child(3){
  margin-bottom: 8vw;  
}
}

.gnav-guide.lnav-index section .section-content .card-registration::before {
  position: absolute;
  width: 100vw;
  content: "";
  top: 40vw;
  background: #62deb5;
  height: 103vw;
  clip-path: polygon(0 75%, 100% 75%, 100% 97%, 0 80%);
  z-index: -1;
  left: 0;
  margin-left: calc(50% - 50vw);
}
.gnav-guide.lnav-index section .section-content .card-registration::after {
  position: absolute;
  width: 100vw;
  content: "";
  top: 40vw;
  background: #d3fc32;
  height: 103vw;
  clip-path: polygon(0 17%, 100% 0, 100% 83%, 0 100%);
  z-index: -1;
  left: 0;
  margin-left: calc(50% - 50vw);
}
.gnav-guide section .section-content .card-registration ol {
  width: 80%;
  margin: 0 auto;
  counter-reset: number;
}
.gnav-guide section .section-content .card-registration li {
  font-size: clamp(2rem, 2.4vw, 3.5rem);
  color: #007e44;
  font-weight: 900;
  text-align: left;
  position: relative;
  line-height: 0.9em;
  padding: 0.5em 0.5em 0.5em 6vw;
  height: 6.43vw;
  align-content: center;
}
.gnav-guide section .section-content .card-registration ol li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  background: #ff4d00;
  color: white;
  font-weight: bold;
  font-size: clamp(1rem,2.1vw,3rem);
  border-radius: 50%;
  left: 0;
  width: clamp(2rem,4.2vw,6rem)/*60px*/;
  height: clamp(2rem,4.2vw,6rem);
  line-height: clamp(2rem,4.2vw,6rem)/*60px*/;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: 0.1vw;
}
.gnav-guide section .section-content .card-registration ol li small {
  font-size: clamp(1rem, 1.1vw, 1.6rem);
}

@media only screen and (max-width: 640px) {
  .gnav-guide.lnav-index section .section-content .card-registration::before {
    top: 409vw;
  }
  .gnav-guide.lnav-index section .section-content .card-registration::after {
    top: 176vw;
    height: 336vw;
    clip-path: polygon(0 6%, 100% 0, 100% 94%, 0 100%);
  }
  
  .gnav-guide section .section-content .card-registration ol {
    width: 95%;
  }
  .gnav-guide section .section-content .card-registration li{
    height: auto;
    line-height: 1.3em;
    padding: 0.3em 0 0.3em 14vw;
  }
  .gnav-guide section .section-content .card-registration ol li:before{
    margin-top: 0.1vw;
    font-size: 5vw;
    width: 9vw;
    height: 9vw;
    line-height: 9vw;
    top: 0.1em;
    transform: unset;
  }
  .gnav-guide section .section-content .card-registration ol li small{
    font-size: 3.2vw;
    display: block;
    line-height: 1.8;
  }
}
.service.flex {
  padding-top: 5vw;
  margin: 0 auto;
  width: 94%;
  align-items: flex-start;
  color: #007e44;
}
.lnav-visitor2 .service.flex {
  padding-top: 3vw;
}
.service.flex .flex-column {
  justify-content: flex-start;
  text-align: left;
  width: 48.5%;
}
.service .flex-box h5 {
  font-weight: 900;
  text-align: center;
  font-size: clamp(2.6rem, 3vw, 3.9rem);
  /* color: #007e44; */
  /* background: transparent; */
  padding: 0.6vw 0;
  line-height: 1;
}
.service .flex-box h5.price {
  letter-spacing: 0;
}
.service .flex-box > h5 {
  font-size: clamp(1rem, 2.1vw, 3.0rem);
  line-height: 1.7;
  margin-bottom: 2vw;
  border: solid 0.35vw #007e44;
  background: #fff;
}
.service p {
  font-size: clamp(1.0rem, 1.66vw, 2.4rem);
  padding-bottom: 0;
  font-weight: 900;
  line-height: 1.9;
}
.service p:has(small) {
  line-height: 1;
  padding-left: 0.5em;
  text-indent: -0.5em;
}
.service p small {
  font-size: 57%;
}
.service .points .redemption {
  padding: 0 0.7vw 0.7vw;
}
.service .flex-box h5 + h5 {
  width: auto;
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.service .flex-box h5 + h5:before {
  content: '';
  height: 1vw/*1.0rem*/;
  background-color: transparent;
  flex-grow: 1;
  margin-right: 0vw;
  display: flex;
  position: relative;
  top: 50%;
  left: 0;
  /* width: 44%; */
  background-image: radial-gradient(#007e44 32%, transparent 32%);
  background-size: 0.9vw/*13px*/;
  margin: 0 1.5vw;
}
.service .flex-box h5 + h5 sub {
  font-size: 50%;
  bottom: -0.5em;
}
.card-registration .buttons {
  margin: 5.0vw auto;
}
.flex .note {
  font-size: clamp(0.8rem,1.0vw,1.4rem);
  text-align: left;
  font-weight: 700;
  padding: 0;
  width: 100%;
  text-indent: -1vw;
  padding-left: 1vw;
}


@media only screen and (max-width: 640px) {
  .flex.col-2 .benefits.flex-box,
  .flex.col-2 .points.flex-box{
    width: 95%;
  }
  .service .flex-box h5 {
    font-size: 6.4vw;
    letter-spacing: 0;
    margin-bottom: 1vw;
  }  
  .service .flex-box > h5{
    font-size: 5.1vw;
    border-width: 1vw;
    padding: 1.4vw;
    margin-bottom: 4vw;
  }
  .service p{
    font-size: 4.3vw;
    text-indent: -5vw;
    padding-left: 5vw;
    width: 100%;
    line-height: 1.7;
  }
  .flex .note{
    font-size: 3.2vw;
    padding: 0 2vw 1vw 4vw;
    text-indent: -4vw;
    line-height: 1.6;    
  }

.points > h5{
  margin-top: 8vw;
}
.service .points .redemption {
  padding: 7vw 0 3vw;
}
.redemption .price {
  margin: 0;
}
.flex-box .price small {
  padding-right: 3vw;
}
.service .flex-box h5 + h5:before{
  margin: 0 1.5vw;
    background-size: 2vw;
    background-image: radial-gradient(#007e44 30%, transparent 30%);
    height: 2vw;
    margin: 0 3vw;
}
.service .flex-box h5 + h5 sub {
  font-size: 65%;
  bottom: -0.2em;
}
.card-registration .buttons{
  margin: 6vw auto;
}

}



.block.blk {
  border: 1vw solid #000;
  color: #000;
  margin: 10vw 0 6vw;
  border-top: none;
}
.forget-card .block-inner{
  padding: 0 6vw 4vw;
  position: relative;
  text-align: left;
}
.block-img {
  position: relative;
  margin-top: -10vw;
  left: 50%;
  transform: translate(-50%);
  display: flex;
  width: calc(100% + 1.7vw);
  align-items: flex-end;
}
.block-img img {
  width: 27vw;
  margin-left: -3vw;
  margin-right: -9vw;
}
.block-img::before, .block-img::after {
  content: '';
  height: 1vw;
  background-color: #000;
  flex-grow: 1;
  margin-bottom: 6.6vw;
}
.block-img:before { margin-right: 3vw; }
.block-img:after { margin-left: 6vw; }

.forget-card h3 { padding-top: 0; }
.forget-card .block-inner h5 {
  font-size: clamp(1rem, 1.66vw, 2.4rem);
  color: #007e44;
  font-weight: 900;
  text-align: left;
  padding: 1vw 0;
  position: relative;
  left: 0;
  transform: translate(0);
}
.forget-card .block-inner h6 {
  font-size: clamp(1rem,1.25vw,1.8rem);
  font-weight: 700;
  /* padding-left: 2.5rem; */
  padding: 0.5rem 0;
}
.forget-card .block-inner h6:before {
  content: "■";
  margin-right: 0.3vw;
  color: #4fb401;
}
.forget-card .block-inner p {
  font-size: clamp(0.8rem, 1.11vw, 1.6rem);
  margin-bottom: 2.5rem;
  line-height: 2;
}

@media only screen and (max-width: 640px) {
.block-img { width: calc(100% + 4vw);}

.block.blk {
  border-width: 2vw;
}
section.register .section-content .forget-card {
  width: 100%;
}
.forget-card .block-img {
margin-top: 46vw;
}
.forget-card .block-img img{
  width: 57vw;
  margin-right: -16vw;
  margin-top: -26vw;
}
.block-img::before, .block-img::after{
height: 2vw;
margin-bottom: 9vw;
}
.forget-card .block-inner{
  padding: 0 4vw 4vw;
}
.forget-card .section-content .block h3 {
  font-size: 6.8vw;
  padding: 0vw;
}
.forget-card .block-inner h5{
  font-size: 4vw;
  letter-spacing: 0.08em;
}
.forget-card .block-inner h6{
  padding: 0.5rem 0;
    font-size: 3.2vw;
}
.forget-card .block-inner p{
  font-size: 3.2vw;
    margin-bottom: 1.5rem;
}
}

/* section.theday::before {
  background: #d3fc32;
  height: 44vw;
  clip-path: polygon(0 41%, 100% 0, 100% 59%, 0 100%);
  z-index: 1;
} */
section.theday::after {
  background: #62deb5;
  height: 127vw;
  clip-path: polygon(0 0, 100% 14%, 100% 100%, 0 86%);
  top: -12vw;
}

.theday .block-inner,
.first-time .block-inner{
  padding: 5vw 7vw 6vw;
  background: #fff;
}
.first-time .block-inner{
  padding-bottom: 4vw
}
.theday h3 {
  font-size: clamp(2.4rem, 3.1vw, 4.4rem);
}
.theday .block-text,
.first-time .block-text {
  width: 92%;
  margin: 0 auto;
  padding-top: 0vw;
}
.flow .flex.col-2{
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  padding-bottom: 2.5vw;
}
.flow .flex.col-2 li {
  padding: 1.3vw 1.2vw 0.2vw;
  position: relative;
}
.flow .flex.col-2 li + li::before, .flow .flex.col-2 li:nth-child(2n)::after {
  content: "";
  width: 0.5vw;
  height: 0.5vw;
  position: absolute;
  border: solid 0.6vw transparent;
  border-left: 1.2vw solid #ff4d00;
  top: calc((100% - 7.5rem) / 2);
  left: -0.5vw;
  transform: translateY(50%);
}
.flow .flex.col-2 li:nth-child(2n)::after{
  left: auto;
  right: -1.2vw;
}
.flow .flex.col-2 li:last-child::after { content: none; }

.forget-card.theday .block-inner li p,
.forget-card.first-time .block-inner li p {
  margin: 0;
  padding: 1vw 0 0;
  font-size: clamp(0.9rem, 1.05vw, 1.5rem);
  font-weight: 500;
  height: clamp(2rem,5.2vw,7.5rem);
}

@media only screen and (max-width: 640px) {
  section.theday::after {
    height: 480vw;
    clip-path: polygon(0 0, 100% 4%, 100% 100%, 0 96%);
    top: -27vw;
  }
  
  .theday h3{
    font-size: 7vw;
    line-height: 1.4;
  }
  .theday .block-text, .first-time .block-text{
    width: 100%;
  }
  .theday .block-inner, .first-time .block-inner{
    padding: 9vw 7vw 6vw;
  }
  .flow .flex.col-2 li {
    width: 100%;
    padding-bottom: 1vw;
  }
  .forget-card.theday .block-inner li p, .forget-card.first-time .block-inner li p{
    font-size: 3.2vw;
    height: auto;
    padding: 3vw 0 0;
  }
  .flow .flex.col-2 li + li {
    padding-top: 11vw;
}
.flow .flex.col-2 li + li::before{
  width: 6vw;
    height: 6vw;
    position: absolute;
    border: solid 3vw transparent;
    border-top: 6vw solid #ff4d00;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.flow .flex.col-2 li:nth-child(2n)::after{
  content: none;
}
}


table.block + .flex{
  justify-content: flex-start;
}
table.block + .flex .flex-column{
  padding-right: 1vw;
}
@media only screen and (max-width: 640px) {
  table.block + .flex{ padding-top: 3vw; }
  table.block + .flex .flex-column .note{ padding-bottom: 1vw;}
}


/* .rent-clubs .section-content {
  padding-top: 1vw;
} */
.rent-clubs .forget-card{
  margin-top: 12vw;
  height: clamp(7rem, 22.1vw, 32rem);
  align-items: flex-end;
}
.rent-clubs .block-inner {
  /* padding: min(3vw,4.3rem) min(31vw,44.6rem) min(2.5vw,3.6rem) min(6vw,8.6rem); */
  position: relative;
  text-align: left;
  width: 50%;
  margin: 3vw auto 2.5vw 6vw;
  padding: 0;
  order: 1;
}
.rent-clubs .block-img {
  /* top: -17.3vw; */
  margin: 0 -0.9vw 0 -60vw;
  order: 2;
  left: unset;
  transform: unset;
}
.rent-clubs .block-img img {
  width: clamp(10rem, 27.7vw, 40rem);
  margin-left: -3vw;
  margin-right: -9vw;
}
.rent-clubs .block-img:before {
  flex-grow: 6;
  margin-right: 2vw;
/*  margin-bottom: 19.2em; */
}
.rent-clubs .block-img:after {
  flex-grow: 1;
  margin-left: 5vw;
/*  margin-bottom: 19.2em; */
}
.rent-clubs .block-img:before ,.rent-clubs .block-img:after {
  margin-bottom: clamp(10rem,calc(22vw - 1vw),30rem);
}
.rent-clubs .section-content h3 {
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .rent-clubs .forget-card{
    height: auto;
    margin-top: 92vw;
    margin-bottom: 40vw;
  }
  .rent-clubs .block-img {
    left: 50%;
    margin: -27.3vw 0 0 -47vw;
    top: 0;
  }
  .rent-clubs .block-img img {
    width: 56vw;
    margin: -53vw -5vw 0 -4vw;
    clip-path: polygon(0 0,100% 0,100% 89%, 0 89%);
  }
  .rent-clubs .block-img:before, .rent-clubs .block-img:after{ margin-bottom: 25vw; }
  .rent-clubs .block-img:before { flex-grow: 1;}
  .rent-clubs .block-img:after { margin-left: 5vw;}
  .rent-clubs .block-inner {
    width: 87%;
    margin: -5vw auto 7.5vw;
  }
  .rent-clubs .section-content .block h3 {
    font-size: 7.3vw;
    text-align: center;
}
}


.lnav-first .hero-contents,
.lnav-junior .hero-contents{
  width: 80vw;
  max-width: 1090px;
}
.lnav-junior .hero-contents{
  padding-top: 13vw;
}
.hero-contents h1:has(br) {
  line-height: 0.6;
  margin: 1.5vw 0;
}
/* .lnav-first section.register::before {
  background: #d3fc32;
  height: 44vw;
  clip-path: polygon(0 41%, 100% 0, 100% 59%, 0 100%);
  z-index: 1;
}
.lnav-first section.register::after {
  background: #62deb5;
  height: 37vw;
  clip-path: polygon(0 25%, 100% 25%, 100% 100%, 0 55%);
} */
.lnav-first section.register .section-content {
  padding-top: 16vw;
  margin-top: -24vw;
  margin-bottom: -3vw;
}
section.first-time .section-content {
  padding-top: 2vw;
  margin-bottom: 9vw;
}
section.first-time::before{
  background: #d3fc32;
  height: 82vw;
  clip-path: polygon(0 21%, 100% 0, 100% 79%, 0 100%);
  top: -12vw;
}
section.first-time::after{
  background: #62deb5;
  height: 71vw;
  clip-path: polygon(0 0, 100% 25%, 100% 100%, 0 75%);
  top: -12vw;
}

.gnav-guide.lnav-first section:not(.register) .section-content h3.grn {
  margin-bottom: 0;
}
.lnav-first section.bg::before{
  background: #d3fc32;
  height: 50vw;
  clip-path: polygon(0 34%, 100% 0, 100% 100%, 0 100%);
  top: -18vw;
}
@media only screen and (max-width: 640px) {
  .lnav-first section.register .section-content {
    margin-top: -22vw;
    padding-top: 0;
  }
  section.first-time .section-content{margin-bottom: 38vw;}
  .lnav-first section.bg::before{ height: 60vw; top: -50vw;}

  .hero-contents h1:has(br) {
    line-height: 0.7;
  }
  .lnav-junior .hero-contents{
    padding-top: 28vw;
  }
  .lnav-junior .hero-copy h1 small{
    font-size: 50%;
    letter-spacing: -1px;
    line-height: 1;
    display: block;
    margin: 1vw 0;
  }
  .section-content > .table-ttl {
    margin: 5vw 0 2.5vw;
  }
}


.hero-copy h1 small {
  font-size: 50%;
}

.lnav-visitor1 section.annual .section-content,
.lnav-visitor2 section.annual .section-content,
.lnav-junior section.annual .section-content{
  margin-top: -10vw;
}
.lnav-junior section.annual .section-content{
  padding-bottom: 5vw;
}

.lnav-visitor1 section.annual::after,
.lnav-visitor2 section.annual::after,
.lnav-junior section.annual::after{
  background: #d3fc32;
  height: 73vw;
  clip-path: polygon(0 24%, 100% 0, 100% 78%, 0 100%);
  top: inherit;
  bottom: -50vw;
}
@media only screen and (max-width: 640px) {
  .hero-copy h1 small{
    font-size: 85%;
  }
}

/* .section-yards{ z-index: 2; }
.section-yards .section-content {
  padding-top: 15vw;
  margin-top: -13vw;
}
.section-yards .section-content.flex > img.flex-box {
  margin-left: calc(50% - 50vw);
  width: 49vw;
}
}
.section-yards .section-content.flex .flex-box .hero-copy::after {
  background: url(../img/top/blush-gn.png) top left / contain no-repeat;
}
.section-yards .section-content.flex .flex-box.img {
  content: url(../img/top/yards-2.png);
  height: 39vw;
  margin-top: -7vw;
  position: relative;
}

@media only screen and (max-width: 640px) {
  .section-yards .section-content {
  padding-top: 27vw;
  }
  .section-yards .section-content.flex > img.flex-box {
    margin-left: 0;
    width: 89vw;
  }
  .section-yards .section-content.flex .flex-box.img {
    width: 65%;
    margin-top: -22vw;
    height: auto;
    left: 48%;
  }
  .section-yards .flex-box h5 {
    text-align: left;
    font-size: 6.4vw;
  }
} */

.section-90min{z-index: 1;}
.section-90min::before {
  background: #62deb5;
  width: 100%;
  height: 100vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: 1vw;
  left: 0;
  clip-path: polygon(0 30%, 100% 30%, 100% 100%, 0 82%);
}
.section-90min::after {
  background: #d3fc32;
  width: 100%;
  height: 93vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: 0;
  left: 0;
  clip-path: polygon(0 19%, 100% 0, 100% 81%, 0 100%);
}
.section-90min .section-content {
  padding-top: 0vw;
  margin-top: 4vw;
  margin-bottom: -3vw;
}
.section-90min .section-content.flex > .img.flex-box {
  width: 100vw;
  position: absolute;
  height: 71vw;
  margin-left: calc(50% - 50vw);
}
.section-90min .section-content.flex .img.flex-box .clip img {
  width: 74vw;
  height: auto;
  right: -18.5vw;
  bottom: -27.5vw;
  position: absolute;
}
.section-90min .section-content.flex .img.flex-box .clip {
  width: 100vw;
  height: 71vw;
  position: absolute;
  display: block;
  content: "";
  top: 1vw;
  clip-path: polygon(0 25%, 100% 0, 100% 100%, 0 100%);
}
.section-90min .section-content.flex .img.flex-box picture img {
  position: absolute;
  width: 100vw;
  height: auto;
  top: -11.8vw;
  left: 1vw;
  pointer-events: none;
}
.section-90min .flex-box.content:nth-child(2) {
  order: 1;
  width: 100%;
}
.section-90min .section-content.flex .flex-box .hero-copy {
  margin: 22vw 0 0 0;
  position: relative;
}
.section-90min .section-content.flex .flex-box .hero-copy::before {
  background: url(../img/top/90min_flame.png) top left / contain no-repeat;
  content: "";
  position: absolute;
  width: 18.5vw;
  height: 18.5vw;
  top: -17vw;
  left: 53%;
  transform: translate(-50%);
}

.section-90min .section-content.flex .flex-box .hero-copy::after {
  background: url(../img/top/blush-wh.png) top left / contain no-repeat;
  height: 17vw;
  top: -2vw;
  left: -3vw;
}
.section-90min .section-content.flex .flex-box.text-content {
  order: 3;
  margin: -0.5vw 0 0 5vw;
}
.section-90min .section-content.flex .flex-box .hero-copy h1:last-child {
  left: 1.4vw;
  margin-top: 0.5vw;
}
@media only screen and (max-width: 640px) {
  .section-90min::before {
    top: 79vw;
    clip-path: polygon(0 0, 100% 9%, 100% 100%, 0 91%);
    height: 202vw;
  }
  .section-90min::after {
    top: 54vw;
    clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%);
    height: 222vw;
  }
  .section-90min .section-content{
    margin-top: 17vw;
  }
  .section-90min .section-content.flex > .img.flex-box {
    width: 98vw;
    height: 116vw;
    position: relative;
    margin-left: 0;
    top: 0vw;
    left: -4vw;
    order: 1;
  }
  .section-90min .section-content.flex .img.flex-box .clip {
    height: 100%;
    top: 0;
    clip-path: polygon(0 60%, 100% 40%, 100% 100%, 0 100%);
  }
  .section-90min .section-content.flex .img.flex-box .clip img {
    width: 122vw;
    position: relative;
    top: -3vw;
    right: 0;
    bottom: 0;
    left: -12vw;
  }
  .section-90min .section-content.flex .flex-box .hero-copy {
    margin: -8.5vw 0 0 8vw;
  }
  .section-90min .section-content.flex .flex-box .hero-copy::before{
    width: 40vw;
    height: 40vw;
    left: 12vw;
    top: -65vw;
  }
  .section-90min .section-content.flex .flex-box .hero-copy::after{
    left: -3vw;
    height: 30vw;
    top: -3vw;
  }
  .section-90min .flex-box h5 {
    margin: 4vw 0;
    font-size: 6.2vw;
    text-align: left;
  }
  .section-90min .flex-box.content:nth-child(2) {
    order: 2;
  }  
}




/* section.section-bunker {
  background: #000;
}
.section-bunker .section-content {
  margin-top: 0;
  padding-top: 4vw;
  padding-bottom: 4vw;
}
.section-bunker .section-content.flex > .img.flex-box {
  position: relative;
  height: 65vw;
  content: none;
  margin-top: 0;
}
.section-bunker .section-content.flex .img.flex-box .clip {
  position: absolute;
  top: 3.8vw;
  clip-path: polygon(76.1% 0%, 100% 4.4%, 100% 100%, 0 100%, 0% 13.9%);
  width: 72vw;
  margin-left: calc(89% - 50vw);
  z-index: 0;
}
.section-bunker .section-content.flex .img.flex-box > img {
  position: absolute;
  width: 44vw;
  max-width: 730px;
  height: auto;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
}
.section-bunker .flex-box.content {
  color: #fff;
  width: 43%;
  z-index: 1;
}
.section-bunker .section-content.flex .flex-box .hero-copy {
  margin: 8.5vw -5vw 0 -4vw;
}
.section-bunker .section-content.flex .flex-box .hero-copy h1 {
  line-height: 1;
  letter-spacing: 0.05vw;
}
.section-bunker .section-content.flex .flex-box .hero-copy h1:last-child {
  letter-spacing: 0.2vw;
}
.section-bunker .section-content.flex .flex-box .hero-copy::after{
  content: '';
    background: url(../img/top/blush-gn.png) top left / contain no-repeat;
    top: 1.2vw;
    left: 1vw;
    height: 15.7vw;
    filter: hue-rotate(-18deg);
}
.section-bunker .flex-column.text-content {
  position: relative;
  text-align: left;
}

@media only screen and (max-width: 640px) {
  .section-bunker .section-content {
    padding-top: 20vw;
    padding-bottom: 34vw;
  }
  .section-bunker .section-content.flex > .img.flex-box{
    height: 105vw;
  }
  .section-bunker .section-content.flex .img.flex-box .clip{
    margin-left: 0;
    width: 139vw;
    left: -18vw;
    top: 8vw;
    clip-path: polygon(0 0, 100% 37%, 100% 100%, 0% 100%);
  }
  .section-bunker .section-content.flex .img.flex-box > img {
    position: relative;
    width: 85vw;
    margin: 0 auto;
  }
  .section-bunker .flex-box.content{
    width: 90%;
    margin: 0 auto;
  }
  .section-bunker .section-content.flex .flex-box .hero-copy{
    margin: 8.5vw 0 -2vw;
  }
  .section-bunker .section-content.flex .flex-box .hero-copy h1{letter-spacing: 0.2vw;}
  .section-bunker .section-content.flex .flex-box .hero-copy h1:last-child{letter-spacing: 0.3vw; margin-left: 2vw;}
  .section-bunker .section-content.flex .flex-box .hero-copy::after{height: 31vw; top: 1.5vw;}
  .section-bunker .flex-box h5 {
    margin-bottom: 4vw;
  }
  .section-bunker .flex-box p {
    padding-bottom: 9vw;
  }
}
 */

.section-member {
  z-index: 1;
}
.section-member .section-content {
  margin-top: -23.9vw;
  padding-bottom: 12.5vw;
}
.section-member::before {
  background: #d3fc32;
  width: 100%;
  height: 68.5vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: 0;
  left: 0;
  clip-path: polygon(0 26%, 100% 0, 100% 74%, 0 100%);
}
.section-member::after {
  background: #62deb5;
  width: 100%;
  height: 77.7vw;
  position: absolute;
  content: "";
  z-index: -1;
  top: 0;
  bottom: 0;
  right: 0;
  clip-path: polygon(0 25%, 100% 25%, 100% 100%, 0 77%);
}


.section-member .section-content.flex > .img.flex-box {
  width: 100vw;
  position: absolute;
  height: 71vw;
  margin-left: calc(50% - 50vw);
  top: 8vw;
}
.section-member .section-content.flex .img.flex-box .clip img {
  width: 50vw;
  height: auto;
  right: 0;
  top: 0;
  position: absolute;
}
.section-member .section-content.flex .img.flex-box .clip {
  width: 100vw;
  height: 71vw;
  position: absolute;
  display: block;
  content: "";
  top: 2px;
  clip-path: polygon(0 25%, 100% 0, 100% 75%, 0 100%);
}
.section-member .section-content.flex .img.flex-box > img {
  position: absolute;
  width: 100vw;
  height: auto;
  top: -12.8vw;
  left: 0;
  pointer-events: none;
}
.section-member .flex-box.content:nth-child(2) {
  order: 1;
  width: 100%;
}
.section-member .section-content.flex .flex-box .hero-copy {
  margin: 21.5vw 0 0;
  position: relative;
}
.section-member .section-content.flex .flex-box .hero-copy::after {
  background: url(../img/top/blush-wh-member.png) top left / contain no-repeat;
  height: 17.7vw;
  top: -2.5vw;
  left: 0;
}

.section-member .section-content.flex .flex-box .hero-copy h1 {
  letter-spacing: 2px;
}
.section-member .section-content.flex .flex-box .hero-copy h1:last-child {
  left: 3.0vw;
  margin-top: 0;
}

.section-member .section-content.flex .flex-box.text-content {
  order: 3;
  margin: 1vw 0 0 7vw;
  width: 36%;
  position: relative;
}
.section-member .section-content.flex .flex-box.text-content h5::before {
  background: url(../img/guide/member_flame.png) top left / contain no-repeat;
  content: "";
  position: absolute;
  width: 11.6vw;
  height: 11.6vw;
  top: -5.1vw;
  right: -7.8vw;
  z-index: -1;
}

@media only screen and (max-width: 640px) {
  .section-member::before{
    height: 40vw;
    clip-path: polygon(0 7%, 100% 0, 100% 93%, 0 100%);
  }
  .section-member::after{
    /* height: 241vw;
    clip-path: polygon(0 0, 100% 7%, 100% 100%, 0 93%); */
    content: none;
  }
  .section-member .section-content{
    margin-top: 2vw;
    padding-bottom: 10vw;
  }
  .section-member .section-content.flex > .img.flex-box{
    position: relative;
    margin-left: 0;
    left: 2vw;
    top: 0;
    height: auto;
    order: 2;
    margin-bottom: 3vw;
  }
  .section-member .section-content.flex .img.flex-box .clip{
    position: relative;
    height: auto;
    clip-path: unset;
    margin-top: -20vw;
    width: 97vw;
  }
  .section-member .section-content.flex .img.flex-box .clip img{
    width: 100%;
    position: relative;
  }
  .section-member .section-content.flex .flex-box .hero-copy{
    margin: 2vw 0 0 2vw;
  }
  .section-member .section-content.flex .flex-box .hero-copy::before{
    width: 34vw;
    height: 34vw;
    top: -37vw;
    left: 17vw;
  }
  .section-member .section-content.flex .flex-box .hero-copy::after {
    height: 29vw;
  }
  .section-member .section-content.flex .flex-box .hero-copy h1{
    font-size: 13.3vw;
    letter-spacing: 0;
  }
  .section-member .section-content.flex .flex-box .hero-copy h1:last-child {
    left: 5.0vw;
  }
  .section-member .section-content.flex .flex-box.text-content{
    width: 90%;
    margin: 0 auto;
  }
  .section-member .section-content.flex .flex-box.text-content h5::before{
    width: 40vw;
    height: 40vw;
    top: -33vw;
    right: -2vw;
  }
  .gnav-guide .flex.col-2 .flex-box:not(img){
    width: 100%;
  }
}



/* .section-news .section-content {
  padding-top: 0.7vw;
  padding-bottom: 5vw;
}
.section-news .section-content.flex > .flex-box.text-box {
  width: 52%;
  margin-left: 5%;
}
.section-news h1.en {
  font-style: italic;
  line-height: 1.4;
}
.section-news h6 {
  font-size: clamp(0.8rem, 1.5vw, 2rem);
  line-height: 1.4;
  font-weight: 700;
  padding-bottom: 3.0vw;
}
.news-list dl {
  font-size: clamp(0.9rem, 1.1vw, 1.6rem);
  flex-wrap: wrap;
}
.news-list dt {
  width: 22%;
  padding: 2.3% 0 2.3% 5.7%;
  font-weight: 500;
  border-bottom: 1px solid #d3d3d3;
}
.news-list dd {
  width: 78%;
  padding: 1.0vw 0 1.0vw 11vw;
  border-bottom: 1px solid #d3d3d3;
}
.news-list a {
  color: #000;
  height: 4.0vw;
  font-weight: 500;
}
.section-news .section-content.flex > .flex-box.banner {
  width: 43%;
  padding: 1vw 3vw;
}
.section-news .banner a {
  padding: 0.5vw 2vw;
}

.section-news button.more a::after,
.section-insta button.more a::after{ left: -2.5vw; }

.section-news button.more a span,
.section-insta button.more a span {
  padding: 0vw 1.6vw 0vw 4.2vw;
  font-size: clamp(0.8rem,1.0vw,1.4rem);
  width: 11.5vw;
  height: 2.8vw;
  line-height: 2.8vw;
}
.section-insta button.more a span {
  padding: 0vw 2vw 0vw 5.5vw;
}

span.isnew.en {
  position: absolute;
  font-size: clamp(0.75rem,0.8vw,1.2rem);
  background: #ff1a7b;
  padding: 0.03em 0.5em;
  border-radius: 0.3em;
  color: #fff;
  font-weight: 900;
  top: 50%;
  transform: translate(-50%, -50%);
}
span.cat {
  position: absolute;
  left: 22.5%;
  padding: 0.2vw 2.6vw;
  background: #000;
  border-radius: 0.3em;
  color: #fff;
  margin-bottom: 0.1vw;
  font-size: clamp(0.9rem, 1.1vw, 1.4rem);
  line-height: 1.6;
}

.section-insta .text-box{
  margin-left: 5%;
}
.section-insta .text-box .flex{ justify-content: flex-start;
}
.section-insta .text-box img {
  width: 2vw;
  margin-right: 1.3vw;
}
.section-insta .text-box h3.en {
  margin-right: 3vw;
  font-style: italic;
  letter-spacing: 0;
}

@media only screen and (max-width: 640px) {
  .section-news .section-content.flex > .flex-box.text-box {
    width: 95%;
  }
  .section-news h1.en {
    margin-bottom: -2vw;
    letter-spacing: -0.005em;
  }
  .section-news h6{
    padding-bottom: 4vw;
    font-size: clamp(1.3rem, 1.5vw, 2rem);
  }
  .news-list dl {
    font-size: clamp(1.2rem, 1.1vw, 1.6rem);
    width: 95%;
  }
  .news-list a {
    height: auto;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 2vw 0 3vw;
  }
  span.isnew.en {
    padding: 0.15em 0.7em;
    border-radius: 0.4em;
    top: 15%;
    transform: translate(0);
    margin-left: -5vw;
  }
  .news-list dt {
    width: 26%;
    padding: 0;
    margin: 0 0 0 5vw;
    letter-spacing: 0.5px;
    border: none;
  }
  span.cat {
    position: relative;
    text-align: center;
    width: 28%;
    left: 0;
    font-size: clamp(1.1rem, 1.1vw, 1.4rem);
  }
  .news-list dd {
    width: 100%;
    padding: 1.0vw 0 3vw 5vw;
  }

  .section-news button.more{ margin : 2.5vw 6% 0 auto; }
  .section-insta button.more{ margin : 0.5vw 3% 0 auto; }


  .section-news button.more a::after,
  .section-insta button.more a::after{ left: -2.5vw; }
  
  .section-news button.more a span,
  .section-insta button.more a span {
    font-size: clamp(1.0rem,1.0vw,1.4rem);
    padding: 4vw 2vw 4vw 7vw;
    width: 32vw;
    line-height: 0vw;
    height: 1vw;
  }
  .section-insta button.more a span {
    padding: 4vw 0vw 4vw 9vw;
  }
  .section-news .section-content.flex > .flex-box.banner{
    width: 100%;
    padding: 7vw 3vw;
  }
  .section-news .banner a {
    padding: 1vw 2vw;
  }

  .section-insta .section-content.row.flex {
    margin-top: 1vw;
  }
  .section-insta .section-content.flex > .flex-box{
    width: 95%;
  }
  .section-insta .text-box img {
    width: 6vw;
    margin-right: 4vw;
  }
} */

.section-content h3 {
  font-weight: 900;
  text-align: center;
  width: 100%;
  padding: 1.6vw 0;
}
.section-content .block h3 {
  font-size: clamp(2rem,3.1vw,4.8rem);
  letter-spacing: 0;
}
.block {
  width: 100%;
  margin: 4.5vw 0 6vw;
  position: relative;
  border:clamp(0.3rem,0.7vw,1.0rem) solid #007e44;
  color: #007e44;
}
.block-inner{ padding: 4vw clamp(2rem,5vw,7.2rem) 1vw; }
.block-inner h4{
  font-size: clamp(2rem, 2.2vw, 3.2rem);
  font-weight: 900;
}
.block-inner > h5 {
  position: absolute;
  width: clamp(20rem,46vw,66rem);
  padding: 1vw 2vw;
  z-index: 5;
  font-weight: 900;
  border-radius: 5rem;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(1.0rem, 1.7vw, 2.4rem);
  letter-spacing: 0;
  top: 0;
}


section.annual .section-content{
  margin-top: -15.7vw;
  max-width: 1090px;
}
.annual-fee.flex-column{
  padding: 1vw 1.6vw 2vw;
}
.annual-fee h4{ align-items: center;}
.annual-fee h4::before, .annual-fee h4::after {
  content: '';
  height: 0.5rem;
  background-color: #007e44;
  flex-grow: 1;
  /* margin: 1.5vw; */
}
.annual-fee h4::before{ margin-right: 1.5vw; }
.annual-fee h4::after{ margin-left: 1.5vw; }

.flex-box .price {
  font-size: clamp(4rem, 6.2vw,8.9rem);
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 0.9;
  padding-bottom: 0.6vw;
}
.flex-box .price small{padding-right: 0.7vw;}

p.point {
  font-size: clamp(1rem, 1.7vw, 2.4rem);
  font-weight: 900;
  background: #ff1a7b;
  border-radius: 3rem;
  padding: 0.4vw 0;
  color: #fff;
  margin: 1vw 0;
  line-height: 2;
}
.point .yel {
  color: #fffc00;
}
/* .flex .note {
  font-size: clamp(0.8rem,1.0vw,1.4rem);
  text-align: left;
  font-weight: 700;
  padding: 0;
  width: 100%;
  text-indent: -1vw;
  padding-left: 1vw;
} */
.annual-point .flex-box h5{
  /* font-size: clamp(1.0rem, 2.0vw, 2.9rem); */
  font-weight: 900;
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0;
}
.flex-box h5 .org {
  color: #ff4d00;
  font-size: clamp(1rem, 3vw, 3.9rem);
  font-weight: 900;
}
.flex-box h5 sub{
  font-size: 70%;
  font-weight: 900;
  letter-spacing: -0.5px;
  padding-left: 0.5vw;
}
.annual-point .flex.col-2 {
  align-items: flex-start;
  padding-top: 2.3vw;
}
 .annual-point .flex .note{
  margin-top: -0.3vw;
  padding-bottom: 0.3vw;
  line-height: 1.9;
  text-indent: 0;
  padding-left: 0;
}
.annual-point .flex-box:last-child .note:first-child {
  padding-top: 1vw;
}
.annual-point .flex-box:last-child .note small{ font-size: 87%; }

.flex.col-3, table.col-3 {
  margin-top: 4vw;
  margin-bottom: 1vw;
}
.flex.col-3 > * {
  border: 2px solid;
}
.flex.col-3 .flex-box {
  width: 34%;
}
.flex.col-3 .flex-box h5 {
  font-weight: 900;
  border-bottom: 1rem solid;
  padding: 0.5vw;
  margin-top: -0.2vw;
  background: #fffbc6;
}
.flex.col-3 .flex-box h5 sub{
  font-size: 63%;
}
table.block.col-3 .price {
  /* padding: 2vw; */
  font-size: clamp(4rem, 4.9vw, 7rem);
  height: clamp(4rem, 8vw, 11.5rem);
  margin: 0;
}
.col-3 .flex-box:last-child .price:after,
.col-3 td:last-child .price:after {
  bottom: 0;
  content: "";
  width: clamp(2rem,4.9vw,7.0rem);
  height: clamp(2rem,4.9vw,7.0rem);
  font-weight: 900;
  border: clamp(0.3rem,0.63vw,0.9rem) solid;
  border-radius: 50%;
  position: relative;
  left: 50%;
  top: 50%;
  display: block;
  transform: translate(-50%);
}
.lnav-visitor1 .col-3 td:last-child .price:after {
  content: none;
}
.buttons{
  margin: 2.5vw 15%;
  justify-content: space-around;
  width: 70%;
}
.buttons button.more {
  /* width: 21vw; */
  width: clamp(16rem, 21vw, 30rem);
}
.buttons button.more a{
  clip-path: polygon(12% 0, 100% 0%, 88% 100%, 0 100%);
}
.buttons button.more a span {
  padding: 1.2vw 0 1.2vw 2.0vw;
}
.buttons button.more > span {
  width: clamp(2rem,4vw,5.7rem);
}
@media only screen and (max-width: 640px) {
  .block-inner > h5{
    font-size: 4.2vw;
    width: 80vw;
    padding: 2.5vw;
    text-align: center;
    line-height: 1.3;
  }
  .annual-point .flex-box h5{
    font-size: 5.3vw;
  }
  .annual .block.flex-column {
    margin-top: 15vw;
    margin-bottom: 13vw;
    border-width: 1.2vw;
  }
  .block {
    border-width: 1.2vw;
  }
  .block-inner:has(.ble){ padding-top: 12vw;}
  .annual-fee h4::before, .annual-fee h4::after{ height: 0.7vw; }
  .annual-fee .flex-box .md-flex{
    margin: 4vw auto 3vw;
    align-items: flex-end;
    width: 90%;
  }
  .annual-fee .flex.col-2{ margin: 3vw 0;}
  .flex-box .price{ font-size: 13vw;}
  .annual-fee.flex-column{ padding: 4vw 0;}

  .annual-point .flex.col-2{ margin: 0;}
  .annual-point .col-2 .flex.md-flex{ margin: 0 0 2vw;}
  .annual-point .flex .note{
    margin-top: -1.3vw;
    text-indent: 0;
    padding: 0;
    line-height: 1.6;
    }
  .annual-point .flex-box:first-child .note{ padding-bottom: 2.7vw; }
  .annual-point .flex .note:has(small){
    text-indent: -3vw;
    padding-left: 3vw;
  }

  .section-content .block h3 {
    font-size: 6.8vw;
    padding: 0;
  }
  .flex-box h5 sub{
    padding-left: 3.5vw;
  }
  .flex-box h5 .org{
    font-size: 6.4vw;
  }
  p.point{ font-size: 4.3vw; text-align: center;}
  .col-3 .flex-box:last-child .price:after, .col-3 td:last-child .price:after{
    width: 8vw;
    height: 8vw;
    border-width: 1.1vw;
  }
  table.block.col-3 .price {
    height: auto;
    text-align: center;
  }
  
  .buttons { margin: 8.5vw 0 14vw;}
  .buttons button.more{ width: 58vw;}
  .buttons button.more a span {
    font-size: 3.2vw;
    padding: 3.2vw 0 3.2vw 5.4vw;
  }
  .buttons button.more > span {
    width: 12vw;
  }
  .buttons button.more + button.more{ margin-top: 5vw;}
}



.free-90min{
  width: 100%;
  justify-content: flex-start;
  margin-top: 2.5vw;
}
h5.table-ttl{
  color: #007e44;
  font-weight: 900;
  text-align: left;
}

p.point.balloon {
  border-radius: 3px;
  padding: 0 1vw;
  font-size: clamp(1.5rem, 1.5vw, 2.0rem);
  position: relative;
  letter-spacing: 1px;
  margin-right: 2.5vw;
}
p.point.balloon::after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(90, 230, 40, 0);
  border-top-width: 7px;
  border-bottom-width: 7px;
  border-left-width: 14px;
  border-right-width: 14px;
  margin-top: -7px;
  margin-left: -1px;
  border-left-color: #ff1a7b;
  left: 100%;
  top: 50%;
}

table.block{
  margin: 0.5vw 0 1vw;
  table-layout: fixed;
  width: 100%;
  background: #fff;
}
table.block thead {
  background: #fffbc6;
  border-bottom: clamp(0.3rem,0.7vw,1.0rem) solid;
  line-height: 2;
}
table.block tr > * {
  border: solid clamp(0.1rem,0.28vw,0.4rem);
  vertical-align: middle;
}
table.block th {
  font-size: clamp(1rem, 2.1vw, 3rem);
  font-weight: 900;
}
th.w10 {
  width: 17%;
}
table.block td {
  width: 30%;
  line-height: 1.8;
}
table.block .price {
  font-size: clamp(1rem, 3.1vw, 4.4rem);
  font-weight: 900;
}
table.block .price small {
  padding-right: 0.4vw;
}
table.block sub{
  font-size: 57%;
  bottom: 0;
}

@media only screen and (max-width: 640px) {
  .free-90min{
    margin-bottom: 5vw;
  }
  p.point.balloon {
    font-size: 3.8vw;
    padding: 0 3vw;
    margin-right: 4vw;
  }
  p.point.balloon::after{ left: 96%; }

  table.block{ margin-bottom: 4vw;}
  table.block thead{ border-width: 1.2vw; }
  table.block tr > *{ border-width: 0.8vw; }
  table.block th{ font-size: 4.6vw; line-height: 1.2; padding: 2vw 0 3vw;}
  table.block th:has(sub){
    line-height: 8vw;
    position: relative;
    padding-bottom: 5vw;    
  }
  table.block td {
    line-height: 1.4;
  }
  table.block sub{display: block;}
  table.block tbody th {
    font-size: 3.3vw;
}
table.block .price{
  font-size: 6vw;
}
}


section.voice .section-content {
  padding: 6vw 7vw 10vw;
  background: #fff;
  margin: 7vw auto;
  justify-content: center;
} 
section.voice .section-content h1 {
  color: #007e44;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: clamp(2rem,5.3vw,7.7rem);
  line-height: 1.1;
  letter-spacing: 0;
  margin-bottom: 3.5vw;
}
section.voice .comment{
  background: #4fb401;
  border-radius: 5vw;
  padding: 0.7vw;
  color: #fff;
  line-height: 1.6;
  font-size: clamp(0.5rem, 1.1vw, 1.6rem);
  height: clamp(5rem,7vw,11rem);
  position: relative;
}
section.voice .comment::after{
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(90, 230, 40, 0);
  border-top-width: 40px;
  border-bottom-width: 32px;
  border-left-width: 9px;
  border-right-width: 9px;
  margin-right: 3px;
  margin-top: -1px;
  border-top-color: #4fb401;
  left: 72%;
  bottom: -72px;
}
span.kana{ letter-spacing: -0.16em;}

section.voice .flex-column{
  justify-content: flex-start;
  max-height: 60rem;
}
.gnav-guide section.voice .flex .flex.col-2{ align-items: stretch;}
/* .flex.col-2 .flex-box {
  width: 48%;
  height: 33vw;
} */
/* section.voice .flex-box.flex-column .comment{height: clamp(5rem,7vw,11rem); position: relative; /*margin-bottom: 2vw;*/} */
section.voice .flex-box.flex-column.b .comment{/*margin-bottom: 4vw;*/}

section.voice .flex-column > img {
  margin-top: clamp(-10rem, -7.5vw, -3rem);
  width: 110%;
  z-index: -1;
  height: auto;
}
section.voice .flex-column.b > img {
  width: 114%;
  margin: 0 0 0 1vw;
  max-width: 484px;
}
section.voice .flex-column .fee{
  position: relative;
  height: clamp(10rem,14vw,20rem);
  margin-top: clamp(-6rem, -4.5vw, -1rem);
}
section.voice .flex-column.b .fee{
  margin-top: -2.5vw;
}
section.voice .flex-column .fee img{
  margin: 0;
  height: auto;
  max-height: 200px;
}
section.voice .flex-column.b .fee img{
  width: 104%;
}
section.voice .flex-column .fee::after{
  position: absolute;
  top: 0;
  left: /*2.4vw*/ 8%;
  content: "";
  width: clamp(4rem,8vw,11.5rem);
  height: clamp(4rem,8vw,11.5rem);
  background: url(../img/guide/member_voice_point.png) center / contain no-repeat;
  transform: translate(-50%, -50%);
}
section.voice::before {
  background: #62deb5;
  width: 100%;
  height: 71vw;
  position: absolute;
  content: "";
  z-index: -1;
  top: -21vw;
  bottom: 0;
  right: 0;
  clip-path: polygon(0 0, 100% 25%, 100% 100%, 0 77%);
}
section.voice::after {
  background: #d3fc32;
  width: 100%;
  height: 120vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: -3vw;
  left: 0;
  clip-path: polygon(0 16%, 100% 0, 100% 84%, 0 100%);
}




@media only screen and (max-width: 640px) {
  section.voice::before {
    top: -31vw;
  }
  section.voice .section-content{
    width: 95%;
    margin: 20vw auto 28vw;
    padding-top: 8vw;
  }
  section.voice .section-content h1{
    font-size: 10.4vw;
    margin-bottom: 12vw;
  }
  section.voice span.kana{font-size: 9.8vw;}
  section.voice .comment{ 
    font-size: 3.4vw;
    padding: 2vw 7vw;
    border-radius: 3em;
    text-align: center;
    height: auto; }
  section.voice .comment::after{
    bottom: -72px;
    border-left-width: 7px;
    border-right-width: 7px;
    border-bottom-width: 40px;
    left: 81%;
  }
  section.voice .flex-column > img{ width: 88%; margin: -18vw 0 0 7vw; }
  section.voice .flex-column.b > img{ width: 95%; margin: -2vw 0 0 5vw;}
  section.voice .flex-column .fee{ height: auto; margin-bottom: 9vw; }
  section.voice .flex-column .fee img{ width: 104%; margin: -2vw 0 0 -2%; }
  section.voice .flex-column .fee::after{
    width: 20vw;
    height: 20vw;
    left: 17%;
    top: -1vw;
  }
}
