@charset "UTF-8";
.l-wrapper {
  width: calc(100% - 4rem);
  max-width: 108rem;
  margin: auto;
  position: relative;
}

.l-wrapper-wide {
  width: calc(100% - 4rem);
  max-width: 120rem;
  margin: auto;
  position: relative;
}

.p-thanks__ttl, .p-instructor .c-title--lv2, .p-course .c-title--lv2, .c-courseDetail__name {
  font-size: 3.6rem;
}
@media screen and (max-width: 768px) {
  .p-thanks__ttl, .p-instructor .c-title--lv2, .p-course .c-title--lv2, .c-courseDetail__name {
    font-size: 3rem;
  }
}
@media screen and (max-width: 568px) {
  .p-thanks__ttl, .p-instructor .c-title--lv2, .p-course .c-title--lv2, .c-courseDetail__name {
    font-size: 2.6rem;
  }
}

.p-instructor__bandText strong {
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .p-instructor__bandText strong {
    font-size: 2.8rem;
  }
}

.c-articleHead__ttl, .c-authorBox--instructor .c-authorBox__message::before, .c-authorBox--instructor .c-authorBox__message::after, div.c-basket__box h1, div.c-basket__box h2 {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .c-articleHead__ttl, .c-authorBox--instructor .c-authorBox__message::before, .c-authorBox--instructor .c-authorBox__message::after, div.c-basket__box h1, div.c-basket__box h2 {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 568px) {
  .c-articleHead__ttl, .c-authorBox--instructor .c-authorBox__message::before, .c-authorBox--instructor .c-authorBox__message::after, div.c-basket__box h1, div.c-basket__box h2 {
    font-size: 2.4rem;
  }
}

.p-contact__ttl, .p-404__ttl {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .p-contact__ttl, .p-404__ttl {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 568px) {
  .p-contact__ttl, .p-404__ttl {
    font-size: 2.3rem;
  }
}

.c-title, .c-title--lv2 {
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .c-title, .c-title--lv2 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 568px) {
  .c-title, .c-title--lv2 {
    font-size: 2.2rem;
  }
}

.p-contact__formTtl, .p-instructor__bandText, .c-featureItem__num, .c-policyBox__content h2 {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-contact__formTtl, .p-instructor__bandText, .c-featureItem__num, .c-policyBox__content h2 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 568px) {
  .p-contact__formTtl, .p-instructor__bandText, .c-featureItem__num, .c-policyBox__content h2 {
    font-size: 2rem;
  }
}

.wpcf7-form .wpcf7-submit, .p-course__groupTtl, div.editor h2, .c-shareBox__list p, .c-courseDetail__learnTtl, .c-title--lv3 {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-form .wpcf7-submit, .p-course__groupTtl, div.editor h2, .c-shareBox__list p, .c-courseDetail__learnTtl, .c-title--lv3 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 568px) {
  .wpcf7-form .wpcf7-submit, .p-course__groupTtl, div.editor h2, .c-shareBox__list p, .c-courseDetail__learnTtl, .c-title--lv3 {
    font-size: 1.6rem;
  }
}

.p-contact__featuresTtl, div.p-form div.agree_box p.strong_text, .p-frontForm__submit, div.editor h3, .c-articlePager li, .c-courseDetail__btn, .c-flow__ttl, .c-serviceCard__ttl, .c-caseCard__ttl, .c-text--lg, .c-sidebarBlock__ttl, .c-title--lv4 {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-contact__featuresTtl, div.p-form div.agree_box p.strong_text, .p-frontForm__submit, div.editor h3, .c-articlePager li, .c-courseDetail__btn, .c-flow__ttl, .c-serviceCard__ttl, .c-caseCard__ttl, .c-text--lg, .c-sidebarBlock__ttl, .c-title--lv4 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 568px) {
  .p-contact__featuresTtl, div.p-form div.agree_box p.strong_text, .p-frontForm__submit, div.editor h3, .c-articlePager li, .c-courseDetail__btn, .c-flow__ttl, .c-serviceCard__ttl, .c-caseCard__ttl, .c-text--lg, .c-sidebarBlock__ttl, .c-title--lv4 {
    font-size: 1.5rem;
  }
}

.p-thanks__lead, .p-contact__lead, .p-contact__featuresItem, .wpcf7-form .p-contactForm__label, .wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form textarea,
.wpcf7-form select, .p-404__lead, .p-frontForm__label, .p-frontForm__input, div.editor, .c-articleHead__thum div.pop, .c-articleHead__info .c-articleDay, .c-articleGrid__ttl, .c-featureItem__label, .c-courseDetail__eyebrow, .c-courseDetail__lead, .c-courseDetail__specLabel, .c-courseDetail__specVal, .c-courseDetail__cardCap, .c-courseDetail__weekTable th, .c-courseDetail__weekTable td, .c-authorBox__name, .c-articleCard__ttl, .c-title--lv5, .c-eyebrow, .c-policyBox__content h3, .c-policyBox__content p, .c-policyBox__content ol, div.c-basket__box p, button, p#fm_ajax_message {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-thanks__lead, .p-contact__lead, .p-contact__featuresItem, .wpcf7-form .p-contactForm__label, .wpcf7-form input[type=text],
  .wpcf7-form input[type=email],
  .wpcf7-form input[type=tel],
  .wpcf7-form textarea,
  .wpcf7-form select, .p-404__lead, .p-frontForm__label, .p-frontForm__input, div.editor, .c-articleHead__thum div.pop, .c-articleHead__info .c-articleDay, .c-articleGrid__ttl, .c-featureItem__label, .c-courseDetail__eyebrow, .c-courseDetail__lead, .c-courseDetail__specLabel, .c-courseDetail__specVal, .c-courseDetail__cardCap, .c-courseDetail__weekTable th, .c-courseDetail__weekTable td, .c-authorBox__name, .c-articleCard__ttl, .c-title--lv5, .c-eyebrow, .c-policyBox__content h3, .c-policyBox__content p, .c-policyBox__content ol, div.c-basket__box p, button, p#fm_ajax_message {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 568px) {
  .p-thanks__lead, .p-contact__lead, .p-contact__featuresItem, .wpcf7-form .p-contactForm__label, .wpcf7-form input[type=text],
  .wpcf7-form input[type=email],
  .wpcf7-form input[type=tel],
  .wpcf7-form textarea,
  .wpcf7-form select, .p-404__lead, .p-frontForm__label, .p-frontForm__input, div.editor, .c-articleHead__thum div.pop, .c-articleHead__info .c-articleDay, .c-articleGrid__ttl, .c-featureItem__label, .c-courseDetail__eyebrow, .c-courseDetail__lead, .c-courseDetail__specLabel, .c-courseDetail__specVal, .c-courseDetail__cardCap, .c-courseDetail__weekTable th, .c-courseDetail__weekTable td, .c-authorBox__name, .c-articleCard__ttl, .c-title--lv5, .c-eyebrow, .c-policyBox__content h3, .c-policyBox__content p, .c-policyBox__content ol, div.c-basket__box p, button, p#fm_ajax_message {
    font-size: 1.4rem;
  }
}

.wpcf7-form .wpcf7-acceptance label, .wpcf7-response-output, .btn_add, .btn_remove, p#fm_ajax_message, .p-frontForm__check, ul.l-header-nav__sub li a, .c-categoryList__item a,
.c-categoryList__item span, ul.c-articleNav__transfer li, .c-articleList__date, .c-articleHead__info .c-articleCgy li a,
.c-articleHead__info .c-articleCgy li span, .c-articleGrid__info li.article-day, .c-articleGrid__text, .c-articleEntry__text, .c-newsItem, .c-cta__badge, .c-compareTable th, .c-compareTable td, .c-authorBox__bio, .c-flow__desc, .c-serviceCard__desc, .c-caseCard__client, .c-articleCard__excerpt, .c-text--sm, div.c-breadcrumbs {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-form .wpcf7-acceptance label, .wpcf7-response-output, .btn_add, .btn_remove, p#fm_ajax_message, .p-frontForm__check, ul.l-header-nav__sub li a, .c-categoryList__item a,
  .c-categoryList__item span, ul.c-articleNav__transfer li, .c-articleList__date, .c-articleHead__info .c-articleCgy li a,
  .c-articleHead__info .c-articleCgy li span, .c-articleGrid__info li.article-day, .c-articleGrid__text, .c-articleEntry__text, .c-newsItem, .c-cta__badge, .c-compareTable th, .c-compareTable td, .c-authorBox__bio, .c-flow__desc, .c-serviceCard__desc, .c-caseCard__client, .c-articleCard__excerpt, .c-text--sm, div.c-breadcrumbs {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 568px) {
  .wpcf7-form .wpcf7-acceptance label, .wpcf7-response-output, .btn_add, .btn_remove, p#fm_ajax_message, .p-frontForm__check, ul.l-header-nav__sub li a, .c-categoryList__item a,
  .c-categoryList__item span, ul.c-articleNav__transfer li, .c-articleList__date, .c-articleHead__info .c-articleCgy li a,
  .c-articleHead__info .c-articleCgy li span, .c-articleGrid__info li.article-day, .c-articleGrid__text, .c-articleEntry__text, .c-newsItem, .c-cta__badge, .c-compareTable th, .c-compareTable td, .c-authorBox__bio, .c-flow__desc, .c-serviceCard__desc, .c-caseCard__client, .c-articleCard__excerpt, .c-text--sm, div.c-breadcrumbs {
    font-size: 1.2rem;
  }
}

.wpcf7-form .p-contactForm__req, .wpcf7-not-valid-tip, div.err_area p, div.err_area .text_box li, .p-frontForm__req, .c-articleTag__item a:link, .c-articleTag__item a:visited, .c-articleTag__item a:active, .c-articleList__cat a,
.c-articleList__cat span, .c-articleGrid__info ul.article-cgy li a,
.c-articleGrid__info ul.article-cgy li span, .c-newsItem__cat, .c-authorBox__role, .c-caseCard__industry, .c-articleCard__meta, .c-cookiebox .c-cookiebox__inner p, .c-cookiebox .c-cookiebox__inner .cookiebox__inner-btn {
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-form .p-contactForm__req, .wpcf7-not-valid-tip, div.err_area p, div.err_area .text_box li, .p-frontForm__req, .c-articleTag__item a:link, .c-articleTag__item a:visited, .c-articleTag__item a:active, .c-articleList__cat a,
  .c-articleList__cat span, .c-articleGrid__info ul.article-cgy li a,
  .c-articleGrid__info ul.article-cgy li span, .c-newsItem__cat, .c-authorBox__role, .c-caseCard__industry, .c-articleCard__meta, .c-cookiebox .c-cookiebox__inner p, .c-cookiebox .c-cookiebox__inner .cookiebox__inner-btn {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 568px) {
  .wpcf7-form .p-contactForm__req, .wpcf7-not-valid-tip, div.err_area p, div.err_area .text_box li, .p-frontForm__req, .c-articleTag__item a:link, .c-articleTag__item a:visited, .c-articleTag__item a:active, .c-articleList__cat a,
  .c-articleList__cat span, .c-articleGrid__info ul.article-cgy li a,
  .c-articleGrid__info ul.article-cgy li span, .c-newsItem__cat, .c-authorBox__role, .c-caseCard__industry, .c-articleCard__meta, .c-cookiebox .c-cookiebox__inner p, .c-cookiebox .c-cookiebox__inner .cookiebox__inner-btn {
    font-size: 1.1rem;
  }
}

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

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

body {
  vertical-align: baseline;
}

img {
  display: inherit;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

* {
  box-sizing: border-box;
  word-break: normal;
  background-repeat: no-repeat;
}

div#ie_container {
  display: none;
  width: 100%;
  height: 100%;
  margin: auto;
}
div#ie_container div.cover {
  width: 100%;
  height: 100%;
  max-width: none;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  margin: auto;
}
div#ie_container div.cover p {
  width: 100%;
  position: absolute;
  font-size: 12px;
  top: 50%;
  left: 0;
  right: 0;
  text-align: center;
}

.ie7 body {
  overflow: hidden;
  background: #FFFFFF;
}

.ie7 div#container {
  display: none;
}

.ie8 body {
  overflow: hidden;
  background: #FFFFFF;
}

.ie8 div#container {
  display: none;
}

.ie8 div#ie_container {
  display: inherit;
}

html,
body {
  width: 100%;
  min-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  html,
  body {
    min-width: inherit;
  }
}

@media screen and (min-width: 569px) {
  html {
    font-size: 10px;
  }
}
@media screen and (max-width: 568px) {
  html {
    font-size: 2.5641025641vw; /* 39.0rem時に1rem = 1.0rem */
  }
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
  color: #002248;
  line-height: 1.7;
  background: #FFF;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}

div#container {
  width: 100%;
  height: 100%;
}

a {
  transition: background-color 0.4s ease, color 0.4s ease, opacity 0.4s ease;
}
a, a:hover, a:visited, a:link {
  color: #002248;
  text-decoration: none;
}
a img {
  transition: opacity 0.4s ease;
}
a:hover {
  opacity: 0.8;
}
a:hover img {
  opacity: 0.8;
}

picture {
  display: block;
}

img {
  max-width: 100%;
}

br {
  line-height: inherit;
}

hr {
  height: 0.1rem;
  clear: both;
  border: none;
  border-top: #CCCCCC 0.1rem solid;
  color: #FFF;
}

.unselectable {
  -ms-user-select: none; /* IE 10+ */
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

* {
  letter-spacing: 0.02em;
}

input,
select,
textarea,
search {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
  border-radius: 0;
  border: 1px solid #D0D0D0;
  background: #FFF;
  -webkit-appearance: none;
  font-size: 1.6rem;
}

button {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
  background-color: transparent;
  border: none;
  color: #002248;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: 0;
  border-color: #0047BA;
}

:-ms-input-placeholder {
  color: #ddd;
}

::placeholder {
  color: #ddd;
}

::selection {
  color: #fff;
  background: #0047BA;
}

input::selection,
textarea::selection {
  color: #fff;
  background: #0047BA;
}

input {
  width: 100%;
  padding: 1rem;
  margin-top: 0.8rem;
}

input.wth_80 {
  width: 80%;
}
@media screen and (max-width: 768px) {
  input.wth_80 {
    width: 100%;
  }
}

input.wth_70 {
  width: 70%;
}
@media screen and (max-width: 768px) {
  input.wth_70 {
    width: 100%;
  }
}

input.wth_50 {
  width: 50%;
}
@media screen and (max-width: 768px) {
  input.wth_50 {
    width: 100%;
  }
}

input.wth_30 {
  width: 30%;
}
@media screen and (max-width: 768px) {
  input.wth_30 {
    width: 100%;
  }
}

input.wth_20 {
  width: 20%;
}
@media screen and (max-width: 768px) {
  input.wth_20 {
    width: 50%;
  }
}

textarea {
  margin-top: 0.8rem;
  width: 100%;
  height: 10em;
  padding: 1rem;
  resize: vertical;
}

select {
  width: 39.6rem;
  padding: 1rem 6rem 1rem 1rem;
  background-image: url(../img/arrow/input_select.svg);
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.7rem 1rem;
  vertical-align: middle;
  border: #D0D0D0 0.1rem solid;
  margin: 0.5rem 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #002248;
}

select::-ms-expand {
  display: none;
}

input[type=radio],
input[type=checkbox] {
  display: none;
}

input[type=radio] + label,
input[type=radio] + span {
  padding-left: 2.5rem;
  display: inline-block;
  background-image: url(../img/arrow/input_check_off.svg);
  background-position: left 50%;
  background-size: 1.8rem 1.8rem;
  cursor: pointer;
  position: relative;
}
input[type=radio] + label::before,
input[type=radio] + span::before {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  border: 1px solid #969696;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
input[type=radio] + label::after,
input[type=radio] + span::after {
  display: block;
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2rem;
  height: 1.2rem;
  aspect-ratio: 1/1;
  border-radius: 1.2rem;
  background: #f49600;
  opacity: 0;
}

input[type=radio]:checked + label::after,
input[type=radio]:checked + span::after {
  opacity: 1;
}

input[type=checkbox] + label,
input[type=checkbox] + span {
  padding: 0.3rem 0rem 0.7rem 3rem;
  margin: 0.2rem 2rem 0.2rem 0rem;
  background-position: left 50%;
  background-size: 1.8rem 1.8rem;
  display: inline-block;
  cursor: pointer;
  position: relative;
}
input[type=checkbox] + label::before,
input[type=checkbox] + span::before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #404040;
  background: #fff;
}
input[type=checkbox] + label::after,
input[type=checkbox] + span::after {
  position: absolute;
  top: 5px;
  left: 0;
  width: 1.8rem;
  height: 1.8rem;
  background: url(./../img/arrow/checkbox_on.svg) center center/contain no-repeat;
  opacity: 0;
}

input[type=checkbox]:checked + label::after,
input[type=checkbox]:checked + span::after {
  opacity: 1;
}

input[type=file] {
  border: none;
  padding: 0;
}

input[type=submit].input_submit,
input[type=reset].input_submit,
input[type=button].input_submit,
button[type=submit].input_submit,
button[type=button].input_submit {
  display: inline-block;
  width: auto;
  min-width: 30rem;
  text-align: center;
  padding: 2rem 2rem;
  font-weight: bold;
  border-radius: 1rem;
  color: #fff;
  background-color: #0047BA;
  border: none;
  cursor: pointer;
}
input[type=submit].input_submit:hover,
input[type=reset].input_submit:hover,
input[type=button].input_submit:hover,
button[type=submit].input_submit:hover,
button[type=button].input_submit:hover {
  opacity: 0.8;
}
input[type=submit].button_confirm,
input[type=reset].button_confirm,
input[type=button].button_confirm,
button[type=submit].button_confirm,
button[type=button].button_confirm {
  display: inline-block;
  width: auto;
  min-width: 30rem;
  text-align: center;
  padding: 2rem 2rem;
  font-weight: bold;
  border-radius: 1rem;
  color: #fff;
  background-color: #0047BA;
  border: none;
}
input[type=submit].input_return,
input[type=reset].input_return,
input[type=button].input_return,
button[type=submit].input_return,
button[type=button].input_return {
  display: inline-block;
  width: auto;
  border: none;
  padding: 0 0 0 1.5rem;
  background-image: url(../img/arrow/arrow_left.svg);
  background-size: 0.5rem auto;
  background-position: left center;
  min-width: inherit;
  color: #002248;
  font-weight: 500;
  text-decoration: underline;
  background-color: transparent;
  transition: none;
  cursor: pointer;
}
@media screen and (max-width: 414px) {
  input[type=submit].input_return,
  input[type=reset].input_return,
  input[type=button].input_return,
  button[type=submit].input_return,
  button[type=button].input_return {
    width: auto;
  }
}

p#fm_ajax_message {
  font-weight: bold;
  color: #0047BA;
  letter-spacing: 0.1rem;
}

.c-absolute--vertical {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

div.c-basket__box {
  max-width: 70rem;
  height: auto;
  margin: auto;
  text-align: center;
  padding: 10rem 0;
}
@media screen and (max-width: 568px) {
  div.c-basket__box {
    padding: 5rem 0;
  }
}
div.c-basket__box h1, div.c-basket__box h2 {
  padding: 0 0 2rem;
  margin: 0 0 2rem 0;
  text-align: center;
  font-weight: bold;
  border-bottom: #DADADA 0.1rem solid;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: auto;
}
div.c-basket__box p {
  padding: 0 0 3rem 0;
  font-weight: bold;
}

div.c-breadcrumbs {
  width: 100%;
  height: 3.7em;
  margin: 0;
  padding: 1em 0;
  background-color: #fff;
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  overflow-scrolling: touch;
  /*スクロールバー非表示*/
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
  /* Chrome, Safari 対応 */
}
div.c-breadcrumbs::-webkit-scrollbar {
  display: none;
}
div.c-breadcrumbs #breadcrumbs {
  margin: auto;
  white-space: nowrap;
}
div.c-breadcrumbs #breadcrumbs a {
  padding: 0 2.8rem 0 0;
  font-weight: bold;
  position: relative;
}
div.c-breadcrumbs #breadcrumbs a, div.c-breadcrumbs #breadcrumbs a:hover, div.c-breadcrumbs #breadcrumbs a:visited, div.c-breadcrumbs #breadcrumbs a:link {
  color: #002248;
  text-decoration: none;
}
div.c-breadcrumbs #breadcrumbs a::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  background: #0047BA;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.1rem;
}
div.c-breadcrumbs #breadcrumbs .breadcrumb_last {
  color: #747C86;
}
div.c-breadcrumbs #breadcrumbs img {
  margin: 0.1rem 0.5rem;
  vertical-align: text-bottom;
  width: 1.4rem;
  height: 1.3rem;
}

.c-btn {
  display: inline-block;
  min-width: 30rem;
  text-align: center;
  padding: 2rem 2rem;
  font-weight: bold;
  background-color: #0047BA;
  border-radius: 1rem;
}
.c-btn, .c-btn:hover, .c-btn:visited, .c-btn:link {
  color: #fff;
  text-decoration: none;
}
.c-btn:hover {
  opacity: 0.8;
}
@media screen and (max-width: 568px) {
  .c-btn {
    min-width: 0;
    display: block;
  }
}

.c-btn--sub {
  background-color: #FF952D;
}

.c-cookiebox {
  z-index: 100;
  position: fixed;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-cookiebox.is-visible {
  opacity: 1;
  visibility: visible;
}
.c-cookiebox .c-cookiebox__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  padding: 2rem;
  color: #fff;
  width: 100rem;
}
@media screen and (max-width: 768px) {
  .c-cookiebox .c-cookiebox__inner {
    width: 90%;
    padding: 1.5rem 0;
  }
}
.c-cookiebox .c-cookiebox__inner p {
  width: 85rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .c-cookiebox .c-cookiebox__inner p {
    line-height: 1.6;
  }
}
.c-cookiebox .c-cookiebox__inner p a {
  color: #fff;
  text-decoration: underline;
}
.c-cookiebox .c-cookiebox__inner .cookiebox__inner-btn {
  display: inline-block;
  z-index: 1;
  position: relative;
  padding: 1.5rem 2rem;
  background: #fff;
  color: #000;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  cursor: pointer;
  border: 0.2rem solid #333;
}
@media screen and (max-width: 768px) {
  .c-cookiebox .c-cookiebox__inner .cookiebox__inner-btn {
    width: 50vw;
    margin: 0.5rem auto 0;
    padding: 0.5rem 2rem;
  }
}

.c-faq {
  text-align: left;
  max-width: 88rem;
  margin-inline: auto;
}

.c-faq__item {
  background-color: #fff;
  border-radius: 0.8rem;
  padding: 0 3.2rem;
}
.c-faq__item + .c-faq__item {
  margin-top: 1.6rem;
}
@media screen and (max-width: 768px) {
  .c-faq__item {
    padding: 0 2rem;
  }
}

.c-faq p {
  display: inline;
}
@media screen and (max-width: 768px) {
  .c-faq p {
    display: block;
  }
}
.c-faq span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  background-color: #0047BA;
  color: #fff;
  margin: 0 1.2rem 0 0;
  font-weight: 500;
  border-radius: 50%;
  font-size: 1.8rem;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-faq span {
    margin: 0 0 0.5rem 0;
  }
}
.c-faq dt {
  cursor: pointer;
  font-weight: bold;
  padding: 3.2rem 0;
  border-bottom: 1px solid #C9D8E8;
  display: flex;
}
.c-faq dt p {
  padding: 0 3.5rem 0 0;
  background-image: url(../img/arrow/arrow_open.svg);
  background-position: right center;
  background-size: 2rem 2rem;
  background-repeat: no-repeat;
  font-size: 2rem;
}
.c-faq dt:hover p {
  text-decoration: underline;
}
.c-faq dt.is-open p {
  background-image: url(../img/arrow/arrow_close.svg);
}
.c-faq dd {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  line-height: 1.5em;
  transition: max-height 0.35s ease, opacity 0.25s ease;
}
.c-faq dd div.detail {
  padding: 3rem 0 3rem 6rem;
}
@media screen and (max-width: 568px) {
  .c-faq dd div.detail {
    padding: 1rem 0 2rem 1rem;
  }
}
.c-faq dd div.detail img {
  width: 90%;
  max-width: 65rem;
  margin: 2rem auto 1.5rem auto;
}
.c-faq dd div.detail p span {
  color: #CCCCCC;
}
.c-faq dd.is-open {
  max-height: 100rem;
  opacity: 1;
}

.c-faq--static .c-faq__item {
  padding: 3.2rem;
}
.c-faq--static .c-faq__item + .c-faq--static .c-faq__item {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .c-faq--static .c-faq__item {
    padding: 2.8rem;
  }
}
.c-faq--static dt {
  cursor: default;
  padding: 0 0 1rem;
}
@media screen and (max-width: 768px) {
  .c-faq--static dt {
    padding-bottom: 1.6rem;
    gap: 1.2rem;
  }
}
.c-faq--static dt p {
  padding: 0;
  background-image: none;
}
@media screen and (max-width: 768px) {
  .c-faq--static dt p {
    line-height: 1.5;
  }
}
.c-faq--static dt:hover p {
  text-decoration: none;
}
.c-faq--static dd {
  max-height: none;
  overflow: visible;
  opacity: 1;
  transition: none;
}
.c-faq--static dd div.detail {
  padding: 1.6rem 0 0 0;
}
@media screen and (max-width: 768px) {
  .c-faq--static dd div.detail {
    padding: 1.6rem 0 0 0;
    font-size: 1.5rem;
    line-height: 1.7;
  }
}

.c-link {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  font-weight: 500;
}
.c-link, .c-link:hover, .c-link:visited, .c-link:link {
  color: #002248;
  text-decoration: none;
}
.c-link::before {
  content: "";
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #0047BA;
  background-image: url(../img/arrow/arrow_right_w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.5rem auto;
  transition: transform 0.3s ease;
}
.c-link:hover {
  opacity: 0.8;
}
.c-link:hover::before {
  transform: translateX(0.3rem);
}

.c-link--back::before {
  background-image: url(../img/arrow/arrow_left_w.svg);
}
.c-link--back:hover::before {
  transform: translateX(-0.3rem);
}

div.c-pageTitle {
  width: 100%;
  background: url(../img/common/bg_pageTitle.webp) no-repeat center center/cover;
  padding: 6rem 0;
  margin-top: 7rem;
  height: 30rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  div.c-pageTitle {
    padding: 4rem 0;
    margin-top: 7.6rem;
  }
}
@media screen and (max-width: 568px) {
  div.c-pageTitle {
    padding: 3rem 0;
  }
}
div.c-pageTitle p {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  color: #0047ba;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
div.c-pageTitle h1 {
  color: #002248;
  text-align: center;
  font-size: 4.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  div.c-pageTitle h1 {
    font-size: 2.6rem;
  }
}
div.c-pageTitle p + h1 {
  margin-top: 1.2rem;
}

.c-pageup {
  width: 7rem;
  height: 7rem;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-pageup.is-visible {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 768px) {
  .c-pageup {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (max-width: 568px) {
  .c-pageup {
    width: 4rem;
    height: 4rem;
  }
}
.c-pageup a .c-pageup__img {
  width: 100%;
  height: 100%;
}

.c-policyBox__content {
  text-align: left;
}
.c-policyBox__content h2 {
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.c-policyBox__content h2:not(:first-of-type) {
  margin-top: 4rem;
}
.c-policyBox__content h3 {
  font-weight: 700;
}
.c-policyBox__content p {
  margin-bottom: 1rem;
  line-height: 1.7;
}
.c-policyBox__content p.mb_0 {
  margin-bottom: 0;
}
.c-policyBox__content ol {
  list-style-type: decimal;
  list-style-position: inside;
  margin-bottom: 1rem;
  line-height: 1.7;
}
.c-policyBox__content ol li {
  text-indent: -1em;
  padding-left: 1em;
}
.c-policyBox__content ol li ol {
  padding-left: 2em;
  margin-bottom: 0;
}
.c-policyBox__content ol li ul {
  padding-left: 2em;
}
.c-policyBox__content ol.pl_25 {
  padding-left: 2em;
}
.c-policyBox__content ul li {
  list-style-type: disc;
  text-indent: -1em;
  padding-left: 1em;
}

.c-policyBox {
  max-width: 88rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .c-policyBox {
    width: 100%;
    margin: 2rem 0;
  }
  .c-policyBox__content {
    padding: 2rem;
  }
}
@media screen and (max-width: 568px) {
  .c-policyBox {
    margin: 2rem auto;
  }
  .c-policyBox__content {
    padding: 1rem;
  }
}

/* --- Slidein Effects START --- */
/* --- It needs class="slidein" and "init" --- */
.c-slidein--left, .c-slidein--right {
  opacity: 1;
  transition: transform 1s ease, opacity 1s ease-in;
}

.c-slidein--left.init {
  opacity: 0;
  transform: translate(-10%, 0);
}

.c-slidein--right.init {
  opacity: 0;
  transform: translate(10%, 0);
}

/* --- Slide Effects END --- */
/* --- Slideup Effects without Buttons and links START --- */
/* --- It needs class="slideup" and "init"--- */
/* !! エフェクトを入れる要素に<a>, <button>など、クリッカブルな要素が含まれる場合は.c-slideup_jsを使用すること !! */
/* !! mac safariでクリッカブル領域のみ遅れて移動するバグがみられたため !! */
.c-slideup {
  opacity: 1;
  transition: opacity 0.7s ease-in-out, transform 1.5s cubic-bezier(0.35, 0.34, 0.22, 0.99);
  transform: translate(0, 0);
  will-change: transform, opacity;
}
.c-slideup.init {
  opacity: 0;
  transform: translate(0, 10rem);
}
@media screen and (max-width: 768px) {
  .c-slideup.init {
    transform: translate(0, 8rem);
  }
}

/* --- Slideup Effects END --- */
/* --- Slideup Effects with Buttons and links START --- */
/* --- It needs class="slideup" and "init"--- */
/* !!エフェクトを入れる要素に<a>, <button>がなければ.c-slideupを推奨 */
.c-slideup--js {
  opacity: 0;
  transform: translate(0, 15rem);
  will-change: transform, opacity;
}

/* --- Slideup Effects END --- */
/* --- rotate Effects START --- */
/* --- It needs class="rotate" and "init"--- */
.c-rotate {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0) translate3d(0, 0, 0);
  transition: opacity 4s, transform 4s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.c-rotate.init {
  opacity: 0;
  filter: alpha(opacity=0);
  transform: scale3d(1.3, 1.3, 1) rotate3d(1, -3, -1, -36deg) translate3d(0, 5rem, 13rem);
}

/* --- Slideup Effects END --- */
/* --- fadein Effects START --- */
/* --- It needs class="rotate" and "init"--- */
.c-fadein {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}
.c-fadein.init {
  opacity: 0;
}

/* --- Slideup Effects END --- */
@media screen and (min-width: 569px) {
  .delay_100 {
    transition-delay: 100ms;
  }
  .delay_200 {
    transition-delay: 200ms;
  }
  .delay_300 {
    transition-delay: 300ms;
  }
  .delay_400 {
    transition-delay: 400ms;
  }
  .delay_400_0 {
    transition-delay: 400ms;
  }
}
@media screen and (min-width: 569px) and (max-width: 568px) {
  .delay_400_0 {
    transition-delay: 0;
  }
}
@media screen and (max-width: 568px) {
  .c-clear_effect_sp {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

@media screen and (min-width: 569px) {
  .c-clear_effect_up_sp {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

.c-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

@media screen and (max-width: 768px) {
  .c-table--tbBlock, .c-table--tbBlock thead, .c-table--tbBlock tbody, .c-table--tbBlock tfoot, .c-table--tbBlock tr {
    display: block;
    width: 100%;
  }
  .c-table--tbBlock tr th, .c-table--tbBlock tr td {
    display: block;
    width: 100%;
  }
}

@media screen and (max-width: 568px) {
  .c-table--spBlock,
  .c-table--spBlock thead,
  .c-table--spBlock tbody,
  .c-table--spBlock tfoot,
  .c-table--spBlock tr {
    display: block;
    width: 100%;
  }
  .c-table--spBlock tr th,
  .c-table--spBlock tr td {
    display: block;
    width: 100%;
  }
}

.c-title--lv5, .c-title--lv4, .c-title--lv3, .c-title--lv2, .c-title {
  margin: 0 0 1.6rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: left;
}

.c-title--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.c-eyebrow {
  display: inline-block;
  margin-bottom: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0047BA;
  line-height: 1;
}
.c-eyebrow + .c-title--lv2 {
  margin-top: 1.2rem;
}

.c-sidebarBlock {
  padding: 3rem 0;
  border-bottom: #CCCCCC 0.2rem solid;
}
@media screen and (max-width: 568px) {
  .c-sidebarBlock {
    padding: 2rem 0;
  }
}
.c-sidebarBlock:first-child {
  padding: 0 0 3rem 0;
}
@media screen and (max-width: 568px) {
  .c-sidebarBlock:first-child {
    padding: 0 0 2rem 0;
  }
}
.c-sidebarBlock:last-child {
  border-bottom: none;
}

.c-sidebarBlock__ttl {
  margin: 0 auto 1rem auto;
  font-weight: bold;
}

.c-text {
  line-height: 1.7;
}

.c-text--lg {
  line-height: 1.7;
}

.c-text--sm {
  line-height: 1.7;
}

.c-articleCard {
  display: block;
  background: #fff;
  border-radius: 0.8rem;
  overflow: hidden;
  transition: opacity 0.2s, transform 0.2s;
}
.c-articleCard:hover {
  opacity: 0.85;
}

.c-articleCard__thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.c-articleCard__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-articleCard__body {
  padding: 1.6rem;
}

.c-articleCard__meta {
  display: flex;
  gap: 1.2rem;
  align-items: center;
  margin-bottom: 0.8rem;
  color: #002248;
}

.c-articleCard__cat {
  padding: 0.2rem 0.8rem;
  background: #F1F1F1;
  border-radius: 0.2rem;
}

.c-articleCard__ttl {
  font-weight: 700;
  line-height: 1.5;
}

.c-articleCard__excerpt {
  margin-top: 0.8rem;
  line-height: 1.7;
}

.c-caseCard {
  display: block;
  background: #fff;
  border-radius: 0.8rem;
  overflow: hidden;
  transition: opacity 0.2s;
}
.c-caseCard:hover {
  opacity: 0.85;
}

.c-caseCard__thumb {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.c-caseCard__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-caseCard__body {
  padding: 2rem;
}

.c-caseCard__industry {
  display: inline-block;
  margin-bottom: 0.8rem;
  padding: 0.3rem 0.8rem;
  background: #0047BA;
  color: #fff;
  border-radius: 0.2rem;
}

.c-caseCard__ttl {
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.8rem;
}

.c-caseCard__client {
  color: #002248;
}

.c-serviceCard {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding: 2.4rem;
  background: #fff;
  border: 1px solid #CCCCCC;
  border-radius: 0.8rem;
}

.c-serviceCard__icon {
  width: 6.4rem;
}
.c-serviceCard__icon img,
.c-serviceCard__icon svg {
  display: block;
  width: 100%;
  height: auto;
}

.c-serviceCard__ttl {
  font-weight: 700;
}

.c-serviceCard__desc {
  line-height: 1.7;
}

.c-serviceCard__link {
  margin-top: auto;
  align-self: flex-start;
}

.c-flow {
  counter-reset: flow;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-flow__item {
  counter-increment: flow;
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding: 2rem 2.4rem;
  background: #fff;
  border: 1px solid #CCCCCC;
  border-radius: 0.8rem;
}

.c-flow__num {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  display: grid;
  place-items: center;
  background: #0047BA;
  color: #fff;
  border-radius: 50%;
  font-weight: 700;
}
.c-flow__num::before {
  content: counter(flow);
}

.c-flow__body {
  flex: 1;
}

.c-flow__ttl {
  font-weight: 700;
  margin: 0 0 0.4rem;
}

.c-flow__desc {
  margin: 0;
  line-height: 1.7;
}

.c-flow--row {
  flex-direction: row;
  gap: 3.2rem;
}
.c-flow--row .c-flow__item {
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.2rem;
  position: relative;
}
.c-flow--row .c-flow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -2.4rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.8rem 0 0.8rem 1.2rem;
  border-color: transparent transparent transparent #0047BA;
}
@media screen and (max-width: 768px) {
  .c-flow--row {
    flex-direction: column;
    gap: 2.4rem;
  }
  .c-flow--row .c-flow__item {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
  }
  .c-flow--row .c-flow__item:not(:last-child)::after {
    right: auto;
    left: 50%;
    top: 100%;
    transform: translate(-50%, 0.4rem);
    border-width: 1.2rem 0.8rem 0 0.8rem;
    border-color: #0047BA transparent transparent transparent;
  }
}

.c-authorBox {
  display: flex;
  gap: 1.6rem;
  padding: 2rem;
  background: #F1F1F1;
  border-radius: 0.8rem;
}

.c-authorBox__avatar {
  flex-shrink: 0;
  width: 7.2rem;
  height: 7.2rem;
  border-radius: 50%;
  overflow: hidden;
}
.c-authorBox__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-authorBox__body {
  flex: 1;
}

.c-authorBox__role {
  display: inline-block;
  margin-bottom: 0.4rem;
  padding: 0.2rem 0.8rem;
  background: #0047BA;
  color: #fff;
  border-radius: 0.2rem;
}

.c-authorBox__name {
  font-weight: 700;
  margin-bottom: 0.4rem;
}

.c-authorBox__bio {
  line-height: 1.7;
}

.c-authorBox--instructor {
  flex-direction: column;
  align-items: center;
  padding: 1.2rem;
  background-color: #DDEBFF;
  background-image: repeating-linear-gradient(-45deg, #D3E6FF 0, #D3E6FF 0.2rem, transparent 0.2rem, transparent 1rem);
  border-radius: 1.2rem;
  text-align: center;
  gap: 0;
}
.c-authorBox--instructor .c-authorBox__avatar {
  width: 15rem;
  height: 15rem;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .c-authorBox--instructor .c-authorBox__avatar {
    width: 15rem;
    height: 15rem;
  }
}
.c-authorBox--instructor .c-authorBox__avatar img {
  object-fit: contain;
}
.c-authorBox--instructor .c-authorBox__name {
  margin-bottom: 0;
  font-size: 2.4rem;
  margin-top: 0.8rem;
}
@media screen and (max-width: 768px) {
  .c-authorBox--instructor .c-authorBox__name {
    margin-top: 0.5rem;
  }
}
.c-authorBox--instructor .c-authorBox__message {
  position: relative;
  margin-top: 1.2rem;
  width: 100%;
  padding: 1.2rem 4rem;
  background: #fff;
  border-radius: 0.8rem;
  text-align: left;
  line-height: 1.7;
  font-weight: 700;
  font-size: 1.4rem;
}
.c-authorBox--instructor .c-authorBox__message::before, .c-authorBox--instructor .c-authorBox__message::after {
  content: "";
  width: 2rem;
  height: 7.2rem;
  position: absolute;
  color: rgba(0, 71, 186, 0.3);
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1;
}
.c-authorBox--instructor .c-authorBox__message::before {
  background: url(../img/common/icon/quotation_top.svg) no-repeat center center/contain;
  top: 1.2rem;
  left: 1.2rem;
}
.c-authorBox--instructor .c-authorBox__message::after {
  background: url(../img/common/icon/quotation_bottom.svg) no-repeat center center/contain;
  right: 1.2rem;
  bottom: 1.2rem;
}

.c-compareTable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}
.c-compareTable th, .c-compareTable td {
  padding: 1.6rem;
  border: 1px solid #CCCCCC;
  text-align: center;
  vertical-align: middle;
}
.c-compareTable thead th {
  background: #F1F1F1;
  font-weight: 700;
}

.c-compareTable__highlight {
  background: rgba(0, 71, 186, 0.08);
  border-color: #0047BA;
}

.c-compareTable__label {
  background: #F1F1F1;
  font-weight: 700;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .c-compareTable th, .c-compareTable td {
    padding: 1rem;
  }
}

.c-companyTable {
  width: 100%;
  max-width: 88rem;
  margin-inline: auto;
  border-collapse: collapse;
}
.c-companyTable tr:first-child th, .c-companyTable tr:first-child td {
  border-top: 1px solid #C9D8E8;
}
.c-companyTable th, .c-companyTable td {
  padding: 2.3rem 4rem 2.3rem;
  border-bottom: 1px solid #CCCCCC;
  vertical-align: top;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .c-companyTable th, .c-companyTable td {
    padding: 1.4rem 1.6rem 1.5rem;
  }
}
.c-companyTable th {
  width: 24rem;
  font-weight: 700;
  color: #002248;
  background: #F1F1F1;
  vertical-align: middle;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-companyTable th {
    width: 12rem;
    padding: 0;
  }
}

.c-cta {
  background-image: url(../img/common/cta_bg.webp);
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-cta {
    background-image: url(../img/common/cta_bg_sp.webp);
  }
}

.c-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.6rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .c-cta__inner {
    gap: 3.2rem;
    padding-top: 4rem;
    padding-bottom: 6.4rem;
  }
}

.c-cta__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.2rem;
}
@media screen and (max-width: 768px) {
  .c-cta__head {
    gap: 1.2rem;
  }
}

.c-cta__lead {
  font-weight: 700;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .c-cta__lead {
    font-size: 1.8rem;
    line-height: 1.3;
  }
}

.c-cta__ttl {
  font-weight: 700;
  line-height: 1.4;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .c-cta__ttl {
    font-size: 2.4rem;
    line-height: 1.6;
  }
}

.c-cta__marker {
  display: inline-block;
  margin: 0 0.4rem;
  padding: 0 1rem 0.5rem 0;
  background-color: #fff;
  color: #0047BA;
  border-radius: 0.2rem;
  font-size: 3.6rem;
}
@media screen and (max-width: 768px) {
  .c-cta__marker {
    display: block;
    width: fit-content;
    font-size: 2.8rem;
  }
}

.c-cta__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}
@media screen and (max-width: 768px) {
  .c-cta__action {
    width: 100%;
    margin-inline: auto;
    max-width: 35rem;
  }
}

.c-cta__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 7.2rem;
  min-width: 40rem;
  padding: 1.8rem 2rem;
  border-radius: 999rem;
  background-color: #FF952D;
  font-weight: 700;
  font-size: 2.2rem;
}
.c-cta__btn, .c-cta__btn:hover, .c-cta__btn:visited, .c-cta__btn:link {
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .c-cta__btn {
    min-width: 0;
    width: 100%;
    font-size: 2rem;
  }
}
.c-cta__btn::after {
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background-color: #fff;
  background-image: url(../img/arrow/arrow_right_c.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.9rem auto;
  position: absolute;
  top: 50%;
  right: 2.2rem;
  transform: translateY(-50%);
}
.c-cta__btn:hover {
  opacity: 0.85;
}

.c-cta__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 2.4rem;
  border-radius: 10rem;
  line-height: 1.6;
  background-color: #fff;
  color: #FF952D;
  font-weight: 700;
  white-space: nowrap;
  border: 3px solid #FF952D;
}

.c-cta__note {
  font-size: 1.4rem;
  text-decoration: underline !important;
}
.c-cta__note, .c-cta__note:hover, .c-cta__note:visited, .c-cta__note:link {
  color: #fff;
  text-decoration: none;
}

.c-newsItem {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  padding: 1.6rem 0;
  border-bottom: 1px solid #CCCCCC;
}

.c-newsItem__date {
  flex-shrink: 0;
  width: 10rem;
  color: #002248;
}

.c-newsItem__cat {
  flex-shrink: 0;
  padding: 0.2rem 0.8rem;
  background: #F1F1F1;
  border-radius: 0.2rem;
}

.c-newsItem__ttl {
  flex: 1 1 60%;
  line-height: 1.6;
}
.c-newsItem__ttl a {
  color: inherit;
  text-decoration: none;
}
.c-newsItem__ttl a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 568px) {
  .c-newsItem__ttl {
    flex-basis: 100%;
  }
}

.c-cardList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}

.c-cardList--col2 {
  grid-template-columns: repeat(2, 1fr);
}

.c-cardList--col4 {
  grid-template-columns: repeat(4, 1fr);
}

@media screen and (max-width: 768px) {
  .c-cardList {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
  }
  .c-cardList--col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 568px) {
  .c-cardList {
    grid-template-columns: 1fr;
  }
}

.c-cardList--voice {
  display: block;
  gap: 0;
  grid-template-columns: none;
  width: 100%;
  margin-top: 4rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-cardList--voice {
    grid-template-columns: none;
    gap: 0;
    margin-top: 3.2rem;
    margin-inline: auto;
    padding: 0 40px;
  }
}
@media screen and (max-width: 568px) {
  .c-cardList--voice {
    grid-template-columns: none;
  }
}
.c-cardList--voice .swiper-slide {
  width: 60rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .c-cardList--voice .swiper-slide {
    width: 31rem;
  }
}
.c-cardList--voice .c-cardList__nav {
  width: 4rem;
  height: 4rem;
  margin-top: 0;
  border-radius: 50%;
  background-color: #0047BA;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.5rem auto;
  transform: translateY(-50%);
  transition: opacity 0.3s ease;
  z-index: 2;
}
.c-cardList--voice .c-cardList__nav::after {
  content: none;
}
.c-cardList--voice .c-cardList__nav.swiper-button-disabled {
  opacity: 0.35;
}
.c-cardList--voice .c-cardList__nav:hover {
  opacity: 0.8;
}
.c-cardList--voice .swiper-button-prev {
  right: auto;
  left: calc(50% - 35rem);
  background-image: url(../img/arrow/arrow_left_w.svg);
}
@media screen and (max-width: 768px) {
  .c-cardList--voice .swiper-button-prev {
    left: 1.2rem;
  }
}
.c-cardList--voice .swiper-button-next {
  left: auto;
  right: calc(50% - 35rem);
  background-image: url(../img/arrow/arrow_right_w.svg);
}
@media screen and (max-width: 768px) {
  .c-cardList--voice .swiper-button-next {
    right: 1.2rem;
  }
}

.c-numberCard {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-numberCard {
    gap: 1.2rem;
  }
}

.c-numberCard__visual {
  position: relative;
}
.c-numberCard__visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1.2rem;
}

.c-numberCard__num {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.8rem;
  padding: 0.6rem 1.2rem;
  background-color: #fff;
  color: #0047BA;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 700;
  border-radius: 1.2rem 0 1.2rem 0;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .c-numberCard__num {
    font-size: 2rem;
  }
}

.c-numberCard__body {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .c-numberCard__body {
    gap: 0.4rem;
  }
}

.c-numberCard__ttl {
  font-weight: 700;
  line-height: 1.5;
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-numberCard__ttl {
    font-size: 2rem;
  }
}

.c-numberCard__desc {
  line-height: 1.7;
  font-size: 1.4rem;
}

.c-voiceCard {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 3.2rem;
  border-radius: 1.2rem;
  background-color: #D4E5FF;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0.45) 0.1rem, transparent 0.1rem, transparent 1rem);
}
@media screen and (max-width: 768px) {
  .c-voiceCard {
    gap: 1.6rem;
    padding: 2rem;
  }
}

.c-voiceCard__head {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}
@media screen and (max-width: 768px) {
  .c-voiceCard__head {
    flex-direction: column;
    gap: 1.2rem;
    text-align: center;
  }
}

.c-voiceCard__avatar {
  flex-shrink: 0;
  width: 12rem;
  height: 12rem;
}
.c-voiceCard__avatar img,
.c-voiceCard__avatar svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-voiceCard__meta {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .c-voiceCard__meta {
    gap: 0.4rem;
  }
}

.c-voiceCard__tags {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.c-voiceCard__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.1rem 2.4rem;
  border-radius: 0.4rem;
  background-color: #0047BA;
  color: #fff;
  font-weight: 500;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .c-voiceCard__badge {
    padding: 0.1rem 2rem;
    font-size: 1.3rem;
  }
}

.c-voiceCard__name {
  font-weight: 400;
  color: #002248;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .c-voiceCard__name {
    font-size: 1.4rem;
  }
}

.c-voiceCard__lead {
  font-weight: 700;
  line-height: 1.5;
  color: #002248;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .c-voiceCard__lead {
    font-size: 1.8rem;
    text-align: left;
    line-height: 1.7;
  }
}

.c-voiceCard__body {
  padding: 2rem;
  background-color: #fff;
  border-radius: 1.2rem;
  line-height: 1.7;
  color: #002248;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .c-voiceCard__body {
    font-size: 1.4rem;
  }
}

.c-courseCard {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background-color: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0 1rem rgba(0, 34, 72, 0.1);
  transition: box-shadow 0.25s ease;
}
.c-courseCard, .c-courseCard:hover, .c-courseCard:visited, .c-courseCard:link {
  color: #002248;
  text-decoration: none;
}
@media screen and (max-width: 568px) {
  .c-courseCard {
    flex-direction: column;
  }
}

.c-courseCard__thumb {
  flex-shrink: 0;
  width: 18.1rem;
}
@media screen and (max-width: 1000px) {
  .c-courseCard__thumb {
    width: 16rem;
  }
}
@media screen and (max-width: 568px) {
  .c-courseCard__thumb {
    width: 100%;
    aspect-ratio: 310/174;
    height: 17.4rem;
  }
}
.c-courseCard__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-courseCard__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 2.6rem;
}
@media screen and (max-width: 768px) {
  .c-courseCard__body {
    padding: 2.4rem 2rem;
  }
}

.c-courseCard__ttl {
  display: flex;
  gap: 0.8rem;
  width: 100%;
  padding-bottom: 0.8rem;
  font-weight: 700;
  line-height: 1.4;
  font-size: 2rem;
  border-bottom: 0.1rem dashed #002248;
  transition: border-color 0.25s ease, color 0.25s ease;
  position: relative;
}
.c-courseCard__ttl::before {
  content: "";
  margin-top: 0.4rem;
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background-color: #0047BA;
  background-image: url(../img/arrow/arrow_right_w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.5rem auto;
}

.c-courseCard__desc {
  line-height: 1.7;
  font-size: 1.6rem;
}

.c-courseCard--elementary .c-courseCard__ttl {
  color: #f58e00;
  border-bottom-color: #f58e00;
}
.c-courseCard--elementary .c-courseCard__ttl::before {
  background-color: #f58e00;
}

.c-courseCard--junior .c-courseCard__ttl {
  color: #4e9a40;
  border-bottom-color: #4e9a40;
}
.c-courseCard--junior .c-courseCard__ttl::before {
  background-color: #4e9a40;
}

.c-courseCard--high .c-courseCard__ttl {
  color: #2f78c8;
  border-bottom-color: #2f78c8;
}
.c-courseCard--high .c-courseCard__ttl::before {
  background-color: #2f78c8;
}

.c-courseCard--adult .c-courseCard__ttl {
  color: #7b56b8;
  border-bottom-color: #7b56b8;
}
.c-courseCard--adult .c-courseCard__ttl::before {
  background-color: #7b56b8;
}

.c-courseCard--inter-low .c-courseCard__ttl {
  color: #e84884;
  border-bottom-color: #e84884;
}
.c-courseCard--inter-low .c-courseCard__ttl::before {
  background-color: #e84884;
}

.c-courseCard--inter-high .c-courseCard__ttl {
  color: #21aac1;
  border-bottom-color: #21aac1;
}
.c-courseCard--inter-high .c-courseCard__ttl::before {
  background-color: #21aac1;
}

.c-courseCard--vertical {
  flex-direction: column;
}
.c-courseCard--vertical .c-courseCard__thumb {
  width: 100%;
  aspect-ratio: 235/132;
}
.c-courseCard--vertical .c-courseCard__body {
  padding: 2rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-courseCard--vertical .c-courseCard__body {
    padding: 1.6rem;
  }
}
.c-courseCard--vertical .c-courseCard__ttl {
  width: auto;
  padding-bottom: 0;
  border-bottom: none;
  padding-left: 3.2rem;
}
.c-courseCard--vertical .c-courseCard__ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(90deg);
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  margin: 0;
}

.c-courseCard:hover .c-courseCard__ttl, .c-courseCard:focus-visible .c-courseCard__ttl {
  color: #0047BA;
  border-bottom-color: #0047BA;
}
.c-courseCard:hover .c-courseCard__ttl::before, .c-courseCard:focus-visible .c-courseCard__ttl::before {
  background-color: #0047BA;
}

.c-resultCard {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #fff;
  border: 0.2rem solid #0047BA;
  border-radius: 1.2rem;
}

.c-resultCard__visual {
  position: relative;
  background-color: #EDF4FF;
}
.c-resultCard__visual img {
  display: block;
  width: 100%;
  height: auto;
}

.c-resultCard__name {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0.4rem 2rem;
  background-color: #0047BA;
  color: #fff;
  font-weight: 700;
  border-radius: 0 0.8rem 0 0;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .c-resultCard__name {
    font-size: 1.6rem;
  }
}

.c-resultCard__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  padding: 3.2rem 3.2rem 2.4rem;
}
@media screen and (max-width: 1000px) {
  .c-resultCard__body {
    padding: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-resultCard__body {
    gap: 0.6rem;
  }
}
@media screen and (max-width: 568px) {
  .c-resultCard__body {
    padding: 2rem 3.2rem 1.4rem;
  }
}

.c-resultCard__period {
  display: inline-block;
  padding: 0.4rem 2rem;
  background-color: #0047BA;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 10rem;
  font-weight: 700;
  font-size: 1.6rem;
}

.c-resultCard__goal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-weight: 700;
  line-height: 1.3;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .c-resultCard__goal {
    font-size: 2.8rem;
  }
}

.c-resultCard__pass {
  flex-shrink: 0;
  width: 6rem;
  height: auto;
}
.c-resultCard__pass img,
.c-resultCard__pass svg {
  display: block;
  width: 100%;
  height: auto;
}

.c-resultCard__grade {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-weight: 700;
  line-height: 1;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .c-resultCard__grade {
    font-size: 2.8rem;
  }
}
.c-resultCard__grade .c-resultCard__from {
  color: #747c85;
  font-size: 2.4rem;
}
.c-resultCard__grade .c-resultCard__arrow {
  color: #FF952D;
}
.c-resultCard__grade .c-resultCard__num {
  color: #e5202f;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: 6rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-resultCard__grade .c-resultCard__num {
    font-size: 5rem;
  }
}

.c-statList {
  position: relative;
  padding: 6.4rem 4rem 4rem;
  background-color: #d4e6ff;
  border-radius: 1.2rem;
  background-color: #d4e6ff;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0.45) 0.1rem, transparent 0.1rem, transparent 1rem);
}
@media screen and (max-width: 768px) {
  .c-statList {
    padding: 5rem 2rem 2.4rem;
  }
}

.c-statList__head {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0.8rem 2.8rem;
  background-color: #0047BA;
  color: #fff;
  border-radius: 10rem;
  font-weight: 700;
  white-space: nowrap;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .c-statList__head {
    font-size: 2rem;
  }
}
.c-statList__head::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.7rem;
  transform: translateX(-50%);
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 0.8rem solid #0047ba;
}

.c-statList__top {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 768px) {
  .c-statList__top {
    gap: 0.8rem;
    margin-bottom: 0.8rem;
  }
}

.c-statList__bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  .c-statList__bottom {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8rem;
  }
}
@media screen and (max-width: 568px) {
  .c-statList__bottom {
    grid-template-columns: 1fr;
  }
}
.c-statList__bottom .c-statList__item {
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .c-statList__bottom .c-statList__item {
    padding: 1.6rem 1rem;
  }
}

.c-statList__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  padding: 2rem 2rem;
  background-color: #fff;
  border-radius: 1.2rem;
}
@media screen and (max-width: 768px) {
  .c-statList__item {
    gap: 0rem;
    padding: 0.6rem 1rem;
    flex-direction: column;
  }
}

.c-statList__label {
  font-weight: 700;
  line-height: 1.4;
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-statList__label {
    line-height: 1.3;
  }
}

.c-statList__label--small {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .c-statList__label--small {
    font-size: 1.8rem;
  }
}

.c-statList__label--large {
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .c-statList__label--large {
    font-size: 1.8rem;
  }
}

.c-statList__value {
  display: flex;
  align-items: baseline;
  color: #0047BA;
  font-weight: 700;
}

.c-statList__num {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  line-height: 1;
  font-size: 8rem;
}
@media screen and (max-width: 768px) {
  .c-statList__num {
    font-size: 6rem;
  }
}

.c-statList__num--lg {
  font-size: 8rem;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .c-statList__num--lg {
    font-size: 6rem;
  }
}

@media screen and (max-width: 768px) {
  .c-statList__num--spMd {
    font-size: 3rem;
  }
}

.c-statList__unit {
  font-weight: 700;
  font-size: 2.8rem;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .c-statList__unit {
    font-size: 2.4rem;
  }
}

.p-course__details {
  background: #EDF5FF;
}

.c-courseDetail {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 6.4rem;
  background-color: #fff;
  border-radius: 2.4rem;
  box-shadow: 0 0 1rem rgba(0, 34, 72, 0.1);
  scroll-margin-top: 9rem;
}
@media screen and (max-width: 768px) {
  .c-courseDetail {
    gap: 2.4rem;
    padding: 3.2rem 2rem;
    scroll-margin-top: 7rem;
  }
}
.c-courseDetail + .c-courseDetail {
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .c-courseDetail + .c-courseDetail {
    margin-top: 4rem;
  }
}
.c-courseDetail::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 20rem;
  height: 0.8rem;
  transform: translateX(-50%);
}

.c-courseDetail__head {
  display: flex;
  flex-direction: column;
}

.c-courseDetail__eyebrow {
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
}

.c-courseDetail__name {
  margin: 0;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  color: #002248;
}

.c-courseDetail__lead {
  color: #002248;
  line-height: 1.7;
  margin-top: 2rem;
}

.c-courseDetail__spec {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin: 0;
  padding: 2rem;
  border-radius: 0.8rem;
  margin-top: 2.4rem;
}

.c-courseDetail__specRow {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
@media screen and (max-width: 568px) {
  .c-courseDetail__specRow {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

.c-courseDetail__specLabel {
  flex-shrink: 0;
  margin: 0;
  padding: 0.4rem;
  border-radius: 0.4rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  width: 8.5rem;
}

.c-courseDetail__specVal {
  margin: 0;
  color: #002248;
  line-height: 1.6;
}

.c-courseDetail__learnTtl {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 2.4rem 0 0.8rem;
  font-weight: bold;
  color: #002248;
}
.c-courseDetail__learnTtl::before {
  content: "";
  flex-shrink: 0;
  width: 0.6rem;
  height: 2.4rem;
  border-radius: 999rem;
}

.c-courseDetail__card {
  margin: 0;
  position: relative;
}

.c-courseDetail__cardImg {
  border-radius: 0.8rem;
  overflow: hidden;
  aspect-ratio: 344/194;
}
.c-courseDetail__cardImg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-courseDetail__cardCap {
  margin-top: 0.8rem;
  font-weight: 700;
  color: #002248;
  position: absolute;
  bottom: 0;
  background: #FFF;
  padding: 0.4rem 1.2rem 0.4rem 0;
  left: 0;
  border-radius: 0 1.2rem 0 0;
}

.c-courseDetail__weekTable {
  width: 100%;
  border-collapse: separate;
  table-layout: fixed;
  border-spacing: 0;
  border-radius: 0.8rem;
  overflow: hidden;
}
@media screen and (max-width: 568px) {
  .c-courseDetail__weekTable {
    min-width: 70rem;
  }
}
.c-courseDetail__weekTable th,
.c-courseDetail__weekTable td {
  padding: 0.6rem 0.8rem;
  text-align: center;
  vertical-align: middle;
  line-height: 1.4;
}
.c-courseDetail__weekTable th {
  color: #fff;
  font-weight: 700;
}
.c-courseDetail__weekTable td {
  height: 11rem;
  background-color: #fff;
  color: #002248;
}
.c-courseDetail__weekTable .c-courseDetail__weekCell--check {
  background-color: #FEF5EA;
  color: #F77E0D;
  font-weight: 700;
}

.c-courseDetail__action {
  text-align: center;
  margin-top: 3rem;
}

.c-courseDetail__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-width: 28.9rem;
  min-height: 6rem;
  padding: 1rem 5rem;
  border-radius: 10rem;
  font-weight: bold;
}
.c-courseDetail__btn, .c-courseDetail__btn:hover, .c-courseDetail__btn:visited, .c-courseDetail__btn:link {
  color: #fff;
  text-decoration: none;
}
.c-courseDetail__btn:hover {
  opacity: 0.8;
}
@media screen and (max-width: 568px) {
  .c-courseDetail__btn {
    width: 100%;
    min-width: 0;
  }
}
.c-courseDetail__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6rem;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background-color: #fff;
  transform: translateY(-50%);
}
.c-courseDetail__btn .c-courseDetail__btnArrow {
  position: absolute;
  top: 50%;
  right: 2.7rem;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.2rem solid currentColor;
  border-right: 0.2rem solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1;
}

.c-courseDetail--elementary::before {
  background-color: #F58E00;
}
.c-courseDetail--elementary .c-courseDetail__eyebrow {
  color: #F58E00;
}
.c-courseDetail--elementary .c-courseDetail__spec {
  background-color: #FEF5EA;
}
.c-courseDetail--elementary .c-courseDetail__specLabel {
  background-color: #F58E00;
}
.c-courseDetail--elementary .c-courseDetail__learnTtl::before {
  background-color: #F58E00;
}
.c-courseDetail--elementary .c-courseDetail__weekTable th {
  background-color: #F58E00;
}
.c-courseDetail--elementary .c-courseDetail__weekCell--study {
  background-color: #FEF5EA;
}
.c-courseDetail--elementary .c-courseDetail__btn {
  background-color: #F58E00;
}
.c-courseDetail--elementary .c-courseDetail__btnArrow {
  color: #F58E00;
}

.c-courseDetail--junior::before {
  background-color: #4E9A40;
}
.c-courseDetail--junior .c-courseDetail__eyebrow {
  color: #4E9A40;
}
.c-courseDetail--junior .c-courseDetail__spec {
  background-color: #F2F9F1;
}
.c-courseDetail--junior .c-courseDetail__specLabel {
  background-color: #4E9A40;
}
.c-courseDetail--junior .c-courseDetail__learnTtl::before {
  background-color: #4E9A40;
}
.c-courseDetail--junior .c-courseDetail__weekTable th {
  background-color: #4E9A40;
}
.c-courseDetail--junior .c-courseDetail__weekCell--study {
  background-color: #F2F9F1;
}
.c-courseDetail--junior .c-courseDetail__btn {
  background-color: #4E9A40;
}
.c-courseDetail--junior .c-courseDetail__btnArrow {
  color: #4E9A40;
}

.c-courseDetail--high::before {
  background-color: #2F78C8;
}
.c-courseDetail--high .c-courseDetail__eyebrow {
  color: #2F78C8;
}
.c-courseDetail--high .c-courseDetail__spec {
  background-color: #EAF2FC;
}
.c-courseDetail--high .c-courseDetail__specLabel {
  background-color: #2F78C8;
}
.c-courseDetail--high .c-courseDetail__learnTtl::before {
  background-color: #2F78C8;
}
.c-courseDetail--high .c-courseDetail__weekTable th {
  background-color: #2F78C8;
}
.c-courseDetail--high .c-courseDetail__weekCell--study {
  background-color: #EAF2FC;
}
.c-courseDetail--high .c-courseDetail__btn {
  background-color: #2F78C8;
}
.c-courseDetail--high .c-courseDetail__btnArrow {
  color: #2F78C8;
}

.c-courseDetail--adult::before {
  background-color: #7B56B8;
}
.c-courseDetail--adult .c-courseDetail__eyebrow {
  color: #7B56B8;
}
.c-courseDetail--adult .c-courseDetail__spec {
  background-color: #F1EDF9;
}
.c-courseDetail--adult .c-courseDetail__specLabel {
  background-color: #7B56B8;
}
.c-courseDetail--adult .c-courseDetail__learnTtl::before {
  background-color: #7B56B8;
}
.c-courseDetail--adult .c-courseDetail__weekTable th {
  background-color: #7B56B8;
}
.c-courseDetail--adult .c-courseDetail__weekCell--study {
  background-color: #F1EDF9;
}
.c-courseDetail--adult .c-courseDetail__btn {
  background-color: #7B56B8;
}
.c-courseDetail--adult .c-courseDetail__btnArrow {
  color: #7B56B8;
}

.c-courseDetail--inter-low::before {
  background-color: #E84884;
}
.c-courseDetail--inter-low .c-courseDetail__eyebrow {
  color: #E84884;
}
.c-courseDetail--inter-low .c-courseDetail__spec {
  background-color: #FCF0F5;
}
.c-courseDetail--inter-low .c-courseDetail__specLabel {
  background-color: #E84884;
}
.c-courseDetail--inter-low .c-courseDetail__learnTtl::before {
  background-color: #E84884;
}
.c-courseDetail--inter-low .c-courseDetail__weekTable th {
  background-color: #E84884;
}
.c-courseDetail--inter-low .c-courseDetail__weekCell--study {
  background-color: #FCF0F5;
}
.c-courseDetail--inter-low .c-courseDetail__btn {
  background-color: #E84884;
}
.c-courseDetail--inter-low .c-courseDetail__btnArrow {
  color: #E84884;
}

.c-courseDetail--inter-high::before {
  background-color: #21AAC1;
}
.c-courseDetail--inter-high .c-courseDetail__eyebrow {
  color: #21AAC1;
}
.c-courseDetail--inter-high .c-courseDetail__spec {
  background-color: #E8F7F9;
}
.c-courseDetail--inter-high .c-courseDetail__specLabel {
  background-color: #21AAC1;
}
.c-courseDetail--inter-high .c-courseDetail__learnTtl::before {
  background-color: #21AAC1;
}
.c-courseDetail--inter-high .c-courseDetail__weekTable th {
  background-color: #21AAC1;
}
.c-courseDetail--inter-high .c-courseDetail__weekCell--study {
  background-color: #E8F7F9;
}
.c-courseDetail--inter-high .c-courseDetail__btn {
  background-color: #21AAC1;
}
.c-courseDetail--inter-high .c-courseDetail__btnArrow {
  color: #21AAC1;
}

.c-featureItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-featureItem {
    gap: 1.2rem;
  }
}

.c-featureItem__visual {
  position: relative;
}
.c-featureItem__visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1.2rem;
}

.c-featureItem__num {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.8rem;
  padding: 1rem;
  background-color: #fff;
  color: #0047BA;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1;
  border-radius: 1.2rem 0 1.2rem 0;
}

.c-featureItem__label {
  font-weight: 700;
  line-height: 1.7;
  color: #002248;
}

.c-articleEntry__item {
  padding: 0 0 1rem 0;
}
.c-articleEntry__item:last-child {
  padding: 0;
}
.c-articleEntry__item dl {
  display: flex;
}
.c-articleEntry__item dl dt {
  width: 30%;
}
@media screen and (max-width: 768px) {
  .c-articleEntry__item dl dt {
    width: 20%;
  }
}
.c-articleEntry__item dl dt img {
  border-radius: 0.3rem;
}
.c-articleEntry__item dl dd {
  width: 70%;
  padding: 0 0 0 5%;
}
@media screen and (max-width: 768px) {
  .c-articleEntry__item dl dd {
    width: 80%;
  }
}

.c-articleEntry__thumb {
  width: 100%;
  height: auto;
  position: relative;
}
.c-articleEntry__thumb::before {
  content: "";
  display: block;
  padding-top: 66.67%;
}
.c-articleEntry__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.c-articleEntry__text {
  overflow: hidden;
  max-height: 5.1;
  line-height: 1.7;
  padding: 0;
}
.c-articleEntry__text .textline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.7;
}

.c-articleEntry.textend_dots h2,
.c-articleEntry.textend_dots h3 {
  overflow: hidden;
  max-height: 1.7;
  line-height: 1.7;
}
.c-articleEntry.textend_dots h2 .textline,
.c-articleEntry.textend_dots h3 .textline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-height: 1.7;
}
.c-articleEntry.textend_dots p {
  overflow: hidden;
  max-height: 3.4;
  line-height: 1.7;
}
.c-articleEntry.textend_dots p .textline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.7;
}
.c-articleEntry.textend_grad h2,
.c-articleEntry.textend_grad h3 {
  height: 1.7;
  overflow: hidden;
  display: block;
  position: relative;
}
.c-articleEntry.textend_grad h2:after,
.c-articleEntry.textend_grad h3:after {
  content: "";
  display: block;
  width: 5em;
  height: 1.7;
  background-image: url(../img/article/textend_grad.png);
  background-size: 100% 100%;
  position: absolute;
  right: 0;
  bottom: 0;
}
.c-articleEntry.textend_grad p {
  height: 3.4;
  overflow: hidden;
  display: block;
  position: relative;
}
.c-articleEntry.textend_grad p:after {
  content: "";
  display: block;
  width: 5em;
  height: 1.7;
  background-image: url(../img/article/textend_grad.png);
  background-size: 100% 100%;
  position: absolute;
  right: 0;
  bottom: 0;
}

select.article-archive {
  width: 100%;
}

.c-articlePager {
  text-align: center;
  padding: 0 0 8rem;
}
@media screen and (max-width: 768px) {
  .c-articlePager {
    padding-bottom: 5rem;
  }
}
.c-articlePager li {
  width: 3rem;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: middle;
  color: #0047BA;
  font-weight: bold;
}
.c-articlePager li a {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 568px) {
  .c-articlePager li a {
    padding: 0.5rem;
  }
}
.c-articlePager li a.prev, .c-articlePager li a.next, .c-articlePager li a.first, .c-articlePager li a.end {
  height: 3rem;
  background-repeat: no-repeat;
  background-size: auto 2rem;
  background-position: center center;
}
.c-articlePager li a.prev {
  background-image: url(../img/article/arrow_left.svg);
}
.c-articlePager li a.next {
  background-image: url(../img/article/arrow_right.svg);
}
.c-articlePager li a.first {
  background-image: url(../img/article/arrow_first.svg);
}
.c-articlePager li a.end {
  background-image: url(../img/article/arrow_end.svg);
}

.c-articleGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem 2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 568px) {
  .c-articleGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 414px) {
  .c-articleGrid {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}

.c-articleGrid__bgBox {
  display: block;
  border: solid 0.1rem;
}
.c-articleGrid__bgBox:hover {
  opacity: 0.8;
  text-decoration: none;
}
.c-articleGrid__bgBox:hover img {
  opacity: 1;
}

.c-articleGrid__thum {
  position: relative;
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 3/2;
}
.c-articleGrid__thum img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-articleGrid__thum .pop {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #c94447;
  color: #fff;
  padding: 0.5em 0.7em;
  border-radius: 0 0 1rem 0;
  letter-spacing: 0.1rem;
  font-weight: 700;
  font-size: 1.2rem;
}

.c-articleGrid__cont {
  padding: 1.5rem 1.5rem 2rem;
}

.c-articleGrid__ttl {
  font-weight: 700;
  overflow: hidden;
  max-height: 3.4;
  line-height: 1.7;
}
.c-articleGrid__ttl .textline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.7;
}

.c-articleGrid__info li.article-day {
  width: 100%;
  font-weight: 400;
}
.c-articleGrid__info li.article-day + li {
  margin-left: 0;
}
.c-articleGrid__info ul.article-cgy li a,
.c-articleGrid__info ul.article-cgy li span {
  background-size: 1rem auto;
  padding: 0.2rem 1rem;
}

.c-articleGrid__text {
  overflow: hidden;
  max-height: 5.1;
  line-height: 1.7;
  padding: 0;
}
.c-articleGrid__text .textline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.7;
}

.c-articleHead__thum {
  width: 100%;
  height: auto;
  margin: 0 auto 5rem auto;
  overflow: hidden;
  position: relative;
  border-radius: 0.5rem;
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 3/2;
}
.c-articleHead__thum img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 568px) {
  .c-articleHead__thum {
    margin: 0 auto 2rem auto;
  }
}
.c-articleHead__thum div.pop {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #c94447;
  color: #fff;
  padding: 3% 4%;
  border-radius: 0 0 1rem 0;
  letter-spacing: 0.1rem;
  font-weight: bold;
}

.c-articleHead__ttl {
  margin: 0 auto 1rem auto;
  font-weight: bold;
}
@media screen and (max-width: 568px) {
  .c-articleHead__ttl {
    margin: 0 auto;
  }
}

.c-articleHead__info li {
  display: inline-block;
  font-size: 0;
}
.c-articleHead__info .c-articleDay {
  font-weight: 700;
}
.c-articleHead__info .c-articleDay + li {
  margin-left: 1rem;
}
.c-articleHead__info .c-articleCgy {
  font-size: 0;
}
.c-articleHead__info .c-articleCgy li {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}
.c-articleHead__info .c-articleCgy li a,
.c-articleHead__info .c-articleCgy li span {
  background-color: #FF952D;
  padding: 0.3rem 1rem;
  border-radius: 0.5rem;
  color: #fff;
  background: #FF952D;
  font-weight: 700;
}
.c-articleHead__info .c-articleCgy li a, .c-articleHead__info .c-articleCgy li a:hover, .c-articleHead__info .c-articleCgy li a:visited, .c-articleHead__info .c-articleCgy li a:link {
  color: #fff;
  text-decoration: none;
}
.c-articleHead__info .c-articleCgy li a:hover {
  opacity: 0.8;
  text-decoration: none;
}

.c-articleList {
  margin-bottom: 4rem;
}
.c-articleList.textend_dots h2,
.c-articleList.textend_dots h3 {
  overflow: hidden;
  max-height: 1.7;
  line-height: 1.7;
}
.c-articleList.textend_dots h2 .textline,
.c-articleList.textend_dots h3 .textline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-height: 1.7;
}
.c-articleList.textend_grad h2 a,
.c-articleList.textend_grad h3 a {
  height: 1.7;
  overflow: hidden;
  display: block;
  position: relative;
}
.c-articleList.textend_grad h2 a:after,
.c-articleList.textend_grad h3 a:after {
  content: "";
  display: block;
  width: 5em;
  height: 1.7;
  background-image: url(../img/article/textend_grad.png);
  background-size: 100% 100%;
  position: absolute;
  right: 0;
  bottom: 0;
}

.c-articleList__item {
  padding: 2rem 0;
  display: flex;
  align-items: center;
  border-bottom: 0.1rem solid #CCCCCC;
}
@media screen and (max-width: 768px) {
  .c-articleList__item {
    flex-wrap: wrap;
  }
}

.c-articleList__cat {
  width: 13rem;
  padding: 0 1rem 0 0;
  display: block;
}
.c-articleList__cat a,
.c-articleList__cat span {
  min-width: 10rem;
  display: block;
  text-align: center;
  border: #0047BA 0.2rem solid;
  color: #0047BA;
  padding: 0.3rem 5%;
  margin: auto;
}
.c-articleList__cat a, .c-articleList__cat a:hover, .c-articleList__cat a:visited, .c-articleList__cat a:link {
  color: #0047BA;
  text-decoration: none;
}
.c-articleList__cat a:hover {
  text-decoration: none;
  background-color: #0047BA;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-articleList__cat {
    width: auto;
  }
}

.c-articleList__date {
  width: 13rem;
  padding: 0 1rem 0 0;
}
@media screen and (max-width: 768px) {
  .c-articleList__date {
    width: auto;
  }
}

.c-articleList__ttl {
  flex: 1;
  padding-right: 2rem;
  background-image: url(../img/arrow/arrow_right_c.svg);
  background-size: 2rem 2rem;
  background-position: right center;
  font-weight: 700;
}
.c-articleList__ttl a {
  padding: 0.2rem 0;
}
@media screen and (max-width: 768px) {
  .c-articleList__ttl {
    width: 100%;
    margin-top: 1rem;
  }
}

.c-articleNav {
  width: 100%;
  height: auto;
  padding: 1rem 0;
}

ul.c-articleNav__transfer {
  width: 100%;
  max-width: 50rem;
  margin: auto;
  display: table;
  table-layout: fixed;
  text-align: center;
  padding: 3rem 0;
}
ul.c-articleNav__transfer li {
  display: table-cell;
  vertical-align: middle;
  padding: 0.5rem 0;
  font-weight: bold;
  color: #CCCCCC;
}
ul.c-articleNav__transfer li + li {
  border-left: #CCCCCC 0.1rem solid;
}
ul.c-articleNav__transfer li a {
  background-repeat: no-repeat;
  background-size: 2rem 2rem;
  padding: 0.5rem 2.5rem;
}
@media screen and (max-width: 568px) {
  ul.c-articleNav__transfer li a {
    padding: 0.5rem 1.5rem;
  }
}
ul.c-articleNav__transfer li:first-child a {
  background-image: url(../img/arrow/arrow_left_c.svg);
  background-position: left center;
  padding: 0.5rem 0.5rem 0.5rem 4.5rem;
}
@media screen and (max-width: 568px) {
  ul.c-articleNav__transfer li:first-child a {
    background-image: none;
    padding: 0.5rem 1.5rem;
  }
}
ul.c-articleNav__transfer li:last-child a {
  background-image: url(../img/arrow/arrow_right_c.svg);
  background-position: right center;
  padding: 0.5rem 4.5rem 0.5rem 0.5rem;
}
@media screen and (max-width: 568px) {
  ul.c-articleNav__transfer li:last-child a {
    background-image: none;
    padding: 0.5rem 1.5rem;
  }
}

.c-shareBox {
  text-align: center;
}

.c-shareBox__bg {
  display: inline-block;
  width: auto;
  background-color: #F1F1F1;
  padding: 2rem 6rem;
  border-radius: 5rem;
}
@media screen and (max-width: 768px) {
  .c-shareBox__bg {
    padding: 2rem 4rem;
  }
}
@media screen and (max-width: 568px) {
  .c-shareBox__bg {
    display: block;
    padding: 1.5rem;
  }
}

.c-shareBox__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-shareBox__list li + li {
  margin-left: 2rem;
}
.c-shareBox__list li:first-of-type {
  margin-right: 1.5rem;
}
.c-shareBox__list p {
  color: #0047BA;
  letter-spacing: 0.05em;
  font-weight: bold;
}
.c-shareBox__list a {
  display: block;
}
@media screen and (max-width: 768px) {
  .c-shareBox__list li + li {
    margin-left: 2.5rem;
  }
  .c-shareBox__list li:first-of-type {
    margin-right: 1rem;
  }
}

@media screen and (max-width: 568px) {
  .c-shareBox .icon_twitter {
    width: 2.5rem;
  }
  .c-shareBox .icon_facebook,
  .c-shareBox .icon_line {
    width: 2.7rem;
  }
}

.c-articleTag__item {
  display: inline-block;
  margin: 0 0.5rem 1rem 0;
}
.c-articleTag__item a {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 0.5rem;
  background: #0047BA;
  padding: 0.5rem;
}
.c-articleTag__item a:link, .c-articleTag__item a:visited, .c-articleTag__item a:active {
  color: #fff;
  background-color: #0047BA;
}
.c-articleTag__item a:hover {
  opacity: 0.8;
}

.c-categoryList {
  font-size: 0;
}

.c-categoryList__item {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}
.c-categoryList__item a,
.c-categoryList__item span {
  background-color: #FF952D;
  padding: 0.3rem 1rem;
  border-radius: 0.5rem;
  color: #fff;
  background: #FF952D;
  font-weight: 700;
}
.c-categoryList__item a, .c-categoryList__item a:hover, .c-categoryList__item a:visited, .c-categoryList__item a:link {
  color: #fff;
  text-decoration: none;
}
.c-categoryList__item a:hover {
  opacity: 0.8;
  text-decoration: none;
}

.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background: #fff;
  padding-inline: 4rem;
  box-shadow: 0 4px 10px 0 rgba(102, 114, 128, 0.1);
}
@media screen and (max-width: 768px) {
  .l-header {
    padding-inline: 2.4rem;
  }
}

.l-header__inner {
  min-width: 100rem;
  height: 7rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .l-header__inner {
    min-width: inherit;
    height: 8rem;
  }
}

.l-header__logo {
  position: relative;
  z-index: 9999;
  width: fit-content;
}
.l-header__logo a {
  display: block;
}
.l-header__logo a img {
  width: auto;
  height: 5.4rem;
}

.l-header__cv {
  text-align: center;
  position: absolute;
  top: 50%;
  right: 4rem;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .l-header__cv {
    display: none;
  }
}
.l-header__cv a {
  display: block;
  background-color: #FF952D;
  border-radius: 999rem;
  padding: 0.8rem 2.4rem;
  font-weight: bold;
  white-space: nowrap;
}
.l-header__cv a, .l-header__cv a:hover, .l-header__cv a:visited, .l-header__cv a:link {
  color: #fff;
  text-decoration: none;
}
.l-header__cv a:hover {
  opacity: 0.8;
}

.l-header--simple .l-header__logo a img {
  height: 5.4rem;
}
@media screen and (max-width: 768px) {
  .l-header--simple .l-header__logo a img {
    height: 4rem;
  }
}

header.fixed {
  background: rgba(255, 255, 255, 0.7);
  position: fixed;
  z-index: 100;
}

.l-header-nav {
  margin: auto;
  position: absolute;
  right: 19rem;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .l-header-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    overflow: auto;
    background-color: #fff;
    z-index: 1000;
    transform: none;
    padding: 10rem 2rem 0;
  }
}

.l-header-nav__list {
  padding: 0 2.4rem 0 0rem;
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-header-nav__list {
    flex-direction: column;
    width: 100%;
    padding: 2rem 0;
  }
}

@media screen and (max-width: 768px) {
  .l-header-nav__item {
    width: 100%;
    border-bottom: 1px dashed #8caadc;
  }
}
.l-header-nav__item a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1rem 1.2rem;
  font-weight: 500;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .l-header-nav__item a {
    padding: 1.2rem 0.8rem;
    background-image: url(../img/arrow/arrow_right_b.svg);
    background-position: right 1rem center;
    background-size: 1rem auto;
    background-repeat: no-repeat;
  }
}
.l-header-nav__item a.active {
  color: #0047BA;
}
.l-header-nav__item.switching {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header-nav__item.switching {
    border: none;
    display: inherit;
  }
}
.l-header-nav__item.switching img {
  width: 90%;
  height: auto;
  margin: 0 auto 2rem auto;
}
.l-header-nav__item.switching ul {
  padding: 1.5rem 0;
}
.l-header-nav__item.switching ul li a {
  padding: 0.3rem 1.5rem;
  font-weight: normal;
  border-bottom: none;
}

.l-header-nav__item--parent {
  position: relative;
}
.l-header-nav__item--parent > a:after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-image: url(../img/arrow/input_select.svg);
  background-position: center right;
  background-size: 2rem 2rem;
  background-repeat: no-repeat;
  vertical-align: middle;
}

ul.l-header-nav__sub {
  position: absolute;
  top: 100%;
  left: 50%;
  width: auto;
  transform: translate(-50%, 0);
  background-color: rgba(255, 255, 255, 0.7);
  transition: all 0.4s ease;
}
ul.l-header-nav__sub li {
  padding: 0 1.5rem;
  height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
}
ul.l-header-nav__sub li a {
  padding: 0 1rem;
  background-image: none;
  background-repeat: no-repeat;
  background-size: 0.5rem 1rem;
  background-position: left top 0.5rem;
  white-space: nowrap;
  text-align: left;
  line-height: 1.7;
  opacity: 0;
  transition: all 0.4s ease;
  border: none;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  ul.l-header-nav__sub li a {
    padding: 0.5rem 0.5rem 0.5rem 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  ul.l-header-nav__sub {
    position: static;
    top: inherit;
    left: inherit;
    transform: inherit;
    z-index: auto;
    padding: 0 0 1.5rem 2.5rem;
    overflow: inherit;
    height: auto;
    background: inherit;
  }
  ul.l-header-nav__sub li {
    height: auto;
    overflow: inherit;
    padding: 0;
  }
  ul.l-header-nav__sub li a {
    opacity: 1;
    font-size: 1.3rem;
    background-image: url("../img/arrow/arrow_right_c.svg");
    background-position: left top 1rem;
  }
  ul.l-header-nav__sub li a:hover {
    letter-spacing: inherit;
  }
}

@media screen and (min-width: 769px) {
  .l-header-nav__item--parent:hover ul.l-header-nav__sub {
    padding: 0.5rem 0.5rem;
  }
  .l-header-nav__item--parent:hover ul.l-header-nav__sub li {
    padding: 0.5rem 1rem;
    overflow: visible;
    height: auto;
  }
  .l-header-nav__item--parent:hover ul.l-header-nav__sub li a {
    padding: 0 1rem;
    opacity: 1;
    background-image: url("../img/arrow/arrow_right_c.svg");
  }
}

.l-header-nav__action .p-front__fv__btn {
  width: 35rem;
  height: 6.8rem;
  display: flex;
  font-size: 2rem;
  background-image: none;
}

body.is-drawerOpen {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

.l-headerToggle {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-headerToggle {
    position: absolute;
    z-index: 1001;
    top: 1.5rem;
    right: 2rem;
    width: 5rem;
    height: 5rem;
    background: #0047BA;
    border-radius: 50%;
    display: block;
    box-sizing: content-box;
    transform: translateZ(0);
    border: 0;
    outline: 0;
    display: flex;
    gap: 0.4rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}

.l-headerToggle__bar {
  background-color: #FFF;
  display: block;
  height: 1px;
  width: 1.7rem;
  border: 0;
  transition: background-color 0.35s ease, transform 0.35s ease;
}

.l-headerToggle.is-active .top {
  transform: translateY(0.5rem) translateX(0) rotate(45deg);
}
.l-headerToggle.is-active .middle {
  opacity: 0;
}
.l-headerToggle.is-active .bottom {
  transform: translateY(-0.5rem) translateX(0) rotate(-45deg);
  margin-left: 0;
}

#drawer_layer {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  background-color: rgba(51, 51, 51, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
}
#drawer_layer.is-visible {
  display: block;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .l-header-nav {
    display: none;
    opacity: 0;
    backface-visibility: hidden;
  }
  .l-header-nav.is-open {
    display: block;
    top: 0;
    opacity: 1;
    animation-duration: 0.4s;
    animation-name: fadeInRight;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fadeOutScale {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.9);
  }
}
.l-footer {
  width: 100%;
  background-color: #EDF4FF;
  padding: 6.4rem 0 0;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 4rem 0 0;
  }
}

.l-footer__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .l-footer__top {
    flex-direction: column;
    gap: 3.2rem;
  }
}

.l-footer__logo img {
  width: auto;
  max-width: 19rem;
  height: auto;
}

.l-footer__address {
  font-size: 1.5rem;
  margin-top: -0.5rem;
  color: #002248;
  line-height: 1.7;
}

.l-footer__list {
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  gap: 1.2rem 4.8rem;
}
@media screen and (max-width: 768px) {
  .l-footer__list {
    gap: 1.4rem 2.6rem;
  }
}

.l-footer__item a {
  font-size: 1.6rem;
  font-weight: 700;
}
.l-footer__item a, .l-footer__item a:hover, .l-footer__item a:visited, .l-footer__item a:link {
  color: #002248;
  text-decoration: none;
}
.l-footer__item a:hover {
  text-decoration: underline;
}

.l-footer__bottom {
  border-top: 1px solid #C9D8E8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8rem;
  padding: 2.4rem 0;
}
@media screen and (max-width: 768px) {
  .l-footer__bottom {
    flex-direction: column;
    gap: 1rem;
    margin-top: 3rem;
    text-align: center;
    align-items: flex-start;
  }
}

.l-footer__copyright {
  font-size: 1.2rem;
  color: #747C85;
}

.l-footer__policy a {
  font-size: 1.2rem;
  display: inline-block;
}
.l-footer__policy a, .l-footer__policy a:hover, .l-footer__policy a:visited, .l-footer__policy a:link {
  color: #747C85;
  text-decoration: none;
}
.l-footer__policy a:hover {
  text-decoration: underline;
}

.l-footer__sns {
  display: flex;
  margin-top: 2rem;
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  .l-footer__sns {
    margin-top: 2.9rem;
    justify-content: flex-end;
  }
}

.l-footer__sns-item {
  width: 3rem;
  display: flex;
}
.l-footer__sns-item a {
  display: flex;
  width: 100%;
}
.l-footer__sns-item img {
  width: 100%;
  height: auto;
}

.l-footer--simple {
  padding: 1.2rem 0;
  text-align: center;
}

.l-page {
  padding-top: 8rem;
  margin-top: -8rem;
}
@media screen and (max-width: 768px) {
  .l-page {
    padding-top: 5.5rem;
    margin-top: -5.5rem;
  }
}

.l-page--column_2 {
  padding-top: 5rem;
}
@media screen and (min-width: 769px) {
  .l-page--column_2 {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .l-page--column_2 {
    padding-top: 2rem;
  }
}
.l-page--column_2 .l-page__main {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .l-page--column_2 .l-page__main {
    width: 100%;
  }
}
.l-page--column_2 .l-sidebar {
  width: 25%;
}
@media screen and (max-width: 768px) {
  .l-page--column_2 .l-sidebar {
    width: 100%;
  }
}

.l-sec {
  padding-top: 8rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .l-sec {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/*
 * EDITOR STYLE
 * WPのGutenbergにあてるスタイル
 * _wp.scssとeditor-style.scssからインポートされるmixin　editor()を定義
 * [ 注意1 ] _adjust.scssで定義したクラス以外は@extendできません。
 * [ 注意2 ] Webフォントは使用しないでください。
 */
div.editor {
  padding: 5rem 0 0 0;
}
@media screen and (max-width: 568px) {
  div.editor {
    padding: 2rem 0 0 0;
  }
}
div.editor h1,
div.editor h2,
div.editor h3,
div.editor h4,
div.editor h5,
div.editor h6 {
  font-weight: bold;
}
div.editor h1 {
  padding: 0.2rem 0 0.2rem 0.8rem;
  margin-bottom: 1em;
  line-height: 1.3em;
  color: #0047BA;
  border-left: #0047BA 0.3rem solid;
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  div.editor h1 {
    font-size: 20px;
  }
}
div.editor h2 {
  padding: 0.2rem 0 0.2rem 0.8rem;
  margin-bottom: 1em;
  line-height: 1.3em;
  color: #0047BA;
  border-left: #0047BA 0.3rem solid;
}
div.editor a:link, div.editor a:visited, div.editor a:active, div.editor a:hover {
  text-decoration: underline;
  color: #0047BA;
}
div.editor p {
  margin-bottom: 1em;
}
div.editor p br {
  clear: inherit;
}
div.editor br {
  clear: both;
}
div.editor .center {
  text-align: center;
  text-indent: 0;
}
div.editor .left {
  text-align: left;
  text-indent: 0;
}
div.editor .right {
  text-align: right;
  text-indent: 0;
}
div.editor strong {
  font-weight: bold;
}
div.editor em {
  font-style: italic;
}
div.editor blockquote {
  background-color: #e1e1e1;
  padding: 3em 1em;
  position: relative;
  margin-bottom: 1.5rem;
  border-radius: 1rem;
  border: none;
}
div.editor blockquote:before {
  content: "“";
  font-size: 400%;
  line-height: 1em;
  color: #fff;
  position: absolute;
  left: 1rem;
  top: 1rem;
}
@media screen and (max-width: 768px) {
  div.editor blockquote:before {
    left: 0.5rem;
    top: 0.5rem;
  }
}
div.editor blockquote:after {
  content: "”";
  font-size: 400%;
  line-height: 0em;
  color: #fff;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}
@media screen and (max-width: 768px) {
  div.editor blockquote:after {
    right: 0.5rem;
    bottom: 0.5rem;
  }
}
div.editor img {
  max-width: 100%;
  height: auto !important;
}
div.editor .f_left {
  float: left;
}
@media screen and (max-width: 568px) {
  div.editor .f_left {
    float: none;
  }
}
div.editor .f_right {
  float: right;
}
@media screen and (max-width: 568px) {
  div.editor .f_right {
    float: none;
  }
}
div.editor .aligncenter {
  margin: 3% auto;
}
div.editor .alignright {
  float: right;
  margin: 3% 0 3% 3%;
}
@media screen and (max-width: 568px) {
  div.editor .alignright {
    float: none;
    margin: 3% auto;
  }
}
div.editor .alignleft {
  float: left;
  margin: 3% 3% 3% 0;
}
@media screen and (max-width: 568px) {
  div.editor .alignleft {
    float: none;
    margin: 3% auto;
  }
}
div.editor ul,
div.editor ol {
  margin: 3% 0;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  div.editor ul,
  div.editor ol {
    padding: 1rem 0 1rem 1rem;
  }
}
div.editor li {
  line-height: 1.5em;
  list-style-position: outside;
}
@media screen and (max-width: 568px) {
  div.editor li {
    line-height: 1.7em;
  }
}
div.editor ul li {
  list-style-type: disc;
}
div.editor ol li {
  list-style-type: decimal;
}
div.editor table {
  border-collapse: collapse;
}
div.editor table th,
div.editor table td {
  border: 0.1rem solid #CCCCCC;
  padding: 0.5rem 1rem;
}
div.editor table th {
  font-weight: bold;
}
div.editor .wp-block-embed__wrapper iframe {
  width: 100% !important;
}
div.editor .wp-block-embed-youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 6rem !important;
  margin-top: 3%;
}
div.editor .wp-block-embed-youtube .wp-block-embed__wrapper {
  position: static;
}
div.editor .wp-block-embed-youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
div.editor .wp-block-embed figcaption {
  position: absolute;
  z-index: 10;
  top: 100.25%;
  left: 0;
  right: 0;
  font-size: 80%;
  text-align: center;
}
div.editor .wp-block-image figcaption {
  font-size: 80%;
  text-align: center;
}
div.editor .wp-block-file__button {
  background-color: #0047BA;
  color: #fff !important;
  text-decoration: none !important;
}
div.editor .wp-block-file__button:hover {
  background-color: #FF952D;
  color: #fff !important;
}
div.editor .wp-block-button.aligncenter {
  text-align: center;
}
div.editor .wp-block-button a {
  margin: 0 auto 5rem;
  width: 90%;
  max-width: 25rem;
  color: #fff;
  background: #FF952D !important;
  padding: 1.5rem 2rem;
  border-radius: 10rem;
  text-decoration: none;
  text-align: center;
  display: block;
}
div.editor .wp-block-button a:hover {
  opacity: 0.8;
}
div.editor .a2a_button_twitter span,
div.editor .a2a_button_facebook span,
div.editor .a2a_button_line span {
  background-color: transparent !important;
}
div.editor .a2a_button_twitter path,
div.editor .a2a_button_facebook path,
div.editor .a2a_button_line path {
  fill: #0047BA;
}
div.editor .wp-block-cover {
  margin: 3% auto;
}
div.editor .voice-wrapper {
  margin: 2em auto;
}
div.editor .voice-item__flex {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 1em auto;
}
div.editor .voice-item__image {
  width: 140px;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
div.editor .voice-item__image img {
  object-fit: cover;
}
div.editor .voice-item__image button {
  position: absolute;
  background-color: #fff;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
}
div.editor .voice-item__text {
  flex: 1;
}
div.editor .voice-item__title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  div.editor .voice-item__title {
    font-size: 16px;
  }
}
div.editor .voice-item__content {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  div.editor .voice-item__content {
    font-size: 14px;
  }
}
div.editor .flow-wrapper {
  margin: 2em auto;
}
div.editor .flow-item {
  display: flex;
  margin-bottom: 1em;
  position: relative;
  z-index: 0;
}
div.editor .flow-item::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #0047BA;
  left: 20px;
  top: 50%;
  z-index: -1;
}
div.editor .flow-item:last-child::after {
  content: none;
}
div.editor .flow-item__number {
  font-size: 20px;
  color: #fff;
  background-color: #0047BA;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  div.editor .flow-item__number {
    font-size: 30px;
    height: 30px;
    font-size: 16px;
  }
}
div.editor .flow-item__image {
  width: 50px;
  flex-shrink: 0;
  margin-right: 20px;
}
div.editor .flow-item__cont {
  flex: 1;
}
div.editor .flow-item__title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  div.editor .flow-item__title {
    font-size: 16px;
  }
}
div.editor .flow-item__text {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  div.editor .flow-item__text {
    font-size: 14px;
  }
}
div.editor .accordion-box {
  border: 1px solid #E1E1E1;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
  margin: 1em auto;
}
div.editor .accordion-box__title {
  cursor: pointer;
  padding: 16px 30px 16px 16px;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  background: #F6F6F6;
}
@media screen and (max-width: 768px) {
  div.editor .accordion-box__title {
    font-size: 16px;
    padding: 12px 25px 12px 12px;
  }
}
div.editor .accordion-box__title::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
  position: absolute;
  right: 1em;
  top: 50%;
  transform-origin: center;
  transform: translateY(-50%) rotate(45deg);
}
div.editor .accordion-box__title.is-open::after {
  transform: translateY(-50%) rotate(-135deg);
}
div.editor .accordion-box__content {
  padding: 16px;
  display: none;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  div.editor .accordion-box__content {
    padding: 12px;
    font-size: 14px;
  }
}
div.editor .accordion-box__content > *:first-child {
  margin-top: 0;
}
div.editor .accordion-box__content.is-open {
  display: block;
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
div.editor .description-list {
  margin: 1em auto;
}
div.editor .description-item {
  display: flex;
  padding: 1em 0;
  border-bottom: solid 1px #dfe1e2;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  div.editor .description-item {
    font-size: 14px;
  }
}
div.editor .description-item__term {
  width: 200px;
  color: #0047BA;
  font-weight: bold;
}
div.editor .description-item__desc {
  margin: 0;
  flex: 1;
}
div.editor .description-item__desc p {
  margin: 0;
}
div.editor .description-item__desc ul, div.editor .description-item__desc ol {
  font-weight: normal;
  margin: 0;
}
div.editor .description-item__desc li {
  padding-left: 1em;
  text-indent: -1em;
  margin-left: 1em;
}
div.editor .cta-block {
  margin: 1em auto;
  display: flex;
  justify-content: space-between;
  padding: 1em;
  background: rgba(0, 71, 186, 0.1);
}
div.editor .cta-block__image {
  width: 40%;
}
div.editor .cta-block__content {
  width: 54%;
}
div.editor .cta-block__title {
  border: none;
  font-size: 20px;
  padding: 0;
}
div.editor .cta-block__text {
  font-size: 16px;
}

.p-front .c-title--lv2 {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .p-front .c-title--lv2 {
    font-size: 2.8rem;
  }
}
.p-front .c-eyebrow {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-front .c-eyebrow {
    font-size: 1.4rem;
  }
}
.p-front .c-text--lg {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-front .c-text--lg {
    font-size: 1.6rem;
    text-align: left;
  }
}
.p-front .c-link {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-front .c-link {
    font-size: 1.6rem;
  }
}

.p-front__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 5.6rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-front__head {
    margin-bottom: 3.2rem;
  }
}
.p-front__head .c-eyebrow {
  margin-bottom: 0;
}
.p-front__head .c-title {
  margin-bottom: 0;
}

.p-front__more {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .p-front__more {
    margin-top: 3.2rem;
  }
}

.p-front__fv {
  position: relative;
  overflow: hidden;
  background: url(../img/front/fv_bg.webp) no-repeat left -14rem bottom -7.2rem/125.4rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv {
    background: url(../img/front/fv_bg_sp.webp) no-repeat center center/cover;
  }
}

.p-front__fv__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 17.2rem;
  padding-bottom: 12rem;
  position: relative;
  max-width: 120rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv__inner {
    flex-direction: column;
    padding-top: 12.5rem;
    padding-bottom: 22.8rem;
  }
}

.p-front__fv__body {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  width: 70rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-front__fv__body {
    width: 100%;
  }
}

.p-front__fv__ttl {
  font-weight: 900;
  line-height: 1.2;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}
.p-front__fv__ttl .p-front__fvW {
  display: inline;
  letter-spacing: 0.05em;
}
.p-front__fv__ttl .p-front__fvW--lg {
  font-size: 5.4rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv__ttl .p-front__fvW--lg {
    font-size: 3.7rem;
  }
}
.p-front__fv__ttl .p-front__fvW--sm {
  font-size: 4.4rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv__ttl .p-front__fvW--sm {
    font-size: 3rem;
  }
}
.p-front__fv__ttl .p-front__fvMarks {
  margin-left: 1.6rem;
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-front__fv__ttl .p-front__fvMarks {
    margin-left: 0;
    margin-top: 1rem;
  }
}
.p-front__fv__ttl .p-front__fvMark {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  letter-spacing: 0.28em;
  font-size: 5.6rem;
  position: relative;
  width: 9rem;
  height: 9rem;
  padding-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv__ttl .p-front__fvMark {
    width: 6.4rem;
    height: 6.4rem;
    padding-left: 0.8rem;
    font-size: 3.9rem;
    padding-bottom: 0.3rem;
  }
}
.p-front__fv__ttl .p-front__fvMark::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  top: 50%;
  width: 9rem;
  height: 9rem;
  z-index: -1;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #0047BA;
}
@media screen and (max-width: 768px) {
  .p-front__fv__ttl .p-front__fvMark::before {
    width: 6.4rem;
    height: 6.4rem;
  }
}
.p-front__fv__ttl .p-front__fvMark + .p-front__fvMark {
  margin-left: -1.9rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv__ttl .p-front__fvMark + .p-front__fvMark {
    margin-left: -1.5rem;
  }
}
.p-front__fv__ttl .p-front__fvMark:last-child {
  padding-right: 0;
}
.p-front__fv__ttl .p-front__fvAccent {
  color: #0047BA;
  letter-spacing: -0.03em;
  font-size: 5.4rem;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
@media screen and (max-width: 768px) {
  .p-front__fv__ttl .p-front__fvAccent {
    font-size: 3.7rem;
  }
}
.p-front__fv__ttl .p-front__fvBase2 {
  display: inline;
  letter-spacing: 0.02em;
}
.p-front__fv__ttl .p-front__fvBase2 .p-front__fvW {
  letter-spacing: 0.02em;
  font-size: 5rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv__ttl .p-front__fvBase2 .p-front__fvW {
    font-size: 3.5rem;
  }
}

.p-front__fv__lead {
  line-height: 1.8;
  font-weight: 700;
  font-size: 1.6rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv__lead {
    margin-top: 1.6rem;
    font-size: 1.6rem;
  }
}

.p-front__fv__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  width: fit-content;
  margin-top: 4.4rem;
}
@media screen and (max-width: 768px) {
  .p-front__fv__action {
    width: 100%;
    align-items: stretch;
    margin-top: 3.4rem;
  }
}

.p-front__fv__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  line-height: 1.5;
  min-width: 40rem;
  padding: 1.8rem 2rem;
  border-radius: 999rem;
  background-color: #FF952D;
  box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.1);
  font-weight: 700;
  font-size: 2.2rem;
  letter-spacing: 0.02em;
}
.p-front__fv__btn, .p-front__fv__btn:hover, .p-front__fv__btn:visited, .p-front__fv__btn:link {
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .p-front__fv__btn {
    min-width: 0;
    width: 100%;
    font-size: 2rem;
  }
}
.p-front__fv__btn::after {
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background-color: #fff;
  background-image: url(../img/arrow/arrow_right_c.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.5rem auto;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
}
.p-front__fv__btn:hover {
  opacity: 0.85;
}

.p-front__fv__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0.2rem 2.4rem;
  border-radius: 10rem;
  background-color: #fff;
  color: #FF952D;
  font-weight: 700;
  white-space: nowrap;
  font-size: 1.4rem;
  border: 2px solid #ff952d;
}
@media screen and (max-width: 768px) {
  .p-front__fv__badge {
    font-size: 1.4rem;
  }
}

.p-front__fv__note {
  text-align: center;
  font-size: 1.4rem;
  text-decoration: underline !important;
}
@media screen and (max-width: 768px) {
  .p-front__fv__note {
    font-size: 1.4rem;
    text-decoration: none !important;
    background: none !important;
  }
}

.p-front__fv__visual {
  flex-shrink: 0;
  position: absolute;
  top: -1rem;
  right: -52rem;
  width: 134rem;
  max-width: 140vw;
}
@media screen and (max-width: 1280px) {
  .p-front__fv__visual {
    right: -50rem;
    top: -2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-front__fv__visual {
    top: calc(100% - 30rem);
    bottom: auto;
    width: 71rem;
    max-width: 190vw;
    right: auto;
    transform: translateX(-50%);
    left: 74%;
  }
}
.p-front__fv__visual img {
  display: block;
  width: 100%;
  height: auto;
}

.p-front__reason {
  background-color: #EDF4FF;
}

.p-front__reason__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8rem;
  padding-top: 4rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-front__reason__inner {
    gap: 4rem;
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
}

.p-front__reasonInner {
  width: 100%;
}

.p-front__proof {
  display: flex;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 568px) {
  .p-front__proof {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}

.p-front__proof__item {
  width: 37rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-front__proof__item {
    max-width: 84%;
  }
}
.p-front__proof__item img {
  display: block;
  width: 100%;
  height: auto;
}

.p-front__reasonBox {
  position: relative;
  margin-top: 5.6rem;
  padding: 6.4rem 4rem 4rem;
  background-color: #fff;
  border: 0.2rem solid #0047BA;
  border-radius: 1.2rem;
}
@media screen and (max-width: 768px) {
  .p-front__reasonBox {
    margin-top: 5rem;
    padding: 4.8rem 2rem 2.4rem;
  }
}

.p-front__reasonBox__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 568px) {
  .p-front__reasonBox__grid {
    grid-template-columns: 1fr;
  }
}

.p-front__pill {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0.8rem 2.8rem;
  background-color: #0047BA;
  color: #fff;
  border-radius: 10rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .p-front__pill {
    font-size: 2rem;
  }
}
.p-front__pill::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.7rem;
  transform: translateX(-50%);
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 0.8rem solid #0047BA;
}

.p-front__voice {
  background: url(../img/front/voice_bg.webp) no-repeat center center/cover;
}
@media screen and (max-width: 768px) {
  .p-front__voice {
    background: url(../img/front/voice_bg_sp.webp) no-repeat center center/cover;
  }
}

.p-front__course {
  background-color: #EDF4FF;
}

.p-front__course__group {
  background-color: #d4e6ff;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0.45) 0.1rem, transparent 0.1rem, transparent 1rem);
  padding: 6.4rem 4rem 4rem;
  position: relative;
  border-radius: 1.2rem;
  border-top: 3px solid #0047ba;
  border-bottom: 3px solid #0047ba;
}
@media screen and (max-width: 768px) {
  .p-front__course__group {
    margin-top: 5.6rem;
    padding: 4.8rem 2rem 1.6rem;
  }
}
.p-front__course__group + .p-front__course__group {
  margin-top: 5rem;
}

.p-front__course__groupTtl {
  position: absolute;
  top: 0;
  left: 50%;
  width: 32.1rem;
  max-width: 100%;
  transform: translate(-50%, -50%);
  display: block;
  margin: 0 auto 2rem;
  padding: 0.8rem;
  background-color: #0047BA;
  color: #fff;
  border-radius: 10rem;
  font-weight: 700;
  text-align: center;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-front__course__groupTtl {
    font-size: 2rem;
  }
}

.p-front__course__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 568px) {
  .p-front__course__grid {
    grid-template-columns: 1fr;
  }
}

.p-front__results__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  margin-bottom: 8.6rem;
}
@media screen and (max-width: 768px) {
  .p-front__results__cards {
    gap: 1.6rem;
    grid-template-columns: 1fr;
    margin-bottom: 4.8rem;
  }
}

.p-front__feature {
  background: #edf5ff;
}

.p-front__feature__container {
  border-radius: 1.2rem;
  background: #fff;
  padding: 6rem;
}
@media screen and (max-width: 768px) {
  .p-front__feature__container {
    padding: 2rem;
  }
}

.p-front__feature__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem 2.4rem;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 568px) {
  .p-front__feature__cards {
    grid-template-columns: 1fr;
    gap: 2.4rem;
    margin-bottom: 6.4rem;
  }
}
.p-front__feature__cards .c-numberCard__ttl {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-front__feature__cards .c-numberCard__ttl {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-front__feature__cards .c-numberCard:nth-child(3) .c-numberCard__ttl {
    font-size: 2.4rem;
  }
}

.p-front__feature__points {
  position: relative;
  padding: 4.8rem 4rem 4rem;
  border-radius: 1.2rem;
  background-color: #DDEBFF;
  background-image: repeating-linear-gradient(-45deg, #D3E6FF 0, #D3E6FF 0.2rem, transparent 0.2rem, transparent 1rem);
}
@media screen and (max-width: 768px) {
  .p-front__feature__points {
    padding: 4rem 2rem 2.4rem;
  }
}
.p-front__feature__points .p-front__pill {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-front__feature__points .p-front__pill {
    font-size: 1.8rem;
    padding-inline: 1.8rem;
  }
}

.p-front__feature__pointGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
}
@media screen and (max-width: 568px) {
  .p-front__feature__pointGrid {
    grid-template-columns: 1fr;
  }
}

.c-featurePoint {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 2rem;
  background-color: #fff;
  border-radius: 0.4rem;
}
@media screen and (max-width: 768px) {
  .c-featurePoint {
    padding: 1.2rem;
  }
}

.c-featurePoint__icon {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
}
.c-featurePoint__icon img,
.c-featurePoint__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-featurePoint__label {
  font-weight: 700;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .c-featurePoint__label {
    font-size: 1.6rem;
  }
}

.p-front__instructor {
  background-color: #FFF;
}

.p-front__instructor__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 568px) {
  .p-front__instructor__cards {
    grid-template-columns: 1fr;
  }
}

.p-front__instructor__badge {
  position: relative;
  display: block;
  width: fit-content;
  margin: 4rem auto 0;
  padding: 0.3rem 2.8rem;
  border-radius: 10rem;
  background-color: #0047BA;
  color: #fff;
  font-weight: 700;
  text-align: center;
  font-size: 1.6rem;
}
.p-front__instructor__badge .p-front__instructor__badge--num {
  font-size: 2.2rem;
  margin-left: 0.4rem;
}
.p-front__instructor__badge::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 0.9rem 0.7rem 0;
  border-color: #0047BA transparent transparent;
}

.p-front__instructor .p-front__more {
  margin-top: 3.8rem;
}
@media screen and (max-width: 768px) {
  .p-front__instructor .p-front__more {
    margin-top: 0.8rem;
  }
}

.p-front__faq {
  background-color: #EDF4FF;
}
.p-front__faq .p-front__head {
  margin-bottom: 2.6rem;
}
@media screen and (max-width: 768px) {
  .p-front__faq .p-front__head {
    margin-bottom: 1.6rem;
  }
}

.p-front__company .p-front__head {
  margin-bottom: 2.6rem;
}
.p-front__company .c-companyTable th {
  background-color: #EDF4FF;
  border-bottom-color: #c9d7e8;
}
.p-front__company .c-companyTable td {
  border-bottom-color: #c9d7e8;
}

.p-front__contact {
  background: url(../img/common/form_bg.webp) no-repeat center center/cover;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-front__contact {
    background: url(../img/common/form_bg_sp.webp) no-repeat center center/cover;
  }
}

.p-front__contact__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .p-front__contact__inner {
    gap: 2.4rem;
  }
}

.p-front__contact__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.2rem;
  text-align: center;
}

.p-front__contact__eyebrow {
  display: inline-block;
  padding: 0.7rem 2.8rem;
  background-color: #fff;
  color: #0047BA;
  border-radius: 10rem;
  font-weight: 700;
  font-size: 2rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-front__contact__eyebrow {
    font-size: 1.8rem;
  }
}
.p-front__contact__eyebrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.7rem;
  transform: translateX(-50%);
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 0.8rem solid #fff;
}

.p-front__contact__ttl {
  font-weight: 700;
  line-height: 1.4;
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .p-front__contact__ttl {
    font-size: 2.8rem;
  }
}

.p-front__contact__ttlSub {
  display: block;
  font-size: 2.4rem;
  position: relative;
  width: fit-content;
  padding-inline: 3.2rem;
}
@media screen and (max-width: 768px) {
  .p-front__contact__ttlSub {
    font-size: 1.6rem;
    padding-inline: 2.4rem;
  }
}
.p-front__contact__ttlSub::before, .p-front__contact__ttlSub::after {
  width: 2.3rem;
  aspect-ratio: 23/30;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.p-front__contact__ttlSub::before {
  left: 0;
  background: url(../img/front/img_contact01.svg) no-repeat center center/contain;
}
.p-front__contact__ttlSub::after {
  right: 0;
  background: url(../img/front/img_contact02.svg) no-repeat center center/contain;
}

.p-front__contact__form {
  width: 100%;
  max-width: 60rem;
  padding: 4rem 6rem;
  background-color: #fff;
  border-radius: 1.2rem;
  color: #002248;
}
@media screen and (max-width: 768px) {
  .p-front__contact__form {
    padding: 2rem;
  }
}

.p-front__contact__formTtl {
  margin-bottom: 2rem;
  font-weight: 700;
  text-align: center;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-front__contact__formTtl {
    font-size: 2rem;
    margin-bottom: 1.2rem;
  }
}

div.p-form span.essential,
div.p-form span.optional {
  white-space: nowrap;
  padding: 0.1rem 0.8rem;
  font-size: 1.2rem;
  color: #fff;
  background-color: #0047BA;
  font-weight: normal;
  margin: 0 0.5rem;
  border-radius: 0.2rem;
}
div.p-form span.optional {
  background-color: #FF952D;
}
@media screen and (max-width: 768px) {
  div.p-form section table, div.p-form section table thead, div.p-form section table tbody, div.p-form section table tfoot, div.p-form section table tr {
    display: block;
    width: 100%;
  }
  div.p-form section table tr th, div.p-form section table tr td {
    display: block;
    width: 100%;
  }
}
div.p-form section table table {
  width: 100%;
}
div.p-form section table th,
div.p-form section table td {
  text-align: left;
}
div.p-form section table th {
  width: 25%;
  background-color: #e1e1e1;
  border-bottom: #fff 0.1rem solid;
  font-weight: bold;
  position: relative;
  vertical-align: top;
}
@media screen and (min-width: 769px) {
  div.p-form section table th {
    padding: 3rem 2rem;
  }
}
@media screen and (max-width: 768px) {
  div.p-form section table th {
    width: 100%;
    padding: 1rem;
    border: none;
  }
}
div.p-form section table th p {
  display: inline-block;
  vertical-align: middle;
  word-break: break-all;
}
div.p-form section table th span.essential,
div.p-form section table th span.optional {
  position: absolute;
  right: 1rem;
}
div.p-form section table td {
  padding: 1.5rem 2rem;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  div.p-form section table td {
    padding: 1rem 1rem 2rem 1rem;
  }
}
div.p-form section table tr:last-child th, div.p-form section table tr:last-child td {
  border-bottom: none;
}
@media screen and (min-width: 769px) {
  div.p-form section table.table_confirm th {
    padding: 1.5rem 2rem;
  }
}
div.p-form p.head {
  padding: 2rem 0;
  font-weight: bold;
}
div.p-form p.closing {
  padding: 2rem 0 1rem 0;
  font-weight: bold;
  text-align: center;
}
div.p-form span.arrow {
  font-size: 90%;
  margin: 0.5rem 0;
  font-weight: bold;
  display: inline-block;
}
div.p-form ul.transmission {
  width: auto;
  text-align: center;
  margin: 2rem auto 5rem auto;
  display: table;
}
@media screen and (max-width: 768px) {
  div.p-form ul.transmission {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 568px) {
  div.p-form ul.transmission {
    width: 95%;
    display: inherit;
  }
}
div.p-form ul.transmission li {
  display: table-cell;
  padding: 0.2rem 0.5rem;
}
@media screen and (max-width: 568px) {
  div.p-form ul.transmission li {
    display: block;
  }
}
div.p-form ul.transmission li a {
  cursor: pointer;
}
div.p-form ul.transmission_confirm {
  margin: 6rem 0 5rem;
}
@media screen and (max-width: 768px) {
  div.p-form ul.transmission_confirm {
    margin: 4rem 0 3rem;
  }
}
div.p-form ul.transmission_confirm li {
  text-align: center;
}
div.p-form ul.transmission_confirm li + li {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  div.p-form ul.transmission_confirm li + li {
    margin-top: 1.5rem;
  }
}
div.p-form ul.transmission_confirm form {
  text-align: center;
}
div.p-form ul.break {
  width: 100%;
  display: table;
}
@media screen and (max-width: 568px) {
  div.p-form ul.break {
    display: inherit;
  }
}
div.p-form ul.break li {
  display: table-cell;
  padding: 0 0.5rem;
}
div.p-form ul.break li:nth-child(1) {
  padding: 0 0.5rem 0 0;
}
@media screen and (max-width: 568px) {
  div.p-form ul.break li:nth-child(1) {
    padding: 0;
  }
}
div.p-form ul.break li:last-child {
  padding: 0 0 0 0.5rem;
}
@media screen and (max-width: 568px) {
  div.p-form ul.break li:last-child {
    padding: 0;
  }
}
@media screen and (max-width: 568px) {
  div.p-form ul.break li {
    display: inherit;
    padding: 0;
  }
}
div.p-form ul.variable {
  width: 100%;
}
div.p-form ul.variable li {
  display: inline-block;
  padding: 0 0.5rem;
}
div.p-form ul.variable li:last-child {
  padding: 0 0 0 0.5rem;
}
@media screen and (max-width: 568px) {
  div.p-form ul.variable li:last-child {
    padding: 0;
  }
}
div.p-form ul.variable li:nth-child(1) {
  padding: 0 0.5rem 0 0;
}
@media screen and (max-width: 568px) {
  div.p-form ul.variable li:nth-child(1) {
    padding: 0;
  }
}
@media screen and (max-width: 568px) {
  div.p-form ul.variable li {
    display: inherit;
    padding: 0;
  }
}
div.p-form ul.variable li input {
  width: auto;
  margin: 0.5rem 1rem 0.5rem 0;
}
div.p-form ul.check_list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
div.p-form ul.check_list li {
  width: auto;
  min-width: 25%;
  padding: 0.5rem 0;
}
@media only screen and (max-width: 100rem) {
  div.p-form ul.check_list li {
    width: 100%;
    border-bottom: #CCCCCC 0.1rem solid;
  }
}
div.p-form ul.number {
  display: table;
}
div.p-form ul.number li {
  display: table-cell;
}
div.p-form ul.number li:nth-child(1) input {
  width: 5em;
}
div.p-form ul.number li:nth-child(2) input {
  width: 7em;
}
div.p-form ul.number li p {
  display: inline-block;
}
div.p-form ul.number li span {
  padding: 0 1rem;
}
div.p-form ul.phone {
  display: table;
  table-layout: auto;
}
div.p-form ul.phone li {
  display: table-cell;
}
div.p-form ul.phone li:nth-child(1) input {
  width: 5em;
}
div.p-form ul.phone li:nth-child(2) input {
  width: 6em;
}
div.p-form ul.phone li:nth-child(3) input {
  width: 6em;
}
div.p-form ul.phone li p {
  display: inline-block;
}
div.p-form ul.phone li span {
  padding: 0 1rem;
}
div.p-form div.comp_box {
  padding: 5rem 0;
}
@media screen and (max-width: 568px) {
  div.p-form div.comp_box {
    padding: 3rem 0;
  }
}
div.p-form div.flow_nav {
  max-width: 100rem;
  margin: 5rem auto 3rem;
  background-color: #e1e1e1;
}
@media screen and (max-width: 768px) {
  div.p-form div.flow_nav {
    margin-top: 2rem;
    margin-bottom: 1rem;
  }
}
div.p-form div.flow_nav ul {
  overflow: hidden;
  display: flex;
}
div.p-form div.flow_nav ul li {
  position: relative;
  width: 35%;
  padding: 1.7rem 0 1.7rem 5rem;
  text-align: left;
  background-color: #e1e1e1;
}
@media screen and (max-width: 768px) {
  div.p-form div.flow_nav ul li {
    padding: 1rem 0 1rem 4rem;
  }
}
@media screen and (max-width: 568px) {
  div.p-form div.flow_nav ul li {
    padding-left: 2.5rem;
  }
}
div.p-form div.flow_nav ul li:before {
  bottom: 0;
  content: "";
  width: 4.5rem;
  height: 4.5rem;
  margin: auto;
  position: absolute;
  right: -2rem;
  top: 0;
  transform: rotate(-45deg);
  background-color: #e1e1e1;
  z-index: 1;
}
div.p-form div.flow_nav ul li:first-child {
  padding-left: 2.5rem;
  width: 30%;
}
@media screen and (max-width: 768px) {
  div.p-form div.flow_nav ul li:first-child {
    padding-left: 1.5rem;
  }
}
@media screen and (max-width: 568px) {
  div.p-form div.flow_nav ul li:first-child {
    padding-left: 0;
  }
}
div.p-form div.flow_nav ul li:last-child:before {
  content: none;
}
div.p-form div.flow_nav ul li span {
  position: relative;
  z-index: 100;
  padding: 0 0 0 1.5rem;
  font-size: 1.7rem;
  font-weight: bold;
}
@media screen and (max-width: 414px) {
  div.p-form div.flow_nav ul li span {
    font-size: 1.4rem;
  }
}
div.p-form div.flow_nav ul.flow_form li:nth-child(1) {
  background-color: #0047BA;
  color: #fff;
  font-weight: bold;
}
div.p-form div.flow_nav ul.flow_form li:nth-child(1):before {
  content: "";
  margin: auto;
  position: absolute;
  right: -2.2rem;
  background-color: #0047BA;
  border-bottom: none;
  border-right: none;
}
div.p-form div.flow_nav ul.flow_form li:nth-child(2):before {
  border-bottom: #CCCCCC 0.1rem solid;
  border-right: #CCCCCC 0.1rem solid;
}
div.p-form div.flow_nav ul.flow_confirm li:nth-child(2) {
  background-color: #0047BA;
  color: #fff;
  font-weight: bold;
}
div.p-form div.flow_nav ul.flow_confirm li:nth-child(2):before {
  content: "";
  margin: auto;
  position: absolute;
  right: -2.2rem;
  background-color: #0047BA;
  border-bottom: none;
  border-right: none;
}
div.p-form div.flow_nav ul.flow_complete li:nth-child(3) {
  background-color: #0047BA;
  color: #fff;
  font-weight: bold;
}
div.p-form div.flow_nav ul.flow_complete li:nth-child(3):before {
  content: "";
  margin: auto;
  position: absolute;
  right: -2.2rem;
  background-color: #0047BA;
  border-bottom: none;
  border-right: none;
}
div.p-form div.flow_nav ul.flow_complete li:nth-child(1):before {
  border-bottom: #CCCCCC 0.1rem solid;
  border-right: #CCCCCC 0.1rem solid;
}
div.p-form div.agree_box {
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 769px) {
  div.p-form div.agree_box {
    margin: 4rem auto 0;
    max-width: 90rem;
    width: 90%;
  }
}
div.p-form div.agree_box,
div.p-form div.agree_box p,
div.p-form div.agree_box span,
div.p-form div.agree_box li,
div.p-form div.agree_box ul {
  line-height: 1.5;
}
@media screen and (max-width: 568px) {
  div.p-form div.agree_box {
    padding: 1.5rem 0.5rem 0.5rem 0.5rem;
    margin-top: 0;
  }
}
div.p-form div.agree_box p.strong_text {
  font-weight: 700;
}
@media screen and (max-width: 414px) {
  div.p-form div.agree_box p.strong_text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 37.4rem) {
  div.p-form div.agree_box p.strong_text {
    font-size: 1.3rem;
  }
}
div.p-form div.agree_box ul.check_list {
  width: 100%;
  max-width: 60rem;
  margin: auto;
  justify-content: center;
}
div.p-form div.agree_box ul.check_list li {
  width: auto;
}
@media only screen and (max-width: 100rem) {
  div.p-form div.agree_box ul.check_list li {
    border-bottom: none;
  }
}
div.p-form div.agree_box div.err_area .text_box {
  padding: 0;
  max-width: 60rem;
  margin: 0.5rem auto 0 auto;
}
div.p-form div.agree_box .policy_box {
  height: 10rem;
  width: 100%;
  border: 0.1rem solid #ccc;
  overflow: auto;
  margin: 2rem 0;
}
div.p-form div.agree_box p.head_agree {
  margin: 0;
}
div.p-form div.agree_box p.head_agree span.essential {
  margin-right: 1.5rem;
}
@media screen and (max-width: 768px) {
  div.p-form div.agree_box p.head_agree {
    margin: 2rem 0 0;
  }
  div.p-form div.agree_box p.head_agree span.essential {
    margin-right: 1rem;
  }
}

div.err_area {
  display: block;
}
div.err_area p {
  display: block;
  padding: 0.5rem 1rem;
  font-weight: bold;
  color: #de2636;
  border: #de2636 0.1rem solid;
  margin: 0.5rem auto 0;
  text-align: center !important;
  border-radius: 0.5rem;
}
div.err_area .text_box {
  width: 80%;
  margin: 0.5rem auto;
  padding: 1.5rem 0;
  display: block;
}
div.err_area .text_box li {
  display: block;
  padding: 0.5rem 1rem;
  font-weight: bold;
  color: #de2636;
  border: #de2636 0.1rem solid;
  margin: 0.5rem auto;
  text-align: center;
  border-radius: 0.5rem;
}
div.err_area .list_box {
  width: 90%;
  margin: 0 auto 1rem auto;
  padding: 0.5rem 0;
}
div.err_area .list_box li {
  display: block;
  padding: 0.5rem 1rem;
  font-weight: bold;
  color: #de2636;
  border: #de2636 0.2rem solid;
  margin: 0.5rem auto;
  text-align: center;
  border-radius: 0.5rem;
}

div.error_area {
  max-width: 80rem;
  margin: 0 auto;
}
div.error_area .error_access,
div.error_area .text_box,
div.error_area .list_box {
  margin: 0 auto 1rem auto;
  padding: 0.5rem 0;
}
div.error_area .error_access li,
div.error_area .text_box li,
div.error_area .list_box li {
  display: block;
  padding: 0.5rem 1rem;
  font-weight: bold;
  color: #de2636;
  border: #de2636 0.2rem solid;
  margin: 0.5rem auto;
  text-align: center;
  border-radius: 0.5rem;
}

.btn_add, .btn_remove {
  padding: 0.5rem 2rem;
  border-radius: 0.5rem;
  background-color: #0047BA;
  display: inline-block;
  font-weight: 700;
  border: none;
}
.btn_add, .btn_remove, .btn_add:hover, .btn_add:visited, .btn_add:link {
  color: #fff;
  text-decoration: none;
}
.btn_add:hover, .btn_remove:hover {
  text-decoration: none;
  opacity: 0.8;
}
.btn_add span, .btn_remove span {
  padding-left: 1.2rem;
  position: relative;
  display: inline-block;
}
.btn_add span:before, .btn_remove span:before {
  content: "+";
  position: absolute;
  left: 0;
  top: 0.3rem;
  line-height: 1;
}

.btn_remove {
  background-color: #e1e1e1;
}
.btn_remove, .btn_remove:hover, .btn_remove:visited, .btn_remove:link {
  color: #002248;
  text-decoration: none;
}
.btn_remove span:before {
  content: "-";
}

p#fm_ajax_message {
  font-weight: 700;
  color: #0047BA;
  letter-spacing: 0.1rem;
}

.p-frontForm__row + .p-frontForm__row {
  margin-top: 2rem;
}

.p-frontForm__label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
  font-weight: 700;
}

.p-frontForm__req {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 1rem;
  background-color: #0047BA;
  color: #fff;
  border-radius: 0.4rem;
  font-weight: 700;
}

.p-frontForm__input {
  width: 100%;
  padding: 1.2rem 1.6rem;
  border: 0.1rem solid #dfe8f2;
  border-radius: 0.4rem;
  background-color: #fff;
  line-height: 1.6;
}
.p-frontForm__input::placeholder {
  color: #b3c0ce;
}
.p-frontForm__input:focus {
  outline: none;
  border-color: #0047BA;
}

.p-frontForm__textarea {
  min-height: 12rem;
  resize: vertical;
}

.p-frontForm__select {
  appearance: none;
  background-image: url(../img/arrow/input_select.svg);
  background-repeat: no-repeat;
  background-position: right 1.6rem center;
  background-size: 1.2rem auto;
  color: #d6d6d6;
}

.p-frontForm__agree {
  margin-top: 2.4rem;
  text-align: center;
}

.p-frontForm__check {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  cursor: pointer;
}
.p-frontForm__check input {
  width: 1.8rem;
  height: 1.8rem;
}

.p-frontForm__action {
  margin-top: 2.4rem;
  text-align: center;
}

.p-frontForm__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32rem;
  padding: 1.6rem 3.2rem;
  border: none;
  border-radius: 1rem;
  background-color: #FF952D;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (max-width: 568px) {
  .p-frontForm__submit {
    min-width: 0;
    width: 100%;
  }
}
.p-frontForm__submit:hover {
  opacity: 0.85;
}

.p-form__text {
  font-size: 1.6rem;
  font-weight: 700;
}

.p-form__block + .p-form__block {
  margin-top: 1rem;
}

.p-form__submit {
  display: flex;
  margin-top: 2.4rem;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-form__submit {
    margin-top: 0.8rem;
  }
}
.p-form__submit p {
  width: 40rem;
  height: 7.2rem;
  position: relative;
}
.p-form__submit p::after {
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background-color: #fff;
  background-image: url(../img/arrow/arrow_right_c.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.5rem auto;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
}

.p-404__sec {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-top: 19rem;
  padding-bottom: 10rem;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .p-404__sec {
    padding-top: 14rem;
    padding-bottom: 6rem;
  }
}

.p-404__arc {
  position: absolute;
  border-radius: 50%;
  border: 4rem solid #EDF4FF;
  pointer-events: none;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .p-404__arc {
    border-width: 2.4rem;
  }
}

.p-404__arc--tl {
  top: -16rem;
  left: -16rem;
  width: 32rem;
  height: 32rem;
  border-color: rgba(91, 141, 239, 0.35);
}
@media screen and (max-width: 768px) {
  .p-404__arc--tl {
    width: 18rem;
    height: 18rem;
    top: -9rem;
    left: -9rem;
  }
}

.p-404__arc--bl {
  bottom: -14rem;
  left: -10rem;
  width: 28rem;
  height: 28rem;
  border-color: rgba(0, 71, 186, 0.18);
}
@media screen and (max-width: 768px) {
  .p-404__arc--bl {
    width: 16rem;
    height: 16rem;
    bottom: -8rem;
    left: -7rem;
  }
}

.p-404__arc--tr {
  top: -10rem;
  right: -12rem;
  width: 26rem;
  height: 26rem;
  border-color: rgba(0, 71, 186, 0.18);
}
@media screen and (max-width: 768px) {
  .p-404__arc--tr {
    width: 15rem;
    height: 15rem;
    top: -6rem;
    right: -7rem;
  }
}

.p-404__arc--br {
  bottom: -16rem;
  right: -16rem;
  width: 32rem;
  height: 32rem;
  border-color: rgba(91, 141, 239, 0.35);
}
@media screen and (max-width: 768px) {
  .p-404__arc--br {
    width: 18rem;
    height: 18rem;
    bottom: -9rem;
    right: -9rem;
  }
}

.p-404__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-404__num {
  margin: 0 0 1.2rem;
  font-weight: 800;
  line-height: 1;
  color: #0047BA;
  font-size: 9rem;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-404__num {
    font-size: 7rem;
  }
}
@media screen and (max-width: 568px) {
  .p-404__num {
    font-size: 5.6rem;
  }
}

.p-404__ttl {
  margin: 0 0 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #002248;
}
@media screen and (max-width: 568px) {
  .p-404__ttl {
    font-size: 2.2rem;
  }
}

.p-404__lead {
  margin-bottom: 4.8rem;
  line-height: 1.9;
  color: #002248;
}
@media screen and (max-width: 768px) {
  .p-404__lead {
    margin-bottom: 3.2rem;
  }
}

.p-404__action {
  display: flex;
  justify-content: center;
}
.p-404__action .c-link {
  font-weight: 500;
}

.p-course .c-courseCard--vertical .c-courseCard__ttl {
  font-size: 1.8rem;
  display: flex;
  align-items: center;
}

.p-course__head {
  margin-bottom: 6.4rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-course__head {
    margin-bottom: 3.2rem;
  }
}
.p-course__head .c-eyebrow {
  margin-bottom: 0;
}
.p-course__head .c-text--lg {
  margin-top: 0.8rem;
}

.p-course__select {
  padding-top: 4rem;
}

.p-course__group {
  background-color: #d4e6ff;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0.45) 0.1rem, transparent 0.1rem, transparent 1rem);
  padding: 6.4rem 4rem 4rem;
  position: relative;
  border-radius: 1.2rem;
  border-top: 3px solid #0047ba;
  border-bottom: 3px solid #0047ba;
}
.p-course__group + .p-course__group {
  margin-top: 5.2rem;
}
@media screen and (max-width: 768px) {
  .p-course__group {
    padding: 4.8rem 2rem 2.4rem;
  }
}

.p-course__groupTtl {
  display: block;
  padding: 0.8rem;
  background-color: #0047BA;
  color: #fff;
  border-radius: 10rem;
  font-weight: 700;
  text-align: center;
  width: 32rem;
  max-width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-course__grid {
  display: grid;
  gap: 2.4rem;
}

.p-course__grid--col4 {
  grid-template-columns: repeat(4, 1fr);
}
.p-course__grid--col4 .c-courseCard__thumb {
  height: 13.2rem;
}

.p-course__grid--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.p-course__grid--col2 .c-courseCard__thumb {
  height: 11.6rem;
}
.p-course__grid--col2 .c-courseCard__ttl {
  padding: 0;
  border: none;
}
.p-course__grid--col2 .c-courseCard__body {
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .p-course__grid {
    gap: 1.6rem;
  }
  .p-course__grid--col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 568px) {
  .p-course__grid--col4, .p-course__grid--col2 {
    grid-template-columns: 1fr;
  }
}

.p-course__curriculumImg {
  margin-top: -2rem;
}
@media screen and (max-width: 568px) {
  .p-course__curriculumImg {
    margin-top: 0;
  }
}
.p-course__curriculumImg img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 568px) {
  .p-course__curriculumImg img {
    width: 110rem;
    max-width: none;
  }
}

.p-instructor__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 4rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-instructor__head {
    margin-bottom: 3.2rem;
  }
}
.p-instructor__head .c-eyebrow {
  margin-bottom: 0;
}
.p-instructor__head .c-title {
  margin-bottom: 0;
}
.p-instructor__head .c-text--lg {
  margin-top: 0.8rem;
}

.p-instructor__commitment {
  padding-top: 4rem;
}
.p-instructor__commitment .p-instructor__features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .p-instructor__commitment .p-instructor__features {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
  }
}
@media screen and (max-width: 568px) {
  .p-instructor__commitment .p-instructor__features {
    grid-template-columns: 1fr;
  }
}

.p-instructor__band {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.4rem;
  padding: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-instructor__band {
    margin-top: 3.2rem;
    flex-wrap: wrap;
  }
}
.p-instructor__band::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 4rem);
  z-index: -1;
  background-color: #EDF4FF;
  border-radius: 1.2rem;
  position: absolute;
  left: 0;
  bottom: 1.6rem;
}

.p-instructor__bandIcon {
  flex-shrink: 0;
  width: auto;
  height: 9.4rem;
}
@media screen and (max-width: 768px) {
  .p-instructor__bandIcon {
    height: 6.4rem;
  }
}

.p-instructor__bandText {
  font-weight: 700;
  line-height: 1.5;
  color: #002248;
  margin: 0 2rem 0 3rem;
}
.p-instructor__bandText strong {
  font-weight: 700;
}

.p-instructor__group {
  background-color: #EDF4FF;
  padding-bottom: 4rem;
}
.p-instructor__group + .p-instructor__group {
  padding-top: 0;
}
.p-instructor__group .c-text--lg {
  font-size: 1.6rem;
}
.p-instructor__group .p-instructor__panel {
  padding: 6.4rem;
  background-color: #fff;
  border-radius: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-instructor__group .p-instructor__panel {
    padding: 4rem 2.4rem;
  }
}
.p-instructor__group .p-instructor__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 568px) {
  .p-instructor__group .p-instructor__cards {
    grid-template-columns: 1fr;
  }
}

.p-contact__sec {
  padding-top: 13rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-contact__sec {
    padding-top: 9.5rem;
    padding-bottom: 5rem;
  }
}

.p-contact__cols {
  display: flex;
  align-items: flex-start;
  gap: 6rem;
}
@media screen and (max-width: 1000px) {
  .p-contact__cols {
    gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__cols {
    flex-direction: column;
    gap: 3.2rem;
  }
}

.p-contact__intro {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .p-contact__intro {
    width: 100%;
  }
}

.p-contact__ttl {
  margin: 0 0 2rem;
  padding: 0.3rem 0;
  border-bottom: 0.2rem solid #0047BA;
  border-top: 0.2rem solid #0047BA;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  color: #0047BA;
}

.p-contact__lead {
  margin-bottom: 4rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .p-contact__lead {
    margin-bottom: 2.4rem;
  }
}

.p-contact__features {
  padding: 3.2rem 1.6rem 1.6rem;
  background-color: #EDF4FF;
  border-radius: 1rem;
  position: relative;
  background-color: #D4E6FF;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0.45) 0.1rem, transparent 0.1rem, transparent 1rem);
}

.p-contact__featuresTtl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0.2rem 2.8rem;
  background-color: #0047BA;
  color: #fff;
  font-weight: 700;
  border-radius: 10rem;
  line-height: 1.7;
}

.p-contact__featuresList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem 2rem;
}
@media screen and (max-width: 568px) {
  .p-contact__featuresList {
    grid-template-columns: 1fr;
  }
}

.p-contact__featuresItem {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0.8rem 1.2rem;
  border-radius: 0.4rem;
  background: #FFF;
}

.p-contact__featuresIcon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}

.p-contact__form {
  flex: 0 0 48rem;
  width: 48rem;
  padding: 3.2rem 4rem;
  background-color: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 4px 14px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 1000px) {
  .p-contact__form {
    flex-basis: 42rem;
    width: 42rem;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form {
    flex: 1 1 auto;
    width: 100%;
    padding: 2.4rem;
  }
}

.p-contact__formTtl {
  margin-bottom: 2.4rem;
  font-weight: 700;
  text-align: center;
  color: #002248;
}

.wpcf7-form p {
  margin: 0;
}
.wpcf7-form .p-contactForm__row + .p-contactForm__row {
  margin-top: 1.6rem;
}
.wpcf7-form .p-contactForm__label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.5rem;
  font-weight: 700;
  color: #002248;
}
.wpcf7-form .p-contactForm__req {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 1rem;
  background-color: #0047BA;
  color: #fff;
  border-radius: 0.4rem;
  font-weight: 700;
}
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100%;
  padding: 1.2rem 1.6rem;
  border: 0.1rem solid #dfe8f2;
  border-radius: 0.4rem;
  background-color: #EDF4FF;
  line-height: 1.6;
  color: #002248;
}
.wpcf7-form input[type=text]::placeholder,
.wpcf7-form input[type=email]::placeholder,
.wpcf7-form input[type=tel]::placeholder,
.wpcf7-form textarea::placeholder,
.wpcf7-form select::placeholder {
  color: #a9bbd4;
}
.wpcf7-form input[type=text]:focus,
.wpcf7-form input[type=email]:focus,
.wpcf7-form input[type=tel]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
  outline: none;
  border-color: #0047BA;
}
.wpcf7-form textarea {
  min-height: 12rem;
  resize: vertical;
}
.wpcf7-form select {
  appearance: none;
  background-image: url(../img/arrow/input_select.svg);
  background-repeat: no-repeat;
  background-position: right 1.6rem center;
  background-size: 1.2rem auto;
}
.wpcf7-form .p-contactForm__agree {
  margin-top: 2.4rem;
  text-align: center;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
.wpcf7-form .wpcf7-acceptance label {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  cursor: pointer;
  font-weight: 500;
}
.wpcf7-form .wpcf7-acceptance input[type=checkbox] {
  width: 1.8rem;
  height: 1.8rem;
}
.wpcf7-form .p-contactForm__action {
  position: relative;
  margin-top: 2.4rem;
  text-align: center;
}
.wpcf7-form .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  width: 40rem;
  height: 7.2rem;
  padding: 1rem;
  border: none;
  border-radius: 999rem;
  background-color: #FF952D;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .wpcf7-form .wpcf7-submit {
    width: 100%;
  }
}
.wpcf7-form .wpcf7-submit:hover {
  opacity: 0.85;
}
.wpcf7-form .wpcf7-spinner {
  margin: 0 0 0 1.2rem;
}

.wpcf7-not-valid-tip {
  margin-top: 0.6rem;
  color: #de2636;
  font-weight: 700;
}

.wpcf7-response-output {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0.4rem;
}

.wpcf7-response-output[aria-hidden=true] {
  display: none;
}

.p-thanks__sec {
  position: relative;
  overflow: hidden;
  padding-top: 19rem;
  padding-bottom: 10rem;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .p-thanks__sec {
    padding-top: 14rem;
    padding-bottom: 6rem;
  }
}

.p-thanks__arc {
  position: absolute;
  border-radius: 50%;
  border: 4rem solid #EDF4FF;
  pointer-events: none;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .p-thanks__arc {
    border-width: 2.4rem;
  }
}

.p-thanks__arc--tl {
  top: -16rem;
  left: -16rem;
  width: 32rem;
  height: 32rem;
  border-color: rgba(91, 141, 239, 0.35);
}
@media screen and (max-width: 768px) {
  .p-thanks__arc--tl {
    width: 18rem;
    height: 18rem;
    top: -9rem;
    left: -9rem;
  }
}

.p-thanks__arc--bl {
  bottom: -14rem;
  left: -10rem;
  width: 28rem;
  height: 28rem;
  border-color: rgba(0, 71, 186, 0.18);
}
@media screen and (max-width: 768px) {
  .p-thanks__arc--bl {
    width: 16rem;
    height: 16rem;
    bottom: -8rem;
    left: -7rem;
  }
}

.p-thanks__arc--tr {
  top: -10rem;
  right: -12rem;
  width: 26rem;
  height: 26rem;
  border-color: rgba(0, 71, 186, 0.18);
}
@media screen and (max-width: 768px) {
  .p-thanks__arc--tr {
    width: 15rem;
    height: 15rem;
    top: -6rem;
    right: -7rem;
  }
}

.p-thanks__arc--br {
  bottom: -16rem;
  right: -16rem;
  width: 32rem;
  height: 32rem;
  border-color: rgba(91, 141, 239, 0.35);
}
@media screen and (max-width: 768px) {
  .p-thanks__arc--br {
    width: 18rem;
    height: 18rem;
    bottom: -9rem;
    right: -9rem;
  }
}

.p-thanks__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-thanks__ttl {
  margin: 0 0 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: #002248;
}

.p-thanks__lead {
  margin-bottom: 4.8rem;
  line-height: 1.9;
  color: #002248;
}
@media screen and (max-width: 768px) {
  .p-thanks__lead {
    margin-bottom: 3.2rem;
  }
}

.p-thanks__action {
  display: flex;
  justify-content: center;
}
.p-thanks__action .c-link {
  font-weight: 500;
}

.p-privacy {
  padding-top: 4rem;
}

.u-border--corners {
  border-radius: 10px;
}

.u-border {
  border: 1px solid #CCCCCC;
}

@media screen and (max-width: 768px) {
  .u-hide_sp {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .u-hide_pc {
    display: none;
  }
}

@media screen and (max-width: 1280px) {
  .u-hide_less_pc {
    display: none;
  }
}

@media screen and (min-width: 1281px) {
  .u-hide_more_pc {
    display: none;
  }
}

@media screen and (max-width: 1000px) {
  .u-hide_less_spc {
    display: none;
  }
}

@media screen and (min-width: 1001px) {
  .u-hide_more_spc {
    display: none;
  }
}

@media screen and (max-width: 568px) {
  .u-hide_less_sp {
    display: none;
  }
}

@media screen and (min-width: 569px) {
  .u-hide_more_sp {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  .u-hide_less_ssp {
    display: none;
  }
}

@media screen and (min-width: 415px) {
  .u-hide_more_ssp {
    display: none;
  }
}

@media screen and (max-width: 374px) {
  .u-hide_less_sssp {
    display: none;
  }
}

@media screen and (min-width: 375px) {
  .u-hide_more_sssp {
    display: none;
  }
}

.u-hide {
  display: none;
}

.u-link_sp {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .u-link_sp {
    pointer-events: inherit;
  }
}

.u-mt_10 {
  margin-top: 1rem;
}

.u-mt_12 {
  margin-top: 1.2rem;
}

.u-mt_15 {
  margin-top: 1.5rem;
}

.u-mt_20 {
  margin-top: 2rem;
}

.u-mt_30 {
  margin-top: 3rem;
}

.u-mt_40 {
  margin-top: 4rem;
}

.u-mt_50 {
  margin-top: 5rem;
}

.u-mt_100 {
  margin-top: 10rem;
}

@media screen and (max-width: 768px) {
  .u-mt_12 {
    margin-top: 1.2rem;
  }
  .u-mt_15 {
    margin-top: 1.5rem;
  }
  .u-mt_20 {
    margin-top: 1.5rem;
  }
  .u-mt_30 {
    margin-top: 2rem;
  }
  .u-mt_40 {
    margin-top: 2.5rem;
  }
  .u-mt_50 {
    margin-top: 3rem;
  }
  .u-mt_100 {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 568px) {
  .u-mt_20 {
    margin-top: 1.5rem;
  }
  .u-mt_50 {
    margin-top: 2.5rem;
  }
}
.u-mb_10 {
  margin-bottom: 1rem;
}

.u-mb_20 {
  margin-bottom: 2rem;
}

.u-mb_30 {
  margin-bottom: 3rem;
}

.u-mb_50 {
  margin-bottom: 5rem;
}

.u-mb_100 {
  margin-bottom: 10rem;
}

@media screen and (max-width: 768px) {
  .u-mb_20 {
    margin-bottom: 1.5rem;
  }
  .u-mb_30 {
    margin-bottom: 2rem;
  }
  .u-mb_50 {
    margin-bottom: 3rem;
  }
  .u-mb_100 {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 568px) {
  .u-mb_20 {
    margin-bottom: 1.5rem;
  }
  .u-mb_50 {
    margin-bottom: 2.5rem;
  }
}
.u-mr_05 {
  margin-right: 0.5rem;
}

.u-mr_10 {
  margin-right: 1rem;
}

.u-mr_15 {
  margin-right: 1.5rem;
}

.u-mr_20 {
  margin-right: 2rem;
}

.u-mr_30 {
  margin-right: 3rem;
}

.u-ml_05 {
  margin-left: 0.5rem;
}

.u-ml_10 {
  margin-left: 1rem;
}

.u-ml_15 {
  margin-left: 1.5rem;
}

.u-ml_20 {
  margin-left: 2rem;
}

.u-ml_30 {
  margin-left: 3rem;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

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

.u-text-center_left {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .u-text-center_left {
    text-align: left;
  }
}

.u-text_center {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .u-text_center {
    text-align: center;
  }
}

.u-text_main-color {
  color: #0047BA;
}

.u-text_gray {
  color: #929292;
}

.u-wth_100 {
  width: 100%;
  height: auto;
}

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