@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/* ------------ 文字選択------------  */
::-moz-selection {
  color: #fff;
  background-color: #08a597;
}

::selection {
  color: #fff;
  background-color: #08a597;
}

/* ------------ 装飾など------------  */
.boxshadow {
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.05);
}

.w-none {
  white-space: nowrap;
}

.container1200 {
  max-width: 1200px;
  margin: 0 auto;
}

.tx-center {
  text-align: center;
}

/*
ココナラ作成
*/
/* ------------ フォント ------------ */
body {
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  scroll-behavior: smooth;
}

article .c-pageTitle__main {
  color: #08a597 !important;
  font-weight: normal !important;
}

#main_content h2,
.school_content h2 {
  font-size: 2.2rem !important;
  font-weight: normal !important;
  color: #08a597 !important;
}

#main_content h2 strong {
  color: #08a597;
}

#main_content h2.wp-block-heading {
  font-size: 2rem !important;
  font-weight: normal !important;
  color: #08a597 !important;
}

h3 {
  font-size: 1.4rem !important;
  font-weight: normal !important;
  color: #08a597;
  margin-top: 0 !important;
}

/* --- hタグデザイン --- */
h2 {
  position: relative;
  margin-bottom: 1em;
}

body.home h2:before {
  display: none;
}

@media (max-width: 680px) {
  h2 {
    font-size: 2rem !important;
  }
  #main_content h2 {
    font-size: 1.8rem !important;
  }
}
/* ---固定ページヘッダー--- */
@media (min-width: 1000px) {
  .c-pageTitle__sub {
    font-size: 1.3rem;
  }
}
/* ---ヘッダー--- */
.l-header__bar {
  background: #f7f7f7;
  font-size: 0.7rem;
  padding: 5px 0;
  margin: 0 auto !important;
}
.l-header__bar .l-header__barInner {
  justify-content: start;
}

/*
*グロナビ下のとき（縦）
*Start
*/
@media not all and (min-width: 1000px) {
  #header {
    background: linear-gradient(to bottom, #009380, #30b4a2);
    color: #fff !important;
    box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.12), 0 1px 8px 0 rgba(0, 0, 0, 0.2);
  }
  #header .c-tagline {
    color: #fff;
    opacity: 1;
  }
}
.l-headerUnder {
  background: linear-gradient(to top, #08a597, #30b4a2);
  background: #08a597;
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.12), 0 1px 8px 0 rgba(0, 0, 0, 0.2);
}

.l-headerUnder .menu-item {
  color: #fff;
  flex: 1;
  transition: 0.2s;
}

.l-headerUnder .menu-item:hover,
.l-headerUnder .menu-item:active {
  color: rgba(255, 255, 255, 0.7882352941);
}

.l-headerUnder .c-gnav__li.focus,
.l-headerUnder .c-gnav__li:hover {
  color: rgba(255, 255, 255, 0.7882352941);
}

.l-headerUnder .u-flex--aic > .menu-item:first-child > a::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 35px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.6666666667);
}

.l-headerUnder .u-flex--aic > .menu-item > a::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 35px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.6666666667);
}

.l-headerUnder .c-gnav .__mainText,
.c-gnav .__subText {
  font-weight: 500;
}

.has-image + .c-tagline {
  color: #08a597;
  font-weight: 700;
}
@media not all and (min-width: 1000px) {
  .has-image + .c-tagline {
    font-size: 1rem;
  }
}

@media not all and (min-width: 1000px) {
  [data-btns=rr-rl] .l-header__body {
    grid-template-areas: "center search menu";
    grid-template-columns: auto var(--ark-searchW) var(--ark-drawerW);
  }
}
@media (min-width: 1000px) {
  [data-btns=rr-rl] .l-header__body {
    grid-template-areas: "left center right search menu";
    grid-template-columns: 60% 0 auto var(--ark-searchW) var(--ark-drawerW);
    min-height: 70px;
  }
  .l-header__center {
    grid-area: left;
    display: flex;
  }
  .l-header__center .has-image + .c-tagline {
    font-weight: 700;
  }
}
.l-header__right {
  width: 100%;
}
.l-header__right .head-right-box {
  width: 100%;
}
.l-header__right .head_contents {
  display: flex;
  justify-content: right;
  width: inherit;
  font-weight: bold;
  align-items: center;
}
.l-header__right .head_contents .head_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  line-height: 1.5;
  letter-spacing: 0.5px;
  border: none;
  border-radius: 50px;
  font-weight: 600;
  transition: 0.2s ease;
  height: var(--ark-logo_size--pc);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.2);
  text-decoration: none;
  white-space: nowrap;
}
.l-header__right .head_contents .head_btn a:hover {
  background: #fff;
  color: #08a597;
}
.l-header__right .head_contents .h_right1 a {
  margin-right: 0.2rem;
  background: #08a597;
  color: #fff;
  border: solid 2px #fff;
}
@media (min-width: 1200px) {
  .l-header__right .head_contents .h_right1 a {
    margin-right: 0.5rem;
  }
}
.l-header__right .head_contents .h_right1 a:hover {
  background: #fff;
  color: #08a597;
  border: solid 2px #08a597;
}
.l-header__right .head_contents .h_right2 a {
  background: #ef8532;
  color: #fff;
  border: solid 2px #fff;
}
.l-header__right .head_contents .h_right2 a:hover {
  background: #fff;
  color: #f79f5c;
  border: solid 2px #f79f5c;
}

@media (min-width: 1000px) {
  .l-header__right .head_contents .head_btn a {
    padding: 1.3rem;
    font-size: 1rem;
    width: 185px;
  }
  .l-header__center .has-image + .c-tagline {
    height: 40px;
    margin: 0 0 0 8px;
    font-size: 2rem;
  }
}
/*
*スワイパー設定
*/
.page-id-14463 .swiper--wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
}
.page-id-14463 .swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #fff;
  width: 100%;
  text-align: center;
}
.page-id-14463 .swiper-slide img {
  width: 100%;
  height: 100%;
}
.page-id-14463 .swiper-pagination {
  position: static;
  background: #bfe5e1;
}
.page-id-14463 .swiper-pagination-bullet-active {
  background: #08a597;
}
.page-id-14463 .swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 10px)) !important;
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 10px)) !important;
  display: inline-block !important;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%) !important;
  background: var(--swiper-pagination-bullet-inactive-color, #fff) !important;
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 1) !important;
  outline: none !important;
}
.page-id-14463 .swiper-pagination-bullet-active {
  background: #08a597 !important;
  opacity: 1 !important;
}

@media not all and (min-width: 1000px) {
  .p-fixBtnWrap {
    bottom: 11%;
  }
}

.c-fixBtn {
  background: #08a597;
  opacity: 1;
  border-radius: 100px;
  border: 2px solid;
  height: 40px;
  width: 40px;
}

.main-post_container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.main-post_container a {
  text-decoration: none;
  transition: 0.3s;
  cursor: pointer;
}
.main-post_container a:hover {
  opacity: 0.6;
}

.main-post {
  width: calc(33.3% - 28px);
  margin-right: 42px;
  margin-bottom: 36px;
  position: relative;
  word-break: break-all;
  overflow-wrap: break-word;
  background: #fff;
  border-radius: 0.6rem;
  border: 1px solid #dedede;
  overflow: hidden;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.05);
}
.main-post:nth-child(3) {
  margin-right: 0;
}
@media not all and (min-width: 1000px) {
  .main-post {
    width: calc(50% - 6px);
    margin-right: 12px;
  }
  .main-post:nth-child(2) {
    margin-right: 0;
  }
}

.main-post__bottom a {
  color: #000;
}

.main-post__top {
  flex-basis: 1;
}
.main-post__top img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

.main-post__bottom {
  position: relative;
  padding: 0.8rem;
  background: #fff;
  color: #2f2f2f;
}
@media not all and (min-width: 600px) {
  .main-post__bottom {
    padding: 0.5rem;
  }
}

.main-post__bottom_data {
  display: flex;
  justify-content: flex-end;
}
@media not all and (min-width: 600px) {
  .main-post__bottom_data {
    flex-direction: column-reverse;
  }
}

.news_date {
  width: fit-content;
  background: #dc5e61;
  color: #fff;
  padding: 2px 5px;
  font-size: 10px;
  margin-left: 5px;
}
@media not all and (min-width: 600px) {
  .news_date {
    align-self: end;
    padding: 0px 5px;
  }
}
.news_date a {
  color: #fff;
  text-decoration: none;
}

.main-post_text {
  font-size: 14px;
  line-height: 1.5;
}

.main-post_title {
  color: #08a597;
  margin-bottom: 5px;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
}
.main-post_title:hover {
  opacity: 0.7;
}
@media not all and (min-width: 600px) {
  .main-post_title {
    margin-bottom: 0.5rem;
    font-size: 1.1rem !important;
  }
}

.main-post_text {
  margin-bottom: 5px;
}
.main-post_text .main-post_next {
  text-decoration: underline;
}

.main-post_data {
  color: #717171;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-align: right;
}

@media not all and (min-width: 1000px) {
  .sp-txal_center {
    text-align: center !important;
  }
  .sp-leftcenter {
    display: inline-block;
    text-align: left;
  }
}
.txal-left {
  text-align: left;
}

/* 
*フッター
*/
.l-footer__foot {
  padding: 0;
  background: #08a597;
}

.l-footer__foot .container1200 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1.8rem 0;
}
@media (max-width: 1200px) {
  .l-footer__foot .container1200 {
    padding-left: var(--ark-padding--container);
    padding-right: var(--ark-padding--container);
  }
}

.footer-logo img {
  width: 250px;
  display: block;
}
@media not all and (min-width: 1000px) {
  .footer-logo img {
    width: 200px;
  }
}
.footer-logo p {
  font-size: 0.9rem;
}
.footer-logo p:first-of-type {
  margin-top: 5px;
  color: #08a597;
  font-weight: 600;
  font-size: 1.1em;
}
.footer-logo p:last-of-type {
  padding-top: 0.8rem;
  line-height: 1.5;
}
@media not all and (min-width: 1000px) {
  .footer-logo {
    display: none;
  }
}

footer .l-container {
  max-width: 1280px;
  width: 100%;
  padding: 0;
  background: #f7f7f7;
}
footer .l-container .l-footer__nav .menu-item {
  border-right: 1px solid #fff;
  margin-top: 8px;
  position: relative;
  padding-left: 1rem;
  border-right: none;
}
@media not all and (min-width: 1000px) {
  footer .l-container .l-footer__nav .menu-item {
    width: 50%;
  }
}
footer .l-container .l-footer__nav .menu-item:last-child {
  border-right: none;
}
footer .l-container .l-footer__nav .menu-item a {
  padding-left: 0.7rem;
  transition: 0.2s;
}
footer .l-container .l-footer__nav .menu-item a:hover {
  text-decoration: none;
  opacity: 0.8;
}
footer .l-container .l-footer__nav .menu-item::before {
  content: "\f0da";
  font: var(--fa-font-solid);
  margin-right: 5px;
  position: absolute;
  color: #fff;
  font-size: 0.7rem;
  height: 1rem;
  bottom: 0;
}

#footer .u-flex--c {
  padding: 1rem 0;
  justify-content: center;
  font-weight: 600;
  width: 100%;
  margin-bottom: 0;
  background: #08a597;
}
#footer .u-flex--c a {
  color: #fff;
}
@media not all and (min-width: 1000px) {
  #footer .u-flex--c {
    width: 50%;
    justify-content: end;
    width: 100%;
  }
}

.c-copyright {
  padding-bottom: 1rem;
  color: #fff;
  text-align: center;
  background: #08a597;
  width: 100%;
}
@media not all and (min-width: 1000px) {
  .c-copyright {
    padding-bottom: 87px;
  }
}

.footer_k2 {
  padding-top: 1rem;
  color: #fff;
  background: #08a597;
  font-size: 0.6rem;
  text-align: center;
  width: 100%;
}
.footer_k2 a {
  color: #fff;
  text-decoration: underline;
}

.cta-button-container {
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 999;
  display: none;
}
.cta-button-container .svg-inline--fa {
  font-size: 20px;
}

.cta-button {
  display: inline-block;
  padding: 10px 0 8px;
  text-decoration: none;
  text-align: center;
  font-size: 0.7rem;
  width: 50%;
  transition: 0.3s;
  color: #08a597;
  background-color: #fff;
  border: #08a597 3px solid;
  border-right: none;
}

@keyframes flash {
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  0% {
    opacity: 1;
  }
}
@media not all and (min-width: 1000px) {
  .cta-button-container {
    padding: 10px 8px;
    border-top: 1px solid #eee;
    border-color: rgba(100, 100, 100, 0.1);
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(0.1em);
  }
  .cta-button-container .cta-left {
    display: none;
  }
  .cta-button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 1.5rem clamp(1rem, 0.25rem + 1.2vw, 1.3rem);
    line-height: 1.5;
    font-size: clamp(0.813rem, 0.375rem + 2vw, 0.875rem);
    letter-spacing: 1px;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    transition: 0.2s ease;
    height: var(--ark-logo_size--pc);
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.2);
    text-decoration: none;
    position: relative;
    animation: flash 2s ease-in infinite;
  }
  .cta-button::after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f138"; /*アイコンの種類*/
    position: absolute;
    top: 50%;
    right: 1%;
    transform: translate(-50%, -50%);
  }
  .cta-button.cta-center {
    background: #08a597;
    color: #fff;
    border: solid 2px #fff;
    margin-right: 5px;
  }
  .cta-button.cta-center p {
    margin-left: -10px;
  }
  .cta-button.cta-center .svg-inline--fa {
    display: none;
  }
  .cta-button.cta-right {
    background: #ef8532;
    border: solid 2px #fff;
  }
  .cta-button.cta-right .svg-inline--fa {
    font-size: 0.9rem;
    margin-right: 6px;
    margin-left: -6px;
  }
}
.cta-button:hover {
  opacity: 0.5;
}

.cta-button i {
  margin-right: 5px;
}

.cta-right {
  background: #fff;
  color: #ef8532;
  border: #ef8532 3px solid;
  border-right: none;
}
@media not all and (min-width: 1000px) {
  .cta-right {
    background: #ef8532;
    color: #fff;
    border: #ef8532 3px solid;
  }
}

@media (min-width: 1000px) {
  .cta-button-container {
    border-bottom-left-radius: 5px;
    border-top-left-radius: 5px;
    position: fixed !important;
    flex-direction: column;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%);
    width: 90px;
    justify-content: center;
  }
  .cta-button {
    width: 100%;
    height: 90px;
    padding: 15px 0;
    border-radius: 5px 0px 0 5px;
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    font-size: 0.8rem;
  }
  .cta-button .svg-inline--fa {
    font-size: 28px;
  }
}
.p-topArea__title.c-pageTitle {
  text-shadow: 1px 1px 2px #aaaaaa;
}
@media (min-width: 1000px) {
  .p-topArea__title.c-pageTitle {
    text-align: left;
  }
}

.c-pageTitle__main {
  position: relative;
  letter-spacing: -0.03em;
  padding-bottom: 8px;
  line-height: 0.83;
  font-weight: 700;
}

.c-pageTitle__sub {
  font-size: 0.9rem;
  font-style: italic;
  font-weight: 400;
  position: relative;
  vertical-align: middle;
}

.l-content__top.p-topArea {
  min-height: 200px;
}
.l-content__top.p-topArea h1 {
  font-size: 2rem;
}
@media not all and (min-width: 600px) {
  .l-content__top.p-topArea {
    min-height: 115px;
  }
  .l-content__top.p-topArea h1 {
    font-size: 1.5rem;
  }
}

.c-gnav .sub-menu,
.c-gnav__depth1:before {
  background: rgba(33, 37, 41, 0.8);
  backdrop-filter: blur(3px);
}

@media not all and (min-width: 1000px) {
  .ricoh-theta-spherical-image {
    height: 200px !important;
  }
}

/*
*Dセット
*/
.num-box {
  display: flex;
  padding-bottom: 10px;
  gap: 10px;
  align-items: stretch;
}
@media not all and (min-width: 1000px) {
  .num-box {
    gap: 5px;
  }
}

.num-box__left {
  padding: 10px 0 10px 1rem;
  width: 100%;
  border: 1px solid #08a597;
}
@media not all and (min-width: 1000px) {
  .num-box__left {
    padding: 5px 0 5px 1rem;
  }
}

.num-box__right {
  text-transform: capitalize;
  background: linear-gradient(to right, #009380, #30b4a2);
  color: #fff;
  width: 104px;
  flex: 0 0 auto;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  position: relative;
}
@media not all and (min-width: 1000px) {
  .num-box__right {
    width: auto;
    min-width: 70px;
  }
}
.num-box__right p {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 10px;
}
@media not all and (min-width: 1000px) {
  .num-box__right {
    font-size: 0.7rem;
    font-weight: 500;
  }
}
.num-box__right .num-box__num {
  color: #fff;
  display: block;
  font-size: 3rem;
  line-height: 1;
  font-weight: 600;
}
@media not all and (min-width: 1000px) {
  .num-box__right .num-box__num {
    font-size: 2rem;
  }
}

.num-box__left p {
  font-size: 26px;
}
@media not all and (min-width: 1000px) {
  .num-box__left p {
    font-weight: normal;
    font-size: 0.9rem;
    line-height: 1.8;
  }
}

span.num-box__left-bottom {
  color: #08a597;
  display: block;
  font-size: 20px;
}
@media not all and (min-width: 1000px) {
  span.num-box__left-bottom {
    font-size: 18px;
    line-height: 1.4;
  }
}

.swiper1,
.mySwiper2 {
  position: relative;
  overflow: hidden;
  max-height: 400px;
  min-height: 400px;
}
@media not all and (min-width: 600px) {
  .swiper1,
  .mySwiper2 {
    min-height: 250px;
    max-height: 250px;
  }
}
.swiper1 .swiper-slide,
.mySwiper2 .swiper-slide {
  text-align: center;
  line-height: 1;
  display: flex;
  justify-content: center;
}
.swiper1 .swiper-slide img,
.mySwiper2 .swiper-slide img {
  border-radius: 20px;
  display: inline;
  width: auto;
  max-height: 400px;
  min-height: 400px;
  align-self: center;
  object-fit: cover;
}
@media not all and (min-width: 600px) {
  .swiper1 .swiper-slide img,
  .mySwiper2 .swiper-slide img {
    min-height: 250px;
    max-height: 250px;
  }
}

.sample_btn {
  display: inline-block;
  width: 250px;
  text-align: center;
  text-decoration: none;
  line-height: 60px;
  outline: none;
  color: #ffffff;
  background: linear-gradient(to left, rgb(247, 171, 7), rgb(255, 123, 34));
  background-position: 0% 50%;
  background-size: 200% auto;
  transition: all 0.3s ease-out;
  font-size: 1.5rem;
}

.sample_btn:hover {
  color: #fff;
  background-position: 100% 51%;
}

.ctv-sec {
  background: url(../../assets/img/cta_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 70px 0;
  padding-left: var(--ark-padding--container);
  padding-right: var(--ark-padding--container);
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.ctv-sec::before {
  content: "";
  position: absolute;
  top: -7px;
  right: -7px;
  bottom: -7px;
  left: -7px;
  background: inherit;
  filter: brightness(0.75) blur(5px);
  z-index: -1;
  background-attachment: fixed;
}

.ctv-sec__tx {
  display: flex;
  justify-content: space-between;
  line-height: 1.8;
  align-items: center;
}
.ctv-sec__tx p:nth-child(1) {
  width: 300px;
  background-color: #fff;
  color: #494949;
  text-align: center;
  border-radius: 2px;
  font-size: 26px;
  position: relative;
  padding: 5px 0;
  font-weight: 700;
  letter-spacing: 0.07rem;
}
.ctv-sec__tx p:nth-child(1):after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 18px;
  border-color: transparent transparent transparent #ffffff;
  position: absolute;
  right: -10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.ctv-sec__tx p:nth-child(2) {
  width: calc(100% - 340px);
  font-size: clamp(1.688rem, 0.958rem + 0.97vw, 2rem);
  letter-spacing: 0.02em;
  color: #fff;
  font-weight: 600;
}
@media (max-width: 1200px) {
  .ctv-sec__tx {
    flex-direction: column;
  }
  .ctv-sec__tx p:nth-child(1) {
    width: 300px;
    margin: auto;
    font-size: 20px;
    padding: 5px 0;
    align-self: center;
  }
  .ctv-sec__tx p:nth-child(1):after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 18px;
    border-color: transparent transparent transparent #ffffff;
    position: absolute;
    right: 50%;
    top: calc(100% + 1px);
    transform: translateX(50%) rotate(90deg);
  }
  .ctv-sec__tx p:nth-child(2) {
    width: 100%;
    font-size: 24px;
    margin-top: 30px;
    text-align: center;
  }
  @media not all and (min-width: 1000px) {
    .ctv-sec__tx p:nth-child(2) {
      font-size: 18px;
    }
  }
}

.ctv-sec__btn {
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 40px;
}
.ctv-sec__btn a {
  width: 32%;
  display: block;
  color: #fff;
}
@media not all and (min-width: 1000px) {
  .ctv-sec__btn {
    flex-direction: column;
    margin-top: 20px;
  }
  .ctv-sec__btn a {
    margin-top: 10px;
    width: 100%;
  }
}

#sample_btn100 {
  font-size: 250%;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 125px;
  align-items: center;
  color: #fff;
  font-weight: bold;
  letter-spacing: 5px;
  background: #dc5e61;
  border-radius: 5px;
  border: 3px solid #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: 0.3s;
}
#sample_btn100:hover {
  opacity: 0.8;
}
@media not all and (min-width: 1000px) {
  #sample_btn100 {
    letter-spacing: 1px;
    height: 80px;
    padding: 10px;
    font-size: 150%;
  }
}

.bg-gd {
  background: linear-gradient(-135deg, rgb(155, 213, 205), rgb(0, 147, 128));
  color: #fff !important;
}

.pd-1 {
  padding: 1rem 0;
}

.colbox11 h3 {
  background: #ecf6f4;
  color: #08a597;
}

.colbox11 .smb-price-menu > .smb-price-menu__item {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.my-parts {
  width: 100%;
  height: 200px;
  background: #fff;
  background-image: linear-gradient(90deg, #009380 1px, transparent 0), linear-gradient(#08a597 1px, transparent 0);
  background-size: 30px 30px;
}

.taikenkisec1 em {
  float: right;
  display: block;
  font-style: normal;
}

.flow-container {
  display: flex;
  position: relative;
  counter-reset: item-counter;
  max-width: 1400px !important;
  left: 50%; /* 要素の左端を画面幅の50%に配置 */
  transform: translateX(-50%); /* 要素の幅の半分だけ左に移動して中央揃え */
}
@media (max-width: 1420px) {
  .flow-container {
    padding-left: var(--_container-margin-left);
    padding-right: var(--_container-margin-right);
    width: 100%;
  }
}

.flow-border {
  right: 10%;
  opacity: 1;
  bottom: 10%;
  content: "";
  position: absolute;
  top: -21px;
  left: 100px;
  right: 100px;
  height: 4px;
  background: url(../img/flow-pcbg.png) repeat-x center/30px;
}

.flow-box {
  position: relative;
  display: flex;
  flex-flow: column;
  flex-wrap: wrap;
  align-items: flex-start;
  flex: 1;
  border: solid 1px #9bd5cf;
  display: flex;
  width: calc(14.2% - 6px);
  margin-right: 7px;
  position: relative;
  border-radius: 10px;
  padding: 7px;
}
.flow-box a {
  font-weight: 700;
}
.flow-box:last-child {
  margin-right: 0;
  background: linear-gradient(135deg, #9bd5cf, #009380);
  background: #08a597;
  color: #fff;
}
.flow-box:last-child figcaption {
  color: #fff !important;
  opacity: 1;
}
.flow-box:last-child .flow-box__num {
  background: #08a597;
}
.flow-box .flow-box__num {
  display: inline-block;
  padding-top: 19px;
  color: #fff;
  border: 5px solid #fff;
  background: #5accb7;
  text-align: center;
  vertical-align: middle;
  border-radius: 100%;
  position: absolute;
  top: -56px;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding-top: 13px;
  width: 68px;
  height: 68px;
  border-width: 4px;
}
.flow-box .flow-box__num::before {
  content: "0" counter(item-counter);
  counter-increment: item-counter;
  display: inline-block;
  width: 100%;
  height: 100%;
  font-size: 24px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 2px;
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.flow-box .flow-box__img {
  width: 100%;
  margin: 20px 0 11px;
  text-align: center;
}
.flow-box .flow-box__img img {
  width: 100%;
  border-radius: 10px;
}
.flow-box .flow-box__img figcaption {
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 8px 0 0;
  font-size: 1.3rem;
  font-weight: 700;
  color: #08a597;
  height: 40px;
}
@media not all and (min-width: 1000px) {
  .flow-box .flow-box__img figcaption {
    height: 1.5rem;
    font-size: 1rem;
  }
}
.flow-box .flow-box__contents {
  flex-grow: 1;
  width: 100%;
  margin: 0 0 10px 0;
  font-size: 0.89rem;
  font-weight: 500;
  line-height: 1.7;
}

.fade-in {
  opacity: 0;
  transform: scale(0.5); /* 初期状態で50%に縮小 */
  transition: opacity 0.5s ease, transform 0.5s ease; /* フェードインとズームのトランジション */
}

.fade-in.show {
  opacity: 1; /* 完全に表示 */
  transform: scale(1); /* 元のサイズに戻る */
}

.show.flow-border {
  animation: move-right 1.3s ease-out;
}
@media not all and (min-width: 1000px) {
  .show.flow-border {
    animation: move-bottom 1.3s linear;
  }
}

@keyframes move-right {
  0% {
    width: 0;
  }
  100% {
    width: calc(100% - 200px);
  }
}
@keyframes move-bottom {
  from {
    height: 0;
  }
  to {
    height: 85%;
  }
}
.flow-maker {
  font-weight: 700; /* 太字にする */
  background: linear-gradient(to bottom, transparent 50%, rgba(0, 147, 127, 0.3411764706) 50%); /* マーカー風の背景 */
  background-size: 100% 13px; /* 背景のサイズを調整 */
  background-repeat: no-repeat;
  background-position: 0 bottom;
}

.flow-bold {
  font-size: 1.1em;
  font-weight: 700;
}

@media not all and (min-width: 1000px) {
  .flow-container {
    flex-direction: column;
  }
  .flow-container .flow-border {
    top: 7%;
    /* bottom: 10%; */
    left: 22px;
    right: unset;
    width: 4px;
    height: 85%;
    background: url(../img/flow-spbg.png) repeat-y center/4px;
  }
  .flow-box {
    width: 100%;
    flex: auto;
    flex-flow: row;
    margin: 0;
    margin-left: 15px;
    margin-bottom: 20px;
    align-items: center;
    flex-direction: column;
  }
  .flow-box p {
    display: block;
    flex: 1;
    padding-left: 10px;
    font-weight: normal;
    font-size: 1rem;
  }
  .flow-box .flow-box__num {
    top: 50%;
    transform: translateY(-50%);
    bottom: unset;
    left: -38px;
    right: unset;
    margin: auto 0;
    padding-top: 14px;
    padding-left: 0;
    width: 44px;
    height: 44px;
    border-width: 2px;
    font-size: 16px;
  }
  .flow-box .flow-box__num::before {
    font-size: 1rem;
    top: 66%;
  }
  .flow-box .flow-box__img {
    flex-shrink: 1.5;
  }
}
/*コンタクト*/
.contact .garnish_text {
  color: #f0f4f5;
  opacity: 1;
  top: 250px;
  left: -174px;
}
@media not all and (min-width: 1000px) {
  .contact .garnish_text {
    font-size: 4rem;
    top: 160px;
    left: -1rem;
  }
}
.contact .heading_section {
  text-align: left;
  margin-bottom: 120px;
  position: relative;
  font-weight: 900;
}
@media not all and (min-width: 1000px) {
  .contact .heading_section {
    margin-bottom: 100px;
    font-size: 1.05rem;
  }
}

.contact__content-ttl {
  text-align: center;
}

.contact__content {
  position: relative;
  background: #f0f4f5;
  border-radius: 1.25rem;
  padding: 40px 95px 50px;
  margin: 0 auto 30px;
  max-width: 840px;
}
@media not all and (min-width: 1000px) {
  .contact__content {
    padding: 30px 20px 25px;
    border-radius: 15px;
    margin-top: 30px;
  }
}
.contact__content ul {
  font-size: 0.9em;
}
@media not all and (min-width: 1000px) {
  .contact__content ul {
    font-size: 1.125rem;
  }
}

.contact__content-float {
  position: absolute;
  top: 0;
  right: 2%;
  transform: translate(0%, -100%);
}

.contact__content-float-visual {
  width: 300px;
  overflow: hidden;
  height: 150px;
  object-fit: cover;
}
@media not all and (min-width: 1000px) {
  .contact__content-float-visual {
    width: 200px;
    height: 100px;
    position: relative;
    right: -50px;
  }
}

.contact__content-float-moji {
  width: 70%;
  top: 15%;
  left: 60%;
  animation: zou_moji 3s infinite linear 1s;
  position: absolute;
  transform: rotate(13deg); /* 傾き角度を調整できます */
  font-weight: 900;
  animation: wiggletext 3s infinite linear 1s;
  color: s;
}
@media not all and (min-width: 1000px) {
  .contact__content-float-moji {
    animation: wiggletext02 3s infinite linear 1s;
    top: 13%;
    left: 20%;
    font-size: 0.8em;
  }
}

@keyframes wiggletext {
  0% {
    transform: translate(0%, 30%) rotate(16deg);
    opacity: 0;
  }
  10% {
    transform: translate(0, 0) rotate(13deg);
    opacity: 1;
  }
  20% {
    transform: translate(0, 0) rotate(16deg);
  }
  30% {
    transform: translate(0, 0) rotate(10deg);
  }
  40% {
    transform: translate(0, 0) rotate(16deg);
  }
  50% {
    transform: translate(0, 0) rotate(10deg);
  }
  70% {
    opacity: 1;
  }
  75% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes wiggletext02 {
  0% {
    transform: translate(30%, 0%) rotate(-16deg);
    opacity: 0;
  }
  10% {
    transform: translate(0, 0) rotate(-13deg);
    opacity: 1;
  }
  20% {
    transform: translate(0, 0) rotate(-16deg);
  }
  30% {
    transform: translate(0, 0) rotate(-10deg);
  }
  40% {
    transform: translate(0, 0) rotate(-16deg);
  }
  50% {
    transform: translate(0, 0) rotate(-10deg);
  }
  60% {
    transform: translate(0, 0) rotate(-16deg);
  }
  70% {
    transform: translate(0, 0) rotate(-10deg);
  }
  80% {
    transform: translate(0, 0) rotate(-5deg);
    opacity: 1;
  }
  90% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.contact__content ul li {
  font-size: 0.9rem;
}

.c-form__item {
  margin-bottom: 1.25rem;
  display: flex;
  flex-direction: column;
}
.c-form__item:last-child {
  margin-bottom: 0;
}
.c-form__item th {
  text-align: start;
}
.c-form__item input,
.c-form__item textarea {
  width: 100%;
  margin: 3px 0;
  padding: 25px;
  border: 1px solid #c7cbcd;
  border-radius: 5px;
  border-radius: 0.3125rem;
}
.c-form__item input[type=radio],
.c-form__item input[type=checkbox] {
  display: none;
}

.c-form__item th::after {
  content: "";
  display: block;
  margin-bottom: 5px;
}
.c-form__item .c-form__item-label {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
.c-form__item .c-form__item-hissu {
  background: #e8185d;
  padding: 1px 4px;
  font-size: 12px;
  color: #fff;
  margin-left: 5px;
}
.c-form__item .c-form__item-hissu.nini {
  background: #1b667f;
}

.c-form__item-check {
  border: 1px solid #cccccc;
  background: #fff;
  border-radius: 5px;
  padding: 15px 10px;
  margin-right: 10px;
  width: calc(50% - 5px);
  margin-bottom: 10px;
  text-align: center;
  transition: 0.3s;
}
.c-form__item-check label {
  text-align: center;
}
.c-form__item-check:nth-child(4n) {
  margin-right: 0;
}

input[type=checkbox]:checked + .c-form__item-check {
  background: #5accb7;
  color: #fff;
}

.c-naiyou td {
  display: flex;
  flex-wrap: wrap;
}

.contact-form table {
  width: 100%;
}

.c-gakunen td,
.c-nyuryokusha td {
  display: flex;
  flex-wrap: wrap;
}
.c-gakunen td label,
.c-nyuryokusha td label {
  width: calc(25% - 7.5px);
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 15px 10px;
  text-align: center;
  border: 1px solid #cccccc;
  background: #fff;
  border-radius: 5px;
  transition: 0.3s;
}
.c-gakunen td label:nth-child(8n),
.c-nyuryokusha td label:nth-child(8n) {
  margin-right: 0;
}
@media not all and (min-width: 1000px) {
  .c-gakunen td label,
  .c-nyuryokusha td label {
    width: calc(50% - 5px);
    margin-right: 10px;
  }
  .c-gakunen td label:nth-child(4n),
  .c-nyuryokusha td label:nth-child(4n) {
    margin-right: 0;
  }
}
.c-gakunen td input[type=radio]:checked + label,
.c-nyuryokusha td input[type=radio]:checked + label {
  background: #5accb7;
  color: #fff;
}

.emphasis01 {
  color: #e8185d;
  display: inline-block;
  position: relative;
}
.emphasis01::before {
  position: absolute;
  top: -0.7em;
  left: 50%;
  transform: translate(-50%, 0);
  color: #e8185d;
  font-size: 0.8em;
  content: "・";
}

.c-form__privacy p {
  text-align: start;
  font-size: 0.7rem;
  margin-top: 0;
}

a[href="privacy.html"] {
  color: blue;
  text-decoration: underline;
}

span.bluelabel {
  background: #1b667f;
  color: #fff;
  padding: 0 1rem;
  border-radius: 4px;
  margin-right: 0.5rem;
}
@media not all and (min-width: 1000px) {
  span.bluelabel {
    padding: 0 3px;
    margin-right: 3px;
  }
}

.countdown {
  font-weight: 600;
}

#countdown {
  font-size: clamp(1.5rem, 0.591rem + 4.55vw, 4rem);
  color: #fff;
  background-color: #333;
  padding: 20px;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3);
  text-align: center;
  margin: 5rem 0;
  background: linear-gradient(45deg, #44b3d8, #9844b7, #44ea76); /*グラデーションを定義*/
  background-size: 200% 200%; /*サイズを大きくひきのばす*/
  animation: bggradient 5s ease infinite;
}

@keyframes bggradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0%   50%;
  }
}
#countdown::before {
  content: "大学入学共通テストまで残り";
  font-size: clamp(1rem, 0.636rem + 1.82vw, 2rem);
  display: block;
}

@keyframes zoom {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.emphasis_tx {
  background: #f0f4f5;
  clip-path: polygon(0 0, 100% 0%, 100% 85%, 50% 100%, 0 85%);
  position: relative;
  z-index: -1;
}
@media not all and (min-width: 1000px) {
  .emphasis_tx {
    clip-path: polygon(0 0, 100% 0%, 100% 95%, 50% 100%, 0 95%);
  }
}
@media not all and (min-width: 1000px) {
  .emphasis_tx {
    padding-bottom: 5rem;
  }
}
.emphasis_tx p {
  font-size: clamp(1.1rem, -1.744rem + 5.93vw, 2.7rem);
  font-weight: 900;
  padding: 1rem 0 3rem 0;
  text-align: center;
}
@media not all and (min-width: 1000px) {
  .emphasis_tx p {
    margin-top: 100px;
  }
}

.regist {
  width: 100%;
  height: 30vh;
  position: relative;
}
.regist .conversion {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-bottom: 1.5rem;
}

.button {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  width: 360px;
  height: 80px;
  background-color: #db3c7b;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  border-radius: 16px 3em 3em 16px;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.05);
  padding: 0 25px 0 35px;
  color: #222;
  -ms-flex: none;
  flex: none;
  transition-duration: 0.3s;
}
@media not all and (min-width: 1000px) {
  .button {
    width: 80vw;
  }
}
@media not all and (min-width: 1000px) {
  .button {
    height: 70px;
  }
}
.button:hover, .button:active {
  background-color: #da1664;
}

.button_s {
  width: 160px;
  height: 45px;
  font-size: 13px;
  justify-content: center;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.05);
  padding: 0;
}

.conversion .conversion__txt {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 4.2666666667vw;
  font-weight: 800;
  color: #44b3d8;
  gap: 2px;
}
@media (min-width: 767px) {
  .conversion .conversion__txt {
    font-size: 24px;
    gap: 3px;
  }
}
.conversion .conversion__txt::before, .conversion .conversion__txt::after {
  content: "";
  width: 1px;
  height: 5.3333333333vw;
  width: 2px;
  background: #d8dae1;
}
@media (min-width: 767px) {
  .conversion .conversion__txt::before, .conversion .conversion__txt::after {
    height: 27.71px;
    width: 4px;
  }
}
.conversion .conversion__txt::before {
  transform: rotate(-24deg);
}
.conversion .conversion__txt::after {
  transform: rotate(24deg);
}
.conversion a.conversion__btn {
  display: flex;
  width: 89.3333333333vw;
  height: 16vw;
  align-items: center;
  color: #fff;
  font-size: 4.5333333333vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  background-image: linear-gradient(90deg, #5accb7, rgb(147, 209, 82));
  border-radius: 50px;
  border: 3px solid #fff;
  padding-left: 10.1333333333vw;
  position: relative;
  margin: 2.4vw auto 0;
  overflow: hidden;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.05);
}
@media (min-width: 767px) {
  .conversion a.conversion__btn {
    width: 640px;
    height: 83px;
    font-size: 2rem;
    justify-content: center;
    padding-left: 0;
    margin-top: 13px;
    transition: 0.3s;
  }
  .conversion a.conversion__btn:hover {
    transform: scale(1.2);
    opacity: 0.8;
  }
}
.conversion a.conversion__btn::before {
  font-family: FontAwesome, "Noto Sans Japanese", sans-serif;
  content: "\f0a9"; /* Font Awesomeのアイコンコード */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7.2vw;
  width: 8.5333333333vw;
  font-size: 8.5333333333vw;
  color: #fff;
}
@media (min-width: 767px) {
  .conversion a.conversion__btn::before {
    width: 32px;
    right: 30px;
    font-size: 2rem;
  }
}

span.kira {
  position: absolute;
  top: -100px;
  left: -100px;
  width: 50px;
  height: 50px;
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgb(255, 255, 255) 100%, rgba(255, 255, 255, 0) 0%);
  content: "";
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  /* アニメーション */
  animation-name: shiny;
}

@keyframes shiny {
  0% {
    transform: scale(0) rotate(25deg);
    opacity: 0;
  }
  50% {
    transform: scale(1) rotate(25deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(25deg);
    opacity: 0;
  }
}
.animation-txt span {
  display: inline-block;
}

.animation-txt span:nth-of-type(2) {
  animation-delay: 0.03s;
}

.animation-txt span:nth-of-type(3) {
  animation-delay: 0.06s;
}

.animation-txt span:nth-of-type(4) {
  animation-delay: 0.09s;
}

.animation-txt span:nth-of-type(5) {
  animation-delay: 0.12s;
}

.animation-txt span:nth-of-type(6) {
  animation-delay: 0.15s;
}

.animation-txt span:nth-of-type(7) {
  animation-delay: 0.18s;
}

.animation-txt span:nth-of-type(8) {
  animation-delay: 0.21s;
}

.animation-txt span:nth-of-type(9) {
  animation-delay: 0.24s;
}

.animation-txt span:nth-of-type(10) {
  animation-delay: 0.27s;
}

.animation-txt span:nth-of-type(11) {
  animation-delay: 0.3s;
}

.animation-txt span:nth-of-type(12) {
  animation-delay: 0.33s;
}

.animation-txt span:nth-of-type(13) {
  animation-delay: 0.36s;
}

.animation-txt span:nth-of-type(14) {
  animation-delay: 0.39s;
}

.animation-txt span:nth-of-type(15) {
  animation-delay: 0.42s;
}

.animation-txt span:nth-of-type(16) {
  animation-delay: 0.45s;
}

.animation-txt span:nth-of-type(17) {
  animation-delay: 0.48s;
}

.animation-txt span:nth-of-type(18) {
  animation-delay: 0.51s;
}

.top-wrapper-txt span {
  opacity: 0;
  transform: translate(-150px, 0) scale(0.3);
  animation: leftRight 0.3s forwards;
}

@keyframes leftRight {
  40% {
    transform: translate(50px, 0) scale(0.8);
    opacity: 1;
    color: #fff;
  }
  60% {
    color: #fff;
  }
  80% {
    transform: translate(0) scale(3);
    opacity: 0;
  }
  100% {
    transform: translate(0) scale(1);
    opacity: 1;
  }
}
.submit_btn {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 16vw;
  align-items: center;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 5px;
  background: linear-gradient(135deg, #f9db5c, #f88b0b);
  border-radius: 5px;
  border: 3px solid #fff;
  position: relative;
  margin: 2.4vw auto 0;
  overflow: hidden;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: 0.3s;
}
@media (min-width: 767px) {
  .submit_btn {
    height: 83px;
    font-size: 2rem;
    justify-content: center;
    padding-left: 0;
    margin-top: 13px;
  }
}
.submit_btn::before {
  font-family: FontAwesome, "Noto Sans Japanese", sans-serif;
  content: "\f138"; /* Font Awesomeのアイコンコード */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7.2vw;
  width: 8.5333333333vw;
  font-size: 8.5333333333vw;
  color: #fff;
}
@media (min-width: 767px) {
  .submit_btn::before {
    width: 32px;
    right: 30px;
    font-size: 2rem;
  }
}
.submit_btn:hover, .submit_btn:active {
  opacity: 0.7;
}

.mySwiper {
  margin-top: 10px;
  height: 65px;
}
@media not all and (min-width: 600px) {
  .mySwiper {
    height: 40px;
  }
}

.mySwiper .swiper-slide {
  width: 20%;
  height: 100%;
  opacity: 0.4;
}
.mySwiper .swiper-slide img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  border-radius: 10px;
}

.mySwiper .swiper-slide-thumb-active {
  opacity: 1;
}

.mySwiper2 .swiper-button-next,
.mySwiper2 .swiper-button-prev {
  color: #fff;
}

.d-block {
  display: block !important;
}

@media (min-width: 1201px) {
  .l-header__drawerBtn {
    position: fixed;
    display: none;
  }
}
@media not all and (min-width: 600px) {
  .vk_button.vk_button-align-wide,
  .editor-styles-wrapper .vk_button.vk_button-align-wide {
    max-width: 100% !important;
  }
}
#sidebar h2 {
  font-size: 1.1rem !important;
  background-color: #08a597;
  color: #fff;
  padding: 5px 10px;
}

@media (min-width: 1000px) {
  .l-sidebar {
    background-color: #f9f9f9;
    padding: 10px;
  }
}
@media not all and (min-width: 1000px) {
  .postid-2551 #main_content .bg-gd.gdfont span,
  .postid-2556 #main_content .bg-gd.gdfont span {
    font-size: 1.5rem !important;
  }
  .postid-2551 #main_content .bg-gd.gdfont span::after,
  .postid-2556 #main_content .bg-gd.gdfont span::after {
    width: 35px !important;
    height: 35px !important;
  }
}
.cta_container {
  background: #ecf6f4;
  padding: 40px 20px;
}

.cta_inner {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  text-align: center;
  color: #08a597;
}

.cta_catch {
  color: inherit;
}

.cta_title {
  font-size: clamp(1.125rem, 0.504rem + 1.29vw, 1.313rem);
  font-weight: 500;
  color: inherit;
  margin-bottom: 20px;
  margin-top: 10px;
}
@media not all and (min-width: 600px) {
  .cta_title {
    line-height: 1.4;
  }
}

a.button2,
button.button2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
}

.button2-c-wrap {
  margin: 30px 0;
  text-align: center;
}

a.button2-c {
  font-size: clamp(1rem, 0.821rem + 0.89vw, 1.25rem);
  width: 100%;
  max-width: 500px;
  position: relative;
  padding: 0.25rem 3rem 1rem 3rem;
  color: #fff;
  background: #dc5e61;
  border: 3px solid #fff;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.05);
}

a.button2-c span {
  font-size: 0.8rem;
  position: absolute;
  top: -0.75rem;
  left: calc(50% - 125px);
  display: block;
  width: 250px;
  padding: 0.25rem 0;
  color: #dc5e61;
  border: 2px solid #dc5e61;
  border-radius: 100vh;
  background: #fff;
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}

a.button2-c span:before,
a.button2-c span:after {
  position: absolute;
  left: calc(50% - 10px);
  content: "";
}

a.button2-c span:before {
  bottom: -10px;
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #dc5e61 transparent transparent transparent;
}

a.button2-c span:after {
  bottom: -7px;
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

a.button2-c i {
  margin-right: 0.75rem;
}

a.button2-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
  color: #fff;
  background: #dc5e61;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.05);
}

.cta-icon {
  margin-right: 8px;
}

.event-btn {
  border: solid 2px #fff;
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.2);
  border-radius: 100px;
}
.event-btn .vk_button_link {
  background: linear-gradient(-135deg, #f9db5c, #f88b0b);
  padding: 0.6em 1rem !important;
  border-radius: inherit;
}

.cta_title strong {
  font-size: 1.1em;
}
.cta_title strong.ctv-dot {
  font-size: 1.1em;
  background: radial-gradient(circle at center, #08a597 13%, transparent 17%) repeat-x top right/calc(1em - 0.8px) 0.3em;
  font-weight: 700;
  margin: 0 0.1rem;
  padding-top: 0.2em;
}

/*
*ヘッダーレイアウト1列
*/
.l-header__body {
  margin: 0 auto !important;
  max-width: 1500px;
}
@media (min-width: 1000px) {
  .l-header__body {
    grid-template-columns: auto 0 auto min-content min-content !important;
    height: 90px;
  }
}

.l-header__barInner {
  max-width: 1500px;
}

@media (min-width: 1000px) {
  .l-header__center {
    flex-direction: column;
  }
  .u-flex--aic, .u-flex--aicw {
    margin-left: 1rem !important;
  }
  .c-gnav__li > .c-gnav__a {
    padding: 16px clamp(0.313rem, -3.438rem + 5vw, 1.25rem);
  }
  .c-gnav .__mainText,
  .c-gnav .__subText {
    font-size: clamp(0.688rem, 0.219rem + 0.75vw, 0.875rem);
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .menu-item-type-custom .__mainText {
    font-weight: 400;
  }
  .l-header__right .head-right-box {
    margin-left: 10px;
  }
  /* グロナビの装飾*/
  .c-gnavWrap .menu-item a {
    border-bottom: 3px solid #fff;
    transition: 0.3s;
  }
  .c-gnavWrap .menu-item a:hover {
    border-bottom: 3px solid #08a597;
    color: #adadad;
  }
  .c-gnavWrap .current-menu-item a {
    border-bottom: 3px solid #08a597;
  }
}
@media (max-width: 1200px) {
  [data-has-drawer=sp] .l-header__drawerBtn {
    display: block;
    position: fixed;
  }
  .l-header__right {
    display: none;
  }
}
.c-drawerNav__a,
.c-gnav .sub-menu .c-gnav__a,
.widget_categories a,
.widget_nav_menu a,
.widget_recent_entries__a,
.wp-block-archives-list a,
.wp-block-categories-list a,
.wp-block-pages-list__item__link {
  border-bottom: none;
}
.c-drawerNav__a:hover,
.c-gnav .sub-menu .c-gnav__a:hover,
.widget_categories a:hover,
.widget_nav_menu a:hover,
.widget_recent_entries__a:hover,
.wp-block-archives-list a:hover,
.wp-block-categories-list a:hover,
.wp-block-pages-list__item__link:hover {
  border-bottom: none;
}

#header {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.12), 0 1px 8px 0 rgba(0, 0, 0, 0.2);
}

@media (min-width: 1000px) {
  .l-header__right .head-right-box .head_contents .head_btn a {
    padding: clamp(1rem, 0.25rem + 1.2vw, 1.3rem);
    font-size: clamp(0.7rem, -0.125rem + 1.2vw, 1rem);
  }
  .h_right1 a {
    margin-right: 0.2rem;
    background: #08a597;
    color: #fff;
    border: solid 2px #fff;
  }
}
@media (min-width: 1000px) and (min-width: 1200px) {
  .h_right1 a {
    margin-right: 0.5rem;
  }
}
@media (min-width: 1000px) {
  .h_right1 a:hover {
    background: #fff;
    color: #5accb7;
    border: solid 2px #5accb7;
  }
  .h_right2 a {
    background: #ef8532;
    color: #fff;
    border: solid 2px #fff;
  }
  .h_right2 a:hover {
    background: #fff;
    color: #f79f5c;
    border: solid 2px #f79f5c;
  }
}
@media (min-width: 1000px) {
  .l-header__center .has-image + .c-tagline {
    margin: 0 !important;
    height: auto;
    font-size: clamp(1rem, -0.95rem + 2.4vw, 1.15rem);
  }
}/*# sourceMappingURL=style.css.map */


/* -- ContactForm7カスタマイズ -- */
table.CF7_table {
	width:100%;
	max-width: 900px;
	margin:0 auto;
}

table.CF7_table tr {
	border-top: 1px solid #e5e5e5;
	display: flex;
    flex-direction: column;
}

.wpcf7-list-item {
	width:49.5%;
}

.wpcf7-form-control.wpcf7-radio,
.wpcf7-form-control.wpcf7-checkbox {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table {
	display:table;
}

.CF7_table label {
    display: flex;
	align-items: center;
    width: 100%;
}

.wpcf7-list-item-label {	
	transition: all 0.2s ease-out 0s;
    display: flex;
    align-items: center;
	justify-content:center;
    width: 100%;
	margin: 5px 0;
    padding: 15px 10px;
    border: 1px solid #c7cbcd;
    border-radius: 5px;
    cursor: pointer;
}

.CF7_table .select-item {
    display: none;
}

.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}

.wpcf7-list-item first {
    background: #5accb7;
    color: #fff;
}

.wpcf7-list-item-label:hover {
    background: #5accb7;
    color: #fff;
}

.wpcf7-list-item first {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0 0.5rem 0.5rem 0;
    padding: 10px 10px 10px 40px;
    cursor: pointer;
    border-radius: 5px;
    transition: all 0.2s ease-out 0s;
}


.CF7_table label input[type="radio"]:checked + .wpcf7-list-item-label {
    background-color: #5accb7;
    color: #fff;
}

/* デフォルトボタン */
input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.wpcf7-list-item {
  margin-left: 0;
}

.wpcf7-list-item-label {
	position: relative;
}

.wpcf7-list-item-label::before {
	content: "";
	top: 50%;
	left: 32%;
    width: 20px;
    height: 20px;
    background-color: #fff;
	 border-radius: 100%;
     border: 1px solid #d8d8d8;
	 position: absolute;
	transform:translate(-50%, -50%);
	transition: background-color .2s;
}

.gender_item .wpcf7-list-item-label::before {
	left: 40%;
}

/* チェック後のボタン */
input[type="radio"]:checked + .wpcf7-list-item-label::before {
	background-color: #898989;
	box-shadow: inset 0 0 0 3px #fff;
}

.contact_select .wpcf7-list-item-label input[type=radio]:checked + .contact_select .wpcf7-list-item-label::after {
    opacity: 1;
}

.form_item {
	padding:  15px 25px;
	width:100%;
}

/* プレースホルダー文字の色*/
.wpcf7 input[type="text"]::placeholder {
    color: #bdc3c7;
}

/* 入力中（フォーカス）の背景色 */
.wpcf7 input:focus {
    background: #fff9ee;
}


/* 入力欄 */
.CF7_table input, .CF7_table textarea {
	border: 1px solid #d8d8d8;
	display: flex;
    flex-direction: column;
}

.CF7_table ::placeholder {
    color: #bdc3c7;
}

.grade_item .wpcf7-list-item-label::before,
.grade_item .wpcf7-list-item-label::after {
	content: unset;
}

.form-description{
	font-size: 14px;
}

/*「必須」「任意」文字*/
.CF7_req ,
.CF7_unreq {
    padding: 1px 4px;
    font-size: 12px;
    color: #fff;
    margin-left: 5px;
}

.CF7_req {
	background: #e8185d;
}

.CF7_unreq {
    background: #1b667f;
}

.check_list input[type=checkbox] {
	opacity: 0;
	visibility: hidden;
	position: absolute;
}

.check_list .wpcf7-list-item-label {
	position: relative;
}

.check_list input[type=checkbox]:checked + .wpcf7-list-item-label {
    background: #5accb7;
    color: #fff;
}

.check_list .wpcf7-list-item-label::before,
.check_list .wpcf7-list-item-label::after {
	content: "";
	top: 50%;
	left: 32%;
	transform:translate(-50%, -50%);
}

.check_list .wpcf7-list-item-label::before {
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 3px;
	position: absolute;
}

.check_list input[type=checkbox]:checked + .wpcf7-list-item-label::after {
    opacity: 1;
}

.check_list .wpcf7-list-item-label::after {
	content: "\f00c";
    font: var(--fa-font-solid);
    color: #5e5e5e;
    opacity: 0;
    transition: all 0.2s ease-out 0s;
    position: absolute;
}

.wpcf7-spinner {
	width: 0;
	margin: 0;
}

.CF7_table + .submit_btn {
	max-width: 900px;
}

/* 追加 */






.wpcf7-form-control.wpcf7-submit.has-spinner {
	background: none;
    color: #fff;
    border: none;
		/* 追加 */
	height: 100%;
	width: 100%; 

}

.wpcf7 form .wpcf7-response-output {
    margin: 2em auto 1em;
    padding: 0.2em 1em;
    border: 2px solid #00a0d2;
    width: 900px;
}


input.p-postal-code,
input.p-region,
input.p-locality,
input.p-street-address {
  width: 100%; /* 必要に応じて調整 */
}


/*
#autozip {
   display: none !important;
}
*/
@media screen and (max-width: 1024px) {
	.wpcf7-list-item-label::before {
		left: 30%;
	}
	.check_list .wpcf7-list-item-label::before,
	.check_list .wpcf7-list-item-label::after {
		left: 30%;
	}
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
	.wpcf7-list-item-label {
		margin: 5px 5px;
	}
	.wpcf7-list-item-label::before,
	.check_list .wpcf7-list-item-label::before,
	.check_list .wpcf7-list-item-label::after {
		left: 1.1em;
	}
	.gender_item .wpcf7-list-item-label::before {
		left: 2.5em;
	}
	
	.wpcf7 form .wpcf7-response-output {
    width: 100%;
}
	


}






/* 固定ページID18947のタイトル下にサブタイトルを表示 */
body.page-id-18947 .c-pageTitle__main::after {
	content: "-  お問い合わせ・お申し込み・無料受験相談などお気軽にお問い合わせください  -";
	display: block;
  	font-size: 0.9rem;
  	font-style: italic;
  	font-weight: 400;
  	vertical-align: middle;
	margin-top: 1.5rem;
	letter-spacing: .06em;
}

