@charset "UTF-8";

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

@media (max-width: 768px) {
  html {
    font-size: 14px;
  }
}

body {
  font-family: "Shippori Mincho", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  line-height: 1.7;
  color: #1E293B;
  background-color: #fff;
  overflow-x: hidden;
}

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

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
}

ul,
ol {
  list-style: none;
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

@media (max-width: 768px) {
  .inner {
    padding: 0 24px;
  }
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  z-index: 1000;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

header .header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  height: 96px;
}

header .logo-link {
  display: inline-block;
  padding: 12px 16px;
}

header .logo-link img {
  width: 69px;
  height: auto;
}

@media (max-width: 768px) {
  header .logo-link img {
    width: 57px;
  }
}

header .tel-box .sp {
  display: none;
}

header .hamburger {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: none;
  width: 96px;
  height: 96px;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 35px 24px;
  background: #36BABF;
}

header .hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  transition: all 0.3s ease;
}

header .hamburger span:not(.txt) {
  transform-origin: center;
}

header .hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(9px, 9px);
}

header .hamburger.active span:nth-child(2) {
  opacity: 0;
}

header .hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(8px, -8px);
}

header .gnav {
  display: flex;
}

header .gnav ul {
  display: flex;
  align-items: center;
  gap: 1px;
}

header .gnav ul.nav-meun {
  gap: 32px;
  padding: 0 32px 0 0;
}

header .gnav .link-txt a {
  font-weight: 500;
  font-size: 0.95rem;
  position: relative;
  padding: 8px 0;
  font-family: "Noto Sans JP", sans-serif;
}

header .gnav .link-txt a:hover {
  color: #0CA3A9;
}

header .gnav .link-txt a:hover::after {
  width: 100%;
}

header .gnav .link-txt a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #0CA3A9;
  transition: all 0.3s ease;
}

@media (max-width: 1400px) {
  header .gnav {
    position: fixed;
    display: block;
    top: 100%;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(15px);
    transform: translateY(-10px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }

  header .gnav.active {
    transform: translateY(0);
    opacity: 1;
    height: 100dvh;
    visibility: visible;
    padding: 40px 104px;
  }

  header .gnav.active ul.nav-meun {
    display: block;
    margin-bottom: 32px;
  }

  header .gnav.active ul.nav-meun li {
    margin-bottom: 16px;
  }

  header .gnav.active ul.nav-meun li a {
    font-size: 20px;
  }

  header .gnav.active ul.cta-menu-box li {
    width: calc((100% - 4px) / 3);
  }

  header .gnav.active ul.cta-menu-box li a {
    width: 100%;
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  header .gnav.active {
    padding: 40px;
  }

  header .gnav.active ul.cta-menu-box {
    display: block;
  }

  header .gnav.active ul.cta-menu-box li {
    width: 100%;
    margin-top: 2px;
  }

  header .gnav.active ul.cta-menu-box li a br {
    display: none;
  }
}

header .btn-txt .btn {
  width: 136px;
  height: 96px;
  font-size: 0.8rem;
  line-height: 1.3;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: "Noto Sans JP", sans-serif;
}

header .btn-txt .btn .btn-icon {
  width: 32px;
  height: 32px;
}

@media (max-width: 1400px) {
  header .header-container {
    flex-wrap: wrap;
  }

  header .hamburger {
    display: flex;
  }
}

@media (max-width: 576px) {
  header .header-container {
    height: 80px;
  }

  header .tel-box {
    position: absolute;
    top: 0;
    right: 82px;
  }

  header .tel-box .pc {
    display: none;
  }

  header .tel-box .sp {
    display: block;
    width: 80px;
    height: 80px;
  }

  header .hamburger {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    padding: 27px 22px;
  }
}

.btn-box {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 40px 0 0;
}

.btn-box .btn img {
  margin-right: 12px;
}

@media (max-width: 1400px) {
  .btn-box {
    gap: 20px;
  }
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 340px;
  height: 72px;
  padding: 0;
  border-radius: 36px;
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.btn .font-16 {
  font-size: 16px;
  margin-bottom: 4px;
}

.btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s ease;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.btn:hover::before {
  width: 800px;
  height: 800px;
}

.btn .ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  transform: scale(0);
  animation: ripple-animation 0.6s linear;
  pointer-events: none;
  color: #FFFFFF;
}

@media (max-width: 1400px) {
  .btn {
    width: calc((100% - 40px) / 3);
    font-size: 16px;
  }
}

@media (max-width: 1024px) {
  .btn {
    width: 320px;
  }
}

@media (max-width: 768px) {
  .btn {
    width: 100%;
  }
}

.btn-contact {
  background: linear-gradient(90deg, #C49B5A, #807946);
}

.btn-line {
  background: linear-gradient(90deg, #00CF2E, #7BCCCF);
}

.btn-instagram {
  background: linear-gradient(-135deg, #F9ED32 0%, #EE2A7B 36%, #D22A8A 44%, #8B2AB2 100%);
}

.btn-googlemap {
  width: 240px;
  height: 64px;
  background: transparent;
  border: 1px solid #0CA3A9;
  color: #0CA3A9;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.9rem;
}

.btn-googlemap:hover {
  background: rgba(12, 163, 169, 0.1);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(12, 163, 169, 0.2);
}

.mv-head {
  width: 100%;
  padding: 16px 24px;
  background: #F9ED32;
}

@media (max-width: 768px) {
  .mv-head {
    padding: 12px 24px;
  }
}

.mv-head p {
  font-size: 18px;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 !important;
  text-align: center;
}

.mv-head p strong {
  color: #FF4111;
  font-weight: bold;
  text-decoration: underline;
}

.mv-head p br.sp {
  display: none;
}

@media (max-width: 768px) {
  .mv-head p {
    font-size: 14px;
  }

  .mv-head p br.sp {
    display: block;
  }
}

.mv {
  margin-top: 96px;
  text-align: center;
}

.mv img {
  margin: 0 auto;
}

.mv img.sp {
  display: none;
}

@media (max-width: 768px) {
  .mv img.sp {
    display: block;
  }
}

@media (max-width: 768px) {
  .mv img.pc {
    display: none;
  }
}

.mv .inner {
  position: relative;
  z-index: 2;
  animation: fadeInUp 1s ease-out;
  padding-top: 32px;
  padding-bottom: 156px;
}

.mv .inner img {
  width: 700px;
  height: auto;
}

.mv .cath-txt {
  font-size: 40px;
  font-weight: 600;
}

.mv .blue-box span {
  display: inline-block;
  color: #0CA3A9;
  font-size: 24px;
  padding: 2px 24px;
  border-radius: 64px;
  border: #0CA3A9 1px solid;
  background: #fff;
  margin-bottom: 8px;
}

.mv .blue-box p {
  color: #0CA3A9;
  font-size: 36px;
  font-weight: 500;
}

.mv h1 {
  font-size: 48px;
  font-weight: 500;
  margin: 24px 0 40px;
  line-height: 1.3;
}

.mv h1 strong {
  color: #fff;
  font-weight: 500;
  background: #36BABF;
  padding: 0 4px;
  line-height: 1.5;
}

.mv h1 strong .font-72 {
  font-size: 72px;
}

.mv .font-32 {
  font-weight: 500;
  font-size: 32px;
}

.mv .font-36 {
  font-weight: 500;
  font-size: 36px;
}

.mv .font-40 {
  color: #0CA3A9;
  font-weight: 500;
  font-size: 40px;
}

.mv .font-40 span.line {
  background: #fff;
}

.mv .font-48 {
  font-weight: 500;
  font-size: 48px;
}

.mv .font-56 {
  font-weight: 500;
  font-size: 56px;
}

.mv .font-64 {
  font-weight: 500;
  font-size: 64px;
}

.mv .blue {
  color: #0CA3A9;
}

.mv .gold {
  color: #AB7B1A;
}

.mv .mv-final-message {
  font-size: 56px;
  font-weight: 500;
  line-height: 1.2;
}

.mv .mv-final-message br {
  display: none;
}

.mv .mv-final-message .sp {
  display: none;
}

.mv .move-txt {
  position: absolute;
  bottom: 100px;
  left: 0;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}

.mv .move-txt .loop-wrapper {
  display: flex;
}

.mv .move-txt .loop-content {
  display: inline-block;
  font-size: 96px;
  font-weight: 700;
  color: rgba(123, 204, 207, 0.2);
  white-space: nowrap;
  animation: scrollText 60s linear infinite;
}

@media (max-width: 1400px) {
  .mv .mv-final-message {
    font-size: 48px;
  }
}

@media (max-width: 1024px) {
  .mv {
    margin-top: 0;
  }

  .mv h1 {
    font-size: 40px;
  }

  .mv h1 .font-56 {
    font-size: 48px;
  }

  .mv h1 strong .font-72 {
    font-size: 64px;
  }

  .mv .mv-final-message {
    font-size: 36px;
  }

  .mv .font-32 {
    font-size: 24px;
  }

  .mv .font-36 {
    font-size: 28px;
  }

  .mv .font-40 {
    font-size: 32px;
  }

  .mv .font-48 {
    font-size: 36px;
  }

  .mv .font-56 {
    font-size: 40px;
  }

  .mv .font-64 {
    font-size: 48px;
  }
}

@media (max-width: 768px) {
  .mv {
    margin-top: 16px;
  }

  .mv .mv-final-message {
    font-size: 36px;
    line-height: 1.3;
  }

  .mv .mv-final-message br {
    display: block;
  }

  .mv .medal-box {
    margin: 32px 0;
    gap: 16px;
  }

  .mv .medal-box img {
    width: 160px;
    height: 160px;
  }

  .mv .move-txt {
    bottom: 48px;
  }
}

@media (max-width: 576px) {
  .mv {
    margin-top: 0;
  }

  .mv .inner {
    padding: 0 12px;
  }

  .mv .blue-box span {
    font-size: 16px;
    padding: 2px 16px;
  }

  .mv .blue-box p {
    font-size: 24px;
  }

  .mv .cath-txt {
    font-size: 20px;
  }

  .mv h1 {
    font-size: 20px;
    margin: 16px 0 24px;
  }

  .mv h1 .font-56 {
    font-size: 24px;
  }

  .mv h1 strong {
    font-size: 30px;
    padding: 0 4px;
  }

  .mv h1 strong .font-72 {
    font-size: 40px;
  }

  .mv .font-32 {
    font-size: 18px;
  }

  .mv .font-36 {
    font-size: 17px;
  }

  .mv .font-40 {
    font-size: 20px;
  }

  .mv .font-48 {
    font-size: 24px;
  }

  .mv .font-56 {
    font-size: 32px;
  }

  .mv .font-64 {
    font-size: 32px;
  }

  .mv p {
    margin-bottom: 24px;
  }

  .mv .mv-final-message {
    font-size: 28px;
  }

  .mv .mv-final-message .sp {
    display: block;
  }

  .mv .medal-box img {
    width: 120px;
    height: 120px;
  }

  .mv .move-txt {
    bottom: 80px;
  }

  .mv .move-txt .loop-content {
    font-size: 64px;
  }
}

.medal-box {
  display: grid;
  grid-template-columns: repeat(4, 220px);
  justify-content: center;
  gap: 16px;
  margin: 96px 0 0;
  position: relative;
}

@media (max-width: 1080px) {
  .medal-box {
    grid-template-columns: repeat(4, 160px);
  }
}

@media (max-width: 768px) {
  .medal-box {
    grid-template-columns: repeat(2, 160px);
    margin: 96px 0 48px;
  }
}

.medal-box img {
  width: 220px;
  height: 220px;
  animation: float 3s ease-in-out infinite;
}

.medal-box img:nth-child(2) {
  animation-delay: 0.5s;
}

.medal-box img:nth-child(3) {
  animation-delay: 1s;
}

@media (max-width: 1080px) {
  .medal-box img {
    width: 160px;
    height: 160px;
  }
}

.campaign-box {
  margin-top: 64px;
}

.campaign-box img.sp {
  display: none;
}

@media (max-width: 768px) {
  .campaign-box img.sp {
    display: block;
  }
}

@media (max-width: 768px) {
  .campaign-box img.pc {
    display: none;
  }
}

.campaign-box .box01 {
  position: relative;
  padding: 0 0 300px;
  margin-top: -188px;
}

@media (max-width: 768px) {
  .campaign-box .box01 {
    padding: 0 0 272px;
    margin-top: -136px;
  }
}

.campaign-box .box01 .inner {
  position: relative;
  z-index: 2;
}

.campaign-box .box01::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  clip-path: polygon(0 15%, 100% 0, 100% 100%, 0% 100%);
  background: #E5F5F5;
  z-index: 1;
}

@media (max-width: 768px) {
  .campaign-box .box01::before {
    clip-path: polygon(0 5%, 100% 0, 100% 100%, 0% 100%);
  }
}

.campaign-box .box02 {
  position: relative;
  padding: 156px 0 240px;
  margin-top: -372px;
}

.campaign-box .box02 .inner {
  position: relative;
  z-index: 2;
}

.campaign-box .box02::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%);
  background: #B4E7E9;
  z-index: 1;
}

@media (max-width: 768px) {
  .campaign-box .box02::before {
    clip-path: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);
  }
}

.campaign-box .box03 {
  position: relative;
  padding: 0 0 80px;
  margin-top: -240px;
  overflow: hidden;
}

@media (max-width: 480px) {
  .campaign-box .box03 {
    padding: 0 0 48px;
  }
}

.campaign-box .box03 .inner {
  position: relative;
  z-index: 2;
}

.campaign-box .box03::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 200px;
  clip-path: polygon(0 15%, 100% 0, 100% 100%, 0% 100%);
  background: #0CA3A9;
  z-index: 1;
}

@media (max-width: 768px) {
  .campaign-box .box03::before {
    clip-path: polygon(0 5%, 100% 0, 100% 100%, 0% 100%);
  }
}

.campaign-box .flex-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 72px;
}

@media (max-width: 1080px) {
  .campaign-box .flex-box {
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .campaign-box .flex-box {
    grid-template-columns: repeat(1, 1fr);
    gap: 48px;
  }

  .campaign-box .flex-box img {
    width: 100%;
    height: auto;
  }
}

.campaign-box .cta-camp-box {
  position: relative;
  z-index: 2;
  text-align: center;
}

.campaign-box .cta-camp-box br.sp {
  display: none;
}

@media (max-width: 960px) {
  .campaign-box .cta-camp-box br.sp {
    display: block;
  }
}

.campaign-box .cta-camp-box p {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

.campaign-box .cta-camp-box .font-24 {
  font-size: 24px;
}

@media (max-width: 768px) {
  .campaign-box .cta-camp-box .font-24 {
    font-size: 18px;
  }
}

.campaign-box .cta-camp-box .font-32 {
  font-size: 32px;
}

@media (max-width: 480px) {
  .campaign-box .cta-camp-box .font-32 {
    font-size: 24px;
  }
}

.campaign-box .cta-camp-box .font-48 {
  font-size: 48px;
}

@media (max-width: 480px) {
  .campaign-box .cta-camp-box .font-48 {
    font-size: 36px;
  }
}

.campaign-box .cta-camp-box small {
  display: block;
  color: #fff;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  margin-top: 12px;
}

.campaign-box .cta-camp-box .btn {
  border: #fff 1px solid;
}

.campaign-box .camp-time-box {
  text-align: center;
  margin-top: 64px;
}

@media (max-width: 768px) {
  .campaign-box .camp-time-box img {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 480px) {
  .campaign-box .camp-time-box {
    margin-top: 48px;
  }
}

.pick-box {
  text-align: center;
}

.pick-box p {
  font-size: 40px;
  font-weight: bold;
}

@media (max-width: 960px) {
  .pick-box p {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .pick-box p {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .pick-box p {
    font-size: 16px;
  }
}

.pick-box .font-18 {
  font-size: 18px;
}

@media (max-width: 480px) {
  .pick-box .font-18 {
    font-size: 16px;
    text-align: left;
  }
}

.pick-box .font-32 {
  font-size: 32px;
}

@media (max-width: 960px) {
  .pick-box .font-32 {
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-32 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-32 {
    font-size: 16px;
  }
}

.pick-box .font-36 {
  font-size: 36px;
}

@media (max-width: 960px) {
  .pick-box .font-36 {
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-36 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-36 {
    font-size: 16px;
  }
}

.pick-box .font-40 {
  font-size: 40px;
}

@media (max-width: 960px) {
  .pick-box .font-40 {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-40 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-40 {
    font-size: 16px;
  }
}

.pick-box .font-48 {
  font-size: 48px;
}

@media (max-width: 960px) {
  .pick-box .font-48 {
    font-size: 36px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-48 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-48 {
    font-size: 18px;
  }
}

.pick-box .font-64 {
  font-size: 64px;
}

@media (max-width: 960px) {
  .pick-box .font-64 {
    font-size: 48px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-64 {
    font-size: 32px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-64 {
    font-size: 24px;
  }
}

.pick-box .font-72 {
  font-size: 72px;
}

@media (max-width: 960px) {
  .pick-box .font-72 {
    font-size: 56px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-72 {
    font-size: 40px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-72 {
    font-size: 32px;
  }
}

.pick-box .number {
  font-family: "Roboto", sans-serif;
}

.pick-box .center {
  text-align: center;
  margin: 64px 0 40px;
}

@media (max-width: 768px) {
  .pick-box .center {
    margin: 32px 0 40px;
    font-size: 24px !important;
  }
}

@media (max-width: 768px) {
  .pick-box.sp-box .box {
    padding-top: 48px;
  }
}

.pick-box .box {
  position: relative;
  padding: 72px 32px 32px;
  background: #fff;
}

@media (max-width: 768px) {
  .pick-box .box {
    padding: 32px 24px 24px;
  }
}

@media (max-width: 480px) {
  .pick-box .box {
    padding: 24px 16px 16px;
  }
}

.pick-box .box h3 {
  position: absolute;
  top: -24px;
  left: calc(50% - 280px);
  display: flex;
  justify-content: center;
  width: 580px;
  color: #fff;
  font-size: 32px;
  background: #FF4111;
  text-align: center;
  padding: 12px 24px;
  line-height: 1.2;
}

@media (max-width: 960px) {
  .pick-box .box h3 {
    width: 80%;
    left: 10%;
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .pick-box .box h3 {
    padding: 8px 24px;
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .box h3 {
    font-size: 18px;
  }
}

.pick-box .box div {
  position: relative;
}

.pick-box .box div img.hukishi-img {
  position: absolute;
  top: -96px;
  left: 0;
  z-index: 2;
}

@media (max-width: 960px) {
  .pick-box .box div img.hukishi-img {
    width: 136px;
    height: auto;
    top: -112px;
    left: -64px;
  }
}

@media (max-width: 768px) {
  .pick-box .box div img.hukishi-img {
    width: 96px;
    top: -88px;
    left: -40px;
  }
}

@media (max-width: 480px) {
  .pick-box .box div img.hukishi-img {
    width: 72px;
    top: -72px;
    left: -24px;
  }
}

.pick-box .box div p {
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

.pick-box .box div p strong {
  color: #FF4111;
  font-weight: 700;
}

.pick-box .box div p .font-24 {
  display: block;
  line-height: 1.2;
  margin-top: 16px;
}

@media (max-width: 480px) {
  .pick-box .box div p .font-24 {
    font-size: 16px;
  }
}

.pick-box .box div small {
  display: block;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.2;
  margin-top: 16px;
}

@media (max-width: 768px) {
  .pick-box .box div small {
    font-size: 12px;
  }
}

.plan-reco-box {
  padding: 32px;
  border: #fff 1px solid;
  margin-top: 64px;
}

.plan-reco-box.sp {
  display: none;
}

@media (max-width: 480px) {
  .plan-reco-box {
    padding: 24px;
    margin-top: 40px;
  }

  .plan-reco-box.pc {
    display: none;
  }

  .plan-reco-box.sp {
    display: block;
  }
}

.plan-reco-box p,
.plan-reco-box span {
  color: #fff;
  font-weight: bold;
  font-family: "Roboto", sans-serif;
}

.plan-reco-box p br,
.plan-reco-box span br {
  display: none;
}

@media (max-width: 480px) {

  .plan-reco-box p br,
  .plan-reco-box span br {
    display: block;
  }
}

.plan-reco-box .font-24 {
  font-size: 24px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-24 {
    font-size: 18px;
  }
}

.plan-reco-box .font-26 {
  font-size: 26px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-26 {
    font-size: 20px;
  }
}

.plan-reco-box .font-32 {
  font-size: 32px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-32 {
    font-size: 24px;
  }
}

.plan-reco-box .font-40 {
  font-size: 40px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-40 {
    font-size: 32px;
  }
}

.plan-reco-box .font-72 {
  font-size: 72px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-72 {
    font-size: 64px;
  }
}

@media (max-width: 480px) {
  .plan-reco-box .font-14 {
    font-size: 14px;
  }

  .plan-reco-box .font-15 {
    font-size: 15px;
  }

  .plan-reco-box .font-20 {
    font-size: 20px;
  }

  .plan-reco-box .font-24 {
    font-size: 24px;
  }

  .plan-reco-box .font-26 {
    font-size: 26px;
  }

  .plan-reco-box .font-32 {
    font-size: 32px;
  }

  .plan-reco-box .font-40 {
    font-size: 40px;
  }

  .plan-reco-box .left {
    text-align: left;
  }

  .plan-reco-box .right {
    text-align: right;
  }
}

.price {
  background: #E5F5F5;
  padding-top: 0;
}

.price br.sp {
  display: none;
}

@media (max-width: 960px) {
  .price br.sp {
    display: block;
  }
}

.price img.sp {
  display: none;
}

@media (max-width: 768px) {
  .price img.sp {
    display: block;
  }
}

@media (max-width: 768px) {
  .price img.pc {
    display: none;
  }
}

.price>h2 {
  position: relative;
  display: block;
  color: #fff;
  font-size: 48px;
  font-family: "Noto Sans JP", sans-serif;
  background: #0CA3A9;
  padding: 32px;
  text-align: center;
}

@media (max-width: 768px) {
  .price>h2 {
    padding: 20px;
    font-size: 32px;
  }
}

@media (max-width: 480px) {
  .price>h2 {
    padding: 12px;
    font-size: 24px;
  }
}

.price>h2::before {
  position: absolute;
  content: "";
  width: 64px;
  height: 24px;
  left: calc(50% - 32px);
  bottom: -20px;
  background: #0CA3A9;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

@media (max-width: 480px) {
  .price>h2::before {
    bottom: -12px;
  }
}

.price .pick-box {
  margin-top: 80px;
}

@media (max-width: 768px) {
  .price .pick-box {
    margin-top: 56px;
  }
}

@media (max-width: 480px) {
  .price .pick-box {
    margin-top: 48px;
  }
}

.price .pick-box.blue-box .box h3 {
  background: #0CA3A9;
  z-index: 1;
}

.price .pick-box.link-box .box {
  padding: 0;
}

.price .pick-box.link-box a:hover {
  opacity: 0.6;
}

.price .pick-box p {
  line-height: 1.3;
}

.price .pick-box .font-72 {
  line-height: 1;
}

.price .pick-box .strong-box {
  width: auto;
  color: #FF4111;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  border: #FF4111 1px solid;
  padding: 8px 32px;
  margin: 32px auto;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .price .pick-box .strong-box {
    font-size: 20px;
    padding: 8px 24px;
  }
}

@media (max-width: 480px) {
  .price .pick-box .strong-box {
    font-size: 16px;
    margin: 20px auto;
  }
}

.price .cta-camp-box {
  margin: 80px 0;
  text-align: center;
}

@media (max-width: 768px) {
  .price .cta-camp-box {
    margin: 48px 0;
  }
}

@media (max-width: 480px) {
  .price .cta-camp-box {
    margin: 32px 0;
  }
}

.price .cta-camp-box h3 {
  position: relative;
  display: inline-block;
  font-size: 32px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.3;
}

.price .cta-camp-box h3 br {
  display: none;
}

@media (max-width: 480px) {
  .price .cta-camp-box h3 br {
    display: block;
  }
}

.price .cta-camp-box h3::before,
.price .cta-camp-box h3::after {
  position: absolute;
  width: 40px;
  height: 40px;
  color: #1E293B;
  font-size: 32px;
  bottom: 0;
}

.price .cta-camp-box h3::before {
  content: "＼ ";
  left: -40px;
}

.price .cta-camp-box h3::after {
  content: " ／";
  right: -40px;
}

@media (max-width: 640px) {
  .price .cta-camp-box h3 {
    font-size: 24px;
  }
}

.price .cta-camp-box small {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
}

.price .price-txt-box {
  border: #0CA3A9 1px solid;
  text-align: center;
  padding: 48px;
  background: #fff;
  margin-top: 32px;
}

@media (max-width: 768px) {
  .price .price-txt-box {
    padding: 32px;
    margin-top: 24px;
  }
}

@media (max-width: 480px) {
  .price .price-txt-box {
    padding: 24px;
    margin-top: 16px;
  }
}

.price .price-txt-box h3 {
  color: #0CA3A9;
  font-size: 32px;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 24px;
}

@media (max-width: 768px) {
  .price .price-txt-box h3 {
    font-size: 24px;
    margin-bottom: 16px;
  }
}

@media (max-width: 480px) {
  .price .price-txt-box h3 {
    font-size: 20px;
    margin-bottom: 12px;
  }
}

.price .price-txt-box p {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 768px) {
  .price .price-txt-box p {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .price .price-txt-box p {
    font-size: 15px;
    text-align: left;
  }
}

.campaign-cta-box {
  position: relative;
  display: flex;
  justify-content: center;
  border: #0CA3A9 1px solid;
  padding: 64px 64px 48px;
  background: url(../img/bg-campaign-cta-box.png) top right/cover no-repeat;
  text-align: center;
  margin-top: 64px;
  font-weight: bold;
}

.campaign-cta-box .sp {
  display: none;
}

.campaign-cta-box>img {
  position: absolute;
  top: -24px;
  left: 24px;
}

.campaign-cta-box .title-cach {
  display: block;
  font-size: 24px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}

.campaign-cta-box h2 {
  color: #0CA3A9;
  font-size: 40px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

.campaign-cta-box .flex-box {
  display: flex;
  justify-content: center;
  gap: 64px;
}

.campaign-cta-box .flex-box .important-txt {
  width: 408px;
  border: #FF4111 2px solid;
  border-radius: 8px;
  padding: 24px 32px;
  background: #fff;
}

.campaign-cta-box .flex-box .important-txt h3 {
  font-size: 24px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #D9D9D9;
  padding-bottom: 16px;
  margin-bottom: 20px;
}

.campaign-cta-box .flex-box .important-txt ul {
  display: inline-block;
}

.campaign-cta-box .flex-box .important-txt ul li {
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 8px;
  padding-left: 36px;
  background: url(../img/icon-check-orange.png) no-repeat center left;
  text-align: left;
}

.campaign-cta-box .flex-box .important-txt small {
  display: block;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.3;
}

.campaign-cta-box .flex-box .btn-cta-box .font-24 {
  font-size: 24px;
}

.campaign-cta-box .flex-box .btn-cta-box .btn-cta {
  margin: 16px auto;
}

.campaign-cta-box .price-box {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 24px;
  margin-bottom: 32px;
  font-weight: bold;
}

.campaign-cta-box .price-box .font-24 {
  font-size: 24px;
  font-weight: 600;
}

.campaign-cta-box .price-box .font-36 {
  font-size: 36px;
  font-weight: 600;
}

.campaign-cta-box .price-box .font-64 {
  font-size: 64px;
  font-weight: 600;
}

.campaign-cta-box .price-box p {
  font-weight: bold;
}

.campaign-cta-box .price-box .tag {
  font-size: 24px;
  border: #FF4111 2px solid;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  border-radius: 8px;
  padding: 8px 24px;
  background: #fff;
}

.campaign-cta-box .price-box strong {
  color: #FF4111;
}

.campaign-cta-box small {
  font-size: 14px;
  font-weight: 600;
}

.campaign-cta-box .br-sp {
  display: none;
}

@media (max-width: 1080px) {
  .campaign-cta-box {
    justify-content: center;
    padding: 48px;
    background: url(../img/bg-campaign-cta-sp.png) top/cover no-repeat;
    margin-top: 64px;
  }

  .campaign-cta-box::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
    z-index: 1;
  }

  .campaign-cta-box .pc {
    display: none;
  }

  .campaign-cta-box .sp {
    display: block;
  }

  .campaign-cta-box>img {
    top: -24px;
    left: auto;
    right: -16px;
  }

  .campaign-cta-box .txt-box {
    position: relative;
    width: 100%;
    margin-top: 320px;
    z-index: 2;
  }

  .campaign-cta-box .flex-box {
    display: block;
  }

  .campaign-cta-box .flex-box .important-txt {
    margin: 0 auto 24px;
  }
}

@media (max-width: 768px) {
  .campaign-cta-box {
    padding: 32px;
  }

  .campaign-cta-box .title-cach {
    font-size: 20px;
  }

  .campaign-cta-box h2 {
    font-size: 32px;
  }

  .campaign-cta-box .important-txt {
    font-size: 20px;
    padding: 12px 20px;
    margin: 16px 0 12px;
  }

  .campaign-cta-box .price-box .font-24 {
    font-size: 18px;
  }

  .campaign-cta-box .price-box .font-36 {
    font-size: 28px;
  }

  .campaign-cta-box .price-box .font-64 {
    font-size: 48px;
  }
}

@media (max-width: 560px) {
  .campaign-cta-box {
    padding: 24px 20px;
  }

  .campaign-cta-box .br-sp {
    display: block;
  }

  .campaign-cta-box .flex-box .important-txt {
    width: 100%;
    padding: 20px;
  }

  .campaign-cta-box .flex-box .important-txt h3 {
    font-size: 20px;
  }

  .campaign-cta-box .flex-box .important-txt ul li {
    font-size: 18px;
  }

  .campaign-cta-box .flex-box .important-txt small {
    font-size: 12px;
  }

  .campaign-cta-box .flex-box .btn-cta-box .font-24 {
    font-size: 16px;
  }

  .campaign-cta-box .txt-box {
    margin-top: 200px;
  }

  .campaign-cta-box .price-box {
    gap: 12px;
  }

  .campaign-cta-box .price-box .tag {
    font-size: 16px;
    padding: 8px 16px;
  }

  .campaign-cta-box .price-box img {
    width: 20px;
    height: auto;
    transform: rotate(90deg);
  }

  .campaign-cta-box .price-box .font-24 {
    font-size: 14px;
  }

  .campaign-cta-box .price-box .font-36 {
    font-size: 24px;
  }

  .campaign-cta-box .price-box .font-64 {
    font-size: 40px;
  }

  .campaign-cta-box .title-cach {
    font-size: 20px;
  }

  .campaign-cta-box h2 {
    font-size: 30px;
    line-height: 1.3;
  }

  .campaign-cta-box .important-txt {
    font-size: 18px;
    line-height: 1.3;
  }

  .campaign-cta-box .important-txt br {
    display: block;
  }

  .campaign-cta-box small {
    display: block;
  }
}

.fixed-cta-box {
  text-align: center;
  margin: 64px 0 0;
  padding: 64px 0;
  background: url(../img/bg-fixed-cta-box.jpg) center/cover no-repeat;
}

.fixed-cta-box p {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

.fixed-cta-box .font-22 {
  font-size: 22px;
}

.fixed-cta-box .font-24 {
  font-size: 24px;
}

.fixed-cta-box .font-32 {
  font-size: 32px;
}

.fixed-cta-box .font-32 br {
  display: none;
}

.fixed-cta-box .btn-cta {
  margin: 32px auto 20px;
}

.fixed-cta-box small {
  display: block;
  color: #fff;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 500;
  margin-top: 24px;
}

@media (max-width: 768px) {
  .fixed-cta-box {
    background: url(../img/bg-fixed-cta-box-sp.jpg) center/cover no-repeat;
  }
}

@media (max-width: 560px) {
  .fixed-cta-box {
    margin: 48px 0 0;
    padding: 48px 0;
  }

  .fixed-cta-box p br {
    display: block;
  }

  .fixed-cta-box p span {
    font-size: 48px;
    font-family: "Roboto", sans-serif;
  }

  .fixed-cta-box .font-22 {
    font-size: 18px;
  }

  .fixed-cta-box .font-24 {
    font-size: 18px;
  }

  .fixed-cta-box .font-32 {
    line-height: 1.2;
    font-size: 36px;
    margin-top: 12px;
  }

  .fixed-cta-box .font-32 br {
    display: block;
  }

  .fixed-cta-box small {
    font-size: 14px;
    margin-top: 20px;
  }
}

.btn-cta {
  position: relative;
  display: flex;
  align-items: center;
  width: 396px;
  height: 80px;
  line-height: 1.3;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  margin: 32px auto 0;
  padding: 0 72px 0 48px;
  background: linear-gradient(90deg, #FF4111, #FF9500);
  border-radius: 80px;
}

.btn-cta::after {
  position: absolute;
  content: "";
  width: 48px;
  height: 48px;
  top: 16px;
  right: 16px;
  border-radius: 48px;
  background: #fff url(../img/icon-btn-cta.png) no-repeat center;
}

@media (max-width: 480px) {
  .btn-cta {
    width: 100%;
    height: 70px;
    font-size: 18px;
    padding: 0;
    margin: 16px auto 0;
  }

  .btn-cta::after {
    display: none;
  }
}

.btn-cta.btn-cta-line {
  background: #00CF2E;
}

.btn-cta.btn-cta-line::after {
  background: #fff url(../img/icon-btn-cta-line.png) no-repeat center;
}

.cta-btn-box {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin: 32px auto;
}

.cta-btn-box .btn-cta {
  margin: 0;
}

@media (max-width: 960px) {
  .cta-btn-box {
    display: block;
    margin: 24px auto;
  }

  .cta-btn-box .btn-cta {
    margin: 16px auto;
  }
}

header .btn-cta {
  position: relative;
  display: flex;
  align-items: center;
  width: 360px;
  height: 72px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 24px 0 0;
  padding: 0 72px 0 36px;
  background: linear-gradient(90deg, #FF4111, #FF9500);
  border-radius: 80px;
}

header .btn-cta::after {
  position: absolute;
  content: "";
  width: 48px;
  height: 48px;
  top: 12px;
  right: 12px;
  border-radius: 48px;
  background: #fff url(../img/icon-btn-cta.png) no-repeat center;
}

@media (max-width: 480px) {
  header .btn-cta {
    width: 100%;
    padding: 0;
    margin: 0;
  }
}

header .btn-cta-line {
  background: #00CF2E;
}

header .btn-cta-line::after {
  background: #fff url(../img/icon-btn-cta-line.png) no-repeat center;
}

section {
  position: relative;
  padding: 80px 0;
}

section .move-txt {
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 100%;
  font-size: 96px;
  font-weight: 700;
  color: rgba(102, 102, 102, 0.3);
  white-space: nowrap;
  pointer-events: none;
  overflow: hidden;
}

section .move-txt .loop-content {
  animation: scrollText 100s linear infinite;
}

@media (max-width: 768px) {
  section .move-txt {
    font-size: 64px;
  }
}

section .flex-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px;
}

section.top-access,
section.bottom-access {
  padding: 64px 0;
}

section.top-access .studio-title,
section.bottom-access .studio-title {
  color: #0CA3A9;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 500;
  border-bottom: 1px solid #D9D9D9;
  padding-bottom: 12px;
  margin-bottom: 16px;
}

section.top-access img.img-box,
section.bottom-access img.img-box {
  width: 500px;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

section.top-access .studio-info,
section.bottom-access .studio-info {
  margin-bottom: 32px;
}

section.top-access .studio-info li,
section.bottom-access .studio-info li {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

section.top-access .studio-info li span,
section.bottom-access .studio-info li span {
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  font-size: 14px;
  background-color: #0CA3A9;
  min-width: 88px;
  height: 25px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  margin-right: 15px;
}

section.top-access .studio-info li p,
section.bottom-access .studio-info li p {
  margin: 0;
  color: #1E293B;
  font-size: 16px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
}

section.top-access .studio-info li p br,
section.bottom-access .studio-info li p br {
  display: none;
}

section.top-access .btn-googlemap,
section.bottom-access .btn-googlemap {
  color: #0CA3A9;
  font-size: 16px;
  border: 1px solid #0CA3A9;
  background: transparent;
  width: 240px;
  height: 64px;
  border-radius: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

section.top-access .btn-googlemap .btn-icon,
section.bottom-access .btn-googlemap .btn-icon {
  width: 24px;
  height: 24px;
}

section.top-access .btn-googlemap:hover,
section.bottom-access .btn-googlemap:hover {
  background: #0CA3A9;
  color: white;
}

section.top-access .btn-googlemap:hover .btn-icon,
section.bottom-access .btn-googlemap:hover .btn-icon {
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}

@media (max-width: 1400px) {

  section.top-access img.img-box,
  section.bottom-access img.img-box {
    width: 480px;
    height: 300px;
  }

  section.top-access .txt-box,
  section.bottom-access .txt-box {
    width: calc(100% - 520px);
  }
}

@media (max-width: 1200px) {

  section.top-access img.img-box,
  section.bottom-access img.img-box {
    width: 400px;
    height: 320px;
  }

  section.top-access .txt-box,
  section.bottom-access .txt-box {
    width: calc(100% - 440px);
  }
}

@media (max-width: 768px) {

  section.top-access img.img-box,
  section.bottom-access img.img-box {
    width: 100%;
  }

  section.top-access .txt-box,
  section.bottom-access .txt-box {
    width: 100%;
  }

  section.top-access .txt-box .studio-title,
  section.bottom-access .txt-box .studio-title {
    text-align: center;
  }

  section.top-access .txt-box .studio-info li,
  section.bottom-access .txt-box .studio-info li {
    margin-bottom: 2px;
    background: #0CA3A9;
  }

  section.top-access .txt-box .studio-info li span,
  section.bottom-access .txt-box .studio-info li span {
    display: inline-table;
    padding: 12px;
    border-radius: 0;
    margin-right: 0;
    text-align: center;
  }

  section.top-access .txt-box .studio-info li p,
  section.bottom-access .txt-box .studio-info li p {
    width: -webkit-fill-available;
    padding: 12px;
    background: #E5F5F5;
  }

  section.top-access .txt-box .btn-googlemap,
  section.bottom-access .txt-box .btn-googlemap {
    width: 100%;
  }
}

@media (max-width: 576px) {

  section.top-access,
  section.bottom-access {
    padding: 0 0 48px;
  }

  section.top-access .inner,
  section.bottom-access .inner {
    padding: 0;
  }

  section.top-access .btn-box,
  section.bottom-access .btn-box {
    padding: 0 16px;
  }

  section.top-access img.img-box,
  section.bottom-access img.img-box {
    height: 256px;
  }

  section.top-access .txt-box,
  section.bottom-access .txt-box {
    padding: 0 16px;
  }

  section.top-access .txt-box .studio-title,
  section.bottom-access .txt-box .studio-title {
    font-size: 20px;
  }

  section.top-access .txt-box .studio-info li p br,
  section.bottom-access .txt-box .studio-info li p br {
    display: block;
  }

  section.top-access .txt-box .btn-googlemap,
  section.bottom-access .txt-box .btn-googlemap {
    position: relative;
  }

  section.top-access .txt-box .btn-googlemap .btn-icon,
  section.bottom-access .txt-box .btn-googlemap .btn-icon {
    position: absolute;
    top: 20px;
    right: 24px;
  }
}

section .users-head,
section .comparison-head,
section .support-head {
  position: relative;
  background: linear-gradient(90deg, #C49B5A, #807946);
  text-align: center;
  padding: 48px 0;
}

section .users-head::before,
section .comparison-head::before,
section .support-head::before {
  position: absolute;
  content: "";
  width: 64px;
  height: 24px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #A28A50;
  left: calc(50% - 32px);
  bottom: -16px;
  z-index: 1;
}

section .users-head .inner,
section .comparison-head .inner,
section .support-head .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

section .users-head .inner span,
section .comparison-head .inner span,
section .support-head .inner span {
  color: white;
  font-size: 24px;
  font-weight: 500;
  margin: 0;
}

section .users-head .inner span br,
section .comparison-head .inner span br,
section .support-head .inner span br {
  display: none;
}

section .users-head .inner span .md,
section .comparison-head .inner span .md,
section .support-head .inner span .md {
  display: none;
}

section .users-head .inner h2,
section .comparison-head .inner h2,
section .support-head .inner h2 {
  color: white;
  font-size: 32px;
  font-weight: 500;
}

section .users-head .inner h2 br,
section .comparison-head .inner h2 br,
section .support-head .inner h2 br {
  display: none;
}

section .users-head .inner h2 .md,
section .comparison-head .inner h2 .md,
section .support-head .inner h2 .md {
  display: none;
}

@media (max-width: 1200px) {

  section .users-head .inner h2 br,
  section .comparison-head .inner h2 br,
  section .support-head .inner h2 br {
    display: block;
  }

  section .users-head .inner h2 .md,
  section .comparison-head .inner h2 .md,
  section .support-head .inner h2 .md {
    display: none;
  }
}

@media (max-width: 1024px) {

  section .users-head .inner span,
  section .comparison-head .inner span,
  section .support-head .inner span {
    font-size: 20px;
  }

  section .users-head .inner h2,
  section .comparison-head .inner h2,
  section .support-head .inner h2 {
    font-size: 28px;
  }
}

@media (max-width: 768px) {

  section .users-head,
  section .comparison-head,
  section .support-head {
    padding: 32px 0;
  }

  section .users-head .inner span,
  section .comparison-head .inner span,
  section .support-head .inner span {
    font-size: 18px;
  }

  section .users-head .inner span .md,
  section .comparison-head .inner span .md,
  section .support-head .inner span .md {
    display: block;
  }

  section .users-head .inner h2,
  section .comparison-head .inner h2,
  section .support-head .inner h2 {
    font-size: 24px;
  }

  section .users-head .inner h2 .md,
  section .comparison-head .inner h2 .md,
  section .support-head .inner h2 .md {
    display: block;
  }
}

section.comparison {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, rgb(255, 255, 255) 60%, #7BCCCF), url(../img/bg-comparison.jpg) no-repeat top center;
  background-size: 100%;
}

section.comparison h2 {
  font-size: 56px;
  font-weight: 600;
}

section.comparison h2 .blue {
  color: #0CA3A9;
}

section.comparison h2 .font-48 {
  font-size: 48px;
}

section.comparison p {
  font-size: 32px;
  font-weight: 500;
}

section.comparison p strong {
  color: #fff;
  font-weight: 500;
  background: #0CA3A9;
}

section.comparison .inner>h3 {
  color: #fff;
  font-size: 36px;
  text-align: center;
}

section.comparison .sp {
  display: none;
}

section.comparison .comparison-box {
  display: flex;
  justify-content: center;
  margin: 80px 0;
  overflow: auto;
}

section.comparison .comparison-box .box {
  width: 556px;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

section.comparison .comparison-box .box.blue {
  border: #0CA3A9 4px solid;
}

section.comparison .comparison-box .box.blue h3 {
  background: linear-gradient(90deg, #0CA3A9, #7BCCCF);
}

section.comparison .comparison-box .box.blue h3::before {
  background: #44B8BC;
}

section.comparison .comparison-box .box.blue ul li {
  border-bottom: 1px solid #7BCCCF;
}

section.comparison .comparison-box .box.blue ul li span {
  color: #0CA3A9;
}

section.comparison .comparison-box .box.blue ul li p {
  font-weight: bold;
}

section.comparison .comparison-box .box.gray h3 {
  background: #848484;
}

section.comparison .comparison-box .box.gray h3::before {
  background: #848484;
}

section.comparison .comparison-box .box.gray ul li {
  border-bottom: 1px solid #BBB6B5;
}

section.comparison .comparison-box .box.gray ul li span {
  color: #848484;
}

section.comparison .comparison-box .box h3 {
  position: relative;
  color: #fff;
  font-size: 32px;
  text-align: center;
  padding: 20px 32px;
}

section.comparison .comparison-box .box h3::before {
  position: absolute;
  content: "";
  width: 64px;
  height: 24px;
  left: calc(50% - 32px);
  bottom: -16px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.comparison .comparison-box .box ul {
  padding: 32px 48px;
}

section.comparison .comparison-box .box ul li {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-bottom: 24px;
  margin-bottom: 24px;
}

section.comparison .comparison-box .box ul li span {
  font-size: 18px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

section.comparison .comparison-box .box ul li p {
  line-height: 1.3;
  color: #1E293B;
  font-size: 24px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}

section.comparison .comparison-box .box ul li:last-child {
  border: 0;
  padding: 0;
  margin: 0;
}

@media (max-width: 1200px) {
  section.comparison .comparison-box .box {
    width: calc((100% - 48px) / 2);
  }

  section.comparison .comparison-box .box ul {
    padding: 24px;
  }

  section.comparison .comparison-box .box ul li span {
    font-size: 16px;
  }

  section.comparison .comparison-box .box ul li p {
    font-size: 20px;
  }
}

@media (max-width: 768px) {
  section.comparison {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, rgb(255, 255, 255) 60%, #7BCCCF), url(../img/bg-comparison.jpg) no-repeat top right -64px;
    background-size: 120%;
  }

  section.comparison h2 {
    font-size: 40px;
  }

  section.comparison h2 .font-48 {
    font-size: 36px;
  }

  section.comparison p {
    font-size: 20px;
  }

  section.comparison .inner>h3 {
    font-size: 24px;
  }

  section.comparison .comparison-box {
    margin: 40px 0;
  }

  section.comparison .sp {
    display: block;
  }

  section.comparison .pc {
    display: none;
  }
}

@media (max-width: 576px) {
  section.comparison h2 {
    font-size: 32px;
  }

  section.comparison h2 .font-48 {
    font-size: 28px;
  }

  section.comparison p {
    font-size: 18px;
  }

  section.comparison .inner>h3 {
    font-size: 20px;
  }

  section.comparison .comparison-box img {
    width: 100%;
    height: auto;
  }
}

section.appeal {
  background: url(../img/bg-appeal.jpg) no-repeat top left;
  background-size: auto 100%;
}

section.appeal .inner {
  display: flex;
  justify-content: end;
}

section.appeal .inner div {
  width: 640px;
}

section.appeal h2 {
  font-size: 48px;
  margin-bottom: 40px;
}

section.appeal h2 br {
  display: none;
}

section.appeal ul li {
  font-size: 24px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #7BCCCF;
  padding-left: 32px;
  padding-bottom: 24px;
  margin-bottom: 24px;
  background: url(../img/icon-check.png) no-repeat top 11px left;
}

section.appeal ul li:last-child {
  border: 0;
  margin: 0;
  padding-bottom: 0;
}

@media (max-width: 1280px) {
  section.appeal {
    position: relative;
    background: url(../img/bg-appeal-sp.jpg) no-repeat top left;
    background-size: 80% auto;
    padding-top: 320px;
  }

  section.appeal::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 20%, rgb(255, 255, 255));
    z-index: 1;
  }

  section.appeal .inner {
    position: relative;
    z-index: 2;
  }

  section.appeal .inner div {
    width: 100%;
  }
}

@media (max-width: 768px) {
  section.appeal h2 {
    font-size: 40px;
  }

  section.appeal ul li {
    font-size: 20px;
  }
}

@media (max-width: 564px) {
  section.appeal {
    background: url(../img/bg-appeal-sp.jpg) no-repeat top left;
    background-size: 100% auto;
    padding-top: 180px;
  }

  section.appeal h2 {
    font-size: 32px;
    line-height: 1.3;
    margin-bottom: 24px;
  }

  section.appeal h2 br {
    display: block;
  }

  section.appeal ul li {
    font-size: 18px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    background: url(../img/icon-check.png) no-repeat top 7px left;
  }
}

section.empathy {
  background: url(../img/bg-empathy.jpg) no-repeat top right;
  background-size: auto 100%;
}

section.empathy h2 {
  font-size: 40px;
  margin-bottom: 24px;
}

section.empathy h2 br.sp {
  display: none;
}

section.empathy p {
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
}

section.empathy p strong {
  color: #0CA3A9;
}

@media (max-width: 1280px) {
  section.empathy {
    position: relative;
    background: url(../img/bg-empathy-sp.jpg) no-repeat top right;
    background-size: 50% auto;
  }
}

@media (max-width: 768px) {
  section.empathy h2 {
    font-size: 32px;
  }
}

@media (max-width: 564px) {
  section.empathy {
    background: url(../img/bg-empathy-sp.jpg) no-repeat top right;
    background-size: 60% auto;
  }

  section.empathy h2 {
    font-size: 24px;
  }

  section.empathy h2 br.sp {
    display: block;
  }

  section.empathy p {
    font-size: 16px;
  }
}

section.plan2 {
  background: #E5F5F5;
}

section.plan2 .head-title {
  margin-bottom: 48px;
  text-align: center;
}

section.plan2 .head-title>span {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  padding: 12px 32px;
  border-radius: 80px;
  border: 64px;
  background: #44B8BC;
  margin: 0 auto;
}

section.plan2 .head-title>span::before {
  position: absolute;
  content: "";
  width: 56px;
  height: 24px;
  left: calc(50% - 28px);
  bottom: -12px;
  background: #44B8BC;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.plan2 .head-title h2 {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 24px 0 16px;
}

section.plan2 .head-title h2::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  background: #0CA3A9;
  z-index: 1;
}

section.plan2 .head-title h2 span {
  position: relative;
  display: inline-block;
  font-size: 40px;
  padding: 0 40px;
  z-index: 2;
  background: #E5F5F5;
}

section.plan2 .head-title p {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
}

section.plan2 .plan-column-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

section.plan2 .plan-column-box .box {
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

section.plan2 .plan-column-box .box:nth-child(1) .head {
  background: #fde430;
}

section.plan2 .plan-column-box .box:nth-child(1) .head::before {
  background: #fde430;
}

section.plan2 .plan-column-box .box:nth-child(1) .head h3,
section.plan2 .plan-column-box .box:nth-child(1) .head span {
  color: #000000;
}

section.plan2 .plan-column-box .box:nth-child(2) .head {
  background: #0CA3A9;
}

section.plan2 .plan-column-box .box:nth-child(2) .head::before {
  background: #0CA3A9;
}

section.plan2 .plan-column-box .box:nth-child(3) .head {
  background: #C49B5A;
}

section.plan2 .plan-column-box .box:nth-child(3) .head::before {
  background: #C49B5A;
}

section.plan2 .plan-column-box .box:nth-child(4) .head {
  background: #1E293B;
}

section.plan2 .plan-column-box .box:nth-child(4) .head::before {
  background: #1E293B;
}

section.plan2 .plan-column-box .box .head {
  position: relative;
  text-align: center;
  padding: 32px 0 32px 0;
}

section.plan2 .plan-column-box .box .head::before {
  position: absolute;
  content: "";
  width: 56px;
  height: 24px;
  left: calc(50% - 28px);
  bottom: -12px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.plan2 .plan-column-box .box .head span {
  color: #fff;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
}

section.plan2 .plan-column-box .box .head h3 {
  color: #fff;
  font-size: 32px;
  font-family: "Noto Sans JP", sans-serif;
}

section.plan2 .plan-column-box .box ul {
  padding: 32px;
}

section.plan2 .plan-column-box .box ul li {
  text-align: center;
  border-bottom: #D9D9D9 1px solid;
  padding-bottom: 24px;
  margin-bottom: 24px;
}

section.plan2 .plan-column-box .box ul li:last-child {
  border: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

section.plan2 .plan-column-box .box ul li span {
  color: #0CA3A9;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

section.plan2 .plan-column-box .box ul li span.fs16 {
  display: block;
  font-size: 16px;
  color: inherit;
  line-height: inherit;
  margin: 1em 0 1em 0;
}

section.plan2 .plan-column-box .box ul li p {
  font-size: 36px;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
}

section.plan2 .plan-column-box .box ul li p .font-28 {
  display: inline-block;
  color: #1E293B;
  font-size: 28px;
}

section.plan2 .plan-column-box .box ul li p .font-20 {
  display: inline-block;
  color: #1E293B;
  font-size: 20px;
}

section.plan2 small {
  display: block;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  margin-top: 40px;
}

section.plan2 .mt-80 {
  margin-top: 80px;
}

section.plan2 .price-txt-box {
  padding: 48px;
  border: #0CA3A9 1px solid;
  margin-top: 96px;
  text-align: center;
  background: #fff;
}

section.plan2 .price-txt-box h2 {
  color: #0CA3A9;
  font-size: 32px;
  margin-bottom: 12px;
}

section.plan2 .price-txt-box p {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 768px) {
  section.plan2 .price-txt-box {
    margin-top: 40px;
    padding: 24px;
  }

  section.plan2 .price-txt-box h2 {
    font-size: 20px;
  }

  section.plan2 .price-txt-box p {
    font-size: 16px;
  }
}

@media (max-width: 1080px) {
  section.plan2 .plan-column-box {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  section.plan2 .head-title {
    margin-bottom: 32px;
  }

  section.plan2 .head-title>span {
    font-size: 18px;
    padding: 8px 24px;
  }

  section.plan2 .head-title h2 span {
    font-size: 32px;
  }

  section.plan2 .head-title h2::before {
    display: none;
  }

  section.plan2 .head-title p {
    font-size: 16px;
  }

  section.plan2 .plan-column-box {
    grid-template-columns: repeat(1, 1fr);
  }

  section.plan2 .plan-column-box .box .head {
    padding: 20px;
  }

  section.plan2 .plan-column-box .box .head span {
    font-size: 16px;
  }

  section.plan2 .plan-column-box .box .head h3 {
    font-size: 24px;
  }

  section.plan2 .plan-column-box .box ul {
    padding: 20px;
  }

  section.plan2 .plan-column-box .box ul li {
    padding-bottom: 16px;
    margin-bottom: 16px;
  }

  section.plan2 small {
    margin-top: 24px;
  }
}

section.dither {
  text-align: center;
  background: url(../img/bg-dither.jpg) no-repeat top center;
  background-size: 100% auto;
}

section.dither h2 {
  color: #0CA3A9;
  font-size: 48px;
  margin-bottom: 24px;
}

section.dither p {
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

section.dither .btn-cta {
  margin: 40px auto 24px;
}

section.dither small {
  font-size: 16px;
  font-weight: 500;
}

section.dither .box {
  display: flex;
  padding: 56px;
  background: #fff;
  border: #0CA3A9 1px solid;
  margin-top: 64px;
}

section.dither .box .left-box {
  position: relative;
  border-right: 1px solid #D9D9D9;
  margin-right: 56px;
  padding-right: 56px;
}

section.dither .box .left-box .hukidashi {
  position: absolute;
  width: calc(100% - 64px);
  top: -104px;
  left: 0;
  color: #fff;
  font-size: 32px;
  border-radius: 80px;
  padding: 8px 32px;
  background: #0CA3A9;
}

section.dither .box .left-box .hukidashi::before {
  position: absolute;
  content: "";
  width: 56px;
  height: 24px;
  left: calc(50% - 28px);
  bottom: -12px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #0CA3A9;
}

section.dither .box .left-box h3 {
  font-size: 30px;
}

section.dither .box .left-box p {
  font-size: 52px;
  font-weight: bold;
  font-family: "Shippori Mincho", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
}

section.dither .box .left-box p span {
  font-family: "Shippori Mincho", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
}

section.dither .box .left-box p .font-36 {
  font-size: 36px;
}

section.dither .box .left-box p .font-24 {
  font-size: 24px;
}

section.dither .box .right-box {
  text-align: left;
}

section.dither .box .right-box h3 {
  font-size: 32px;
  margin-bottom: 24px;
}

section.dither .box .right-box p {
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
}

section.dither .box small {
  font-size: 14px;
  font-weight: 600;
  margin-top: 16px;
}

@media (max-width: 1080px) {
  section.dither {
    padding-top: 400px;
    background: url(../img/bg-dither-sp.jpg) no-repeat top center;
    background-size: 100% auto;
  }

  section.dither h2 {
    font-size: 40px;
    margin-bottom: 8px;
  }

  section.dither p {
    font-size: 20px;
  }

  section.dither .btn-cta {
    margin: 24px auto 24px;
  }

  section.dither .box {
    display: block;
    padding: 48px;
    margin-top: 64px;
  }

  section.dither .box .left-box {
    border: 0;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #D9D9D9;
    margin-bottom: 32px;
    padding-bottom: 32px;
  }

  section.dither .box .left-box .hukidashi {
    width: 100%;
    top: -80px;
    font-size: 24px;
    padding: 8px 32px;
  }

  section.dither .box .left-box h3 {
    font-size: 30px;
  }

  section.dither .box .left-box p {
    font-size: 60px;
  }

  section.dither .box .left-box p .font-36 {
    font-size: 36px;
  }

  section.dither .box .left-box p .font-24 {
    font-size: 24px;
  }

  section.dither .box .right-box {
    text-align: center;
  }

  section.dither .box .right-box h3 {
    font-size: 36px;
    margin-bottom: 24px;
  }

  section.dither .box .right-box p {
    font-size: 20px;
  }

  section.dither .box small {
    font-size: 14px;
    margin-top: 16px;
  }
}

@media (max-width: 768px) {
  section.dither {
    padding-top: 200px;
  }

  section.dither p {
    font-size: 16px;
  }

  section.dither .box {
    display: block;
    padding: 40px 20px 20px;
    margin-top: 64px;
  }

  section.dither .box .left-box {
    border: 0;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #D9D9D9;
    margin-bottom: 32px;
    padding-bottom: 32px;
  }

  section.dither .box .left-box .hukidashi {
    top: -64px;
    font-size: 20px;
    padding: 8px 32px;
  }

  section.dither .box .left-box h3 {
    font-size: 20px;
  }

  section.dither .box .left-box p {
    font-size: 40px;
  }

  section.dither .box .left-box p .font-36 {
    font-size: 24px;
  }

  section.dither .box .left-box p .font-24 {
    font-size: 18px;
  }

  section.dither .box .right-box h3 {
    font-size: 24px;
    margin-bottom: 12px;
  }

  section.dither .box .right-box p {
    font-size: 16px;
  }

  section.dither .box small {
    font-size: 14px;
    margin-top: 12px;
  }
}

section.users-question {
  padding: 0;
}

section.users-question .bg-gradation {
  background: linear-gradient(to bottom, white 50%, #36BABF 100%) !important;
  padding: 40px 0 80px;
  position: relative;
}

section.users-question .bg-gradation .move-txt {
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  pointer-events: none;
}

section.users-question .bg-gradation .move-txt .loop-wrapper {
  display: flex;
}

section.users-question .bg-gradation .move-txt .loop-content {
  display: inline-block;
  font-size: 96px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.2);
  white-space: nowrap;
  animation: scrollText 60s linear infinite;
}

section.users-question .users-box {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 40px;
}

section.users-question .users-box li {
  width: calc((100% - 72px) / 4);
}

section.users-question .users-box li span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 32px);
  margin: 0 auto;
  background: linear-gradient(-90deg, #7BCCCF, #0CA3A9);
  color: white;
  height: 48px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  border-radius: 40px;
  z-index: 2;
  text-align: center;
}

section.users-question .users-box li span br {
  display: none;
}

section.users-question .users-box li img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
  margin-top: -24px;
}

section.users-question .users-box li p {
  padding: 20px 0 0;
  text-align: center;
  color: #1E293B;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
}

section.users-question .support-box {
  text-align: center;
  padding: 40px;
  background: white;
  border: 1px solid #7BCCCF;
}

section.users-question .support-box p {
  font-size: 32px;
  font-weight: 500;
  color: #1E293B;
}

section.users-question .support-box p strong {
  font-weight: 500;
}

section.users-question .support-box p .blue {
  color: #0066CC;
}

section.users-question .support-box p br {
  display: none;
}

@media (max-width: 1400px) {
  section.users-question .users-box li span {
    width: calc(100% - 24px);
    font-size: 16px;
  }

  section.users-question .users-box li p {
    font-size: 16px;
  }
}

@media (max-width: 1200px) {
  section.users-question .users-box li {
    width: calc((100% - 24px) / 2);
  }

  section.users-question .users-box li span {
    width: calc(100% - 32px);
    font-size: 18px;
  }

  section.users-question .users-box li p {
    font-size: 18px;
  }
}

@media (max-width: 768px) {
  section.users-question .support-box p br {
    display: block;
  }
}

@media (max-width: 576px) {
  section.users-question .users-box {
    gap: 16px;
  }

  section.users-question .users-box li {
    width: calc((100% - 24px) / 2);
  }

  section.users-question .users-box li span {
    width: 100%;
    height: auto;
    padding: 12px;
    font-size: 18px;
    border-radius: 8px 8px 0 0;
    line-height: 1.2;
  }

  section.users-question .users-box li span br {
    display: block;
  }

  section.users-question .users-box li img {
    height: 160px;
    margin-top: 0;
  }

  section.users-question .users-box li p {
    font-size: 14px;
    padding: 12px 0 16px;
  }

  section.users-question .support-box {
    padding: 24px;
  }

  section.users-question .support-box p {
    font-size: 24px;
  }
}

section.section-six-features {
  padding: 0;
}

section.section-six-features .bg-green {
  position: relative;
}

section.section-six-features .bg-green::after {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(250% - 80px);
  top: 80px;
  left: 0;
  background: #7BCCCF;
}

@media (max-width: 768px) {
  section.section-six-features .bg-green::after {
    height: calc(260% - 80px);
  }
}

@media (max-width: 576px) {
  section.section-six-features .bg-green::after {
    top: -168px;
    height: 260% !important;
  }
}

section.section-six-features>.head {
  background: url("../img/bg-six-contents.jpg") center/cover no-repeat;
  background-attachment: fixed;
  height: 380px;
  color: #fff;
  padding-top: 94px;
  text-align: center;
}

section.section-six-features>.head h2 {
  font-size: 48px;
  font-weight: 500;
}

section.section-six-features>.head h2 br {
  display: none;
}

section.section-six-features>.head span {
  font-size: 24px;
}

section.section-six-features .question-box {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: -104px;
  padding: 48px 48px 200px;
  background: #fff;
}

section.section-six-features .question-box::before {
  position: absolute;
  content: "";
  width: 112px;
  height: 40px;
  left: calc(50% - 56px);
  bottom: 120px;
  background: #7BCCCF;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.section-six-features .question-box .box {
  width: calc((100% - 48px) / 3);
}

section.section-six-features .question-box .box img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
}

section.section-six-features .question-box .box h3 {
  padding: 24px 0 16px;
  font-size: 24px;
  font-weight: 700;
  color: #1E293B;
  line-height: 1.5;
}

section.section-six-features .question-box .box p {
  padding: 0 0 25px;
  color: #1E293B;
  line-height: 1.7;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .features-box>.box {
  position: relative;
  margin-bottom: 64px;
}

section.section-six-features .features-box>.box::before {
  content: "";
  position: absolute;
  width: 720px;
  height: 480px;
  top: -64px;
  left: calc((100% - 1440px) / 2);
  z-index: 1;
}

section.section-six-features .features-box>.box .inner {
  display: flex;
  justify-content: flex-end;
}

section.section-six-features .features-box>.box:nth-of-type(2),
section.section-six-features .features-box>.box:nth-of-type(5),
section.section-six-features .features-box>.box:nth-of-type(7) {
  justify-content: flex-start;
  margin-bottom: 196px;
}

section.section-six-features .features-box>.box:nth-of-type(2)::before,
section.section-six-features .features-box>.box:nth-of-type(5)::before,
section.section-six-features .features-box>.box:nth-of-type(7)::before {
  top: auto;
  left: auto;
  right: calc((100% - 1440px) / 2);
  bottom: -64px;
}

section.section-six-features .features-box>.box:nth-of-type(2) .inner,
section.section-six-features .features-box>.box:nth-of-type(5) .inner,
section.section-six-features .features-box>.box:nth-of-type(7) .inner {
  display: flex;
  justify-content: flex-start;
}

section.section-six-features .features-box>.box:nth-of-type(1)::before {
  background: url(../img/img-features01.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(2)::before {
  background: url(../img/img-features02.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(3)::before {
  background: url(../img/img-features03.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(5)::before {
  background: url(../img/img-features04.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(6)::before {
  background: url(../img/img-features05.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(7)::before {
  background: url(../img/img-features06.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box .txt-box {
  position: relative;
  width: 728px;
  padding: 64px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  background: #fff;
  z-index: 2;
}

section.section-six-features .features-box>.box .txt-box .number {
  position: absolute;
  top: 24px;
  right: 48px;
  font-size: 32px;
  color: #C49B5A;
}

section.section-six-features .features-box>.box .txt-box .number span {
  font-size: 64px;
}

section.section-six-features .features-box>.box .txt-box .features {
  font-size: 24px;
  color: #C49B5A;
  margin-bottom: 8px;
}

section.section-six-features .features-box>.box .txt-box h3 {
  font-size: 40px;
  font-weight: 500;
  color: #1E293B;
  margin-bottom: 16px;
  line-height: 1.4;
}

section.section-six-features .features-box>.box .txt-box h3 .font-56 {
  font-size: 56px;
  color: #1E293B;
  font-weight: 500;
}

section.section-six-features .features-box>.box .txt-box h3 br.md {
  display: none;
}

section.section-six-features .features-box>.box .txt-box strong {
  display: block;
  font-size: 28px;
  font-weight: 500;
  color: #009197;
  margin-bottom: 24px;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .features-box>.box .txt-box p {
  color: #1E293B;
  font-size: 20px;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .trainer-box {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: -64px 0 64px;
}

section.section-six-features .trainer-box::before {
  position: absolute;
  content: "HIROFUMI WATANABE";
  width: 100%;
  height: 116px;
  top: -24px;
  left: 0;
  font-size: 80px;
  color: #7BCCCF;
  opacity: 0.3;
  z-index: 1;
}

section.section-six-features .trainer-box .txt-box {
  position: relative;
  padding-top: 40px;
  z-index: 2;
}

section.section-six-features .trainer-box .txt-box .head {
  text-align: left;
  margin-bottom: 30px;
}

section.section-six-features .trainer-box .txt-box .head .name-box {
  display: flex;
  align-items: last baseline;
  margin-bottom: 16px;
}

section.section-six-features .trainer-box .txt-box .head .name-box h4 {
  color: #1E293B;
  font-size: 48px;
  font-weight: 500;
  margin-right: 20px;
}

section.section-six-features .trainer-box .txt-box .head .name-box span {
  color: #1E293B;
  font-size: 24px;
  font-weight: 600;
}

section.section-six-features .trainer-box .txt-box .head p {
  color: #009197;
  font-size: 20px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #C49B5A;
  padding-bottom: 24px;
  margin-bottom: 32px;
}

section.section-six-features .trainer-box .txt-box h5 {
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
  margin-bottom: 24px;
  line-height: 1.6;
}

section.section-six-features .trainer-box .txt-box ul li {
  position: relative;
  padding: 0 0 8px 20px;
  color: #1E293B;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .trainer-box .txt-box ul li::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 12px;
  top: 11px;
  left: 0;
  background: #7BCCCF;
}

section.section-six-features .trainer-box img {
  width: 432px;
  height: 585px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}

@media (max-width: 576px) {
  section.section-six-features .trainer-box .txt-box {
    margin-bottom: 40px;
  }
}

section.section-six-features .review-box .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 48px;
  background: #FAF5EF;
  border: 1px solid #C49B5A;
  margin-bottom: 32px;
}

section.section-six-features .review-box .box:nth-last-of-type(1) {
  margin-bottom: 0;
}

section.section-six-features .review-box .box .left {
  width: 440px;
}

section.section-six-features .review-box .box .left h4 {
  font-size: 28px;
  font-weight: 700;
  color: #1E293B;
  margin-bottom: 8px;
  line-height: 1.5;
}

section.section-six-features .review-box .box .left p {
  color: #1E293B;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 24px;
}

section.section-six-features .review-box .box .left .star-box {
  display: flex;
  align-items: center;
  gap: 8px;
}

section.section-six-features .review-box .box .left .star-box img {
  width: 24px;
  height: 24px;
}

section.section-six-features .review-box .box .left .star-box span {
  margin-left: 12px;
  color: #1E293B;
  font-size: 20px;
  font-weight: 600;
}

section.section-six-features .review-box .box .right {
  width: calc(100% - 440px);
  border-left: #7C7C7C 1px solid;
  padding-left: 40px;
}

section.section-six-features .review-box .box .right p {
  color: #1E293B;
  line-height: 1.8;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .review-box small {
  display: block;
  text-align: center;
  color: #1E293B;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 20px;
}

@media (max-width: 1400px) {
  section.section-six-features .question-box .box h3 {
    font-size: 20px;
  }
}

@media (max-width: 1200px) {
  section.section-six-features .question-box {
    padding: 32px 32px 200px;
  }

  section.section-six-features .features-box>.box::before {
    width: 720px;
    height: 360px;
  }

  section.section-six-features .features-box>.box .txt-box {
    width: 640px;
    padding: 40px;
  }

  section.section-six-features .features-box>.box .txt-box .number {
    top: 16px;
    right: 40px;
    font-size: 32px;
  }

  section.section-six-features .features-box>.box .txt-box .number span {
    font-size: 48px;
  }

  section.section-six-features .features-box>.box .txt-box .features {
    font-size: 20px;
    margin-bottom: 0;
  }

  section.section-six-features .features-box>.box .txt-box h3 {
    font-size: 32px;
  }

  section.section-six-features .features-box>.box .txt-box h3 .font-56 {
    font-size: 48px;
  }

  section.section-six-features .features-box>.box .txt-box strong {
    font-size: 24px;
    margin-bottom: 16px;
  }

  section.section-six-features .features-box>.box .txt-box p {
    font-size: 16px;
  }

  section.section-six-features .trainer-box {
    margin: -64px 0 64px;
  }

  section.section-six-features .trainer-box::before {
    font-size: 64px;
  }

  section.section-six-features .trainer-box .txt-box {
    padding-top: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head {
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head p {
    font-size: 18px;
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box h5 {
    font-size: 18px;
    margin-bottom: 16px;
  }

  section.section-six-features .trainer-box .txt-box ul li {
    font-size: 16px;
  }

  section.section-six-features .trainer-box .txt-box ul li::before {
    top: 7px;
  }

  section.section-six-features .trainer-box img {
    width: 432px;
    height: 440px;
  }

  section.section-six-features .review-box .box {
    padding: 40px;
    margin-bottom: 24px;
  }

  section.section-six-features .review-box .box .left {
    width: 380px;
  }

  section.section-six-features .review-box .box .left h4 {
    font-size: 24px;
  }

  section.section-six-features .review-box .box .left p {
    font-size: 18px;
    margin-bottom: 24px;
  }

  section.section-six-features .review-box .box .left .star-box span {
    font-size: 18px;
  }

  section.section-six-features .review-box .box .right {
    width: calc(100% - 400px);
  }

  section.section-six-features .review-box .box .right p {
    font-size: 15px;
  }
}

@media (max-width: 1024px) {
  section.section-six-features>.head h2 {
    font-size: 40px;
  }

  section.section-six-features>.head span {
    font-size: 24px;
  }

  section.section-six-features .question-box {
    display: none;
  }

  section.section-six-features .features-box>.box {
    margin-bottom: 160px;
  }

  section.section-six-features .features-box>.box::before {
    width: 100%;
    height: 480px;
    top: -96px;
    left: 0;
  }

  section.section-six-features .features-box>.box:nth-of-type(2),
  section.section-six-features .features-box>.box:nth-of-type(5),
  section.section-six-features .features-box>.box:nth-of-type(7) {
    margin-bottom: 160px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2)::before,
  section.section-six-features .features-box>.box:nth-of-type(5)::before,
  section.section-six-features .features-box>.box:nth-of-type(7)::before {
    top: -96px;
    left: 0;
    right: auto;
    bottom: auto;
  }

  section.section-six-features .features-box>.box .txt-box {
    width: 100%;
    padding: 64px;
    margin: 240px 0 0;
  }

  section.section-six-features .features-box>.box .txt-box .number {
    top: 24px;
    right: 48px;
    font-size: 32px;
  }

  section.section-six-features .features-box>.box .txt-box .number span {
    font-size: 64px;
  }

  section.section-six-features .features-box>.box .txt-box .features {
    font-size: 24px;
  }

  section.section-six-features .features-box>.box .txt-box h3 {
    font-size: 32px;
    margin-bottom: 16px;
  }

  section.section-six-features .features-box>.box .txt-box h3 .font-56 {
    font-size: 48px;
  }

  section.section-six-features .features-box>.box .txt-box strong {
    font-size: 24px;
  }

  section.section-six-features .features-box>.box .txt-box p {
    font-size: 18px;
  }

  section.section-six-features .trainer-box {
    flex-wrap: wrap;
    margin: -160px 0 160px;
  }

  section.section-six-features .trainer-box::before {
    font-size: 64px;
    top: -4px;
    line-height: 1.2;
  }

  section.section-six-features .trainer-box .txt-box {
    width: 50%;
    padding-top: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head {
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box {
    display: block;
  }

  section.section-six-features .trainer-box .txt-box .head p {
    font-size: 18px;
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box h5 {
    font-size: 18px;
    margin-bottom: 16px;
  }

  section.section-six-features .trainer-box .txt-box h5 br {
    display: none;
  }

  section.section-six-features .trainer-box .txt-box ul li {
    font-size: 16px;
  }

  section.section-six-features .trainer-box .txt-box ul li::before {
    top: 7px;
  }

  section.section-six-features .trainer-box img {
    width: calc(50% - 32px);
    height: 480px;
  }

  section.section-six-features .review-box {
    margin-top: -114px;
  }

  section.section-six-features .review-box .box {
    flex-wrap: wrap;
    padding: 40px;
    margin-bottom: 24px;
  }

  section.section-six-features .review-box .box .left {
    width: 100%;
  }

  section.section-six-features .review-box .box .left h4 {
    font-size: 24px;
  }

  section.section-six-features .review-box .box .left p {
    font-size: 18px;
    margin-bottom: 12px;
  }

  section.section-six-features .review-box .box .left .star-box span {
    font-size: 18px;
  }

  section.section-six-features .review-box .box .right {
    width: 100%;
    padding: 24px 0 0;
    margin-top: 24px;
    border: 0;
    border-top: #7C7C7C 1px solid;
  }

  section.section-six-features .review-box .box .right p {
    font-size: 15px;
  }
}

@media (max-width: 768px) {
  section.section-six-features>.head h2 {
    font-size: 40px;
    line-height: 1.3;
  }

  section.section-six-features>.head h2 br {
    display: block;
  }

  section.section-six-features>.head span {
    display: none;
  }

  section.section-six-features .features-box>.box {
    margin-bottom: 120px;
  }

  section.section-six-features .features-box>.box::before {
    top: -64px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2),
  section.section-six-features .features-box>.box:nth-of-type(5),
  section.section-six-features .features-box>.box:nth-of-type(7) {
    margin-bottom: 120px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2)::before,
  section.section-six-features .features-box>.box:nth-of-type(5)::before,
  section.section-six-features .features-box>.box:nth-of-type(7)::before {
    top: -64px;
  }

  section.section-six-features .features-box>.box .txt-box {
    width: 100%;
    padding: 48px;
  }

  section.section-six-features .features-box>.box .txt-box .number {
    top: -56px;
    right: 20px;
    font-size: 32px;
  }

  section.section-six-features .features-box>.box .txt-box .number span {
    font-size: 64px;
  }

  section.section-six-features .features-box>.box .txt-box .features {
    display: block;
    text-align: center;
  }

  section.section-six-features .features-box>.box .txt-box h3 {
    text-align: center;
  }

  section.section-six-features .features-box>.box .txt-box h3 .font-56 {
    font-size: 48px;
  }

  section.section-six-features .features-box>.box .txt-box h3 br.md {
    display: block;
  }

  section.section-six-features .features-box>.box .txt-box strong {
    font-size: 24px;
    text-align: center;
  }

  section.section-six-features .features-box>.box .txt-box p {
    font-size: 18px;
  }

  section.section-six-features .features-box>.box .txt-box p br {
    display: none;
  }

  section.section-six-features .trainer-inner {
    width: 100%;
    padding: 0;
  }

  section.section-six-features .trainer-box {
    margin: -120px 0 160px;
  }

  section.section-six-features .trainer-box::before {
    font-size: 64px;
    top: 300px;
    text-align: center;
  }

  section.section-six-features .trainer-box .txt-box {
    width: 100%;
    padding: 0 24px;
    margin-top: 400px;
  }

  section.section-six-features .trainer-box .txt-box .head {
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box {
    display: block;
    text-align: center;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box h4 {
    margin-right: 0;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box span {
    font-size: 20px;
  }

  section.section-six-features .trainer-box .txt-box .head p {
    text-align: center;
  }

  section.section-six-features .trainer-box .txt-box h5 {
    font-size: 18px;
    margin-bottom: 16px;
  }

  section.section-six-features .trainer-box .txt-box h5 br {
    display: none;
  }

  section.section-six-features .trainer-box .txt-box ul li {
    font-size: 16px;
  }

  section.section-six-features .trainer-box .txt-box ul li::before {
    top: 7px;
  }

  section.section-six-features .trainer-box img {
    position: absolute;
    top: -24px;
    left: 0;
    width: 100%;
    height: 400px;
    z-index: -1;
    -o-object-position: top;
    object-position: top;
  }

  section.section-six-features .review-box {
    margin-top: -96px;
  }
}

@media (max-width: 576px) {
  section.section-six-features .bg-green::after {
    height: 395%;
  }

  section.section-six-features>.head {
    padding-top: 48px;
  }

  section.section-six-features>.head h2 {
    font-size: 32px;
  }

  section.section-six-features .features-box>.box {
    margin-bottom: 200px;
  }

  section.section-six-features .features-box>.box::before {
    top: -160px;
    height: 248px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2),
  section.section-six-features .features-box>.box:nth-of-type(5),
  section.section-six-features .features-box>.box:nth-of-type(7) {
    margin-bottom: 200px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2)::before,
  section.section-six-features .features-box>.box:nth-of-type(5)::before,
  section.section-six-features .features-box>.box:nth-of-type(7)::before {
    top: -160px;
  }

  section.section-six-features .features-box>.box .txt-box {
    padding: 24px;
    margin: 0;
  }

  section.section-six-features .features-box>.box .txt-box .features {
    font-size: 16px;
  }

  section.section-six-features .features-box>.box .txt-box h3 {
    font-size: 24px;
  }

  section.section-six-features .features-box>.box .txt-box strong {
    font-size: 20px;
  }

  section.section-six-features .features-box>.box .txt-box p {
    font-size: 16px;
  }

  section.section-six-features .trainer-box {
    margin: -196px 0 200px;
  }

  section.section-six-features .trainer-box::before {
    font-size: 48px;
  }

  section.section-six-features .trainer-box .txt-box {
    width: 100%;
    padding: 0 24px;
    margin-top: 400px;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box h4 {
    font-size: 48px;
  }

  section.section-six-features .trainer-box .txt-box ul li {
    font-size: 15px;
  }

  section.section-six-features .trainer-box img {
    position: absolute;
    top: 46px;
    left: 0;
    width: 100%;
    height: 340px;
    z-index: 0;
  }

  section.section-six-features .review-box {
    margin-top: -180px;
  }

  section.section-six-features .review-box .box {
    padding: 24px;
  }

  section.section-six-features .review-box .box .left h4 {
    font-size: 24px;
  }

  section.section-six-features .review-box .box .left h4 br {
    display: none;
  }

  section.section-six-features .review-box .box .left p {
    font-size: 16px;
  }

  section.section-six-features .review-box .box .left .star-box span {
    font-size: 16px;
  }

  section.section-six-features .review-box .box .right p {
    font-size: 15px;
  }
}

section.section-training {
  padding: 80px 0 0;
}

section.section-training .campaign-cta-box {
  margin: -40px 0 64px;
}

@media (max-width: 576px) {
  section.section-training .campaign-cta-box {
    margin: -40px 0 40px;
  }
}

section.section-training .head {
  height: 552px;
  background: url("../img/bg-training.jpg") center/cover no-repeat;
  background-attachment: fixed;
  padding-top: 96px;
}

section.section-training .head .inner {
  text-align: center;
}

section.section-training .head .inner p:first-child {
  font-size: 36px;
  color: #1E293B;
}

section.section-training .head .inner h2 {
  font-size: 64px;
  color: #1E293B;
}

section.section-training .head .inner p:last-child {
  font-size: 24px;
  color: #1E293B;
}

section.section-training .head .inner p:last-child .font-36 {
  font-size: 36px;
}

section.section-training .head span {
  color: #1E293B !important;
}

section.section-training .head span::after {
  display: none !important;
}

section.section-training .trial-intro {
  position: relative;
  margin-top: -64px;
  padding: 64px 48px 48px;
  background: #fff;
  text-align: center;
}

section.section-training .trial-intro span {
  display: block;
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
  margin-bottom: 8px;
}

section.section-training .trial-intro h3 {
  font-size: 40px;
  font-weight: 500;
  color: #1E293B;
}

section.section-training .trial-intro h3 br {
  display: none;
}

section.section-training .trial-intro .hukidashi-trial {
  position: absolute;
  top: -56px;
  right: 24px;
}

section.section-training .counseling-box {
  display: flex;
  justify-content: space-between;
  padding: 0 48px;
  margin-bottom: 64px;
}

section.section-training .counseling-box .box {
  position: relative;
  width: calc((100% - 128px) / 3);
}

section.section-training .counseling-box .box::before {
  position: absolute;
  content: "";
  width: 28px;
  height: 40px;
  top: 92px;
  right: -48px;
  background: #7BCCCF;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

section.section-training .counseling-box .box:last-child::before {
  display: none;
}

section.section-training .counseling-box .box img {
  width: 100%;
  height: 224px;
  -o-object-fit: cover;
  object-fit: cover;
  margin-bottom: 24px;
}

section.section-training .counseling-box .box h3 {
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
  margin-bottom: 8px;
  text-align: center;
}

section.section-training .counseling-box .box p {
  color: #1E293B;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-training .trial-plan {
  text-align: center;
  padding: 32px;
  border: 1px solid #7BCCCF;
  margin-bottom: 24px;
}

section.section-training .trial-plan .flex-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

section.section-training .trial-plan .flex-box .hukidashi-limited {
  position: absolute;
  top: -80px;
  right: -72px;
}

section.section-training .trial-plan .flex-box h3 {
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
}

section.section-training .trial-plan .flex-box p {
  font-size: 20px;
  color: #1E293B;
}

section.section-training .trial-plan .flex-box p:first-of-type {
  color: #1E293B;
}

section.section-training .trial-plan .flex-box p:last-child {
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
}

section.section-training .trial-plan .flex-box p .line-through {
  text-decoration: line-through;
}

section.section-training .trial-plan .flex-box p .font-36 {
  font-size: 36px;
  font-weight: 500;
}

section.section-training .trial-plan .flex-box p .font-20 {
  font-size: 20px;
  font-weight: 500;
}

section.section-training .trial-plan strong {
  display: block;
  font-size: 24px;
  color: white;
  font-weight: 500;
  background: #0CA3A9;
  padding: 16px 24px;
}

section.section-training .trial-plan strong .font-32 {
  font-size: 32px;
}

section.section-training .trial-plan strong br {
  display: none;
}

section.section-training .trial-plan+small {
  display: block;
  text-align: center;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  color: #1E293B;
  margin-bottom: 20px;
}

@media (max-width: 1400px) {
  section.section-training .counseling-box {
    padding: 0 32px;
  }
}

@media (max-width: 1200px) {
  section.section-training .trial-intro {
    padding: 64px 32px 32px;
  }

  section.section-training .trial-intro span {
    font-size: 24px;
  }

  section.section-training .trial-intro h3 {
    font-size: 36px;
  }

  section.section-training .trial-intro .hukidashi-trial {
    width: 136px;
    height: 136px;
  }

  section.section-training .counseling-box .box {
    width: calc((100% - 80px) / 3);
  }

  section.section-training .counseling-box .box::before {
    width: 20px;
    height: 32px;
    top: 102px;
    right: -32px;
  }

  section.section-training .counseling-box .box img {
    margin-bottom: 16px;
  }

  section.section-training .counseling-box .box h3 {
    font-size: 20px;
    margin-bottom: 4px;
  }

  section.section-training .counseling-box .box p {
    font-size: 15px;
  }

  section.section-training .trial-plan {
    padding: 24px;
    margin-bottom: 20px;
  }

  section.section-training .trial-plan .flex-box {
    gap: 20px;
    margin-bottom: 24px;
  }

  section.section-training .trial-plan .flex-box .hukidashi-limited {
    width: 96px;
    height: 96px;
    top: -80px;
    right: -40px;
  }
}

@media (max-width: 1024px) {
  section.section-training .head {
    height: 480px;
    background: url("../img/bg-training-sp.jpg") top/cover no-repeat;
    background-attachment: fixed;
    padding-top: 64px;
  }

  section.section-training .head .inner p:first-child {
    font-size: 32px;
  }

  section.section-training .head .inner h2 {
    font-size: 48px;
  }

  section.section-training .head .inner p:last-child {
    font-size: 20px;
  }

  section.section-training .head .inner p:last-child .font-36 {
    font-size: 28px;
  }

  section.section-training .trial-intro {
    margin-top: -88px;
    padding: 64px 32px 48px;
  }

  section.section-training .trial-intro h3 {
    line-height: 1.3;
  }

  section.section-training .trial-intro h3 br {
    display: block;
  }

  section.section-training .counseling-box {
    flex-wrap: wrap;
  }

  section.section-training .counseling-box .box {
    width: 100%;
    margin-bottom: 64px;
  }

  section.section-training .counseling-box .box::before {
    width: 20px;
    height: 32px;
    top: auto;
    right: calc(50% - 16px);
    bottom: -48px;
    transform: rotate(90deg);
  }

  section.section-training .counseling-box .box:last-child {
    margin-bottom: 0;
  }

  section.section-training .counseling-box .box img {
    height: 400px;
    margin-bottom: 16px;
  }

  section.section-training .counseling-box .box h3 {
    font-size: 24px;
    margin-bottom: 4px;
  }

  section.section-training .counseling-box .box p {
    font-size: 16px;
    text-align: center;
  }

  section.section-training .trial-plan {
    padding: 20px 32px 32px;
    margin-bottom: 20px;
  }

  section.section-training .trial-plan .flex-box {
    display: block;
    margin-bottom: 20px;
  }

  section.section-training .trial-plan .flex-box h3 {
    font-size: 24px;
    border-bottom: #7BCCCF 1px solid;
    margin-bottom: 16px;
    padding-bottom: 16px;
  }

  section.section-training .trial-plan .flex-box p {
    position: relative;
    margin-bottom: 40px;
  }

  section.section-training .trial-plan .flex-box p::before {
    position: absolute;
    content: "";
    width: 32px;
    height: 20px;
    top: auto;
    right: calc(50% - 16px);
    bottom: -32px;
    background: #7BCCCF;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  section.section-training .trial-plan .flex-box p:last-child {
    margin-bottom: 0;
  }

  section.section-training .trial-plan .flex-box p:last-child::before {
    display: none;
  }

  section.section-training .trial-plan .flex-box p .font-36 {
    font-size: 32px;
  }

  section.section-training .trial-plan .flex-box .hukidashi-limited {
    top: 144px;
    right: -16px;
  }

  section.section-training .trial-plan strong .font-32 {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  section.section-training .head {
    height: 520px;
  }

  section.section-training .trial-intro {
    margin-top: -88px;
    padding: 48px 24px 32px;
  }

  section.section-training .trial-intro .hukidashi-trial {
    width: 120px;
    height: 120px;
    top: -80px;
    right: 16px;
  }

  section.section-training .counseling-box .box img {
    height: 320px;
  }

  section.section-training .trial-plan .flex-box p {
    margin-bottom: 32px;
  }

  section.section-training .trial-plan .flex-box .hukidashi-limited {
    top: 160px;
    right: -16px;
  }

  section.section-training .trial-plan strong {
    line-height: 1.3;
  }

  section.section-training .trial-plan strong br {
    display: block;
  }
}

@media (max-width: 576px) {
  section.section-training .head {
    height: 560px;
    background: url("../img/bg-training-sp.jpg") center/100% no-repeat;
    padding-top: 160px;
  }

  section.section-training .head .inner p:first-child {
    font-size: 20px;
    font-weight: 600;
    text-shadow: 0 0 8px #fff;
  }

  section.section-training .head .inner h2 {
    font-size: 40px;
    text-shadow: 0 0 8px #fff;
  }

  section.section-training .head .inner p:last-child {
    font-size: 18px;
    font-weight: 600;
    text-shadow: 0 0 8px #fff;
  }

  section.section-training .head .inner p:last-child .font-36 {
    font-size: 24px;
  }

  section.section-training .trial-intro {
    padding: 48px 0 32px;
    margin-top: -64px;
  }

  section.section-training .trial-intro .hukidashi-trial {
    top: -56px;
    width: 88px;
    height: 88px;
  }

  section.section-training .trial-intro span {
    font-size: 18px;
    font-weight: 600;
  }

  section.section-training .trial-intro h3 {
    font-size: 26px;
    font-weight: 600;
  }

  section.section-training .counseling-box {
    padding: 0;
  }

  section.section-training .counseling-box .box img {
    height: 224px;
  }

  section.section-training .trial-plan {
    padding: 20px 24px 24px;
  }

  section.section-training .trial-plan .flex-box p {
    margin-bottom: 32px;
  }

  section.section-training .trial-plan .flex-box p .font-36 {
    font-size: 28px;
  }

  section.section-training .trial-plan .flex-box .hukidashi-limited {
    width: 88px;
    height: 88px;
    top: 160px;
    right: -24px;
  }

  section.section-training .trial-plan strong {
    line-height: 1.3;
    font-size: 16px;
    padding: 16px 20px;
  }

  section.section-training .trial-plan strong .font-32 {
    font-size: 20px;
  }

  section.section-training .trial-plan strong br {
    display: block;
  }
}

section .table-box {
  overflow: auto;
}

section table {
  width: 100%;
  border-collapse: collapse;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border: #D9D9D9 1px solid;
  margin-top: 64px;
}

section table thead th {
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  padding: 20px;
  text-align: center;
  border: #D9D9D9 1px solid;
}

section table thead th:nth-of-type(1) {
  background: #1E293B;
}

section table thead th:nth-of-type(2) {
  background: #C49B5A;
}

section table thead th:nth-of-type(3),
section table thead th:nth-of-type(4) {
  background: #848484;
}

section table tbody tr th {
  background: #1E293B;
  font-weight: 600;
  text-align: center;
  color: white;
  padding: 16px;
  font-size: 20px;
  border: #D9D9D9 1px solid;
  word-break: keep-all;
}

section table tbody tr th br {
  display: none;
}

section table tbody tr td {
  padding: 15px;
  text-align: center;
  color: #1E293B;
  font-size: 20px;
  font-weight: 600;
  border: #D9D9D9 1px solid;
}

section table tbody tr td br {
  display: none;
}

section table tbody tr td .font-14 {
  font-size: 14px;
  font-weight: 600;
}

section table tbody tr td .font-14 br {
  display: none;
}

section table tbody tr td .font-24 {
  font-size: 24px;
  font-weight: 600;
}

section table tbody tr td .font-32 {
  font-size: 32px;
  font-weight: 600;
}

section table tbody tr td:nth-of-type(2),
section table tbody tr td:nth-of-type(3) {
  background: #F4F4F4;
}

@media (max-width: 1200px) {
  section table {
    margin-top: 32px;
  }

  section table thead th {
    font-size: 20px;
    padding: 16px;
  }

  section table tbody tr th {
    padding: 12px;
    font-size: 16px;
  }

  section table tbody tr td {
    padding: 12px;
    font-size: 18px;
  }

  section table tbody tr td .font-14 {
    display: block;
    line-height: 1.3;
    font-size: 14px;
  }

  section table tbody tr td .font-14 br {
    display: block;
  }

  section table tbody tr td .font-24 {
    font-size: 20px;
  }

  section table tbody tr td .font-32 {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  section table {
    min-width: 700px;
    margin-top: 32px;
  }

  section table thead th {
    font-size: 20px;
    padding: 16px;
  }

  section table tbody tr th {
    padding: 12px;
    font-size: 16px;
  }

  section table tbody tr th br {
    display: block;
  }

  section table tbody tr td {
    line-height: 1.3;
    padding: 12px;
    font-size: 18px;
    word-break: keep-all;
  }

  section table tbody tr td br {
    display: block;
  }

  section table tbody tr td .font-14 {
    display: block;
    line-height: 1.3;
    font-size: 14px;
  }

  section table tbody tr td .font-14 br {
    display: block;
  }

  section table tbody tr td .font-24 {
    font-size: 20px;
  }

  section table tbody tr td .font-32 {
    font-size: 28px;
  }
}

section.plan {
  background: #7BCCCF url(../img/bg-plan.jpg) no-repeat top right;
}

section.plan .head {
  margin-bottom: 80px;
}

section.plan .head span {
  color: #fff;
  font-size: 96px;
  font-weight: 600;
  opacity: 0.2;
}

section.plan .head h3 {
  color: #fff;
  font-size: 48px;
  margin: -80px 0 24px 48px;
}

section.plan .head p {
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  margin-left: 48px;
}

section.plan .plan-box .box {
  display: flex;
  margin-bottom: 48px;
  background: #fff;
}

section.plan .plan-box .box .left {
  width: 360px;
  text-align: center;
  padding: 30px;
  background: rgba(30, 41, 59, 0.9);
}

section.plan .plan-box .box .left .plan-txt {
  display: block;
  color: #fff;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  border: #fff 1px solid;
  padding: 12px;
  margin-bottom: 24px;
  background: #1E293B;
}

section.plan .plan-box .box .left h3 {
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 36px;
  line-height: 1.4;
}

section.plan .plan-box .box .left p {
  font-size: 24px;
  color: #fff;
  border-top: 1px solid #fff;
  padding-top: 24px;
  line-height: 1;
}

section.plan .plan-box .box .left p br {
  display: block;
}

section.plan .plan-box .box .left p .font-36 {
  font-size: 36px;
  font-weight: 700;
}

section.plan .plan-box .box .left p .font-48 {
  font-size: 48px;
  font-weight: 800;
}

section.plan .plan-box .box .left small {
  display: flex;
  align-items: first baseline;
  justify-content: center;
  color: #fff;
  font-size: 20px;
}

section.plan .plan-box .box .left small .font-24 {
  font-size: 24px;
  font-weight: 600;
}

section.plan .plan-box .box .right {
  width: calc(100% - 360px);
  padding: 48px;
  box-sizing: border-box;
}

section.plan .plan-box .box .right .plan {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

section.plan .plan-box .box .right .plan .title {
  font-size: 24px;
  font-weight: 600;
  color: #1E293B;
}

section.plan .plan-box .box .right .plan .price {
  font-size: 36px;
  font-weight: 600;
}

section.plan .plan-box .box .right .plan .price .font-28 {
  font-size: 28px;
}

section.plan .plan-box .box .right .plan .price .font-20 {
  font-size: 20px;
  font-weight: 400;
}

section.plan .plan-box .box .right .plan .price .font-16 {
  font-size: 16px;
}

section.plan .plan-box .box .right ul.plan-list {
  width: 100%;
}

section.plan .plan-box .box .right ul.plan-list li {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0 4px 24px;
}

section.plan .plan-box .box .right ul.plan-list li::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  top: 18px;
  left: 0;
  border-radius: 16px;
  background: #7BCCCF;
}

section.plan .plan-box .box .right ul.plan-list li p:first-child {
  font-size: 24px;
  font-weight: 600;
}

section.plan .plan-box .box .right ul.plan-list li p:last-child {
  font-size: 24px;
  font-weight: 600;
}

section.plan .plan-box .box .right ul.plan-list li .font-20 {
  font-size: 20px;
}

section.plan .plan-box .box .right ul.plan-list li .font-16 {
  font-size: 16;
}

section.plan .plan-box .box .right small {
  display: block;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: right;
}

section.plan .plan-box .box .right .detail-box {
  margin-top: 30px;
  padding: 24px;
  background: rgba(123, 204, 207, 0.2);
}

section.plan .plan-box .box .right .detail-box ul li {
  position: relative;
  font-size: 20px;
  font-weight: 600;
  padding-left: 24px;
}

section.plan .plan-box .box .right .detail-box ul li::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  top: 9px;
  left: 0;
  border-radius: 16px;
  background: #7BCCCF;
}

section.plan .plan-box .plan1 .left {
  background: url(../img/bg-plan01.jpg) no-repeat center;
  background-size: cover;
}

section.plan .plan-box .plan2 .left {
  background: url(../img/bg-plan02.jpg) no-repeat center;
  background-size: cover;
}

@media (max-width: 1200px) {
  section.plan .head span {
    font-size: 80px;
  }

  section.plan .head h3 {
    font-size: 40px;
    margin: -64px 0 16px 32px;
  }

  section.plan .head p {
    font-size: 18px;
    margin-left: 32px;
  }

  section.plan .plan-box .box {
    display: block;
  }

  section.plan .plan-box .box .left {
    width: 100%;
    padding: 32px;
  }

  section.plan .plan-box .box .left h3 br {
    display: none;
  }

  section.plan .plan-box .box .left h3 .md {
    display: block;
  }

  section.plan .plan-box .box .left p br {
    display: none;
  }

  section.plan .plan-box .box .right {
    width: 100%;
    padding: 32px;
  }
}

@media (max-width: 768px) {
  section.plan .head span {
    font-size: 80px;
  }

  section.plan .head h3 {
    font-size: 40px;
    margin: -64px 0 16px 32px;
  }

  section.plan .head p {
    font-size: 18px;
    margin-left: 32px;
  }

  section.plan .head p br {
    display: none;
  }

  section.plan .plan-box .box {
    display: block;
    margin-bottom: 24px;
  }

  section.plan .plan-box .box .left .plan-txt {
    font-size: 18px;
  }

  section.plan .plan-box .box .left h3 {
    font-size: 28px;
    margin-bottom: 24px;
  }

  section.plan .plan-box .box .left p {
    font-size: 20px;
    padding-top: 24px;
  }

  section.plan .plan-box .box .left p .font-36 {
    font-size: 28px;
  }

  section.plan .plan-box .box .left p .font-48 {
    font-size: 36px;
  }

  section.plan .plan-box .box .left small {
    font-size: 16px;
  }

  section.plan .plan-box .box .left small .font-24 {
    font-size: 20px;
  }

  section.plan .plan-box .box .right .plan {
    display: block;
    text-align: center;
  }

  section.plan .plan-box .box .right .plan:nth-child(3) .price {
    /* border: 0; margin-bottom: 0; padding-bottom: 0; */
  }

  section.plan .plan-box .box .right .plan .title {
    font-size: 16px;
  }

  section.plan .plan-box .box .right .plan .price {
    font-size: 36px;
    border-bottom: #D9D9D9 1px solid;
    padding-bottom: 20px;
    margin-bottom: 24px;
  }

  section.plan .plan-box .box .right .plan .price .font-28 {
    font-size: 28px;
  }

  section.plan .plan-box .box .right .plan .price .font-20 {
    font-size: 20px;
  }

  section.plan .plan-box .box .right .plan .price .font-16 {
    font-size: 14px;
  }

  section.plan .plan-box .box .right ul.plan-list li {
    padding: 0 0 20px 20px;
    flex-wrap: wrap;
  }

  section.plan .plan-box .box .right ul.plan-list li::before {
    width: 12px;
    height: 12px;
    top: 11px;
  }

  section.plan .plan-box .box .right ul.plan-list li p:first-child {
    font-size: 18px;
  }

  section.plan .plan-box .box .right ul.plan-list li p:last-child {
    font-size: 24px;
    width: 100%;
    text-align: center;
  }

  section.plan .plan-box .box .right ul.plan-list li .font-20 {
    font-size: 14px;
  }

  section.plan .plan-box .box .right ul.plan-list li .font-16 {
    font-size: 14px;
  }

  section.plan .plan-box .box .right small {
    font-size: 14px;
    text-align: center;
  }

  section.plan .plan-box .box .right .detail-box {
    padding: 16px 24px;
    margin-top: 20px;
  }

  section.plan .plan-box .box .right .detail-box ul li {
    font-size: 16px;
    padding-left: 20px;
  }

  section.plan .plan-box .box .right .detail-box ul li::before {
    width: 12px;
    height: 12px;
    top: 8px;
  }
}

@media (max-width: 576px) {
  section.plan {
    background: #7BCCCF url(../img/bg-plan-sp.jpg) no-repeat top 200px center;
    background-size: contain;
  }

  section.plan .head {
    margin-bottom: 160px;
  }

  section.plan .head span {
    display: block;
    font-size: 64px;
    text-align: center;
  }

  section.plan .head h3 {
    margin: -48px 0 0;
    font-size: 28px;
    text-align: center;
  }

  section.plan .head p {
    margin: 0;
  }

  section.plan .plan-box .box {
    display: block;
  }

  section.plan .plan-box .box .left {
    padding: 24px;
  }

  section.plan .plan-box .box .left h3 br {
    display: block;
  }

  section.plan .plan-box .box .left p br {
    display: block;
  }

  section.plan .plan-box .box .right {
    padding: 24px;
  }
}

section.review {
  padding-top: 0;
}

section.review .head span {
  font-size: 36px;
}

section.review .head h2 {
  font-size: 48px;
}

section.review .review-main {
  margin-top: 96px;
}

section.review .review-main h3 {
  text-align: center;
  font-size: 48px;
  font-weight: 500;
  margin-bottom: 56px;
}

section.review .review-main h3 br {
  display: none;
}

section.review .review-main .flex-box {
  display: flex;
  justify-content: space-between;
}

section.review .review-main .flex-box .left {
  width: 624px;
}

section.review .review-main .flex-box .left .program {
  display: block;
  padding: 12px;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 24px;
  border: 1px solid #C49B5A;
  text-align: center;
}

section.review .review-main .flex-box .left .program br {
  display: none;
}

section.review .review-main .flex-box .left .profile {
  display: flex;
  gap: 32px;
  margin-bottom: 24px;
}

section.review .review-main .flex-box .left .profile img {
  width: 156px;
  height: 156px;
  border-radius: 156px;
  -o-object-fit: cover;
  object-fit: cover;
}

section.review .review-main .flex-box .left .profile .txt-box {
  flex: 1;
}

section.review .review-main .flex-box .left .profile .txt-box span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
}

section.review .review-main .flex-box .left .profile .txt-box p {
  line-height: 1.7;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

section.review .review-main .flex-box .left table {
  margin: 24px 0 24px;
}

section.review .review-main .flex-box .left table th,
section.review .review-main .flex-box .left table td {
  padding: 12px;
}

section.review .review-main .flex-box .left table thead th:nth-of-type(2),
section.review .review-main .flex-box .left table thead th:nth-of-type(3) {
  background: #848484;
}

section.review .review-main .flex-box .left table thead th:nth-of-type(4) {
  background: #C49B5A;
}

section.review .review-main .flex-box .left table tbody td {
  font-size: 24px;
  background: #fff;
}

section.review .review-main .flex-box .left table tbody td:last-child {
  color: #fff;
  background: #C49B5A;
}

section.review .review-main .flex-box .left small {
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
}

section.review .review-main .flex-box .right {
  width: calc(100% - 664px);
}

section.review .review-main .flex-box .right img {
  width: 100%;
}

@media (max-width: 1400px) {
  section.review .review-main {
    margin-top: 64px;
  }

  section.review .review-main h3 {
    font-size: 40px;
    margin-bottom: 24px;
  }

  section.review .review-main .flex-box .left {
    width: 520px;
  }

  section.review .review-main .flex-box .left .program {
    font-size: 18px;
  }

  section.review .review-main .flex-box .left .profile {
    gap: 24px;
  }

  section.review .review-main .flex-box .left .profile img {
    width: 136px;
    height: 136px;
  }

  section.review .review-main .flex-box .left .profile .txt-box p {
    font-size: 15px;
  }

  section.review .review-main .flex-box .left table {
    margin: 24px 0 24px;
  }

  section.review .review-main .flex-box .left table th,
  section.review .review-main .flex-box .left table td {
    padding: 12px;
  }

  section.review .review-main .flex-box .left table thead th {
    font-size: 18px;
  }

  section.review .review-main .flex-box .left table tbody th {
    font-size: 18px;
  }

  section.review .review-main .flex-box .left table tbody td {
    font-size: 20px;
  }

  section.review .review-main .flex-box .left table tbody td .font-32 {
    font-size: 28px;
  }

  section.review .review-main .flex-box .left small {
    font-size: 14px;
  }

  section.review .review-main .flex-box .right {
    width: calc(100% - 560px);
  }

  section.review .review-main .flex-box .right img {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  section.review .head span {
    font-size: 32px;
  }

  section.review .head h2 {
    font-size: 40px;
  }

  section.review .review-main h3 {
    font-size: 32px;
    margin-bottom: 40px;
  }

  section.review .review-main .flex-box {
    display: block;
  }

  section.review .review-main .flex-box .left {
    width: 100%;
  }

  section.review .review-main .flex-box .left .program {
    font-size: 20px;
  }

  section.review .review-main .flex-box .left table {
    width: 100%;
    min-width: auto;
    margin: 24px 0 16px;
  }

  section.review .review-main .flex-box .left small {
    display: block;
    font-size: 14px;
    text-align: center;
  }

  section.review .review-main .flex-box .right {
    width: 70%;
    margin: 40px auto 0;
  }
}

@media (max-width: 768px) {
  section.review .head span {
    font-size: 24px;
  }

  section.review .head h2 {
    font-size: 32px;
    line-height: 1.3;
  }

  section.review .review-main h3 {
    font-size: 32px;
    margin-bottom: 32px;
    line-height: 1.3;
  }

  section.review .review-main h3 br {
    display: block;
  }

  section.review .review-main .flex-box .left .program br {
    display: block;
  }

  section.review .review-main .flex-box .right {
    width: 80%;
  }
}

@media (max-width: 576px) {
  section.review .head span {
    font-size: 18px;
  }

  section.review .head h2 {
    font-size: 24px;
  }

  section.review .review-main h3 {
    font-size: 24px;
  }

  section.review .review-main .flex-box .left .program {
    font-size: 18px;
  }

  section.review .review-main .flex-box .left .profile {
    gap: 20px;
  }

  section.review .review-main .flex-box .left .profile img {
    width: 96px;
    height: 96px;
  }

  section.review .review-main .flex-box .right {
    width: 100%;
  }
}

section.campaign-contact-section {
  padding-top: 128px;
  text-align: center;
}

section.campaign-contact-section .hukidashi-box {
  position: relative;
  padding: 80px 48px 40px;
  background: #fff;
  margin-bottom: 64px;
  text-align: center;
}

section.campaign-contact-section .hukidashi-box .hukidashi {
  position: absolute;
  top: -40px;
  left: 40px;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 16px 64px;
  border-radius: 120px;
  color: #fff;
  font-size: 32px;
  font-weight: 600;
  background: #0CA3A9;
}

section.campaign-contact-section .hukidashi-box .hukidashi::before {
  position: absolute;
  content: "";
  width: 64px;
  height: 24px;
  left: calc(50% - 32px);
  bottom: -16px;
  background: #0CA3A9;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.campaign-contact-section .hukidashi-box .hukidashi br {
  display: none;
}

section.campaign-contact-section .hukidashi-box .flex-box {
  display: flex;
  text-align: left;
  justify-content: space-between;
  align-items: center;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt {
  width: 620px;
  border: #FF4111 2px solid;
  border-radius: 8px;
  padding: 24px 32px;
  background: #FFF4F2;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt div {
  display: flex;
  gap: 40px;
  margin-bottom: 24px;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt h3 {
  font-size: 32px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt ul {
  display: inline-block;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt ul li {
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 2px;
  padding-left: 36px;
  background: url(../img/icon-check-orange.png) no-repeat center left;
  text-align: left;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt small {
  display: block;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.3;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box {
  font-weight: bold;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-24 {
  font-size: 24px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-36 {
  font-size: 36px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-40 {
  font-size: 40px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-48 {
  font-size: 48px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-64 {
  font-size: 64px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-72 {
  font-size: 72px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box p {
  width: 100%;
  font-weight: bold;
  line-height: 1;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .tag {
  display: inline-block;
  font-size: 24px;
  border: #FF4111 2px solid;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  border-radius: 8px;
  padding: 8px 24px;
  background: #fff;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box strong {
  color: #FF4111;
}

section.campaign-contact-section .contact-title {
  position: relative;
  display: inline-block;
  font-size: 36px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding: 0 64px;
}

section.campaign-contact-section .contact-title::before,
section.campaign-contact-section .contact-title::after {
  position: absolute;
  top: 0;
}

section.campaign-contact-section .contact-title::before {
  content: "＼";
  left: 0;
}

section.campaign-contact-section .contact-title::after {
  content: "／";
  right: 0;
}

section.campaign-contact-section .contact-title br {
  display: none;
}

@media (max-width: 1400px) {
  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    width: 180px;
    height: 180px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: calc(100% - 220px);
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 72px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 48px;
  }

  section.campaign-contact-section .contact-title {
    font-size: 32px;
  }
}

@media (max-width: 1200px) {
  section.campaign-contact-section .hukidashi-box {
    padding: 64px 32px 48px;
  }

  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box {
    justify-content: center;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    width: 160px;
    height: 160px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: calc(100% - 200px);
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 56px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 36px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 48px;
  }

  section.campaign-contact-section .contact-title {
    font-size: 32px;
  }
}

@media (max-width: 1024px) {
  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 20px;
    padding: 12px 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    width: 136px;
    height: 136px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: calc(100% - 180px);
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 20px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 40px;
  }

  section.campaign-contact-section .contact-title {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  section.campaign-contact-section {
    padding-top: 96px;
  }

  section.campaign-contact-section .hukidashi-box {
    padding: 56px 32px 32px;
  }

  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 20px;
    padding: 12px 48px;
    line-height: 1.3;
  }

  section.campaign-contact-section .hukidashi-box .hukidashi br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    position: absolute;
    width: 136px;
    height: 136px;
    top: -136px;
    left: -24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: 100%;
    text-align: center;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 20px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p:last-child {
    line-height: 1.2;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 40px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt div {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt div h3 {
    margin-bottom: 16px;
    line-height: 1.3;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box {
    text-align: center;
  }

  section.campaign-contact-section .contact-title {
    font-size: 24px;
  }

  section.campaign-contact-section .contact-title br {
    display: block;
  }
}

@media (max-width: 576px) {
  section.campaign-contact-section {
    padding-top: 96px;
  }

  section.campaign-contact-section .hukidashi-box {
    padding: 40px 20px 20px;
    margin-bottom: 32px;
  }

  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 20px;
    padding: 12px 32px;
    line-height: 1.3;
    left: 16px;
    width: calc(100% - 32px);
  }

  section.campaign-contact-section .hukidashi-box .hukidashi br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box {
    gap: 24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    position: absolute;
    width: 120px;
    height: 120px;
    top: -146px;
    left: -12px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: 100%;
    text-align: center;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt {
    padding: 24px;
    width: 100%;
    line-height: 1.3;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt h3 {
    font-size: 24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt small {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-40 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-48 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-72 {
    font-size: 56px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box .tag {
    padding: 8px 16px;
    font-size: 16px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 20px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-40 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-48 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 40px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-72 {
    font-size: 56px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box small {
    font-size: 14px;
    text-align: left;
  }

  section.campaign-contact-section .contact-title {
    padding: 0 32px;
    font-size: 20px;
  }
}

section#news .head {
  text-align: center;
  margin-bottom: 40px;
}

section#news .head span {
  color: rgba(123, 204, 207, 0.2);
  font-size: 96px;
  font-weight: 600;
}

section#news .head h2 {
  font-size: 48px;
  margin: -80px 0 24px;
}

section#news .inner dl dt {
  margin: 0;
  padding: 1em;
  font-size: 20px;
  font-weight: 600;
  background: #0CA3A9;
  color: #FFFFFF;
}

section#news .inner dl dd {
  margin: 0;
  padding: 1em;
}

section#news .inner dl dd a {
  text-decoration: underline;
}

section.faq {
  background: #FAF5EF;
}

section.faq .head {
  text-align: center;
  margin-bottom: 40px;
}

section.faq .head span {
  color: rgba(123, 204, 207, 0.2);
  font-size: 96px;
  font-weight: 600;
}

section.faq .head h2 {
  font-size: 48px;
  margin: -80px 0 24px;
}

section.faq .faq-box .box {
  padding: 24px;
  margin-bottom: 24px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #7BCCCF;
  transition: all 0.3s ease;
}

section.faq .faq-box .box:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

section.faq .faq-box .box .question {
  cursor: pointer;
  position: relative;
  font-size: 20px;
  font-weight: 600;
  transition: all 0.3s ease;
}

section.faq .faq-box .box .question::before {
  content: "Q. ";
  color: #0CA3A9;
  font-size: 24px;
  font-weight: 700;
  margin-right: 8px;
}

section.faq .faq-box .box .question::after {
  content: "＋";
  position: absolute;
  top: 20px;
  right: 0;
  transform: translateY(-50%);
  color: #0CA3A9;
  font-size: 48px;
  font-weight: 700;
  transition: all 0.3s ease;
}

section.faq .faq-box .box .question.active::after {
  content: "－";
  font-weight: 400;
  transform: translateY(-50%);
}

section.faq .faq-box .box .answer {
  display: none;
  color: #1E293B;
  line-height: 1.8;
  font-size: 16px;
  font-weight: 600;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #7BCCCF;
}

section.faq .faq-box .box .answer::before {
  content: "A. ";
  color: #0CA3A9;
  font-size: 24px;
  font-weight: 700;
  margin-right: 8px;
}

section.faq .faq-box .box .answer.active {
  display: block;
  animation: fadeInDown 0.3s ease-out;
}

@media (max-width: 1200px) {
  section.faq .head span {
    font-size: 80px;
  }

  section.faq .head h2 {
    font-size: 40px;
  }
}

@media (max-width: 1024px) {
  section.faq .faq-box .box {
    padding: 24px;
    margin-bottom: 24px;
  }

  section.faq .faq-box .box .question {
    font-size: 20px;
    padding: 0 48px 0 40px;
  }

  section.faq .faq-box .box .question::before {
    position: absolute;
    top: -4px;
    left: 0;
  }

  section.faq .faq-box .box .question::after {
    top: 16px;
  }

  section.faq .faq-box .box .answer {
    position: relative;
    font-size: 16px;
    margin-top: 24px;
    padding: 16px 0 0 40px;
  }

  section.faq .faq-box .box .answer::before {
    position: absolute;
    top: 8px;
    left: 0;
  }

  section.faq .faq-box .box .answer.active {
    display: block;
    animation: fadeInDown 0.3s ease-out;
  }
}

@media (max-width: 768px) {
  section.faq .head span {
    font-size: 64px;
  }

  section.faq .head h2 {
    font-size: 32px;
    margin: -48px 0 24px;
  }

  section.faq .faq-box .box {
    padding: 24px;
    margin-bottom: 20px;
  }

  section.faq .faq-box .box .question {
    font-size: 18px;
    padding: 0 48px 0 40px;
  }

  section.faq .faq-box .box .question::after {
    font-size: 40px;
    top: 14px;
  }

  section.faq .faq-box .box .answer {
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  section.faq .head {
    margin: 0 0 24px;
  }

  section.faq .head span {
    font-size: 64px;
  }

  section.faq .head h2 {
    font-size: 28px;
    margin: -48px 0 0;
  }
}

section .google-map {
  width: 100%;
  height: 380px;
}

section.bottom-access {
  padding-top: 0;
}

section.bottom-access .head {
  text-align: center;
  margin: 48px 0 40px;
}

section.bottom-access .head span {
  color: rgba(123, 204, 207, 0.2);
  font-size: 96px;
  font-weight: 600;
}

section.bottom-access .head h2 {
  font-size: 48px;
  margin: -80px 0 24px;
}

@media (max-width: 1200px) {
  section.bottom-access .head span {
    font-size: 80px;
  }

  section.bottom-access .head h2 {
    font-size: 40px;
  }
}

@media (max-width: 768px) {
  section.bottom-access .head span {
    font-size: 64px;
  }

  section.bottom-access .head h2 {
    font-size: 32px;
    margin: -48px 0 24px;
  }
}

@media (max-width: 576px) {
  section.bottom-access .head {
    margin: 40px 0 24px;
  }

  section.bottom-access .head span {
    font-size: 64px;
  }

  section.bottom-access .head h2 {
    font-size: 28px;
    margin: -48px 0 0;
  }
}

footer {
  background: #1E293B;
  text-align: center;
  padding: 24px;
}

footer small {
  color: #fff;
  font-size: 16px;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

@keyframes scrollText {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes scrollTextLoop {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes scrollTextContinuous {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

.font-56 {
  font-size: 56px;
}

@media (max-width: 768px) {
  .font-56 {
    font-size: 48px;
  }
}

.font-48 {
  font-size: 48px;
}

@media (max-width: 768px) {
  .font-48 {
    font-size: 40px;
  }
}

.font-36 {
  font-size: 36px;
}

@media (max-width: 768px) {
  .font-36 {
    font-size: 30px;
  }
}

.font-32 {
  font-size: 32px;
}

@media (max-width: 768px) {
  .font-32 {
    font-size: 24px;
  }
}

.font-28 {
  font-size: 28px;
}

@media (max-width: 768px) {
  .font-28 {
    font-size: 24px;
  }
}

.font-24 {
  font-size: 24px;
}

@media (max-width: 768px) {
  .font-24 {
    font-size: 20px;
  }
}

.font-20 {
  font-size: 20px;
}

.font-16 {
  font-size: 16px;
}

.blue {
  color: #0CA3A9 !important;
}

@media (max-width: 1400px) {
  .inner {
    max-width: 1200px;
  }
}

@media (max-width: 1200px) {
  .inner {
    max-width: auto;
    width: 100%;
    padding: 0 40px;
  }
}

@media (max-width: 1024px) {
  body {
    padding-top: 96px;
  }
}

@media (max-width: 768px) {
  body {
    padding-top: 80px;
  }

  section {
    padding: 48px 0;
  }
}

@media (max-width: 576px) {
  .inner {
    padding: 0 16px;
  }

  section {
    padding: 40px 0;
  }
}

@media print {
  header {
    position: static;
    box-shadow: none;
  }

  body {
    padding-top: 0;
  }

  .btn,
  .hamburger {
    display: none;
  }

  * {
    animation: none !important;
    transition: none !important;
  }
}

.campaign-contact-section {
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("../img/bg-pick.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

@media (max-width: 768px) {
  .campaign-contact-section {
    background-attachment: scroll;
  }
}

.cta-box {
  display: none;
}

@media (max-width: 768px) {
  footer {
    margin-bottom: 92px;
  }

  .cta-box {
    position: fixed;
    display: flex;
    width: 100%;
    left: 0;
    bottom: 0;
    z-index: 999;
    gap: 2px;
    padding: 16px;
    background: #fff;
  }

  .cta-box .btn {
    display: block;
    height: 92px;
    padding: 8px;
    border-radius: 0;
    line-height: 1.3;
  }

  .cta-box .btn img {
    display: block;
    height: 32px;
    margin: 0 auto;
  }

  .cta-box .btn-cta {
    text-align: center;
    justify-content: center;
    margin: 0 auto;
  }
}

.ctbtn1 {
  width: 86.1111111111vw;
  max-width: 500px;
  display: block;
  text-align: center;
  background-color: #36BABF;
  color: #FFFFFF;
  border-radius: 50vmax;
  margin: 1em auto 0 auto;
  padding: 0.4em;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

.ctbtn1 strong {
  display: block;
  font-size: 1.4em;
}

.ctbtn1 span {
  font-weight: bold;
  font-size: 1.2em;
}

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





/* アスアンドメイ改良*/


:root {
  --bg: #ffffff;
  --accent: #0CA3A9;
  /* VICTORYのティールブルー */
  --sub-color: #C49B5A;
  /* VICTORYのゴールド */
  --text: #1E293B;
  --text-light: #7a7a7a;
  --border-color: #e8e1da;
  --transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  --serif: "Shippori Mincho", serif;
  --jp-serif: "Shippori Mincho", serif;
  --sans: "Noto Sans JP", sans-serif;

}

/* --- Header --- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1200;
  padding: 13px 5%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: var(--transition);
}

.header.scrolled {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  padding: 10px 5%;
  border-bottom: 1px solid var(--border-color);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

.header.menu-open {
  background: transparent;
  border-bottom: none;
  box-shadow: none;
}

.header__logo {
  z-index: 1100;
}

.logo-img {
  height: clamp(40px, 6vw, 60px);
  /* VICTORYのロゴに合わせて少し大きめに */
  width: auto;
  object-fit: contain;
}

/* --- PC用 横並びナビ --- */
.pc-nav {
  display: none;
}

@media (min-width: 900px) {
  .pc-nav {
    display: flex;
    gap: 30px;
    align-items: center;
  }

  .pc-nav a {
    text-decoration: none;
    color: var(--text);
    font-family: var(--jp-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    transition: 0.3s;
    position: relative;
  }

  .pc-nav a:hover {
    color: var(--accent);
  }

  .pc-nav a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 1.5px;
    background: var(--accent);
    transition: 0.3s;
  }

  .pc-nav a:hover::after {
    width: 100%;
  }
}

/* --- スマホ用 ハンバーガーボタン --- */
.burger {
  width: 44px;
  height: 44px;
  padding: 12px 7px;
  position: relative;
  cursor: pointer;
  z-index: 1300;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 0.3s;
  background: var(--accent);
  border-radius: 4px;
}

.burger span {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: 0.3s;
}

.header.menu-open .burger {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (min-width: 900px) {
  .burger {
    display: none;
  }
}

/* --- ドロワーメニュー (左からスライド＋右上に×) --- */
.nav-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1600;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s ease;
  backdrop-filter: blur(3px);
}

.nav-backdrop.open {
  opacity: 1;
  visibility: visible;
}

.nav-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 50px;
  height: 50px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1610;
  opacity: 0;
  transform: translateY(-10px);
  transition: 0.4s ease 0.2s;
}

.nav-backdrop.open .nav-close {
  opacity: 1;
  transform: translateY(0);
}

.nav-close::before,
.nav-close::after {
  content: '';
  position: absolute;
  width: 28px;
  height: 2px;
  background: #fff;
}

.nav-close::before {
  transform: rotate(45deg);
}

.nav-close::after {
  transform: rotate(-45deg);
}

.mobile-nav {
  position: fixed;
  top: 0;
  left: -100%;
  width: 75%;
  max-width: 320px;
  height: 100vh;
  background: var(--bg);
  box-shadow: 10px 0 30px rgba(0, 0, 0, 0.1);
  z-index: 1700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 40px;
  gap: 20px;
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  overflow-y: auto;
}

.mobile-nav.open {
  left: 0;
}

.mobile-nav a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding-bottom: 15px;
  transition: 0.3s;
}

.mobile-nav a:last-child {
  border-bottom: none;
}

.mobile-nav a:hover .nav-ja {
  color: var(--accent);
  padding-left: 5px;
}

.nav-en {
  font-family: var(--serif);
  font-size: 11px;
  color: var(--sub-color);
  /* ゴールドに変更 */
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.nav-ja {
  font-family: var(--jp-serif);
  font-size: 16px;
  color: var(--text);
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: 0.3s;
}


/* 円形ベネフィットパーツのスタイル（サイトのトーンに合わせた色味） */
/* FV全体と余白 */
/* =========================================
   極限オシャレ FV（エレガントスタイル）
========================================= */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

@media (max-width: 768px) {
  html {
    font-size: 14px;
  }
}

body {
  font-family: "Shippori Mincho", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  line-height: 1.7;
  color: #1E293B;
  background-color: #fff;
  overflow-x: hidden;
}

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

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
}

ul,
ol {
  list-style: none;
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

@media (max-width: 768px) {
  .inner {
    padding: 0 24px;
  }
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  z-index: 1000;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

header .header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  height: 96px;
}

header .logo-link {
  display: inline-block;
  padding: 12px 16px;
}

header .logo-link img {
  width: 69px;
  height: auto;
}

@media (max-width: 768px) {
  header .logo-link img {
    width: 57px;
  }
}

header .tel-box .sp {
  display: none;
}

header .hamburger {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: none;
  width: 96px;
  height: 96px;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 35px 24px;
  background: #36BABF;
}

header .hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  transition: all 0.3s ease;
}

header .hamburger span:not(.txt) {
  transform-origin: center;
}

header .hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(9px, 9px);
}

header .hamburger.active span:nth-child(2) {
  opacity: 0;
}

header .hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(8px, -8px);
}

header .gnav {
  display: flex;
}

header .gnav ul {
  display: flex;
  align-items: center;
  gap: 1px;
}

header .gnav ul.nav-meun {
  gap: 32px;
  padding: 0 32px 0 0;
}

header .gnav .link-txt a {
  font-weight: 500;
  font-size: 0.95rem;
  position: relative;
  padding: 8px 0;
  font-family: "Noto Sans JP", sans-serif;
}

header .gnav .link-txt a:hover {
  color: #0CA3A9;
}

header .gnav .link-txt a:hover::after {
  width: 100%;
}

header .gnav .link-txt a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #0CA3A9;
  transition: all 0.3s ease;
}

@media (max-width: 1400px) {
  header .gnav {
    position: fixed;
    display: block;
    top: 100%;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(15px);
    transform: translateY(-10px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }

  header .gnav.active {
    transform: translateY(0);
    opacity: 1;
    height: 100dvh;
    visibility: visible;
    padding: 40px 104px;
  }

  header .gnav.active ul.nav-meun {
    display: block;
    margin-bottom: 32px;
  }

  header .gnav.active ul.nav-meun li {
    margin-bottom: 16px;
  }

  header .gnav.active ul.nav-meun li a {
    font-size: 20px;
  }

  header .gnav.active ul.cta-menu-box li {
    width: calc((100% - 4px) / 3);
  }

  header .gnav.active ul.cta-menu-box li a {
    width: 100%;
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  header .gnav.active {
    padding: 40px;
  }

  header .gnav.active ul.cta-menu-box {
    display: block;
  }

  header .gnav.active ul.cta-menu-box li {
    width: 100%;
    margin-top: 2px;
  }

  header .gnav.active ul.cta-menu-box li a br {
    display: none;
  }
}

header .btn-txt .btn {
  width: 136px;
  height: 96px;
  font-size: 0.8rem;
  line-height: 1.3;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: "Noto Sans JP", sans-serif;
}

header .btn-txt .btn .btn-icon {
  width: 32px;
  height: 32px;
}

@media (max-width: 1400px) {
  header .header-container {
    flex-wrap: wrap;
  }

  header .hamburger {
    display: flex;
  }
}

@media (max-width: 576px) {
  header .header-container {
    height: 80px;
  }

  header .tel-box {
    position: absolute;
    top: 0;
    right: 82px;
  }

  header .tel-box .pc {
    display: none;
  }

  header .tel-box .sp {
    display: block;
    width: 80px;
    height: 80px;
  }

  header .hamburger {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    padding: 27px 22px;
  }
}

.btn-box {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 40px 0 0;
}

.btn-box .btn img {
  margin-right: 12px;
}

@media (max-width: 1400px) {
  .btn-box {
    gap: 20px;
  }
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 340px;
  height: 72px;
  padding: 0;
  border-radius: 36px;
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.btn .font-16 {
  font-size: 16px;
  margin-bottom: 4px;
}

.btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s ease;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.btn:hover::before {
  width: 800px;
  height: 800px;
}

.btn .ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  transform: scale(0);
  animation: ripple-animation 0.6s linear;
  pointer-events: none;
  color: #FFFFFF;
}

@media (max-width: 1400px) {
  .btn {
    width: calc((100% - 40px) / 3);
    font-size: 16px;
  }
}

@media (max-width: 1024px) {
  .btn {
    width: 320px;
  }
}

@media (max-width: 768px) {
  .btn {
    width: 100%;
  }
}

.btn-contact {
  background: linear-gradient(90deg, #C49B5A, #807946);
}

.btn-line {
  background: linear-gradient(90deg, #00CF2E, #7BCCCF);
}

.btn-instagram {
  background: linear-gradient(-135deg, #F9ED32 0%, #EE2A7B 36%, #D22A8A 44%, #8B2AB2 100%);
}

.btn-googlemap {
  width: 240px;
  height: 64px;
  background: transparent;
  border: 1px solid #0CA3A9;
  color: #0CA3A9;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.9rem;
}

.btn-googlemap:hover {
  background: rgba(12, 163, 169, 0.1);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(12, 163, 169, 0.2);
}

.mv-head {
  width: 100%;
  padding: 16px 24px;
  background: #F9ED32;
}

@media (max-width: 768px) {
  .mv-head {
    padding: 12px 24px;
  }
}

.mv-head p {
  font-size: 18px;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 !important;
  text-align: center;
}

.mv-head p strong {
  color: #FF4111;
  font-weight: bold;
  text-decoration: underline;
}

.mv-head p br.sp {
  display: none;
}

@media (max-width: 768px) {
  .mv-head p {
    font-size: 14px;
  }

  .mv-head p br.sp {
    display: block;
  }
}

.mv {
  margin-top: 96px;
  text-align: center;
}

.mv img {
  margin: 0 auto;
}

.mv img.sp {
  display: none;
}

@media (max-width: 768px) {
  .mv img.sp {
    display: block;
  }
}

@media (max-width: 768px) {
  .mv img.pc {
    display: none;
  }
}

.mv .inner {
  position: relative;
  z-index: 2;
  animation: fadeInUp 1s ease-out;
  padding-top: 32px;
  padding-bottom: 156px;
}

.mv .inner img {
  width: 700px;
  height: auto;
}

.mv .cath-txt {
  font-size: 40px;
  font-weight: 600;
}

.mv .blue-box span {
  display: inline-block;
  color: #0CA3A9;
  font-size: 24px;
  padding: 2px 24px;
  border-radius: 64px;
  border: #0CA3A9 1px solid;
  background: #fff;
  margin-bottom: 8px;
}

.mv .blue-box p {
  color: #0CA3A9;
  font-size: 36px;
  font-weight: 500;
}

.mv h1 {
  font-size: 48px;
  font-weight: 500;
  margin: 24px 0 40px;
  line-height: 1.3;
}

.mv h1 strong {
  color: #fff;
  font-weight: 500;
  background: #36BABF;
  padding: 0 4px;
  line-height: 1.5;
}

.mv h1 strong .font-72 {
  font-size: 72px;
}

.mv .font-32 {
  font-weight: 500;
  font-size: 32px;
}

.mv .font-36 {
  font-weight: 500;
  font-size: 36px;
}

.mv .font-40 {
  color: #0CA3A9;
  font-weight: 500;
  font-size: 40px;
}

.mv .font-40 span.line {
  background: #fff;
}

.mv .font-48 {
  font-weight: 500;
  font-size: 48px;
}

.mv .font-56 {
  font-weight: 500;
  font-size: 56px;
}

.mv .font-64 {
  font-weight: 500;
  font-size: 64px;
}

.mv .blue {
  color: #0CA3A9;
}

.mv .gold {
  color: #AB7B1A;
}

.mv .mv-final-message {
  font-size: 56px;
  font-weight: 500;
  line-height: 1.2;
}

.mv .mv-final-message br {
  display: none;
}

.mv .mv-final-message .sp {
  display: none;
}

.mv .move-txt {
  position: absolute;
  bottom: 100px;
  left: 0;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}

.mv .move-txt .loop-wrapper {
  display: flex;
}

.mv .move-txt .loop-content {
  display: inline-block;
  font-size: 96px;
  font-weight: 700;
  color: rgba(123, 204, 207, 0.2);
  white-space: nowrap;
  animation: scrollText 60s linear infinite;
}

@media (max-width: 1400px) {
  .mv .mv-final-message {
    font-size: 48px;
  }
}

@media (max-width: 1024px) {
  .mv {
    margin-top: 0;
  }

  .mv h1 {
    font-size: 40px;
  }

  .mv h1 .font-56 {
    font-size: 48px;
  }

  .mv h1 strong .font-72 {
    font-size: 64px;
  }

  .mv .mv-final-message {
    font-size: 36px;
  }

  .mv .font-32 {
    font-size: 24px;
  }

  .mv .font-36 {
    font-size: 28px;
  }

  .mv .font-40 {
    font-size: 32px;
  }

  .mv .font-48 {
    font-size: 36px;
  }

  .mv .font-56 {
    font-size: 40px;
  }

  .mv .font-64 {
    font-size: 48px;
  }
}

@media (max-width: 768px) {
  .mv {
    margin-top: 16px;
  }

  .mv .mv-final-message {
    font-size: 36px;
    line-height: 1.3;
  }

  .mv .mv-final-message br {
    display: block;
  }

  .mv .medal-box {
    margin: 32px 0;
    gap: 16px;
  }

  .mv .medal-box img {
    width: 160px;
    height: 160px;
  }

  .mv .move-txt {
    bottom: 48px;
  }
}

@media (max-width: 576px) {
  .mv {
    margin-top: 0;
  }

  .mv .inner {
    padding: 0 12px;
  }

  .mv .blue-box span {
    font-size: 16px;
    padding: 2px 16px;
  }

  .mv .blue-box p {
    font-size: 24px;
  }

  .mv .cath-txt {
    font-size: 20px;
  }

  .mv h1 {
    font-size: 20px;
    margin: 16px 0 24px;
  }

  .mv h1 .font-56 {
    font-size: 24px;
  }

  .mv h1 strong {
    font-size: 30px;
    padding: 0 4px;
  }

  .mv h1 strong .font-72 {
    font-size: 40px;
  }

  .mv .font-32 {
    font-size: 18px;
  }

  .mv .font-36 {
    font-size: 17px;
  }

  .mv .font-40 {
    font-size: 20px;
  }

  .mv .font-48 {
    font-size: 24px;
  }

  .mv .font-56 {
    font-size: 32px;
  }

  .mv .font-64 {
    font-size: 32px;
  }

  .mv p {
    margin-bottom: 24px;
  }

  .mv .mv-final-message {
    font-size: 28px;
  }

  .mv .mv-final-message .sp {
    display: block;
  }

  .mv .medal-box img {
    width: 120px;
    height: 120px;
  }

  .mv .move-txt {
    bottom: 80px;
  }

  .mv .move-txt .loop-content {
    font-size: 64px;
  }
}

.medal-box {
  display: grid;
  grid-template-columns: repeat(4, 220px);
  justify-content: center;
  gap: 16px;
  margin: 96px 0 0;
  position: relative;
}

@media (max-width: 1080px) {
  .medal-box {
    grid-template-columns: repeat(4, 160px);
  }
}

@media (max-width: 768px) {
  .medal-box {
    grid-template-columns: repeat(2, 160px);
    margin: 96px 0 48px;
  }
}

.medal-box img {
  width: 220px;
  height: 220px;
  animation: float 3s ease-in-out infinite;
}

.medal-box img:nth-child(2) {
  animation-delay: 0.5s;
}

.medal-box img:nth-child(3) {
  animation-delay: 1s;
}

@media (max-width: 1080px) {
  .medal-box img {
    width: 160px;
    height: 160px;
  }
}

.campaign-box {
  margin-top: 64px;
}

.campaign-box img.sp {
  display: none;
}

@media (max-width: 768px) {
  .campaign-box img.sp {
    display: block;
  }
}

@media (max-width: 768px) {
  .campaign-box img.pc {
    display: none;
  }
}

.campaign-box .box01 {
  position: relative;
  padding: 0 0 300px;
  margin-top: -188px;
}

@media (max-width: 768px) {
  .campaign-box .box01 {
    padding: 0 0 272px;
    margin-top: -136px;
  }
}

.campaign-box .box01 .inner {
  position: relative;
  z-index: 2;
}

.campaign-box .box01::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  clip-path: polygon(0 15%, 100% 0, 100% 100%, 0% 100%);
  background: #E5F5F5;
  z-index: 1;
}

@media (max-width: 768px) {
  .campaign-box .box01::before {
    clip-path: polygon(0 5%, 100% 0, 100% 100%, 0% 100%);
  }
}

.campaign-box .box02 {
  position: relative;
  padding: 156px 0 240px;
  margin-top: -372px;
}

.campaign-box .box02 .inner {
  position: relative;
  z-index: 2;
}

.campaign-box .box02::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%);
  background: #B4E7E9;
  z-index: 1;
}

@media (max-width: 768px) {
  .campaign-box .box02::before {
    clip-path: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);
  }
}

.campaign-box .box03 {
  position: relative;
  padding: 0 0 80px;
  margin-top: -240px;
  overflow: hidden;
}

@media (max-width: 480px) {
  .campaign-box .box03 {
    padding: 0 0 48px;
  }
}

.campaign-box .box03 .inner {
  position: relative;
  z-index: 2;
}

.campaign-box .box03::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 200px;
  clip-path: polygon(0 15%, 100% 0, 100% 100%, 0% 100%);
  background: #0CA3A9;
  z-index: 1;
}

@media (max-width: 768px) {
  .campaign-box .box03::before {
    clip-path: polygon(0 5%, 100% 0, 100% 100%, 0% 100%);
  }
}

.campaign-box .flex-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 72px;
}

@media (max-width: 1080px) {
  .campaign-box .flex-box {
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .campaign-box .flex-box {
    grid-template-columns: repeat(1, 1fr);
    gap: 48px;
  }

  .campaign-box .flex-box img {
    width: 100%;
    height: auto;
  }
}

.campaign-box .cta-camp-box {
  position: relative;
  z-index: 2;
  text-align: center;
}

.campaign-box .cta-camp-box br.sp {
  display: none;
}

@media (max-width: 960px) {
  .campaign-box .cta-camp-box br.sp {
    display: block;
  }
}

.campaign-box .cta-camp-box p {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

.campaign-box .cta-camp-box .font-24 {
  font-size: 24px;
}

@media (max-width: 768px) {
  .campaign-box .cta-camp-box .font-24 {
    font-size: 18px;
  }
}

.campaign-box .cta-camp-box .font-32 {
  font-size: 32px;
}

@media (max-width: 480px) {
  .campaign-box .cta-camp-box .font-32 {
    font-size: 24px;
  }
}

.campaign-box .cta-camp-box .font-48 {
  font-size: 48px;
}

@media (max-width: 480px) {
  .campaign-box .cta-camp-box .font-48 {
    font-size: 36px;
  }
}

.campaign-box .cta-camp-box small {
  display: block;
  color: #fff;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  margin-top: 12px;
}

.campaign-box .cta-camp-box .btn {
  border: #fff 1px solid;
}

.campaign-box .camp-time-box {
  text-align: center;
  margin-top: 64px;
}

@media (max-width: 768px) {
  .campaign-box .camp-time-box img {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 480px) {
  .campaign-box .camp-time-box {
    margin-top: 48px;
  }
}

.pick-box {
  text-align: center;
}

.pick-box p {
  font-size: 40px;
  font-weight: bold;
}

@media (max-width: 960px) {
  .pick-box p {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .pick-box p {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .pick-box p {
    font-size: 16px;
  }
}

.pick-box .font-18 {
  font-size: 18px;
}

@media (max-width: 480px) {
  .pick-box .font-18 {
    font-size: 16px;
    text-align: left;
  }
}

.pick-box .font-32 {
  font-size: 32px;
}

@media (max-width: 960px) {
  .pick-box .font-32 {
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-32 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-32 {
    font-size: 16px;
  }
}

.pick-box .font-36 {
  font-size: 36px;
}

@media (max-width: 960px) {
  .pick-box .font-36 {
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-36 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-36 {
    font-size: 16px;
  }
}

.pick-box .font-40 {
  font-size: 40px;
}

@media (max-width: 960px) {
  .pick-box .font-40 {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-40 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-40 {
    font-size: 16px;
  }
}

.pick-box .font-48 {
  font-size: 48px;
}

@media (max-width: 960px) {
  .pick-box .font-48 {
    font-size: 36px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-48 {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-48 {
    font-size: 18px;
  }
}

.pick-box .font-64 {
  font-size: 64px;
}

@media (max-width: 960px) {
  .pick-box .font-64 {
    font-size: 48px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-64 {
    font-size: 32px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-64 {
    font-size: 24px;
  }
}

.pick-box .font-72 {
  font-size: 72px;
}

@media (max-width: 960px) {
  .pick-box .font-72 {
    font-size: 56px;
  }
}

@media (max-width: 768px) {
  .pick-box .font-72 {
    font-size: 40px;
  }
}

@media (max-width: 480px) {
  .pick-box .font-72 {
    font-size: 32px;
  }
}

.pick-box .number {
  font-family: "Roboto", sans-serif;
}

.pick-box .center {
  text-align: center;
  margin: 64px 0 40px;
}

@media (max-width: 768px) {
  .pick-box .center {
    margin: 32px 0 40px;
    font-size: 24px !important;
  }
}

@media (max-width: 768px) {
  .pick-box.sp-box .box {
    padding-top: 48px;
  }
}

.pick-box .box {
  position: relative;
  padding: 72px 32px 32px;
  background: #fff;
}

@media (max-width: 768px) {
  .pick-box .box {
    padding: 32px 24px 24px;
  }
}

@media (max-width: 480px) {
  .pick-box .box {
    padding: 24px 16px 16px;
  }
}

.pick-box .box h3 {
  position: absolute;
  top: -24px;
  left: calc(50% - 280px);
  display: flex;
  justify-content: center;
  width: 580px;
  color: #fff;
  font-size: 32px;
  background: #FF4111;
  text-align: center;
  padding: 12px 24px;
  line-height: 1.2;
}

@media (max-width: 960px) {
  .pick-box .box h3 {
    width: 80%;
    left: 10%;
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .pick-box .box h3 {
    padding: 8px 24px;
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .pick-box .box h3 {
    font-size: 18px;
  }
}

.pick-box .box div {
  position: relative;
}

.pick-box .box div img.hukishi-img {
  position: absolute;
  top: -96px;
  left: 0;
  z-index: 2;
}

@media (max-width: 960px) {
  .pick-box .box div img.hukishi-img {
    width: 136px;
    height: auto;
    top: -112px;
    left: -64px;
  }
}

@media (max-width: 768px) {
  .pick-box .box div img.hukishi-img {
    width: 96px;
    top: -88px;
    left: -40px;
  }
}

@media (max-width: 480px) {
  .pick-box .box div img.hukishi-img {
    width: 72px;
    top: -72px;
    left: -24px;
  }
}

.pick-box .box div p {
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

.pick-box .box div p strong {
  color: #FF4111;
  font-weight: 700;
}

.pick-box .box div p .font-24 {
  display: block;
  line-height: 1.2;
  margin-top: 16px;
}

@media (max-width: 480px) {
  .pick-box .box div p .font-24 {
    font-size: 16px;
  }
}

.pick-box .box div small {
  display: block;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.2;
  margin-top: 16px;
}

@media (max-width: 768px) {
  .pick-box .box div small {
    font-size: 12px;
  }
}

.plan-reco-box {
  padding: 32px;
  border: #fff 1px solid;
  margin-top: 64px;
}

.plan-reco-box.sp {
  display: none;
}

@media (max-width: 480px) {
  .plan-reco-box {
    padding: 24px;
    margin-top: 40px;
  }

  .plan-reco-box.pc {
    display: none;
  }

  .plan-reco-box.sp {
    display: block;
  }
}

.plan-reco-box p,
.plan-reco-box span {
  color: #fff;
  font-weight: bold;
  font-family: "Roboto", sans-serif;
}

.plan-reco-box p br,
.plan-reco-box span br {
  display: none;
}

@media (max-width: 480px) {

  .plan-reco-box p br,
  .plan-reco-box span br {
    display: block;
  }
}

.plan-reco-box .font-24 {
  font-size: 24px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-24 {
    font-size: 18px;
  }
}

.plan-reco-box .font-26 {
  font-size: 26px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-26 {
    font-size: 20px;
  }
}

.plan-reco-box .font-32 {
  font-size: 32px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-32 {
    font-size: 24px;
  }
}

.plan-reco-box .font-40 {
  font-size: 40px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-40 {
    font-size: 32px;
  }
}

.plan-reco-box .font-72 {
  font-size: 72px;
}

@media (max-width: 860px) {
  .plan-reco-box .font-72 {
    font-size: 64px;
  }
}

@media (max-width: 480px) {
  .plan-reco-box .font-14 {
    font-size: 14px;
  }

  .plan-reco-box .font-15 {
    font-size: 15px;
  }

  .plan-reco-box .font-20 {
    font-size: 20px;
  }

  .plan-reco-box .font-24 {
    font-size: 24px;
  }

  .plan-reco-box .font-26 {
    font-size: 26px;
  }

  .plan-reco-box .font-32 {
    font-size: 32px;
  }

  .plan-reco-box .font-40 {
    font-size: 40px;
  }

  .plan-reco-box .left {
    text-align: left;
  }

  .plan-reco-box .right {
    text-align: right;
  }
}

.price {
  background: #E5F5F5;
  padding-top: 0;
}

.price br.sp {
  display: none;
}

@media (max-width: 960px) {
  .price br.sp {
    display: block;
  }
}

.price img.sp {
  display: none;
}

@media (max-width: 768px) {
  .price img.sp {
    display: block;
  }
}

@media (max-width: 768px) {
  .price img.pc {
    display: none;
  }
}

.price>h2 {
  position: relative;
  display: block;
  color: #fff;
  font-size: 48px;
  font-family: "Noto Sans JP", sans-serif;
  background: #0CA3A9;
  padding: 32px;
  text-align: center;
}

@media (max-width: 768px) {
  .price>h2 {
    padding: 20px;
    font-size: 32px;
  }
}

@media (max-width: 480px) {
  .price>h2 {
    padding: 12px;
    font-size: 24px;
  }
}

.price>h2::before {
  position: absolute;
  content: "";
  width: 64px;
  height: 24px;
  left: calc(50% - 32px);
  bottom: -20px;
  background: #0CA3A9;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

@media (max-width: 480px) {
  .price>h2::before {
    bottom: -12px;
  }
}

.price .pick-box {
  margin-top: 80px;
}

@media (max-width: 768px) {
  .price .pick-box {
    margin-top: 56px;
  }
}

@media (max-width: 480px) {
  .price .pick-box {
    margin-top: 48px;
  }
}

.price .pick-box.blue-box .box h3 {
  background: #0CA3A9;
  z-index: 1;
}

.price .pick-box.link-box .box {
  padding: 0;
}

.price .pick-box.link-box a:hover {
  opacity: 0.6;
}

.price .pick-box p {
  line-height: 1.3;
}

.price .pick-box .font-72 {
  line-height: 1;
}

.price .pick-box .strong-box {
  width: auto;
  color: #FF4111;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  border: #FF4111 1px solid;
  padding: 8px 32px;
  margin: 32px auto;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .price .pick-box .strong-box {
    font-size: 20px;
    padding: 8px 24px;
  }
}

@media (max-width: 480px) {
  .price .pick-box .strong-box {
    font-size: 16px;
    margin: 20px auto;
  }
}

.price .cta-camp-box {
  margin: 80px 0;
  text-align: center;
}

@media (max-width: 768px) {
  .price .cta-camp-box {
    margin: 48px 0;
  }
}

@media (max-width: 480px) {
  .price .cta-camp-box {
    margin: 32px 0;
  }
}

.price .cta-camp-box h3 {
  position: relative;
  display: inline-block;
  font-size: 32px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.3;
}

.price .cta-camp-box h3 br {
  display: none;
}

@media (max-width: 480px) {
  .price .cta-camp-box h3 br {
    display: block;
  }
}

.price .cta-camp-box h3::before,
.price .cta-camp-box h3::after {
  position: absolute;
  width: 40px;
  height: 40px;
  color: #1E293B;
  font-size: 32px;
  bottom: 0;
}

.price .cta-camp-box h3::before {
  content: "＼ ";
  left: -40px;
}

.price .cta-camp-box h3::after {
  content: " ／";
  right: -40px;
}

@media (max-width: 640px) {
  .price .cta-camp-box h3 {
    font-size: 24px;
  }
}

.price .cta-camp-box small {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
}

.price .price-txt-box {
  border: #0CA3A9 1px solid;
  text-align: center;
  padding: 48px;
  background: #fff;
  margin-top: 32px;
}

@media (max-width: 768px) {
  .price .price-txt-box {
    padding: 32px;
    margin-top: 24px;
  }
}

@media (max-width: 480px) {
  .price .price-txt-box {
    padding: 24px;
    margin-top: 16px;
  }
}

.price .price-txt-box h3 {
  color: #0CA3A9;
  font-size: 32px;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 24px;
}

@media (max-width: 768px) {
  .price .price-txt-box h3 {
    font-size: 24px;
    margin-bottom: 16px;
  }
}

@media (max-width: 480px) {
  .price .price-txt-box h3 {
    font-size: 20px;
    margin-bottom: 12px;
  }
}

.price .price-txt-box p {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 768px) {
  .price .price-txt-box p {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .price .price-txt-box p {
    font-size: 15px;
    text-align: left;
  }
}

.campaign-cta-box {
  position: relative;
  display: flex;
  justify-content: center;
  border: #0CA3A9 1px solid;
  padding: 64px 64px 48px;
  background: url(../img/bg-campaign-cta-box.png) top right/cover no-repeat;
  text-align: center;
  margin-top: 64px;
  font-weight: bold;
}

.campaign-cta-box .sp {
  display: none;
}

.campaign-cta-box>img {
  position: absolute;
  top: -24px;
  left: 24px;
}

.campaign-cta-box .title-cach {
  display: block;
  font-size: 24px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}

.campaign-cta-box h2 {
  color: #0CA3A9;
  font-size: 40px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

.campaign-cta-box .flex-box {
  display: flex;
  justify-content: center;
  gap: 64px;
}

.campaign-cta-box .flex-box .important-txt {
  width: 408px;
  border: #FF4111 2px solid;
  border-radius: 8px;
  padding: 24px 32px;
  background: #fff;
}

.campaign-cta-box .flex-box .important-txt h3 {
  font-size: 24px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #D9D9D9;
  padding-bottom: 16px;
  margin-bottom: 20px;
}

.campaign-cta-box .flex-box .important-txt ul {
  display: inline-block;
}

.campaign-cta-box .flex-box .important-txt ul li {
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 8px;
  padding-left: 36px;
  background: url(../img/icon-check-orange.png) no-repeat center left;
  text-align: left;
}

.campaign-cta-box .flex-box .important-txt small {
  display: block;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.3;
}

.campaign-cta-box .flex-box .btn-cta-box .font-24 {
  font-size: 24px;
}

.campaign-cta-box .flex-box .btn-cta-box .btn-cta {
  margin: 16px auto;
}

.campaign-cta-box .price-box {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 24px;
  margin-bottom: 32px;
  font-weight: bold;
}

.campaign-cta-box .price-box .font-24 {
  font-size: 24px;
  font-weight: 600;
}

.campaign-cta-box .price-box .font-36 {
  font-size: 36px;
  font-weight: 600;
}

.campaign-cta-box .price-box .font-64 {
  font-size: 64px;
  font-weight: 600;
}

.campaign-cta-box .price-box p {
  font-weight: bold;
}

.campaign-cta-box .price-box .tag {
  font-size: 24px;
  border: #FF4111 2px solid;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  border-radius: 8px;
  padding: 8px 24px;
  background: #fff;
}

.campaign-cta-box .price-box strong {
  color: #FF4111;
}

.campaign-cta-box small {
  font-size: 14px;
  font-weight: 600;
}

.campaign-cta-box .br-sp {
  display: none;
}

@media (max-width: 1080px) {
  .campaign-cta-box {
    justify-content: center;
    padding: 48px;
    background: url(../img/bg-campaign-cta-sp.png) top/cover no-repeat;
    margin-top: 64px;
  }

  .campaign-cta-box::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
    z-index: 1;
  }

  .campaign-cta-box .pc {
    display: none;
  }

  .campaign-cta-box .sp {
    display: block;
  }

  .campaign-cta-box>img {
    top: -24px;
    left: auto;
    right: -16px;
  }

  .campaign-cta-box .txt-box {
    position: relative;
    width: 100%;
    margin-top: 320px;
    z-index: 2;
  }

  .campaign-cta-box .flex-box {
    display: block;
  }

  .campaign-cta-box .flex-box .important-txt {
    margin: 0 auto 24px;
  }
}

@media (max-width: 768px) {
  .campaign-cta-box {
    padding: 32px;
  }

  .campaign-cta-box .title-cach {
    font-size: 20px;
  }

  .campaign-cta-box h2 {
    font-size: 32px;
  }

  .campaign-cta-box .important-txt {
    font-size: 20px;
    padding: 12px 20px;
    margin: 16px 0 12px;
  }

  .campaign-cta-box .price-box .font-24 {
    font-size: 18px;
  }

  .campaign-cta-box .price-box .font-36 {
    font-size: 28px;
  }

  .campaign-cta-box .price-box .font-64 {
    font-size: 48px;
  }
}

@media (max-width: 560px) {
  .campaign-cta-box {
    padding: 24px 20px;
  }

  .campaign-cta-box .br-sp {
    display: block;
  }

  .campaign-cta-box .flex-box .important-txt {
    width: 100%;
    padding: 20px;
  }

  .campaign-cta-box .flex-box .important-txt h3 {
    font-size: 20px;
  }

  .campaign-cta-box .flex-box .important-txt ul li {
    font-size: 18px;
  }

  .campaign-cta-box .flex-box .important-txt small {
    font-size: 12px;
  }

  .campaign-cta-box .flex-box .btn-cta-box .font-24 {
    font-size: 16px;
  }

  .campaign-cta-box .txt-box {
    margin-top: 200px;
  }

  .campaign-cta-box .price-box {
    gap: 12px;
  }

  .campaign-cta-box .price-box .tag {
    font-size: 16px;
    padding: 8px 16px;
  }

  .campaign-cta-box .price-box img {
    width: 20px;
    height: auto;
    transform: rotate(90deg);
  }

  .campaign-cta-box .price-box .font-24 {
    font-size: 14px;
  }

  .campaign-cta-box .price-box .font-36 {
    font-size: 24px;
  }

  .campaign-cta-box .price-box .font-64 {
    font-size: 40px;
  }

  .campaign-cta-box .title-cach {
    font-size: 20px;
  }

  .campaign-cta-box h2 {
    font-size: 30px;
    line-height: 1.3;
  }

  .campaign-cta-box .important-txt {
    font-size: 18px;
    line-height: 1.3;
  }

  .campaign-cta-box .important-txt br {
    display: block;
  }

  .campaign-cta-box small {
    display: block;
  }
}

.fixed-cta-box {
  text-align: center;
  margin: 64px 0 0;
  padding: 64px 0;
  background: url(../img/bg-fixed-cta-box.jpg) center/cover no-repeat;
}

.fixed-cta-box p {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

.fixed-cta-box .font-22 {
  font-size: 22px;
}

.fixed-cta-box .font-24 {
  font-size: 24px;
}

.fixed-cta-box .font-32 {
  font-size: 32px;
}

.fixed-cta-box .font-32 br {
  display: none;
}

.fixed-cta-box .btn-cta {
  margin: 32px auto 20px;
}

.fixed-cta-box small {
  display: block;
  color: #fff;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 500;
  margin-top: 24px;
}

@media (max-width: 768px) {
  .fixed-cta-box {
    background: url(../img/bg-fixed-cta-box-sp.jpg) center/cover no-repeat;
  }
}

@media (max-width: 560px) {
  .fixed-cta-box {
    margin: 48px 0 0;
    padding: 48px 0;
  }

  .fixed-cta-box p br {
    display: block;
  }

  .fixed-cta-box p span {
    font-size: 48px;
    font-family: "Roboto", sans-serif;
  }

  .fixed-cta-box .font-22 {
    font-size: 18px;
  }

  .fixed-cta-box .font-24 {
    font-size: 18px;
  }

  .fixed-cta-box .font-32 {
    line-height: 1.2;
    font-size: 36px;
    margin-top: 12px;
  }

  .fixed-cta-box .font-32 br {
    display: block;
  }

  .fixed-cta-box small {
    font-size: 14px;
    margin-top: 20px;
  }
}

.btn-cta {
  position: relative;
  display: flex;
  align-items: center;
  width: 396px;
  height: 80px;
  line-height: 1.3;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  margin: 32px auto 0;
  padding: 0 72px 0 48px;
  background: linear-gradient(90deg, #FF4111, #FF9500);
  border-radius: 80px;
}

.btn-cta::after {
  position: absolute;
  content: "";
  width: 48px;
  height: 48px;
  top: 16px;
  right: 16px;
  border-radius: 48px;
  background: #fff url(../img/icon-btn-cta.png) no-repeat center;
}

@media (max-width: 480px) {
  .btn-cta {
    width: 100%;
    height: 70px;
    font-size: 18px;
    padding: 0;
    margin: 16px auto 0;
  }

  .btn-cta::after {
    display: none;
  }
}

.btn-cta.btn-cta-line {
  background: #00CF2E;
}

.btn-cta.btn-cta-line::after {
  background: #fff url(../img/icon-btn-cta-line.png) no-repeat center;
}

.cta-btn-box {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin: 32px auto;
}

.cta-btn-box .btn-cta {
  margin: 0;
}

@media (max-width: 960px) {
  .cta-btn-box {
    display: block;
    margin: 24px auto;
  }

  .cta-btn-box .btn-cta {
    margin: 16px auto;
  }
}

header .btn-cta {
  position: relative;
  display: flex;
  align-items: center;
  width: 360px;
  height: 72px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 24px 0 0;
  padding: 0 72px 0 36px;
  background: linear-gradient(90deg, #FF4111, #FF9500);
  border-radius: 80px;
}

header .btn-cta::after {
  position: absolute;
  content: "";
  width: 48px;
  height: 48px;
  top: 12px;
  right: 12px;
  border-radius: 48px;
  background: #fff url(../img/icon-btn-cta.png) no-repeat center;
}

@media (max-width: 480px) {
  header .btn-cta {
    width: 100%;
    padding: 0;
    margin: 0;
  }
}

header .btn-cta-line {
  background: #00CF2E;
}

header .btn-cta-line::after {
  background: #fff url(../img/icon-btn-cta-line.png) no-repeat center;
}

section {
  position: relative;
  padding: 80px 0;
}

section .move-txt {
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 100%;
  font-size: 96px;
  font-weight: 700;
  color: rgba(102, 102, 102, 0.3);
  white-space: nowrap;
  pointer-events: none;
  overflow: hidden;
}

section .move-txt .loop-content {
  animation: scrollText 100s linear infinite;
}

@media (max-width: 768px) {
  section .move-txt {
    font-size: 64px;
  }
}

section .flex-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px;
}

section.top-access,
section.bottom-access {
  padding: 64px 0;
}

section.top-access .studio-title,
section.bottom-access .studio-title {
  color: #0CA3A9;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 500;
  border-bottom: 1px solid #D9D9D9;
  padding-bottom: 12px;
  margin-bottom: 16px;
}

section.top-access img.img-box,
section.bottom-access img.img-box {
  width: 500px;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

section.top-access .studio-info,
section.bottom-access .studio-info {
  margin-bottom: 32px;
}

section.top-access .studio-info li,
section.bottom-access .studio-info li {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

section.top-access .studio-info li span,
section.bottom-access .studio-info li span {
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  font-size: 14px;
  background-color: #0CA3A9;
  min-width: 88px;
  height: 25px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  margin-right: 15px;
}

section.top-access .studio-info li p,
section.bottom-access .studio-info li p {
  margin: 0;
  color: #1E293B;
  font-size: 16px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
}

section.top-access .studio-info li p br,
section.bottom-access .studio-info li p br {
  display: none;
}

section.top-access .btn-googlemap,
section.bottom-access .btn-googlemap {
  color: #0CA3A9;
  font-size: 16px;
  border: 1px solid #0CA3A9;
  background: transparent;
  width: 240px;
  height: 64px;
  border-radius: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

section.top-access .btn-googlemap .btn-icon,
section.bottom-access .btn-googlemap .btn-icon {
  width: 24px;
  height: 24px;
}

section.top-access .btn-googlemap:hover,
section.bottom-access .btn-googlemap:hover {
  background: #0CA3A9;
  color: white;
}

section.top-access .btn-googlemap:hover .btn-icon,
section.bottom-access .btn-googlemap:hover .btn-icon {
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}

@media (max-width: 1400px) {

  section.top-access img.img-box,
  section.bottom-access img.img-box {
    width: 480px;
    height: 300px;
  }

  section.top-access .txt-box,
  section.bottom-access .txt-box {
    width: calc(100% - 520px);
  }
}

@media (max-width: 1200px) {

  section.top-access img.img-box,
  section.bottom-access img.img-box {
    width: 400px;
    height: 320px;
  }

  section.top-access .txt-box,
  section.bottom-access .txt-box {
    width: calc(100% - 440px);
  }
}

@media (max-width: 768px) {

  section.top-access img.img-box,
  section.bottom-access img.img-box {
    width: 100%;
  }

  section.top-access .txt-box,
  section.bottom-access .txt-box {
    width: 100%;
  }

  section.top-access .txt-box .studio-title,
  section.bottom-access .txt-box .studio-title {
    text-align: center;
  }

  section.top-access .txt-box .studio-info li,
  section.bottom-access .txt-box .studio-info li {
    margin-bottom: 2px;
    background: #0CA3A9;
  }

  section.top-access .txt-box .studio-info li span,
  section.bottom-access .txt-box .studio-info li span {
    display: inline-table;
    padding: 12px;
    border-radius: 0;
    margin-right: 0;
    text-align: center;
  }

  section.top-access .txt-box .studio-info li p,
  section.bottom-access .txt-box .studio-info li p {
    width: -webkit-fill-available;
    padding: 12px;
    background: #E5F5F5;
  }

  section.top-access .txt-box .btn-googlemap,
  section.bottom-access .txt-box .btn-googlemap {
    width: 100%;
  }
}

@media (max-width: 576px) {

  section.top-access,
  section.bottom-access {
    padding: 0 0 48px;
  }

  section.top-access .inner,
  section.bottom-access .inner {
    padding: 0;
  }

  section.top-access .btn-box,
  section.bottom-access .btn-box {
    padding: 0 16px;
  }

  section.top-access img.img-box,
  section.bottom-access img.img-box {
    height: 256px;
  }

  section.top-access .txt-box,
  section.bottom-access .txt-box {
    padding: 0 16px;
  }

  section.top-access .txt-box .studio-title,
  section.bottom-access .txt-box .studio-title {
    font-size: 20px;
  }

  section.top-access .txt-box .studio-info li p br,
  section.bottom-access .txt-box .studio-info li p br {
    display: block;
  }

  section.top-access .txt-box .btn-googlemap,
  section.bottom-access .txt-box .btn-googlemap {
    position: relative;
  }

  section.top-access .txt-box .btn-googlemap .btn-icon,
  section.bottom-access .txt-box .btn-googlemap .btn-icon {
    position: absolute;
    top: 20px;
    right: 24px;
  }
}

section .users-head,
section .comparison-head,
section .support-head {
  position: relative;
  background: linear-gradient(90deg, #C49B5A, #807946);
  text-align: center;
  padding: 48px 0;
}

section .users-head::before,
section .comparison-head::before,
section .support-head::before {
  position: absolute;
  content: "";
  width: 64px;
  height: 24px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #A28A50;
  left: calc(50% - 32px);
  bottom: -16px;
  z-index: 1;
}

section .users-head .inner,
section .comparison-head .inner,
section .support-head .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

section .users-head .inner span,
section .comparison-head .inner span,
section .support-head .inner span {
  color: white;
  font-size: 24px;
  font-weight: 500;
  margin: 0;
}

section .users-head .inner span br,
section .comparison-head .inner span br,
section .support-head .inner span br {
  display: none;
}

section .users-head .inner span .md,
section .comparison-head .inner span .md,
section .support-head .inner span .md {
  display: none;
}

section .users-head .inner h2,
section .comparison-head .inner h2,
section .support-head .inner h2 {
  color: white;
  font-size: 32px;
  font-weight: 500;
}

section .users-head .inner h2 br,
section .comparison-head .inner h2 br,
section .support-head .inner h2 br {
  display: none;
}

section .users-head .inner h2 .md,
section .comparison-head .inner h2 .md,
section .support-head .inner h2 .md {
  display: none;
}

@media (max-width: 1200px) {

  section .users-head .inner h2 br,
  section .comparison-head .inner h2 br,
  section .support-head .inner h2 br {
    display: block;
  }

  section .users-head .inner h2 .md,
  section .comparison-head .inner h2 .md,
  section .support-head .inner h2 .md {
    display: none;
  }
}

@media (max-width: 1024px) {

  section .users-head .inner span,
  section .comparison-head .inner span,
  section .support-head .inner span {
    font-size: 20px;
  }

  section .users-head .inner h2,
  section .comparison-head .inner h2,
  section .support-head .inner h2 {
    font-size: 28px;
  }
}

@media (max-width: 768px) {

  section .users-head,
  section .comparison-head,
  section .support-head {
    padding: 32px 0;
  }

  section .users-head .inner span,
  section .comparison-head .inner span,
  section .support-head .inner span {
    font-size: 18px;
  }

  section .users-head .inner span .md,
  section .comparison-head .inner span .md,
  section .support-head .inner span .md {
    display: block;
  }

  section .users-head .inner h2,
  section .comparison-head .inner h2,
  section .support-head .inner h2 {
    font-size: 24px;
  }

  section .users-head .inner h2 .md,
  section .comparison-head .inner h2 .md,
  section .support-head .inner h2 .md {
    display: block;
  }
}

section.comparison {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, rgb(255, 255, 255) 60%, #7BCCCF), url(../img/bg-comparison.jpg) no-repeat top center;
  background-size: 100%;
}

section.comparison h2 {
  font-size: 56px;
  font-weight: 600;
}

section.comparison h2 .blue {
  color: #0CA3A9;
}

section.comparison h2 .font-48 {
  font-size: 48px;
}

section.comparison p {
  font-size: 32px;
  font-weight: 500;
}

section.comparison p strong {
  color: #fff;
  font-weight: 500;
  background: #0CA3A9;
}

section.comparison .inner>h3 {
  color: #fff;
  font-size: 36px;
  text-align: center;
}

section.comparison .sp {
  display: none;
}

section.comparison .comparison-box {
  display: flex;
  justify-content: center;
  margin: 80px 0;
  overflow: auto;
}

section.comparison .comparison-box .box {
  width: 556px;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

section.comparison .comparison-box .box.blue {
  border: #0CA3A9 4px solid;
}

section.comparison .comparison-box .box.blue h3 {
  background: linear-gradient(90deg, #0CA3A9, #7BCCCF);
}

section.comparison .comparison-box .box.blue h3::before {
  background: #44B8BC;
}

section.comparison .comparison-box .box.blue ul li {
  border-bottom: 1px solid #7BCCCF;
}

section.comparison .comparison-box .box.blue ul li span {
  color: #0CA3A9;
}

section.comparison .comparison-box .box.blue ul li p {
  font-weight: bold;
}

section.comparison .comparison-box .box.gray h3 {
  background: #848484;
}

section.comparison .comparison-box .box.gray h3::before {
  background: #848484;
}

section.comparison .comparison-box .box.gray ul li {
  border-bottom: 1px solid #BBB6B5;
}

section.comparison .comparison-box .box.gray ul li span {
  color: #848484;
}

section.comparison .comparison-box .box h3 {
  position: relative;
  color: #fff;
  font-size: 32px;
  text-align: center;
  padding: 20px 32px;
}

section.comparison .comparison-box .box h3::before {
  position: absolute;
  content: "";
  width: 64px;
  height: 24px;
  left: calc(50% - 32px);
  bottom: -16px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.comparison .comparison-box .box ul {
  padding: 32px 48px;
}

section.comparison .comparison-box .box ul li {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-bottom: 24px;
  margin-bottom: 24px;
}

section.comparison .comparison-box .box ul li span {
  font-size: 18px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

section.comparison .comparison-box .box ul li p {
  line-height: 1.3;
  color: #1E293B;
  font-size: 24px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}

section.comparison .comparison-box .box ul li:last-child {
  border: 0;
  padding: 0;
  margin: 0;
}

@media (max-width: 1200px) {
  section.comparison .comparison-box .box {
    width: calc((100% - 48px) / 2);
  }

  section.comparison .comparison-box .box ul {
    padding: 24px;
  }

  section.comparison .comparison-box .box ul li span {
    font-size: 16px;
  }

  section.comparison .comparison-box .box ul li p {
    font-size: 20px;
  }
}

@media (max-width: 768px) {
  section.comparison {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, rgb(255, 255, 255) 60%, #7BCCCF), url(../img/bg-comparison.jpg) no-repeat top right -64px;
    background-size: 120%;
  }

  section.comparison h2 {
    font-size: 40px;
  }

  section.comparison h2 .font-48 {
    font-size: 36px;
  }

  section.comparison p {
    font-size: 20px;
  }

  section.comparison .inner>h3 {
    font-size: 24px;
  }

  section.comparison .comparison-box {
    margin: 40px 0;
  }

  section.comparison .sp {
    display: block;
  }

  section.comparison .pc {
    display: none;
  }
}

@media (max-width: 576px) {
  section.comparison h2 {
    font-size: 32px;
  }

  section.comparison h2 .font-48 {
    font-size: 28px;
  }

  section.comparison p {
    font-size: 18px;
  }

  section.comparison .inner>h3 {
    font-size: 20px;
  }

  section.comparison .comparison-box img {
    width: 100%;
    height: auto;
  }
}

section.appeal {
  background: url(../img/bg-appeal.jpg) no-repeat top left;
  background-size: auto 100%;
}

section.appeal .inner {
  display: flex;
  justify-content: end;
}

section.appeal .inner div {
  width: 640px;
}

section.appeal h2 {
  font-size: 48px;
  margin-bottom: 40px;
}

section.appeal h2 br {
  display: none;
}

section.appeal ul li {
  font-size: 24px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #7BCCCF;
  padding-left: 32px;
  padding-bottom: 24px;
  margin-bottom: 24px;
  background: url(../img/icon-check.png) no-repeat top 11px left;
}

section.appeal ul li:last-child {
  border: 0;
  margin: 0;
  padding-bottom: 0;
}

@media (max-width: 1280px) {
  section.appeal {
    position: relative;
    background: url(../img/bg-appeal-sp.jpg) no-repeat top left;
    background-size: 80% auto;
    padding-top: 320px;
  }

  section.appeal::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 20%, rgb(255, 255, 255));
    z-index: 1;
  }

  section.appeal .inner {
    position: relative;
    z-index: 2;
  }

  section.appeal .inner div {
    width: 100%;
  }
}

@media (max-width: 768px) {
  section.appeal h2 {
    font-size: 40px;
  }

  section.appeal ul li {
    font-size: 20px;
  }
}

@media (max-width: 564px) {
  section.appeal {
    background: url(../img/bg-appeal-sp.jpg) no-repeat top left;
    background-size: 100% auto;
    padding-top: 180px;
  }

  section.appeal h2 {
    font-size: 32px;
    line-height: 1.3;
    margin-bottom: 24px;
  }

  section.appeal h2 br {
    display: block;
  }

  section.appeal ul li {
    font-size: 18px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    background: url(../img/icon-check.png) no-repeat top 7px left;
  }
}

section.empathy {
  background: url(../img/bg-empathy.jpg) no-repeat top right;
  background-size: auto 100%;
}

section.empathy h2 {
  font-size: 40px;
  margin-bottom: 24px;
}

section.empathy h2 br.sp {
  display: none;
}

section.empathy p {
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
}

section.empathy p strong {
  color: #0CA3A9;
}

@media (max-width: 1280px) {
  section.empathy {
    position: relative;
    background: url(../img/bg-empathy-sp.jpg) no-repeat top right;
    background-size: 50% auto;
  }
}

@media (max-width: 768px) {
  section.empathy h2 {
    font-size: 32px;
  }
}

@media (max-width: 564px) {
  section.empathy {
    background: url(../img/bg-empathy-sp.jpg) no-repeat top right;
    background-size: 60% auto;
  }

  section.empathy h2 {
    font-size: 24px;
  }

  section.empathy h2 br.sp {
    display: block;
  }

  section.empathy p {
    font-size: 16px;
  }
}

section.plan2 {
  background: #E5F5F5;
}

section.plan2 .head-title {
  margin-bottom: 48px;
  text-align: center;
}

section.plan2 .head-title>span {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  padding: 12px 32px;
  border-radius: 80px;
  border: 64px;
  background: #44B8BC;
  margin: 0 auto;
}

section.plan2 .head-title>span::before {
  position: absolute;
  content: "";
  width: 56px;
  height: 24px;
  left: calc(50% - 28px);
  bottom: -12px;
  background: #44B8BC;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.plan2 .head-title h2 {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 24px 0 16px;
}

section.plan2 .head-title h2::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  background: #0CA3A9;
  z-index: 1;
}

section.plan2 .head-title h2 span {
  position: relative;
  display: inline-block;
  font-size: 40px;
  padding: 0 40px;
  z-index: 2;
  background: #E5F5F5;
}

section.plan2 .head-title p {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
}

section.plan2 .plan-column-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

section.plan2 .plan-column-box .box {
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

section.plan2 .plan-column-box .box:nth-child(1) .head {
  background: #fde430;
}

section.plan2 .plan-column-box .box:nth-child(1) .head::before {
  background: #fde430;
}

section.plan2 .plan-column-box .box:nth-child(1) .head h3,
section.plan2 .plan-column-box .box:nth-child(1) .head span {
  color: #000000;
}

section.plan2 .plan-column-box .box:nth-child(2) .head {
  background: #0CA3A9;
}

section.plan2 .plan-column-box .box:nth-child(2) .head::before {
  background: #0CA3A9;
}

section.plan2 .plan-column-box .box:nth-child(3) .head {
  background: #C49B5A;
}

section.plan2 .plan-column-box .box:nth-child(3) .head::before {
  background: #C49B5A;
}

section.plan2 .plan-column-box .box:nth-child(4) .head {
  background: #1E293B;
}

section.plan2 .plan-column-box .box:nth-child(4) .head::before {
  background: #1E293B;
}

section.plan2 .plan-column-box .box .head {
  position: relative;
  text-align: center;
  padding: 32px 0 32px 0;
}

section.plan2 .plan-column-box .box .head::before {
  position: absolute;
  content: "";
  width: 56px;
  height: 24px;
  left: calc(50% - 28px);
  bottom: -12px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.plan2 .plan-column-box .box .head span {
  color: #fff;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
}

section.plan2 .plan-column-box .box .head h3 {
  color: #fff;
  font-size: 32px;
  font-family: "Noto Sans JP", sans-serif;
}

section.plan2 .plan-column-box .box ul {
  padding: 32px;
}

section.plan2 .plan-column-box .box ul li {
  text-align: center;
  border-bottom: #D9D9D9 1px solid;
  padding-bottom: 24px;
  margin-bottom: 24px;
}

section.plan2 .plan-column-box .box ul li:last-child {
  border: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

section.plan2 .plan-column-box .box ul li span {
  color: #0CA3A9;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

section.plan2 .plan-column-box .box ul li span.fs16 {
  display: block;
  font-size: 16px;
  color: inherit;
  line-height: inherit;
  margin: 1em 0 1em 0;
}

section.plan2 .plan-column-box .box ul li p {
  font-size: 36px;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
}

section.plan2 .plan-column-box .box ul li p .font-28 {
  display: inline-block;
  color: #1E293B;
  font-size: 28px;
}

section.plan2 .plan-column-box .box ul li p .font-20 {
  display: inline-block;
  color: #1E293B;
  font-size: 20px;
}

section.plan2 small {
  display: block;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  margin-top: 40px;
}

section.plan2 .mt-80 {
  margin-top: 80px;
}

section.plan2 .price-txt-box {
  padding: 48px;
  border: #0CA3A9 1px solid;
  margin-top: 96px;
  text-align: center;
  background: #fff;
}

section.plan2 .price-txt-box h2 {
  color: #0CA3A9;
  font-size: 32px;
  margin-bottom: 12px;
}

section.plan2 .price-txt-box p {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 768px) {
  section.plan2 .price-txt-box {
    margin-top: 40px;
    padding: 24px;
  }

  section.plan2 .price-txt-box h2 {
    font-size: 20px;
  }

  section.plan2 .price-txt-box p {
    font-size: 16px;
  }
}

@media (max-width: 1080px) {
  section.plan2 .plan-column-box {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  section.plan2 .head-title {
    margin-bottom: 32px;
  }

  section.plan2 .head-title>span {
    font-size: 18px;
    padding: 8px 24px;
  }

  section.plan2 .head-title h2 span {
    font-size: 32px;
  }

  section.plan2 .head-title h2::before {
    display: none;
  }

  section.plan2 .head-title p {
    font-size: 16px;
  }

  section.plan2 .plan-column-box {
    grid-template-columns: repeat(1, 1fr);
  }

  section.plan2 .plan-column-box .box .head {
    padding: 20px;
  }

  section.plan2 .plan-column-box .box .head span {
    font-size: 16px;
  }

  section.plan2 .plan-column-box .box .head h3 {
    font-size: 24px;
  }

  section.plan2 .plan-column-box .box ul {
    padding: 20px;
  }

  section.plan2 .plan-column-box .box ul li {
    padding-bottom: 16px;
    margin-bottom: 16px;
  }

  section.plan2 small {
    margin-top: 24px;
  }
}

section.dither {
  text-align: center;
  background: url(../img/bg-dither.jpg) no-repeat top center;
  background-size: 100% auto;
}

section.dither h2 {
  color: #0CA3A9;
  font-size: 48px;
  margin-bottom: 24px;
}

section.dither p {
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

section.dither .btn-cta {
  margin: 40px auto 24px;
}

section.dither small {
  font-size: 16px;
  font-weight: 500;
}

section.dither .box {
  display: flex;
  padding: 56px;
  background: #fff;
  border: #0CA3A9 1px solid;
  margin-top: 64px;
}

section.dither .box .left-box {
  position: relative;
  border-right: 1px solid #D9D9D9;
  margin-right: 56px;
  padding-right: 56px;
}

section.dither .box .left-box .hukidashi {
  position: absolute;
  width: calc(100% - 64px);
  top: -104px;
  left: 0;
  color: #fff;
  font-size: 32px;
  border-radius: 80px;
  padding: 8px 32px;
  background: #0CA3A9;
}

section.dither .box .left-box .hukidashi::before {
  position: absolute;
  content: "";
  width: 56px;
  height: 24px;
  left: calc(50% - 28px);
  bottom: -12px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #0CA3A9;
}

section.dither .box .left-box h3 {
  font-size: 30px;
}

section.dither .box .left-box p {
  font-size: 52px;
  font-weight: bold;
  font-family: "Shippori Mincho", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
}

section.dither .box .left-box p span {
  font-family: "Shippori Mincho", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
}

section.dither .box .left-box p .font-36 {
  font-size: 36px;
}

section.dither .box .left-box p .font-24 {
  font-size: 24px;
}

section.dither .box .right-box {
  text-align: left;
}

section.dither .box .right-box h3 {
  font-size: 32px;
  margin-bottom: 24px;
}

section.dither .box .right-box p {
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
}

section.dither .box small {
  font-size: 14px;
  font-weight: 600;
  margin-top: 16px;
}

@media (max-width: 1080px) {
  section.dither {
    padding-top: 400px;
    background: url(../img/bg-dither-sp.jpg) no-repeat top center;
    background-size: 100% auto;
  }

  section.dither h2 {
    font-size: 40px;
    margin-bottom: 8px;
  }

  section.dither p {
    font-size: 20px;
  }

  section.dither .btn-cta {
    margin: 24px auto 24px;
  }

  section.dither .box {
    display: block;
    padding: 48px;
    margin-top: 64px;
  }

  section.dither .box .left-box {
    border: 0;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #D9D9D9;
    margin-bottom: 32px;
    padding-bottom: 32px;
  }

  section.dither .box .left-box .hukidashi {
    width: 100%;
    top: -80px;
    font-size: 24px;
    padding: 8px 32px;
  }

  section.dither .box .left-box h3 {
    font-size: 30px;
  }

  section.dither .box .left-box p {
    font-size: 60px;
  }

  section.dither .box .left-box p .font-36 {
    font-size: 36px;
  }

  section.dither .box .left-box p .font-24 {
    font-size: 24px;
  }

  section.dither .box .right-box {
    text-align: center;
  }

  section.dither .box .right-box h3 {
    font-size: 36px;
    margin-bottom: 24px;
  }

  section.dither .box .right-box p {
    font-size: 20px;
  }

  section.dither .box small {
    font-size: 14px;
    margin-top: 16px;
  }
}

@media (max-width: 768px) {
  section.dither {
    padding-top: 200px;
  }

  section.dither p {
    font-size: 16px;
  }

  section.dither .box {
    display: block;
    padding: 40px 20px 20px;
    margin-top: 64px;
  }

  section.dither .box .left-box {
    border: 0;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #D9D9D9;
    margin-bottom: 32px;
    padding-bottom: 32px;
  }

  section.dither .box .left-box .hukidashi {
    top: -64px;
    font-size: 20px;
    padding: 8px 32px;
  }

  section.dither .box .left-box h3 {
    font-size: 20px;
  }

  section.dither .box .left-box p {
    font-size: 40px;
  }

  section.dither .box .left-box p .font-36 {
    font-size: 24px;
  }

  section.dither .box .left-box p .font-24 {
    font-size: 18px;
  }

  section.dither .box .right-box h3 {
    font-size: 24px;
    margin-bottom: 12px;
  }

  section.dither .box .right-box p {
    font-size: 16px;
  }

  section.dither .box small {
    font-size: 14px;
    margin-top: 12px;
  }
}

section.users-question {
  padding: 0;
}

section.users-question .bg-gradation {
  background: linear-gradient(to bottom, white 50%, #36BABF 100%) !important;
  padding: 40px 0 80px;
  position: relative;
}

section.users-question .bg-gradation .move-txt {
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  pointer-events: none;
}

section.users-question .bg-gradation .move-txt .loop-wrapper {
  display: flex;
}

section.users-question .bg-gradation .move-txt .loop-content {
  display: inline-block;
  font-size: 96px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.2);
  white-space: nowrap;
  animation: scrollText 60s linear infinite;
}

section.users-question .users-box {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 40px;
}

section.users-question .users-box li {
  width: calc((100% - 72px) / 4);
}

section.users-question .users-box li span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 32px);
  margin: 0 auto;
  background: linear-gradient(-90deg, #7BCCCF, #0CA3A9);
  color: white;
  height: 48px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  border-radius: 40px;
  z-index: 2;
  text-align: center;
}

section.users-question .users-box li span br {
  display: none;
}

section.users-question .users-box li img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
  margin-top: -24px;
}

section.users-question .users-box li p {
  padding: 20px 0 0;
  text-align: center;
  color: #1E293B;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
}

section.users-question .support-box {
  text-align: center;
  padding: 40px;
  background: white;
  border: 1px solid #7BCCCF;
}

section.users-question .support-box p {
  font-size: 32px;
  font-weight: 500;
  color: #1E293B;
}

section.users-question .support-box p strong {
  font-weight: 500;
}

section.users-question .support-box p .blue {
  color: #0066CC;
}

section.users-question .support-box p br {
  display: none;
}

@media (max-width: 1400px) {
  section.users-question .users-box li span {
    width: calc(100% - 24px);
    font-size: 16px;
  }

  section.users-question .users-box li p {
    font-size: 16px;
  }
}

@media (max-width: 1200px) {
  section.users-question .users-box li {
    width: calc((100% - 24px) / 2);
  }

  section.users-question .users-box li span {
    width: calc(100% - 32px);
    font-size: 18px;
  }

  section.users-question .users-box li p {
    font-size: 18px;
  }
}

@media (max-width: 768px) {
  section.users-question .support-box p br {
    display: block;
  }
}

@media (max-width: 576px) {
  section.users-question .users-box {
    gap: 16px;
  }

  section.users-question .users-box li {
    width: calc((100% - 24px) / 2);
  }

  section.users-question .users-box li span {
    width: 100%;
    height: auto;
    padding: 12px;
    font-size: 18px;
    border-radius: 8px 8px 0 0;
    line-height: 1.2;
  }

  section.users-question .users-box li span br {
    display: block;
  }

  section.users-question .users-box li img {
    height: 160px;
    margin-top: 0;
  }

  section.users-question .users-box li p {
    font-size: 14px;
    padding: 12px 0 16px;
  }

  section.users-question .support-box {
    padding: 24px;
  }

  section.users-question .support-box p {
    font-size: 24px;
  }
}

section.section-six-features {
  padding: 0;
}

section.section-six-features .bg-green {
  position: relative;
}

section.section-six-features .bg-green::after {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(250% - 80px);
  top: 80px;
  left: 0;
  background: #7BCCCF;
}

@media (max-width: 768px) {
  section.section-six-features .bg-green::after {
    height: calc(260% - 80px);
  }
}

@media (max-width: 576px) {
  section.section-six-features .bg-green::after {
    top: -168px;
    height: 260% !important;
  }
}

section.section-six-features>.head {
  background: url("../img/bg-six-contents.jpg") center/cover no-repeat;
  background-attachment: fixed;
  height: 380px;
  color: #fff;
  padding-top: 94px;
  text-align: center;
}

section.section-six-features>.head h2 {
  font-size: 48px;
  font-weight: 500;
}

section.section-six-features>.head h2 br {
  display: none;
}

section.section-six-features>.head span {
  font-size: 24px;
}

section.section-six-features .question-box {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: -104px;
  padding: 48px 48px 200px;
  background: #fff;
}

section.section-six-features .question-box::before {
  position: absolute;
  content: "";
  width: 112px;
  height: 40px;
  left: calc(50% - 56px);
  bottom: 120px;
  background: #7BCCCF;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.section-six-features .question-box .box {
  width: calc((100% - 48px) / 3);
}

section.section-six-features .question-box .box img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
}

section.section-six-features .question-box .box h3 {
  padding: 24px 0 16px;
  font-size: 24px;
  font-weight: 700;
  color: #1E293B;
  line-height: 1.5;
}

section.section-six-features .question-box .box p {
  padding: 0 0 25px;
  color: #1E293B;
  line-height: 1.7;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .features-box>.box {
  position: relative;
  margin-bottom: 64px;
}

section.section-six-features .features-box>.box::before {
  content: "";
  position: absolute;
  width: 720px;
  height: 480px;
  top: -64px;
  left: calc((100% - 1440px) / 2);
  z-index: 1;
}

section.section-six-features .features-box>.box .inner {
  display: flex;
  justify-content: flex-end;
}

section.section-six-features .features-box>.box:nth-of-type(2),
section.section-six-features .features-box>.box:nth-of-type(5),
section.section-six-features .features-box>.box:nth-of-type(7) {
  justify-content: flex-start;
  margin-bottom: 196px;
}

section.section-six-features .features-box>.box:nth-of-type(2)::before,
section.section-six-features .features-box>.box:nth-of-type(5)::before,
section.section-six-features .features-box>.box:nth-of-type(7)::before {
  top: auto;
  left: auto;
  right: calc((100% - 1440px) / 2);
  bottom: -64px;
}

section.section-six-features .features-box>.box:nth-of-type(2) .inner,
section.section-six-features .features-box>.box:nth-of-type(5) .inner,
section.section-six-features .features-box>.box:nth-of-type(7) .inner {
  display: flex;
  justify-content: flex-start;
}

section.section-six-features .features-box>.box:nth-of-type(1)::before {
  background: url(../img/img-features01.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(2)::before {
  background: url(../img/img-features02.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(3)::before {
  background: url(../img/img-features03.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(5)::before {
  background: url(../img/img-features04.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(6)::before {
  background: url(../img/img-features05.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box:nth-of-type(7)::before {
  background: url(../img/img-features06.jpg) no-repeat;
  background-size: cover;
}

section.section-six-features .features-box>.box .txt-box {
  position: relative;
  width: 728px;
  padding: 64px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  background: #fff;
  z-index: 2;
}

section.section-six-features .features-box>.box .txt-box .number {
  position: absolute;
  top: 24px;
  right: 48px;
  font-size: 32px;
  color: #C49B5A;
}

section.section-six-features .features-box>.box .txt-box .number span {
  font-size: 64px;
}

section.section-six-features .features-box>.box .txt-box .features {
  font-size: 24px;
  color: #C49B5A;
  margin-bottom: 8px;
}

section.section-six-features .features-box>.box .txt-box h3 {
  font-size: 40px;
  font-weight: 500;
  color: #1E293B;
  margin-bottom: 16px;
  line-height: 1.4;
}

section.section-six-features .features-box>.box .txt-box h3 .font-56 {
  font-size: 56px;
  color: #1E293B;
  font-weight: 500;
}

section.section-six-features .features-box>.box .txt-box h3 br.md {
  display: none;
}

section.section-six-features .features-box>.box .txt-box strong {
  display: block;
  font-size: 28px;
  font-weight: 500;
  color: #009197;
  margin-bottom: 24px;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .features-box>.box .txt-box p {
  color: #1E293B;
  font-size: 20px;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .trainer-box {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: -64px 0 64px;
}

section.section-six-features .trainer-box::before {
  position: absolute;
  content: "HIROFUMI WATANABE";
  width: 100%;
  height: 116px;
  top: -24px;
  left: 0;
  font-size: 80px;
  color: #7BCCCF;
  opacity: 0.3;
  z-index: 1;
}

section.section-six-features .trainer-box .txt-box {
  position: relative;
  padding-top: 40px;
  z-index: 2;
}

section.section-six-features .trainer-box .txt-box .head {
  text-align: left;
  margin-bottom: 30px;
}

section.section-six-features .trainer-box .txt-box .head .name-box {
  display: flex;
  align-items: last baseline;
  margin-bottom: 16px;
}

section.section-six-features .trainer-box .txt-box .head .name-box h4 {
  color: #1E293B;
  font-size: 48px;
  font-weight: 500;
  margin-right: 20px;
}

section.section-six-features .trainer-box .txt-box .head .name-box span {
  color: #1E293B;
  font-size: 24px;
  font-weight: 600;
}

section.section-six-features .trainer-box .txt-box .head p {
  color: #009197;
  font-size: 20px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #C49B5A;
  padding-bottom: 24px;
  margin-bottom: 32px;
}

section.section-six-features .trainer-box .txt-box h5 {
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
  margin-bottom: 24px;
  line-height: 1.6;
}

section.section-six-features .trainer-box .txt-box ul li {
  position: relative;
  padding: 0 0 8px 20px;
  color: #1E293B;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .trainer-box .txt-box ul li::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 12px;
  top: 11px;
  left: 0;
  background: #7BCCCF;
}

section.section-six-features .trainer-box img {
  width: 432px;
  height: 585px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}

@media (max-width: 576px) {
  section.section-six-features .trainer-box .txt-box {
    margin-bottom: 40px;
  }
}

section.section-six-features .review-box .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 48px;
  background: #FAF5EF;
  border: 1px solid #C49B5A;
  margin-bottom: 32px;
}

section.section-six-features .review-box .box:nth-last-of-type(1) {
  margin-bottom: 0;
}

section.section-six-features .review-box .box .left {
  width: 440px;
}

section.section-six-features .review-box .box .left h4 {
  font-size: 28px;
  font-weight: 700;
  color: #1E293B;
  margin-bottom: 8px;
  line-height: 1.5;
}

section.section-six-features .review-box .box .left p {
  color: #1E293B;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 24px;
}

section.section-six-features .review-box .box .left .star-box {
  display: flex;
  align-items: center;
  gap: 8px;
}

section.section-six-features .review-box .box .left .star-box img {
  width: 24px;
  height: 24px;
}

section.section-six-features .review-box .box .left .star-box span {
  margin-left: 12px;
  color: #1E293B;
  font-size: 20px;
  font-weight: 600;
}

section.section-six-features .review-box .box .right {
  width: calc(100% - 440px);
  border-left: #7C7C7C 1px solid;
  padding-left: 40px;
}

section.section-six-features .review-box .box .right p {
  color: #1E293B;
  line-height: 1.8;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-six-features .review-box small {
  display: block;
  text-align: center;
  color: #1E293B;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 20px;
}

@media (max-width: 1400px) {
  section.section-six-features .question-box .box h3 {
    font-size: 20px;
  }
}

@media (max-width: 1200px) {
  section.section-six-features .question-box {
    padding: 32px 32px 200px;
  }

  section.section-six-features .features-box>.box::before {
    width: 720px;
    height: 360px;
  }

  section.section-six-features .features-box>.box .txt-box {
    width: 640px;
    padding: 40px;
  }

  section.section-six-features .features-box>.box .txt-box .number {
    top: 16px;
    right: 40px;
    font-size: 32px;
  }

  section.section-six-features .features-box>.box .txt-box .number span {
    font-size: 48px;
  }

  section.section-six-features .features-box>.box .txt-box .features {
    font-size: 20px;
    margin-bottom: 0;
  }

  section.section-six-features .features-box>.box .txt-box h3 {
    font-size: 32px;
  }

  section.section-six-features .features-box>.box .txt-box h3 .font-56 {
    font-size: 48px;
  }

  section.section-six-features .features-box>.box .txt-box strong {
    font-size: 24px;
    margin-bottom: 16px;
  }

  section.section-six-features .features-box>.box .txt-box p {
    font-size: 16px;
  }

  section.section-six-features .trainer-box {
    margin: -64px 0 64px;
  }

  section.section-six-features .trainer-box::before {
    font-size: 64px;
  }

  section.section-six-features .trainer-box .txt-box {
    padding-top: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head {
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head p {
    font-size: 18px;
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box h5 {
    font-size: 18px;
    margin-bottom: 16px;
  }

  section.section-six-features .trainer-box .txt-box ul li {
    font-size: 16px;
  }

  section.section-six-features .trainer-box .txt-box ul li::before {
    top: 7px;
  }

  section.section-six-features .trainer-box img {
    width: 432px;
    height: 440px;
  }

  section.section-six-features .review-box .box {
    padding: 40px;
    margin-bottom: 24px;
  }

  section.section-six-features .review-box .box .left {
    width: 380px;
  }

  section.section-six-features .review-box .box .left h4 {
    font-size: 24px;
  }

  section.section-six-features .review-box .box .left p {
    font-size: 18px;
    margin-bottom: 24px;
  }

  section.section-six-features .review-box .box .left .star-box span {
    font-size: 18px;
  }

  section.section-six-features .review-box .box .right {
    width: calc(100% - 400px);
  }

  section.section-six-features .review-box .box .right p {
    font-size: 15px;
  }
}

@media (max-width: 1024px) {
  section.section-six-features>.head h2 {
    font-size: 40px;
  }

  section.section-six-features>.head span {
    font-size: 24px;
  }

  section.section-six-features .question-box {
    display: none;
  }

  section.section-six-features .features-box>.box {
    margin-bottom: 160px;
  }

  section.section-six-features .features-box>.box::before {
    width: 100%;
    height: 480px;
    top: -96px;
    left: 0;
  }

  section.section-six-features .features-box>.box:nth-of-type(2),
  section.section-six-features .features-box>.box:nth-of-type(5),
  section.section-six-features .features-box>.box:nth-of-type(7) {
    margin-bottom: 160px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2)::before,
  section.section-six-features .features-box>.box:nth-of-type(5)::before,
  section.section-six-features .features-box>.box:nth-of-type(7)::before {
    top: -96px;
    left: 0;
    right: auto;
    bottom: auto;
  }

  section.section-six-features .features-box>.box .txt-box {
    width: 100%;
    padding: 64px;
    margin: 240px 0 0;
  }

  section.section-six-features .features-box>.box .txt-box .number {
    top: 24px;
    right: 48px;
    font-size: 32px;
  }

  section.section-six-features .features-box>.box .txt-box .number span {
    font-size: 64px;
  }

  section.section-six-features .features-box>.box .txt-box .features {
    font-size: 24px;
  }

  section.section-six-features .features-box>.box .txt-box h3 {
    font-size: 32px;
    margin-bottom: 16px;
  }

  section.section-six-features .features-box>.box .txt-box h3 .font-56 {
    font-size: 48px;
  }

  section.section-six-features .features-box>.box .txt-box strong {
    font-size: 24px;
  }

  section.section-six-features .features-box>.box .txt-box p {
    font-size: 18px;
  }

  section.section-six-features .trainer-box {
    flex-wrap: wrap;
    margin: -160px 0 160px;
  }

  section.section-six-features .trainer-box::before {
    font-size: 64px;
    top: -4px;
    line-height: 1.2;
  }

  section.section-six-features .trainer-box .txt-box {
    width: 50%;
    padding-top: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head {
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box {
    display: block;
  }

  section.section-six-features .trainer-box .txt-box .head p {
    font-size: 18px;
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box h5 {
    font-size: 18px;
    margin-bottom: 16px;
  }

  section.section-six-features .trainer-box .txt-box h5 br {
    display: none;
  }

  section.section-six-features .trainer-box .txt-box ul li {
    font-size: 16px;
  }

  section.section-six-features .trainer-box .txt-box ul li::before {
    top: 7px;
  }

  section.section-six-features .trainer-box img {
    width: calc(50% - 32px);
    height: 480px;
  }

  section.section-six-features .review-box {
    margin-top: -114px;
  }

  section.section-six-features .review-box .box {
    flex-wrap: wrap;
    padding: 40px;
    margin-bottom: 24px;
  }

  section.section-six-features .review-box .box .left {
    width: 100%;
  }

  section.section-six-features .review-box .box .left h4 {
    font-size: 24px;
  }

  section.section-six-features .review-box .box .left p {
    font-size: 18px;
    margin-bottom: 12px;
  }

  section.section-six-features .review-box .box .left .star-box span {
    font-size: 18px;
  }

  section.section-six-features .review-box .box .right {
    width: 100%;
    padding: 24px 0 0;
    margin-top: 24px;
    border: 0;
    border-top: #7C7C7C 1px solid;
  }

  section.section-six-features .review-box .box .right p {
    font-size: 15px;
  }
}

@media (max-width: 768px) {
  section.section-six-features>.head h2 {
    font-size: 40px;
    line-height: 1.3;
  }

  section.section-six-features>.head h2 br {
    display: block;
  }

  section.section-six-features>.head span {
    display: none;
  }

  section.section-six-features .features-box>.box {
    margin-bottom: 120px;
  }

  section.section-six-features .features-box>.box::before {
    top: -64px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2),
  section.section-six-features .features-box>.box:nth-of-type(5),
  section.section-six-features .features-box>.box:nth-of-type(7) {
    margin-bottom: 120px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2)::before,
  section.section-six-features .features-box>.box:nth-of-type(5)::before,
  section.section-six-features .features-box>.box:nth-of-type(7)::before {
    top: -64px;
  }

  section.section-six-features .features-box>.box .txt-box {
    width: 100%;
    padding: 48px;
  }

  section.section-six-features .features-box>.box .txt-box .number {
    top: -56px;
    right: 20px;
    font-size: 32px;
  }

  section.section-six-features .features-box>.box .txt-box .number span {
    font-size: 64px;
  }

  section.section-six-features .features-box>.box .txt-box .features {
    display: block;
    text-align: center;
  }

  section.section-six-features .features-box>.box .txt-box h3 {
    text-align: center;
  }

  section.section-six-features .features-box>.box .txt-box h3 .font-56 {
    font-size: 48px;
  }

  section.section-six-features .features-box>.box .txt-box h3 br.md {
    display: block;
  }

  section.section-six-features .features-box>.box .txt-box strong {
    font-size: 24px;
    text-align: center;
  }

  section.section-six-features .features-box>.box .txt-box p {
    font-size: 18px;
  }

  section.section-six-features .features-box>.box .txt-box p br {
    display: none;
  }

  section.section-six-features .trainer-inner {
    width: 100%;
    padding: 0;
  }

  section.section-six-features .trainer-box {
    margin: -120px 0 160px;
  }

  section.section-six-features .trainer-box::before {
    font-size: 64px;
    top: 300px;
    text-align: center;
  }

  section.section-six-features .trainer-box .txt-box {
    width: 100%;
    padding: 0 24px;
    margin-top: 400px;
  }

  section.section-six-features .trainer-box .txt-box .head {
    margin-bottom: 24px;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box {
    display: block;
    text-align: center;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box h4 {
    margin-right: 0;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box span {
    font-size: 20px;
  }

  section.section-six-features .trainer-box .txt-box .head p {
    text-align: center;
  }

  section.section-six-features .trainer-box .txt-box h5 {
    font-size: 18px;
    margin-bottom: 16px;
  }

  section.section-six-features .trainer-box .txt-box h5 br {
    display: none;
  }

  section.section-six-features .trainer-box .txt-box ul li {
    font-size: 16px;
  }

  section.section-six-features .trainer-box .txt-box ul li::before {
    top: 7px;
  }

  section.section-six-features .trainer-box img {
    position: absolute;
    top: -24px;
    left: 0;
    width: 100%;
    height: 400px;
    z-index: -1;
    -o-object-position: top;
    object-position: top;
  }

  section.section-six-features .review-box {
    margin-top: -96px;
  }
}

@media (max-width: 576px) {
  section.section-six-features .bg-green::after {
    height: 395%;
  }

  section.section-six-features>.head {
    padding-top: 48px;
  }

  section.section-six-features>.head h2 {
    font-size: 32px;
  }

  section.section-six-features .features-box>.box {
    margin-bottom: 200px;
  }

  section.section-six-features .features-box>.box::before {
    top: -160px;
    height: 248px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2),
  section.section-six-features .features-box>.box:nth-of-type(5),
  section.section-six-features .features-box>.box:nth-of-type(7) {
    margin-bottom: 200px;
  }

  section.section-six-features .features-box>.box:nth-of-type(2)::before,
  section.section-six-features .features-box>.box:nth-of-type(5)::before,
  section.section-six-features .features-box>.box:nth-of-type(7)::before {
    top: -160px;
  }

  section.section-six-features .features-box>.box .txt-box {
    padding: 24px;
    margin: 0;
  }

  section.section-six-features .features-box>.box .txt-box .features {
    font-size: 16px;
  }

  section.section-six-features .features-box>.box .txt-box h3 {
    font-size: 24px;
  }

  section.section-six-features .features-box>.box .txt-box strong {
    font-size: 20px;
  }

  section.section-six-features .features-box>.box .txt-box p {
    font-size: 16px;
  }

  section.section-six-features .trainer-box {
    margin: -196px 0 200px;
  }

  section.section-six-features .trainer-box::before {
    font-size: 48px;
  }

  section.section-six-features .trainer-box .txt-box {
    width: 100%;
    padding: 0 24px;
    margin-top: 400px;
  }

  section.section-six-features .trainer-box .txt-box .head .name-box h4 {
    font-size: 48px;
  }

  section.section-six-features .trainer-box .txt-box ul li {
    font-size: 15px;
  }

  section.section-six-features .trainer-box img {
    position: absolute;
    top: 46px;
    left: 0;
    width: 100%;
    height: 340px;
    z-index: 0;
  }

  section.section-six-features .review-box {
    margin-top: -180px;
  }

  section.section-six-features .review-box .box {
    padding: 24px;
  }

  section.section-six-features .review-box .box .left h4 {
    font-size: 24px;
  }

  section.section-six-features .review-box .box .left h4 br {
    display: none;
  }

  section.section-six-features .review-box .box .left p {
    font-size: 16px;
  }

  section.section-six-features .review-box .box .left .star-box span {
    font-size: 16px;
  }

  section.section-six-features .review-box .box .right p {
    font-size: 15px;
  }
}

section.section-training {
  padding: 80px 0 0;
}

section.section-training .campaign-cta-box {
  margin: -40px 0 64px;
}

@media (max-width: 576px) {
  section.section-training .campaign-cta-box {
    margin: -40px 0 40px;
  }
}

section.section-training .head {
  height: 552px;
  background: url("../img/bg-training.jpg") center/cover no-repeat;
  background-attachment: fixed;
  padding-top: 96px;
}

section.section-training .head .inner {
  text-align: center;
}

section.section-training .head .inner p:first-child {
  font-size: 36px;
  color: #1E293B;
}

section.section-training .head .inner h2 {
  font-size: 64px;
  color: #1E293B;
}

section.section-training .head .inner p:last-child {
  font-size: 24px;
  color: #1E293B;
}

section.section-training .head .inner p:last-child .font-36 {
  font-size: 36px;
}

section.section-training .head span {
  color: #1E293B !important;
}

section.section-training .head span::after {
  display: none !important;
}

section.section-training .trial-intro {
  position: relative;
  margin-top: -64px;
  padding: 64px 48px 48px;
  background: #fff;
  text-align: center;
}

section.section-training .trial-intro span {
  display: block;
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
  margin-bottom: 8px;
}

section.section-training .trial-intro h3 {
  font-size: 40px;
  font-weight: 500;
  color: #1E293B;
}

section.section-training .trial-intro h3 br {
  display: none;
}

section.section-training .trial-intro .hukidashi-trial {
  position: absolute;
  top: -56px;
  right: 24px;
}

section.section-training .counseling-box {
  display: flex;
  justify-content: space-between;
  padding: 0 48px;
  margin-bottom: 64px;
}

section.section-training .counseling-box .box {
  position: relative;
  width: calc((100% - 128px) / 3);
}

section.section-training .counseling-box .box::before {
  position: absolute;
  content: "";
  width: 28px;
  height: 40px;
  top: 92px;
  right: -48px;
  background: #7BCCCF;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

section.section-training .counseling-box .box:last-child::before {
  display: none;
}

section.section-training .counseling-box .box img {
  width: 100%;
  height: 224px;
  -o-object-fit: cover;
  object-fit: cover;
  margin-bottom: 24px;
}

section.section-training .counseling-box .box h3 {
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
  margin-bottom: 8px;
  text-align: center;
}

section.section-training .counseling-box .box p {
  color: #1E293B;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
}

section.section-training .trial-plan {
  text-align: center;
  padding: 32px;
  border: 1px solid #7BCCCF;
  margin-bottom: 24px;
}

section.section-training .trial-plan .flex-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

section.section-training .trial-plan .flex-box .hukidashi-limited {
  position: absolute;
  top: -80px;
  right: -72px;
}

section.section-training .trial-plan .flex-box h3 {
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
}

section.section-training .trial-plan .flex-box p {
  font-size: 20px;
  color: #1E293B;
}

section.section-training .trial-plan .flex-box p:first-of-type {
  color: #1E293B;
}

section.section-training .trial-plan .flex-box p:last-child {
  font-size: 24px;
  font-weight: 500;
  color: #1E293B;
}

section.section-training .trial-plan .flex-box p .line-through {
  text-decoration: line-through;
}

section.section-training .trial-plan .flex-box p .font-36 {
  font-size: 36px;
  font-weight: 500;
}

section.section-training .trial-plan .flex-box p .font-20 {
  font-size: 20px;
  font-weight: 500;
}

section.section-training .trial-plan strong {
  display: block;
  font-size: 24px;
  color: white;
  font-weight: 500;
  background: #0CA3A9;
  padding: 16px 24px;
}

section.section-training .trial-plan strong .font-32 {
  font-size: 32px;
}

section.section-training .trial-plan strong br {
  display: none;
}

section.section-training .trial-plan+small {
  display: block;
  text-align: center;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  color: #1E293B;
  margin-bottom: 20px;
}

@media (max-width: 1400px) {
  section.section-training .counseling-box {
    padding: 0 32px;
  }
}

@media (max-width: 1200px) {
  section.section-training .trial-intro {
    padding: 64px 32px 32px;
  }

  section.section-training .trial-intro span {
    font-size: 24px;
  }

  section.section-training .trial-intro h3 {
    font-size: 36px;
  }

  section.section-training .trial-intro .hukidashi-trial {
    width: 136px;
    height: 136px;
  }

  section.section-training .counseling-box .box {
    width: calc((100% - 80px) / 3);
  }

  section.section-training .counseling-box .box::before {
    width: 20px;
    height: 32px;
    top: 102px;
    right: -32px;
  }

  section.section-training .counseling-box .box img {
    margin-bottom: 16px;
  }

  section.section-training .counseling-box .box h3 {
    font-size: 20px;
    margin-bottom: 4px;
  }

  section.section-training .counseling-box .box p {
    font-size: 15px;
  }

  section.section-training .trial-plan {
    padding: 24px;
    margin-bottom: 20px;
  }

  section.section-training .trial-plan .flex-box {
    gap: 20px;
    margin-bottom: 24px;
  }

  section.section-training .trial-plan .flex-box .hukidashi-limited {
    width: 96px;
    height: 96px;
    top: -80px;
    right: -40px;
  }
}

@media (max-width: 1024px) {
  section.section-training .head {
    height: 480px;
    background: url("../img/bg-training-sp.jpg") top/cover no-repeat;
    background-attachment: fixed;
    padding-top: 64px;
  }

  section.section-training .head .inner p:first-child {
    font-size: 32px;
  }

  section.section-training .head .inner h2 {
    font-size: 48px;
  }

  section.section-training .head .inner p:last-child {
    font-size: 20px;
  }

  section.section-training .head .inner p:last-child .font-36 {
    font-size: 28px;
  }

  section.section-training .trial-intro {
    margin-top: -88px;
    padding: 64px 32px 48px;
  }

  section.section-training .trial-intro h3 {
    line-height: 1.3;
  }

  section.section-training .trial-intro h3 br {
    display: block;
  }

  section.section-training .counseling-box {
    flex-wrap: wrap;
  }

  section.section-training .counseling-box .box {
    width: 100%;
    margin-bottom: 64px;
  }

  section.section-training .counseling-box .box::before {
    width: 20px;
    height: 32px;
    top: auto;
    right: calc(50% - 16px);
    bottom: -48px;
    transform: rotate(90deg);
  }

  section.section-training .counseling-box .box:last-child {
    margin-bottom: 0;
  }

  section.section-training .counseling-box .box img {
    height: 400px;
    margin-bottom: 16px;
  }

  section.section-training .counseling-box .box h3 {
    font-size: 24px;
    margin-bottom: 4px;
  }

  section.section-training .counseling-box .box p {
    font-size: 16px;
    text-align: center;
  }

  section.section-training .trial-plan {
    padding: 20px 32px 32px;
    margin-bottom: 20px;
  }

  section.section-training .trial-plan .flex-box {
    display: block;
    margin-bottom: 20px;
  }

  section.section-training .trial-plan .flex-box h3 {
    font-size: 24px;
    border-bottom: #7BCCCF 1px solid;
    margin-bottom: 16px;
    padding-bottom: 16px;
  }

  section.section-training .trial-plan .flex-box p {
    position: relative;
    margin-bottom: 40px;
  }

  section.section-training .trial-plan .flex-box p::before {
    position: absolute;
    content: "";
    width: 32px;
    height: 20px;
    top: auto;
    right: calc(50% - 16px);
    bottom: -32px;
    background: #7BCCCF;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  section.section-training .trial-plan .flex-box p:last-child {
    margin-bottom: 0;
  }

  section.section-training .trial-plan .flex-box p:last-child::before {
    display: none;
  }

  section.section-training .trial-plan .flex-box p .font-36 {
    font-size: 32px;
  }

  section.section-training .trial-plan .flex-box .hukidashi-limited {
    top: 144px;
    right: -16px;
  }

  section.section-training .trial-plan strong .font-32 {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  section.section-training .head {
    height: 520px;
  }

  section.section-training .trial-intro {
    margin-top: -88px;
    padding: 48px 24px 32px;
  }

  section.section-training .trial-intro .hukidashi-trial {
    width: 120px;
    height: 120px;
    top: -80px;
    right: 16px;
  }

  section.section-training .counseling-box .box img {
    height: 320px;
  }

  section.section-training .trial-plan .flex-box p {
    margin-bottom: 32px;
  }

  section.section-training .trial-plan .flex-box .hukidashi-limited {
    top: 160px;
    right: -16px;
  }

  section.section-training .trial-plan strong {
    line-height: 1.3;
  }

  section.section-training .trial-plan strong br {
    display: block;
  }
}

@media (max-width: 576px) {
  section.section-training .head {
    height: 560px;
    background: url("../img/bg-training-sp.jpg") center/100% no-repeat;
    padding-top: 160px;
  }

  section.section-training .head .inner p:first-child {
    font-size: 20px;
    font-weight: 600;
    text-shadow: 0 0 8px #fff;
  }

  section.section-training .head .inner h2 {
    font-size: 40px;
    text-shadow: 0 0 8px #fff;
  }

  section.section-training .head .inner p:last-child {
    font-size: 18px;
    font-weight: 600;
    text-shadow: 0 0 8px #fff;
  }

  section.section-training .head .inner p:last-child .font-36 {
    font-size: 24px;
  }

  section.section-training .trial-intro {
    padding: 48px 0 32px;
    margin-top: -64px;
  }

  section.section-training .trial-intro .hukidashi-trial {
    top: -56px;
    width: 88px;
    height: 88px;
  }

  section.section-training .trial-intro span {
    font-size: 18px;
    font-weight: 600;
  }

  section.section-training .trial-intro h3 {
    font-size: 26px;
    font-weight: 600;
  }

  section.section-training .counseling-box {
    padding: 0;
  }

  section.section-training .counseling-box .box img {
    height: 224px;
  }

  section.section-training .trial-plan {
    padding: 20px 24px 24px;
  }

  section.section-training .trial-plan .flex-box p {
    margin-bottom: 32px;
  }

  section.section-training .trial-plan .flex-box p .font-36 {
    font-size: 28px;
  }

  section.section-training .trial-plan .flex-box .hukidashi-limited {
    width: 88px;
    height: 88px;
    top: 160px;
    right: -24px;
  }

  section.section-training .trial-plan strong {
    line-height: 1.3;
    font-size: 16px;
    padding: 16px 20px;
  }

  section.section-training .trial-plan strong .font-32 {
    font-size: 20px;
  }

  section.section-training .trial-plan strong br {
    display: block;
  }
}

section .table-box {
  overflow: auto;
}

section table {
  width: 100%;
  border-collapse: collapse;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border: #D9D9D9 1px solid;
  margin-top: 64px;
}

section table thead th {
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  padding: 20px;
  text-align: center;
  border: #D9D9D9 1px solid;
}

section table thead th:nth-of-type(1) {
  background: #1E293B;
}

section table thead th:nth-of-type(2) {
  background: #C49B5A;
}

section table thead th:nth-of-type(3),
section table thead th:nth-of-type(4) {
  background: #848484;
}

section table tbody tr th {
  background: #1E293B;
  font-weight: 600;
  text-align: center;
  color: white;
  padding: 16px;
  font-size: 20px;
  border: #D9D9D9 1px solid;
  word-break: keep-all;
}

section table tbody tr th br {
  display: none;
}

section table tbody tr td {
  padding: 15px;
  text-align: center;
  color: #1E293B;
  font-size: 20px;
  font-weight: 600;
  border: #D9D9D9 1px solid;
}

section table tbody tr td br {
  display: none;
}

section table tbody tr td .font-14 {
  font-size: 14px;
  font-weight: 600;
}

section table tbody tr td .font-14 br {
  display: none;
}

section table tbody tr td .font-24 {
  font-size: 24px;
  font-weight: 600;
}

section table tbody tr td .font-32 {
  font-size: 32px;
  font-weight: 600;
}

section table tbody tr td:nth-of-type(2),
section table tbody tr td:nth-of-type(3) {
  background: #F4F4F4;
}

@media (max-width: 1200px) {
  section table {
    margin-top: 32px;
  }

  section table thead th {
    font-size: 20px;
    padding: 16px;
  }

  section table tbody tr th {
    padding: 12px;
    font-size: 16px;
  }

  section table tbody tr td {
    padding: 12px;
    font-size: 18px;
  }

  section table tbody tr td .font-14 {
    display: block;
    line-height: 1.3;
    font-size: 14px;
  }

  section table tbody tr td .font-14 br {
    display: block;
  }

  section table tbody tr td .font-24 {
    font-size: 20px;
  }

  section table tbody tr td .font-32 {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  section table {
    min-width: 700px;
    margin-top: 32px;
  }

  section table thead th {
    font-size: 20px;
    padding: 16px;
  }

  section table tbody tr th {
    padding: 12px;
    font-size: 16px;
  }

  section table tbody tr th br {
    display: block;
  }

  section table tbody tr td {
    line-height: 1.3;
    padding: 12px;
    font-size: 18px;
    word-break: keep-all;
  }

  section table tbody tr td br {
    display: block;
  }

  section table tbody tr td .font-14 {
    display: block;
    line-height: 1.3;
    font-size: 14px;
  }

  section table tbody tr td .font-14 br {
    display: block;
  }

  section table tbody tr td .font-24 {
    font-size: 20px;
  }

  section table tbody tr td .font-32 {
    font-size: 28px;
  }
}

section.plan {
  background: #7BCCCF url(../img/bg-plan.jpg) no-repeat top right;
}

section.plan .head {
  margin-bottom: 80px;
}

section.plan .head span {
  color: #fff;
  font-size: 96px;
  font-weight: 600;
  opacity: 0.2;
}

section.plan .head h3 {
  color: #fff;
  font-size: 48px;
  margin: -80px 0 24px 48px;
}

section.plan .head p {
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  margin-left: 48px;
}

section.plan .plan-box .box {
  display: flex;
  margin-bottom: 48px;
  background: #fff;
}

section.plan .plan-box .box .left {
  width: 360px;
  text-align: center;
  padding: 30px;
  background: rgba(30, 41, 59, 0.9);
}

section.plan .plan-box .box .left .plan-txt {
  display: block;
  color: #fff;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  border: #fff 1px solid;
  padding: 12px;
  margin-bottom: 24px;
  background: #1E293B;
}

section.plan .plan-box .box .left h3 {
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 36px;
  line-height: 1.4;
}

section.plan .plan-box .box .left p {
  font-size: 24px;
  color: #fff;
  border-top: 1px solid #fff;
  padding-top: 24px;
  line-height: 1;
}

section.plan .plan-box .box .left p br {
  display: block;
}

section.plan .plan-box .box .left p .font-36 {
  font-size: 36px;
  font-weight: 700;
}

section.plan .plan-box .box .left p .font-48 {
  font-size: 48px;
  font-weight: 800;
}

section.plan .plan-box .box .left small {
  display: flex;
  align-items: first baseline;
  justify-content: center;
  color: #fff;
  font-size: 20px;
}

section.plan .plan-box .box .left small .font-24 {
  font-size: 24px;
  font-weight: 600;
}

section.plan .plan-box .box .right {
  width: calc(100% - 360px);
  padding: 48px;
  box-sizing: border-box;
}

section.plan .plan-box .box .right .plan {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

section.plan .plan-box .box .right .plan .title {
  font-size: 24px;
  font-weight: 600;
  color: #1E293B;
}

section.plan .plan-box .box .right .plan .price {
  font-size: 36px;
  font-weight: 600;
}

section.plan .plan-box .box .right .plan .price .font-28 {
  font-size: 28px;
}

section.plan .plan-box .box .right .plan .price .font-20 {
  font-size: 20px;
  font-weight: 400;
}

section.plan .plan-box .box .right .plan .price .font-16 {
  font-size: 16px;
}

section.plan .plan-box .box .right ul.plan-list {
  width: 100%;
}

section.plan .plan-box .box .right ul.plan-list li {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0 4px 24px;
}

section.plan .plan-box .box .right ul.plan-list li::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  top: 18px;
  left: 0;
  border-radius: 16px;
  background: #7BCCCF;
}

section.plan .plan-box .box .right ul.plan-list li p:first-child {
  font-size: 24px;
  font-weight: 600;
}

section.plan .plan-box .box .right ul.plan-list li p:last-child {
  font-size: 24px;
  font-weight: 600;
}

section.plan .plan-box .box .right ul.plan-list li .font-20 {
  font-size: 20px;
}

section.plan .plan-box .box .right ul.plan-list li .font-16 {
  font-size: 16;
}

section.plan .plan-box .box .right small {
  display: block;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: right;
}

section.plan .plan-box .box .right .detail-box {
  margin-top: 30px;
  padding: 24px;
  background: rgba(123, 204, 207, 0.2);
}

section.plan .plan-box .box .right .detail-box ul li {
  position: relative;
  font-size: 20px;
  font-weight: 600;
  padding-left: 24px;
}

section.plan .plan-box .box .right .detail-box ul li::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  top: 9px;
  left: 0;
  border-radius: 16px;
  background: #7BCCCF;
}

section.plan .plan-box .plan1 .left {
  background: url(../img/bg-plan01.jpg) no-repeat center;
  background-size: cover;
}

section.plan .plan-box .plan2 .left {
  background: url(../img/bg-plan02.jpg) no-repeat center;
  background-size: cover;
}

@media (max-width: 1200px) {
  section.plan .head span {
    font-size: 80px;
  }

  section.plan .head h3 {
    font-size: 40px;
    margin: -64px 0 16px 32px;
  }

  section.plan .head p {
    font-size: 18px;
    margin-left: 32px;
  }

  section.plan .plan-box .box {
    display: block;
  }

  section.plan .plan-box .box .left {
    width: 100%;
    padding: 32px;
  }

  section.plan .plan-box .box .left h3 br {
    display: none;
  }

  section.plan .plan-box .box .left h3 .md {
    display: block;
  }

  section.plan .plan-box .box .left p br {
    display: none;
  }

  section.plan .plan-box .box .right {
    width: 100%;
    padding: 32px;
  }
}

@media (max-width: 768px) {
  section.plan .head span {
    font-size: 80px;
  }

  section.plan .head h3 {
    font-size: 40px;
    margin: -64px 0 16px 32px;
  }

  section.plan .head p {
    font-size: 18px;
    margin-left: 32px;
  }

  section.plan .head p br {
    display: none;
  }

  section.plan .plan-box .box {
    display: block;
    margin-bottom: 24px;
  }

  section.plan .plan-box .box .left .plan-txt {
    font-size: 18px;
  }

  section.plan .plan-box .box .left h3 {
    font-size: 28px;
    margin-bottom: 24px;
  }

  section.plan .plan-box .box .left p {
    font-size: 20px;
    padding-top: 24px;
  }

  section.plan .plan-box .box .left p .font-36 {
    font-size: 28px;
  }

  section.plan .plan-box .box .left p .font-48 {
    font-size: 36px;
  }

  section.plan .plan-box .box .left small {
    font-size: 16px;
  }

  section.plan .plan-box .box .left small .font-24 {
    font-size: 20px;
  }

  section.plan .plan-box .box .right .plan {
    display: block;
    text-align: center;
  }

  section.plan .plan-box .box .right .plan:nth-child(3) .price {
    /* border: 0; margin-bottom: 0; padding-bottom: 0; */
  }

  section.plan .plan-box .box .right .plan .title {
    font-size: 16px;
  }

  section.plan .plan-box .box .right .plan .price {
    font-size: 36px;
    border-bottom: #D9D9D9 1px solid;
    padding-bottom: 20px;
    margin-bottom: 24px;
  }

  section.plan .plan-box .box .right .plan .price .font-28 {
    font-size: 28px;
  }

  section.plan .plan-box .box .right .plan .price .font-20 {
    font-size: 20px;
  }

  section.plan .plan-box .box .right .plan .price .font-16 {
    font-size: 14px;
  }

  section.plan .plan-box .box .right ul.plan-list li {
    padding: 0 0 20px 20px;
    flex-wrap: wrap;
  }

  section.plan .plan-box .box .right ul.plan-list li::before {
    width: 12px;
    height: 12px;
    top: 11px;
  }

  section.plan .plan-box .box .right ul.plan-list li p:first-child {
    font-size: 18px;
  }

  section.plan .plan-box .box .right ul.plan-list li p:last-child {
    font-size: 24px;
    width: 100%;
    text-align: center;
  }

  section.plan .plan-box .box .right ul.plan-list li .font-20 {
    font-size: 14px;
  }

  section.plan .plan-box .box .right ul.plan-list li .font-16 {
    font-size: 14px;
  }

  section.plan .plan-box .box .right small {
    font-size: 14px;
    text-align: center;
  }

  section.plan .plan-box .box .right .detail-box {
    padding: 16px 24px;
    margin-top: 20px;
  }

  section.plan .plan-box .box .right .detail-box ul li {
    font-size: 16px;
    padding-left: 20px;
  }

  section.plan .plan-box .box .right .detail-box ul li::before {
    width: 12px;
    height: 12px;
    top: 8px;
  }
}

@media (max-width: 576px) {
  section.plan {
    background: #7BCCCF url(../img/bg-plan-sp.jpg) no-repeat top 200px center;
    background-size: contain;
  }

  section.plan .head {
    margin-bottom: 160px;
  }

  section.plan .head span {
    display: block;
    font-size: 64px;
    text-align: center;
  }

  section.plan .head h3 {
    margin: -48px 0 0;
    font-size: 28px;
    text-align: center;
  }

  section.plan .head p {
    margin: 0;
  }

  section.plan .plan-box .box {
    display: block;
  }

  section.plan .plan-box .box .left {
    padding: 24px;
  }

  section.plan .plan-box .box .left h3 br {
    display: block;
  }

  section.plan .plan-box .box .left p br {
    display: block;
  }

  section.plan .plan-box .box .right {
    padding: 24px;
  }
}

section.review {
  padding-top: 0;
}

section.review .head span {
  font-size: 36px;
}

section.review .head h2 {
  font-size: 48px;
}

section.review .review-main {
  margin-top: 96px;
}

section.review .review-main h3 {
  text-align: center;
  font-size: 48px;
  font-weight: 500;
  margin-bottom: 56px;
}

section.review .review-main h3 br {
  display: none;
}

section.review .review-main .flex-box {
  display: flex;
  justify-content: space-between;
}

section.review .review-main .flex-box .left {
  width: 624px;
}

section.review .review-main .flex-box .left .program {
  display: block;
  padding: 12px;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 24px;
  border: 1px solid #C49B5A;
  text-align: center;
}

section.review .review-main .flex-box .left .program br {
  display: none;
}

section.review .review-main .flex-box .left .profile {
  display: flex;
  gap: 32px;
  margin-bottom: 24px;
}

section.review .review-main .flex-box .left .profile img {
  width: 156px;
  height: 156px;
  border-radius: 156px;
  -o-object-fit: cover;
  object-fit: cover;
}

section.review .review-main .flex-box .left .profile .txt-box {
  flex: 1;
}

section.review .review-main .flex-box .left .profile .txt-box span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
}

section.review .review-main .flex-box .left .profile .txt-box p {
  line-height: 1.7;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

section.review .review-main .flex-box .left table {
  margin: 24px 0 24px;
}

section.review .review-main .flex-box .left table th,
section.review .review-main .flex-box .left table td {
  padding: 12px;
}

section.review .review-main .flex-box .left table thead th:nth-of-type(2),
section.review .review-main .flex-box .left table thead th:nth-of-type(3) {
  background: #848484;
}

section.review .review-main .flex-box .left table thead th:nth-of-type(4) {
  background: #C49B5A;
}

section.review .review-main .flex-box .left table tbody td {
  font-size: 24px;
  background: #fff;
}

section.review .review-main .flex-box .left table tbody td:last-child {
  color: #fff;
  background: #C49B5A;
}

section.review .review-main .flex-box .left small {
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
}

section.review .review-main .flex-box .right {
  width: calc(100% - 664px);
}

section.review .review-main .flex-box .right img {
  width: 100%;
}

@media (max-width: 1400px) {
  section.review .review-main {
    margin-top: 64px;
  }

  section.review .review-main h3 {
    font-size: 40px;
    margin-bottom: 24px;
  }

  section.review .review-main .flex-box .left {
    width: 520px;
  }

  section.review .review-main .flex-box .left .program {
    font-size: 18px;
  }

  section.review .review-main .flex-box .left .profile {
    gap: 24px;
  }

  section.review .review-main .flex-box .left .profile img {
    width: 136px;
    height: 136px;
  }

  section.review .review-main .flex-box .left .profile .txt-box p {
    font-size: 15px;
  }

  section.review .review-main .flex-box .left table {
    margin: 24px 0 24px;
  }

  section.review .review-main .flex-box .left table th,
  section.review .review-main .flex-box .left table td {
    padding: 12px;
  }

  section.review .review-main .flex-box .left table thead th {
    font-size: 18px;
  }

  section.review .review-main .flex-box .left table tbody th {
    font-size: 18px;
  }

  section.review .review-main .flex-box .left table tbody td {
    font-size: 20px;
  }

  section.review .review-main .flex-box .left table tbody td .font-32 {
    font-size: 28px;
  }

  section.review .review-main .flex-box .left small {
    font-size: 14px;
  }

  section.review .review-main .flex-box .right {
    width: calc(100% - 560px);
  }

  section.review .review-main .flex-box .right img {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  section.review .head span {
    font-size: 32px;
  }

  section.review .head h2 {
    font-size: 40px;
  }

  section.review .review-main h3 {
    font-size: 32px;
    margin-bottom: 40px;
  }

  section.review .review-main .flex-box {
    display: block;
  }

  section.review .review-main .flex-box .left {
    width: 100%;
  }

  section.review .review-main .flex-box .left .program {
    font-size: 20px;
  }

  section.review .review-main .flex-box .left table {
    width: 100%;
    min-width: auto;
    margin: 24px 0 16px;
  }

  section.review .review-main .flex-box .left small {
    display: block;
    font-size: 14px;
    text-align: center;
  }

  section.review .review-main .flex-box .right {
    width: 70%;
    margin: 40px auto 0;
  }
}

@media (max-width: 768px) {
  section.review .head span {
    font-size: 24px;
  }

  section.review .head h2 {
    font-size: 32px;
    line-height: 1.3;
  }

  section.review .review-main h3 {
    font-size: 32px;
    margin-bottom: 32px;
    line-height: 1.3;
  }

  section.review .review-main h3 br {
    display: block;
  }

  section.review .review-main .flex-box .left .program br {
    display: block;
  }

  section.review .review-main .flex-box .right {
    width: 80%;
  }
}

@media (max-width: 576px) {
  section.review .head span {
    font-size: 18px;
  }

  section.review .head h2 {
    font-size: 24px;
  }

  section.review .review-main h3 {
    font-size: 24px;
  }

  section.review .review-main .flex-box .left .program {
    font-size: 18px;
  }

  section.review .review-main .flex-box .left .profile {
    gap: 20px;
  }

  section.review .review-main .flex-box .left .profile img {
    width: 96px;
    height: 96px;
  }

  section.review .review-main .flex-box .right {
    width: 100%;
  }
}

section.campaign-contact-section {
  padding-top: 128px;
  text-align: center;
}

section.campaign-contact-section .hukidashi-box {
  position: relative;
  padding: 80px 48px 40px;
  background: #fff;
  margin-bottom: 64px;
  text-align: center;
}

section.campaign-contact-section .hukidashi-box .hukidashi {
  position: absolute;
  top: -40px;
  left: 40px;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 16px 64px;
  border-radius: 120px;
  color: #fff;
  font-size: 32px;
  font-weight: 600;
  background: #0CA3A9;
}

section.campaign-contact-section .hukidashi-box .hukidashi::before {
  position: absolute;
  content: "";
  width: 64px;
  height: 24px;
  left: calc(50% - 32px);
  bottom: -16px;
  background: #0CA3A9;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

section.campaign-contact-section .hukidashi-box .hukidashi br {
  display: none;
}

section.campaign-contact-section .hukidashi-box .flex-box {
  display: flex;
  text-align: left;
  justify-content: space-between;
  align-items: center;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt {
  width: 620px;
  border: #FF4111 2px solid;
  border-radius: 8px;
  padding: 24px 32px;
  background: #FFF4F2;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt div {
  display: flex;
  gap: 40px;
  margin-bottom: 24px;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt h3 {
  font-size: 32px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt ul {
  display: inline-block;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt ul li {
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 2px;
  padding-left: 36px;
  background: url(../img/icon-check-orange.png) no-repeat center left;
  text-align: left;
}

section.campaign-contact-section .hukidashi-box .flex-box .important-txt small {
  display: block;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.3;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box {
  font-weight: bold;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-24 {
  font-size: 24px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-36 {
  font-size: 36px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-40 {
  font-size: 40px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-48 {
  font-size: 48px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-64 {
  font-size: 64px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-72 {
  font-size: 72px;
  font-weight: 600;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box p {
  width: 100%;
  font-weight: bold;
  line-height: 1;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box .tag {
  display: inline-block;
  font-size: 24px;
  border: #FF4111 2px solid;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  border-radius: 8px;
  padding: 8px 24px;
  background: #fff;
}

section.campaign-contact-section .hukidashi-box .flex-box .price-box strong {
  color: #FF4111;
}

section.campaign-contact-section .contact-title {
  position: relative;
  display: inline-block;
  font-size: 36px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding: 0 64px;
}

section.campaign-contact-section .contact-title::before,
section.campaign-contact-section .contact-title::after {
  position: absolute;
  top: 0;
}

section.campaign-contact-section .contact-title::before {
  content: "＼";
  left: 0;
}

section.campaign-contact-section .contact-title::after {
  content: "／";
  right: 0;
}

section.campaign-contact-section .contact-title br {
  display: none;
}

@media (max-width: 1400px) {
  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    width: 180px;
    height: 180px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: calc(100% - 220px);
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 72px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 48px;
  }

  section.campaign-contact-section .contact-title {
    font-size: 32px;
  }
}

@media (max-width: 1200px) {
  section.campaign-contact-section .hukidashi-box {
    padding: 64px 32px 48px;
  }

  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box {
    justify-content: center;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    width: 160px;
    height: 160px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: calc(100% - 200px);
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 56px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 36px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 48px;
  }

  section.campaign-contact-section .contact-title {
    font-size: 32px;
  }
}

@media (max-width: 1024px) {
  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 20px;
    padding: 12px 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    width: 136px;
    height: 136px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: calc(100% - 180px);
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 20px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 40px;
  }

  section.campaign-contact-section .contact-title {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  section.campaign-contact-section {
    padding-top: 96px;
  }

  section.campaign-contact-section .hukidashi-box {
    padding: 56px 32px 32px;
  }

  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 20px;
    padding: 12px 48px;
    line-height: 1.3;
  }

  section.campaign-contact-section .hukidashi-box .hukidashi br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    position: absolute;
    width: 136px;
    height: 136px;
    top: -136px;
    left: -24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: 100%;
    text-align: center;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 20px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p:last-child {
    line-height: 1.2;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 40px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt div {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt div h3 {
    margin-bottom: 16px;
    line-height: 1.3;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box {
    text-align: center;
  }

  section.campaign-contact-section .contact-title {
    font-size: 24px;
  }

  section.campaign-contact-section .contact-title br {
    display: block;
  }
}

@media (max-width: 576px) {
  section.campaign-contact-section {
    padding-top: 96px;
  }

  section.campaign-contact-section .hukidashi-box {
    padding: 40px 20px 20px;
    margin-bottom: 32px;
  }

  section.campaign-contact-section .hukidashi-box .hukidashi {
    font-size: 20px;
    padding: 12px 32px;
    line-height: 1.3;
    left: 16px;
    width: calc(100% - 32px);
  }

  section.campaign-contact-section .hukidashi-box .hukidashi br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box {
    gap: 24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box img {
    position: absolute;
    width: 120px;
    height: 120px;
    top: -146px;
    left: -12px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .txt-box {
    width: 100%;
    text-align: center;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt {
    padding: 24px;
    width: 100%;
    line-height: 1.3;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt h3 {
    font-size: 24px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .important-txt small {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-40 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-48 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box .font-72 {
    font-size: 56px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box .price-box .tag {
    padding: 8px 16px;
    font-size: 16px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p {
    font-size: 20px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p br {
    display: block;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p strong {
    font-size: 28px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-88 {
    font-size: 48px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-40 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-48 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-50 {
    font-size: 32px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-56 {
    font-size: 40px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box p .font-72 {
    font-size: 56px;
  }

  section.campaign-contact-section .hukidashi-box .flex-box small {
    font-size: 14px;
    text-align: left;
  }

  section.campaign-contact-section .contact-title {
    padding: 0 32px;
    font-size: 20px;
  }
}

section#news .head {
  text-align: center;
  margin-bottom: 40px;
}

section#news .head span {
  color: rgba(123, 204, 207, 0.2);
  font-size: 96px;
  font-weight: 600;
}

section#news .head h2 {
  font-size: 48px;
  margin: -80px 0 24px;
}

section#news .inner dl dt {
  margin: 0;
  padding: 1em;
  font-size: 20px;
  font-weight: 600;
  background: #0CA3A9;
  color: #FFFFFF;
}

section#news .inner dl dd {
  margin: 0;
  padding: 1em;
}

section#news .inner dl dd a {
  text-decoration: underline;
}

section.faq {
  background: #FAF5EF;
}

section.faq .head {
  text-align: center;
  margin-bottom: 40px;
}

section.faq .head span {
  color: rgba(123, 204, 207, 0.2);
  font-size: 96px;
  font-weight: 600;
}

section.faq .head h2 {
  font-size: 48px;
  margin: -80px 0 24px;
}

section.faq .faq-box .box {
  padding: 24px;
  margin-bottom: 24px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #7BCCCF;
  transition: all 0.3s ease;
}

section.faq .faq-box .box:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

section.faq .faq-box .box .question {
  cursor: pointer;
  position: relative;
  font-size: 20px;
  font-weight: 600;
  transition: all 0.3s ease;
}

section.faq .faq-box .box .question::before {
  content: "Q. ";
  color: #0CA3A9;
  font-size: 24px;
  font-weight: 700;
  margin-right: 8px;
}

section.faq .faq-box .box .question::after {
  content: "＋";
  position: absolute;
  top: 20px;
  right: 0;
  transform: translateY(-50%);
  color: #0CA3A9;
  font-size: 48px;
  font-weight: 700;
  transition: all 0.3s ease;
}

section.faq .faq-box .box .question.active::after {
  content: "－";
  font-weight: 400;
  transform: translateY(-50%);
}

section.faq .faq-box .box .answer {
  display: none;
  color: #1E293B;
  line-height: 1.8;
  font-size: 16px;
  font-weight: 600;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #7BCCCF;
}

section.faq .faq-box .box .answer::before {
  content: "A. ";
  color: #0CA3A9;
  font-size: 24px;
  font-weight: 700;
  margin-right: 8px;
}

section.faq .faq-box .box .answer.active {
  display: block;
  animation: fadeInDown 0.3s ease-out;
}

@media (max-width: 1200px) {
  section.faq .head span {
    font-size: 80px;
  }

  section.faq .head h2 {
    font-size: 40px;
  }
}

@media (max-width: 1024px) {
  section.faq .faq-box .box {
    padding: 24px;
    margin-bottom: 24px;
  }

  section.faq .faq-box .box .question {
    font-size: 20px;
    padding: 0 48px 0 40px;
  }

  section.faq .faq-box .box .question::before {
    position: absolute;
    top: -4px;
    left: 0;
  }

  section.faq .faq-box .box .question::after {
    top: 16px;
  }

  section.faq .faq-box .box .answer {
    position: relative;
    font-size: 16px;
    margin-top: 24px;
    padding: 16px 0 0 40px;
  }

  section.faq .faq-box .box .answer::before {
    position: absolute;
    top: 8px;
    left: 0;
  }

  section.faq .faq-box .box .answer.active {
    display: block;
    animation: fadeInDown 0.3s ease-out;
  }
}

@media (max-width: 768px) {
  section.faq .head span {
    font-size: 64px;
  }

  section.faq .head h2 {
    font-size: 32px;
    margin: -48px 0 24px;
  }

  section.faq .faq-box .box {
    padding: 24px;
    margin-bottom: 20px;
  }

  section.faq .faq-box .box .question {
    font-size: 18px;
    padding: 0 48px 0 40px;
  }

  section.faq .faq-box .box .question::after {
    font-size: 40px;
    top: 14px;
  }

  section.faq .faq-box .box .answer {
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  section.faq .head {
    margin: 0 0 24px;
  }

  section.faq .head span {
    font-size: 64px;
  }

  section.faq .head h2 {
    font-size: 28px;
    margin: -48px 0 0;
  }
}

section .google-map {
  width: 100%;
  height: 380px;
}

section.bottom-access {
  padding-top: 0;
}

section.bottom-access .head {
  text-align: center;
  margin: 48px 0 40px;
}

section.bottom-access .head span {
  color: rgba(123, 204, 207, 0.2);
  font-size: 96px;
  font-weight: 600;
}

section.bottom-access .head h2 {
  font-size: 48px;
  margin: -80px 0 24px;
}

@media (max-width: 1200px) {
  section.bottom-access .head span {
    font-size: 80px;
  }

  section.bottom-access .head h2 {
    font-size: 40px;
  }
}

@media (max-width: 768px) {
  section.bottom-access .head span {
    font-size: 64px;
  }

  section.bottom-access .head h2 {
    font-size: 32px;
    margin: -48px 0 24px;
  }
}

@media (max-width: 576px) {
  section.bottom-access .head {
    margin: 40px 0 24px;
  }

  section.bottom-access .head span {
    font-size: 64px;
  }

  section.bottom-access .head h2 {
    font-size: 28px;
    margin: -48px 0 0;
  }
}

footer {
  background: #1E293B;
  text-align: center;
  padding: 24px;
}

footer small {
  color: #fff;
  font-size: 16px;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

@keyframes scrollText {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes scrollTextLoop {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes scrollTextContinuous {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

.font-56 {
  font-size: 56px;
}

@media (max-width: 768px) {
  .font-56 {
    font-size: 48px;
  }
}

.font-48 {
  font-size: 48px;
}

@media (max-width: 768px) {
  .font-48 {
    font-size: 40px;
  }
}

.font-36 {
  font-size: 36px;
}

@media (max-width: 768px) {
  .font-36 {
    font-size: 30px;
  }
}

.font-32 {
  font-size: 32px;
}

@media (max-width: 768px) {
  .font-32 {
    font-size: 24px;
  }
}

.font-28 {
  font-size: 28px;
}

@media (max-width: 768px) {
  .font-28 {
    font-size: 24px;
  }
}

.font-24 {
  font-size: 24px;
}

@media (max-width: 768px) {
  .font-24 {
    font-size: 20px;
  }
}

.font-20 {
  font-size: 20px;
}

.font-16 {
  font-size: 16px;
}

.blue {
  color: #0CA3A9 !important;
}

@media (max-width: 1400px) {
  .inner {
    max-width: 1200px;
  }
}

@media (max-width: 1200px) {
  .inner {
    max-width: auto;
    width: 100%;
    padding: 0 40px;
  }
}

@media (max-width: 1024px) {
  body {
    padding-top: 96px;
  }
}

@media (max-width: 768px) {
  body {
    padding-top: 80px;
  }

  section {
    padding: 48px 0;
  }
}

@media (max-width: 576px) {
  .inner {
    padding: 0 16px;
  }

  section {
    padding: 40px 0;
  }
}

@media print {
  header {
    position: static;
    box-shadow: none;
  }

  body {
    padding-top: 0;
  }

  .btn,
  .hamburger {
    display: none;
  }

  * {
    animation: none !important;
    transition: none !important;
  }
}

.campaign-contact-section {
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("../img/bg-pick.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

@media (max-width: 768px) {
  .campaign-contact-section {
    background-attachment: scroll;
  }
}

.cta-box {
  display: none;
}

@media (max-width: 768px) {
  footer {
    margin-bottom: 92px;
  }

  .cta-box {
    position: fixed;
    display: flex;
    width: 100%;
    left: 0;
    bottom: 0;
    z-index: 999;
    gap: 2px;
    padding: 16px;
    background: #fff;
  }

  .cta-box .btn {
    display: block;
    height: 92px;
    padding: 8px;
    border-radius: 0;
    line-height: 1.3;
  }

  .cta-box .btn img {
    display: block;
    height: 32px;
    margin: 0 auto;
  }

  .cta-box .btn-cta {
    text-align: center;
    justify-content: center;
    margin: 0 auto;
  }
}

.ctbtn1 {
  width: 86.1111111111vw;
  max-width: 500px;
  display: block;
  text-align: center;
  background-color: #36BABF;
  color: #FFFFFF;
  border-radius: 50vmax;
  margin: 1em auto 0 auto;
  padding: 0.4em;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

.ctbtn1 strong {
  display: block;
  font-size: 1.4em;
}

.ctbtn1 span {
  font-weight: bold;
  font-size: 1.2em;
}

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


















/* =========================================
  2026/05下記修正　緊急性高めのためimportant使用している部分あり、
  後日important使わないように修正
========================================= */
/* =========================================
   全体設定・変数
========================================= */
:root {
  --bg: #ffffff;
  --bg-light: #Fcfaf7;
  --accent: #0CA3A9;
  /* VICTORYのティールブルー */
  --sub-color: #C49B5A;
  /* VICTORYのゴールド */
  --text: #1E293B;
  --text-dark: #2c2c2c;
  /* FV用テキスト */
  --text-light: #7a7a7a;
  --border-color: #e8e1da;
  --serif: "Shippori Mincho", "Noto Serif JP", serif;
  --sans: "Noto Sans JP", sans-serif;
  --transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* =========================================
   Header & Navigation
========================================= */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1200;
  padding: 13px 5%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: var(--transition);
}

.header.scrolled {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  padding: 10px 5%;
  border-bottom: 1px solid var(--border-color);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

.header.menu-open {
  background: transparent;
  border-bottom: none;
  box-shadow: none;
}

.header__logo {
  z-index: 1100;
}

.logo-img {
  height: clamp(40px, 6vw, 60px);
  width: auto;
  object-fit: contain;
}

/* --- PC Nav --- */
.pc-nav {
  display: none;
}

/* --- スマホ Burger Button --- */
.burger {
  width: 44px;
  height: 44px;
  padding: 12px 7px;
  position: relative;
  cursor: pointer;
  z-index: 1300;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 0.3s;
  background: var(--accent);
  border-radius: 4px;
}

.burger span {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: 0.3s;
}

.header.menu-open .burger {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* --- スマホ Drawer Menu --- */
.nav-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1600;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s ease;
  backdrop-filter: blur(3px);
}

.nav-backdrop.open {
  opacity: 1;
  visibility: visible;
}

.nav-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 50px;
  height: 50px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1610;
  opacity: 0;
  transform: translateY(-10px);
  transition: 0.4s ease 0.2s;
}

.nav-backdrop.open .nav-close {
  opacity: 1;
  transform: translateY(0);
}

.nav-close::before,
.nav-close::after {
  content: '';
  position: absolute;
  width: 28px;
  height: 2px;
  background: #fff;
}

.nav-close::before {
  transform: rotate(45deg);
}

.nav-close::after {
  transform: rotate(-45deg);
}

.mobile-nav {
  position: fixed;
  top: 0;
  left: -100%;
  width: 75%;
  max-width: 320px;
  height: 100vh;
  background: var(--bg);
  box-shadow: 10px 0 30px rgba(0, 0, 0, 0.1);
  z-index: 1700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 40px;
  gap: 20px;
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  overflow-y: auto;
}

.mobile-nav.open {
  left: 0;
}

.mobile-nav a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding-bottom: 15px;
  transition: 0.3s;
}

.mobile-nav a:last-child {
  border-bottom: none;
}

.mobile-nav a:hover .nav-ja {
  color: var(--accent);
  padding-left: 5px;
}

.nav-en {
  font-family: var(--serif);
  font-size: 11px;
  color: var(--sub-color);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.nav-ja {
  font-family: var(--serif);
  font-size: 16px;
  color: var(--text);
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: 0.3s;
}

/* =========================================
   VICTORY WORKOUT：洗練FV（ベース/PC）
========================================= */
.mv-elegant {
  background: var(--bg-light);
  padding-top: 150px;
  padding-bottom: 150px;
  overflow: hidden;
  text-align: center;
}

.mv-text-area {
  position: relative;
  z-index: 20;
}

.main-catch-title {
  font-family: var(--serif);
  font-size: 42px;
  color: var(--text-dark);
  line-height: 1.4;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.main-catch-title .sub-label {
  font-size: 0.5em;
  color: var(--accent);
  display: block;
  margin-top: 5px;
  font-weight: 700;
}

/* --- 価格エリア --- */
.price-box {
  position: relative;
  padding: 5px 0;
  margin-top: 5px;
  margin-bottom: -10px;
  z-index: 25;
}

.price-box::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);
  width: 200px;
  height: 100px;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(8px);
  border-radius: 50%;
  z-index: -1;
  filter: blur(10px);
}

.price-box .badge {
  background: var(--accent);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 14px;
  border-radius: 20px;
  margin-bottom: 3px;
  display: inline-block;
}

.price-wrap {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  color: var(--sub-color);
  font-family: var(--serif);
  position: relative;
  padding-bottom: 5px;
  text-shadow: 0 0 15px #fff, 0 0 5px #fff;
}

.price-wrap::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 5%;
  width: 90%;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--sub-color), transparent);
  opacity: 0.6;
}

.price-wrap .label {
  font-size: clamp(14px, 2vw, 18px);
  margin-right: 5px;
  font-weight: 700;
}

.price-wrap .number {
  font-size: clamp(65px, 14vw, 110px);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 500;
}

.price-wrap .unit {
  font-size: clamp(16px, 3vw, 24px);
  margin-left: 2px;
  font-weight: 700;
}

/* --- 中央：ビジュアル --- */
.mv-visual-area {
  position: relative;
  width: 85%;
  max-width: 380px;
  margin: 0 auto;
  z-index: 10;
}

.deco-circle-bg-1 {
  position: absolute;
  top: -5%;
  left: -10%;
  width: 60%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(196, 155, 90, 0.12) 0%, transparent 70%);
}

.deco-circle-bg-2 {
  position: absolute;
  bottom: 5%;
  right: -10%;
  width: 50%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(12, 163, 169, 0.08) 0%, transparent 70%);
}

.arch-frame {
  position: relative;
  z-index: 2;
  border-radius: 180px 180px 10px 10px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  background-color: #fff;
}

.deco-frame-gold {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 100%;
  height: 100%;
  border: 1px solid var(--sub-color);
  border-radius: 180px 180px 10px 10px;
  z-index: 1;
  opacity: 0.7;
}

.arch-img {
  width: 100%;
  aspect-ratio: 4 / 4.6;
  object-fit: cover;
  display: block;
  filter: contrast(1.02) brightness(1.02);
}

.arch-frame::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, transparent 40%);
  pointer-events: none;
  z-index: 3;
}

/* --- 下部：円形ベネフィット --- */
.mv-benefit-area {
  position: relative;
  z-index: 30;
  margin-top: -60px;
  padding: 0 4%;
}

.benefit-grid {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
  /* スマホ縮小時の安全策 */
  max-width: 900px;
  margin: 0 auto;
}

.b-circle {
  width: 150px;
  /* PCでは固定幅 */
  height: 150px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(196, 155, 90, 0.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.04);
  transition: 0.4s;
  will-change: transform;
}

.b-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  padding: 5px;
}

.e-main {
  font-family: var(--serif);
  font-size: clamp(13px, 3.2vw, 15px);
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.e-small {
  font-size: clamp(8px, 2.2vw, 10px);
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 2px;
}

.e-deco-line {
  width: 25px;
  height: 1px;
  background: var(--sub-color);
  margin: 6px 0;
  opacity: 0.6;
}

/* --- 最後のメッセージ --- */
.mv-footer-area {
  margin-top: 25px;
}

.final-msg {
  font-family: var(--serif);
  font-size: clamp(16px, 3.5vw, 24px);
  color: var(--text-dark);
  line-height: 1.5;
}

.marker {
  background: linear-gradient(transparent 65%, rgba(196, 155, 90, 0.2) 65%);
  padding: 0 4px;
  font-weight: 600;
}

/* =========================================
   アニメーション設定
========================================= */
.fade-up {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUpAnim 1s ease-out forwards;
}

.fade-in {
  opacity: 0;
  animation: fadeInAnim 1.5s ease-out forwards;
}

@keyframes fadeUpAnim {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInAnim {
  to {
    opacity: 1;
  }
}

@keyframes floatArch {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

.float-anim-1 {
  animation: floatArch 4s ease-in-out infinite;
}

.float-anim-2 {
  animation: floatArch 4s ease-in-out infinite 0.5s;
}

.float-anim-3 {
  animation: floatArch 4s ease-in-out infinite 1s;
}

.float-anim-4 {
  animation: floatArch 4s ease-in-out infinite 1.5s;
}


/* =========================================
   改行制御ユーティリティ
========================================= */
.sp-only-br {
  display: none;
}

.pc-only-br {
  display: none;
}


/* =========================================
   レスポンシブ：PC特化 (769px以上)
========================================= */
@media (min-width: 769px) {
  .pc-only-br {
    display: block;
  }

  .burger {
    display: none;
  }

  .pc-nav {
    display: flex;
    gap: 30px;
    align-items: center;
  }

  .pc-nav a {
    text-decoration: none;
    color: var(--text);
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    transition: 0.3s;
    position: relative;
  }

  .pc-nav a:hover {
    color: var(--accent);
  }

  .pc-nav a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 1.5px;
    background: var(--accent);
    transition: 0.3s;
  }

  .pc-nav a:hover::after {
    width: 100%;
  }

  .mv-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    align-items: center;
    padding-top: 20px;
  }

  .mv-text-area {
    width: 45%;
    text-align: left;
  }

  .price-wrap {
    justify-content: flex-start;
  }

  .mv-visual-area {
    width: 35%;
    margin: 0;
  }
}


/* =========================================
   レスポンシブ：スマホ特化 (768px以下)
========================================= */
@media (max-width: 768px) {
  .sp-only-br {
    display: block;
  }

  /* 余白リセット */
  .mv-elegant {
    padding-top: 10px;
    padding-bottom: 50px;
  }

  /* 2. メインコピーをコンパクトに */
  .main-catch-title {
    font-size: 22px;
    /* 24〜28pxから22pxへ縮小 */
    line-height: 1.4;
    margin-bottom: 8px;
  }

  /* 価格エリア */
  .price-box {
    margin-bottom: -15px;
    padding: 0;
  }

  .price-wrap .number {
    font-size: 68px;
  }

  /* 3. 価格エリア：縦に積んでスッキリ整列 */
  /* .price-box {
        display: flex;
        flex-direction: column; 
        align-items: center;
        margin-top: 0;
        margin-bottom: -45px; 
        z-index: 25;
    } */

  /* 「通い放題」バッジを上品なラベルに */
  .price-box .badge {
    background: transparent;
    color: var(--accent);
    font-size: 11px;
    font-weight: 700;
    padding: 0;
    margin-bottom: -5px;
    /* 金額との距離を詰める */
    display: block;
    letter-spacing: 0.05em;
  }

  /* 背景のボケ（すりガラス）を最小限に */
  .price-box::before {
    width: 140px;
    height: 60px;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(2px);
    filter: blur(5px);
  }

  .price-wrap {
    display: flex;
    justify-content: center;
    align-items: baseline;
  }

  .price-wrap .number {
    font-size: 44px;
    /* 68pxから44pxへ大幅縮小。これが正解です */
    line-height: 1;
  }

  .price-wrap .label,
  .price-wrap .unit {
    font-size: 12px;
  }

  .price-wrap::after {
    display: none;
  }

  /* スマホでは線を消してシンプルに */

  /* ビジュアル */
  /* .mv-visual-area { max-width: 300px; width: 85%; } */
  /* 4. 画像エリアの幅を絞る */
  .mv-visual-area {
    max-width: 280px;
    /* 横幅を少し狭めることで、縦の圧迫感を減らす */
  }

  /* 円形ベネフィット（2行2列の可変レイアウトに） */
  .mv-benefit-area {
    margin-top: -90px;
  }

  .benefit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 0 5%;
  }

  .b-circle {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    min-height: 80px;
    padding: 8px;
  }

  .e-main {
    font-size: clamp(12px, 3.5vw, 15px);
  }

  /* 最後のメッセージ */
  .mv-footer-area {
    margin-top: 20px;
  }

  /* スマホ版浮遊アニメーション軽減 */
  @keyframes floatArch {

    0%,
    100% {
      transform: translateY(0);
    }

    50% {
      transform: translateY(-6px);
    }
  }
}






/* =========================================
   固定CTA改善
========================================= */

@media (max-width: 560px) {
  .fixed-cta-box {
    margin: 32px 0 0;
    padding: 24px 0;
    /* 余白を48pxから半分の24pxに */
  }

  .fixed-cta-box p br {
    display: block;
  }

  .fixed-cta-box p span {
    font-size: 32px;
    /* 48pxから32pxに縮小 */
    font-family: "Roboto", sans-serif;
  }

  .fixed-cta-box .font-22 {
    font-size: 12px;
    /* さらに小さく */
  }

  .fixed-cta-box .font-24 {
    font-size: 14px;
    /* さらに小さく */
  }

  .fixed-cta-box .font-32 {
    line-height: 1.2;
    font-size: 20px;
    /* 36pxから20pxに縮小 */
    margin-top: 8px;
  }

  .fixed-cta-box .font-32 br {
    display: block;
  }

  .fixed-cta-box small {
    font-size: 10px;
    /* 限界まで小さく */
    margin-top: 10px;
  }
}

@media (max-width: 480px) {
  .btn-cta {
    width: 100%;
    max-width: 280px;
    /* 幅を少し絞ってスタイリッシュに */
    height: 48px;
    /* 70pxから48pxへ大幅カット！ */
    font-size: 14px;
    /* 18pxから14pxへ */
    padding: 0;
    margin: 16px auto 0;
    justify-content: center;
    /* 文字を真ん中に */
  }

  .btn-cta::after {
    display: none;
  }
}

@media (max-width: 480px) {
  .btn-cta {
    width: 100%;
    max-width: 280px;
    /* 幅を少し絞ってスタイリッシュに */
    height: 48px;
    /* 70pxから48pxへ大幅カット！ */
    font-size: 14px;
    /* 18pxから14pxへ */
    padding: 0;
    margin: 16px auto 0;
    justify-content: center;
    /* 文字を真ん中に */
  }

  .btn-cta::after {
    display: none;
  }
}

/* =========================================
   メインビジュアル：スマホ特化 (768px以下)
========================================= */
@media (max-width: 768px) {
  .sp-only-br {
    display: block;
  }

  .mv-elegant {
    padding-top: 20px;
    padding-bottom: 60px;
    overflow: hidden;
  }

  /* 1. メインコピー：品格を出す文字詰め */
  .main-catch-title {
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-bottom: 15px;
    font-weight: 600;
  }

  /* 2. 価格エリア：視認性最強・高見えゴールド */
  .price-box {
    margin-bottom: -5px;
    position: relative;
    z-index: 20;
    /* 写真より確実に上に */
  }

  .price-wrap {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 2px;
  }

  .price-wrap .label,
  .price-wrap .unit {
    font-size: 11px;
    font-weight: 700;
    color: #ca8a04;
    /* ゴールド系 */
  }

  .price-wrap .number {
    font-size: 72px;
    /* ドカンと大きく */
    font-weight: 800;
    font-family: 'Inter', 'Roboto', sans-serif;
    /* 数字が綺麗に見えるフォント */
    line-height: 1;
    letter-spacing: -0.05em;
    /* 文字を詰めてプロっぽく */
    /* 高級感のあるゴールドグラデーション */
    background: linear-gradient(135deg, #f59e0b 0%, #ca8a04 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #ca8a04;
    /* フォールバック */
  }

  /* 3. 画像エリア：スリムなアーチ */
  .mv-visual-area {
    max-width: 260px;
    margin: 0 auto;
    border-radius: 150px 150px 0 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  }

  /* 4. 円形ベネフィット：互い違い配置で脱パクリ */
  .mv-benefit-area {
    margin-top: -65px;
    position: relative;
    z-index: 25;
  }

  .benefit-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    padding: 0 15px;
  }

  .b-circle {
    width: 44%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px;
  }

  /* 奇数番目(左側)と偶数番目(右側)で高さを変えて動きを出す */
  .b-circle:nth-child(even) {
    transform: translateY(20px);
  }

  .e-main {
    font-size: clamp(12px, 3.5vw, 14px);
    line-height: 1.4;
    font-weight: 800;
    text-align: center;
  }
}

/* =========================================
   固定CTA：キラリと光るアニメーション
========================================= */
@media (max-width: 480px) {
  .btn-cta {
    width: 90%;
    max-width: 320px;
    height: 56px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 50px;
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    box-shadow: 0 4px 20px rgba(22, 163, 74, 0.4);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto;
    color: #fff;
    text-decoration: none;
  }

  .btn-cta::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -150%;
    width: 100%;
    height: 200%;
    background: rgba(255, 255, 255, 0.3);
    transform: rotate(45deg);
    animation: shine 3s infinite;
  }
}

@keyframes shine {
  0% {
    left: -150%;
  }

  20% {
    left: 150%;
  }

  100% {
    left: 150%;
  }
}

.price-wrap .number {
  /* 1. 白抜きを解除して、色をベタ塗り */
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: initial !important;

  /* 2. シンプルで落ち着いたゴールド系の色（ここをお好みの色に） */
  color: #b59562 !important;

  /* 3. 太さとフォントを標準的に戻す */
  font-size: 72px !important;
  font-weight: 800 !important;
  font-family: sans-serif !important;
  line-height: 1;
  letter-spacing: -0.02em;
}

/* =========================================
   最終確定版：スマホ特化 完璧ブラッシュアップ
========================================= */

@media (max-width: 768px) {
  .sp-only-br {
    display: block !important;
  }

  /* 1. 全体を上に引き上げ、余白を詰める */
  .mv-elegant {
    padding-top: 10px !important;
    /* FVを限界まで上へ */
    padding-bottom: 50px;
    overflow: hidden;
    background: #Fcfaf7;
    /* ほんのり高級感のあるパールホワイト背景 */
  }

  .main-catch-title {
    font-size: 21px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 10px !important;
    font-weight: 600 !important;
    color: #1E293B !important;
  }

  .main-catch-title .sub-label {
    font-size: 11px !important;
    margin-top: 4px !important;
  }

  /* 2. 価格エリア：上品なゴールドベタ塗り */
  .price-box {
    margin-bottom: -15px !important;
    /* 写真にグッと近づける */
    position: relative;
    z-index: 20 !important;
  }

  .price-box .badge {
    background: transparent;
    color: #0CA3A9 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 0 !important;
    margin-bottom: -2px !important;
  }

  .price-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: baseline !important;
    gap: 4px !important;
  }

  .price-wrap::after {
    display: none !important;
  }


  .price-wrap .number {
    font-size: 72px !important;
    /* ドカンと大きく */
    font-weight: 700 !important;
    font-family: 'Montserrat', 'Inter', sans-serif !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
    color: #b59562 !important;
    /* 白抜き解除、ベタ塗り */
    -webkit-text-stroke: 0 !important;
    text-shadow: 0 4px 12px rgba(181, 149, 98, 0.25) !important;
    /* 高級感のある後光 */
  }

  /* 3. 画像エリア：角丸長方形＋ずらし金枠（アーチ廃止でピケ対策完了） */
  .mv-visual-area {
    position: relative;
    width: 85% !important;
    max-width: 270px !important;
    margin: 0 auto !important;
    z-index: 10 !important;
  }

  .arch-frame {
    border-radius: 20px !important;
    /* アーチをやめて角丸四角形に */
    border: 4px solid #fff !important;
    /* 白フチで写真をパキッとさせる */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    position: relative;
    z-index: 2;
    overflow: hidden;
  }

  .arch-frame::after {
    display: none !important;
  }

  /* 古いグラデーション削除 */

  .arch-img {
    width: 100% !important;
    aspect-ratio: 4 / 4.6 !important;
    object-fit: cover !important;
  }

  /* ずらしたゴールドの枠線（これぞ今どき！） */
  .deco-frame-gold {
    position: absolute !important;
    top: -10px !important;
    left: -10px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1px solid #b59562 !important;
    border-radius: 20px !important;
    z-index: 1 !important;
  }

  /* 4. 円形ベネフィット：互い違い＋ダッシュ線装飾 */
  .mv-benefit-area {
    margin-top: -30px !important;
    /* 重なりを四角に合わせて微調整 */
    position: relative;
    z-index: 25 !important;
  }

  .benefit-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 0 10px !important;
  }

  .b-circle {
    width: 45% !important;
    aspect-ratio: 1/1 !important;
    height: auto !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(4px) !important;
    border: none !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
    position: relative !important;
    padding: 0 !important;
  }

  /* 円形の内側に、高級感のあるステッチ（点線）を配置 */
  .b-circle::after {
    content: "" !important;
    position: absolute !important;
    top: 5px !important;
    left: 5px !important;
    right: 5px !important;
    bottom: 5px !important;
    border: 1px dashed rgba(181, 149, 98, 0.4) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
  }

  /* 奇数・偶数で段差をつけて「動き」を出す（脱・お行儀良すぎ） */
  .b-circle:nth-child(even) {
    transform: translateY(20px) !important;
  }

  .b-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 2;
  }

  .e-small {
    color: #0CA3A9 !important;
    font-size: clamp(9px, 2.5vw, 11px) !important;
  }

  .e-deco-line {
    background: #b59562 !important;
    margin: 4px 0 !important;
    width: 20px !important;
  }

  .e-main {
    font-size: clamp(12px, 3.2vw, 14px) !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
  }

  /* 5. フッターメッセージ & 注釈 */
  .mv-footer-area {
    margin-top: 40px !important;
  }

  .final-msg {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

}

/* =========================================
   注釈（.mv-note）のサイズと位置調整
========================================= */

/* ▼ PC版（769px以上）の設定 */
@media (min-width: 769px) {
  main section#mv .mv-note {
    font-size: 11px;
    /* PCでは読みやすいサイズに */
    margin-top: 10px;
  }
}

/* ▼ スマホ版（768px以下）の設定 */
@media (max-width: 768px) {
  main section#mv .mv-note {
    font-size: 8px;
    /* スマホでは目立たないように小さく */
    margin-top: 15px;
    line-height: 1.4;
  }
}



/* =========================================
   PC版（769px以上）のバッジと価格の縦並び修正
========================================= */
@media (min-width: 769px) {
  .price-box {
    display: flex;
    flex-direction: column;
    /* 縦に並べる設定 */
    align-items: flex-start;
    /* PC版は左寄せにする */
  }

  .price-box .badge {
    margin-bottom: 10px;
    /* バッジと金額の間に少し隙間を空ける */
  }

  /* ついでにPC版の単位(税込)もバランス良く調整 */
  .price-wrap {
    align-items: baseline;
  }

  .price-wrap .unit small {
    font-size: 16px;
    margin-left: 4px;
  }
}


/* --- Floating W-CTA (2行ボタン化) --- */
.floating-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  z-index: 1500;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--border-color);
  padding: 10px 3%;
  gap: 10px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.05);
}

.floating-cta a {
  text-decoration: none;
  border-radius: 50px;
  transition: 0.3s;
  position: relative;
  overflow: hidden;
}

.floating-cta a::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 20%;
  height: 200%;
  background: rgba(255, 255, 255, 0.4);
  transform: rotate(45deg);
  animation: shine 3s infinite;
}

@keyframes shine {
  0% {
    left: -50%;
  }

  20% {
    left: 150%;
  }

  100% {
    left: 150%;
  }
}

.cta-line {
  flex: 1;
  display: flex;
  flex-direction: column;
  /* 縦並びに追加 */
  align-items: center;
  justify-content: center;
  padding: 8px 5px;
  /* 予約ボタンと余白を統一 */
  text-align: center;
  color: #fff;
  background: linear-gradient(135deg, #06c755 0%, #05a647 100%);
  /* box-shadow: 0 4px 15px rgba(6, 199, 85, 0.3); */
}

.cta-line:hover {
  transform: translateY(-2px);
  /* box-shadow: 0 6px 20px rgba(6, 199, 85, 0.4); */
}

.cta-reserve {
  flex: 1.3;
  /* 予約ボタンの存在感を出すため比率を大きく */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 5px;
  /* 修正：濁りのないクリアな水色からメインカラーへ */
  /* background: linear-gradient(135deg, #0CA3A9 50%, #0CA3A9 100%); */
  background: #0CA3A9;
  color: #fff;
  /* 修正：影を「青系」に変更。これで濁りが消えます */
  /* box-shadow: 0 6px 20px rgba(12, 163, 169, 0.25); */
  border: 1px solid rgba(255, 255, 255, 0.4);
  position: relative;
  overflow: hidden;
  border-radius: 50px;
}

.cta-line .micro,
.cta-reserve .micro {
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 1px;
  letter-spacing: 0.05em;
}

.cta-line .main,
.cta-reserve .main {
  display: flex;
  align-items: center;
  justify-content: center;
  /* 中央寄せ */
  gap: 6px;
  font-weight: 700;
  font-family: var(--jp-serif);
  /* ここがアイコンに干渉しないようにします */
  letter-spacing: 0.05em;
}

/* アイコン専用の強制リセット設定 */
.main i {
  font-family: "Font Awesome 5 Brands", "Font Awesome 5 Free", "Font Awesome 6 Brands", "Font Awesome 6 Free" !important;
  font-style: normal;
  display: inline-block;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.cta-reserve:hover {
  transform: translateY(-2px);
  /* box-shadow: 0 6px 20px rgba(230, 92, 0, 0.4); */
}

/* クリックした瞬間に少しだけボタンを小さくして「押し心地」を表現 */
.cta-line:active,
.cta-reserve:active {
  transform: scale(0.97) !important;
  /* 影なしで「押した」ことを直感的に伝える */
  transition: 0.1s;
}


@media (max-width: 768px) {
  /* ...既存のスマホ用CSS... */

  /* 👇スマホの時だけCTAボタンの文字サイズと余白を調整 */
  .cta-line {
    padding: 8px 2px;
    /* スマホの時だけ左右の余白を極限まで削る */
  }

  .cta-line .micro,
  .cta-reserve .micro {
    font-size: 9px;
    /* margin-bottom: 5px; */

  }

  .cta-line .main {
    font-size: 13px;
    /* 固定で十分であればこちら */
  }

  .cta-reserve .main {
    font-size: 14px;
  }
}


/* =========================================
   FV 価格エリア：横並び強制・改行禁止　　→後日手末いimportantなくす上と統合
========================================= */
@media (max-width: 768px) {
  .price-wrap {
    display: flex !important;
    flex-direction: row !important;
    /* 絶対に横並び */
    flex-wrap: nowrap !important;
    /* 絶対に折り返さない */
    align-items: baseline !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
  }

  .price-wrap .label,
  .price-wrap .unit {
    font-size: 14px !important;
    /* ほんの少し小さくして余裕を作る */
    white-space: nowrap !important;
    /* 「月額」が縦になるのを物理的に防ぐ */
    display: inline-block !important;
  }

  .price-wrap .number {
    /* 画面幅が極端に狭い機種（iPhone SEなど）でも収まるようvwで調整 */
    font-size: clamp(48px, 16vw, 72px) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }
}


/* =========================================
   表示バグ・消失の最終対策パッチ
========================================= */

/* 1. ヘッダーとCTAを常にGPU（グラフィックチップ）で描画させる */
header,
.header,
.floating-cta {
  /* 3D空間に配置してレイヤーを独立させ、消えるのを防ぐ */
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  /* 描画の優先度を上げ、チラつきを抑える */
  will-change: transform, opacity;
}

/* 2. 「戻る」ボタン等で背景が透明になるのを防ぐため、不透明度を上げる */
.floating-cta {
  background: rgba(255, 255, 255, 0.98);
  /* ほぼ白にして安定化 */
  /* ぼかしがバグの原因になりやすいので、少し弱めるか安定させる */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* 3. ロゴ画像が消えるのを防ぐ */
.header__logo,
.header__logo a,
.header__logo img {
  opacity: 1;
  visibility: visible;
  transform: translateZ(0);
}

/* 4. タップした瞬間にボタンが黒ずむバグへの対策 */
.floating-cta a {
  -webkit-tap-highlight-color: transparent;
  /* タップ時の青い枠を消す */
}







/* =========================================
   【最終確定】Victory Workout 安定化＆デザインパッチ
   (Safari描画バグ修正 + FVめり込み + バッジ調整)
========================================= */

/* --- 1. ヘッダー本体：透過と安定化の定義 --- */
body header#top.header {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  isolation: isolate;
  /* ロゴを背景計算から完全に隔離 */
  transition: all 0.4s ease !important;
}

/* --- 2. 背景レイヤー：ぼかし(グラスモーフィズム)を担当 --- */
header#top.header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(255, 255, 255, 0.15);
  /* 通常時：薄い白 */
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: all 0.4s ease;
}

/* スクロール時：背景レイヤーのみを変化 */
header#top.header.scrolled::before {
  background: rgba(255, 255, 255, 0.98);
  /* 描画を安定させるため不透明度を上げる */
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

/* --- 3. ロゴ：キャッシュされた黒塗りを強制リセット --- */
header#top.header .header__logo a img.logo-img {
  background: transparent;
  filter: none;
  transform: none;
  will-change: auto;
  /* Safariの描画メモリをリセット */
  opacity: 1;
  visibility: visible;
}

/* --- 4. スマホ・タブレット特化調整 (768px以下) --- */
@media (max-width: 768px) {

  /* FVの限界めり込み */
  .mv-elegant {
    margin-top: -90px !important;
    padding-top: 75px !important;
  }

  .main-catch-title {
    margin-bottom: 0px !important;
  }

  /* 通い放題バッジ：視認性アップ */
  .price-box .badge {
    background: #0CA3A9 !important;
    color: #fff !important;
    padding: 5px 16px !important;
    border-radius: 30px !important;
    display: inline-block;
    font-weight: 700;
    letter-spacing: 0.05em !important;
    margin-top: 2px !important;
    margin-bottom: 2px !important;

  }

  /* 価格：横並びを絶対に死守（iPhone SE対策） */
  .price-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 4px !important;
  }

  .price-wrap .label,
  .price-wrap .unit {
    font-size: 16px;
    white-space: nowrap !important;
    color: #b59562;
  }

  .price-wrap .number {
    font-size: clamp(48px, 16vw, 72px) !important;
    line-height: 1 !important;
    color: #b59562 !important;
  }
}

/* --- 5. 固定CTAの最終安定化 --- */
.floating-cta {
  transform: translateZ(0);
  /* GPU描画強制 */
  -webkit-transform: translateZ(0);
}

.floating-cta a {
  -webkit-tap-highlight-color: transparent;
}