@charset "UTF-8";
/* リキッドレイアウト対応 */
body {
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 500;
  color: #004533;
  background-color: #FFFFFF;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.u-mobile {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-mobile {
    display: block !important;
  }
}

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

/*--------------------------
文字に対して、一括でfont-size、line-height、letter-spacing、font-weightを指定する
---------------------------*/
html {
  font-size: 16px;
}
@media (max-width: 1120px) {
  html {
    font-size: 1.4285714286vw;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: all;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

html {
  margin-top: 0 !important;
}

main {
  margin-top: 120px;
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  main {
    margin-top: 2.5rem;
  }
}

main.sub-main {
  margin-top: 72px;
  margin-top: 4.5rem;
}
@media screen and (max-width: 768px) {
  main.sub-main {
    margin-top: 2.5rem;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

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

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

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

/* セクションタイトル */
.sec-title {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  color: #D3E4E0;
  font-size: 56px;
  font-size: 3.5rem;
  line-height: 1.44;
  letter-spacing: 0.0357142857em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sec-title {
    font-size: 1.875rem;
    line-height: 1.1;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

/* contact */
.contact {
  background-color: #004533;
}

.contact__inner.inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 40px;
  padding-top: 2.5rem;
  padding-bottom: 60px;
  padding-bottom: 3.75rem;
  max-width: 1010px;
  max-width: 63.125rem;
}
@media screen and (max-width: 768px) {
  .contact__inner.inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 1rem;
    padding-bottom: 2rem;
    max-width: 37.5rem;
  }
}

.contact .sec-title {
  color: rgba(255, 255, 255, .32);
  text-align: left;
}
@media screen and (max-width: 768px) {
  .contact .sec-title {
    text-align: center;
  }
}

.contact__sub-title {
  color: #FFFFFF;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
  margin-top: 2px;
  margin-top: 0.125rem;
}
@media screen and (max-width: 768px) {
  .contact__sub-title {
    font-size: 1rem;
    line-height: 1.36;
    letter-spacing: 0.0125em;
    font-weight: 700;
    margin-top: -0.3125rem;
  }
}

.contact__btn {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .contact__btn {
    margin-top: 1.3125rem;
  }
}

.contact__btn a {
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 53px;
  padding-left: 3.3125rem;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  width: 480px;
  width: 30rem;
  height: 192px;
  height: 12rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .contact__btn a {
    border-radius: 0.25rem;
    padding-left: 1.8125rem;
    -webkit-column-gap: 0.9625rem;
       -moz-column-gap: 0.9625rem;
            column-gap: 0.9625rem;
    width: 17.4375rem;
    height: 6rem;
  }
}

.contact__btn-text p {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .contact__btn-text p {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.contact__btn-img {
  max-width: 215px;
  max-width: 13.4375rem;
  width: 100%;
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .contact__btn-img {
    max-width: 6rem;
    margin-top: 0.625rem;
  }
}

.contact__btn a:hover {
  background-color: #004533;
  color: #FFFFFF;
}

/* 下層fv */
.sub-fv {
  background-color: #FFFAF7;
  padding-top: 26px;
  padding-top: 1.625rem;
}
@media screen and (max-width: 768px) {
  .sub-fv {
    padding-top: 0.8125rem;
  }
}

.sub-fv__limited {
  background-color: #C8F5FF;
  color: #004533;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 700;
  padding: 6.5px 0;
  padding: 0.40625rem 0;
  margin-top: -26px;
  margin-top: -1.625rem;
}
@media screen and (max-width: 768px) {
  .sub-fv__limited {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 700;
    padding: 0.1875rem 0;
    margin-top: -0.8125rem;
  }
}

.sub-fv__area {
  background-color: #FFFFFF;
}

.sub-fv__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sub-fv__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 0.625rem;
  }
}

.sub-fv__img {
  max-width: 265px;
  max-width: 16.5625rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-fv__img {
    max-width: 9.375rem;
  }
}

.sub-fv__wrapper {
  text-align: center;
}

.sub-fv__sub-title {
  color: #2A2A2A;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-fv__sub-title {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-fv__title {
  margin-top: 8px;
  margin-top: 0.5rem;
  font-size: 38px;
  font-size: 2.375rem;
  line-height: 1.52;
  letter-spacing: 0.0105263158em;
  font-weight: 700;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .sub-fv__title {
    margin-top: 0.25rem;
    font-size: 1.375rem;
    line-height: 1.52;
    letter-spacing: 0.0090909091em;
    font-weight: 700;
  }
}

.sub-fv__title span {
  color: #FFFFFF;
  background-color: #0A8F6C;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  border-radius: 1.875rem;
  padding: 5.5px 14.6px;
  padding: 0.34375rem 0.9125rem;
  position: absolute;
  top: 11px;
  top: 0.6875rem;
  left: -97px;
  left: -6.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-fv__title span {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
    padding: 0.15625rem 0.4375rem;
    top: 0.3125rem;
    left: -4.0625rem;
  }
}

.sub-fv__text {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sub-fv__text {
    margin-top: 0.625rem;
  }
}

.sub-fv__text p {
  color: #2A2A2A;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-fv__text p {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

/* sub-voice */
.sub-voice {
  margin-top: 68px;
  margin-top: 4.25rem;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

.sub-voice__container {
  background-color: #FFFAF7;
  padding: 56px 80px 44px;
  padding: 3.5rem 5rem 2.75rem;
  border-radius: 0.5rem;
}

.sub-voice__swiper .swiper-slide {
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  padding-top: 32px;
  padding-top: 2rem;
  padding-bottom: 76px;
  padding-bottom: 4.75rem;
}

.sub-voice__swiper-title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #A7A7A7;
}

.sub-voice__swiper-container {
  margin-top: 16px;
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
}

.sub-voice__swiper-img {
  max-width: 88px;
  max-width: 5.5rem;
  width: 100%;
}

.sub-voice__swiper-img img {
  aspect-ratio: 88/88;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sub-voice__swiper-textarea {
  max-width: 664px;
  max-width: 41.5rem;
  width: 100%;
  text-align: left;
}

.sub-voice__swiper-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
  color: #2A2A2A;
}

.sub-voice__swiper-name {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.sub-voice__swiper-name p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  color: #6B6B6B;
}

.sub-voice__swiper .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 32px;
  bottom: 2rem;
}

.sub-voice__swiper .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  margin: 0 8px;
  margin: 0 0.5rem;
}

.sub-voice__swiper .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #004533;
}

/* sub-best */
.sub-best {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sub-best {
    margin-top: 3rem;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
}

.sub-best__inner.inner {
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  padding-top: 48px;
  padding-top: 3rem;
  padding-bottom: 56px;
  padding-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  .sub-best__inner.inner {
    padding: 1.5rem 0.75rem;
    max-width: 34.5rem;
  }
}

.sub-best__title {
  text-align: center;
  color: #2A2A2A;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-best__title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-best__items {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-best__items {
    margin-top: 0.75rem;
  }
}

.sub-best__item {
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  padding: 12px 36px 15px;
  padding: 0.75rem 2.25rem 0.9375rem;
}
@media screen and (max-width: 768px) {
  .sub-best__item {
    padding: 0.75rem 1rem 0.75rem 2.1875rem;
  }
}

.sub-best__item:nth-child(n+2) {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.sub-best__item-text {
  color: #2A2A2A;
  display: list-item;
  list-style: disc;
}
@media screen and (max-width: 768px) {
  .sub-best__item-text {
    display: inline-block;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .sub-best__item-text::before {
    content: "";
    width: 0.3125rem;
    height: 0.3125rem;
    display: inline-block;
    border-radius: 50%;
    background-color: #2A2A2A;
    position: absolute;
    top: 0.5rem;
    left: -1.0625rem;
  }
}

.sub-best__item-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-best__item-text p {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 700;
  }
}

.sub-best__item-text p span {
  color: #0A8F6C;
}

/* related */
.related {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 64px;
  padding-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .related {
    padding-top: 2rem;
    padding-bottom: 4rem;
  }
}

.related__container {
  margin-top: 24px;
  margin-top: 1.5rem;
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  padding-top: 24px;
  padding-top: 1.5rem;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .related__container {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 1.25rem;
  }
}

.related__sub-title {
  color: #2A2A2A;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .related__sub-title {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.related__title {
  color: #2A2A2A;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.52;
  letter-spacing: 0.0117647059em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .related__title {
    font-size: 1.25rem;
    line-height: 1.52;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.related__items {
  margin-top: 56px;
  margin-top: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2.25rem;
     -moz-column-gap: 2.25rem;
          column-gap: 2.25rem;
}
@media screen and (max-width: 768px) {
  .related__items {
    margin-top: 1.75rem;
    -webkit-column-gap: 1.125rem;
       -moz-column-gap: 1.125rem;
            column-gap: 1.125rem;
  }
}

.related__item a {
  background-color: #FFFFFF;
  border-radius: 2.5rem;
  -webkit-box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, .12);
          box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, .12);
  width: 296px;
  width: 18.5rem;
  height: 275px;
  height: 17.1875rem;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .related__item a {
    border-radius: 1.25rem;
    width: 9.25rem;
    height: 8.625rem;
    -webkit-box-shadow: 0 0.0625rem 0.25rem 0.0625rem rgba(0, 0, 0, .12);
            box-shadow: 0 0.0625rem 0.25rem 0.0625rem rgba(0, 0, 0, .12);
  }
}

.related__item-title {
  padding-top: 42px;
  padding-top: 2.625rem;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.36;
  letter-spacing: 0.0230769231em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .related__item-title {
    padding-top: 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.36;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}

.related__item-support .related__item-title,
.related__item-fund .related__item-title,
.related__item-practice .related__item-title {
  padding-top: 24px;
  padding-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .related__item-support .related__item-title,
  .related__item-fund .related__item-title,
  .related__item-practice .related__item-title {
    padding-top: 0.625rem;
  }
}

.related__item-master .related__item-title {
  padding-top: 16px;
  padding-top: 1rem;
}
@media screen and (max-width: 768px) {
  .related__item-master .related__item-title {
    padding-top: 0.625rem;
  }
}

.related__item-title--limited {
  margin-top: 10px;
  margin-top: 0.625rem;
  background-color: #C8F5FF;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 700;
  padding: 2.5px 0;
  padding: 0.15625rem 0;
}
@media screen and (max-width: 768px) {
  .related__item-title--limited {
    margin-top: 0.1875rem;
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 700;
    padding: 0;
  }
}

.related__item-img {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.related__item-training .related__item-img {
  max-width: 124px;
  max-width: 7.75rem;
}
@media screen and (max-width: 768px) {
  .related__item-training .related__item-img {
    max-width: 3.875rem;
  }
}

.related__item-aptitude .related__item-img {
  max-width: 296px;
  max-width: 18.5rem;
}
@media screen and (max-width: 768px) {
  .related__item-aptitude .related__item-img {
    max-width: 9.25rem;
  }
}

.related__item-support .related__item-img {
  max-width: 296px;
  max-width: 18.5rem;
}
@media screen and (max-width: 768px) {
  .related__item-support .related__item-img {
    max-width: 9.25rem;
  }
}

.related__item-master .related__item-img {
  max-width: 204px;
  max-width: 12.75rem;
}
@media screen and (max-width: 768px) {
  .related__item-master .related__item-img {
    max-width: 5.5rem;
  }
}

.related__item-fund .related__item-img {
  max-width: 202px;
  max-width: 12.625rem;
}
@media screen and (max-width: 768px) {
  .related__item-fund .related__item-img {
    max-width: 5.8125rem;
  }
}

.related__item-practice .related__item-img {
  max-width: 240.56px;
  max-width: 15.035rem;
}
@media screen and (max-width: 768px) {
  .related__item-practice .related__item-img {
    max-width: 6.6875rem;
  }
}

.related__item-btn {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
  background-color: rgba(255, 255, 255, .92);
  color: #004533;
  border: 1px solid #004533;
  border-radius: 5rem;
  opacity: 0.92;
  text-align: center;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 20px;
  bottom: 1.25rem;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .related__item-btn {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
    border-radius: 2.5rem;
    padding: 0.34375rem 0;
    max-width: 7.5rem;
    bottom: 0.625rem;
  }
}

.related__item-master .related__item-btn {
  color: #003B47;
  border: 1px solid #003B47;
}

.related__item a,
.related__item .related__item-title--limited,
.related__item .related__item-btn {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.related__item a:hover {
  background-color: #004533;
  color: #FFFFFF;
}

.related__item-master a:hover {
  background-color: #003B47;
}

.related__item-master a:hover .related__item-title--limited {
  background-color: #4399AA;
}

.related__item a:hover .related__item-btn {
  opacity: 1;
}

/* sub-participation */
.sub-participation {
  background-color: #FFFAF7;
  padding-top: 24px;
  padding-top: 1.5rem;
  padding-bottom: 32px;
  padding-bottom: 2rem;
  margin-bottom: 64px;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .sub-participation {
    padding-top: 0.75rem;
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    margin-top: 1.125rem;
  }
}

.sub-participation__title {
  color: #2A2A2A;
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-participation__title {
    font-size: 0.75rem;
    line-height: 1.52;
    letter-spacing: 0.0166666667em;
    font-weight: 700;
  }
}

.sub-participation__detail {
  margin-top: 8px;
  margin-top: 0.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-participation__detail {
    margin-top: 0.25rem;
  }
}

.sub-participation__detail a {
  color: #0A8F6C;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.25rem;
     -moz-column-gap: 0.25rem;
          column-gap: 0.25rem;
}
@media screen and (max-width: 768px) {
  .sub-participation__detail a {
    -webkit-column-gap: 0.125rem;
       -moz-column-gap: 0.125rem;
            column-gap: 0.125rem;
  }
}

.sub-participation__detail-text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-participation__detail-text {
    font-size: 0.75rem;
    line-height: 1.52;
    letter-spacing: 0.0166666667em;
    font-weight: 700;
  }
}

.sub-participation__detail-icon {
  max-width: 24px;
  max-width: 1.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-participation__detail-icon {
    max-width: 0.875rem;
  }
}

.sub-participation__text {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #6B6B6B;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-participation__text {
    margin-top: 0.75rem;
  }
}

.sub-participation__text p {
  display: inline-block;
  text-align: left;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-participation__text p {
    text-align: center;
    font-size: 0.6875rem;
    line-height: 1.52;
    letter-spacing: 0.0181818182em;
    font-weight: 400;
  }
}

.sub-club__modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: scroll;
  z-index: 999;
  padding: 90px 0;
  padding: 5.625rem 0;
  background-color: rgba(0, 0, 0, .72);
}
@media screen and (max-width: 768px) {
  .sub-club__modal {
    padding: 2.5rem 0;
  }
}

.sub-club__modal-inner {
  background-color: #FFFFFF;
  border-radius: 1rem;
  margin: auto;
  max-width: 960px;
  max-width: 60rem;
  width: 100%;
  position: relative;
  padding: 32px 48px 24px;
  padding: 2rem 3rem 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-club__modal-inner {
    border-radius: 0.5rem;
    max-width: 21.875rem;
    padding: 1rem 1.5rem 0.75rem;
  }
}

.sub-club__modal-close {
  position: absolute;
  top: -32px;
  top: -2rem;
  right: 16px;
  right: 1rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.sub-club__modal-close span {
  background-image: url(../images/common/union.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  display: inline-block;
}

.sub-club__modal-title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-club__modal-title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-club__modal-text {
  margin-top: 32px;
  margin-top: 2rem;
  color: #2A2A2A;
  height: 300px;
  height: 18.75rem;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .sub-club__modal-text {
    margin-top: 1rem;
    height: 12.5rem;
  }
}

.sub-club__modal-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.08em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-club__modal-text p {
    font-size: 0.9375rem;
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}

.sub-club__modal-text p.small {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-club__modal-text p.small {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

.sub-club__modal-btn--bottom {
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-club__modal-btn--bottom {
    margin-top: 0.75rem;
  }
}

.sub-club__modal-btn--bottom a {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  display: inline-block;
  border: 1px solid #004533;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-club__modal-btn--bottom a {
    max-width: 7.5rem;
    border-radius: 2.5rem;
    padding: 0.34375rem 0;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

/* sub-content */
.sub-content {
  margin-top: 88px;
  margin-top: 5.5rem;
}
@media screen and (max-width: 768px) {
  .sub-content {
    margin-top: 2.75rem;
    margin-bottom: 2rem;
  }
}

.sub-content__title {
  text-align: center;
  color: #2A2A2A;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-content__title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-content__items {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-content__items {
    margin-top: 0.75rem;
  }
}

.sub-content__item {
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  padding: 12px 24px;
  padding: 0.75rem 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item {
    padding: 0.5rem 0.75rem;
  }
}

.sub-content__item:nth-child(n+2) {
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item:nth-child(n+2) {
    margin-top: 0.5rem;
  }
}

.sub-content__item:last-child {
  padding: 16px 24px 24px;
  padding: 1rem 1.5rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item:last-child {
    padding: 0.5rem 0.75rem 0.75rem;
  }
}

.sub-content__item-term {
  color: #6B6B6B;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 700;
  width: 80px;
  width: 5rem;
  padding-top: 3px;
  padding-top: 0.1875rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item-term {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 700;
    width: 3.125rem;
    padding-top: 0.09375rem;
  }
}

.sub-content__item-description {
  color: #2A2A2A;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-content__item-description--sub {
  margin-top: 6px;
  margin-top: 0.375rem;
  color: #6B6B6B;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--sub {
    margin-top: 0.1875rem;
    font-size: 0.75rem;
    line-height: 1.52;
    letter-spacing: 0.0166666667em;
    font-weight: 700;
  }
}

.sub-content__item-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item-lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 1rem;
    max-width: 15.3125rem;
    width: 100%;
  }
}

.sub-content__item-list {
  width: 483px;
  width: 30.1875rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item-list {
    width: 100%;
  }
}

.sub-content__item-description--title {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--title {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
    margin-top: 0.25rem;
    margin-left: 0.5rem;
  }
}

.sub-content__item-description--title.master {
  margin-top: 0;
}

.sub-content__item-description--title:nth-child(n+3) {
  margin-top: 16px;
  margin-top: 1rem;
}

.sub-content__item-description--text {
  color: #2A2A2A;
  margin-top: 4px;
  margin-top: 0.25rem;
  padding-left: 18.5px;
  padding-left: 1.15625rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--text {
    margin-top: 0.125rem;
    padding-left: 0.875rem;
    margin-left: 0.5rem;
  }
}

.sub-content__item-description--text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.075em;
  font-weight: 500;
  display: list-item;
  list-style: disc;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--text p {
    display: block;
    position: relative;
    font-size: 0.9375rem;
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .sub-content__item-description--text.practice p::before {
    content: "";
    width: 0.25rem;
    height: 0.25rem;
    display: inline-block;
    border-radius: 50%;
    background-color: #2A2A2A;
    position: absolute;
    top: 0.6875rem;
    left: -0.875rem;
  }
}

.sub-content__item-description--text.master {
  padding-left: 30px;
  padding-left: 1.875rem;
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--text.master {
    padding-left: 1.3125rem;
  }
}

.sub-content__item-description--text.master p {
  display: list-item;
  list-style: disc;
}

.sub-content__item-description--title.fund {
  margin-left: 24px;
  margin-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--title.fund {
    margin-left: 0.5rem;
  }
}

.sub-content__item-description--text.fund {
  padding-left: 0;
  margin-left: 24px;
  margin-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--text.fund {
    margin-left: 0.5rem;
  }
}

.sub-content__item-description--text.fund p:nth-of-type(1) {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.08em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--text.fund p:nth-of-type(1) {
    font-size: 0.9375rem;
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}

.sub-content__item-description--text.fund p:nth-of-type(2) {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-content__item-description--text.fund p:nth-of-type(2) {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

/* sub-held */
.sub-held {
  margin-top: 72px;
  margin-top: 4.5rem;
  margin-bottom: 32px;
  margin-bottom: 2rem;
  background-color: #FFFAF7;
  padding: 32px 0 40px;
  padding: 2rem 0 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-held {
    margin-top: 2.25rem;
    margin-bottom: 2rem;
    padding: 1rem 0 1.25rem;
  }
}

.sub-held__title {
  color: #2A2A2A;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.36;
  letter-spacing: 0.0125em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-held__title {
    font-size: 1.25rem;
    line-height: 1.52;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-held__text {
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-held__text {
    margin-top: 0.25rem;
  }
}

.sub-held__text p {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #2A2A2A;
  display: inline-block;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .sub-held__text p {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.sub-held__btn {
  margin-top: 32px;
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .sub-held__btn {
    margin-top: 1rem;
  }
}

.sub-held__btn a {
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 80px;
  padding-left: 5rem;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  width: 480px;
  width: 30rem;
  height: 192px;
  height: 12rem;
  -webkit-box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, .12);
          box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, .12);
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .sub-held__btn a {
    border-radius: 0.25rem;
    padding-left: 1.65625rem;
    -webkit-column-gap: 0.9625rem;
       -moz-column-gap: 0.9625rem;
            column-gap: 0.9625rem;
    width: 15rem;
    height: 6rem;
    -webkit-box-shadow: 0 0.0625rem 0.25rem 0.0625rem rgba(0, 0, 0, .12);
            box-shadow: 0 0.0625rem 0.25rem 0.0625rem rgba(0, 0, 0, .12);
  }
}

.sub-held__btn.sub-held__btn-undecided a {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.sub-held__btn-text p {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-held__btn-text p {
    font-size: 0.875rem;
    line-height: 1.36;
    letter-spacing: 0.0142857143em;
    font-weight: 700;
  }
}

.sub-held__btn-text.gray {
  color: #A7A7A7;
}

.sub-held__btn-img {
  max-width: 215px;
  max-width: 13.4375rem;
  width: 100%;
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .sub-held__btn-img {
    max-width: 6rem;
    margin-top: 0.625rem;
  }
}

.sub-held__btn a:hover {
  background-color: #004533;
  color: #FFFFFF;
}

.sub-held__btn.sub-held__btn-undecided a:hover {
  background-color: #FFFFFF;
  color: #A7A7A7;
}

/* 受付中メッセージ */
.sub-top-message {
  padding-top: 10px;
  padding-top: 0.625rem;
  margin-bottom: -10px;
  margin-bottom: -0.625rem;
  position: relative;
  background-color: #FFFAF7;
}
@media screen and (max-width: 768px) {
  .sub-top-message {
    margin-bottom: -0.8125rem;
  }
}

.sub-top-message__text {
  background-color: #0A8F6C;
  color: #FFFFFF;
  text-align: center;
  padding: 9.5px 0;
  padding: 0.59375rem 0;
}
@media screen and (max-width: 768px) {
  .sub-top-message__text {
    padding: 0.3125rem 0;
  }
}

.sub-top-message__text p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-top-message__text p {
    font-size: 0.75rem;
    line-height: 1.52;
    letter-spacing: 0.0166666667em;
    font-weight: 700;
  }
}

/* error-page */
.error-page {
  padding: 108px 0 104px;
  padding: 6.75rem 0 6.5rem;
}
@media screen and (max-width: 768px) {
  .error-page {
    padding: 3.125rem 0 0;
  }
}

.error-page__title {
  text-align: center;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
  margin-top: -8px;
  margin-top: -0.5rem;
}
@media screen and (max-width: 768px) {
  .error-page__title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
    margin-top: -0.25rem;
  }
}

.error-page__text {
  text-align: center;
  margin-top: 35px;
  margin-top: 2.1875rem;
}

.error-page__text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .error-page__text p {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

.error-page__btn {
  margin-top: 56px;
  margin-top: 3.5rem;
  text-align: center;
}

.error-page__btn a {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  display: inline-block;
  border: 1px solid #004533;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .error-page__btn a {
    max-width: 7.5rem;
    border-radius: 2.5rem;
    padding: 0.34375rem 0;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

.footer {
  margin-top: 32px;
  margin-top: 2rem;
  background-color: #FFFAF7;
}
@media screen and (max-width: 768px) {
  .footer {
    margin-top: 4.375rem;
  }
}

.footer__inner {
  padding-top: 40px;
  padding-top: 2.5rem;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    padding-top: 1rem;
    padding-bottom: 1.5rem;
  }
}

.footer__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.footer__logo {
  max-width: 224px;
  max-width: 14rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    max-width: 12.5rem;
  }
}

.footer__company {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .footer__company {
    margin-top: 0.90875rem;
  }
}

.footer__tel {
  margin-top: 4px;
  margin-top: 0.25rem;
}

.footer__company p,
.footer__tel a {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 700;
  color: #6B6B6B;
}
@media screen and (max-width: 768px) {
  .footer__company p,
  .footer__tel a {
    font-size: 0.6875rem;
    line-height: 1.52;
    letter-spacing: 0.0181818182em;
    font-weight: 700;
  }
}

.footer__x {
  margin-top: 32px;
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .footer__x {
    margin-top: 1rem;
  }
}

.footer__x a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.375rem;
     -moz-column-gap: 0.375rem;
          column-gap: 0.375rem;
}

.footer__x-img {
  max-width: 24px;
  max-width: 1.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__x-img {
    max-width: 1.25rem;
  }
}

.footer__x-text p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 700;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .footer__x-text p {
    font-size: 0.8125rem;
    line-height: 1.52;
    letter-spacing: 0.0230769231em;
    font-weight: 700;
  }
}

.footer__x a:hover .footer__x-text p {
  color: #0A8F6C;
}

@media screen and (max-width: 768px) {
  .footer__nav-area {
    margin-top: 2rem;
  }
}

.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.5rem;
  }
}

.footer__nav-items {
  width: 320px;
  width: 20rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-items {
    width: 100%;
  }
}

.footer__nav-items.right {
  width: 350px;
  width: 21.875rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-items.right {
    width: 100%;
  }
}

.footer__nav-items .footer__nav-item:nth-child(n+2) {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-items .footer__nav-item:nth-child(n+2) {
    margin-top: 1.5rem;
  }
}

.footer__nav-items:nth-of-type(2) .footer__nav-item:nth-child(n+2) {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-items:nth-of-type(2) .footer__nav-item:nth-child(n+2) {
    margin-top: 1.5rem;
  }
}

.footer__nav-title {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 700;
  color: #6B6B6B;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
}
@media screen and (max-width: 768px) {
  .footer__nav-title {
    font-size: 0.6875rem;
    line-height: 1.52;
    letter-spacing: 0.0181818182em;
    font-weight: 700;
  }
}

.footer__nav-text--wrapper a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.25rem;
     -moz-column-gap: 0.25rem;
          column-gap: 0.25rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.footer__nav-text--wrapper:nth-of-type(2) {
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-text--wrapper:nth-of-type(2) {
    margin-top: 0.5rem;
  }
}

.footer__nav-text--wrapper:nth-child(n+3) {
  margin-top: 11px;
  margin-top: 0.6875rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-text--wrapper:nth-child(n+3) {
    margin-top: 0.75rem;
  }
}

.footer__nav-icon {
  max-width: 20px;
  max-width: 1.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__nav-icon {
    max-width: 1.125rem;
  }
}

.footer__nav-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
}
@media screen and (max-width: 768px) {
  .footer__nav-text p {
    font-size: 0.8125rem;
    line-height: 1.52;
    letter-spacing: 0.0153846154em;
    font-weight: 700;
  }
}

.footer__nav-text a {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  display: inline-block;
  width: 100%;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
}
@media screen and (max-width: 768px) {
  .footer__nav-text a {
    font-size: 0.8125rem;
    line-height: 1.52;
    letter-spacing: 0.0230769231em;
    font-weight: 700;
  }
}

.footer__nav-text--wrapper a:hover {
  color: #0A8F6C;
}

.footer__copyright {
  margin-top: 48px;
  margin-top: 3rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    margin-top: 2rem;
  }
}

.footer__copyright p small {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 700;
  color: #A7A7A7;
}
@media screen and (max-width: 768px) {
  .footer__copyright p small {
    font-size: 0.6875rem;
    line-height: 1.52;
    letter-spacing: 0.0181818182em;
    font-weight: 700;
  }
}

.layout-header {
  position: fixed;
  z-index: 900;
  top: 0;
  right: 0;
  left: 0;
}

.header {
  height: 120px;
  height: 7.5rem;
  background-color: #FFFAF7;
}
@media screen and (max-width: 768px) {
  .header {
    height: 2.5rem;
  }
}

.header-sub {
  height: 72px;
  height: 4.5rem;
}
@media screen and (max-width: 768px) {
  .header-sub {
    height: 2.5rem;
  }
}

.header__inner.inner {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .header__inner.inner {
    padding: 0 1rem;
    position: fixed;
    width: 100%;
    z-index: 900;
    top: 0;
    right: 0;
    left: 0;
  }
}

.header__logo {
  max-width: 263px;
  max-width: 16.4375rem;
  width: 100%;
  height: inherit;
}
@media screen and (max-width: 768px) {
  .header__logo {
    max-width: 9.125rem;
  }
}

.header__logo a {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.header__nav {
  height: inherit;
}
@media screen and (max-width: 768px) {
  .header__nav {
    display: none;
  }
}

.header__nav-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: inherit;
}

.header__nav-item a {
  padding: 8px 16px;
  padding: 0.5rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 0.38px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__nav-item.header__nav-item--limited a {
  background-color: #E4ECEA;
  border-radius: 0.375rem;
  padding: 8px;
  padding: 0.5rem;
  margin-left: 16px;
  margin-left: 1rem;
}

.header__nav-item:first-child a {
  padding-left: 0;
}

.header__nav-item a:hover {
  color: #0A8F6C;
}

.header__hamburger--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .header__hamburger--sp {
    display: block;
  }
}

.header__hamburger {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  position: relative;
  z-index: 999;
  height: inherit;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__hamburger span {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 20px;
  width: 1.25rem;
  height: 3px;
  background-color: #004533;
  border-radius: 0.25rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.header__hamburger span:nth-of-type(1) {
  top: -3px;
  top: -0.1875rem;
}

.header__hamburger span:nth-of-type(2) {
  top: 0;
}

.header__hamburger span:nth-of-type(3) {
  top: 3px;
  top: 0.1875rem;
}

.header__hamburger.is-open span:nth-of-type(1) {
  top: 0;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}

.header__hamburger.is-open span:nth-of-type(2) {
  -webkit-transform: translateX(200px);
          transform: translateX(200px);
}

.header__hamburger.is-open span:nth-of-type(3) {
  top: -6px;
  top: -0.375rem;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

.header__drawer {
  display: none;
}
@media screen and (max-width: 768px) {
  .header__drawer {
    display: block;
    position: absolute;
    z-index: 900;
    top: 0;
    right: -120%;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, .48);
    overflow-y: scroll;
    scrollbar-width: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer.is-open {
    opacity: 1;
    right: 0;
    visibility: visible;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-logo {
    max-width: 7.5rem;
    width: 100%;
    padding-top: 0.6875rem;
    padding-left: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-bg {
    background-color: #FFFFFF;
    max-width: 20.4375rem;
    width: 100%;
    margin-left: auto;
  }
}

.header__drawer::-webkit-scrollbar {
  display: none;
}

@media screen and (max-width: 768px) {
  .header__drawer-nav {
    background-color: #FFFFFF;
    padding-top: 1.5625rem;
    height: 42.5rem;
    position: relative;
    overflow-y: scroll;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-items {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-item:nth-child(n+2) {
    margin-top: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-item span {
    color: #6B6B6B;
    display: block;
    padding: 0.46875rem 0;
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-item a {
    background-color: #FFFAF7;
    border-radius: 0.5rem;
    padding: 0.90625rem 2.625rem 0.90625rem 0.75rem;
    display: block;
    font-size: 0.9375rem;
    line-height: 1.36;
    letter-spacing: 0.02em;
    font-weight: 700;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-item.header__drawer-item--limited a {
    background-color: #E4ECEA;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-item a:nth-child(n+3) {
    margin-top: 0.25rem;
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-item a::after {
    content: "";
    position: absolute;
    background-image: url(../images/common/arrow.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 1rem;
    height: 1rem;
    right: 0.8125rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-text {
    padding-bottom: 1.5rem;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media screen and (max-width: 768px) {
  .header__drawer-text p {
    color: #A7A7A7;
    font-size: 0.8125rem;
    line-height: 1.52;
    letter-spacing: 0.0307692308em;
    font-weight: 500;
  }
}

.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

/* 上に上がる動き */
.header.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}

@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
/* 下に下がる動き */
.header.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}

@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1170px;
  padding-right: 25px;
  padding-left: 25px;
}
@media screen and (max-width: 768px) {
  .inner {
    padding-right: 24px;
    padding-left: 24px;
    max-width: 600px;
  }
}

/* sub-about-top */
.sub-about-top {
  padding-top: 58px;
  padding-top: 3.625rem;
}
@media screen and (max-width: 768px) {
  .sub-about-top {
    padding-top: 1.875rem;
  }
}

.sub-about-top__logo {
  max-width: 320px;
  max-width: 20rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .sub-about-top__logo {
    max-width: 10rem;
  }
}

.sub-about-top__text {
  margin-top: 34.46px;
  margin-top: 2.15375rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-about-top__text {
    margin-top: 1.125rem;
  }
}

.sub-about-top__text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-about-top__text p {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

/* sub-about-greeting */
.sub-about-greeting {
  padding-top: 48px;
  padding-top: 3rem;
}
@media screen and (max-width: 768px) {
  .sub-about-greeting {
    padding-top: 1.5rem;
  }
}

.sub-about-greeting__container {
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  padding: 40px 80px 48px;
  padding: 2.5rem 5rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-about-greeting__container {
    padding: 1.5rem 1.5rem 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 1.5rem;
  }
}

.sub-about-greeting__container-body {
  max-width: 666px;
  max-width: 41.625rem;
  width: 100%;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-about-greeting__container-body {
    max-width: 31.25rem;
    margin-left: auto;
    margin-right: auto;
    display: contents;
  }
}

.sub-about-greeting__title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-about-greeting__title {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.sub-about-greeting__text {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-about-greeting__text {
    margin-top: 0;
  }
}

.sub-about-greeting__text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.075em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-about-greeting__text p {
    font-size: 0.9375rem;
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
}

.sub-about-greeting__name {
  margin-top: 24px;
  margin-top: 1.5rem;
  max-width: 185.95px;
  max-width: 11.621875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-about-greeting__name {
    margin-top: 0;
    max-width: 7.8125rem;
    margin-left: auto;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.sub-about-greeting__container-img {
  max-width: 270px;
  max-width: 16.875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-about-greeting__container-img {
    max-width: 15.625rem;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

/* sub-about-info */
.sub-about-info {
  padding-top: 88px;
  padding-top: 5.5rem;
}
@media screen and (max-width: 768px) {
  .sub-about-info {
    padding-top: 2.75rem;
  }
}

.sub-about-info__title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
  text-align: center;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-about-info__title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-about-info__container {
  margin-top: 24px;
  margin-top: 1.5rem;
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  width: 100%;
  padding: 40px 80px 48px;
  padding: 2.5rem 5rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-about-info__container {
    margin-top: 0.75rem;
    padding: 2.5rem 1.5rem 3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 2rem;
  }
}

.sub-about-info__container-body {
  max-width: 468px;
  max-width: 29.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-about-info__container-body {
    max-width: 31.25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.sub-about-info__container-list:nth-child(n+2) {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-about-info__container-list:nth-child(n+2) {
    margin-top: 1rem;
  }
}

.sub-about-info__container-term {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  color: #6B6B6B;
}
@media screen and (max-width: 768px) {
  .sub-about-info__container-term {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.sub-about-info__container-body:nth-child(1) .sub-about-info__container-description {
  margin-top: 4px;
  margin-top: 0.25rem;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-about-info__container-body:nth-child(1) .sub-about-info__container-description {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-about-info__container-body:nth-child(2) .sub-about-info__container-description {
  margin-top: 4px;
  margin-top: 0.25rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  color: #6B6B6B;
}
@media screen and (max-width: 768px) {
  .sub-about-info__container-body:nth-child(2) .sub-about-info__container-description {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

/* sub-about-access */
.sub-about-access {
  padding-top: 88px;
  padding-top: 5.5rem;
  margin-bottom: 134.34px;
  margin-bottom: 8.39625rem;
}
@media screen and (max-width: 768px) {
  .sub-about-access {
    padding-top: 2.75rem;
    margin-bottom: 4.198125rem;
  }
}

.sub-about-access__title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
  text-align: center;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-about-access__title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-about-access__container {
  margin-top: 24px;
  margin-top: 1.5rem;
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  width: 100%;
  padding: 20px 80px;
  padding: 1.25rem 5rem;
}
@media screen and (max-width: 768px) {
  .sub-about-access__container {
    margin-top: 0.75rem;
    padding: 1.25rem 1.5rem;
  }
}

.sub-about-access__text {
  color: #2A2A2A;
  text-align: center;
}

.sub-about-access__text p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-about-access__text p {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.sub-about-access__map {
  margin-top: 16px;
  margin-top: 1rem;
  max-width: 960px;
  max-width: 60rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .sub-about-access__map {
    margin-top: 0.5rem;
    max-width: 30rem;
  }
}

.sub-about-access__map iframe {
  width: 100%;
  aspect-ratio: 960/551.66;
}
@media screen and (max-width: 768px) {
  .sub-about-access__map iframe {
    aspect-ratio: 480/300;
  }
}

/* fv */
.aptitude__sub-fv .sub-fv__area {
  padding-bottom: 25px;
  padding-bottom: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .aptitude__sub-fv .sub-fv__area {
    padding-bottom: 0;
  }
}

.aptitude__sub-fv .sub-fv__container {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .aptitude__sub-fv .sub-fv__container {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.aptitude__sub-fv .sub-fv__wrapper {
  margin-top: 32px;
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .aptitude__sub-fv .sub-fv__wrapper {
    margin-top: 0;
  }
}

.aptitude__sub-fv .sub-fv__title {
  width: 548px;
  width: 34.25rem;
}
@media screen and (max-width: 768px) {
  .aptitude__sub-fv .sub-fv__title {
    width: 100%;
  }
}

/* sub-aptitude */
.sub-aptitude {
  margin-top: 45px;
  margin-top: 2.8125rem;
  margin-bottom: 94px;
  margin-bottom: 5.875rem;
}
@media screen and (max-width: 768px) {
  .sub-aptitude {
    margin-top: 3rem;
    margin-bottom: 2.9375rem;
  }
}

.sub-aptitude__item {
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  padding: 56px 64px 80px;
  padding: 3.5rem 4rem 5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__item {
    text-align: left;
    padding: 2rem 1.5rem 3rem;
  }
}

.sub-aptitude__item:nth-child(n+2) {
  margin-top: 63px;
  margin-top: 3.9375rem;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__item:nth-child(n+2) {
    margin-top: 1.9375rem;
  }
}

.sub-aptitude__item-title {
  color: #2A2A2A;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__item-title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-aptitude__item-text {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.sub-aptitude__item-text p {
  color: #2A2A2A;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.075em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__item-text p {
    font-size: 0.9375rem;
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
}

.sub-aptitude__item-text--sub {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.sub-aptitude__item-text--sub p {
  color: #767676;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__item-text--sub p {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.sub-aptitude__item-title--sub {
  margin-top: 64px;
  margin-top: 4rem;
  color: #2A2A2A;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__item-title--sub {
    margin-top: 2rem;
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-aptitude__container {
  margin-top: 6px;
  margin-top: 0.375rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__container {
    margin-top: 1rem;
  }
}

.sub-aptitude__swiper-img {
  padding-top: 10px;
  padding-top: 0.625rem;
  padding-left: 8px;
  padding-left: 0.5rem;
  padding-right: 8px;
  padding-right: 0.5rem;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__swiper-img {
    padding: 0.5rem 0.25rem;
  }
}

.sub-aptitude__swiper-img img {
  width: 100%;
  aspect-ratio: 320/200;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
  -webkit-box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, .12);
          box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, .12);
  border: 2px solid transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__swiper-img img {
    aspect-ratio: 279/176;
    -webkit-box-shadow: 0 0.0625rem 0.25rem 0.0625rem rgba(0, 0, 0, .12);
            box-shadow: 0 0.0625rem 0.25rem 0.0625rem rgba(0, 0, 0, .12);
    border: none;
  }
}

.sub-aptitude__swiper-img img:hover {
  border-color: #0A8F6C;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.sub-aptitude__caption {
  text-align: center;
  color: #0A8F6C;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-aptitude__caption {
    text-align: left;
    margin-top: 0;
  }
}

.swiper-button__wrapper .swiper-button-prev.swiper-aptitude01-prev,
.swiper-button__wrapper .swiper-button-prev.swiper-aptitude02-prev {
  background-image: url(../images/common/polygon-left02.svg);
  left: -52px;
  left: -3.25rem;
}
@media screen and (max-width: 768px) {
  .swiper-button__wrapper .swiper-button-prev.swiper-aptitude01-prev,
  .swiper-button__wrapper .swiper-button-prev.swiper-aptitude02-prev {
    left: -0.9375rem;
  }
}

.swiper-button__wrapper .swiper-button-next.swiper-aptitude01-next,
.swiper-button__wrapper .swiper-button-next.swiper-aptitude02-next {
  background-image: url(../images/common/polygon-right02.svg);
  right: -52px;
  right: -3.25rem;
}
@media screen and (max-width: 768px) {
  .swiper-button__wrapper .swiper-button-next.swiper-aptitude01-next,
  .swiper-button__wrapper .swiper-button-next.swiper-aptitude02-next {
    right: -0.9375rem;
  }
}

.swiper-button__wrapper .swiper-button-prev.swiper-aptitude01-prev,
.swiper-button__wrapper .swiper-button-next.swiper-aptitude01-next,
.swiper-button__wrapper .swiper-button-prev.swiper-aptitude02-prev,
.swiper-button__wrapper .swiper-button-next.swiper-aptitude02-next {
  width: 52px;
  width: 3.25rem;
  height: 52px;
  height: 3.25rem;
  position: absolute;
  top: 50%;
}
@media screen and (max-width: 768px) {
  .swiper-button__wrapper .swiper-button-prev.swiper-aptitude01-prev,
  .swiper-button__wrapper .swiper-button-next.swiper-aptitude01-next,
  .swiper-button__wrapper .swiper-button-prev.swiper-aptitude02-prev,
  .swiper-button__wrapper .swiper-button-next.swiper-aptitude02-next {
    top: 55%;
  }
}

.sub-aptitude__modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: scroll;
  z-index: 999;
  padding: 90px 0;
  padding: 5.625rem 0;
  background-color: rgba(0, 0, 0, .72);
}
@media screen and (max-width: 768px) {
  .sub-aptitude__modal {
    padding: 2.5rem 0;
  }
}

.sub-aptitude__modal-inner {
  background-color: #FFFFFF;
  margin: auto;
  max-width: 753px;
  max-width: 47.0625rem;
  width: 100%;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-aptitude__modal-inner {
    max-width: 20.4375rem;
  }
}

.sub-aptitude__modal-close {
  position: absolute;
  top: -32px;
  top: -2rem;
  right: 16px;
  right: 1rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.sub-aptitude__modal-close span {
  background-image: url(../images/common/union.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  display: inline-block;
}

.sub-aptitude__modal-img {
  width: 100%;
}

/* sub-contact */
.sub-contact {
  padding-top: 42px;
  padding-top: 2.625rem;
  padding-bottom: 48px;
  padding-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .sub-contact {
    padding-top: 1.3125rem;
    padding-bottom: 1.5rem;
  }
}

.sub-contact__info {
  padding-bottom: 48px;
  padding-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__info {
    padding-bottom: 1.5rem;
  }
}

.sub-contact .sub-fv__title {
  text-align: center;
}

.sub-contact__text {
  text-align: center;
  margin-top: 20px;
  margin-top: 1.25rem;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-contact__text {
    margin-top: 0.625rem;
  }
}

.sub-contact__text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.075em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-contact__text p {
    font-size: 0.8125rem;
    line-height: 1.56;
    letter-spacing: 0.0576923077em;
    font-weight: 500;
  }
}

.sub-contact__text-sub {
  text-align: center;
  color: #6B6B6B;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}

.sub-contact__text-sub p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-contact__text-sub p {
    font-size: 0.6875rem;
    line-height: 1.44;
    letter-spacing: 0.0172727273em;
    font-weight: 500;
  }
}

.sub-contact__form-body {
  margin-top: 48px;
  margin-top: 3rem;
  max-width: 548px;
  max-width: 34.25rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-body {
    margin-top: 1.5rem;
    max-width: 31.25rem;
  }
}

.sub-contact__form-container:nth-child(n+3) {
  margin-top: 56px;
  margin-top: 3.5rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-container:nth-child(n+3) {
    margin-top: 1.75rem;
  }
}

.sub-contact__form-title {
  color: #2A2A2A;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-title {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.sub-contact__form-wrap.sub-contact__form-wrap--radio,
.sub-contact__form-wrap.sub-contact__form-wrap--company {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.sub-contact__form-wrap.sub-contact__form-wrap--kana,
.sub-contact__form-wrap.sub-contact__form-wrap--address {
  margin-top: 16px;
  margin-top: 1rem;
}

.sub-contact__form-wrap {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.sub-contact__form-label {
  color: #6B6B6B;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}

.sub-contact__form-label span {
  color: #EF4C4C;
  margin-left: 18px;
  margin-left: 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-label span {
    margin-left: 0.5625rem;
  }
}

.sub-contact__form-radio {
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-radio {
    margin-top: 0.375rem;
  }
}

.sub-contact__form-radio label {
  display: block;
}

.sub-contact__form-radio label:nth-child(n+2),
.wpcf7-list-item:nth-child(n+2) {
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-radio label:nth-child(n+2),
  .wpcf7-list-item:nth-child(n+2) {
    margin-top: 0.375rem;
  }
}

.sub-contact__form-radio input {
  display: none;
}

.sub-contact__form-radio input + span {
  cursor: pointer;
  display: inline-block;
  padding: 5px 0 5px 46px;
  padding: 0.3125rem 0 0.3125rem 2.875rem;
  position: relative;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-radio input + span {
    padding: 0.15625rem 0 0.15625rem 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-contact__form-radio input + span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #FFFAF7;
  border: 2px solid #A7A7A7;
  display: block;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  border-radius: 50%;
  margin-left: 8px;
  margin-left: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-radio input + span::before {
    border: 1px solid #A7A7A7;
    width: 1rem;
    height: 1rem;
    margin-left: 0.25rem;
  }
}

.sub-contact__form-radio input + span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 14px;
  left: 0.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  background: #0A8F6C;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-radio input + span::after {
    left: 0.4375rem;
    width: 0.625rem;
    height: 0.625rem;
  }
}

.sub-contact__form-radio input:checked + span::before {
  border: 2px solid #0A8F6C;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-radio input:checked + span::before {
    border: 1px solid #0A8F6C;
  }
}

.sub-contact__form-radio input:checked + span::after {
  opacity: 1;
}

.sub-contact__form-input input::-webkit-input-placeholder,
.sub-contact__form-textarea textarea::-webkit-input-placeholder {
  color: #A7A7A7;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  width: 100%;
}

.sub-contact__form-input input::-moz-placeholder,
.sub-contact__form-textarea textarea::-moz-placeholder {
  color: #A7A7A7;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  width: 100%;
}

.sub-contact__form-input input::-ms-input-placeholder,
.sub-contact__form-textarea textarea::-ms-input-placeholder {
  color: #A7A7A7;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  width: 100%;
}

.sub-contact__form-input input::placeholder,
.sub-contact__form-textarea textarea::placeholder {
  color: #A7A7A7;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-input input::-webkit-input-placeholder,
  .sub-contact__form-textarea textarea::-webkit-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
  .sub-contact__form-input input::-moz-placeholder,
  .sub-contact__form-textarea textarea::-moz-placeholder {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
  .sub-contact__form-input input::-ms-input-placeholder,
  .sub-contact__form-textarea textarea::-ms-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
  .sub-contact__form-input input::placeholder,
  .sub-contact__form-textarea textarea::placeholder {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-contact__form-textarea {
  margin-top: 8px;
  margin-top: 0.5rem;
  width: 100%;
  background-color: #FFFAF7;
  color: #004533;
  padding: 13px 16px;
  padding: 0.8125rem 1rem;
  border-radius: 0.25rem;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-textarea {
    margin-top: 0.25rem;
    padding: 0.40625rem 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-contact__form-textarea textarea {
  width: 100%;
  height: 296px;
  height: 18.5rem;
  overflow-y: scroll;
  resize: none;
  color: #004533;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-textarea textarea {
    height: 8.25rem;
  }
}

.sub-contact__form-input {
  margin-top: 8px;
  margin-top: 0.5rem;
  width: 100%;
  height: 56px;
  height: 3.5rem;
  background-color: #FFFAF7;
  color: #004533;
  padding: 13px 16px;
  padding: 0.8125rem 1rem;
  border-radius: 0.25rem;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-input {
    height: 3.0625rem;
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-contact__form-input input {
  width: 100%;
  color: #004533;
}

.sub-contact__form-submit {
  margin: 40px auto 0;
  margin: 2.5rem auto 0;
  max-width: 320px;
  max-width: 20rem;
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-submit {
    margin: 2.9375rem auto 0;
    max-width: 18.4375rem;
  }
}

/* 確認 */
.sub-contact__form-submit input {
  padding: 14.5px 0;
  padding: 0.90625rem 0;
  width: 100%;
  display: inline-block;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.36;
  letter-spacing: 0.0230769231em;
  font-weight: 700;
  color: #fff;
  background-color: #004533;
  border-radius: 5rem;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-submit input {
    padding: 0.875rem 0;
    font-size: 0.9375rem;
    line-height: 1.36;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}

.wpcf7-submit:disabled {
  background-color: #D6D6D6;
}

/* sub-contact-training */
.sub-contact-training {
  padding-top: 42px;
  padding-top: 2.625rem;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sub-contact-training {
    padding-top: 1.3125rem;
    padding-bottom: 1.25rem;
  }
}

.sub-contact-training__info {
  padding-bottom: 17px;
  padding-bottom: 1.0625rem;
}

.sub-contact-training .sub-fv__title {
  text-align: center;
}

.sub-contact-training__text {
  text-align: center;
  margin-top: 21px;
  margin-top: 1.3125rem;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-contact-training__text {
    margin-top: 0.625rem;
  }
}

.sub-contact-training__text p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 400;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .sub-contact-training__text p {
    font-size: 0.8125rem;
    line-height: 1.52;
    letter-spacing: 0.0153846154em;
    font-weight: 400;
  }
}

.sub-contact-training__form-body {
  margin-top: 26px;
  margin-top: 1.625rem;
  max-width: 548px;
  max-width: 34.25rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .sub-contact-training__form-body {
    max-width: 31.25rem;
  }
}

.sub-contact__form-price {
  margin-top: 8px;
  margin-top: 0.5rem;
  border: 1px solid #D6D6D6;
  color: #6B6B6B;
  padding: 16px;
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-price {
    margin-top: 0.25rem;
    padding: 0.5rem;
  }
}

.sub-contact__form-price p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-price p {
    font-size: 0.75rem;
    line-height: 1.48;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
}

.sub-contact__form-price p span {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-price p span {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.sub-contact__form-radio--text {
  margin-top: 12px;
  margin-top: 0.75rem;
  color: #6B6B6B;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-radio--text {
    margin-top: 0.375rem;
  }
}

.sub-contact__form-radio--text p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-radio--text p {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.sub-contact__form-bottom {
  text-align: center;
  margin-top: 56px;
  margin-top: 3.5rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-bottom {
    margin-top: 1.625rem;
  }
}

.sub-contact__form-bottom p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-bottom p {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 700;
  }
}

span.wpcf7-spinner {
  display: none;
}

.wpcf7-list-item {
  display: block;
  margin: 0;
}

.wpcf7-not-valid-tip {
  color: #EF4C4C;
  font-size: 12px;
  font-size: 0.75rem;
  position: absolute;
  bottom: -30px;
  bottom: -1.875rem;
  left: -16px;
  left: -1rem;
}

.sub-contact__form-textarea .wpcf7-not-valid-tip {
  bottom: 10px;
  bottom: 0.625rem;
}

.sub-contact__form-wrap {
  position: relative;
}
.sub-contact__form-wrap .wpcf7-not-valid-tip {
  display: none;
}
.sub-contact__form-wrap .error-message {
  color: #EF4C4C;
  position: absolute;
  bottom: -25px;
  bottom: -1.5625rem;
  left: 0;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.52;
  letter-spacing: 0.0285714286em;
  font-weight: 700;
  display: none;
}
@media screen and (max-width: 768px) {
  .sub-contact__form-wrap .error-message {
    font-size: 0.75rem;
    line-height: 1.52;
    letter-spacing: 0.0166666667em;
    font-weight: 700;
    bottom: -1.25rem;
  }
}

.sub-contact__form-wrap.margin-adjust {
  margin-bottom: 30px;
  margin-bottom: 1.875rem; /* エラーメッセージ表示時の余白 */
}

.sub-contact__form-input.error-border,
.sub-contact__form-textarea.error-border {
  border-radius: 0.25rem;
  border: 1px solid #EF4C4C;
}

.wpcf7-form.sent .wpcf7-response-output {
  display: none;
}

.error-message-submit {
  color: #EF4C4C;
  text-align: center;
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .error-message-submit {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

/* Webkitベースのブラウザ (Chrome, Safariなど) */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px #FFFAF7 inset !important;
  -webkit-text-fill-color: #004533 !important;
}

/* Firefox */
input:-moz-autofill {
  box-shadow: 0 0 0 30px #FFFAF7 inset !important;
  text-fill-color: #004533 !important;
}

/* Microsoft Edge */
input:-ms-autofill {
  box-shadow: 0 0 0 30px #FFFAF7 inset !important;
  text-fill-color: #004533 !important;
}

.price-section-hidden {
  display: none;
}

.fund__sub-fv .sub-fv__area {
  padding-top: 28px;
  padding-top: 1.75rem;
  padding-bottom: 28px;
  padding-bottom: 1.75rem;
}
@media screen and (max-width: 768px) {
  .fund__sub-fv .sub-fv__area {
    padding-top: 0;
    padding-bottom: 0.875rem;
  }
}

.fund__sub-fv .sub-fv__wrapper {
  width: 555px;
  width: 34.6875rem;
}
@media screen and (max-width: 768px) {
  .fund__sub-fv .sub-fv__wrapper {
    width: 100%;
  }
}

.login {
  padding: 32px 0 96px;
  padding: 2rem 0 6rem;
}
@media screen and (max-width: 768px) {
  .login {
    padding: 2rem 0 6.5625rem;
  }
}

.login__title {
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.52;
  letter-spacing: 0.0117647059em;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .login__title {
    font-size: 1.25rem;
    line-height: 1.52;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.login__body {
  margin-top: 48px;
  margin-top: 3rem;
  max-width: 548px;
  max-width: 34.25rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .login__body {
    margin-top: 2.5rem;
    max-width: 37.5rem;
  }
}

.login #wpmem_login {
  max-width: 548px;
  max-width: 34.25rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-family: "noto-sans-cjk-jp", sans-serif;
}

.login #wpmem_login fieldset, #wpmem_reg fieldset {
  margin: 0;
}

.login #wpmem_login legend, #wpmem_reg legend {
  display: none;
}

.login #wpmem_login label, #wpmem_reg label {
  color: #6B6B6B;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .login #wpmem_login label, #wpmem_reg label {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.login #wpmem_login label[for=rememberme] {
  display: none;
}

.login__form-label label span {
  color: #EF4C4C;
}

.login #wpmem_login fieldset .div_text {
  margin-top: 8px;
  margin-top: 0.5rem;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

.login #wpmem_login .div_text input[type=text],
.login #wpmem_login .div_text input[type=password] {
  background-color: #FFFAF7;
  color: #004533;
  width: 100%;
  padding: 13px 16px;
  padding: 0.8125rem 1rem;
  border-radius: 0.25rem;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  border: none;
}
@media screen and (max-width: 768px) {
  .login #wpmem_login .div_text input[type=text],
  .login #wpmem_login .div_text input[type=password] {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.login__form-input input::-webkit-input-placeholder {
  color: #A7A7A7;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.login__form-input input::-moz-placeholder {
  color: #A7A7A7;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.login__form-input input::-ms-input-placeholder {
  color: #A7A7A7;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.login__form-input input::placeholder {
  color: #A7A7A7;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .login__form-input input::-webkit-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
  .login__form-input input::-moz-placeholder {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
  .login__form-input input::-ms-input-placeholder {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
  .login__form-input input::placeholder {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.login #wpmem_login .button_div, #wpmem_reg .button_div {
  text-align: center;
  padding: 0;
}

.login #wpmem_login .button_div input[type=submit] {
  background-color: #004533;
  color: #FFFFFF;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  width: 240px;
  width: 15rem;
}
@media screen and (max-width: 768px) {
  .login #wpmem_login .button_div input[type=submit] {
    width: 15.4375rem;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
    padding: 0.59375rem 0;
  }
}

.login__form-cancel {
  margin-top: 18px;
  margin-top: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .login__form-cancel {
    margin-top: 1.25rem;
  }
}

.login__form-cancel a {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .login__form-cancel a {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

.login__form-link {
  margin-top: 32px;
  margin-top: 2rem;
  text-align: center;
}

.login__form-link p {
  color: #6B6B6B;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .login__form-link p {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.login__form-link p a {
  text-decoration: underline;
  color: #004533;
}

.login .login__body .wpmem_msg {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 32px;
  margin-bottom: 2rem;
  padding-left: 30px;
  padding-left: 1.875rem;
  text-align: left;
  background: none;
  border: none;
}
@media screen and (max-width: 768px) {
  .login .login__body .wpmem_msg {
    padding-left: 1.5rem;
  }
}

.login #wpmem_msg, .wpmem_msg p {
  color: #EF4C4C;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .login #wpmem_msg, .wpmem_msg p {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.login #wpmem_msg, .wpmem_msg p::before {
  content: "";
  width: 4px;
  width: 0.25rem;
  height: 4px;
  height: 0.25rem;
  display: inline-block;
  border-radius: 50%;
  background-color: #EF4C4C;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -14px;
  left: -0.875rem;
}

.login .login__body .login_status {
  text-align: center;
}

.login .login__body .login_status a {
  background-color: #004533;
  color: #FFFFFF;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  width: 240px;
  width: 15rem;
  display: inline-block;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .login .login__body .login_status a {
    width: 15.4375rem;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
    padding: 0.59375rem 0;
  }
}

.master__sub-fv .sub-fv__area {
  padding-top: 27px;
  padding-top: 1.6875rem;
  padding-bottom: 27px;
  padding-bottom: 1.6875rem;
}
@media screen and (max-width: 768px) {
  .master__sub-fv .sub-fv__area {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
  }
}

.master__sub-fv .sub-fv__wrapper {
  width: 585px;
  width: 36.5625rem;
}
@media screen and (max-width: 768px) {
  .master__sub-fv .sub-fv__wrapper {
    width: 100%;
  }
}

.movie__sub-fv .sub-fv__wrapper {
  width: 555px;
  width: 34.6875rem;
}
@media screen and (max-width: 768px) {
  .movie__sub-fv .sub-fv__wrapper {
    width: 100%;
  }
}

.sub-movie {
  margin-top: 72px;
  margin-top: 4.5rem;
  margin-bottom: 80px;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .sub-movie {
    margin-top: 3rem;
    margin-bottom: -2.375rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-movie__inner.inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.sub-movie__item {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-movie__item {
    margin-top: 2.25rem;
  }
}

.sub-movie__item.post-2 {
  margin-top: 56px;
  margin-top: 3.5rem;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-2 {
    margin-top: 2.25rem;
  }
}

.sub-movie__item.post-1 {
  max-width: 800px;
  max-width: 50rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-1 {
    max-width: 23.4375rem;
  }
}

.sub-movie__item.post-1 .sub-movie__item-movie {
  max-width: 800px;
  max-width: 50rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-1 .sub-movie__item-movie {
    max-width: 23.4375rem;
  }
}

.sub-movie__item.post-1 .sub-movie__item-movie--container {
  margin-top: 16px;
  margin-top: 1rem;
  max-width: 776px;
  max-width: 48.5rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-1 .sub-movie__item-movie--container {
    margin-top: 0.625rem;
    max-width: 23.4375rem;
  }
}

.sub-movie__item.post-1 .sub-movie__item-container {
  margin-left: auto;
  margin-right: auto;
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-1 .sub-movie__item-container {
    margin-top: 0.625rem;
  }
}

.sub-movie__item.post-1 .sub-movie__item-title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-1 .sub-movie__item-title {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.sub-movie__item.post-1 .sub-movie__item-text {
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-1 .sub-movie__item-text {
    margin-top: 0.375rem;
  }
}

.sub-movie__item.post-1 .sub-movie__item-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-1 .sub-movie__item-text p {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.sub-movie__item.post-1 .sub-movie__item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.25rem;
     -moz-column-gap: 0.25rem;
          column-gap: 0.25rem;
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-movie__item.post-1 .sub-movie__item-link {
    margin-top: 0.75rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.sub-movie__link-icon {
  max-width: 20px;
  max-width: 1.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-movie__link-icon {
    max-width: 1rem;
  }
}

.sub-movie__top-link a {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .sub-movie__top-link a {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.sub-movie__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}
@media screen and (max-width: 768px) {
  .sub-movie__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
  }
}

.sub-movie__item-movie {
  max-width: 320px;
  max-width: 20rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-movie__item-movie {
    max-width: 23.4375rem;
  }
}

.sub-movie__item-container {
  max-width: 752px;
  max-width: 47rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-movie__item-container {
    margin-top: 0.625rem;
    max-width: 20.4375rem;
  }
}

.sub-movie__item-title {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #2A2A2A;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 768px) {
  .sub-movie__item-title {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.sub-movie__item-text {
  margin-top: 12px;
  margin-top: 0.75rem;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-movie__item-text {
    margin-top: 0.375rem;
  }
}

.sub-movie__item-text p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-movie__item-text p {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.sub-movie__item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.25rem;
     -moz-column-gap: 0.25rem;
          column-gap: 0.25rem;
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-movie__item-link {
    margin-top: 0.75rem;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}

.sub-movie__top-movie--container,
.sub-movie__item-movie--container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
}

.sub-movie__top-movie--container iframe,
.sub-movie__item-movie--container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pagination-container {
  background-color: #E4ECEA;
  padding: 30.5px 0;
  padding: 1.90625rem 0;
  margin-top: 48px;
  margin-top: 3rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pagination-container {
    margin-top: 2.25rem;
    padding: 1.4375rem 0;
  }
}

.pagination-container__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.pagination-number,
.pagination-number-deco {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .pagination-number,
  .pagination-number-deco {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.pagination-next,
.pagination-prev {
  max-width: 24px;
  max-width: 1.5rem;
  width: 100%;
}

.pagination-next {
  margin-left: 16px;
  margin-left: 1rem;
}

.pagination-prev {
  margin-right: 16px;
  margin-right: 1rem;
}

/* sub-news */
.sub-news {
  padding-top: 48px;
  padding-top: 3rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .sub-news {
    padding-top: 1.5rem;
    padding-bottom: 2.5rem;
  }
}

.sub-news .sub-fv__title {
  text-align: center;
}

.sub-news__items {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sub-news__items {
    margin-top: 1.25rem;
  }
}

.sub-news__item:nth-child(n+2) {
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-news__item:nth-child(n+2) {
    margin-top: 0.375rem;
  }
}

.sub-news__item {
  position: relative;
}

.sub-news__item::after {
  content: "";
  position: absolute;
  background-image: url(../images/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  right: 24px;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .sub-news__item::after {
    width: 1rem;
    height: 1rem;
    right: 0.5rem;
  }
}

.sub-news__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  padding: 13px 72px 13px 24px;
  padding: 0.8125rem 4.5rem 0.8125rem 1.5rem;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-news__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 0.25rem;
    border-radius: 0.25rem;
    padding: 0.5rem 1.75rem 0.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0142857143em;
    font-weight: 700;
  }
}

.sub-news__item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  max-width: 200px;
  max-width: 12.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-news__item-wrapper {
    max-width: none;
    max-width: initial;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.sub-news__item-date {
  max-width: 104px;
  max-width: 6.5rem;
  width: 100%;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-news__item-date {
    max-width: none;
    max-width: initial;
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

.sub-news__item-category {
  max-width: 80px;
  max-width: 5rem;
  width: 100%;
  border-radius: 0.25rem;
  padding: 4.5px 0;
  padding: 0.28125rem 0;
  text-align: center;
  background-color: #e1eeeb;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-news__item-category {
    max-width: 3rem;
    border-radius: 0.125rem;
    padding: 0.1875rem 0;
    font-size: 0.625rem;
    line-height: 1.44;
    letter-spacing: 0.019em;
    font-weight: 500;
  }
}

.sub-news__item-category.category-news {
  background-color: #e1eeeb;
}

.sub-news__item-title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.sub-news__item {
  opacity: 1;
}

.sub-news__item.is-hidden {
  opacity: 0;
  height: 0;
  margin: 0;
}

.sub-news__no-text,
.sub-column__no-text {
  text-align: center;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.sub-news__no-text p,
.sub-column__no-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-news__no-text p,
  .sub-column__no-text p {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0142857143em;
    font-weight: 700;
  }
}

.sub-news__more-btn {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-news__more-btn {
    margin-top: 1.25rem;
  }
}

.sub-news__more-btn.is-btn-hidden {
  display: none;
}

.sub-news__more-btn button {
  cursor: pointer;
  color: #004533;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
  padding-right: 36px;
  padding-right: 2.25rem;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .sub-news__more-btn button {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
    padding-right: 1.125rem;
  }
}

.sub-news__more-btn button::after {
  content: "";
  position: absolute;
  background-image: url(../images/common/arrow-gray.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  display: inline-block;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-news__more-btn button::after {
    width: 1rem;
    height: 1rem;
  }
}

/* sub-column */
.sub-column {
  padding-bottom: 88px;
  padding-bottom: 5.5rem;
}
@media screen and (max-width: 768px) {
  .sub-column {
    padding-bottom: 2.75rem;
  }
}

.sub-column .sub-fv__title {
  text-align: center;
}

.sub-column__items {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sub-column__items {
    margin-top: 1.25rem;
  }
}

.sub-column__item:nth-child(n+2) {
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-column__item:nth-child(n+2) {
    margin-top: 0.375rem;
  }
}

.sub-column__item {
  position: relative;
}

.sub-column__item::after {
  content: "";
  position: absolute;
  background-image: url(../images/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  right: 24px;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .sub-column__item::after {
    width: 1rem;
    height: 1rem;
    right: 0.5rem;
  }
}

.sub-column__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  padding: 13px 72px 13px 24px;
  padding: 0.8125rem 4.5rem 0.8125rem 1.5rem;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-column__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 0.25rem;
    border-radius: 0.25rem;
    padding: 0.5rem 1.75rem 0.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0142857143em;
    font-weight: 700;
  }
}

.sub-column__item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  max-width: 200px;
  max-width: 12.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-column__item-wrapper {
    max-width: none;
    max-width: initial;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.sub-column__items .sub-column__item-wrapper {
  max-width: 334px;
  max-width: 20.875rem;
}
@media screen and (max-width: 768px) {
  .sub-column__items .sub-column__item-wrapper {
    max-width: none;
    max-width: initial;
  }
}

.sub-column__item-date {
  max-width: 104px;
  max-width: 6.5rem;
  width: 100%;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-column__item-date {
    max-width: none;
    max-width: initial;
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

.sub-column__item-category {
  max-width: 80px;
  max-width: 5rem;
  width: 100%;
  border-radius: 0.25rem;
  padding: 4.5px 0;
  padding: 0.28125rem 0;
  text-align: center;
  background-color: #e1eeeb;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-column__item-category {
    max-width: 3rem;
    border-radius: 0.125rem;
    padding: 0.1875rem 0;
    font-size: 0.625rem;
    line-height: 1.44;
    letter-spacing: 0.019em;
    font-weight: 500;
  }
}

.sub-column__item-category.category-column {
  background-color: #eef6e8;
}
@media screen and (max-width: 768px) {
  .sub-column__item-category.category-column {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.sub-column__item-category.category-report,
.sub-column__item-category.category-labor-news,
.sub-column__item-category.category-tokutoku {
  max-width: 118px;
  max-width: 7.375rem;
  width: 100%;
  border-radius: 0.25rem;
  padding: 4.5px 0;
  padding: 0.28125rem 0;
  text-align: center;
  background-color: #FFFFFF;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-column__item-category.category-report,
  .sub-column__item-category.category-labor-news,
  .sub-column__item-category.category-tokutoku {
    max-width: 3.75rem;
    border-radius: 0.125rem;
    padding: 0.1875rem 0;
    font-size: 0.625rem;
    line-height: 1.44;
    letter-spacing: 0.019em;
    font-weight: 500;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.sub-column__item-title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.sub-column__item {
  opacity: 1;
}

.sub-column__item.is-hidden {
  opacity: 0;
  height: 0;
  margin: 0;
}

.sub-column__more-btn {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-column__more-btn {
    margin-top: 1.25rem;
  }
}

.sub-column__more-btn.is-btn-hidden {
  display: none;
}

.sub-column__more-btn button {
  cursor: pointer;
  color: #004533;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
  padding-right: 36px;
  padding-right: 2.25rem;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .sub-column__more-btn button {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
    padding-right: 1.125rem;
  }
}

.sub-column__more-btn button::after {
  content: "";
  position: absolute;
  background-image: url(../images/common/arrow-gray.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  display: inline-block;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-column__more-btn button::after {
    width: 1rem;
    height: 1rem;
  }
}

.sub-news__modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: scroll;
  z-index: 999;
  padding: 90px 0;
  padding: 5.625rem 0;
  background-color: rgba(0, 0, 0, .72);
}
@media screen and (max-width: 768px) {
  .sub-news__modal {
    padding: 2.5rem 0;
  }
}

.sub-news__modal-inner {
  background-color: #FFFFFF;
  border-radius: 1rem;
  margin: auto;
  max-width: 960px;
  max-width: 60rem;
  width: 100%;
  position: relative;
  padding: 32px 48px 24px;
  padding: 2rem 3rem 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-news__modal-inner {
    max-width: 20.4375rem;
    padding: 1.5rem;
  }
}

.sub-news__modal-close {
  position: absolute;
  top: -32px;
  top: -2rem;
  right: 16px;
  right: 1rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.sub-news__modal-close span {
  background-image: url(../images/common/union.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  display: inline-block;
}

.sub-news__modal-title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-news__modal-title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-news__modal-date {
  margin-top: 6px;
  margin-top: 0.375rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-news__modal-date {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.sub-news__modal-text {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #2A2A2A;
  height: 300px;
  height: 18.75rem;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .sub-news__modal-text {
    margin-top: 1rem;
    height: 19.625rem;
  }
}

.sub-news__modal-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-news__modal-text p {
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .sub-news__modal-text p:nth-child(n+2) {
    margin-top: 0.1875rem;
  }
}

.sub-news__modal-text p a {
  color: #004533;
  text-decoration: underline;
}

.sub-news__modal-btn--bottom {
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-news__modal-btn--bottom {
    margin-top: 1.25rem;
  }
}

.sub-news__modal-btn--bottom a {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  display: inline-block;
  border: 1px solid #004533;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-news__modal-btn--bottom a {
    max-width: 15.4375rem;
    padding: 0.59375rem 0;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

.sub-column__modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: scroll;
  z-index: 999;
  padding: 90px 0;
  padding: 5.625rem 0;
  background-color: rgba(0, 0, 0, .72);
}
@media screen and (max-width: 768px) {
  .sub-column__modal {
    padding: 2.5rem 0;
  }
}

.sub-column__modal-inner {
  background-color: #FFFFFF;
  border-radius: 1rem;
  margin: auto;
  max-width: 960px;
  max-width: 60rem;
  width: 100%;
  position: relative;
  padding: 32px 48px 24px;
  padding: 2rem 3rem 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-column__modal-inner {
    max-width: 20.4375rem;
    padding: 1.5rem;
  }
}

.sub-column__modal-close {
  position: absolute;
  top: -32px;
  top: -2rem;
  right: 16px;
  right: 1rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.sub-column__modal-close span {
  background-image: url(../images/common/union.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  display: inline-block;
}

.sub-column__modal-title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-column__modal-title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-column__modal-date {
  margin-top: 6px;
  margin-top: 0.375rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  color: #2A2A2A;
  display: inline-block;
  padding: 4.5px 0;
  padding: 0.28125rem 0;
}
@media screen and (max-width: 768px) {
  .sub-column__modal-date {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
    padding: 0.1875rem 0;
  }
}

.sub-column__modal-category {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  display: inline-block;
  margin-left: 14px;
  margin-left: 0.875rem;
}
@media screen and (max-width: 768px) {
  .sub-column__modal-category {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
    margin-left: 0.4375rem;
  }
}

.sub-column__modal-text {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #2A2A2A;
  height: 300px;
  height: 18.75rem;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .sub-column__modal-text {
    margin-top: 1rem;
    height: 19.625rem;
  }
}

.sub-column__modal-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-column__modal-text p {
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .sub-column__modal-text p:nth-child(n+2) {
    margin-top: 0.1875rem;
  }
}

.sub-column__modal-text p a {
  color: #004533;
  text-decoration: underline;
}

.sub-column__modal-btn--bottom {
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-column__modal-btn--bottom {
    margin-top: 1.25rem;
  }
}

.sub-column__modal-btn--bottom a {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  display: inline-block;
  border: 1px solid #004533;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-column__modal-btn--bottom a {
    max-width: 15.4375rem;
    padding: 0.59375rem 0;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

.practice__sub-fv .sub-fv__area {
  padding-top: 32px;
  padding-top: 2rem;
  padding-bottom: 32px;
  padding-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .practice__sub-fv .sub-fv__area {
    padding-top: 0;
    padding-bottom: 0.875rem;
  }
}

.practice__sub-fv .sub-fv__wrapper {
  width: 555px;
  width: 34.6875rem;
}
@media screen and (max-width: 768px) {
  .practice__sub-fv .sub-fv__wrapper {
    width: 100%;
  }
}

.sub-content__item-list.practice {
  width: 486px;
  width: 30.375rem;
}
@media screen and (max-width: 768px) {
  .sub-content__item-list.practice {
    width: 100%;
  }
}

.support__sub-fv .sub-fv__title {
  width: 506px;
  width: 31.625rem;
}
@media screen and (max-width: 768px) {
  .support__sub-fv .sub-fv__title {
    width: 100%;
  }
}

/* sub-flow */
.sub-flow {
  margin-top: 104px;
  margin-top: 6.5rem;
}
@media screen and (max-width: 768px) {
  .sub-flow {
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-flow__inner.inner {
    max-width: 23.4375rem;
  }
}

.sub-flow__title {
  text-align: center;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.36;
  letter-spacing: 0.0125em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-flow__title {
    font-size: 1.25rem;
    line-height: 1.52;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-flow__items {
  margin-top: 24px;
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .sub-flow__items {
    margin-top: 0.75rem;
  }
}

.sub-flow__item {
  position: relative;
  width: 100%;
}

.sub-flow__item:nth-of-type(1) {
  z-index: 0;
  right: -38px;
  right: -2.375rem;
}
@media screen and (max-width: 768px) {
  .sub-flow__item:nth-of-type(1) {
    right: -1.0625rem;
  }
}

.sub-flow__item:nth-of-type(2) {
  z-index: -1;
}

.sub-flow__item:nth-of-type(3) {
  z-index: -2;
  left: -38px;
  left: -2.375rem;
}
@media screen and (max-width: 768px) {
  .sub-flow__item:nth-of-type(3) {
    left: -1.0625rem;
  }
}

.sub-flow__item:nth-of-type(1) .sub-flow__item-arrow,
.sub-flow__item:nth-of-type(1) .sub-flow__item-arrow::before {
  background-color: #0A8F6C;
}

.sub-flow__item:nth-of-type(2) .sub-flow__item-arrow,
.sub-flow__item:nth-of-type(2) .sub-flow__item-arrow::before {
  background-color: #116a53;
}

.sub-flow__item:nth-of-type(3) .sub-flow__item-arrow,
.sub-flow__item:nth-of-type(3) .sub-flow__item-arrow::before {
  background-color: #004533;
}

.sub-flow__item-arrow {
  padding: 28px 0;
  padding: 1.75rem 0;
  max-width: 336px;
  max-width: 21rem;
  width: 100%;
  position: relative;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .sub-flow__item-arrow {
    padding: 0.875rem 0;
    max-width: 6.25rem;
  }
}

.sub-flow__item-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -45px;
  right: -2.8125rem;
  max-width: 46px;
  max-width: 2.875rem;
  width: 100%;
  height: 100%;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  -webkit-clip-path: polygon(0 50%, 100% 100%, 100% 0);
          clip-path: polygon(0 50%, 100% 100%, 100% 0);
  z-index: 99;
}
@media screen and (max-width: 768px) {
  .sub-flow__item-arrow::before {
    right: -1.4375rem;
    max-width: 1.4375rem;
  }
}

.sub-flow__item-arrow span {
  color: #FFFFFF;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-flow__item-arrow span {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
    margin-left: 1.25rem;
  }
}

.sub-flow__item-arrow p {
  color: #FFFFFF;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-flow__item-arrow p {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
    margin-left: 1.25rem;
  }
}

.sub-flow__text-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 2.0625rem;
     -moz-column-gap: 2.0625rem;
          column-gap: 2.0625rem;
  margin-right: 86px;
  margin-right: 5.375rem;
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .sub-flow__text-wrapper {
    margin-top: 0.5rem;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    margin-right: 1.25rem;
  }
}

.sub-flow__text {
  padding-left: 26px;
  padding-left: 1.625rem;
  max-width: 310px;
  max-width: 19.375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-flow__text {
    padding-left: 1.0625rem;
    max-width: 6.25rem;
  }
}

.sub-flow__text p {
  color: #2A2A2A;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
  display: list-item;
  list-style: disc;
}
@media screen and (max-width: 768px) {
  .sub-flow__text p {
    font-size: 0.625rem;
    line-height: 1.48;
    letter-spacing: 0.06em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .sub-flow__text p:nth-child(n+2) {
    margin-top: 0.25rem;
  }
}

/* sub-style */
.sub-style {
  margin-top: 114px;
  margin-top: 7.125rem;
  margin-bottom: 64px;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .sub-style {
    margin-top: 4rem;
    margin-bottom: 2rem;
  }
}

.sub-style__title {
  margin-top: -17px;
  margin-top: -1.0625rem;
  text-align: center;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.52;
  letter-spacing: 0.0117647059em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-style__title {
    margin-top: -0.5rem;
    font-size: 1.25rem;
    line-height: 1.52;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-style__title span {
  font-family: "Libre Baskerville", serif;
  font-size: 56px;
  font-size: 3.5rem;
  line-height: 1.44;
  letter-spacing: 0.0357142857em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-style__title span {
    font-size: 1.875rem;
    line-height: 1.1;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.sub-style__items {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-style__items {
    margin-top: 0.75rem;
  }
}

.sub-style__item:nth-child(odd) {
  background-color: #FFFAF7;
}

.sub-style__item:nth-child(even) {
  background-color: #FFFFFF;
}

.sub-style__item {
  padding: 24px 80px 32px;
  padding: 1.5rem 5rem 2rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-style__item {
    padding: 1.25rem;
  }
}

.sub-style__item-title--wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-style__item-title--wrapper {
    -webkit-column-gap: 0.25rem;
       -moz-column-gap: 0.25rem;
            column-gap: 0.25rem;
  }
}

.sub-style__item-title--num {
  font-family: "Libre Baskerville", serif;
  font-size: 48px;
  font-size: 3rem;
  line-height: 1.44;
  letter-spacing: 0.0416666667em;
  font-weight: 700;
  width: 64px;
  width: 4rem;
}
@media screen and (max-width: 768px) {
  .sub-style__item-title--num {
    font-size: 1.5rem;
    line-height: 1.44;
    letter-spacing: 0.0416666667em;
    font-weight: 700;
    width: 2rem;
  }
}

.sub-style__item-title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-style__item-title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-style__item-text {
  padding-left: 72px;
  padding-left: 4.5rem;
}
@media screen and (max-width: 768px) {
  .sub-style__item-text {
    padding-left: 2.25rem;
  }
}

.sub-style__item-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.075em;
  font-weight: 500;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .sub-style__item-text p {
    font-size: 0.9375rem;
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
}

.thanks {
  padding: 88px 0 72px;
  padding: 5.5rem 0 4.5rem;
}
@media screen and (max-width: 768px) {
  .thanks {
    padding: 2.75rem 0 2.25rem;
  }
}

@media screen and (max-width: 768px) {
  .thanks .sec-title {
    font-size: 1.5rem;
    line-height: 1.44;
    letter-spacing: 0.0416666667em;
    font-weight: 700;
  }
}

.thanks__title {
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.52;
  letter-spacing: 0.0117647059em;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .thanks__title {
    font-size: 1.25rem;
    line-height: 1.52;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.thanks__text {
  margin-top: 48px;
  margin-top: 3rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .thanks__text {
    margin-top: 1.5rem;
  }
}

.thanks__text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.08em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .thanks__text p {
    font-size: 0.9375rem;
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
}

.thanks__btn {
  margin-top: 92px;
  margin-top: 5.75rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .thanks__btn {
    margin-top: 2.875rem;
  }
}

.thanks__btn a {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  display: inline-block;
  border: 1px solid #004533;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .thanks__btn a {
    max-width: 7.5rem;
    border-radius: 2.5rem;
    padding: 0.34375rem 0;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

/* fv */
.fv {
  margin-top: 16px;
  margin-top: 1rem;
  text-align: center;
  background-color: #FFFAF7;
}
@media screen and (max-width: 768px) {
  .fv {
    margin-top: 0;
    padding-top: 1rem;
  }
}

.fv__title-en {
  font-family: "Libre Baskerville", serif;
  color: #E4ECEA;
  font-size: 62px;
  font-size: 3.875rem;
  line-height: 1.44;
  letter-spacing: 0.0322580645em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .fv__title-en {
    font-size: 2rem;
    line-height: 1.1;
    letter-spacing: 0.03125em;
    font-weight: 700;
  }
}

.fv__title {
  font-size: 38px;
  font-size: 2.375rem;
  line-height: 1.52;
  letter-spacing: 0.0097368421em;
  font-weight: 700;
  margin-top: -41px;
  margin-top: -2.5625rem;
}
@media screen and (max-width: 768px) {
  .fv__title {
    font-size: 1.375rem;
    line-height: 1.52;
    letter-spacing: 0.0090909091em;
    font-weight: 700;
    margin-top: -1rem;
  }
}

.fv__title-sub {
  font-family: "Libre Baskerville", serif;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.0833333333em;
  font-weight: 700;
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .fv__title-sub {
    font-size: 1rem;
    line-height: 1.44;
    letter-spacing: 0.0625em;
    font-weight: 700;
    margin-top: 0.625rem;
  }
}

.fv__container {
  margin-top: 34px;
  margin-top: 2.125rem;
  max-width: 1280px;
  max-width: 80rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .fv__container {
    margin-top: 1.5rem;
  }
}

.fv__swiper-img img {
  width: 100%;
  aspect-ratio: 1280/560;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 40%;
     object-position: center 40%;
}
@media screen and (max-width: 768px) {
  .fv__swiper-img img {
    aspect-ratio: 375/300;
  }
}

/* news */
.news {
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .news {
    margin-top: 3rem;
  }
}

.news__items {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .news__items {
    margin-top: 0.75rem;
  }
}

.news__item:nth-child(n+2) {
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .news__item:nth-child(n+2) {
    margin-top: 0.375rem;
  }
}

.news__item {
  position: relative;
}

.news__item::after {
  content: "";
  position: absolute;
  background-image: url(../images/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  right: 24px;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .news__item::after {
    width: 1rem;
    height: 1rem;
    right: 0.5rem;
  }
}

.news__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  background-color: #FFFAF7;
  border-radius: 0.5rem;
  padding: 13px 72px 13px 24px;
  padding: 0.8125rem 4.5rem 0.8125rem 1.5rem;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .news__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 0.25rem;
    border-radius: 0.25rem;
    padding: 0.5rem 1.75rem 0.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0142857143em;
    font-weight: 700;
  }
}

.news__item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  max-width: 200px;
  max-width: 12.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .news__item-wrapper {
    max-width: none;
    max-width: initial;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.news__items:nth-child(3) .news__item-wrapper {
  max-width: 334px;
  max-width: 20.875rem;
}
@media screen and (max-width: 768px) {
  .news__items:nth-child(3) .news__item-wrapper {
    max-width: none;
    max-width: initial;
  }
}

.news__item-date {
  max-width: 104px;
  max-width: 6.5rem;
  width: 100%;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .news__item-date {
    max-width: none;
    max-width: initial;
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

.news__item-category {
  max-width: 80px;
  max-width: 5rem;
  width: 100%;
  border-radius: 0.25rem;
  padding: 4.5px 0;
  padding: 0.28125rem 0;
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .news__item-category {
    max-width: 3rem;
    border-radius: 0.125rem;
    padding: 0.1875rem 0;
    font-size: 0.625rem;
    line-height: 1.44;
    letter-spacing: 0.019em;
    font-weight: 500;
  }
}

.news__item-category.category-news {
  background-color: #e1eeeb;
}

.news__item-category.category-column {
  background-color: #eef6e8;
}
@media screen and (max-width: 768px) {
  .news__item-category.category-column {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.news__item-category.category-report,
.news__item-category.category-labor-news,
.news__item-category.category-tokutoku {
  max-width: 118px;
  max-width: 7.375rem;
  width: 100%;
  border-radius: 0.25rem;
  padding: 4.5px 0;
  padding: 0.28125rem 0;
  text-align: center;
  background-color: #FFFFFF;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .news__item-category.category-report,
  .news__item-category.category-labor-news,
  .news__item-category.category-tokutoku {
    max-width: 3.75rem;
    border-radius: 0.125rem;
    padding: 0.1875rem 0;
    font-size: 0.625rem;
    line-height: 1.44;
    letter-spacing: 0.019em;
    font-weight: 500;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.news__item-title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.news__no-text {
  text-align: center;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.news__no-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .news__no-text p {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0142857143em;
    font-weight: 700;
  }
}

.news__btn {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .news__btn {
    margin-top: 1rem;
  }
}

.news__btn a {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .news__btn a {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0214285714em;
    font-weight: 700;
  }
}

.news__btn a:hover {
  color: #0A8F6C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.news__modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: scroll;
  z-index: 999;
  padding: 90px 0;
  padding: 5.625rem 0;
  background-color: rgba(0, 0, 0, .72);
}
@media screen and (max-width: 768px) {
  .news__modal {
    padding: 2.5rem 0;
  }
}

.news__modal-inner {
  background-color: #FFFFFF;
  border-radius: 1rem;
  margin: auto;
  max-width: 960px;
  max-width: 60rem;
  width: 100%;
  position: relative;
  padding: 32px 48px 24px;
  padding: 2rem 3rem 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .news__modal-inner {
    max-width: 20.4375rem;
    padding: 1.5rem;
  }
}

.news__modal-close {
  position: absolute;
  top: -32px;
  top: -2rem;
  right: 16px;
  right: 1rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.news__modal-close span {
  background-image: url(../images/common/union.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  display: inline-block;
}

.news__modal-title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .news__modal-title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.news__modal-date {
  margin-top: 6px;
  margin-top: 0.375rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .news__modal-date {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.news__modal-text {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #2A2A2A;
  height: 300px;
  height: 18.75rem;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .news__modal-text {
    margin-top: 1rem;
    height: 19.625rem;
  }
}

.news__modal-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .news__modal-text p {
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .news__modal-text p:nth-child(n+2) {
    margin-top: 0.1875rem;
  }
}

.news__modal-text p a {
  color: #004533;
  text-decoration: underline;
}

.news__modal-btn--bottom {
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .news__modal-btn--bottom {
    margin-top: 1.25rem;
  }
}

.news__modal-btn--bottom a {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  display: inline-block;
  border: 1px solid #004533;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .news__modal-btn--bottom a {
    max-width: 15.4375rem;
    padding: 0.59375rem 0;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

.column__modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: scroll;
  z-index: 999;
  padding: 90px 0;
  padding: 5.625rem 0;
  background-color: rgba(0, 0, 0, .72);
}
@media screen and (max-width: 768px) {
  .column__modal {
    padding: 2.5rem 0;
  }
}

.column__modal-inner {
  background-color: #FFFFFF;
  border-radius: 1rem;
  margin: auto;
  max-width: 960px;
  max-width: 60rem;
  width: 100%;
  position: relative;
  padding: 32px 48px 24px;
  padding: 2rem 3rem 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .column__modal-inner {
    max-width: 20.4375rem;
    padding: 1.5rem;
  }
}

.column__modal-close {
  position: absolute;
  top: -32px;
  top: -2rem;
  right: 16px;
  right: 1rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.column__modal-close span {
  background-image: url(../images/common/union.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  display: inline-block;
}

.column__modal-title {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .column__modal-title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.column__modal-date {
  margin-top: 6px;
  margin-top: 0.375rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  color: #2A2A2A;
  display: inline-block;
  padding: 4.5px 0;
  padding: 0.28125rem 0;
}
@media screen and (max-width: 768px) {
  .column__modal-date {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
    padding: 0.1875rem 0;
  }
}

.column__modal-category {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  display: inline-block;
  margin-left: 14px;
  margin-left: 0.875rem;
}
@media screen and (max-width: 768px) {
  .column__modal-category {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
    margin-left: 0.4375rem;
  }
}

.column__modal-text {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #2A2A2A;
  height: 300px;
  height: 18.75rem;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .column__modal-text {
    margin-top: 1rem;
    height: 19.625rem;
  }
}

.column__modal-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .column__modal-text p {
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .column__modal-text p:nth-child(n+2) {
    margin-top: 0.1875rem;
  }
}

.column__modal-text p a {
  color: #004533;
  text-decoration: underline;
}

.column__modal-btn--bottom {
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .column__modal-btn--bottom {
    margin-top: 1.25rem;
  }
}

.column__modal-btn--bottom a {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  display: inline-block;
  border: 1px solid #004533;
  border-radius: 5rem;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .column__modal-btn--bottom a {
    max-width: 15.4375rem;
    padding: 0.59375rem 0;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

/* service */
.service {
  margin-top: 157px;
  margin-top: 9.8125rem;
}
@media screen and (max-width: 768px) {
  .service {
    margin-top: 4.5rem;
  }
}

.service__container {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .service__container {
    margin-top: 0.75rem;
  }
}

.service__wrapper {
  background-color: #FFFAF7;
  padding: 40px 80px;
  padding: 2.5rem 5rem;
  text-align: center;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .service__wrapper {
    border-radius: 0.25rem;
    padding: 1.25rem 0.625rem;
  }
}

.service__wrapper:nth-child(n+2) {
  margin-top: 48px;
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .service__wrapper:nth-child(n+2) {
    margin-top: 1.5rem;
  }
}

.service__sub-title {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .service__sub-title {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.service__title {
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.52;
  letter-spacing: 0.0117647059em;
  font-weight: 700;
  color: #2A2A2A;
  margin-top: 2px;
  margin-top: 0.125rem;
}
@media screen and (max-width: 768px) {
  .service__title {
    margin-top: 0.0625rem;
    font-size: 1.25rem;
    line-height: 1.52;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.service__text {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .service__text {
    margin-top: 0.75rem;
  }
}

.service__text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.56;
  letter-spacing: 0.075em;
  font-weight: 500;
  color: #2A2A2A;
}
@media screen and (max-width: 768px) {
  .service__text p {
    font-size: 0.9375rem;
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
}

.service__items {
  margin-top: 56px;
  margin-top: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2.25rem;
     -moz-column-gap: 2.25rem;
          column-gap: 2.25rem;
}
@media screen and (max-width: 768px) {
  .service__items {
    margin-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    row-gap: 0.75rem;
  }
}

.service__item a {
  background-color: #FFFFFF;
  border-radius: 2.5rem;
  -webkit-box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, .12);
          box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, .12);
  width: 296px;
  width: 18.5rem;
  height: 275px;
  height: 17.1875rem;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .service__item a {
    border-radius: 1.25rem;
    width: 18.4375rem;
    height: 5.5rem;
    -webkit-box-shadow: 0 0.0625rem 0.25rem 0.0625rem rgba(0, 0, 0, .12);
            box-shadow: 0 0.0625rem 0.25rem 0.0625rem rgba(0, 0, 0, .12);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}

.service__item-title {
  padding-top: 24px;
  padding-top: 1.5rem;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.36;
  letter-spacing: 0.0230769231em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .service__item-title {
    padding-top: 0;
    text-align: left;
    font-size: 0.9375rem;
    line-height: 1.36;
    letter-spacing: 0.02em;
    font-weight: 700;
    max-width: 8.6875rem;
    width: 100%;
  }
}

.service__item-title.training,
.service__item-title.aptitude {
  padding-top: 42px;
  padding-top: 2.625rem;
}
@media screen and (max-width: 768px) {
  .service__item-title.training,
  .service__item-title.aptitude {
    padding-top: 0;
  }
}

.service__item.limited .service__item-title {
  padding-top: 16px;
  padding-top: 1rem;
}
@media screen and (max-width: 768px) {
  .service__item.limited .service__item-title {
    padding-top: 0;
    max-width: 9.0625rem;
  }
}

.service__item-title--limited {
  margin-top: 10px;
  margin-top: 0.625rem;
  background-color: #C8F5FF;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 700;
  padding: 2.5px 0;
  padding: 0.15625rem 0;
}
@media screen and (max-width: 768px) {
  .service__item-title--limited {
    margin-top: 0.1875rem;
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 700;
    padding: 0;
  }
}

.service__item-img {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .service__item-img {
    left: 0;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
  }
}

.service__item-img.support {
  max-width: 296px;
  max-width: 18.5rem;
}
@media screen and (max-width: 768px) {
  .service__item-img.support {
    max-width: 8.25rem;
  }
}

.service__item-img.training {
  max-width: 124px;
  max-width: 7.75rem;
}
@media screen and (max-width: 768px) {
  .service__item-img.training {
    max-width: 8.25rem;
  }
}

.service__item-img.aptitude {
  max-width: 296px;
  max-width: 18.5rem;
}
@media screen and (max-width: 768px) {
  .service__item-img.aptitude {
    max-width: 8.25rem;
  }
}

.service__item-img.practice {
  max-width: 240.56px;
  max-width: 15.035rem;
}
@media screen and (max-width: 768px) {
  .service__item-img.practice {
    max-width: 7.3125rem;
    left: 0.625rem;
  }
}

.service__item-img.master {
  max-width: 204px;
  max-width: 12.75rem;
}
@media screen and (max-width: 768px) {
  .service__item-img.master {
    max-width: 7.3125rem;
    left: 0.625rem;
  }
}

.service__item-img.fund {
  max-width: 202px;
  max-width: 12.625rem;
}
@media screen and (max-width: 768px) {
  .service__item-img.fund {
    max-width: 6.6875rem;
    left: 0.625rem;
  }
}

.service__item-btn {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
  background-color: rgba(255, 255, 255, .92);
  color: #004533;
  border: 1px solid #004533;
  border-radius: 5rem;
  text-align: center;
  padding: 10.5px 0;
  padding: 0.65625rem 0;
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 20px;
  bottom: 1.25rem;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .service__item-btn {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
    border-radius: 2.5rem;
    padding: 0.34375rem 0;
    max-width: 7.5rem;
    bottom: 0.625rem;
  }
}

.service__item.limited .service__item-btn {
  color: #003B47;
  border: 1px solid #003B47;
}

.service__item a,
.service__item .service__item-title--limited,
.service__item .service__item-btn {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.service__item a:hover {
  background-color: #004533;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .service__item a:hover {
    background-color: #FFFFFF;
    color: #004533;
  }
}

.service__item.limited a:hover {
  background-color: #003B47;
}
@media screen and (max-width: 768px) {
  .service__item.limited a:hover {
    background-color: #FFFFFF;
    color: #004533;
  }
}

.service__item.limited a:hover .service__item-title--limited {
  background-color: #4399AA;
}
@media screen and (max-width: 768px) {
  .service__item.limited a:hover .service__item-title--limited {
    background-color: #C8F5FF;
  }
}

.service__item a:hover .service__item-btn {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .service__item a:hover .service__item-btn {
    opacity: 0;
  }
}

.service__swiper {
  margin-top: 72px;
  margin-top: 4.5rem;
  background-color: #FFFFFF;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .service__swiper {
    margin-top: 2.5rem;
    border-radius: 0.25rem;
  }
}

.service__swiper-title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #A7A7A7;
  padding-top: 32px;
  padding-top: 2rem;
}
@media screen and (max-width: 768px) {
  .service__swiper-title {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
    padding-top: 0.75rem;
  }
}

.service__swiper .swiper-slide {
  padding-top: 16px;
  padding-top: 1rem;
  padding-bottom: 88px;
  padding-bottom: 5.5rem;
}
@media screen and (max-width: 768px) {
  .service__swiper .swiper-slide {
    padding-top: 0.5rem;
    padding-bottom: 2.5rem;
  }
}

.service__swiper-container {
  margin-top: 16px;
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .service__swiper-container {
    margin-top: 0.5rem;
    -webkit-column-gap: 0.75rem;
       -moz-column-gap: 0.75rem;
            column-gap: 0.75rem;
  }
}

.service__swiper-img {
  max-width: 88px;
  max-width: 5.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .service__swiper-img {
    max-width: 2.75rem;
  }
}

.service__swiper-img img {
  aspect-ratio: 88/88;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .service__swiper-img img {
    aspect-ratio: 44/44;
  }
}

.service__swiper-textarea {
  max-width: 664px;
  max-width: 41.5rem;
  width: 100%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .service__swiper-textarea {
    max-width: 15.4375rem;
  }
}

.service__swiper-text p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 500;
  color: #2A2A2A;
  word-wrap: break-word;
}
@media screen and (max-width: 768px) {
  .service__swiper-text p {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 500;
  }
}

.service__swiper-name {
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .service__swiper-name {
    margin-top: 0.375rem;
  }
}

.service__swiper-name p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.44;
  letter-spacing: 0.023125em;
  font-weight: 500;
  color: #6B6B6B;
}
@media screen and (max-width: 768px) {
  .service__swiper-name p {
    font-size: 0.875rem;
    line-height: 1.44;
    letter-spacing: 0.0135714286em;
    font-weight: 500;
  }
}

.service__swiper .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 32px;
  bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .service__swiper .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0.75rem;
  }
}

.service__swiper .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  margin: 0 8px;
  margin: 0 0.5rem;
}
@media screen and (max-width: 768px) {
  .service__swiper .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: 0.375rem;
    height: 0.375rem;
    margin: 0 0.25rem;
  }
}

.service__swiper .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #004533;
}

.swiper-pagination__wrapper {
  position: relative;
  max-width: 344px;
  max-width: 21.5rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .swiper-pagination__wrapper {
    max-width: 14rem;
  }
}

.swiper-button__wrapper .swiper-button-prev {
  background-image: url(../images/common/polygon-left.svg);
  left: 0;
}

.swiper-button__wrapper .swiper-button-next {
  background-image: url(../images/common/polygon-right.svg);
  right: 0;
}

.swiper-button__wrapper .swiper-button-prev,
.swiper-button__wrapper .swiper-button-next {
  background-repeat: no-repeat;
  background-size: 100%;
  display: inline-block;
  width: 12px;
  width: 0.75rem;
  height: 20px;
  height: 1.25rem;
  top: -32px;
  top: -2rem;
}
@media screen and (max-width: 768px) {
  .swiper-button__wrapper .swiper-button-prev,
  .swiper-button__wrapper .swiper-button-next {
    width: 0.375rem;
    height: 0.625rem;
    top: -0.15625rem;
  }
}

/* about */
.about {
  margin-top: 80px;
  margin-top: 5rem;
  margin-bottom: 80px;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .about {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

.about__sub-title {
  margin-top: -41px;
  margin-top: -2.5625rem;
  text-align: center;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__sub-title {
    margin-top: -0.75rem;
    font-size: 1rem;
    line-height: 1.36;
    letter-spacing: 0.0125em;
    font-weight: 700;
  }
}

.about__sub-title span {
  font-family: "Libre Baskerville", serif;
  font-size: 56px;
  font-size: 3.5rem;
  line-height: 1.44;
  letter-spacing: 0.0357142857em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__sub-title span {
    font-size: 1.875rem;
    line-height: 1.1;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.about__container {
  margin-top: 48px;
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .about__container {
    margin-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 3rem;
  }
}

.about__wrapper {
  max-width: 560px;
  max-width: 35rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .about__wrapper {
    max-width: 31.25rem;
  }
}

.about__wrapper-title--sub {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.0666666667em;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about__wrapper-title--sub {
    font-size: 0.8125rem;
    line-height: 1.48;
    letter-spacing: 0.0461538462em;
    font-weight: 700;
  }
}

.about__wrapper-title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  margin-top: -2px;
  margin-top: -0.125rem;
}
@media screen and (max-width: 768px) {
  .about__wrapper-title {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.about__wrapper-img {
  max-width: 320px;
  max-width: 20rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 37px;
  margin-top: 2.3125rem;
}
@media screen and (max-width: 768px) {
  .about__wrapper-img {
    max-width: 17.4375rem;
    margin-top: 1rem;
  }
}

.about__wrapper:nth-child(2) .about__wrapper-img {
  max-width: 400px;
  max-width: 25rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .about__wrapper:nth-child(2) .about__wrapper-img {
    max-width: 17.4375rem;
    margin-top: 1rem;
  }
}

.about__wrapper-text {
  margin-top: 78px;
  margin-top: 4.875rem;
  text-align: center;
  color: #6B6B6B;
}
@media screen and (max-width: 768px) {
  .about__wrapper-text {
    margin-top: 1rem;
  }
}

.about__wrapper:nth-child(2) .about__wrapper-text {
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .about__wrapper:nth-child(2) .about__wrapper-text {
    margin-top: 1.5rem;
  }
}

.about__wrapper-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__wrapper-text p {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.about__num-area {
  margin-top: 64px;
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 41px;
  row-gap: 2.5625rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .about__num-area {
    row-gap: 2rem;
    -webkit-column-gap: 0.9375rem;
       -moz-column-gap: 0.9375rem;
            column-gap: 0.9375rem;
  }
}

.about__num-item {
  max-width: 320px;
  max-width: 20rem;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about__num-item {
    max-width: 9.375rem;
    text-align: left;
  }
}

.about__num {
  color: #0A8F6C;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__num {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.about__num span {
  font-family: "Libre Baskerville", serif;
  font-size: 88px;
  font-size: 5.5rem;
  line-height: 1.44;
  letter-spacing: 0.0227272727em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__num span {
    font-size: 2rem;
    line-height: 1.44;
    letter-spacing: 0.0625em;
    font-weight: 700;
  }
}

.about__num-text {
  margin-top: -4px;
  margin-top: -0.25rem;
}

.about__num-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__num-text p {
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

.about__btn {
  margin-top: 80px;
  margin-top: 5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about__btn {
    margin-top: 4rem;
  }
}

.about__btn a {
  color: #FFFFFF;
  background-color: #004533;
  border-radius: 5rem;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.36;
  letter-spacing: 0.0230769231em;
  font-weight: 700;
  padding: 14.5px 0;
  padding: 0.90625rem 0;
  max-width: 320px;
  max-width: 20rem;
  width: 100%;
  display: inline-block;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .about__btn a {
    font-size: 0.9375rem;
    line-height: 1.36;
    letter-spacing: 0.02em;
    font-weight: 700;
    padding: 0.875rem 0;
    max-width: 18.4375rem;
  }
}

.about__btn a:hover {
  background-color: #0A8F6C;
}

.about__x {
  margin-top: 34px;
  margin-top: 2.125rem;
}
@media screen and (max-width: 768px) {
  .about__x {
    margin-top: 1.5rem;
  }
}

.about__x-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .about__x-wrapper {
    -webkit-column-gap: 0.25rem;
       -moz-column-gap: 0.25rem;
            column-gap: 0.25rem;
  }
}

.about__x-img {
  max-width: 40px;
  max-width: 2.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .about__x-img {
    max-width: 1.25rem;
  }
}

.about__x-text p {
  color: #2A2A2A;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .about__x-text p {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.about__x-link {
  text-align: center;
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .about__x-link {
    margin-top: 0.25rem;
  }
}

.about__x-link a {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.52;
  letter-spacing: 0.0333333333em;
  font-weight: 700;
  text-decoration: underline;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .about__x-link a {
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
  }
}

.about__x-link a:hover {
  color: #0A8F6C;
}

.training__sub-fv .sub-fv__title {
  width: 548px;
  width: 34.25rem;
}
@media screen and (max-width: 768px) {
  .training__sub-fv .sub-fv__title {
    width: 100%;
  }
}

.training__sub-fv .sub-fv__img {
  padding-bottom: 27px;
  padding-bottom: 1.6875rem;
}
@media screen and (max-width: 768px) {
  .training__sub-fv .sub-fv__img {
    padding-bottom: 0;
  }
}

/* sub-training */
.sub-training {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sub-training {
    margin-top: 3rem;
  }
}

.sub-training__container {
  background-color: #FFFAF7;
  padding: 56px 80px 80px;
  padding: 3.5rem 5rem 5rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-training__container {
    padding: 1.25rem 1.5rem 2rem;
  }
}

.sub-training__item {
  max-width: 960px;
  max-width: 60rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .sub-training__item {
    max-width: 31.25rem;
  }
}

.sub-training__item:nth-child(n+2) {
  margin-top: 64px;
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .sub-training__item:nth-child(n+2) {
    margin-top: 3rem;
  }
}

.sub-training__item-title {
  text-align: center;
  color: #2A2A2A;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.44;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-training__item-title {
    font-size: 1.125rem;
    line-height: 1.44;
    letter-spacing: 0.0333333333em;
    font-weight: 700;
  }
}

.sub-training__item-wrapper {
  margin-top: 24px;
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-training__item-wrapper {
    -webkit-column-gap: normal;
       -moz-column-gap: normal;
            column-gap: normal;
    -webkit-column-gap: initial;
       -moz-column-gap: initial;
            column-gap: initial;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .sub-training__item-lists:nth-child(n+2) {
    margin-top: 0.5rem;
  }
}

.sub-training__item-list {
  background-color: #FFFFFF;
  color: #2A2A2A;
  border-radius: 0.5rem;
  padding: 12px 16px 12px 36px;
  padding: 0.75rem 1rem 0.75rem 2.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub-training__item-list {
    padding: 0.5rem 1rem 0.5rem 2.125rem;
  }
}

.sub-training__item-list:nth-child(n+2) {
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-training__item-list:nth-child(n+2) {
    margin-top: 0.5rem;
  }
}

.sub-training__item-list p {
  display: list-item;
  list-style: disc;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-training__item-list p {
    display: inline-block;
    position: relative;
    font-size: 0.9375rem;
    line-height: 1.52;
    letter-spacing: 0.0133333333em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-training__item-list p::before {
    content: "";
    width: 0.25rem;
    height: 0.25rem;
    display: inline-block;
    border-radius: 50%;
    background-color: #2A2A2A;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: -0.875rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-training__item-list {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .sub-training__item-list.is-hidden {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .sub-training__more-btn {
    text-align: center;
    margin-top: 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-training__more-btn.is-btn-hidden {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .sub-training__more-btn button {
    cursor: pointer;
    color: #004533;
    font-size: 0.875rem;
    line-height: 1.52;
    letter-spacing: 0.0428571429em;
    font-weight: 700;
    padding-right: 1.125rem;
    position: relative;
    display: inline-block;
  }
}

@media screen and (max-width: 768px) {
  .sub-training__more-btn button::after {
    content: "";
    position: absolute;
    background-image: url(../images/common/arrow-gray.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 1rem;
    height: 1rem;
    display: inline-block;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

/* sub-state */
.sub-state {
  margin-top: 80px;
  margin-top: 5rem;
  padding-bottom: 48px;
  padding-bottom: 3rem;
  margin-bottom: 64px;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .sub-state {
    margin-top: 3.875rem;
    padding-bottom: 2.5rem;
    margin-bottom: 2rem;
  }
}

.sub-state__title {
  text-align: center;
  color: #2A2A2A;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.36;
  letter-spacing: 0.0142857143em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-state__title {
    font-size: 1.25rem;
    line-height: 1.36;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}

.sub-state__swiper {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-state__swiper {
    margin-top: 1rem;
  }
}

.sub-state__swiper-img img {
  width: 100%;
  aspect-ratio: 743/464;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-state__swiper-img img {
    aspect-ratio: 327/204;
  }
}

.sub-state__caption {
  text-align: center;
  color: #6B6B6B;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.52;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-state__caption {
    margin-top: 0.375rem;
    font-size: 0.75rem;
    line-height: 1.48;
    letter-spacing: 0.0166666667em;
    font-weight: 700;
  }
}

.sub-state__container .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: -48px;
  bottom: -3rem;
}
@media screen and (max-width: 768px) {
  .sub-state__container .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: -2.375rem;
  }
}

.sub-state__container .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  margin: 0 8px;
  margin: 0 0.5rem;
}
@media screen and (max-width: 768px) {
  .sub-state__container .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
    margin: 0 0.375rem;
  }
}

.sub-state__container .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #004533;
}

.sub-state__container .swiper-button__wrapper .swiper-button-prev,
.sub-state__container .swiper-button__wrapper .swiper-button-next {
  top: auto;
  top: initial;
  bottom: -48px;
  bottom: -3rem;
}
@media screen and (max-width: 768px) {
  .sub-state__container .swiper-button__wrapper .swiper-button-prev,
  .sub-state__container .swiper-button__wrapper .swiper-button-next {
    bottom: -2.5rem;
    width: 0.75rem;
    height: 1.25rem;
  }
}
/*# sourceMappingURL=styles.css.map */
