@media (min-width: 769px) and (max-width: 1279px) {

/* -------------------------------------------------- */
/* global */

section {
  padding-block: 7.81vw;
}
p {
  font-size: 1.25vw;
}
.wrapper {
  max-width: min(78.12%, 1000px);
}

/* -------------------------------------------------- */
/* header */

.header {
  box-shadow: 0 4px .78vw rgba(0, 0, 0, .25);
  height: 4.68vw;
}
.header-logo a img {
  height: 4.21vw;
}
.header-nav ul li {
  font-size: 1.09vw;
}
.header-contact a {
  border-radius: .54vw;
  height: 3.43vw;
  width: 17.81vw;
}
.header-contact a img {
  height: 1.87vw;
  width: 1.87vw;
}
.header-contact a div {
  font-size: 1.09vw;
}
.header-contact a span {
  font-size: .78vw;
  height: 2.65vw;
  width: 2.65vw;
}

/* -------------------------------------------------- */
/* main */

.main {
  padding-top: 4.68vw;
}

/* mv */

.mv {
  height: 57.5vw;
}
.mv-copy1 {
  font-size: 2.65vw;
}
.mv-copy2 {
  font-size: 5vw;
}
.mv-body ul {
  font-size: 1.56vw;
}
.mv-body ul li::before {
  height: 1.875vw;
  width: 1.875vw;
}

/* feature */

.feature-head {
  font-size: 2.5vw;
}
.feature-head strong {
  font-size: 3.75vw;
}
.feature-body table tr th {
  font-size: 1.56vw;
}
.feature-body table thead tr th {
  border-width: .15vw;
}
.feature-body table thead tr th span {
  font-size: 2.81vw;
}
.feature-body table tbody tr th {
  border-width: .15vw;
}
.feature-body table tbody tr td {
  border-width: .15vw;
  font-size: 1.09vw;
}
.feature-body table tbody tr td:first-of-type {
  font-size: 1.17vw;
}
.feature-body table tbody tr td i {
  font-size: 2.81vw;
}
.feature-body table tbody tr td:first-of-type i {
  font-size: 3.51vw;
}
.feature-body table tbody tr:nth-child(6) td:first-of-type i {
  font-size: 1.87vw;
}
.feature-body table tbody tr:nth-child(6) td:first-of-type i small {
  font-size: 1.25vw;
}

/* method */

.method-head {
  padding-top: 3.9vw;
}
.method-head span {
  font-size: 2.81vw;
  height: 12.34vw;
  width: 12.34vw;
}
.method-head span::after {
  border-width: 1.01vw;
  border-left-width: 1.6vw;
  right: -2.18vw;
  top: calc(50% - 1.01vw);
}
.method-head h2 {
  font-size: 2.81vw;
}
.method-head h2 strong {
  font-size: 4.37vw;
}
.method-body {
  padding-top: 5.46vw;
}
.method-body:last-child {
  padding-bottom: 7.81vw;
}
.method-title {
  color: #fff;
  font-size: 2.81vw;
  padding-block: 21.87vw 4.68vw;
}
.method-title span {
  font-size: 2.5vw;
}
.method-title span strong {
  font-size: 3.75vw;
}
.method-content {
  width: 46.87vw;
}
.method-outer {
  padding: 4.68vw 2.34vw;
}
.method-outer p {
  font-size: 1.4vw;
}
.method-outer h4 {
  font-size: 2.18vw;
  margin-top: 4.68vw;
}
.method-inner {
  border-width: .15vw;
  padding: 1.56vw 2.34vw;
}
.method-inner h5 {
  font-size: 1.87vw;
}
.method-inner h5 span {
  font-size: 1.25vw;
}
.method-inner h5 span strong {
  font-size: 1.56vw;
}
.method-inner img {
  margin-bottom: 1.17vw;
}

/* coach */

.coach-body {
  margin-bottom: 6.25vw;
}
.coach-head {
  margin-bottom: 11.71vw;
}
.coach-head h2 {
  font-size: 1.87vw;
}
.coach-head h2 strong {
  font-size: 3.75vw;
}
.coach-head span {
  font-size: 10vw;
}
.coach-body ul li {
  margin-block: 1.56vw;
}
.coach-title {
  font-size: 2.81vw;
}
.coach-title.fs-30 {
  font-size: 2.34vw;
}
.coach-title.fs-32 {
  font-size: 2.5vw;
}
.coach-title small {
  font-size: 1.87vw;
}
.coach-name {
  font-size: 1.87vw;
}
.coach-name small {
  font-size: 1.25vw;
}
.coach-message {
  border-width: .15vw;
  padding: 1.56vw 2.34vw;
}
.coach-message h3 {
  font-size: 1.87vw;
}
.coach-photo {
  margin-right: 2.34vw;
  min-width: 20.31vw;
}
.coach-text p {
  font-size: 1.17vw;
}
.coach-sign {
  font-size: 1.17vw;
}

/* voice */

.voice {
  background-size: 1.87vw;
}
.voice-head {
  font-size: 2.81vw;
  margin-bottom: 3.12vw;
}
.voice-body ul li {
  padding: 1.87vw 2.5vw;
}
.voice-body ul li + li {
  margin-top: 2.5vw;
}
.voice-image {
  margin-right: 2.5vw;
  min-width: 11.17vw;
  width: 11.17vw;
}
.voice-name {
  color: var(--blue);
  font-size: 2.5vw;
}
.voice-name small {
  font-size: 1.87vw;
}
.voice-name span {
  border-radius: .39vw;
  font-size: 1.56vw;
  margin-inline: .62vw;
}

/* faq */

.faq-head {
  font-size: 2.81vw;
  margin-bottom: 4.68vw;
}
.faq-body dl + dl {
  margin-top: 2.34vw;
}
.faq-body dl dt span,
.faq-body dl dd span {
  font-size: 3.75vw;
  margin-right: .39vw;
  min-width: 5.85vw;
}
.faq-body dl dd span {
  top: .39vw;
}
.faq-body dl dt p {
  font-size: 1.56vw;
}
.faq-body dl dt::before,
.faq-body dl dt::after {
  height: .39vw;
  margin-top: -.19vw;
  right: 1.56vw;
  width: 1.56vw;
}

/* access */

.access {
  background-size: 1.87vw;
}
.access-head {
  font-size: 2.81vw;
  margin-bottom: 5.46vw;
}
.access-content {
  margin-inline: 2.5vw;
  width: 43%;
}
.access-name span {
  font-size: 1.87vw;
}
.access-map iframe {
  height: 22.65vw;
}

/* cta */

.cta {
  padding-block: 2.81vw 3.75vw;
}
.cta-head {
  font-size: 2.34vw;
}
.cta-span {
  font-size: 2.81vw;
}
.cta-circle {
  font-size: 2.5vw;
  height: 8.59vw;
  margin-right: 1.56vw;
  width: 8.59vw;
}
.cta-image {
  margin-bottom: 4.29vw;
}
.cta-image img {
  width: 50vw;
}
.cta-button a {
  font-size: 17.73px;
}
.cta-button a img {
  right: 2.65vw;
}

/* contact */

.contact {
  background-size: 1.87vw;
}
.contact-body {
  border-width: .15vw;
  padding-block: 4.29vw;
}
.contact-head {
  font-size: 2.81vw;
  margin-bottom: 5.85vw;
}
.contact-item {
  font-size: 1.25vw;
}
.contact-label {
  margin-right: 2.18vw;
  width: 15.62vw;
}
.contact-label span,
.contact-agree span {
  border-radius: .27vw;
  font-size: .96vw;
  height: 1.56vw;
  line-height: 1.48vw;
  margin-left: .93vw;
  min-width: 3.28vw;
  width: 3.28vw;
}
.contact-input {
  width: 39.06vw;
}
.contact-item input[type='text'],
.contact-item input[type='email'],
.contact-item input[type='tel'],
.contact-item textarea {
  border-width: .06vw;
  border-radius: .34vw;
  font-size: 1.25vw;
}
.contact-item textarea {
  height: 10.54vw;
}
.contact-item input[type='checkbox'] {
  height: 1.03vw;
  width: 1.03vw;
}
.contact-radio {
  font-size: 1.38vw;
}
.contact-item input[type='radio'] {
  height: 1.03vw;
  width: 1.03vw;
}
.contact-item p {
  font-size: 1.09vw;
}
.contact-item input[type='button'] {
  background-position: center right 1.95vw;
  background-size: .69vw auto;
  font-size: 1.66vw;
}

/* thanks */

.thanks {
  padding-block: 9.37vw;
}
.thanks-head {
  font-size: 2.81vw;
  margin-bottom: 4.68vw;
}
.thanks-body {
  max-width: 60.93vw;
}
.thanks-link {
  margin-top: 5.46vw;
}
.thanks-link a {
  font-size: 1.25vw;
}

}



@media screen and (max-width: 768px) {

/* -------------------------------------------------- */
/* global */

p {
  font-size: 4.28vw;
}
section {
  padding-block: 15vw;
}
.wrapper {
  max-width: 93.71%;
}

/* component */

.pc {
  display: none;
}
.sp {
  display: block;
}

/* -------------------------------------------------- */
/* header */

.header {
  box-shadow: 0 .57vw .57vw rgba(0, 0, 0, .25);
  height: 14.28vw;
}
.header .wrapper {
  justify-content: space-between;
}
.header-logo a img {
  height: 11.85vw;
}
.header-button button {
  height: 6.71vw;
  width: 9.28vw;
}
.header-button button input {
  display: none;
}
.header-button button label {
  cursor: pointer;
  height: 100%;
  width: 100%;
}
.header-button button label span {
  background: var(--blue);
  display: block;
  height: .6vw;
  transition: opacity .2s, transform .2s;
  width: 100%;
}
.header-button button input[type="checkbox"]:checked + label span:nth-of-type(1) {
  transform: translateY(3.055vw) rotate(-45deg);
}
.header-button button input[type="checkbox"]:checked + label span:nth-of-type(2) {
  opacity: 0;
}
.header-button button input[type="checkbox"]:checked + label span:nth-of-type(3) {
  transform: translateY(-3.055vw) rotate(45deg);
}

/* -------------------------------------------------- */
/* main */

.main {
  padding-top: 14.28vw;
}

/* mv */

.mv {
  background: none;
  height: auto;
  padding-block: 0;
}
.mv::before {
  background: #f0ebe7 url(../images/mv.webp) no-repeat top right / cover;
  height: 93vw;
  mix-blend-mode: normal;
  position: relative;
  width: 100%;
}
.mv .wrapper {
  height: auto;
  max-width: 100%;
}
.mv-body {
  background: linear-gradient(0deg, #3DC3DA, var(--blue));
  height: auto;
  overflow: hidden;
  padding: 5vw 0 5vw 5vw;
}
.mv-copy1 {
  font-size: 6.28vw;
}
.mv-copy2 {
  font-size: 11.42vw;
  margin-bottom: 0;
}
.mv-body ul {
  font-size: 4.73vw;
}
.mv-body ul li::before {
  height: 5.68vw;
  width: 5.68vw;
}
.mv-body ul li span {
  padding-left: calc(5.68vw + .25em);
  width: 100%;
}

/* feature */

.feature {
  padding-top: 10vw;
}
.feature-head {
  font-size: 4.57vw;
}
.feature-head strong {
  font-size: 9.14vw;
  margin-top: 0;
}
.feature-body {
  overflow-x: scroll;
  padding-block: 3em 1.5em;
}
.feature-body::-webkit-scrollbar {
  height: 7px;
}
.feature-body::-webkit-scrollbar-track {
  background-color: #D9D9D9;
  border-radius: 3.5px;
}
.feature-body::-webkit-scrollbar-thumb {
  background: var(--blue);
  background-clip: padding-box;
  border: 1.5px solid transparent;
  border-radius: 3.5px;
}
.feature-body table {
  width: 150vw;
}
.feature-body table tr th {
  font-size: 2.85vw;
  width: 20%;
}
.feature-body table tr td {
  width: 20%;
}
.feature-body table thead tr th {
  border-width: .28vw;
  padding-block: 1em;
}
.feature-body table thead tr th span {
  font-size: 5.14vw;
  height: 175%;
}
.feature-body table tbody tr th {
  border-width: .28vw;
  font-size: 3.42vw;
  padding-block: 1.5em;
}
.feature-body table tbody tr td {
  border-width: .28vw;
  font-size: 2.85vw;
  padding-bottom: .5em;
}
.feature-body table tbody tr td:first-of-type {
  font-size: 2.85vw;
}
.feature-body table tbody tr td i {
  font-size: 5.14vw;
}
.feature-body table tbody tr td:first-of-type i {
  font-size: 6.42vw;
}
.feature-body table tbody tr:nth-child(6) td:first-of-type i {
  font-size: 4vw;
}
.feature-body table tbody tr:nth-child(6) td:first-of-type i small {
  font-size: 3.14vw;
}

/* method */

.method-head {
  padding-top: 7.5vw;
}
.method-head span {
  font-size: 5.14vw;
  height: 22.57vw;
  width: 22.57vw;
}
.method-head span::after {
  border-width: 1.85vw;
  border-left-width: 2.92vw;
  right: -4vw;
  top: calc(50% - 1.85vw);
}
.method-head h2 {
  font-size: 5.14vw;
}
.method-head h2 strong {
  font-size: 8vw;
}
.method-body {
  padding-top: 10vw;
}
.method-body:last-child {
  padding-bottom: 20vw;
}
.method-title {
  font-size: 8.6vw;
  line-height: 1.2;
  padding-block: 0 1em;
  position: relative;
  text-align: center;
  width: 100%;
}
.method-title span {
  font-size: 7.64vw;
}
.method-title span strong {
  font-size: 11.47vw;
}
.method-content {
  width: 100%;
}
.method-outer {
  padding: 10vw 5vw;
}
.method-outer p {
  font-size: 4.28vw;
}
.method-outer h4 {
  font-size: 5.14vw;
  margin-top: 12vw;
}
.method-inner {
  border-width: .31vw;
  padding: 4vw;
}
.method-inner h5 {
  font-size: 4.28vw;
  letter-spacing: 0;
  margin-bottom: .75em;
}
.method-inner h5 span {
  font-size: 4.3vw;
  margin-right: .5em;
  padding: .1em .3em;
}
.method-inner h5 span strong {
  font-size: 5.37vw;
}
.method-inner img {
  margin-bottom: 3vw;
}
.method-inner p {
  font-size: 4vw;
}
.method-inner p + h5 {
  margin-top: 2em;
}
.method-body.even .method-title {
  order: 0;
}
.method-body.even .method-content {
  order: 1;
}

/* coach */

.coach-body {
  margin-bottom: 10vw;
}
.coach-head {
  margin-bottom: 2vw;
}
.coach-head h2 {
  font-size: 5.14vw;
}
.coach-head h2 strong {
  font-size: 9.14vw;
  margin-top: .1em;
}
.coach-head span {
  font-size: 17.28vw;
  top: .15em;
}
.coach-body ul li {
  margin-block: 2vw;
  width: 47%;
}
.coach-title {
  font-size: 5.88vw;
  margin-block: .5em .4em;
}
.coach-title.fs-30 {
  font-size: 4.69vw;
}
.coach-title.fs-32 {
  font-size: 5.31vw;
}
.coach-title small {
  font-size: 3.92vw;
}
.coach-name {
  font-size: 3.92vw;
  margin: .3em auto .4em;
  width: 90%;
}
.coach-name small {
  font-size: 2.61vw;
}
.coach-body p {
  font-size: 4vw;
  letter-spacing: 0;
}
.coach-body:nth-child(2) ul li:nth-child(1),
.coach-body:nth-child(2) ul li:nth-child(6) {
  margin-left: 0;
}
.coach-body:nth-child(2) ul li:nth-child(2),
.coach-body:nth-child(2) ul li:nth-child(7) {
  margin-right: 0;
}
.coach-message {
  border-width: .28vw;
  padding: 5vw 4vw;
}
.coach-message h3 {
  font-size: 5.14vw;
  margin-bottom: 1em;
}
.coach-message .d-f {
  flex-wrap: wrap;
}
.coach-photo {
  margin-bottom: 4vw;
  margin-right: 0;
  min-width: 100%;
  text-align: center;
}
.coach-photo img {
  width: 42vw;
}
.coach-text p {
  font-size: 3.42vw;
}
.coach-sign {
  font-size: 4.3vw;
}

/* voice */

.voice {
  background-size: 4vw, cover;
  padding-block: 10vw 25vw;
}
.voice-head {
  font-size: 9.14vw;
  margin-bottom: 10vw;
}
.voice-body ul li {
  flex-direction: column;
  padding: 5vw 4vw;
}
.voice-body ul li + li {
  margin-top: 7.5vw;
}
.voice-image {
  margin-bottom: 5vw;
  margin-right: 0;
  min-width: 33.42vw;
  width: 33.42vw;
}
.voice-name {
  flex-wrap: wrap;
  font-size: 6.85vw;
  justify-content: center;
}
.voice-name h3 {
  margin-bottom: 2.5vw;
  text-align: center;
  width: 100%;
}
.voice-name small {
  font-size: 5.14vw;
  margin-right: 0;
}
.voice-name span {
  border-radius: 1.28vw;
  font-size: 5.14vw;
  margin-inline: 2vw;
}
.voice-content p {
  margin-block: .75em 0;
}

/* faq */

.faq {
  padding-block: 10vw 20vw;
}
.faq-head {
  font-size: 9.14vw;
  margin-bottom: 10vw;
}
.faq-body dl + dl {
  margin-top: 7vw;
}
.faq-body dl dt {
  align-items: center;
  min-height: 17.71vw;
  padding-right: 8vw;
}
.faq-body dl dt span,
.faq-body dl dd span {
  font-size: 6.85vw;
  margin-right: 0;
  min-width: 9vw;
}
.faq-body dl dd span {
  top: 1.5vw;
}
.faq-body dl dt p {
  font-size: 4vw;
  letter-spacing: 0;
  margin-block: 1em;
}
.faq-body dl dd p {
  font-size: 4vw;
  margin-block: .75em 0;
}
.faq-body dl dt::before,
.faq-body dl dt::after {
  height: .75vw;
  margin-top: -.375vw;
  right: 3.5vw;
  width: 3.5vw;
}

/* access */

.access {
  background-size: 4vw;
}
.access-head {
  font-size: 9.14vw;
  margin-bottom: 12vw;
}
.access-content {
  margin-inline: 0;
  width: 100%;
}
.access-content + .access-content {
  margin-top: 15vw;
}
.access-name span {
  font-size: 6.85vw;
  margin-bottom: .5em;
  padding: 0;
}
.access-content p small {
  font-size: 4.28vw;
}
.access-map iframe {
  height: 62.57vw;
}

/* cta */

.cta {
  padding-block: 6vw 12vw;
}
.cta-head {
  font-size: 7.62vw;
  line-height: 1.2;
  margin-bottom: .75em;
}
.cta-head span {
  font-size: 8vw;
}
.cta-head.d-f.ai-c {
  align-items: flex-start;
}
.cta-head small {
  font-size: 5.08vw;
}
.cta-head span {
  padding-inline: 0;
}
.cta-head span i {
  top: 8%;
}
.cta-circle {
  font-size: 7.4vw;
  height: 25vw;
  margin-right: 3vw;
  min-width: 25vw;
  width: 25vw;
}
.cta p {
  margin-bottom: 1.5em;
}
.cta-image {
  margin-bottom: 6vw;
}
.cta-button a {
  font-size: 5.4vw;
  padding-block: 1em;
}
.cta-button a img {
  right: 12.14vw;
  width: 2.7vw;
}

/* contact */

.contact {
  background-size: 4vw;
  padding-block: 15vw;
}
.contact-body {
  border-width: .28vw;
  padding: 10vw 3vw;
}
.contact-head {
  font-size: 9.14vw;
  margin-bottom: 10vw;
}
.contact-item {
  font-size: 4.06vw;
}
.contact-item + .contact-item {
  margin-top: 2em;
}
.contact-label {
  margin-bottom: .5em;
  margin-right: 0;
  text-align: left;
  width: 100%;
}
.contact-label.d-f.jc-fe {
  justify-content: flex-start;
}
.contact-label span,
.contact-agree span {
  border-radius: .89vw;
  font-size: 3.14vw;
  height: 5.17vw;
  line-height: 5vw;
  margin-left: 2vw;
  min-width: 10.78vw;
  width: 10.78vw;
}
.contact-input {
  width: 100%;
}
.contact-item input[type='text'],
.contact-item input[type='email'],
.contact-item input[type='tel'],
.contact-item textarea {
  border-radius: 1.12vw;
  border-width: .22vw;
  font-size: 4.06vw;
  padding-block: 1em;
}
.contact-item textarea {
  height: 31.28vw;
}
.contact-checkbox {
  letter-spacing: 0;
  margin-bottom: .4em;
}
.contact-checkbox:first-child {
  margin-top: .5em;
}
.contact-checkbox:last-child {
  margin-bottom: 1em;
}
.contact-item input[type='checkbox'] {
  height: 3.37vw;
  margin-right: .25em;
  width: 3.37vw;
}
.contact-radio {
  font-size: 4.49vw;
  margin-bottom: .5em;
  margin-right: 3em;
}
.contact-radio + .contact-radio {
  margin-left: 0;
}
.contact-item input[type='radio'] {
  height: 3.37vw;
  width: 3.37vw;
}
.contact-agree {
  font-size: 4.06vw;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 2em;
}
.contact-item p {
  font-size: 3.42vw;
  letter-spacing: 0;
  margin-block: .75em 2em;
}
.contact-item input[type='button'] {
  background-position: center right 4vw;
  background-size: 2.7vw;
  font-size: 4.9vw;
  padding-block: 1em;
  padding-inline: 0;
  width: 100%;
}

/* thanks */

.thanks {
  padding-block: 15vw;
}
.thanks-head {
  font-size: 9.14vw;
  margin-bottom: 1em;
}
.thanks-body {
  max-width: 100%;
}
.thanks-body p {
  font-size: 4.28vw;
}
.thanks-link {
  margin-top: 10vw;
}
.thanks-link a {
  font-size: 4.28vw;
}

/* -------------------------------------------------- */
/* footer */

.footer {
  height: 22.28vw;
}
.footer-small small {
  font-size: 5.14vw;
}

/* -------------------------------------------------- */
/* aside */

.aside {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  bottom: 0;
  left: 0;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
  overflow-x: auto;
  position: fixed;
  right: 0;
  top: 14.28vw;
  z-index: 200;
}
.overlay {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: #fff;
  bottom: 0;
  height: 100vh;
  left: 0;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
  pointer-events: none;
  position: fixed;
  top: 14.28vw;
  width: 100vw;
  z-index: -1;
}
.aside .wrapper {
  height: 100%;
}
.aside-nav {
  flex-grow: 1;
}
.aside-nav ul li {
  font-size: 5.14vw;
  font-weight: 600;
  margin-block: 1em;
  text-align: center;
}
.aside-nav ul li a {
  color: var(--blue);
  display: block;
}
.aside-contact {
  padding-block: 7.5vw;
}
.aside-contact a {
  background: #E99000;
  border-radius: 2.81vw;
  height: 17.71vw;
  transition: opacity .2s;
  width: 85.28vw;
}
.aside-contact a:hover {
  opacity: .8;
}
.aside-contact a img {
  height: 9.66vw;
  width: 9.66vw;
}
.aside-contact a div {
  color: #fff;
  font-size: 5.63vw;
  font-weight: 700;
  padding-inline: .75em;
}
.aside-contact a span {
  background: #fff;
  border-radius: 50%;
  color: #E99000;
  font-size: 4.02vw;
  font-weight: 700;
  height: 13.68vw;
  line-height: 1.2;
  width: 13.68vw;
}

}
