@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

* {
  box-sizing: border-box;
  -webkit-appearance: none;
}

:root {
  --mc: #F4A81D;
  --green: #66C192;
}

body {
  color: #000;
  font-size: 20px;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
}

:target {
  scroll-margin-top: 100px;
}

a {
  text-decoration: none;
  color: #000;
}

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

.sp_only {
  display: none;
}

.w976 {
  max-width: 976px;
  margin-left: auto;
  margin-right: auto;
}

.w1020 {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
}

.w1040 {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

.w1050 {
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}

.w1060 {
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
}

.w1100 {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.w1130 {
  max-width: 1130px;
  margin-left: auto;
  margin-right: auto;
}

.w1180 {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.w1190 {
  max-width: 1190px;
  margin-left: auto;
  margin-right: auto;
}

.w1210 {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
}

.w1228 {
  max-width: 1228px;
  margin-left: auto;
  margin-right: auto;
}

.ttl01 {
  font-weight: 700;
  color: var(--mc);
}
.ttl01 span {
  display: block;
}
.ttl01 .ja {
  font-size: 16px;
  padding-left: 10px;
  padding-bottom: 5px;
}
.ttl01 .en {
  font-size: 40px;
}

.btn01, .btn02, .btn03 {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 500px;
  font-size: 28px;
  margin-left: auto;
  margin-right: auto;
  height: 85px;
  border: solid 3px var(--green);
  transition: 0.4s ease;
  font-weight: 700;
  color: #fff;
  background: var(--green);
  border-radius: 50px;
}
@media (any-hover: hover) {
  .btn01:hover, .btn02:hover, .btn03:hover {
    background: #fff;
    color: var(--green);
  }
}
.btn01.mw350px, .btn02.mw350px, .btn03.mw350px {
  max-width: 350px;
}

.btn02, .btn03 {
  font-size: 22px;
  height: 70px;
}

.btn03 {
  background: #fff;
  color: var(--green);
  border: none;
}
@media (any-hover: hover) {
  .btn03:hover {
    background: var(--green);
    color: #fff;
  }
}

.animation01 {
  transition: opacity 0.4s ease, transform 0.4s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}
.animation01.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.animation02 {
  transition: 0.5s ease;
  opacity: 0;
  visibility: hidden;
}
.animation02.active {
  opacity: 1;
  visibility: visible;
}

#top_header,
#header {
  height: 100px;
  background: var(--mc);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 25px 0 40px;
  width: 100%;
}
@media (any-hover: hover) {
  #top_header .logo a,
  #header .logo a {
    transition: opacity 0.4s ease;
  }
  #top_header .logo a:hover,
  #header .logo a:hover {
    opacity: 0.6 !important;
  }
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  transition: transform 0.4s ease;
}
#header.top {
  transform: translate(0, -100%);
}
#header.top.on {
  transform: translate(0, 0);
}

#top_header {
  z-index: 99;
  position: absolute;
  left: 0;
  top: 20px;
  width: 100%;
  background: none;
  height: 110px;
}

.g_nav {
  display: flex;
  align-items: center;
  gap: 0 75px;
}
.g_nav ul {
  display: flex;
  gap: 0 20px;
}
.g_nav ul a {
  font-size: 15px;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  font-weight: 700;
  color: #fff;
}
@media (any-hover: hover) {
  .g_nav ul a {
    transition: opacity 0.4s ease;
  }
  .g_nav ul a:hover {
    opacity: 0.6 !important;
  }
}
.g_nav .reserve_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 187px;
  height: 70px;
  border: solid 3px var(--green);
  background: var(--green);
  color: #fff;
  line-height: 1.2;
  font-weight: 700;
  font-size: 20px;
  transition: color 0.4s ease, background-color 0.4s ease;
}
@media (any-hover: hover) {
  .g_nav .reserve_btn:hover {
    background: #fff;
    color: var(--green);
  }
}

footer {
  margin-top: 140px;
}

#contact {
  background: #FFF2DA url(../img/common/bg_cta.jpg) no-repeat center bottom/100% auto;
  padding: 70px 0 22vw;
}
#contact h3 {
  font-weight: bold;
  font-size: 30px;
  text-align: center;
  margin-bottom: 40px;
}
#contact .lead {
  text-align: center;
  line-height: 1.2;
  margin-bottom: 60px;
}
#contact ul {
  display: grid;
  gap: 30px 0;
}

#footer {
  padding: 80px 0 195px;
}
#footer .logo {
  text-align: center;
  margin-bottom: 32px;
}
#footer .btn02 {
  margin-bottom: 100px;
}
#footer nav ul {
  font-weight: 700;
  font-size: 19px;
  display: flex;
  justify-content: center;
  gap: 0 30px;
}
@media (any-hover: hover) {
  #footer nav a {
    transition: opacity 0.4s ease;
  }
  #footer nav a:hover {
    opacity: 0.6 !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  body {
    font-size: calc(20 / 1280 * 100vw);
  }
  :target {
    scroll-margin-top: calc(100 / 1280 * 100vw);
  }
  .w976 {
    max-width: calc(976 / 1280 * 100vw);
  }
  .w1020 {
    max-width: calc(1020 / 1280 * 100vw);
  }
  .w1040 {
    max-width: calc(1040 / 1280 * 100vw);
  }
  .w1050 {
    max-width: calc(1050 / 1280 * 100vw);
  }
  .w1060 {
    max-width: calc(1060 / 1280 * 100vw);
  }
  .w1100 {
    max-width: calc(1100 / 1280 * 100vw);
  }
  .w1130 {
    max-width: calc(1130 / 1280 * 100vw);
  }
  .w1180 {
    max-width: calc(1180 / 1280 * 100vw);
  }
  .w1190 {
    max-width: calc(1190 / 1280 * 100vw);
  }
  .w1210 {
    max-width: calc(1210 / 1280 * 100vw);
  }
  .w1228 {
    max-width: calc(1228 / 1280 * 100vw);
  }
  .ttl01 .ja {
    font-size: calc(16 / 1280 * 100vw);
    padding-left: calc(10 / 1280 * 100vw);
    padding-bottom: calc(5 / 1280 * 100vw);
  }
  .ttl01 .en {
    font-size: calc(40 / 1280 * 100vw);
  }
  .btn01, .btn02, .btn03 {
    max-width: calc(500 / 1280 * 100vw);
    font-size: calc(28 / 1280 * 100vw);
    height: calc(85 / 1280 * 100vw);
    border: solid calc(3 / 1280 * 100vw) var(--green);
    border-radius: calc(50 / 1280 * 100vw);
  }
  .btn01.mw350px, .btn02.mw350px, .btn03.mw350px {
    max-width: calc(350 / 1280 * 100vw);
  }
  .btn02, .btn03 {
    font-size: calc(22 / 1280 * 100vw);
    height: calc(70 / 1280 * 100vw);
  }
  .animation01 {
    transform: translateY(calc(20 / 1280 * 100vw));
  }
  #top_header,
  #header {
    height: calc(100 / 1280 * 100vw);
    padding: 0 calc(25 / 1280 * 100vw) 0 calc(40 / 1280 * 100vw);
  }
  #top_header .logo img,
  #header .logo img {
    max-width: calc(259 / 1280 * 100vw);
  }
  #top_header {
    top: calc(20 / 1280 * 100vw);
    height: calc(110 / 1280 * 100vw);
  }
  .g_nav {
    gap: 0 calc(45 / 1280 * 100vw);
  }
  .g_nav ul {
    gap: 0 calc(20 / 1280 * 100vw);
  }
  .g_nav ul a {
    font-size: calc(15 / 1280 * 100vw);
    text-shadow: 0 calc(4 / 1280 * 100vw) calc(4 / 1280 * 100vw) rgba(0, 0, 0, 0.25);
  }
  .g_nav .reserve_btn {
    width: calc(187 / 1280 * 100vw);
    height: calc(70 / 1280 * 100vw);
    border: solid calc(3 / 1280 * 100vw) var(--green);
    font-size: calc(20 / 1280 * 100vw);
  }
  footer {
    margin-top: calc(140 / 1280 * 100vw);
  }
  #contact {
    background: #FFF2DA url(../img/common/bg_cta.jpg) no-repeat center bottom/100% auto;
    padding: calc(70 / 1280 * 100vw) 0 22vw;
  }
  #contact h3 {
    font-size: calc(30 / 1280 * 100vw);
    margin-bottom: calc(40 / 1280 * 100vw);
  }
  #contact .lead {
    margin-bottom: calc(60 / 1280 * 100vw);
  }
  #contact ul {
    gap: calc(30 / 1280 * 100vw) 0;
  }
  #footer {
    padding: calc(80 / 1280 * 100vw) 0 calc(195 / 1280 * 100vw);
  }
  #footer .logo {
    margin-bottom: calc(32 / 1280 * 100vw);
  }
  #footer .logo img {
    max-width: calc(259 / 1280 * 100vw);
  }
  #footer .btn02 {
    margin-bottom: calc(100 / 1280 * 100vw);
  }
  #footer nav ul {
    font-size: calc(19 / 1280 * 100vw);
    gap: 0 calc(30 / 1280 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  #g_nav, .g_nav {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .sp_only {
    display: block;
  }
  body {
    width: 100%;
    font-size: calc(16 / 400 * 100vw);
  }
  body.fixed {
    position: fixed;
  }
  :target {
    scroll-margin-top: calc(50 / 400 * 100vw);
  }
  .ttl01 {
    font-weight: 700;
    color: var(--mc);
  }
  .ttl01 span {
    display: block;
  }
  .ttl01 .ja {
    font-size: calc(14 / 400 * 100vw);
    padding-left: 0;
    padding-bottom: calc(5 / 400 * 100vw);
  }
  .ttl01 .en {
    font-size: calc(20 / 400 * 100vw);
  }
  .btn01, .btn02, .btn03 {
    max-width: calc(150 / 400 * 100vw);
    font-size: calc(14 / 400 * 100vw);
    height: calc(30 / 400 * 100vw);
    border-radius: calc(50 / 400 * 100vw);
    padding-bottom: calc(2 / 400 * 100vw);
  }
  .btn02, .btn03 {
    font-size: calc(14 / 400 * 100vw);
    height: calc(30 / 400 * 100vw);
  }
  .hb_btn {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 9999;
    width: calc(55 / 400 * 100vw);
    height: calc(50 / 400 * 100vw);
    background: var(--orange);
    padding: calc(20 / 400 * 100vw) calc(20 / 400 * 100vw) 0;
    cursor: pointer;
  }
  .hb_btn span {
    height: calc(2 / 400 * 100vw);
    background: #fff;
    display: block;
    margin-bottom: calc(3 / 400 * 100vw);
    transition: 0.4s ease;
  }
  .hb_btn.open span:nth-child(1) {
    transform: translate(0, calc(4 / 400 * 100vw)) rotate(45deg);
  }
  .hb_btn.open span:nth-child(2) {
    opacity: 0;
  }
  .hb_btn.open span:nth-child(3) {
    transform: translate(0, calc(-6 / 400 * 100vw)) rotate(-45deg);
  }
  .animation01 {
    transform: translateY(calc(20 / 400 * 100vw));
  }
  #top_header,
  #header {
    height: calc(50 / 400 * 100vw);
    background: var(--mc);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: calc(18 / 400 * 100vw) 0 0 calc(18 / 400 * 100vw);
    width: 100%;
  }
  #top_header .logo img,
  #header .logo img {
    width: calc(100 / 400 * 100vw);
  }
  #header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    transition: transform 0.4s ease;
    padding-top: calc(8 / 400 * 100vw);
  }
  #header .hb_btn {
    position: fixed;
  }
  #header.top {
    transform: translate(0, -100%);
  }
  #header.top.on {
    transform: translate(0, 0);
  }
  #top_header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: none;
    height: calc(50 / 400 * 100vw);
  }
  #top_header .hb_btn span {
    background: #000;
  }
  .g_nav {
    display: none;
    padding-top: calc(38 / 400 * 100vw);
    background: var(--mc);
    position: fixed;
    width: 100%;
    height: 100dvh;
    top: 0;
    left: 0;
    z-index: 999;
  }
  .g_nav ul {
    display: grid;
    gap: calc(15 / 400 * 100vw);
    margin-bottom: calc(35 / 400 * 100vw);
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .g_nav ul a {
    font-size: calc(15 / 400 * 100vw);
    color: #fff;
  }
  .g_nav .reserve_btn {
    width: calc(105 / 400 * 100vw);
    height: calc(45 / 400 * 100vw);
    font-size: calc(15 / 400 * 100vw);
    margin: 0 auto;
    display: block;
  }
  footer {
    margin-top: calc(50 / 400 * 100vw);
  }
  #contact {
    background: #FFF2DA url(../img/common/bg_cta.jpg) no-repeat center bottom/100% auto;
    padding: calc(30 / 400 * 100vw) 0 calc(110 / 400 * 100vw);
  }
  #contact h3 {
    font-size: calc(20 / 400 * 100vw);
    text-align: center;
    margin-bottom: calc(15 / 400 * 100vw);
  }
  #contact .lead {
    margin-bottom: calc(25 / 400 * 100vw);
    font-size: calc(15 / 400 * 100vw);
  }
  #contact ul {
    gap: calc(16 / 400 * 100vw) 0;
  }
  #footer {
    padding: calc(30 / 400 * 100vw) 0 calc(60 / 400 * 100vw);
  }
  #footer .logo {
    margin-bottom: calc(20 / 400 * 100vw);
  }
  #footer .logo img {
    max-width: calc(100 / 400 * 100vw);
  }
  #footer .btn02 {
    margin-bottom: calc(36 / 400 * 100vw);
    max-width: calc(150 / 400 * 100vw);
  }
  #footer nav ul {
    font-weight: 700;
    font-size: calc(8 / 400 * 100vw);
    display: flex;
    justify-content: center;
    gap: 0 calc(5 / 400 * 100vw);
  }
}
#mv {
  background: url(../img/top/mv.jpg) no-repeat center/cover;
}
#mv .w1210 {
  height: 775px;
  padding-top: 280px;
}
#mv h2 {
  color: #fff;
  font-weight: 700;
  text-shadow: 0 5px 4px rgba(0, 0, 0, 0.25);
}
#mv h2 span {
  display: block;
}
#mv h2 span:nth-child(1) {
  font-size: 27px;
  margin-bottom: 35px;
}
#mv h2 span:nth-child(2) {
  font-size: 51px;
  margin-bottom: 18px;
}
#mv h2 span:nth-child(3) {
  font-size: 31px;
}

#campaign {
  background: #FFECC9;
  padding: 100px 0 80px;
}
#campaign h2 {
  text-align: center;
  font-weight: 700;
  font-size: 38px;
  margin-bottom: 50px;
}
#campaign h2 > span {
  display: inline-block;
  position: relative;
  font-size: 48px;
  top: 1px;
  margin: 0 2px;
  color: var(--mc);
}
#campaign h2 > span span {
  position: relative;
  z-index: 1;
}
#campaign h2 > span:before {
  top: 0;
  left: 0;
  white-space: nowrap;
  color: #fff;
  position: absolute;
  content: attr(data-text);
  -webkit-text-stroke: 7px #fff;
  text-shadow: 0 5px 4px rgba(0, 0, 0, 0.25);
}
#campaign .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 73px;
  margin-bottom: 80px;
}

#about {
  padding: 94px 0;
}
#about .bg {
  min-height: 408px;
  padding-right: 628px;
  background: url(../img/top/concept.jpg) no-repeat right top/600px auto;
}
#about .ttl01 {
  margin-bottom: 55px;
}
#about h3 {
  font-weight: 700;
  border-bottom: solid 1px var(--green);
  font-size: 32px;
  padding: 0 0 12px 22px;
  margin-bottom: 15px;
}
#about p {
  font-size: 23px;
  line-height: 1.2;
}
#about p span {
  font-weight: 700;
}

#worries {
  position: relative;
  background: #F3F3F3;
  padding-top: 72px;
  z-index: 2;
}
#worries .w1020 {
  position: relative;
  z-index: 2;
}
#worries h2 {
  font-weight: 700;
  text-align: center;
  font-size: 32px;
  margin-bottom: 75px;
}
#worries .bg {
  background: url(../img/top/worries.png) no-repeat top -22px right 10px/386px auto;
  margin-bottom: 60px;
}
#worries ul {
  max-width: 600px;
  width: 100%;
  font-size: 20px;
  display: grid;
  gap: 10px;
}
#worries li {
  border: solid 1px var(--green);
  padding: 18px 32px;
}
#worries .w_text {
  max-width: fit-content;
  margin: 0 auto;
  position: relative;
  top: 20px;
}
#worries .bottom_text01 {
  font-size: 27px;
  margin-bottom: 5px;
}
#worries .bottom_text02 {
  font-size: 43px;
}
#worries .bottom_text02 span {
  font-size: 59px;
  color: var(--green);
  font-weight: 700;
}

#reason {
  position: relative;
  background: url(../img/top/bg_reazon.jpg) no-repeat center/cover;
  padding-top: 240px;
  padding-bottom: 170px;
}
#reason:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 100%;
  height: 150px;
  background: #F3F3F3;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
#reason h2 {
  font-weight: 700;
  text-align: center;
  font-size: 59px;
  margin-bottom: 55px;
}
#reason .box {
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 42px 70px;
  margin-bottom: 50px;
}
#reason .box:before {
  content: "";
  display: block;
  width: 398px;
  height: 264px;
  background: red;
}
#reason .box .w_text {
  width: 520px;
}
#reason .box h3 {
  font-weight: 700;
  font-size: 32px;
  border-bottom: solid 1px var(--green);
  padding: 0 8px 10px;
  margin-bottom: 18px;
  max-width: 510px;
}
#reason .box h3 .num {
  display: block;
  color: var(--green);
  font-size: 40px;
  margin-bottom: 15px;
  padding-left: 10px;
}
#reason .box .text {
  line-height: 1.2;
  padding: 0 10px;
}
#reason .box01:before {
  background: url(../img/top/reason01.jpg) no-repeat center/cover;
}
#reason .box02:before {
  background: url(../img/top/reason02.jpg) no-repeat center/cover;
}
#reason .box03:before {
  background: url(../img/top/reason03.jpg) no-repeat center/cover;
}
#reason .box04:before {
  background: url(../img/top/reason04.jpg) no-repeat center/cover;
}
#reason .box05:before {
  background: url(../img/top/reason05.jpg) no-repeat center/cover;
}
#reason .box02 h3 {
  font-feature-settings: "palt";
  letter-spacing: 0.025em;
}
#reason .box01,
#reason .box03,
#reason .box05 {
  flex-direction: row-reverse;
}
#reason .box05 {
  margin-bottom: 0;
}

#plan {
  padding-top: 150px;
}
#plan .ttl01 {
  margin-bottom: 22px;
  padding-left: 58px;
}
#plan h3 {
  text-align: center;
  font-size: 30px;
  position: relative;
  padding: 0 40px;
  max-width: fit-content;
  margin: 0 auto 45px;
}
#plan h3:before, #plan h3:after {
  position: absolute;
  width: 3px;
  height: 63px;
  background: #000;
  content: "";
  display: inline-block;
  bottom: -10px;
}
#plan h3:before {
  left: 0;
  transform: rotate(-40deg);
}
#plan h3:after {
  right: 0;
  transform: rotate(40deg);
}
#plan h3 span {
  font-weight: 700;
  font-size: 64px;
  color: var(--green);
  position: relative;
  top: 4px;
}
#plan .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 40px;
}
#plan .grid .card {
  border: solid 3px var(--mc);
  padding: 40px 25px;
  border-radius: 50px;
}
#plan .grid .green {
  border-color: var(--green);
}
#plan .grid .green h4 {
  color: var(--green);
  border-bottom-color: var(--green);
}
#plan .grid .green .arrow {
  background-image: url(../img/top/arrow_g.svg);
}
#plan .grid .green .arrow span {
  color: var(--green);
}
#plan .grid h4 {
  text-align: center;
  color: var(--mc);
  font-weight: 700;
  font-size: 40px;
  border-bottom: solid 3px var(--mc);
  padding-bottom: 18px;
  margin-bottom: 22px;
}
#plan .grid h4 span {
  font-size: 20px;
  display: block;
  color: #000;
  margin-bottom: 10px;
}
#plan .grid .text01 {
  text-align: center;
  line-height: 1.2;
  margin-bottom: 35px;
  min-height: 74px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#plan .grid .price01 {
  font-weight: 700;
  text-align: center;
  margin-bottom: 15px;
  margin-left: 10px;
}
#plan .grid .price01 .num {
  font-size: 63px;
}
#plan .grid .price02 {
  font-weight: 700;
  text-align: right;
  padding-right: 27px;
  margin-left: 10px;
}
#plan .grid .arrow {
  min-height: 100px;
  background: url(../img/top/arrow.svg) no-repeat right center/58px auto;
  max-width: 190px;
  line-height: 1.2;
  margin: 15px 0 10px 10px;
  padding-top: 20px;
}
#plan .grid .arrow span {
  color: var(--mc);
}

#lesson {
  padding-top: 100px;
}
#lesson .ttl01 {
  padding-left: 20px;
  margin-bottom: 40px;
}
#lesson .lead {
  padding: 0 30px;
  line-height: 1.2;
  margin-bottom: 40px;
}
#lesson .grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
#lesson .grid a {
  display: block;
  border: solid 3px var(--green);
  border-radius: 30px;
  font-weight: 700;
  aspect-ratio: 2.5/2;
  height: auto;
  width: 100%;
  text-align: center;
  padding-top: 25px;
  transition: 0.4s ease;
}
@media (any-hover: hover) {
  #lesson .grid a:hover {
    transform: scale(1.1);
  }
}
#lesson .grid .lesson01 {
  background: url(../img/top/lesson01.png) no-repeat bottom 22px center/106px auto;
}
#lesson .grid .lesson02 {
  background: url(../img/top/lesson02.png) no-repeat bottom 25px center/110px auto;
}
#lesson .grid .lesson03 {
  background: url(../img/top/lesson03.png) no-repeat bottom 30px center/92px auto;
}
#lesson .grid .lesson04 {
  background: url(../img/top/lesson04.png) no-repeat bottom 30px center/92px auto;
}
#lesson .grid .lesson05 {
  background: url(../img/top/lesson05.png) no-repeat bottom 20px center/101px auto;
}
#lesson .grid .lesson06 {
  background: url(../img/top/lesson06.png) no-repeat bottom 16px center/110px auto;
}
#lesson .grid .lesson07 {
  background: url(../img/top/lesson07.png) no-repeat bottom 16px center/110px auto;
}
#lesson .grid .lesson08 {
  background: url(../img/top/lesson08.png) no-repeat bottom 25px center/92px auto;
}

#voice {
  padding-top: 105px;
  padding-bottom: 144px;
}
#voice .ttl01 {
  margin-bottom: 60px;
}
#voice .w_voice {
  display: grid;
  gap: 38px 0;
  padding-left: 35px;
}
#voice .w_voice .row {
  display: flex;
  justify-content: space-between;
}
#voice .w_voice .voice01 .fukidashi:before, #voice .w_voice .voice03 .fukidashi:before {
  top: 83px;
  left: -83px;
}
#voice .w_voice .voice01 .w_img, #voice .w_voice .voice03 .w_img {
  padding-top: 16px;
}
#voice .w_voice .voice02 .fukidashi:before, #voice .w_voice .voice04 .fukidashi:before {
  width: 182px;
  aspect-ratio: 182/50;
  background-image: url(../img/top/fukidashi_r_pc.svg);
  top: 92px;
  right: -73px;
}
#voice .w_voice .voice02 .w_img, #voice .w_voice .voice04 .w_img {
  padding-top: 44px;
}
#voice .w_voice .w_img {
  width: 150px;
}
#voice .w_voice .w_text {
  position: relative;
  z-index: 1;
  width: 800px;
}
#voice .w_voice .fukidashi {
  position: relative;
  background: #FFECC9;
  padding: 34px 30px;
  border-radius: 30px;
}
#voice .w_voice .fukidashi:before {
  position: absolute;
  content: "";
  display: block;
  width: 140px;
  aspect-ratio: 140/43;
  background: url(../img/top/fukidashi_l_pc.svg) no-repeat left top/cover;
}
#voice .w_voice .name, #voice .w_voice .text {
  position: relative;
  z-index: 2;
}
#voice .w_voice .name {
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 14px;
}
#voice .w_voice .text {
  line-height: 1.2;
}

#trainer {
  background: url(../img/top/bg_trainer.jpg) no-repeat center/cover;
  padding: 50px 0;
}
#trainer .ttl01 {
  padding-left: 50px;
  margin-bottom: 50px;
}
#trainer ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 70px;
}
#trainer ul li {
  padding-top: 240px;
}
#trainer ul li:nth-child(1) {
  background: url(../img/top/trainer01.jpg) no-repeat center top/263px auto;
}
#trainer ul li:nth-child(2) {
  background: url(../img/top/trainer02.jpg) no-repeat center top/263px auto;
}
#trainer ul li:nth-child(3) {
  background: url(../img/top/trainer03.jpg) no-repeat center top/263px auto;
}
#trainer ul h3 {
  font-weight: 700;
  text-align: center;
  font-size: 32px;
  margin-bottom: 36px;
}
#trainer ul p {
  line-height: 1.2;
}
#trainer ul .text01 {
  margin-bottom: 1em;
}
#trainer ul .text02 {
  font-size: 15px;
}

#access {
  padding-top: 100px;
}
#access .ttl01 {
  margin-bottom: 15px;
}
#access .flex {
  display: flex;
  justify-content: space-between;
}
#access table {
  line-height: 1.2;
}
#access table th, #access table td {
  vertical-align: top;
  padding: 20px 0;
}
#access table th {
  width: 150px;
}
#access .left {
  padding-top: 35px;
}
#access .right {
  width: 475px;
}
#access .gmap iframe {
  aspect-ratio: 475/325;
  width: 100%;
  height: auto;
}

#faq {
  padding-top: 65px;
}
#faq .ttl01 {
  margin-bottom: 30px;
}
#faq .faq_list {
  padding-left: 55px;
  display: grid;
  gap: 20px;
  line-height: 1.2;
  font-weight: 700;
}
#faq .q, #faq .a {
  position: relative;
}
#faq .q:before, #faq .a:before {
  font-size: 32px;
  position: absolute;
  left: 106px;
  top: 50%;
  transform: translate(0, -50%);
}
#faq .q {
  background: #D9D9D9;
  padding: 28px 50px 28px 180px;
  cursor: pointer;
}
#faq .q.open:after {
  transform: translate(0, -50%) rotate(90deg);
}
#faq .q:before {
  content: "Q";
  color: var(--green);
  margin-top: -5px;
}
#faq .q:after {
  position: absolute;
  content: "";
  display: block;
  width: 13px;
  height: auto;
  aspect-ratio: 13/23;
  background: url(../img/top/faq_arrow.svg) no-repeat left top/100% auto;
  left: 60px;
  top: 50%;
  transform: translate(0, -50%);
}
#faq .a {
  display: none;
  background: #F3F3F3;
  padding: 18px 120px 18px 180px;
}
#faq .a:before {
  content: "A";
  color: var(--mc);
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  #mv .w1210 {
    height: calc(775 / 1280 * 100vw);
    padding-top: calc(280 / 1280 * 100vw);
  }
  #mv h2 {
    text-shadow: 0 calc(5 / 1280 * 100vw) calc(4 / 1280 * 100vw) rgba(0, 0, 0, 0.25);
  }
  #mv h2 span:nth-child(1) {
    font-size: calc(27 / 1280 * 100vw);
    margin-bottom: calc(35 / 1280 * 100vw);
  }
  #mv h2 span:nth-child(2) {
    font-size: calc(51 / 1280 * 100vw);
    margin-bottom: calc(18 / 1280 * 100vw);
  }
  #mv h2 span:nth-child(3) {
    font-size: calc(31 / 1280 * 100vw);
  }
  #campaign {
    padding: calc(100 / 1280 * 100vw) 0 calc(80 / 1280 * 100vw);
  }
  #campaign h2 {
    font-size: calc(38 / 1280 * 100vw);
    margin-bottom: calc(50 / 1280 * 100vw);
  }
  #campaign h2 > span {
    font-size: calc(48 / 1280 * 100vw);
    top: calc(1 / 1280 * 100vw);
    margin: 0 calc(2 / 1280 * 100vw);
  }
  #campaign h2 > span:before {
    -webkit-text-stroke: calc(7 / 1280 * 100vw) #fff;
  }
  #campaign .grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 calc(73 / 1280 * 100vw);
    margin-bottom: calc(80 / 1280 * 100vw);
  }
  #about {
    padding: calc(94 / 1280 * 100vw) 0;
  }
  #about .bg {
    min-height: calc(408 / 1280 * 100vw);
    padding-right: calc(628 / 1280 * 100vw);
    background: url(../img/top/concept.jpg) no-repeat right top/calc(600 / 1280 * 100vw) auto;
  }
  #about .ttl01 {
    margin-bottom: calc(55 / 1280 * 100vw);
  }
  #about h3 {
    border-bottom: solid calc(1 / 1280 * 100vw) var(--green);
    font-size: calc(32 / 1280 * 100vw);
    padding: 0 0 calc(12 / 1280 * 100vw) calc(22 / 1280 * 100vw);
    margin-bottom: calc(15 / 1280 * 100vw);
  }
  #about p {
    font-size: calc(23 / 1280 * 100vw);
  }
  #worries {
    padding-top: calc(72 / 1280 * 100vw);
  }
  #worries h2 {
    font-size: calc(32 / 1280 * 100vw);
    margin-bottom: calc(75 / 1280 * 100vw);
  }
  #worries .bg {
    background: url(../img/top/worries.png) no-repeat top calc(-22 / 1280 * 100vw) right calc(10 / 1280 * 100vw)/calc(386 / 1280 * 100vw) auto;
    margin-bottom: calc(60 / 1280 * 100vw);
  }
  #worries ul {
    max-width: calc(600 / 1280 * 100vw);
    font-size: calc(20 / 1280 * 100vw);
    gap: calc(10 / 1280 * 100vw);
  }
  #worries li {
    border: solid calc(1 / 1280 * 100vw) var(--green);
    padding: calc(18 / 1280 * 100vw) calc(32 / 1280 * 100vw);
  }
  #worries .w_text {
    top: calc(20 / 1280 * 100vw);
  }
  #worries .bottom_text01 {
    font-size: calc(27 / 1280 * 100vw);
    margin-bottom: calc(5 / 1280 * 100vw);
  }
  #worries .bottom_text02 {
    font-size: calc(43 / 1280 * 100vw);
  }
  #worries .bottom_text02 span {
    font-size: calc(59 / 1280 * 100vw);
  }
  #reason {
    padding-top: calc(240 / 1280 * 100vw);
    padding-bottom: calc(170 / 1280 * 100vw);
  }
  #reason:before {
    height: calc(150 / 1280 * 100vw);
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
  }
  #reason h2 {
    font-size: calc(59 / 1280 * 100vw);
    margin-bottom: calc(55 / 1280 * 100vw);
  }
  #reason .box {
    padding: calc(42 / 1280 * 100vw) calc(70 / 1280 * 100vw);
    margin-bottom: calc(50 / 1280 * 100vw);
  }
  #reason .box:before {
    width: calc(398 / 1280 * 100vw);
    height: calc(264 / 1280 * 100vw);
  }
  #reason .box .w_text {
    width: calc(520 / 1280 * 100vw);
  }
  #reason .box h3 {
    font-size: calc(32 / 1280 * 100vw);
    border-bottom: solid calc(1 / 1280 * 100vw) var(--green);
    padding: 0 calc(8 / 1280 * 100vw) calc(10 / 1280 * 100vw);
    margin-bottom: calc(18 / 1280 * 100vw);
    max-width: calc(510 / 1280 * 100vw);
  }
  #reason .box h3 .num {
    font-size: calc(40 / 1280 * 100vw);
    margin-bottom: calc(15 / 1280 * 100vw);
    padding-left: calc(10 / 1280 * 100vw);
  }
  #reason .box .text {
    padding: 0 calc(10 / 1280 * 100vw);
  }
  #reason .box01:before {
    background: url(../img/top/reason01.jpg) no-repeat center/cover;
  }
  #reason .box02:before {
    background: url(../img/top/reason02.jpg) no-repeat center/cover;
  }
  #reason .box03:before {
    background: url(../img/top/reason03.jpg) no-repeat center/cover;
  }
  #reason .box04:before {
    background: url(../img/top/reason04.jpg) no-repeat center/cover;
  }
  #reason .box05:before {
    background: url(../img/top/reason05.jpg) no-repeat center/cover;
  }
  #plan {
    padding-top: calc(150 / 1280 * 100vw);
  }
  #plan .ttl01 {
    margin-bottom: calc(22 / 1280 * 100vw);
    padding-left: calc(58 / 1280 * 100vw);
  }
  #plan h3 {
    font-size: calc(30 / 1280 * 100vw);
    padding: 0 calc(40 / 1280 * 100vw);
    margin: 0 auto calc(45 / 1280 * 100vw);
  }
  #plan h3:before, #plan h3:after {
    width: calc(3 / 1280 * 100vw);
    height: calc(63 / 1280 * 100vw);
    bottom: calc(-10 / 1280 * 100vw);
  }
  #plan h3 span {
    font-size: calc(64 / 1280 * 100vw);
    top: calc(4 / 1280 * 100vw);
  }
  #plan .grid {
    gap: 0 calc(40 / 1280 * 100vw);
  }
  #plan .grid .card {
    border: solid calc(3 / 1280 * 100vw) var(--mc);
    padding: calc(40 / 1280 * 100vw) calc(25 / 1280 * 100vw);
    border-radius: calc(50 / 1280 * 100vw);
  }
  #plan .grid h4 {
    font-size: calc(40 / 1280 * 100vw);
    border-bottom: solid calc(3 / 1280 * 100vw) var(--mc);
    padding-bottom: calc(18 / 1280 * 100vw);
    margin-bottom: calc(22 / 1280 * 100vw);
  }
  #plan .grid h4 span {
    font-size: calc(20 / 1280 * 100vw);
    margin-bottom: calc(10 / 1280 * 100vw);
  }
  #plan .grid .text01 {
    margin-bottom: calc(35 / 1280 * 100vw);
    min-height: calc(74 / 1280 * 100vw);
  }
  #plan .grid .price01 {
    margin-bottom: calc(15 / 1280 * 100vw);
    margin-left: calc(10 / 1280 * 100vw);
  }
  #plan .grid .price01 .num {
    font-size: calc(63 / 1280 * 100vw);
  }
  #plan .grid .price02 {
    padding-right: calc(27 / 1280 * 100vw);
    margin-left: calc(10 / 1280 * 100vw);
  }
  #plan .grid .arrow {
    min-height: calc(100 / 1280 * 100vw);
    background: url(../img/top/arrow.svg) no-repeat right center/calc(58 / 1280 * 100vw) auto;
    max-width: calc(190 / 1280 * 100vw);
    margin: calc(15 / 1280 * 100vw) 0 calc(10 / 1280 * 100vw) calc(10 / 1280 * 100vw);
    padding-top: calc(20 / 1280 * 100vw);
  }
  #lesson {
    padding-top: calc(100 / 1280 * 100vw);
  }
  #lesson .ttl01 {
    padding-left: calc(20 / 1280 * 100vw);
    margin-bottom: calc(40 / 1280 * 100vw);
  }
  #lesson .lead {
    padding: 0 calc(30 / 1280 * 100vw);
    line-height: 1.2;
    margin-bottom: calc(40 / 1280 * 100vw);
  }
  #lesson .grid {
    grid-template-columns: repeat(4, 1fr);
    gap: calc(20 / 1280 * 100vw);
  }
  #lesson .grid a {
    border: solid calc(3 / 1280 * 100vw) var(--green);
    border-radius: calc(30 / 1280 * 100vw);
    padding-top: calc(25 / 1280 * 100vw);
  }
  #lesson .grid .lesson01 {
    background: url(../img/top/lesson01.png) no-repeat bottom calc(22 / 1280 * 100vw) center/calc(106 / 1280 * 100vw) auto;
  }
  #lesson .grid .lesson02 {
    background: url(../img/top/lesson02.png) no-repeat bottom calc(25 / 1280 * 100vw) center/calc(110 / 1280 * 100vw) auto;
  }
  #lesson .grid .lesson03 {
    background: url(../img/top/lesson03.png) no-repeat bottom calc(30 / 1280 * 100vw) center/calc(92 / 1280 * 100vw) auto;
  }
  #lesson .grid .lesson04 {
    background: url(../img/top/lesson04.png) no-repeat bottom calc(30 / 1280 * 100vw) center/calc(92 / 1280 * 100vw) auto;
  }
  #lesson .grid .lesson05 {
    background: url(../img/top/lesson05.png) no-repeat bottom calc(20 / 1280 * 100vw) center/calc(101 / 1280 * 100vw) auto;
  }
  #lesson .grid .lesson06 {
    background: url(../img/top/lesson06.png) no-repeat bottom calc(16 / 1280 * 100vw) center/calc(110 / 1280 * 100vw) auto;
  }
  #lesson .grid .lesson07 {
    background: url(../img/top/lesson07.png) no-repeat bottom calc(16 / 1280 * 100vw) center/calc(110 / 1280 * 100vw) auto;
  }
  #lesson .grid .lesson08 {
    background: url(../img/top/lesson08.png) no-repeat bottom calc(25 / 1280 * 100vw) center/calc(92 / 1280 * 100vw) auto;
  }
  #voice {
    padding-top: calc(105 / 1280 * 100vw);
    padding-bottom: calc(144 / 1280 * 100vw);
  }
  #voice .ttl01 {
    margin-bottom: calc(60 / 1280 * 100vw);
  }
  #voice .w_voice {
    gap: calc(38 / 1280 * 100vw) 0;
    padding-left: calc(35 / 1280 * 100vw);
  }
  #voice .w_voice .voice01 .fukidashi:before, #voice .w_voice .voice03 .fukidashi:before {
    top: calc(83 / 1280 * 100vw);
    left: calc(-83 / 1280 * 100vw);
  }
  #voice .w_voice .voice01 .w_img, #voice .w_voice .voice03 .w_img {
    padding-top: calc(16 / 1280 * 100vw);
  }
  #voice .w_voice .voice02 .fukidashi:before, #voice .w_voice .voice04 .fukidashi:before {
    width: calc(182 / 1280 * 100vw);
    top: calc(92 / 1280 * 100vw);
    right: calc(-73 / 1280 * 100vw);
  }
  #voice .w_voice .voice02 .w_img, #voice .w_voice .voice04 .w_img {
    padding-top: calc(44 / 1280 * 100vw);
  }
  #voice .w_voice .w_img {
    width: calc(150 / 1280 * 100vw);
  }
  #voice .w_voice .w_text {
    width: calc(800 / 1280 * 100vw);
  }
  #voice .w_voice .fukidashi {
    padding: calc(34 / 1280 * 100vw) calc(30 / 1280 * 100vw);
    border-radius: calc(30 / 1280 * 100vw);
  }
  #voice .w_voice .fukidashi:before {
    width: calc(140 / 1280 * 100vw);
  }
  #voice .w_voice .name {
    font-size: calc(22 / 1280 * 100vw);
    margin-bottom: calc(14 / 1280 * 100vw);
  }
  #trainer {
    padding: calc(50 / 1280 * 100vw) 0;
  }
  #trainer .ttl01 {
    padding-left: calc(50 / 1280 * 100vw);
    margin-bottom: calc(50 / 1280 * 100vw);
  }
  #trainer ul {
    gap: 0 calc(70 / 1280 * 100vw);
  }
  #trainer ul li {
    padding-top: calc(240 / 1280 * 100vw);
  }
  #trainer ul li:nth-child(1) {
    background: url(../img/top/trainer01.jpg) no-repeat center top/calc(263 / 1280 * 100vw) auto;
  }
  #trainer ul li:nth-child(2) {
    background: url(../img/top/trainer02.jpg) no-repeat center top/calc(263 / 1280 * 100vw) auto;
  }
  #trainer ul li:nth-child(3) {
    background: url(../img/top/trainer03.jpg) no-repeat center top/calc(263 / 1280 * 100vw) auto;
  }
  #trainer ul h3 {
    font-size: calc(32 / 1280 * 100vw);
    margin-bottom: calc(36 / 1280 * 100vw);
  }
  #trainer ul .text02 {
    font-size: calc(15 / 1280 * 100vw);
  }
  #access {
    padding-top: calc(100 / 1280 * 100vw);
  }
  #access .ttl01 {
    margin-bottom: calc(15 / 1280 * 100vw);
  }
  #access table th, #access table td {
    padding: calc(20 / 1280 * 100vw) 0;
  }
  #access table th {
    width: calc(150 / 1280 * 100vw);
  }
  #access .left {
    padding-top: calc(35 / 1280 * 100vw);
  }
  #access .right {
    width: calc(475 / 1280 * 100vw);
  }
  #faq {
    padding-top: calc(65 / 1280 * 100vw);
  }
  #faq .ttl01 {
    margin-bottom: calc(30 / 1280 * 100vw);
  }
  #faq .faq_list {
    padding-left: calc(55 / 1280 * 100vw);
    gap: calc(20 / 1280 * 100vw);
  }
  #faq .q:before, #faq .a:before {
    font-size: calc(32 / 1280 * 100vw);
    left: calc(106 / 1280 * 100vw);
  }
  #faq .q {
    padding: calc(28 / 1280 * 100vw) calc(50 / 1280 * 100vw) calc(28 / 1280 * 100vw) calc(180 / 1280 * 100vw);
  }
  #faq .q.open:after {
    transform: translate(0, -50%) rotate(90deg);
  }
  #faq .q:before {
    margin-top: calc(-5 / 1280 * 100vw);
  }
  #faq .q:after {
    width: calc(13 / 1280 * 100vw);
    left: calc(60 / 1280 * 100vw);
  }
  #faq .a {
    padding: calc(18 / 1280 * 100vw) calc(120 / 1280 * 100vw) calc(18 / 1280 * 100vw) calc(180 / 1280 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #mv {
    background: url(../img/top/mv_sp.jpg) no-repeat center/cover;
  }
  #mv .w1210 {
    height: calc(305 / 400 * 100vw);
    padding-top: calc(94 / 400 * 100vw);
    padding-left: calc(22 / 400 * 100vw);
  }
  #mv h2 {
    color: #fff;
    font-weight: 700;
    text-shadow: 0 calc(5 / 400 * 100vw) calc(4 / 400 * 100vw) rgba(0, 0, 0, 0.25);
  }
  #mv h2 span {
    display: block;
  }
  #mv h2 span:nth-child(1) {
    font-size: calc(14 / 400 * 100vw);
    margin-bottom: calc(10 / 400 * 100vw);
  }
  #mv h2 span:nth-child(2) {
    font-size: calc(26 / 400 * 100vw);
    margin-bottom: calc(5 / 400 * 100vw);
    line-height: 1.4;
  }
  #mv h2 span:nth-child(3) {
    font-size: calc(16 / 400 * 100vw);
  }
  #campaign {
    background: #FFECC9;
    padding: calc(20 / 400 * 100vw) 0 calc(26 / 400 * 100vw);
  }
  #campaign h2 {
    text-align: left;
    font-weight: 700;
    font-size: calc(14 / 400 * 100vw);
    line-height: 1.2;
    max-width: fit-content;
    margin: 0 auto calc(22 / 400 * 100vw);
  }
  #campaign h2 > span {
    display: inline-block;
    position: relative;
    font-size: calc(18 / 400 * 100vw);
    top: calc(1 / 400 * 100vw);
    margin: 0 calc(2 / 400 * 100vw);
    color: var(--mc);
  }
  #campaign h2 > span span {
    position: relative;
    z-index: 1;
  }
  #campaign h2 > span:before {
    -webkit-text-stroke: calc(4 / 400 * 100vw) #fff;
    filter: drop-shadow(calc(1 / 400 * 100vw) calc(3 / 400 * 100vw) calc(2 / 400 * 100vw) rgba(0, 0, 0, 0.25));
    text-shadow: none;
  }
  #campaign .grid {
    max-width: calc(340 / 400 * 100vw);
    margin: 0 auto calc(30 / 400 * 100vw);
    gap: 0 calc(20 / 400 * 100vw);
  }
  #about {
    padding: calc(34 / 400 * 100vw) 0;
  }
  #about .w1228 {
    max-width: calc(300 / 400 * 100vw);
  }
  #about .bg {
    min-height: 0;
    padding-right: 0;
    background: none;
  }
  #about .ttl01 {
    margin-bottom: calc(22 / 400 * 100vw);
  }
  #about h3 {
    font-size: calc(20 / 400 * 100vw);
    padding: 0 0 calc(8 / 400 * 100vw) 0;
    margin-bottom: calc(15 / 400 * 100vw);
  }
  #about p {
    font-size: calc(16 / 400 * 100vw);
    line-height: 1.2;
    background: url(../img/top/concept.jpg) no-repeat center top/100% auto;
    padding-top: calc(232 / 400 * 100vw);
  }
  #worries {
    padding-top: calc(35 / 400 * 100vw);
    padding-bottom: calc(30 / 400 * 100vw);
    z-index: 2;
  }
  #worries .w1020 {
    max-width: calc(350 / 400 * 100vw);
  }
  #worries h2 {
    font-weight: 700;
    text-align: center;
    font-size: calc(18 / 400 * 100vw);
    margin-bottom: calc(28 / 400 * 100vw);
  }
  #worries .bg {
    background: none;
    margin-bottom: calc(20 / 400 * 100vw);
  }
  #worries ul {
    max-width: calc(600 / 400 * 100vw);
    width: 100%;
    font-size: calc(14 / 400 * 100vw);
    gap: calc(8 / 400 * 100vw);
  }
  #worries li {
    border: solid calc(1 / 400 * 100vw) var(--green);
    padding: calc(6 / 400 * 100vw) calc(14 / 400 * 100vw) calc(8 / 400 * 100vw);
  }
  #worries .w_text {
    max-width: fit-content;
    margin: 0 auto;
    position: relative;
    top: revert;
  }
  #worries .bottom_text01 {
    font-size: calc(14 / 400 * 100vw);
    margin-bottom: calc(3 / 400 * 100vw);
  }
  #worries .bottom_text02 {
    font-size: calc(14 / 400 * 100vw);
  }
  #worries .bottom_text02 span {
    font-size: calc(20 / 400 * 100vw);
    position: relative;
    top: calc(2 / 400 * 100vw);
    margin: 0 calc(3 / 400 * 100vw);
  }
  #reason {
    position: relative;
    background: url(../img/top/bg_reazon_sp.jpg) no-repeat center/cover;
    padding: calc(100 / 400 * 100vw) calc(25 / 400 * 100vw) calc(50 / 400 * 100vw);
  }
  #reason:before {
    height: calc(60 / 400 * 100vw);
  }
  #reason h2 {
    font-size: calc(20 / 400 * 100vw);
    margin-bottom: calc(25 / 400 * 100vw);
    text-shadow: 0 calc(4 / 400 * 100vw) calc(4 / 400 * 100vw) rgba(0, 0, 0, 0.25);
  }
  #reason .box {
    background: #fff;
    display: grid;
    padding: calc(28 / 400 * 100vw) calc(25 / 400 * 100vw) calc(30 / 400 * 100vw);
    margin-bottom: calc(35 / 400 * 100vw);
    gap: calc(20 / 400 * 100vw) 0;
  }
  #reason .box:before {
    display: block;
    width: 100%;
    aspect-ratio: 398/264;
    height: auto;
  }
  #reason .box .w_text {
    width: 100%;
  }
  #reason .box h3 {
    font-size: calc(18 / 400 * 100vw);
    padding: 0 calc(8 / 400 * 100vw) calc(10 / 400 * 100vw) 0;
    margin-bottom: calc(12 / 400 * 100vw);
    max-width: 100%;
    white-space: nowrap;
  }
  #reason .box h3 .num {
    display: inline-block;
    color: var(--green);
    font-size: calc(18 / 400 * 100vw);
    margin-bottom: 0;
    padding-left: 0;
    margin-right: calc(3 / 400 * 100vw);
  }
  #reason .box .text {
    padding: 0 calc(2 / 400 * 100vw);
  }
  #plan {
    padding-top: calc(30 / 400 * 100vw);
  }
  #plan .ttl01 {
    margin-bottom: calc(10 / 400 * 100vw);
    padding-left: calc(50 / 400 * 100vw);
  }
  #plan h3 {
    font-size: calc(14 / 400 * 100vw);
    position: relative;
    padding: 0 calc(10 / 400 * 100vw);
    max-width: fit-content;
    margin: 0 auto calc(30 / 400 * 100vw);
  }
  #plan h3:before, #plan h3:after {
    position: absolute;
    width: calc(1 / 400 * 100vw);
    height: calc(22 / 400 * 100vw);
    bottom: calc(-3 / 400 * 100vw);
  }
  #plan h3:before {
    left: 0;
    transform: rotate(-35deg);
  }
  #plan h3:after {
    right: 0;
    transform: rotate(35deg);
  }
  #plan h3 span {
    font-size: calc(19 / 400 * 100vw);
    top: calc(1 / 400 * 100vw);
  }
  #plan .grid {
    grid-template-columns: 1fr;
    gap: calc(30 / 400 * 100vw) 0;
    max-width: calc(350 / 400 * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  #plan .grid .card {
    border: solid calc(1 / 400 * 100vw) var(--mc);
    padding: calc(20 / 400 * 100vw) calc(25 / 400 * 100vw) calc(30 / 400 * 100vw);
    border-radius: calc(50 / 400 * 100vw);
  }
  #plan .grid .green {
    border-color: var(--green);
  }
  #plan .grid .green h4 {
    color: var(--green);
    border-bottom-color: var(--green);
  }
  #plan .grid .green .arrow {
    background-image: url(../img/top/arrow_g.svg);
  }
  #plan .grid .green .arrow span {
    color: var(--green);
  }
  #plan .grid h4 {
    font-size: calc(23 / 400 * 100vw);
    border-bottom: solid calc(1 / 400 * 100vw) var(--mc);
    padding-bottom: calc(8 / 400 * 100vw);
    margin-bottom: calc(10 / 400 * 100vw);
  }
  #plan .grid h4 span {
    font-size: calc(16 / 400 * 100vw);
    display: block;
    color: #000;
    margin-bottom: calc(6 / 400 * 100vw);
  }
  #plan .grid .text01 {
    margin-bottom: calc(10 / 400 * 100vw);
    min-height: 0;
    font-size: calc(16 / 400 * 100vw);
  }
  #plan .grid .price01 {
    font-weight: 700;
    text-align: center;
    margin-bottom: calc(10 / 400 * 100vw);
    margin-left: calc(5 / 400 * 100vw);
    font-size: calc(28 / 400 * 100vw);
  }
  #plan .grid .price01 .num {
    font-size: calc(49 / 400 * 100vw);
  }
  #plan .grid .price02 {
    padding-right: calc(43 / 400 * 100vw);
    margin-left: calc(10 / 400 * 100vw);
    font-size: calc(16 / 400 * 100vw);
  }
  #plan .grid .arrow {
    min-height: calc(70 / 400 * 100vw);
    background: url(../img/top/arrow_sp.svg) no-repeat right center/calc(29 / 400 * 100vw) auto;
    max-width: calc(156 / 400 * 100vw);
    line-height: 1.2;
    margin: calc(15 / 400 * 100vw) 0 calc(5 / 400 * 100vw) calc(10 / 400 * 100vw);
    padding-top: calc(10 / 400 * 100vw);
    padding-left: calc(32 / 400 * 100vw);
  }
  #lesson {
    padding-top: calc(35 / 400 * 100vw);
  }
  #lesson .ttl01 {
    padding-left: calc(45 / 400 * 100vw);
    margin-bottom: calc(18 / 400 * 100vw);
  }
  #lesson .lead {
    padding: 0;
    line-height: 1.2;
    max-width: calc(300 / 400 * 100vw);
    margin: 0 auto calc(20 / 400 * 100vw);
  }
  #lesson .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(10 / 400 * 100vw);
    max-width: calc(370 / 400 * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  #lesson .grid a {
    border: solid calc(1 / 400 * 100vw) var(--green);
    border-radius: calc(20 / 400 * 100vw);
    aspect-ratio: 1/1;
    padding-top: calc(25 / 400 * 100vw);
    transition: revert;
  }
  #lesson .grid a:has(.sp_only) {
    padding-top: calc(10 / 400 * 100vw);
    line-height: 1.25;
  }
  #lesson .grid .lesson01 {
    background: url(../img/top/lesson01.png) no-repeat bottom calc(13 / 400 * 100vw) center/calc(100 / 400 * 100vw) auto;
  }
  #lesson .grid .lesson02 {
    background: url(../img/top/lesson02.png) no-repeat bottom calc(13 / 400 * 100vw) center/calc(100 / 400 * 100vw) auto;
  }
  #lesson .grid .lesson03 {
    background: url(../img/top/lesson03.png) no-repeat bottom calc(18 / 400 * 100vw) center/calc(100 / 400 * 100vw) auto;
  }
  #lesson .grid .lesson04 {
    background: url(../img/top/lesson04.png) no-repeat bottom calc(18 / 400 * 100vw) center/calc(100 / 400 * 100vw) auto;
  }
  #lesson .grid .lesson05 {
    background: url(../img/top/lesson05.png) no-repeat bottom calc(27 / 400 * 100vw) center/calc(100 / 400 * 100vw) auto;
  }
  #lesson .grid .lesson06 {
    background: url(../img/top/lesson06.png) no-repeat bottom calc(27 / 400 * 100vw) center/calc(100 / 400 * 100vw) auto;
  }
  #lesson .grid .lesson07 {
    background: url(../img/top/lesson07.png) no-repeat bottom calc(26 / 400 * 100vw) center/calc(100 / 400 * 100vw) auto;
  }
  #lesson .grid .lesson08 {
    background: url(../img/top/lesson08.png) no-repeat bottom calc(26 / 400 * 100vw) center/calc(100 / 400 * 100vw) auto;
  }
  #voice {
    padding: calc(60 / 400 * 100vw) calc(40 / 400 * 100vw) calc(65 / 400 * 100vw);
  }
  #voice .ttl01 {
    margin-bottom: calc(15 / 400 * 100vw);
  }
  #voice .w_voice {
    display: grid;
    gap: calc(34 / 400 * 100vw) 0;
    padding-left: 0;
  }
  #voice .w_voice .row {
    display: flex;
    justify-content: space-between;
  }
  #voice .w_voice .voice01 .fukidashi:before {
    width: calc(54 / 400 * 100vw);
    aspect-ratio: 54/88;
    background-image: url(../img/top/fukidashi01_sp.svg);
    left: calc(-23 / 400 * 100vw);
    top: calc(25 / 400 * 100vw);
  }
  #voice .w_voice .voice01 .w_text {
    padding-top: calc(20 / 400 * 100vw);
  }
  #voice .w_voice .voice01 .w_img {
    padding-top: 0;
  }
  #voice .w_voice .voice02 .fukidashi:before {
    width: calc(47 / 400 * 100vw);
    aspect-ratio: 47/15;
    background-image: url(../img/top/fukidashi02_sp.svg);
    right: calc(-25 / 400 * 100vw);
    top: calc(35 / 400 * 100vw);
  }
  #voice .w_voice .voice02 .w_text {
    padding-top: calc(10 / 400 * 100vw);
  }
  #voice .w_voice .voice02 .w_img {
    padding-top: 0;
  }
  #voice .w_voice .voice03 .fukidashi:before {
    width: calc(63 / 400 * 100vw);
    aspect-ratio: 63/13;
    background-image: url(../img/top/fukidashi03_sp.svg);
    left: calc(-30 / 400 * 100vw);
    top: calc(45 / 400 * 100vw);
  }
  #voice .w_voice .voice03 .w_img {
    padding-top: 0;
  }
  #voice .w_voice .voice04 .fukidashi:before {
    width: calc(63 / 400 * 100vw);
    aspect-ratio: 63/13;
    background-image: url(../img/top/fukidashi04_sp.svg);
    right: calc(-20 / 400 * 100vw);
    top: calc(35 / 400 * 100vw);
  }
  #voice .w_voice .voice04 .w_img {
    padding-top: calc(12 / 400 * 100vw);
  }
  #voice .w_voice .w_img {
    width: calc(80 / 400 * 100vw);
  }
  #voice .w_voice .w_text {
    position: relative;
    z-index: 1;
    width: calc(230 / 400 * 100vw);
  }
  #voice .w_voice .fukidashi {
    position: relative;
    background: #FFECC9;
    padding: calc(27 / 400 * 100vw) calc(15 / 400 * 100vw);
    border-radius: calc(15 / 400 * 100vw);
  }
  #voice .w_voice .fukidashi:before {
    position: absolute;
    content: "";
    display: block;
    width: calc(140 / 400 * 100vw);
    aspect-ratio: 140/43;
    background: url(../img/top/fukidashi_l_pc.svg) no-repeat left top/cover;
  }
  #voice .w_voice .name, #voice .w_voice .text {
    position: relative;
    z-index: 2;
  }
  #voice .w_voice .name {
    font-weight: 700;
    font-size: calc(16 / 400 * 100vw);
    margin-bottom: calc(14 / 400 * 100vw);
  }
  #voice .w_voice .text {
    line-height: 1.2;
    font-size: calc(14 / 400 * 100vw);
  }
  #trainer {
    background: url(../img/top/bg_trainer_sp.jpg) no-repeat center/cover;
    padding: calc(40 / 400 * 100vw) 0 calc(60 / 400 * 100vw);
  }
  #trainer .ttl01 {
    padding-left: calc(38 / 400 * 100vw);
    margin-bottom: calc(28 / 400 * 100vw);
  }
  #trainer ul {
    max-width: calc(250 / 400 * 100vw);
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(55 / 400 * 100vw) 0;
  }
  #trainer ul li {
    padding-top: calc(220 / 400 * 100vw);
  }
  #trainer ul h3 {
    text-align: left;
    font-size: calc(18 / 400 * 100vw);
    margin-bottom: calc(5 / 400 * 100vw);
  }
  #trainer ul p {
    line-height: 1.2;
  }
  #trainer ul .text01, #trainer ul .text02 {
    max-width: calc(240 / 400 * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  #trainer ul .text01 {
    margin-bottom: 1em;
  }
  #trainer ul .text02 {
    font-size: calc(14 / 400 * 100vw);
  }
  #access {
    padding-top: calc(65 / 400 * 100vw);
  }
  #access .ttl01 {
    margin-bottom: calc(20 / 400 * 100vw);
    padding-left: calc(20 / 400 * 100vw);
  }
  #access .flex {
    display: grid;
    width: calc(300 / 400 * 100vw);
    margin-left: auto;
    margin-right: auto;
    gap: calc(15 / 400 * 100vw) 0;
  }
  #access table {
    width: 100%;
    line-height: 1.2;
    max-width: calc(270 / 400 * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  #access table th, #access table td {
    white-space: nowrap;
    vertical-align: top;
    padding: calc(8 / 400 * 100vw) 0;
    font-size: calc(16 / 400 * 100vw);
  }
  #access table th {
    width: calc(95 / 400 * 100vw);
  }
  #access .left {
    padding-top: 0;
  }
  #access .right {
    width: 100%;
  }
  #access .gmap iframe {
    aspect-ratio: 300/205;
    width: 100%;
    height: auto;
  }
  #faq {
    padding-top: calc(40 / 400 * 100vw);
  }
  #faq .ttl01 {
    margin-bottom: calc(30 / 400 * 100vw);
    padding-left: calc(45 / 400 * 100vw);
  }
  #faq .faq_list {
    padding: 0 calc(20 / 400 * 100vw);
    display: grid;
    gap: calc(15 / 400 * 100vw);
    line-height: 1.2;
    font-weight: 700;
  }
  #faq .q, #faq .a {
    position: relative;
    font-size: calc(12 / 400 * 100vw);
  }
  #faq .q:before, #faq .a:before {
    font-size: calc(16 / 400 * 100vw);
    position: absolute;
    left: calc(32 / 400 * 100vw);
    top: 50%;
    transform: translate(0, -50%);
  }
  #faq .q {
    background: #D9D9D9;
    padding: calc(10 / 400 * 100vw) calc(50 / 400 * 100vw) calc(10 / 400 * 100vw) calc(54 / 400 * 100vw);
    cursor: pointer;
  }
  #faq .q.open:after {
    transform: translate(0, -50%) rotate(90deg);
  }
  #faq .q:before {
    content: "Q";
    color: var(--green);
    margin-top: calc(-1 / 400 * 100vw);
  }
  #faq .q:after {
    width: calc(5 / 400 * 100vw);
    left: calc(20 / 400 * 100vw);
    top: 50%;
    transform: translate(0, -50%);
  }
  #faq .a {
    display: none;
    background: #F3F3F3;
    padding: calc(14 / 400 * 100vw) calc(15 / 400 * 100vw) calc(24 / 400 * 100vw) calc(54 / 400 * 100vw);
  }
  #faq .a:before {
    content: "A";
    color: var(--mc);
    top: calc(10 / 400 * 100vw);
    transform: revert;
  }
}
#lower {
  padding-top: 100px;
}
#lower h2 {
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
  color: var(--mc);
}
#lower p {
  line-height: 1.2;
  font-size: 20px;
}

#lower_mv {
  height: 394px;
  padding-top: 140px;
  margin-bottom: 110px;
}
#lower_mv.tairyokuup {
  background: url(../img/lower/mv_tairyokuup.jpg) no-repeat center bottom/cover;
}
#lower_mv.katacare {
  background: url(../img/lower/mv_katacare.jpg) no-repeat center bottom/cover;
}
#lower_mv.hizakosicare {
  background: url(../img/lower/mv_hizakosicare.jpg) no-repeat center bottom/cover;
}
#lower_mv.karadaconditioning {
  background: url(../img/lower/mv_karadaconditioning.jpg) no-repeat center bottom/cover;
}
#lower_mv.kintoredojo {
  background: url(../img/lower/mv_kintoredojo.jpg) no-repeat center bottom/cover;
}
#lower_mv.hakkann {
  background: url(../img/lower/mv_hakkann.jpg) no-repeat center bottom/cover;
}
#lower_mv.ungjump {
  background: url(../img/lower/mv_ungjump.jpg) no-repeat center bottom/cover;
}
#lower_mv.fightdo {
  background: url(../img/lower/mv_fightdo.jpg) no-repeat center bottom/cover;
}
#lower_mv h1 {
  text-align: center;
  color: #fff;
  font-size: 40px;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  font-weight: 700;
  margin-bottom: 40px;
}
#lower_mv .btn02 {
  width: 300px;
  height: 70px;
  font-size: 22px;
}

#lower_lead {
  margin-bottom: 80px;
}
#lower_lead p {
  text-align: center;
}

#lower_effect {
  margin-bottom: 100px;
}
#lower_effect h2 {
  margin-bottom: 40px;
}
#lower_effect h3 {
  font-weight: 700;
  color: var(--mc);
  margin-bottom: 3px;
  font-size: 20px;
}
#lower_effect h3:before {
  content: "・";
}
#lower_effect ul {
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  gap: 28px;
}
#lower_effect p {
  padding-left: 1.1em;
}

#lower_flow {
  margin-bottom: 130px;
}
#lower_flow .inner {
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
#lower_flow ol {
  position: relative;
  padding-left: 50px;
  display: grid;
  gap: 80px 0;
}
#lower_flow ol:before {
  position: absolute;
  left: 0;
  top: -10px;
  content: "";
  display: block;
  width: 3px;
  height: calc(100% - 150px);
  background: var(--mc);
}
#lower_flow li {
  padding-left: 190px;
  position: relative;
  min-height: 100px;
}
#lower_flow li:before {
  position: absolute;
  top: -10px;
  left: -58px;
  content: "";
  width: 20px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--mc);
}
#lower_flow .img01 {
  background: url(../img/lower/img01.jpg) no-repeat left top/151px auto;
}
#lower_flow .img02 {
  background: url(../img/lower/img02.jpg) no-repeat left top/151px auto;
}
#lower_flow .img03 {
  background: url(../img/lower/img03.jpg) no-repeat left top/151px auto;
}
#lower_flow .img04 {
  background: url(../img/lower/img04.jpg) no-repeat left top/151px auto;
}
#lower_flow .img05 {
  background: url(../img/lower/img05.jpg) no-repeat left top/151px auto;
}
#lower_flow .img06 {
  background: url(../img/lower/img06.jpg) no-repeat left top/151px auto;
}
#lower_flow .img07 {
  background: url(../img/lower/img07.jpg) no-repeat left top/151px auto;
}
#lower_flow .img08 {
  background: url(../img/lower/img08.jpg) no-repeat left top/151px auto;
}
#lower_flow .img09 {
  background: url(../img/lower/img09.jpg) no-repeat left top/151px auto;
}
#lower_flow .img10 {
  background: url(../img/lower/img10.jpg) no-repeat left top/151px auto;
}
#lower_flow .img11 {
  background: url(../img/lower/img11.jpg) no-repeat left top/151px auto;
}
#lower_flow .img12 {
  background: url(../img/lower/img12.jpg) no-repeat left top/151px auto;
}
#lower_flow .img13 {
  background: url(../img/lower/img13.jpg) no-repeat left top/151px auto;
}
#lower_flow .img14 {
  background: url(../img/lower/img14.jpg) no-repeat left top/151px auto;
}
#lower_flow .img15 {
  background: url(../img/lower/img15.jpg) no-repeat left top/151px auto;
}
#lower_flow h3 {
  font-weight: 700;
  font-size: 32px;
  margin-bottom: 10px;
}

#lower_day h2 {
  margin-bottom: 45px;
}
#lower_day ul {
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 32px;
  display: grid;
  gap: 22px 0;
}
#lower_day li span:nth-child(2) {
  margin: 0 25px;
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  #lower {
    padding-top: calc(100 / 1280 * 100vw);
  }
  #lower h2 {
    font-size: calc(40 / 1280 * 100vw);
    margin-bottom: calc(30 / 1280 * 100vw);
  }
  #lower p {
    font-size: calc(20 / 1280 * 100vw);
  }
  #lower_mv {
    height: calc(394 / 1280 * 100vw);
    padding-top: calc(140 / 1280 * 100vw);
    margin-bottom: calc(110 / 1280 * 100vw);
  }
  #lower_mv.tairyokuup {
    background: url(../img/lower/mv_tairyokuup.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.katacare {
    background: url(../img/lower/mv_katacare.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.hizakosicare {
    background: url(../img/lower/mv_hizakosicare.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.karadaconditioning {
    background: url(../img/lower/mv_karadaconditioning.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.kintoredojo {
    background: url(../img/lower/mv_kintoredojo.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.hakkann {
    background: url(../img/lower/mv_hakkann.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.ungjump {
    background: url(../img/lower/mv_ungjump.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.fightdo {
    background: url(../img/lower/mv_fightdo.jpg) no-repeat center bottom/cover;
  }
  #lower_mv h1 {
    font-size: calc(40 / 1280 * 100vw);
    text-shadow: 0 calc(4 / 1280 * 100vw) calc(4 / 1280 * 100vw) rgba(0, 0, 0, 0.25);
    margin-bottom: calc(40 / 1280 * 100vw);
  }
  #lower_mv .btn02 {
    width: calc(300 / 1280 * 100vw);
    height: calc(70 / 1280 * 100vw);
    font-size: calc(22 / 1280 * 100vw);
  }
  #lower_lead {
    margin-bottom: calc(80 / 1280 * 100vw);
  }
  #lower_effect {
    margin-bottom: calc(100 / 1280 * 100vw);
  }
  #lower_effect h2 {
    margin-bottom: calc(40 / 1280 * 100vw);
  }
  #lower_effect h3 {
    margin-bottom: calc(3 / 1280 * 100vw);
    font-size: calc(20 / 1280 * 100vw);
  }
  #lower_effect ul {
    gap: calc(28 / 1280 * 100vw);
  }
  #lower_effect p {
    padding-left: 1.1em;
  }
  #lower_flow {
    margin-bottom: calc(130 / 1280 * 100vw);
  }
  #lower_flow .inner {
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  #lower_flow ol {
    padding-left: calc(50 / 1280 * 100vw);
    gap: calc(80 / 1280 * 100vw) 0;
  }
  #lower_flow ol:before {
    top: calc(-10 / 1280 * 100vw);
    width: calc(3 / 1280 * 100vw);
    height: calc(100% - calc(150 / 1280 * 100vw));
  }
  #lower_flow li {
    padding-left: calc(190 / 1280 * 100vw);
    min-height: calc(100 / 1280 * 100vw);
  }
  #lower_flow li:before {
    top: calc(-10 / 1280 * 100vw);
    left: calc(-58 / 1280 * 100vw);
    width: calc(20 / 1280 * 100vw);
  }
  #lower_flow .img01 {
    background: url(../img/lower/img01.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img02 {
    background: url(../img/lower/img02.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img03 {
    background: url(../img/lower/img03.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img04 {
    background: url(../img/lower/img04.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img05 {
    background: url(../img/lower/img05.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img06 {
    background: url(../img/lower/img06.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img07 {
    background: url(../img/lower/img07.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img08 {
    background: url(../img/lower/img08.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img09 {
    background: url(../img/lower/img09.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img10 {
    background: url(../img/lower/img10.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img11 {
    background: url(../img/lower/img11.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img12 {
    background: url(../img/lower/img12.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img13 {
    background: url(../img/lower/img13.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img14 {
    background: url(../img/lower/img14.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow .img15 {
    background: url(../img/lower/img15.jpg) no-repeat left top/calc(151 / 1280 * 100vw) auto;
  }
  #lower_flow h3 {
    font-size: calc(32 / 1280 * 100vw);
    margin-bottom: calc(10 / 1280 * 100vw);
  }
  #lower_day h2 {
    margin-bottom: calc(45 / 1280 * 100vw);
  }
  #lower_day ul {
    font-size: calc(32 / 1280 * 100vw);
    gap: calc(22 / 1280 * 100vw) 0;
  }
  #lower_day ul li span:nth-child(2) {
    margin: 0 calc(25 / 1280 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .pc_only {
    display: none;
  }
  #lower {
    padding-top: calc(50 / 400 * 100vw);
  }
  #lower h2 {
    font-size: calc(20 / 400 * 100vw);
    margin-bottom: calc(20 / 400 * 100vw);
  }
  #lower p {
    line-height: 1.2;
    font-size: calc(16 / 400 * 100vw);
  }
  #lower_mv {
    height: calc(250 / 400 * 100vw);
    padding-top: calc(70 / 400 * 100vw);
    margin-bottom: calc(45 / 400 * 100vw);
  }
  #lower_mv.tairyokuup {
    background: url(../img/lower/mv_tairyokuup_sp.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.katacare {
    background: url(../img/lower/mv_katacare_sp.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.hizakosicare {
    background: url(../img/lower/mv_hizakosicare_sp.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.karadaconditioning {
    background: url(../img/lower/mv_karadaconditioning_sp.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.kintoredojo {
    background: url(../img/lower/mv_kintoredojo_sp.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.hakkann {
    background: url(../img/lower/mv_hakkann_sp.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.ungjump {
    background: url(../img/lower/mv_ungjump_sp.jpg) no-repeat center bottom/cover;
  }
  #lower_mv.fightdo {
    background: url(../img/lower/mv_fightdo_sp.jpg) no-repeat center bottom/cover;
  }
  #lower_mv h1 {
    font-size: calc(24 / 400 * 100vw);
    text-shadow: 0 calc(4 / 400 * 100vw) calc(4 / 400 * 100vw) rgba(0, 0, 0, 0.25);
    margin-bottom: calc(15 / 400 * 100vw);
  }
  #lower_mv .btn02 {
    width: calc(150 / 400 * 100vw);
    height: calc(30 / 400 * 100vw);
    font-size: calc(14 / 400 * 100vw);
  }
  #lower_lead {
    padding-left: calc(25 / 400 * 100vw);
    padding-right: calc(25 / 400 * 100vw);
    margin-bottom: calc(50 / 400 * 100vw);
  }
  #lower_lead p {
    text-align: center;
  }
  #lower_effect {
    margin-bottom: calc(80 / 400 * 100vw);
    padding-left: calc(25 / 400 * 100vw);
    padding-right: calc(25 / 400 * 100vw);
  }
  #lower_effect h2 {
    margin-bottom: calc(20 / 400 * 100vw);
  }
  #lower_effect h3 {
    font-weight: 700;
    color: var(--mc);
    margin-bottom: calc(3 / 400 * 100vw);
    font-size: calc(16 / 400 * 100vw);
  }
  #lower_effect h3:before {
    content: "・";
  }
  #lower_effect ul {
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: calc(24 / 400 * 100vw);
  }
  #lower_effect p {
    padding-left: 1.1em;
  }
  #lower_flow {
    margin-bottom: calc(60 / 400 * 100vw);
  }
  #lower_flow .inner {
    max-width: 100%;
    padding-left: calc(50 / 400 * 100vw);
    padding-right: calc(50 / 400 * 100vw);
  }
  #lower_flow ol {
    padding-left: 0;
    gap: calc(35 / 400 * 100vw) 0;
  }
  #lower_flow ol:before {
    content: none;
  }
  #lower_flow li {
    padding-left: 0;
    padding-top: calc(220 / 400 * 100vw);
    width: calc(300 / 400 * 100vw);
  }
  #lower_flow li:before {
    content: none;
  }
  #lower_flow .img01 {
    background: url(../img/lower/img01_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img02 {
    background: url(../img/lower/img02_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img03 {
    background: url(../img/lower/img03_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img04 {
    background: url(../img/lower/img04_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img05 {
    background: url(../img/lower/img05_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img06 {
    background: url(../img/lower/img06_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img07 {
    background: url(../img/lower/img07_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img08 {
    background: url(../img/lower/img08_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img09 {
    background: url(../img/lower/img09_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img10 {
    background: url(../img/lower/img10_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img11 {
    background: url(../img/lower/img11_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img12 {
    background: url(../img/lower/img12_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img13 {
    background: url(../img/lower/img13_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img14 {
    background: url(../img/lower/img14_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow .img15 {
    background: url(../img/lower/img15_sp.jpg) no-repeat center top/calc(300 / 400 * 100vw) auto;
  }
  #lower_flow h3 {
    font-weight: 700;
    font-size: calc(18 / 400 * 100vw);
    margin-bottom: calc(4 / 400 * 100vw);
    white-space: nowrap;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
  }
  #lower_day {
    padding-bottom: calc(30 / 400 * 100vw);
  }
  #lower_day h2 {
    margin-bottom: calc(35 / 400 * 100vw);
  }
  #lower_day ul {
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-size: calc(16 / 400 * 100vw);
    display: grid;
    gap: calc(16 / 400 * 100vw) 0;
  }
  #lower_day ul li span:nth-child(2) {
    margin: 0 calc(10 / 400 * 100vw);
  }
}

/*# sourceMappingURL=style.css.map */
