/*
Theme Name: pp-solutions
Author: System Assist Co., LTD.
Author URI: https://www.system-assist.com/
Description: example.co.jp
Version: 1.0
Tags: website
*/
/*+++++++++++++++++++++++++++++++++++++++++++
	common
+++++++++++++++++++++++++++++++++++++++++++ */
p,
time,
mark,
a {
  font-weight: 500;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	page
+++++++++++++++++++++++++++++++++++++++++++ */
/*+++++++++++++++++++++++++++++++++++++++++++ パンくず */
#breadcrumbsList {
  max-width: 1080px;
  margin: 0 auto 50px;
  font-size: 1.4rem;
  line-height: normal;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #breadcrumbsList {
    font-size: 2.8vw;
    padding: 0 10px;
  }
}
#breadcrumbsList a {
  font-weight: bold;
  text-decoration: underline;
  color: #19242a;
}
#breadcrumbsList a:hover {
  text-decoration: none;
}
#breadcrumbsList li {
  display: inline-block;
  font-weight: normal;
  color: #00a1ff;
}
#breadcrumbsList li + li::before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin: 0 14px 0 10px;
  font-size: 1.2rem;
  color: #19242a;
}
@media screen and (max-width: 767px) {
  #breadcrumbsList li + li::before {
    margin: 0 5px 0 3px;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++ wordpress */
/* -------------------------------- イメージ */
.wp-block-image figcaption {
  text-align: right;
}
/* -------------------------------- テーブル */
.wp-block-table {
  margin-top: 54px;
}
@media screen and (max-width: 767px) {
  .wp-block-table {
    margin: 10vw 0 0;
  }
}
.wp-block-table thead {
  border-bottom: 0!important;
}
.wp-block-table table {
  width: 100%;
  margin: 0 0 20px;
  text-align: center;
}
.wp-block-table table tr th {
  padding: 18px 20px;
  border: #646464 1px solid;
  border-bottom: 0;
  background: #40c9db;
  color: #fff;
  text-align: center;
  font-size: 2.1rem;
}
@media screen and (max-width: 767px) {
  .wp-block-table table tr th {
    font-size: 4.2vw;
    padding: 3vw 3vw;
  }
}
.wp-block-table table tr th:first-child {
  background: transparent;
  color: #000000;
  width: 321px;
}
@media screen and (max-width: 767px) {
  .wp-block-table table tr th:first-child {
    width: auto;
  }
}
.wp-block-table table tr th:last-child {
  background: #ff7aa6;
}
.wp-block-table table tr td {
  padding: 9px 20px;
  border: #646464 1px solid;
}
@media screen and (max-width: 767px) {
  .wp-block-table table tr td {
    padding: 2vw;
  }
}
.wp-block-table table tr td:nth-child(2) {
  background: #ecf9fb;
}
.wp-block-table table tr td:nth-child(3) {
  background: #fff1f6;
}
.wp-block-table table .half-colored-cell {
  background: linear-gradient(to right, #ecf9fb 50%, #fff1f6 50%) !important;
  text-align: center;
}
/*+++++++++++++++++++++++++++++++++++++++++++ wordpress class */
main {
  padding: 0 0 100px;
}
main .has-text-align-center {
  text-align: center;
}
main .has-text-align-left {
  text-align: left;
}
main .has-text-align-right {
  text-align: right;
}
main .has-small-font-size {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  main .has-small-font-size {
    font-size: 2.8vw;
  }
}
main .has-medium-font-size {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  main .has-medium-font-size {
    font-size: 3.2vw;
  }
}
main .has-large-font-size {
  font-size: 2rem !important;
}
@media screen and (max-width: 767px) {
  main .has-large-font-size {
    font-size: 4vw;
  }
}
main .has-x-large-font-size {
  font-size: 2.4rem !important;
}
@media screen and (max-width: 767px) {
  main .has-x-large-font-size {
    font-size: 4.8vw;
  }
}
main .has-xx-large-font-size {
  font-size: 3.2rem !important;
}
@media screen and (max-width: 767px) {
  main .has-xx-large-font-size {
    font-size: 6.4vw;
  }
}
main .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
main .alignleft {
  float: left;
  margin: 0em 2em 1em 0;
}
main .alignright {
  float: right;
  margin: 0em 0 1em 2em;
}
@media screen and (max-width: 767px) {
  main .alignleft,
  main .alignright {
    float: none;
    margin: 0 auto 1em;
    text-align: center;
  }
}
main .has-text-align-right {
  text-align: right;
}
main .has-text-align-center {
  text-align: center;
}
main .wp-block-image .aligncenter,
main .wp-block-image .alignleft,
main .wp-block-image .alignright,
main .wp-block-image.aligncenter,
main .wp-block-image.alignleft,
main .wp-block-image.alignright {
  display: table;
}
main .is-layout-flex {
  display: flex;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  main .is-layout-flex {
    flex-wrap: wrap;
  }
}
main .wp-block-column {
  flex-grow: 1;
  flex-basis: 0;
}
@media screen and (max-width: 767px) {
  main .wp-block-column {
    flex-basis: 100%!important;
  }
}
main .wp-block-buttons > .wp-block-button {
  display: inline-block;
  margin: 0;
}
main .wp-block-buttons > .wp-block-button .wp-block-button__link {
  display: flex;
  max-width: max-content;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 300px;
  min-height: 48px;
  background: #fff;
  padding: 5px 20px;
  border-radius: 50px;
  border: #00a1ff 2px solid;
  color: #00a1ff;
  font-weight: bold;
  text-decoration: none;
}
main .wp-block-buttons > .wp-block-button .wp-block-button__link:hover {
  background: #00a1ff;
  color: #fff;
}
.wp-block-columns > .wp-block-column:nth-child(4n+1) {
  transition-delay: 0s;
}
.wp-block-columns > .wp-block-column:nth-child(4n+2) {
  transition-delay: 0.2s;
}
.wp-block-columns > .wp-block-column:nth-child(4n+3) {
  transition-delay: 0.4s;
}
@media screen and (max-width: 767px) {
  .wp-block-columns > .wp-block-column:nth-child(4n+3) {
    transition-delay: 0s;
  }
}
.wp-block-columns > .wp-block-column:nth-child(4n+4) {
  transition-delay: 0.6s;
}
@media screen and (max-width: 767px) {
  .wp-block-columns > .wp-block-column:nth-child(4n+4) {
    transition-delay: 0.2s;
  }
}
/* -------------------------------- pagenation */
.pagenation {
  margin: 70px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .pagenation {
    margin: 25px 0 30px;
    gap: 10px;
  }
}
.pagenation .current {
  pointer-events: none;
  background: #00a1ff;
  color: #fff;
}
.pagenation span,
.pagenation a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 37px;
  text-decoration: none;
  color: #000000;
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .pagenation span,
  .pagenation a {
    font-size: 1.6rem;
    width: 30px;
    height: 30px;
  }
}
.pagenation span:hover,
.pagenation a:hover {
  background: #00a1ff;
  color: #fff;
}
.pagenation .prev,
.pagenation .next {
  border: none;
}
.pagenation .prev:hover,
.pagenation .next:hover {
  background: transparent;
  color: #00a1ff;
  opacity: 0.7;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	汎用スタイル
+++++++++++++++++++++++++++++++++++++++++++ */
h2 {
  font-size: 3.5rem;
  font-weight: bold;
  color: #00a1ff;
  margin-bottom: 40px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 7vw;
    margin-bottom: 35px;
    padding: 0;
  }
}
.text_style {
  line-height: 2.3;
  max-width: 1080px;
  margin: 0 auto;
  margin-bottom: 118px !important;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .text_style {
    margin-bottom: 60px!important;
    width: auto;
    padding: 0 10px;
  }
}
.cap_Style figcaption {
  background: #63bdff;
  color: #fff;
  border-left: 8px solid #00a1ff;
  padding: 4px 33px 7px 25px;
  margin-top: 10px;
}
.mv {
  padding: 334px 0 23vw 0;
}
@media screen and (max-width: 1023px) {
  .mv {
    padding: 262px 0 28vw 0;
  }
}
@media screen and (max-width: 767px) {
  .mv {
    padding: 33vw 0 40vw 0;
  }
}
.mv::before {
  height: 50%;
}
.mv::after {
  height: 50%;
}
.mv h1 {
  font-size: 8rem;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
}
@media screen and (max-width: 767px) {
  .mv h1 {
    font-size: 13vw;
  }
}
.cmsArea {
  max-width: 1118px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .cmsArea {
    width: auto;
    padding: 0 10px;
  }
}
.cmsArea2 {
  max-width: 1118px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .cmsArea2 {
    width: auto;
    padding: 0 10px;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	sponsors
+++++++++++++++++++++++++++++++++++++++++++ */
.sponsors {
  padding-bottom: 0;
}
.sponsors a {
  text-decoration: none;
}
.sponsors .cmsArea figure img {
  width: 100%;
  height: 171px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .sponsors .cmsArea figure img {
    height: auto;
  }
}
.sponsors .cmsArea .wp-block-columns {
  gap: 66px;
}
@media screen and (max-width: 1023px) {
  .sponsors .cmsArea .wp-block-columns {
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .sponsors .cmsArea .wp-block-columns {
    gap: 25px;
  }
}
.sponsors .cmsArea .wp-block-columns .wp-block-column {
  margin-bottom: 83px;
}
@media screen and (max-width: 767px) {
  .sponsors .cmsArea .wp-block-columns .wp-block-column {
    gap: 25px;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 767px) {
  .sponsors .cmsArea .wp-block-columns .wp-block-column:last-child {
    margin-bottom: 50px;
  }
}
.contact {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .contact {
    width: auto;
    padding: 0 10px;
  }
}
.contact h2 {
  margin-top: 138px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .contact h2 {
    margin-top: 20vw;
  }
}
.contact .text_style {
  margin-bottom: 0;
  padding: 0;
}
.contact .btn {
  min-width: 565px;
  padding: 18px 0;
  margin-top: 70px;
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .contact .btn {
    min-width: auto;
    width: 100%;
    margin-top: 35px;
    padding: 3.3vw 0;
    font-size: 4vw;
  }
}
.contact .btn::before {
  top: 16px;
  right: 21px;
  width: 36px;
  height: 36px;
}
@media screen and (max-width: 767px) {
  .contact .btn::before {
    width: 7vw;
    height: 7vw;
    right: 2vw;
    top: 3vw;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	members
+++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (max-width: 767px) {
  .members .mv h1 {
    font-size: 9vw;
  }
}
.members .membersArea h2 {
  border-bottom: 4px dotted #91cfff;
  max-width: 1120px;
  margin: 0 auto;
  margin-bottom: 33px;
}
@media screen and (max-width: 767px) {
  .members .membersArea h2 {
    width: auto;
    margin: 0 10px 25px 10px;
  }
}
.members .membersArea h2:nth-of-type(2) {
  margin-top: 69px;
}
@media screen and (max-width: 767px) {
  .members .membersArea h2:nth-of-type(2) {
    margin-top: 120px;
  }
}
.members .membersArea .text_style {
  margin-bottom: 84px !important;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .members .membersArea .text_style {
    margin-bottom: 45px!important;
  }
}
.members .membersArea .text_style:nth-of-type(2) {
  margin-bottom: 77px !important;
}
@media screen and (max-width: 767px) {
  .members .membersArea .text_style:nth-of-type(2) {
    margin-bottom: 45px!important;
  }
}
.members .membersArea .cmsArea {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea {
    margin-bottom: 0;
  }
}
.members .membersArea .cmsArea .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 46px;
}
@media screen and (max-width: 1023px) {
  .members .membersArea .cmsArea .wp-block-columns {
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea .wp-block-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea .wp-block-columns .wp-block-column {
    flex-basis: 40%!important;
  }
}
.members .membersArea .cmsArea .wp-block-columns .wp-block-column p:last-of-type {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea .wp-block-columns .cap_Style {
    text-align: center;
  }
}
.members .membersArea .cmsArea .wp-block-columns .cap_Style img {
  width: 266px;
  height: 275px;
  object-fit: cover;
  object-position: center center;
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea .wp-block-columns .cap_Style img {
    width: 100%;
    height: auto;
  }
}
.members .membersArea .cmsArea .wp-block-columns .cap_Style figcaption {
  font-size: 2.3rem;
  text-align: center;
  padding: 0px 33px 0px 25px;
  letter-spacing: 3px;
}
@media screen and (max-width: 1023px) {
  .members .membersArea .cmsArea .wp-block-columns .cap_Style figcaption {
    font-size: 2.2vw;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea .wp-block-columns .cap_Style figcaption {
    font-size: 4.6vw;
    padding: 3px 0;
  }
}
.members .membersArea .cmsArea .wp-block-columns .title_style {
  color: #00a1ff;
  margin-top: 21px;
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea .wp-block-columns .title_style {
    margin-top: 15px;
  }
}
.members .membersArea .cmsArea .wp-block-columns p {
  margin-bottom: 0;
}
.members .membersArea .cmsArea2 {
  margin-bottom: 50px;
}
.members .membersArea .cmsArea2 .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 46px;
}
@media screen and (max-width: 1023px) {
  .members .membersArea .cmsArea2 .wp-block-columns {
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea2 .wp-block-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
.members .membersArea .cmsArea2 .wp-block-columns .wp-block-column {
  margin-bottom: 101px;
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea2 .wp-block-columns .wp-block-column {
    flex-basis: 40%!important;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea2 .wp-block-columns .wp-block-column:last-of-type {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea2 .wp-block-columns .cap_Style {
    text-align: center;
  }
}
.members .membersArea .cmsArea2 .wp-block-columns .cap_Style img {
  width: 266px;
  height: 275px;
  object-fit: cover;
  object-position: center center;
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea2 .wp-block-columns .cap_Style img {
    width: 100%;
    height: auto;
  }
}
.members .membersArea .cmsArea2 .wp-block-columns .cap_Style figcaption {
  font-size: 2.3rem;
  text-align: center;
  padding: 0px 33px 0px 25px;
  letter-spacing: 3px;
}
@media screen and (max-width: 1023px) {
  .members .membersArea .cmsArea2 .wp-block-columns .cap_Style figcaption {
    font-size: 2.2vw;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .members .membersArea .cmsArea2 .wp-block-columns .cap_Style figcaption {
    font-size: 4.6vw;
    padding: 3px 0;
  }
}
.members .membersArea .cmsArea2 .wp-block-columns .title_style {
  color: #00a1ff;
  margin-top: 21px;
}
.members .membersArea .cmsArea2 .wp-block-columns p {
  margin-bottom: 0;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	categoryList
+++++++++++++++++++++++++++++++++++++++++++ */
#categoryAnchor {
  position: relative;
  top: -80px;
  padding-top: 50px;
}
.categoryList {
  max-width: 1090px;
  margin: -5px auto 33px auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .categoryList {
    width: auto;
    padding: 0 10px;
    flex-wrap: wrap;
    gap: 5px;
  }
}
.categoryList a {
  border: 1px solid #c8c8c8;
  color: #000000;
  padding: 4px 0;
  width: 100%;
  font-size: 2.2rem;
  text-align: center;
  text-decoration: none;
  letter-spacing: 10px;
}
@media screen and (max-width: 767px) {
  .categoryList a {
    font-size: 4.4vw;
    width: calc((100% / 2) - 5px);
  }
}
.categoryList a:hover {
  background: #00a1ff;
  border-color: #00a1ff;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .categoryList a:nth-child(n + 3) {
    margin-top: 10px;
  }
}
.categoryList .current {
  background: #00a1ff;
  border-color: #00a1ff;
  color: #fff;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	newsList
+++++++++++++++++++++++++++++++++++++++++++ */
.newsList {
  max-width: 1090px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .newsList {
    width: auto;
    padding: 0 	10px;
  }
}
.newsList a {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 32px;
  justify-content: flex-start;
  align-items: center;
  color: #000000;
  text-decoration: none;
  border-bottom: 1px solid #c8c8c8;
  padding: 30px 0 38px 0;
}
@media screen and (max-width: 767px) {
  .newsList a {
    flex-wrap: wrap;
    gap: 0;
    padding: 4vw 0;
  }
}
.newsList a time {
  margin: 0 15px 0 20px;
}
@media screen and (max-width: 767px) {
  .newsList a time {
    margin: 0 15px 0 0;
  }
}
.newsList a .category {
  font-size: 1.7rem;
  background: #00a1ff;
  color: #fff;
  border-radius: 8.5px;
  letter-spacing: 3px;
  padding: 6px 21px;
}
@media screen and (max-width: 767px) {
  .newsList a .category {
    font-size: 3.4vw;
    padding: 1vw 3vw;
    margin-right: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .newsList a p {
    margin-top: 3vw;
  }
}
.newsList a:hover p {
  color: #00a1ff;
  transition: 0.3s;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	newsdetailArea
+++++++++++++++++++++++++++++++++++++++++++ */
.newsdetailArea {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .newsdetailArea {
    width: auto;
    padding: 0 10px;
  }
}
.newsdetailArea .newsAreaHead span {
  font-size: 1.7rem;
  background: #00a1ff;
  color: #fff;
  border-radius: 8.5px;
  padding: 6px 20px;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .newsdetailArea .newsAreaHead span {
    font-size: 3.4vw;
    padding: 1vw 3vw;
  }
}
.newsdetailArea .newsAreaHead h2 {
  color: #000000;
  margin-top: 20px;
  padding: 0;
}
.newsdetailArea h3 {
  color: #00a1ff;
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .newsdetailArea h3 {
    font-size: 5vw;
  }
}
.newsdetailArea h3,
.newsdetailArea h4 {
  margin-bottom: 10px;
}
.newsdetailArea figure {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .newsdetailArea figure img {
    width: 100%;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	lessonArea
+++++++++++++++++++++++++++++++++++++++++++ */
.lessonArea {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .lessonArea .mv {
    padding: 28vw 0 42vw 0;
  }
}
.lessonArea .cmsArea {
  max-width: none;
  margin: 0;
  padding: 0;
}
.lessonArea h2 {
  border-bottom: 4px dotted #91cfff;
  max-width: 1120px;
  margin: 0 auto;
  margin-bottom: 33px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lessonArea h2 {
    width: auto;
    margin: 0;
    font-size: 6.2vw;
  }
}
.lessonArea p {
  font-weight: 500;
}
.lessonArea .color_pink {
  background: #ff7aa6;
}
.lessonArea .lead {
  max-width: 1098px;
  margin: 0 auto;
  margin-bottom: 150px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .lessonArea .lead {
    margin-bottom: 20vw;
    padding: 0;
  }
}
.lessonArea .lead h2 {
  border-bottom: 0;
  margin-bottom: 60px;
  text-align: left;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .lessonArea .lead h2 {
    margin-bottom: 35px;
  }
}
.lessonArea .lead p {
  line-height: 2.3;
  margin-bottom: 2em;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .lessonArea .lead p {
    font-size: 3.2vw;
  }
}
.lessonArea .lead .is-layout-flex {
  gap: 45px;
}
@media screen and (max-width: 767px) {
  .lessonArea .lead .is-layout-flex {
    gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .lessonArea .lead figure {
    text-align: center;
  }
}
.lessonArea .practiceArea {
  margin-bottom: 67px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .lessonArea .practiceArea {
    margin-bottom: 10vw;
    padding: 0 10px;
  }
}
.lessonArea .practiceArea h2 {
  margin-bottom: 40px;
  padding: 0;
}
.lessonArea .practiceArea .textBox {
  max-width: max-content;
  margin: 0 auto;
}
.lessonArea .practiceArea .textBox p {
  margin-bottom: 0.7em;
}
.lessonArea .priceArea {
  max-width: 1120px;
  margin: 0 auto;
  margin-bottom: 47px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .lessonArea .priceArea {
    padding: 0;
  }
}
.lessonArea .priceArea h2 {
  margin: 70px 0 175px 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .lessonArea .priceArea h2 {
    margin: 30vw 0 15vw 0;
  }
}
.lessonArea .priceArea .wp-block-columns {
  background: #40c9db;
  color: #fff;
  text-align: center;
  align-items: stretch;
  gap: 0;
}
.lessonArea .priceArea .wp-block-columns h3 {
  font-size: 4.9rem;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
}
@media screen and (max-width: 767px) {
  .lessonArea .priceArea .wp-block-columns h3 {
    font-size: 9.9vw;
  }
}
.lessonArea .priceArea .wp-block-columns .text_style2 {
  font-size: 2.6rem;
  margin: -6px 0 0 0;
}
@media screen and (max-width: 767px) {
  .lessonArea .priceArea .wp-block-columns .text_style2 {
    font-size: 5.2vw;
  }
}
.lessonArea .priceArea .wp-block-columns .wp-block-column {
  padding-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  flex-direction: column;
}
.lessonArea .priceArea .wp-block-columns .wp-block-column p {
  padding: 0 10px;
}
.lessonArea .priceArea .wp-block-columns .wp-block-column figure {
  margin-top: 28px;
  background: #fff;
  margin-top: auto;
}
.lessonArea .priceArea .wp-block-columns .wp-block-column figure img {
  display: block;
  width: 100%;
  height: auto;
}
.lessonArea .priceArea .wp-block-columns .pd0 {
  padding: 0;
}
.lessonArea .priceArea .text {
  margin: 21px 0 0 22px;
}
@media screen and (max-width: 767px) {
  .lessonArea .priceArea .text {
    margin: 5vw 0 2vw 0;
  }
}
.lessonArea .priceArea .text h4 {
  font-size: 2.1rem;
  margin: 69px 0 10px 0;
  color: #00a1ff;
}
@media screen and (max-width: 767px) {
  .lessonArea .priceArea .text h4 {
    font-size: 4.2vw;
    margin: 7vw 0 2vw;
  }
}
.lessonArea .priceArea .text p {
  line-height: 2.3;
}
.lessonArea .faqArea {
  max-width: 1080px;
  margin: 0 auto;
  margin-top: 150px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea {
    width: auto;
    margin-top: 20vw;
    padding: 0;
  }
}
.lessonArea .faqArea h2 {
  margin-bottom: 80px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea h2 {
    margin-bottom: 15vw;
  }
}
.lessonArea .faqArea .accordion {
  padding: 0 55px 0 120px;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea .accordion {
    padding: 0 2vw 0 14vw;
  }
}
.lessonArea .faqArea .accordion .accordion-item {
  padding-bottom: 90px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea .accordion .accordion-item {
    padding-bottom: 10vw;
  }
}
.lessonArea .faqArea .accordion .accordion-item::after {
  content: "A";
  position: absolute;
  top: 70px;
  left: -76px;
  background: #ff69c7;
  color: #fff;
  font-size: 3.7rem;
  width: 58px;
  height: 58px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Outfit", sans-serif;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea .accordion .accordion-item::after {
    font-size: 5.4vw;
    width: 10vw;
    height: 10vw;
    top: 12vw;
    left: -13vw;
  }
}
.lessonArea .faqArea .accordion .accordion-item .accordion-content {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea .accordion .accordion-item .accordion-content {
    margin-top: 6vw;
  }
}
.lessonArea .faqArea .accordion .accordion-item .accordion-content p {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea .accordion .accordion-item .accordion-content p {
    font-size: 4vw;
  }
}
.lessonArea .faqArea .accordion .accordion-item .accordion-summary {
  font-size: 2.6rem;
  font-weight: 500;
  position: relative;
  cursor: default;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-start;
}
.lessonArea .faqArea .accordion .accordion-item .accordion-summary:hover {
  opacity: 1!important;
  transition: none!important;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea .accordion .accordion-item .accordion-summary {
    font-size: 4.5vw;
  }
}
.lessonArea .faqArea .accordion .accordion-item .accordion-summary::before {
  content: "Q";
  position: absolute;
  top: -11px;
  left: -76px;
  background: #00a1ff;
  color: #fff;
  font-size: 3.7rem;
  width: 58px;
  height: 58px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Outfit", sans-serif;
  font-weight: bold;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .lessonArea .faqArea .accordion .accordion-item .accordion-summary::before {
    font-size: 5.4vw;
    width: 10vw;
    height: 10vw;
    top: -1vw;
    left: -13vw;
  }
}
.lessonArea .faqArea .accordion .accordion-item .accordion-summary:hover {
  opacity: 0.7;
  transition: 0.5s;
}
.lessonArea .btn {
  min-width: 565px;
  padding: 18px 0;
}
@media screen and (max-width: 767px) {
  .lessonArea .btn {
    min-width: auto;
    width: 95%;
    padding: 3.3vw;
    margin-bottom: 20vw;
  }
}
.lessonArea .btn a {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .lessonArea .btn a {
    font-size: 4vw;
  }
}
.lessonArea .btn::before {
  top: 16px;
  right: 16px;
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .lessonArea .btn::before {
    font-size: 4vw;
    top: 2.5vw;
    right: 4vw;
    width: 8vw;
    height: 8vw;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	contact_form
+++++++++++++++++++++++++++++++++++++++++++ */
.contact_form {
  padding-bottom: 32px;
}
.contact_form .mv h1 {
  color: #00a1ff;
}
.contact_form h2 {
  margin-bottom: 35px;
}
.contact_form .text_style {
  max-width: 1093px;
  margin-bottom: 0 !important;
  padding: 0;
}
.contact_form p {
  margin-bottom: 0.7em;
}
.contact_formArea form {
  max-width: 1094px;
  margin: 0 auto;
  font-weight: 500;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .contact_formArea form {
    width: auto;
    margin: 0;
    padding: 0 10px;
  }
}
.contact_formArea form .wpcf7-form-control-wrap {
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .contact_formArea form .wpcf7-form-control-wrap {
    width: 100%;
  }
}
.contact_formArea form .wpcf7-form-control-wrap .wpcf7-form-control {
  display: flex;
  gap: 45px;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .contact_formArea form .wpcf7-form-control-wrap .wpcf7-form-control {
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact_formArea form .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item {
  margin-left: 0;
}
@media screen and (max-width: 1023px) {
  .contact_formArea form .wpcf7-form-control-wrap .optional {
    align-items: center;
  }
}
.contact_formArea form .radio-group p,
.contact_formArea form .form-group p {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 20px;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .contact_formArea form .radio-group p,
  .contact_formArea form .form-group p {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}
.contact_formArea form .radio-group {
  margin-top: 106px;
}
.contact_formArea form .radio-group p {
  justify-content: flex-start;
  gap: 35px;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .contact_formArea form .radio-group p {
    gap: 20px;
    margin-bottom: 12vw;
  }
}
.contact_formArea form .radio-group label {
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact_formArea form .form-group p {
  margin-bottom: 31px;
}
@media screen and (max-width: 767px) {
  .contact_formArea form .form-group p {
    margin-bottom: 8vw;
  }
}
.contact_formArea form .form-group input[type="text"],
.contact_formArea form .form-group input[type="email"],
.contact_formArea form .form-group input[type="tel"],
.contact_formArea form .form-group textarea {
  width: 100%;
  height: 57px;
  padding: 10px;
  border-radius: 8.5px;
  box-sizing: border-box;
  border: 1px solid #8c8c8c;
  font-size: 2rem;
}
@media screen and (max-width: 1023px) {
  .contact_formArea form .form-group input[type="text"],
  .contact_formArea form .form-group input[type="email"],
  .contact_formArea form .form-group input[type="tel"],
  .contact_formArea form .form-group textarea {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contact_formArea form .form-group input[type="text"],
  .contact_formArea form .form-group input[type="email"],
  .contact_formArea form .form-group input[type="tel"],
  .contact_formArea form .form-group textarea {
    padding: 2vw;
    font-size: 4vw;
    height: 12vw;
  }
}
.contact_formArea form .form-group label {
  width: 215px;
}
@media screen and (max-width: 767px) {
  .contact_formArea form .form-group label {
    width: 39vw;
  }
}
.contact_formArea form .form-group2 p {
  align-items: flex-start;
}
.contact_formArea form .form-group2 label {
  margin-top: 10px;
}
.contact_formArea form input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  margin-right: 11px;
  width: 30px;
  height: 30px;
  border: 1px solid #8c8c8c;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .contact_formArea form input[type="radio"] {
    width: 6vw;
    height: 6vw;
  }
}
.contact_formArea form input[type="radio"]:checked::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  height: 20px;
  background-color: #8c8c8c;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .contact_formArea form input[type="radio"]:checked::before {
    top: 1vw;
    left: 1vw;
    width: 3.5vw;
    height: 3.5vw;
  }
}
.contact_formArea form label em {
  display: inline-block;
  width: 50px;
  padding: 4px 0;
  margin-left: 15px;
  line-height: 1;
  background: #F33;
  color: #FFF;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact_formArea form label em {
    width: 10vw;
    padding: 1vw 0;
    font-size: 2.8vw;
  }
}
.contact_formArea form textarea {
  min-height: 238px;
}
.contact_formArea form .privacy-policy {
  border: 1px solid #8c8c8c;
  border-radius: 8.5px;
  margin: 122px 0 43px 0;
  padding: 20px 46px 25px 46px;
  overflow-y: scroll;
  height: 315px;
  /* スクロールバーのトラック（背景） */
  /* スクロールバーのつまみ（ドラッグ可能な部分） */
}
@media screen and (max-width: 767px) {
  .contact_formArea form .privacy-policy {
    margin: 20vw 0 6vw 0;
    padding: 4vw;
  }
}
.contact_formArea form .privacy-policy::-webkit-scrollbar {
  width: 19px;
  margin-right: 20px;
}
.contact_formArea form .privacy-policy::-webkit-scrollbar-track {
  background: #c8c8c8;
  border-radius: 8px;
}
.contact_formArea form .privacy-policy::-webkit-scrollbar-thumb {
  background: #ffffff;
  border-radius: 8px;
  border: 4px solid #c8c8c8;
}
.contact_formArea form .privacy-policy .has-text-align-center {
  font-size: 2.2rem;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 767px) {
  .contact_formArea form .privacy-policy .has-text-align-center {
    font-size: 4.4vw;
  }
}
.contact_formArea form .privacy-policy .ttl {
  font-size: 2.2rem;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .contact_formArea form .privacy-policy .ttl {
    font-size: 4.4vw;
  }
}
.contact_formArea form .privacy-policy p {
  margin-bottom: 38px;
  line-height: 2;
}
.contact_formArea form .consent {
  /* チェック時の見た目 */
  /* チェックマークの描画 */
}
.contact_formArea form .consent label {
  display: flex;
  align-items: center;
  justify-content: center;
  /* ← これが中央寄せ */
  gap: 10px;
  /* ← テキストとの間隔 */
}
.contact_formArea form .consent input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 30px;
  height: 30px;
  border: 2px solid #8c8c8c;
  border-radius: 4px;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact_formArea form .consent input[type="checkbox"] {
    width: 6vw;
    height: 6vw;
  }
}
.contact_formArea form .consent input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}
.contact_formArea form .consent input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 8px;
  width: 6px;
  height: 12px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
.contact_formArea form .submit-buttons .btn {
  margin-top: 36px;
  font-size: 1.9rem;
  letter-spacing: 5px;
  color: #fff;
  padding: 9px 0;
  border: 0;
}
@media screen and (max-width: 767px) {
  .contact_formArea form .submit-buttons .btn {
    font-size: 3.9vw;
    margin-top: 5vw;
    width: 70%;
  }
}
.contact_formArea form .submit-buttons .btn::before {
  top: 10px;
  right: 12px;
}
.contact_formArea .question {
  max-width: 1094px;
  margin: 0 auto;
  margin-top: 145px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .contact_formArea .question {
    width: auto;
    margin: 20vw 0 0 0;
    padding: 0 10px;
  }
}
.contact_formArea .question h2 {
  margin-bottom: 47px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .contact_formArea .question h2 {
    margin-bottom: 35px;
  }
}
.contact_formArea .question .btn {
  margin-top: 49px;
}
@media screen and (max-width: 767px) {
  .contact_formArea .question .btn {
    width: 70%;
    margin-top: 10vw;
  }
}
.contact_formArea .question .btn::before {
  right: 12px;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	errorArea
+++++++++++++++++++++++++++++++++++++++++++ */
.errorArea {
  padding-bottom: 0;
}
.errorArea .error {
  padding: 300px 0 0 0;
}
@media screen and (max-width: 767px) {
  .errorArea .error {
    padding: 37vw 10px 0 10px;
  }
}
.errorArea .error h1 {
  font-size: 4rem;
  margin-bottom: 20px;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .errorArea .error h1 {
    font-size: 7vw;
  }
}
.errorArea .error p {
  font-size: 2rem;
  line-height: 1.3;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .errorArea .error p {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .errorArea .error .btn {
    width: 60%;
  }
}
.errorArea .error .btn::before {
  top: 9px;
}
@media screen and (max-width: 767px) {
  .errorArea .error .btn::before {
    top: 10px;
  }
}
.wpcf7-response-output {
  text-align: center;
  max-width: max-content;
  margin: auto!important;
}
.wpcf7-submit[disabled]:hover {
  opacity: 1!important;
}
