@charset "UTF-8";
*,
*::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;
}

/* 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]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  display: block;
  max-width: 100%;
  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]) {
  -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;
}

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
}

/* pcの電話番号発信対応 */
a {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  color: inherit;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

/* hover指定できるPCを想定したスタイル */
/* hoverが使えないタッチ端末を想定した装飾 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 3.75rem;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1150px;
  max-width: 71.875rem;
  padding-left: 25px;
  padding-left: 1.5625rem;
  padding-right: 25px;
  padding-right: 1.5625rem;
  width: 100%;
}

.l-drawer {
  bottom: 0;
  left: 0;
  overflow: auto;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  z-index: 100;
}

.l-drawer[aria-hidden=false] {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.l-post-list {
  margin-top: 80px;
  margin-top: 5rem;
}

.layout-breadcrumb {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.layout-section {
  margin-top: 120px;
  margin-top: 7.5rem;
}

.layout-small-section {
  margin-top: 80px;
  margin-top: 5rem;
}

body {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}

body.fade-in {
  opacity: 1;
}

.btn {
  background: #0F0F0F;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  gap: 48px;
  gap: 3rem;
  padding: 20px 30px;
  padding: 1.25rem 1.875rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn span::before {
  background: #fff;
  border-radius: 50%;
  content: "";
  height: 10px;
  height: 0.625rem;
  left: -10%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 10px;
  width: 0.625rem;
}

.btn:hover {
  background: #F2BC0C;
}

.btn.btn--yellow {
  background: #F2BC0C;
  border: 1px solid #F2BC0C;
}

.btn.btn--yellow:hover {
  background: #fff;
  color: #F2BC0C;
}

.btn.btn--red {
  background: #b60014;
  border: 1px solid #b60014;
}

.btn.btn--red:hover {
  background: #fff;
  color: #b60014;
}

.btn.btn--white {
  background: #fff;
  border: 1px solid #F2BC0C;
  color: #F2BC0C;
}

.btn.btn--white:hover {
  background: #F2BC0C;
  color: #fff;
}

.btn.btn--light-yellow {
  background: #FFF6D9;
  border: 1px solid #F2BC0C;
  color: #F2BC0C;
}

.btn.btn--light-yellow:hover {
  background: #fff;
  color: #F2BC0C;
}

.common_circle_btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #0F0F0F;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  gap: 48px;
  gap: 3rem;
  height: 60px;
  height: 3.75rem;
  padding: 0 30px;
  padding: 0 1.875rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.common_circle_btn span {
  background: #585858;
  border-radius: 50%;
  height: 26px;
  height: 1.625rem;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 26px;
  width: 1.625rem;
}

.common_circle_btn span::before {
  background: #fff;
  border-radius: 50%;
  content: "";
  height: 10px;
  height: 0.625rem;
  left: -10%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 10px;
  width: 0.625rem;
}
.common_circle_btn.common_circle_btn--yellow {
  background: #F2BC0C;
}

.common_circle_btn.common_circle_btn--yellow span {
  background: #FADA70;
}

.common_circle_btn.common_circle_btn--gray {
  background: #E3E3E3;
  color: #272727;
}

.common_circle_btn.common_circle_btn--gray span {
  background: #C9C6C6;
}

.common_circle_btn.common_circle_btn--gray span:before {
  background: #272727;
}

.common_circle_btn.common_circle_btn--red {
  background: #7f000e;
}

.common_circle_btn.common_circle_btn--green {
  background: #357a38;
}

.common_circle_btn.common_circle_btn--blue {
  background: #0276aa;
}
.common-btn {
  color: #fff;
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 20px 60px;
  padding: 1.25rem 3.75rem;
  position: relative;
  text-transform: uppercase;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.common-btn span {
  border-right: 3px solid #fff;
  border-right: 0.1875rem solid #fff;
  border-top: 3px solid #fff;
  border-top: 0.1875rem solid #fff;
  height: 12px;
  height: 0.75rem;
  position: absolute;
  right: 20px;
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 12px;
  width: 0.75rem;
}

.common-btn.common-btn--yellow {
  background: #F2BC0C;
  padding-left: 50px;
  padding-left: 3.125rem;
}

.common-btn.common-btn--yellow span {
  background: #F2BC0C;
}

.common-btn.common-btn--gray {
  background: #E3E3E3;
  color: #272727;
}

.common-btn.common-btn--gray span {
  background: #C9C6C6;
}

.common-btn.common-btn--gray span:before {
  background: #272727;
}

.common-btn.common-btn--red {
  background: #7f000e;
}

.common-btn.common-btn--green {
  background: #357a38;
}

.common-btn.common-btn--blue {
  background: #0276aa;
}
.fadeUp {
  opacity: 0;
}
.fadeUp.is-show {
  -webkit-animation: fadeUp 1.3s ease-out forwards;
          animation: fadeUp 1.3s ease-out forwards;
  opacity: 1;
}
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.fadeInScroll {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
}

.fadeInScroll.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.lower-title {
  font-family: "Noto Sans", sans-serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1;
  padding-left: 20px;
  padding-left: 1.25rem;
  position: relative;
}

.lower-title::before {
  background: #F2BC0C;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 5px;
  width: 0.3125rem;
}

.privacy-table {
  border-collapse: collapse;
  font-size: 14px;
  font-size: 0.875rem;
  width: 100%;
}
.privacy-table .privacy-table__head {
  background-color: #f3f3f3;
}
.privacy-table .privacy-table__row {
  border-bottom: 1px solid #ccc;
}
.privacy-table .privacy-table__header {
  background-color: #f9f9f9;
  border: 1px solid #ccc;
  font-weight: bold;
  padding: 12px;
  padding: 0.75rem;
  text-align: left;
  white-space: nowrap;
}
.privacy-table .privacy-table__body {
  background-color: #fff;
}
.privacy-table .privacy-table__cell {
  border: 1px solid #ccc;
  padding: 12px;
  padding: 0.75rem;
  vertical-align: top;
}
.privacy-table .privacy-table__note {
  color: #555;
  font-size: 13px;
  font-size: 0.8125rem;
  margin-top: 12px;
  margin-top: 0.75rem;
}
.section-title {
  font-family: "Noto Sans", sans-serif;
  font-size: 32px;
  font-size: 2rem;
}

.sub-fv {
  height: 300px;
  height: 18.75rem;
  margin-top: 140px;
  margin-top: 8.75rem;
  position: relative;
  width: 100%;
}

.sub-fv::before {
  background-color: #B9B9B9;
  content: "";
  height: 100%;
  opacity: 0.4;
  position: absolute;
  width: 100%;
}

.sub-fv__img {
  height: 100%;
  width: 100%;
}

.sub-fv__img img,
.sub-fv__img picture {
  -o-object-fit: cover;
  height: inherit;
     object-fit: cover;
  width: 100%;
}

.sub-fv__img.sub-fv__img--beginner img {
  -o-object-fit: cover;
     object-fit: cover;
}

.sub-fv__content {
  left: 10%;
  position: absolute;
  top: 50%;
}

.sub-fv__title {
  color: #333;
  font-size: 60px;
  font-size: 3.75rem;
  line-height: 1;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  z-index: 10;
}

.sub-fv__title::before {
  color: #fff;
  content: attr(data-title);
  font-size: 120px;
  font-size: 7.5rem;
  left: 0;
  opacity: 0.3;
  position: absolute;
  top: -40px;
  top: -2.5rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  white-space: nowrap;
  z-index: 1;
}

.about__content {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.about__item + .about__item {
  margin-top: 32px;
  margin-top: 2rem;
}

.about__text span {
  color: #2196f3;
}

.company-business__contents {
  margin-top: 32px;
  margin-top: 2rem;
}

.company-business__cards {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.company-greeting__contents {
  margin-top: 48px;
  margin-top: 3rem;
}

.company-greeting__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 70px;
  gap: 4.375rem;
}

.company-greeting__item + .company-greeting__item {
  margin-top: 54px;
  margin-top: 3.375rem;
}

.company-greeting__img-box {
  width: 40%;
}

.company-greeting__img img {
  -o-object-fit: cover;
  aspect-ratio: 390/490;
     object-fit: cover;
  width: 100%;
}

.company-greeting__text-box {
  margin-left: auto;
  margin-right: auto;
  width: 53%;
}

.company-greeting__text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.8571428571;
  margin-top: 34px;
  margin-top: 2.125rem;
}

.company-greeting__name-box {
  font-weight: 300;
}

.company-greeting__position {
  font-size: 14px;
  font-size: 0.875rem;
}

.company-greeting__name {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5;
}

.company-greeting__en {
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5714285714;
}

.company-greeting__name.company-greeting__name--english {
  font-family: "Noto Sans", sans-serif;
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.1538461538;
}

.company-greeting__position.company-greeting__position--english {
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
}

.company-greeting__text.company-greeting__text--english {
  font-family: "Noto Sans", sans-serif;
  line-height: 1.6428571429;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.company-greeting__text-img {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.company-info__profile {
  margin-top: 32px;
  margin-top: 2rem;
}

.company-philosophy {
  font-family: "Yuji Syuku", serif;
  text-align: center;
}

.company-philosophy__title {
  font-size: 40px;
  font-size: 2.5rem;
}

.company-philosophy__wrap {
  margin-top: 32px;
  margin-top: 2rem;
  text-align: center;
}

.company-philosophy__text {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.8;
}

.company-profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.company-profile__list-wrap {
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
}

.company-profile__list {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #03a9f4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.company-profile__list + .company-profile__list {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.company-profile__term {
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  max-width: 120px;
  max-width: 7.5rem;
  text-align: center;
  width: 100%;
}

.company-profile__description {
  background-color: #fff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
  padding: 10px 0 10px 20px;
  padding: 0.625rem 0 0.625rem 1.25rem;
}

.company-profile__description a {
  color: #2196f3;
}

.company-profile__map-wrap {
  border-left: 1px solid #03a9f4;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 40px;
  margin-left: 2.5rem;
  padding-left: 40px;
  padding-left: 2.5rem;
}

.company-profile__map {
  height: 0;
  padding-top: 85%;
  position: relative;
  width: 100%;
}

.company-profile__map iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.company-profile__map-btn-wrap {
  margin: 40px auto 0;
  margin: 2.5rem auto 0;
  text-align: center;
}

.company-profile__map-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #03a9f4;
  border-radius: 1.5625rem;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  padding: 10px 40px 14px;
  padding: 0.625rem 2.5rem 0.875rem;
  position: relative;
}

.contact-paper__wrap {
  margin-top: 32px;
  margin-top: 2rem;
}

.contact-paper__btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  gap: 1.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 48px;
  margin-top: 3rem;
}

.contact__content {
  margin-top: 42px;
  margin-top: 2.625rem;
  text-align: center;
}

.contact__text {
  line-height: 1.5;
}

.contact__text a {
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline;
  color: #2196f3;
  text-decoration: underline;
}

.wpcf7-form {
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
  max-width: 1000px;
  max-width: 62.5rem;
}

.contract {
  margin-top: 62px;
  margin-top: 3.875rem;
}

.contract__title {
  color: #0276aa;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
}

.contract__description {
  font-size: 16px;
  font-size: 1rem;
  margin-top: 20px;
  margin-top: 1.25rem;
  text-align: center;
}

.contract__contents {
  margin-left: auto;
  margin-right: auto;
  margin-top: 24px;
  margin-top: 1.5rem;
  max-width: 800px;
  max-width: 50rem;
  width: 100%;
}

.contract__steps {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.contract__step {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  width: 120px;
  width: 7.5rem;
}

.contract__step::after {
  border-color: transparent transparent transparent #2196f3;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-width: 0.625rem 0 0.625rem 0.625rem;
  content: "";
  height: 0;
  left: -10px;
  left: -0.625rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
}

.contract__step:first-child::after {
  display: none;
}

.contract__icon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #86c5d8;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 80px;
  height: 5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  width: 80px;
  width: 5rem;
}

.contract__icon--circle {
  /* Additional modifiers can be defined here */
}

.contract__icon img,
.contract__icon picture {
  -o-object-fit: contain;
  aspect-ratio: 1/1;
     object-fit: contain;
  width: 50px;
  width: 3.125rem;
}

.contract__image {
  width: 50%;
}

.contract__text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
}

.contract__arrow {
  color: #888;
  font-size: 20px;
  font-size: 1.25rem;
}

.contract__note {
  color: #666;
  font-size: 12px;
  font-size: 0.75rem;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.corp-feature {
  margin-top: 72px;
  margin-top: 4.5rem;
}

.corp-title {
  color: #0276aa;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
}

.corp-feature__head {
  font-weight: 500;
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}

.corp-feature__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 48px;
  margin-top: 3rem;
}

.corp-feature__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 23%;
}

.corp-feature__sub-title {
  color: #F2BC0C;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
}

.corp-feature__img {
  aspect-ratio: 1/1;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-top: 1.25rem;
  width: 120px;
  width: 7.5rem;
}

.corp-feature__img img,
.corp-feature__img picture {
  -o-object-fit: contain;
  aspect-ratio: 1/1;
     object-fit: contain;
  width: 100%;
}

.corp-feature__text {
  margin-top: 16px;
  margin-top: 1rem;
}

.course {
  background: #35baf6;
  border-radius: 0.625rem;
  padding: 40px;
  padding: 2.5rem;
}

.course__title {
  color: #fff;
  font-family: "Noto Sans", sans-serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.course__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  gap: 2rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.course__item {
  background: #fff;
  border-radius: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  gap: 1.5rem;
  padding: 16px;
  padding: 1rem;
}

.course__img {
  width: 30%;
}

.course__img img {
  -o-object-fit: cover;
  aspect-ratio: 320/180;
     object-fit: cover;
  width: 100%;
}

.course__text-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  gap: 1.25rem;
  width: 50%;
}

.course_title {
  color: #F2BC0C;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
}

.course__junior {
  width: 40%;
}

.course__junior-year {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #F2BC0C;
  border-radius: 0.625rem;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 16px;
  padding: 0.625rem 1rem;
}

.course__junior-head {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
}

.course__junior-text {
  font-family: "Noto Sans", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
}

.course__junior-img {
  margin-top: 24px;
  margin-top: 1.5rem;
  width: 100%;
}

.course__junior-img img {
  -o-object-fit: cover;
  aspect-ratio: 320/170;
     object-fit: cover;
  width: 100%;
}

.facility__content {
  margin-top: 32px;
  margin-top: 2rem;
}

.facility__content + .facility__content {
  border-top: 1px solid #585858;
  border-top: 0.0625rem solid #585858;
  padding-top: 24px;
  padding-top: 1.5rem;
}

.facility__head {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.facility__head-text {
  font-family: 600;
  font-size: 14px;
  font-size: 0.875rem;
}

.facility__cards {
  grid-gap: 1.5rem;
  display: grid;
  gap: 24px;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 40px;
  margin-top: 2.5rem;
}

.facility__img picture,
.facility__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.facility__card-title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  margin-top: 12px;
  margin-top: 0.75rem;
  text-align: center;
}

.facility__card-text {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.faq-list__item {
  background-color: #fff;
  -webkit-box-shadow: 0 0 2.5rem 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 2.5rem 0 rgba(0, 0, 0, 0.05);
}

.faq-list__item + .faq-list__item {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.faq-list__item-question {
  cursor: pointer;
  font-size: 18px;
  font-size: 1.125rem;
  padding: 14px 60px 14px 80px;
  padding: 0.875rem 3.75rem 0.875rem 5rem;
  position: relative;
  text-indent: -20px;
  text-indent: -1.25rem;
}

.faq-list__item-question::before {
  border-right: 3px solid #F2BC0C;
  border-right: 0.1875rem solid #F2BC0C;
  border-top: 3px solid #F2BC0C;
  border-top: 0.1875rem solid #F2BC0C;
  content: "";
  height: 13px;
  height: 0.8125rem;
  position: absolute;
  right: 20px;
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 13px;
  width: 0.8125rem;
}

.faq-list__item-question.is-open::before {
  -webkit-transform: translateY(-50%) rotate(315deg);
          transform: translateY(-50%) rotate(315deg);
}

.faq-list__item-question span {
  color: #F2BC0C;
  display: inline-block;
  margin-right: 20px;
  margin-right: 1.25rem;
}

.faq-list__item-answer {
  display: none;
  font-size: 18px;
  font-size: 1.125rem;
  padding: 20px 40px 15px 80px;
  padding: 1.25rem 2.5rem 0.9375rem 5rem;
  text-indent: -20px;
  text-indent: -1.25rem;
}

.faq-list__item-answer span {
  color: #03a9f4;
  display: inline-block;
  margin-right: 20px;
  margin-right: 1.25rem;
}

.faq__text {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.faq__tab {
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
  max-width: 1200px;
  max-width: 75rem;
}

.feature {
  background-color: #FFF6D9;
  border-radius: 0.625rem;
  padding: 40px;
  padding: 2.5rem;
}

.feature__title {
  color: #2196f3;
  font-size: 48px;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}

.feature__items {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  gap: 2.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
  margin-top: 2rem;
}

.feature__item {
  text-align: center;
}

.feature__img {
  border-radius: 50%;
  height: 250px;
  height: 15.625rem;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  width: 250px;
  width: 15.625rem;
}

.feature__img img {
  -o-object-fit: cover;
  aspect-ratio: 1/1;
  height: 100%;
     object-fit: cover;
  width: 100%;
}

.feature__text-box {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.feature__text {
  font-size: 20px;
  font-size: 1.25rem;
}

.flow-list {
  counter-reset: number;
}

.flow-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flow-list__item + .flow-list__item {
  border-top: 1px solid #585858;
  border-top: 0.0625rem solid #585858;
  margin-top: 20px;
  margin-top: 1.25rem;
  padding-top: 60px;
  padding-top: 3.75rem;
}

.flow-list__item-number {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 250px;
  height: 15.625rem;
  margin: 0;
  margin: initial;
  width: 250px;
  width: 15.625rem;
}

.flow-list__item-img::before {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #2196f3;
  border-radius: 50%;
  color: #fff;
  content: "0" counter(number);
  counter-increment: number;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 28px;
  font-size: 1.75rem;
  height: 70px;
  height: 4.375rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: -20px;
  left: -1.25rem;
  line-height: 1;
  position: absolute;
  text-align: center;
  top: -35px;
  top: -2.1875rem;
  width: 70px;
  width: 4.375rem;
}

.flow-list__item-img {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 100%;
}

.flow-list__item-img img {
  -o-object-fit: cover;
  aspect-ratio: 225/150;
     object-fit: cover;
  width: 100%;
}

.flow-list__item-content {
  margin-left: 100px;
  margin-left: 6.25rem;
  margin-top: 0;
  margin-top: initial;
}

.flow-list__item-title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.8;
}

.flow-list__item-text {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.flow-list__btn-title {
  color: #b60014;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1;
  padding: 16px 0;
  padding: 1rem 0;
  text-align: center;
}

.flow-list__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px;
  gap: 1.5rem;
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}

.flow-list__btn + .flow-list__btn,
.flow-list__btn + .flow-list__btn-wrap {
  border-top: 1px solid #585858;
  border-top: 0.0625rem solid #585858;
  margin-top: 24px;
  margin-top: 1.5rem;
  padding-top: 16px;
  padding-top: 1rem;
}

.footer {
  background: #2196f3;
  margin-top: 80px;
  margin-top: 5rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  padding-top: 50px;
  padding-top: 3.125rem;
}

.footer__inner {
  margin: auto;
  max-width: 1250px;
  max-width: 78.125rem;
  padding-left: 25px;
  padding-left: 1.5625rem;
  padding-right: 25px;
  padding-right: 1.5625rem;
  width: 100%;
}

.footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.footer__sub {
  border-bottom: 1px solid #B9B9B9;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
  text-align: center;
}

.footer__head {
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.56;
}

.footer__btn-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  gap: 1.875rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.footer__btn-box.u-mobile {
  display: none;
}

.footer__btn-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px 30px;
  padding: 1.25rem 1.875rem;
  width: 33%;
}

.footer__btn-title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.31;
}

.footer__tel {
  font-family: "Noto Sans", sans-serif;
  font-size: 39px;
  font-size: 2.4375rem;
  font-weight: 700;
  line-height: 1.13;
  margin-top: 12px;
  margin-top: 0.75rem;
  white-space: nowrap;
}

.footer__tel span {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.18;
}

.footer__btn-item small {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.33;
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.footer__btn-item img {
  -o-object-fit: contain;
  aspect-ratio: 1/1;
  height: 24px;
  height: 1.5rem;
     object-fit: contain;
  width: 24px;
  width: 1.5rem;
}

.footer__btn-item .common_circle_btn {
  font-family: "Noto Sans JP", sans-serif;
  gap: initial;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 12px;
  margin-top: 0.75rem;
  width: 100%;
}

.footer__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 70px;
  gap: 4.375rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 70px;
  margin-top: 4.375rem;
}

.footer__left {
  color: #fff;
}

.footer__logo-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
}

.footer__logo a {
  background: #fff;
  display: inline-block;
  padding: 20px;
  padding: 1.25rem;
}

.footer__logo-text {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 300;
  line-height: 1.67;
}

.footer__info {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  letter-spacing: 0.07em;
  line-height: 1.57;
  margin-top: 15px;
  margin-top: 0.9375rem;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
}

.footer__right {
  -o-object-fit: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
     object-fit: 1/1;
  width: 50%;
}

.footer__right iframe {
  -o-object-fit: cover;
  height: inherit;
     object-fit: cover;
  width: 100%;
}

.footer__link {
  color: #fff;
  margin-top: 80px;
  margin-top: 5rem;
}

.footer__top-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.footer__link a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.footer__link-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  gap: 2.5rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.footer__list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 16px;
  margin-top: 1rem;
}

.footer__list-head,
.footer__items li {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.33;
  padding-left: 10px;
  padding-left: 0.625rem;
  position: relative;
}

.footer__list-head::before,
.footer__items li::before {
  border-bottom: 4px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  border-style: solid;
  border-top: 4px solid transparent;
  content: "";
  height: 0;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
}

.footer__list-link li,
.footer__items li {
  margin-top: 14px;
  margin-top: 0.875rem;
}

.footer__list-link li:first-child,
.footer__items li:first-child {
  margin-top: 0;
}

.footer__list-link li:hover a,
.footer__items li:hover a {
  color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.footer__sp-link {
  display: none;
}

.footer__sp-link a {
  display: inline-block;
}

.footer__copyright {
  color: #fff;
  display: block;
  font-weight: 300;
  margin-top: 100px;
  margin-top: 6.25rem;
  text-align: center;
}

.form__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.form__wrap + .form__wrap {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.form__label {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  max-width: 200px;
  max-width: 12.5rem;
  width: 100%;
}
.form__label span {
  background-color: #b60014;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  margin-left: 10px;
  margin-left: 0.625rem;
  padding: 5px;
  padding: 0.3125rem;
}

.form__input {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-top: 0px;
  margin-top: 0rem;
}

.form__input.form-input--number {
  -webkit-box-flex: initial;
      -ms-flex-positive: initial;
          flex-grow: initial;
}

.form-input input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  background-image: none;
  border: 1px solid #585858;
  border-radius: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1;
  padding: 8px 15px;
  padding: 0.5rem 0.9375rem;
  width: 100%;
}

.form-input.form-input--number input {
  width: 100px;
  width: 6.25rem;
}

.form__wrap.form__wrap--number .form-input__age {
  display: block;
  margin-left: 12px;
  margin-left: 0.75rem;
}

.form-input input:focus {
  border: 1px solid #585858;
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none;
}

.form-radio label {
  display: block;
}

.form-radio label:not(:first-of-type) {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.wpcf7-form-control.wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
}

.form-radio input {
  display: none;
}

.form-radio input + span {
  cursor: pointer;
  display: block;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1;
  padding: 0 0 0 25px;
  padding: 0 0 0 1.5625rem;
  position: relative;
}

.form-radio input + span::before {
  background: #fff;
  border: 1px solid #585858;
  border-radius: 50%;
  content: "";
  display: block;
  height: 15px;
  height: 0.9375rem;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 15px;
  width: 0.9375rem;
}

.form-radio input + span::after {
  background: #333;
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  height: 7px;
  height: 0.4375rem;
  left: 4px;
  left: 0.25rem;
  opacity: 0;
  padding: 2px;
  padding: 0.125rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 7px;
  width: 0.4375rem;
}

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

.form__textarea {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.form-textarea textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  background-image: none;
  border: 1px solid #585858;
  border-radius: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  height: 150px;
  height: 9.375rem;
  padding: 8px 15px;
  padding: 0.5rem 0.9375rem;
  width: 100%;
}

.form-textarea textarea:focus {
  border: 1px solid #585858;
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none;
}

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

.form-privacy input {
  display: none;
}

.form-privacy input + span {
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  padding: 0 0 0 40px;
  padding: 0 0 0 2.5rem;
  position: relative;
}

.form-privacy input + span::before {
  background: #fff;
  border: 1px solid #808080;
  content: "";
  display: block;
  height: 20px;
  height: 1.25rem;
  left: 0;
  position: absolute;
  top: 5px;
  top: 0.3125rem;
  width: 20px;
  width: 1.25rem;
}

.form-privacy input + span::after {
  border-bottom: 3px solid #333;
  border-bottom: 0.1875rem solid #333;
  border-left: 3px solid #333;
  border-left: 0.1875rem solid #333;
  content: "";
  display: block;
  height: 8px;
  height: 0.5rem;
  left: 2px;
  left: 0.125rem;
  margin-top: -2px;
  margin-top: -0.125rem;
  opacity: 0;
  position: absolute;
  top: 12px;
  top: 0.75rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 15px;
  width: 0.9375rem;
}

.form-privacy input + span a {
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.form-privacy input:checked + span::after {
  opacity: 1;
}

.form-privacy a {
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline;
  color: #2196f3;
  text-decoration: underline;
}

.form-submit {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}

.form-submit input {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  background-color: #35baf6;
  background-image: none;
  border: none;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 15px 100px;
  padding: 0.9375rem 6.25rem;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.form-submit input:hover,
.form-submit input:focus {
  outline: none;
}

.form-submit input::-moz-focus-inner {
  border: none;
  padding: 0;
}

.header {
  background: #fff;
  height: 140px;
  height: 8.75rem;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 900;
}

.header__inner {
  height: inherit;
  margin-left: auto;
  margin-right: auto;
}

.header__top-inner {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  max-width: 90rem;
  padding: 14px 50px;
  padding: 0.875rem 3.125rem;
}

.header__logo-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
}

.header__logo {
  height: 70px;
  height: 4.375rem;
  max-width: 300px;
  max-width: 18.75rem;
  width: 100%;
}

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

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

.header__logo-text {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 300;
  line-height: 1.67;
  white-space: nowrap;
}

.header__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.header__links {
  border-right: 1px solid #D8D8D8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-right: 12px;
  padding-right: 0.75rem;
  row-gap: 14px;
  row-gap: 0.875rem;
}

.header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header__login a,
.header__register-btn.btn--yellow {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 900;
  gap: 10px;
  gap: 0.625rem;
  letter-spacing: 0.08em;
  line-height: 1.36;
  padding: 8px 10px;
  padding: 0.5rem 0.625rem;
  width: 100%;
}

.header__login span {
  -webkit-mask-image: url(../images/common/login.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #F2BC0C;
  display: block;
  height: 14px;
  height: 0.875rem;
          mask-image: url(../images/common/login.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  width: 14px;
  width: 0.875rem;
}

.header__login:hover span {
  background: #F2BC0C;
}

.header__register-btn span {
  -webkit-mask-image: url(../images/common/person.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #fff;
  display: block;
  height: 14px;
  height: 0.875rem;
          mask-image: url(../images/common/person.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  width: 14px;
  width: 0.875rem;
}

.header__register-btn:hover span {
  background: #F2BC0C;
}

.header__register-modal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFF6D9;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* displayを使用しない */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0; /* 初期状態で透明 */
  padding: 20px;
  padding: 1.25rem;
  position: absolute;
  top: 70%;
  -webkit-transition: opacity 0.3s ease, visibility 0s 0.3s;
  transition: opacity 0.3s ease, visibility 0s 0.3s; /* トランジション追加 */
  visibility: hidden; /* 初期状態で非表示 */
  width: 100%;
  z-index: 1000;
}

.header__register-modal.is-active {
  opacity: 1; /* アクティブ時は不透明 */
  -webkit-transition: opacity 0.3s ease, visibility 0s 0s;
  transition: opacity 0.3s ease, visibility 0s 0s; /* トランジション設定 */
  visibility: visible; /* アクティブ時は表示 */
}

.header__register-item + .header__register-item {
  border-left: 2px solid #272727;
  border-left: 0.125rem solid #272727;
  margin-left: 15px;
  margin-left: 0.9375rem;
  padding-left: 15px;
  padding-left: 0.9375rem;
}

.header__register-head {
  color: #F2BC0C;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}

.header__register-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
  margin-top: 12px;
  margin-top: 0.75rem;
}

.header__register-wrap a {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  background-color: #F2BC0C;
  border: 1px solid #F2BC0C;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.header__register-wrap a::before {
  border-right: 1px solid #fff;
  border-right: 0.0625rem solid #fff;
  border-top: 1px solid #fff;
  border-top: 0.0625rem solid #fff;
  content: "";
  height: 5px;
  height: 0.3125rem;
  position: absolute;
  right: 12px;
  right: 0.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: right 0.3s ease, border-color 0.3s ease;
  transition: right 0.3s ease, border-color 0.3s ease;
  width: 5px;
  width: 0.3125rem;
}

.header__register-wrap a:hover {
  opacity: 0.8;
}

.header__register-wrap a:hover::before {
  border-right: 1px solid #fff;
  border-right: 0.0625rem solid #fff;
  border-top: 1px solid #fff;
  border-top: 0.0625rem solid #fff;
  right: 7px;
  right: 0.4375rem;
}

.header__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  gap: 2.5rem;
}

.header__link a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  gap: 8px;
  gap: 0.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.06em;
  line-height: 1.33;
  white-space: nowrap;
}

.header__link span {
  height: 18px;
  height: 1.125rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 18px;
  width: 1.125rem;
}

.header__favorite {
  color: #272727;
}

.header__favorite span {
  -webkit-mask-image: url(../images/common/star.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #272727;
  display: block;
          mask-image: url(../images/common/star.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
}

.header__favorite:hover {
  color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__favorite:hover span {
  background-color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__history span {
  -webkit-mask-image: url(../images/common/clock.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #272727;
  display: block;
          mask-image: url(../images/common/clock.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__limit span {
  -webkit-mask-image: url(../images/common/home.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #272727;
  display: block;
          mask-image: url(../images/common/home.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__history:hover,
.header__limit:hover {
  color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__history:hover span,
.header__limit:hover span {
  background-color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__tel {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 16px;
  padding-left: 1rem;
}

.header__tel span {
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.15;
}

.header__tel-content {
  font-family: "Noto Sans", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.15;
}

.header__tel p {
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.31;
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.header__sub-inner {
  background: #2196f3;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 0;
  padding: 0.625rem 0;
}

.header__nav {
  background: #2196f3;
  display: block;
  height: 100%;
}

.header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
}

.header__nav-item,
.header__nav-modal-wrap {
  padding: 0 24px;
  padding: 0 1.5rem;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__nav-item::before,
.header__nav-modal-wrap::before {
  background-color: #fff;
  content: "";
  height: 50%;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
}

.header__nav-modal-wrap:first-child::before {
  display: none;
}

.header__nav-modal-wrap p {
  padding: 0 20px 0 0;
  padding: 0 1.25rem 0 0;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__nav-modal-wrap p::after {
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  content: "";
  height: 8px;
  height: 0.5rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 8px;
  width: 0.5rem;
}

.header__nav-modal-wrap:hover.header__nav-modal-wrap p::after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__nav-item > a,
.header__nav-modal-wrap > p {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 600;
  height: 100%;
  letter-spacing: 0.04em;
  line-height: 1.31;
  white-space: nowrap;
}

.header__nav-modal {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #2196f3;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0;
  padding: 30px 0;
  padding: 1.875rem 0;
  position: fixed;
  top: 140px;
  top: 8.75rem;
  -webkit-transform: rotateX(90deg);
          transform: rotateX(90deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  visibility: hidden;
  width: 100%;
}

.header__nav-modal-wrap:hover > .header__nav-modal {
  opacity: 1;
  -webkit-transform: rotateX(0deg);
          transform: rotateX(0deg);
  visibility: visible;
}

.header__nav-modal-item + .header__nav-modal-item {
  margin-left: 70px;
  margin-left: 4.375rem;
}

.header__nav-modal-item a {
  color: #fff;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.36;
  padding: 7px 0;
  padding: 0.4375rem 0;
  position: relative;
}

.header__nav-modal-item:hover a,
.header__nav-item:hover a {
  color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__nav-modal-item a,
.header__nav-item a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header__sp {
  display: none;
}

.header__sp-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  gap: 0.625rem;
  height: inherit;
}

.header__sp-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  gap: 0.625rem;
  height: inherit;
}

.header__login-sp a,
.header__register-sp-head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1/1;
  color: #F2BC0C;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  gap: 5px;
  gap: 0.3125rem;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.08em;
  line-height: 1.33;
  width: 60px;
  width: 3.75rem;
}

.header__login-sp a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 10px;
  font-size: 0.625rem;
  gap: 10px;
  gap: 0.625rem;
  padding: 8px 10px;
  padding: 0.5rem 0.625rem;
  width: 100%;
}

.header__login-sp span {
  -webkit-mask-image: url(../images/common/login.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #F2BC0C;
  display: block;
  height: 14px;
  height: 0.875rem;
          mask-image: url(../images/common/login.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  width: 14px;
  width: 0.875rem;
}

.header__register-sp span {
  -webkit-mask-image: url(../images/common/person.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #fff;
  background-color: #F2BC0C;
  display: block;
  height: 14px;
  height: 0.875rem;
          mask-image: url(../images/common/person.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  width: 14px;
  width: 0.875rem;
}

.header__register-sp-modal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFF6D9;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  display: block; /* displayを使用しない */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0; /* 初期状態で透明 */
  padding: 20px;
  padding: 1.25rem;
  position: absolute;
  top: 100%;
  -webkit-transition: opacity 0.3s ease, visibility 0s 0.3s;
  transition: opacity 0.3s ease, visibility 0s 0.3s; /* トランジション追加 */
  visibility: hidden; /* 初期状態で非表示 */
  width: 100%;
  z-index: 1000;
}

.header__register-sp-modal.is-active {
  opacity: 1; /* アクティブ時は不透明 */
  -webkit-transition: opacity 0.3s ease, visibility 0s 0s;
  transition: opacity 0.3s ease, visibility 0s 0s; /* トランジション設定 */
  visibility: visible; /* アクティブ時は表示 */
}

.header__register-sp-item + .header__register-sp-item {
  border-top: 2px solid #272727;
  border-top: 0.125rem solid #272727;
  margin-top: 15px;
  margin-top: 0.9375rem;
  padding-top: 15px;
  padding-top: 0.9375rem;
}

.header__register-sp-title {
  color: #F2BC0C;
  font-weight: 700;
}

.header__register-sp-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  gap: 0.75rem;
  margin-top: 12px;
  margin-top: 0.75rem;
}

.header__register-sp-wrap a {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  background-color: #F2BC0C;
  border: 1px solid #F2BC0C;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 16px 20px;
  padding: 1rem 1.25rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.header__register-sp-wrap a::before {
  border-right: 1px solid #fff;
  border-right: 0.0625rem solid #fff;
  border-top: 1px solid #fff;
  border-top: 0.0625rem solid #fff;
  content: "";
  height: 5px;
  height: 0.3125rem;
  position: absolute;
  right: 12px;
  right: 0.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: right 0.3s ease, border-color 0.3s ease;
  transition: right 0.3s ease, border-color 0.3s ease;
  width: 5px;
  width: 0.3125rem;
}

.header__hamburger {
  display: none;
}

.header__hamburger span {
  background-color: #fff;
  display: block;
  height: 1px;
  left: 50%;
  position: relative;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  width: 25px;
  width: 1.5625rem;
}

.header__hamburger p {
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  left: 50%;
  line-height: 9.17;
  position: absolute;
  text-transform: capitalize;
  top: 14px;
  top: 0.875rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

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

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

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

.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) {
  opacity: 0;
}

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

.header__drawer {
  background-color: #35baf6;
  bottom: 0;
  display: none;
  height: 100vh;
  left: 0;
  margin-top: 100px;
  margin-top: 6.25rem;
  overflow-y: scroll;
  padding-bottom: 110px;
  padding-bottom: 6.875rem;
  position: absolute;
  right: 0;
  scrollbar-width: none;
  top: 0;
  width: 100%;
  z-index: 900;
}

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

.header__drawer-nav {
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
  max-width: 600px;
  max-width: 37.5rem;
  padding: 0 25px;
  padding: 0 1.5625rem;
  width: 100%;
}

.header__drawer-item {
  border-bottom: 1px solid #fff;
}

.header__drawer-item.header__drawer-item--contact {
  border-bottom: none;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.header__drawer-item > a,
.header__drawer-accordion-title {
  cursor: pointer;
  display: block;
  font-size: 18px;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 20px 32px 20px 0;
  padding: 1.25rem 2rem 1.25rem 0;
}

.header__drawer-item.header__drawer-item--contact a {
  background-color: #234F5E;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  max-width: 180px;
  max-width: 11.25rem;
  padding: 15px 0;
  padding: 0.9375rem 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.header__drawer-item.header__drawer-item--contact a::before {
  background-image: url(./../images/common/mail-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 15px;
  height: 0.9375rem;
  left: 20px;
  left: 1.25rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 15px;
  width: 0.9375rem;
}

.header__drawer-item.header__drawer-item--contact a::after {
  border-right: 2px solid #fff;
  border-right: 0.125rem solid #fff;
  border-top: 2px solid #fff;
  border-top: 0.125rem solid #fff;
  content: "";
  height: 8px;
  height: 0.5rem;
  position: absolute;
  right: 20px;
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 8px;
  width: 0.5rem;
}

.header__drawer-accordion-title {
  position: relative;
}

.header__drawer-accordion-title::before,
.header__drawer-accordion-title::after {
  background: #fff;
  content: "";
  display: block;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 15px;
  width: 0.9375rem;
}

.header__drawer-accordion-title::before {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header__drawer-accordion-title::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.header__drawer-accordion-title.is-open::after {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header__drawer-accordion-list {
  display: none;
  padding: 0 0 20px 10px;
  padding: 0 0 1.25rem 0.625rem;
}

.header__drawer-accordion-item > a {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 10px 0;
  padding: 0.625rem 0;
}

.header__drawer-accordion-detail-list {
  padding-left: 10px;
  padding-left: 0.625rem;
}

.header__drawer-accordion-detail-item a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 5px 0;
  padding: 0.3125rem 0;
}

.header__drawer-accordion-detail-item a::before {
  background-color: #272727;
  content: "";
  display: inline-block;
  height: 1px;
  margin-right: 10px;
  margin-right: 0.625rem;
  position: relative;
  width: 15px;
  width: 0.9375rem;
}

.health {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.health__title {
  color: #0276aa;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
}

.health__items {
  margin-top: 42px;
  margin-top: 2.625rem;
}

.health__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.health__item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.health__item + .health__item {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.health__img {
  border-radius: 5px;
  overflow: hidden;
  width: 45%;
}

.health__img img,
.health__img picture {
  -o-object-fit: cover;
  aspect-ratio: 546/407;
     object-fit: cover;
  width: 100%;
}

.health__content {
  width: 50%;
}

.health__head {
  color: #F2BC0C;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
}

.health__text {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.intro__title {
  background-color: #0276aa;
  border-radius: 5px;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  padding: 20px 12px;
  padding: 1.25rem 0.75rem;
}

.intro__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.intro__text-box {
  width: 49%;
}

.intro__head {
  background: #B9B9B9;
  border-radius: 5px;
  color: #333;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  padding: 12px;
  padding: 0.75rem;
}

.intro__text {
  margin-top: 40px;
  margin-top: 2.5rem;
}
.intro__img {
  width: 49%;
}

.intro__img img,
.intro__img picture {
  -o-object-fit: cover;
  aspect-ratio: 500/330;
     object-fit: cover;
  width: 100%;
}

.join-announce__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  gap: 1.5rem;
  margin-top: 32px;
  margin-top: 2rem;
}

.join-announce__item {
  background: #FFF6D9;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  width: 100%;
}

.join-announce__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

.join-announce__img {
  width: 100%;
}

.join-announce__img img,
.join-announce__img source {
  -o-object-fit: cover;
  aspect-ratio: 300/200;
     object-fit: cover;
  width: 100%;
}

.join-announce__content {
  height: 100%;
  padding: 20px;
  padding: 1.25rem;
}

.join-announce__head {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
}

.join-announce__text {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.join-flow__title {
  background: #35baf6;
  color: #fff;
  font-family: "Noto Sans", sans-serif;
  font-size: 42px;
  font-size: 2.625rem;
  font-weight: 700;
  text-align: center;
}

.join-flow__plan {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.join-flow__flow {
  margin-top: 48px;
  margin-top: 3rem;
}

.join-flow__flow-title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.join-flow__flow-list {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.join-info__head-content {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.join-info__head {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.join-info__head span {
  color: #2196f3;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 700;
  padding: 0 12px;
  padding: 0 0.75rem;
}

.join-info__img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  gap: 1.5rem;
  margin-top: 32px;
  margin-top: 2rem;
}

.join-info__img {
  border-radius: 5px;
  overflow: hidden;
  width: 30%;
}

.join-info__img img,
.join-info__img source {
  -o-object-fit: cover;
  aspect-ratio: 1/1;
     object-fit: cover;
  width: 100%;
}

.join-info__btn-wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
  margin-top: 2rem;
}

.join-need__lists {
  counter-reset: list-counter; /* カウンターの初期化 */
  margin-left: auto;
  margin-right: auto;
  margin-top: 32px;
  margin-top: 2rem;
}

.join-need__list {
  counter-increment: list-counter; /* 各 li に対してカウンターをインクリメント */
  font-size: 18px;
  font-size: 1.125rem;
  list-style: none; /* デフォルトの番号付けを削除 */
  padding-left: 20px;
  padding-left: 1.25rem; /* 数字用の余白 */
  position: relative; /* 数字位置調整用 */
}

.join-need__list + .join-need__list {
  margin-top: 16px;
  margin-top: 1rem;
}

.join-need__list::before {
  color: #333; /* 数字の色を指定 */
  content: counter(list-counter) "."; /* カウンターの数字とドットを表示 */
  font-weight: 700; /* 数字を太字に */
  left: 0;
  position: absolute;
}

.join-need__bank {
  margin-top: 32px;
  margin-top: 2rem;
}

.join-need__head {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
}

.join-need__text {
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 12px;
  margin-top: 0.75rem;
}

.join-need__info {
  margin-top: 56px;
  margin-top: 3.5rem;
  text-align: center;
}

.join-need__info-head {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
}

.join-need__info-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  gap: 1.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.lesson__content {
  margin-top: 42px;
  margin-top: 2.625rem;
}

.lesson__course,
.lesson__price,
.lesson__intro {
  margin-top: 120px;
  margin-top: 7.5rem;
}

.lesson__img {
  width: 100%;
}

.lesson__img picture,
.lesson__img img {
  -o-object-fit: cover;
  aspect-ratio: 400/200;
     object-fit: cover;
  width: 100%;
}

.lesson__text-box {
  margin-top: 32px;
  margin-top: 2rem;
}

.lesson__head {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.lesson__text {
  font-family: "Noto Sans", sans-serif;
  font-weight: 500;
  margin-top: 16px;
  margin-top: 1rem;
}

.lesson__btn-text {
  font-family: "Noto Sans", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.lesson__btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  gap: 1.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 48px;
  margin-top: 3rem;
}

.lesson__title {
  color: #333;
  font-size: 60px;
  font-size: 3.75rem;
  line-height: 1;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  z-index: 10;
}

.lesson__title.lesson__title--green,
.lesson__title.lesson__title--green::before {
  color: #4caf50;
}

.lesson__title.lesson__title--red,
.lesson__title.lesson__title--red::before {
  color: #b60014;
}

.lesson__title.lesson__title--blue,
.lesson__title.lesson__title--blue::before {
  color: #2196f3;
}

.lesson__title::before {
  color: #333;
  content: attr(data-title);
  font-family: "Yuji Syuku", serif;
  font-size: 56px;
  font-size: 3.5rem;
  left: 50%;
  opacity: 0.3;
  position: absolute;
  top: -60px;
  top: -3.75rem;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  white-space: nowrap;
  z-index: 1;
}

.machine {
  margin-top: 62px;
  margin-top: 3.875rem;
}

.machine__inner {
  background-color: #FFF6D9;
  border-radius: 5px;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  padding-top: 24px;
  padding-top: 1.5rem;
}

.machine__title {
  color: #0276aa;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
}

.machine__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 42px;
  margin-top: 2.625rem;
}

.machine__item {
  width: 18%;
}

.machine__img {
  border-radius: 5px;
  overflow: hidden;
  width: 100%;
}

.machine__img img {
  -o-object-fit: cover;
  aspect-ratio: 253/192;
     object-fit: cover;
  width: 100%;
}

.machine__head {
  color: #0276aa;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 8px;
  margin-top: 0.5rem;
  text-align: center;
}

.machine__text {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 6px;
  margin-top: 0.375rem;
}

.measure {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.measure__content {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFF6D9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px;
  padding: 1.25rem;
  text-align: center;
}

.measure__left {
  width: 40%;
}

.measure__right {
  width: 60%;
}

.menu-card {
  grid-gap: 4rem;
  display: grid;
  gap: 64px;
  gap: 4rem;
  grid-template-columns: repeat(2, 1fr);
}

.menu-card__item {
  background-color: #fff;
  border-radius: 1.875rem;
  -webkit-box-shadow: 0 0 2.5rem 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 2.5rem 0 rgba(0, 0, 0, 0.05);
  display: block;
  height: 100%;
  overflow: hidden;
}

.menu-card__wrap {
  position: relative;
}

.menu-card__item-img {
  width: 100%;
}

.menu-card__item-img img {
  -o-object-fit: cover;
  aspect-ratio: 563/323;
     object-fit: cover;
  width: 100%;
}

.menu-card__name {
  background-color: #fff;
  border-radius: 0 1.875rem 0 0;
  bottom: 0;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  left: 0;
  line-height: 1.8;
  padding: 24px 40px;
  padding: 1.5rem 2.5rem;
  position: absolute;
}

.menu-card__item-content {
  padding: 32px;
  padding: 2rem;
}

.menu-card__item-text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

.menu__title {
  font-family: "Noto Sans", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.menu__lists {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  max-width: 62.5rem;
  width: 100%;
}

.menu__list + .menu__list {
  margin-top: 32px;
  margin-top: 2rem;
}

.menu__name {
  font-weight: 700;
}

.menu table {
  border-collapse: collapse;
  margin-top: 20px;
  margin-top: 1.25rem;
  width: 100%;
}

.menu th, .menu td {
  border: 1px solid #585858;
  padding: 12px;
  padding: 0.75rem;
}

.menu th {
  background-color: #35baf6;
  color: #fff;
  font-weight: bold;
  text-align: left;
}

.menu td {
  text-align: center;
}

.mv {
  height: 100vh;
  margin-top: 140px;
  margin-top: 8.75rem;
  min-height: 400px;
  min-height: 25rem;
  position: relative;
  z-index: 1;
}

.mv__inner {
  height: inherit;
  min-height: inherit;
}

.mv__title-wrap {
  color: #fff;
  left: 50%;
  padding-left: 32px;
  padding-left: 2rem;
  position: absolute;
  text-align: center;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: 2;
}

.mv__main-title {
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 40px;
  font-size: 2.5rem;
  gap: 16px;
  gap: 1rem;
}

.mv__main-title span {
  background: #fff;
  display: inline-block;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

.mv__link {
  margin-top: 32px;
  margin-top: 2rem;
  text-align: left;
}

.mv__banner {
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.mv__banner .swiper-wrapper {
  height: inherit;
}

.mv__banner-item a {
  display: inline-block;
  height: 100%;
}

.mv__banner-item img {
  height: 100%;
}

.mv__swiper,
.mv__swiper .swiper-img,
.mv__swiper .swiper-img img {
  height: inherit;
  min-height: inherit;
}

.mv__swiper .swiper-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.mv__swiper .swiper-slide.swiper-slide-active .swiper-img,
.mv__swiper .swiper-slide.swiper-slide-duplicate-active .swiper-img,
.mv__swiper .swiper-slide.swiper-slide-prev .swiper-img {
  -webkit-animation: scale 8s linear 0s normal both;
          animation: scale 8s linear 0s normal both;
}

@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}

@keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
.news-list {
  font-family: "Noto Sans JP", sans-serif;
}

.news-list__date {
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}

.news-list__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.9285714286;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

.news-list {
  border-bottom: 1px solid #585858;
}

.news-list:first-child {
  border-top: 1px solid #585858;
}

.page-post {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.page-post__items {
  grid-column-gap: 2.25rem;
  -moz-column-gap: 2.25rem;
  grid-row-gap: 3.75rem;
       -webkit-column-gap: 2.25rem;
               column-gap: 2.25rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 60px;
  row-gap: 3.75rem;
}

.page-post__btn {
  margin-top: 120px;
  margin-top: 7.5rem;
  text-align: center;
}

.page-post__btn a {
  border: 1px solid #585858;
  display: block;
  font-family: "Noto Sans", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  padding-top: 16px;
  padding-top: 1rem;
  text-transform: uppercase;
}

.page-privacy__wrap {
  margin-left: auto;
  margin-right: auto;
  margin-top: 74px;
  margin-top: 4.625rem;
  max-width: 1040px;
  max-width: 65rem;
  width: 100%;
}

.page-privacy__lists {
  margin-top: 32px;
  margin-top: 2rem;
}

.page-privacy__list {
  padding-left: 50px;
  padding-left: 3.125rem;
  position: relative;
}

.page-privacy__list::before {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #35baf6;
  border-radius: 50%;
  color: #0276aa;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  height: 1.875rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 30px;
  width: 1.875rem;
}

.page-privacy__list:nth-child(1):before {
  content: "1";
}

.page-privacy__list:nth-child(2):before {
  content: "2";
}

.page-privacy__list:nth-child(3):before {
  content: "3";
}

.page-privacy__list:nth-child(4):before {
  content: "4";
}

.page-privacy__list:nth-child(5):before {
  content: "5";
}

.page-privacy__list + .page-privacy__list {
  margin-top: 16px;
  margin-top: 1rem;
}

.page-privacy__signature {
  margin-top: 38px;
  margin-top: 2.375rem;
  text-align: right;
}

.page-privacy__info {
  border: 1px solid #B9B9B9;
  border: 0.0625rem solid #B9B9B9;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.page-privacy__info-head {
  background-color: #B9B9B9;
  display: block;
  padding: 20px 28px;
  padding: 1.25rem 1.75rem;
}

.page-privacy__info-wrap {
  padding: 30px 28px 38px;
  padding: 1.875rem 1.75rem 2.375rem;
}

.page-privacy__info-wrap p {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6875;
}

.page-privacy__items {
  margin-top: 52px;
  margin-top: 3.25rem;
}

.page-privacy__headline {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4166666667;
  padding-left: 20px;
  padding-left: 1.25rem;
  position: relative;
}

.page-privacy__headline::before {
  background-color: #2196f3;
  border-radius: 0.1875rem;
  content: "";
  height: 34px;
  height: 2.125rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 6px;
  width: 0.375rem;
}

.page-privacy__headline::after {
  background-color: #2196f3;
  border-radius: 0.1875rem;
  bottom: -7px;
  bottom: -0.4375rem;
  content: "";
  height: 3px;
  height: 0.1875rem;
  left: 0;
  opacity: 0.1;
  position: absolute;
  width: 100%;
}

.page-privacy__item {
  margin-top: 54px;
  margin-top: 3.375rem;
}

.page-privacy__term {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 500;
  padding-bottom: 13px;
  padding-bottom: 0.8125rem;
  position: relative;
}

.page-privacy__term::before {
  background-color: #2196f3;
  bottom: 0;
  content: "";
  height: 3px;
  height: 0.1875rem;
  left: 0;
  position: absolute;
  width: 100px;
  width: 6.25rem;
}

.page-privacy__text {
  font-weight: 400;
  line-height: 1.3333;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.page-privacy__text--top {
  margin-bottom: 32px;
  margin-bottom: 2rem;
}

.page-privacy__description {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.page-privacy__description-numbers {
  counter-reset: number;
}

.page-privacy__description-text + .page-privacy__description-numbers,
.page-privacy__description-numbers + .page-privacy__description-text,
.page-privacy__description-text + .page-privacy__description-items {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.page-privacy__description-text {
  line-height: 1.3333333333;
}

.page-privacy__description-item {
  line-height: 1.3333333333;
}

.page-privacy__description-text + .page-privacy__description-text,
.page-privacy__description-item + .page-privacy__description-item {
  margin-top: 12px;
  margin-top: 0.75rem;
}
.page-privacy__description-number {
  line-height: 1.3333333333;
  margin-top: 16px;
  margin-top: 1rem;
  padding-left: 20px;
  padding-left: 1.25rem;
  text-indent: -1.5em;
}

.page-privacy__description-number.page-privacy--large {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  padding-left: 30px;
  padding-left: 1.875rem;
}

.page-privacy__description-number::before {
  color: #2196f3;
  content: counter(number) "　";
  counter-increment: number;
  font-weight: 700;
}

.page-privacy__description-items {
  list-style: disc;
  padding-left: 20px;
  padding-left: 1.25rem;
}

.page-privacy__description-item::marker {
  color: #2196f3;
}

.page-privacy__caution {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.2;
  margin-top: 32px;
  margin-top: 2rem;
}

.page-privacy__caution a {
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2196f3;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 3px;
  gap: 0.1875rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: underline;
}

.page-privacy__caution span {
  background-image: url(../images/common/icon-link.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  height: 13px;
  height: 0.8125rem;
  width: 13px;
  width: 0.8125rem;
}

.page-privacy__description-text a {
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline;
  color: #2196f3;
  text-decoration: underline;
}

.page-privacy__btn {
  margin-top: 34px;
  margin-top: 2.125rem;
  text-align: left;
}

.page-privacy__text-wrap {
  margin-top: 10px;
  margin-top: 0.625rem;
  padding-left: 20px;
  padding-left: 1.25rem;
}

.page-privacy__head-text {
  font-weight: 700;
}

.page-privacy__table {
  margin-top: 24px;
  margin-top: 1.5rem;
  overflow-x: auto;
}

.page-single {
  margin-top: 70px;
  margin-top: 4.375rem;
}

.page-single__container {
  margin: 0 auto;
  max-width: 770px;
  max-width: 48.125rem;
}

.page-single__img {
  width: 100%;
}

.page-single__img img {
  -o-object-fit: contain;
  aspect-ratio: 770/489;
  height: auto;
     object-fit: contain;
  width: 100%;
}

.page-single__contents {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.page-single__date {
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}

.page-single__title {
  font-size: 21px;
  font-size: 1.3125rem;
  font-weight: 700;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.page-single__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #585858;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 105px;
  margin-top: 6.5625rem;
  padding-top: 50px;
  padding-top: 3.125rem;
}

.page-single__link a {
  font-family: "Noto Sans", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  text-transform: uppercase;
}

.page-single__content {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.page-single__content p {
  font-size: 16px;
  font-size: 1rem;
  margin-top: 20px;
  margin-top: 1.25rem;
}
.page-single__content p + p {
  margin-top: 46px;
  margin-top: 2.875rem;
}
.page-single__content h2 {
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-top: 40px;
  margin-top: 2.5rem;
  position: relative;
}
.page-single__content h3 {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 32px;
  margin-top: 2rem;
}
.page-single__content h4 {
  font-size: 24px;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-top: 32px;
  margin-top: 2rem;
}
.page-single__content h5 {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.5;
  margin-top: 24px;
  margin-top: 1.5rem;
}
.page-single__content h6 {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-top: 32px;
  margin-top: 2rem;
}
.page-single__content p a {
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline #585858;
  text-decoration: underline;
          text-decoration: underline;
          text-decoration: underline #585858;
}
.page-single__content p strong {
  font-size: 16px;
  font-size: 1rem;
}
.page-single__content ul {
  margin-top: 40px;
  margin-top: 2.5rem;
}
.page-single__content ul li {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 22px;
  padding-left: 1.375rem;
  text-indent: -18px;
  text-indent: -1.125rem;
}
.page-single__content ul li ul {
  margin-top: 10px;
  margin-top: 0.625rem;
}
.page-single__content ul li:not(:first-of-type),
.page-single__content ol li:not(:first-of-type) {
  margin-top: 16px;
  margin-top: 1rem;
}
.page-single__content ul li::before {
  background-color: #585858;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 6px;
  height: 0.375rem;
  margin-right: 10px;
  margin-right: 0.625rem;
  position: relative;
  top: -2px;
  top: -0.125rem;
  width: 6px;
  width: 0.375rem;
}
.page-single__content ol {
  counter-reset: number;
  margin-top: 40px;
  margin-top: 2.5rem;
}
.page-single__content ol ol {
  margin-top: 16px;
  margin-top: 1rem;
}
.page-single__content ol ol li::before {
  display: none;
}
.page-single__content ol li {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 28px;
  padding-left: 1.75rem;
  text-indent: -12px;
  text-indent: -0.75rem;
}
.page-single__content ol li ul {
  margin-top: 10px;
  margin-top: 0.625rem;
}
.page-single__content ol li ol {
  padding-left: 20px;
  padding-left: 1.25rem;
}
.page-single__content ol li ol li {
  padding-left: 0;
  text-indent: 0;
}
.page-single__content ol li::before {
  color: #585858;
  content: counter(number) ".";
  counter-increment: number;
  display: inline-block;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  margin-right: 10px;
  margin-right: 0.625rem;
}
.page-single__content ol li::marker {
  color: #585858;
  display: inline-block;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  margin-left: 20px;
  margin-left: 1.25rem;
  position: absolute;
}
.page-single__content figure {
  margin-top: 32px;
  margin-top: 2rem;
}
.page-single__content figure img {
  -o-object-fit: cover;
  aspect-ratio: 770/490;
  height: 100%;
     object-fit: cover;
  width: 100%;
}
.page-single__content blockquote {
  background-color: #585858;
  border-radius: 0.625rem;
  margin-top: 30px;
  margin-top: 1.875rem;
  padding: 40px;
  padding: 2.5rem;
}
.page-single__content blockquote cite {
  display: inline-block;
  margin-top: 32px;
  margin-top: 2rem;
}
.page-single__content blockquote p {
  margin-top: 0;
}

.plan-list {
  font-family: "Roboto", sans-serif;
  text-align: center;
}

.plan-list__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
}

.plan-list__head {
  font-size: 14px;
  font-size: 0.875rem;
}

.plan-list__cards {
  grid-gap: 1rem;
  display: grid;
  gap: 16px;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 16px;
  margin-top: 1rem;
}

.plan-list__card {
  background: #FFF6D9;
  border: 1px solid #333;
  border: 0.0625rem solid #333;
  padding: 20px 0;
  padding: 1.25rem 0;
}

.plan-list__plan {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
}

.plan-list__time {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 400;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.plan-list__time span {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 0 12px;
  padding: 0 0.75rem;
}

.plan-list__price {
  color: #b60014;
}

.plan-list__price span {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0 12px;
  padding: 0 0.75rem;
}

.post-card__img {
  border: 1px solid #585858;
  overflow: hidden;
  width: 100%;
}
.post-card__img img {
  -o-object-fit: contain;
  aspect-ratio: 770/489;
  height: 100%;
     object-fit: contain;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 100%;
}

.post-card__content {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.post-card__date {
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.8571428571;
}

.post-card__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  display: -webkit-box;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.9285714286;
  overflow: hidden;
}
.price-list {
  border-collapse: collapse;
  line-height: 1;
  text-align: center;
  width: 100%;
}

.price-list tr:nth-of-type(2n+3) {
  background-color: #f7f7f7;
}

.price-list__head {
  background-color: #73B2C8;
  border: 1px solid #ccc;
  color: #fff;
  font-size: 24px;
  font-size: 1.5rem;
  padding: 16px 0;
  padding: 1rem 0;
  width: 33.333%;
}

.price-list__data {
  border: 1px solid #ccc;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3;
  padding: 18px 0;
  padding: 1.125rem 0;
  width: 33.333%;
}

.price-list__data span {
  display: block;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem;
  position: relative;
  text-decoration-line: line-through;
}

.price {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.price__title {
  color: #0276aa;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
}

.price__wrap {
  margin-top: 32px;
  margin-top: 2rem;
}

.price__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 24px;
  padding-top: 1.5rem;
}

.price__item + .price__item {
  border-top: 1px solid #F2BC0C;
  margin-top: 32px;
  margin-top: 2rem;
}

.price__item-head {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  width: 20%;
}

.price__item-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

.price__list-head {
  color: #0276aa;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.price__list {
  margin-top: 24px;
  margin-top: 1.5rem;
  max-width: 1000px;
  max-width: 62.5rem;
}

.price__list-caution {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.price__caution {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
}

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

.price__caution span {
  color: #b60014;
  font-weight: 700;
}

.shop-card__img {
  border: 1px solid #585858;
  overflow: hidden;
  width: 100%;
}
.shop-card__img img {
  -o-object-fit: cover;
  aspect-ratio: 770/489;
  height: 100%;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 100%;
}

.shop-card__content {
  margin-top: 12px;
  margin-top: 0.75rem;
  padding: 14px;
  padding: 0.875rem;
}

.shop-card__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.shop-card__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  display: -webkit-box;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.9285714286;
  margin-top: 12px;
  margin-top: 0.75rem;
  overflow: hidden;
}

.shop-card__price {
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 10px;
  margin-top: 0.625rem;
  text-align: right;
}

.shop-card__price-text span {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0 10px;
  padding: 0 0.625rem;
}
.shop-single {
  margin-top: 70px;
  margin-top: 4.375rem;
}

.shop-single__container {
  margin: 0 auto;
  max-width: 770px;
  max-width: 48.125rem;
}

.shop-single__head {
  text-align: center;
}

.shop-single__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
}

.shop-single__img {
  margin-top: 40px;
  margin-top: 2.5rem;
  width: 100%;
}

.shop-single__img img {
  -o-object-fit: cover;
  aspect-ratio: 770/489;
  height: auto;
     object-fit: cover;
  width: 100%;
}

.shop-single__contents {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.shop-single__price-text {
  font-size: 20px;
  font-size: 1.25rem;
  text-align: right;
}

.shop-single__price-text span {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0 10px;
  padding: 0 0.625rem;
}

.shop-single__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #585858;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 60px;
  margin-top: 3.75rem;
  padding-top: 50px;
  padding-top: 3.125rem;
}

.shop-single__link a {
  font-family: "Noto Sans", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  text-transform: uppercase;
}

.shop-single__content {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.shop__title {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
}

.shop__content {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.shop__items {
  grid-column-gap: 2.25rem;
  -moz-column-gap: 2.25rem;
  grid-row-gap: 3.75rem;
       -webkit-column-gap: 2.25rem;
               column-gap: 2.25rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 60px;
  row-gap: 3.75rem;
}

.shop__item {
  background: #FFF6D9;
  -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.16);
}

.tab__lists {
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
  max-width: 1200px;
  max-width: 75rem;
}

.tab__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.tab__menu-item {
  background-color: #fff;
  border: 1px solid #2196f3;
  color: #2196f3;
  cursor: pointer;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  min-width: 100px;
  min-width: 6.25rem;
  padding: 16px;
  padding: 1rem;
  text-align: center;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

.tab__menu-item + .tab__menu-item {
  margin-left: 30px;
  margin-left: 1.875rem;
}

.tab__menu-item.is-active {
  background-color: #2196f3;
  color: #fff;
}

.tab__content {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.tab__content-item {
  background-color: #fff;
  border: 1px solid #2196f3;
  display: none;
  padding: 25px;
  padding: 1.5625rem;
}

.tab__content-item.is-active {
  -webkit-animation: fade 0.3s;
          animation: fade 0.3s;
  display: block;
}

@-webkit-keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.top-feature {
  background: #FFF6D9;
  padding: 20px;
  padding: 1.25rem;
  text-align: center;
}
.top-feature__content {
  background: #fff;
  padding: 30px;
  padding: 1.875rem;
}

.top-feature__text {
  margin-top: 16px;
  margin-top: 1rem;
}

/* アイテムリストのスタイル */
.top-feature__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  margin-top: 32px;
  margin-top: 2rem;
  padding: 0;
}

.top-feature__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 2px solid #b60014;
  border: 0.125rem solid #b60014;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 240px;
  height: 15rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px;
  padding: 1.25rem;
  text-align: center;
  width: 240px;
  width: 15rem;
}

.top-feature__icon {
  height: 40px;
  height: 2.5rem;
  width: 40px;
  width: 2.5rem;
}

.top-feature__icon img {
  -o-object-fit: contain;
  aspect-ratio: 1/1;
     object-fit: contain;
  width: 100%;
}

.top-feature__text-box {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.top-feature__title {
  color: #b60014;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
}

.top-feature__description {
  color: #272727;
  font-size: 13px;
  font-size: 0.8125rem;
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.top-feature__btn {
  margin-top: 48px;
  margin-top: 3rem;
}

.top-info__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.top-info__item {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 80px 0;
  padding: 5rem 0;
  position: relative;
}

.top-info__item:nth-of-type(1) {
  background-image: url(./../images/top/mv1.jpeg);
}

.top-info__item:nth-of-type(2) {
  background-image: url(./../images/top/mv2.jpeg);
}

.top-info__item:nth-of-type(3) {
  background-image: url(./../images/top/mv3.jpeg);
}

.top-info__item:nth-of-type(4) {
  background-image: url(./../images/top/mv4.jpeg);
}

.top-info__item::before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.top-info__item:nth-of-type(1)::before {
  background-color: rgba(88, 88, 88, 0.8);
}

.top-info__item:nth-of-type(2)::before {
  background-color: rgba(185, 185, 185, 0.8);
}

.top-info__item:nth-of-type(3)::before {
  background-color: rgba(185, 185, 185, 0.8);
}

.top-info__item:nth-of-type(4)::before {
  background-color: rgba(88, 88, 88, 0.8);
}

.top-info__item-content {
  position: relative;
}

.top-info__item-title {
  color: #fff;
  font-size: 48px;
  font-size: 3rem;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.top-info__item-title span {
  display: block;
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 25px;
  margin-top: 1.5625rem;
}

.top-info__item-text {
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 26px;
  margin-top: 1.625rem;
  padding: 0 20px;
  padding: 0 1.25rem;
  text-align: center;
}

.top-info__btn-wrap {
  margin-top: 32px;
  margin-top: 2rem;
  text-align: center;
}

.top-info__btn {
  background-color: #234F5E;
  border-radius: 2rem;
  color: #fff;
  display: inline-block;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  max-width: 360px;
  max-width: 22.5rem;
  padding: 20px 0;
  padding: 1.25rem 0;
  width: 100%;
}

.top-info__btn.top-info__btn--request {
  background-color: #73B2C8;
}

.top-link__content {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  gap: 2.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
  margin-top: 2rem;
  max-width: 1200px;
  max-width: 75rem;
}

.top-link__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 30%;
}

.top-link__item + .top-link__item {
  margin-top: 32px;
  margin-top: 2rem;
}

.top-link__head {
  font-family: "Noto Sans", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
}

.top-link__img {
  display: block;
  margin-top: 16px;
  margin-top: 1rem;
}

.top-link__center {
  width: 25%;
}

.top-link__instagram {
  display: block;
  margin-top: 16px;
  margin-top: 1rem;
}

.top-link__instagram img {
  -o-object-fit: contain;
  aspect-ratio: 530/700;
     object-fit: contain;
  width: 100%;
}

.top-link__right {
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  width: 25%;
}

.top-news__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.top-news__title {
  font-family: "Noto Sans", sans-serif;
  font-size: 32px;
  font-size: 2rem;
  letter-spacing: 0.02em;
  text-align: center;
  width: 30%;
}

.top-news__content {
  width: 70%;
}

.top-news__item a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  gap: 2rem;
  padding: 20px;
  padding: 1.25rem;
}

.top-news__btn {
  font-family: "Noto Sans", sans-serif;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.625;
  margin-top: 30px;
  margin-top: 1.875rem;
  text-transform: uppercase;
}

.top-news__btn a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 8px;
  gap: 0.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 0;
  padding: 0.625rem 0;
}

.top-news__btn span {
  background-image: url(../images/common/btn-arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  height: 10px;
  height: 0.625rem;
  width: 30px;
  width: 1.875rem;
}

.top-recruit {
  background-image: url(./../images/top/top-recruit.jpeg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0;
  padding: 3.75rem 0;
  position: relative;
}

.top-recruit::before {
  background-color: rgba(0, 0, 0, 0.6);
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.top-recruit__inner {
  margin: auto;
  max-width: 1200px;
  max-width: 75rem;
  padding: 0 25px;
  padding: 0 1.5625rem;
  width: 100%;
}

.top-recruit__title {
  color: #fff;
  font-size: 60px;
  font-size: 3.75rem;
  line-height: 1;
  padding-bottom: 25px;
  padding-bottom: 1.5625rem;
  position: relative;
  text-transform: uppercase;
}

.top-recruit__title::before {
  background: #DE8430;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 50px;
  width: 3.125rem;
}

.top-recruit__title span {
  display: block;
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.top-recruit__text {
  color: #fff;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
  margin-top: 32px;
  margin-top: 2rem;
  position: relative;
  text-align: center;
}

.top-recruit__btn-wrap {
  margin-top: 30px;
  margin-top: 1.875rem;
  position: relative;
  text-align: center;
}

.top-recruit__btn {
  background-color: #fff;
  border: 1px solid #000;
  display: inline-block;
  font-size: 24px;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 24px 60px;
  padding: 1.5rem 3.75rem;
  text-transform: uppercase;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.top-works {
  overflow-x: hidden;
}

.top-works__inner {
  margin: auto;
  max-width: 1200px;
  max-width: 75rem;
  padding: 0 25px;
  padding: 0 1.5625rem;
  width: 100%;
}

.works-list__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 500px;
  height: 31.25rem;
}

.works-list__item:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.works-list__item + .works-list__item {
  margin-top: 80px;
  margin-top: 5rem;
}

.works-list__item-img {
  margin: 0;
  margin: initial;
  max-width: 860px;
  max-width: 53.75rem;
  width: 100%;
}

.works-list__item-img img {
  -o-object-fit: cover;
  aspect-ratio: 860/650;
     object-fit: cover;
  width: 100%;
}

.works-list__item-content-bg {
  background-color: #03a9f4;
  height: 100%;
  margin-left: -50px;
  margin-left: -3.125rem;
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  padding: 30px 30px 30px 50px;
  padding: 1.875rem 1.875rem 1.875rem 3.125rem;
  position: relative;
  width: 100vw;
}

.works-list__item-content-bg.bg-green {
  background-color: #4caf50;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.works-list__item-content-bg.bg-red {
  background-color: #b60014;
}

.works-list__item:nth-of-type(even) .works-list__item-content-bg {
  margin-left: calc(50% - 50vw);
  margin-right: -50px;
  margin-right: -3.125rem;
  padding: 30px 50px 30px 30px;
  padding: 1.875rem 3.125rem 1.875rem 1.875rem;
}

.works-list__item-content {
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
}

.works-list__item:nth-of-type(even) .works-list__item-content {
  margin-left: auto;
}

.works-list__item-title {
  color: #fff;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.works-list__item-text {
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-top: 12px;
  margin-top: 0.75rem;
}

.works-list__item-btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  gap: 1.25rem;
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: left;
}

.works-list__item-btn-wrap.works-list__item-btn-wrap--grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.works-list__item-btn-wrap a {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 300px;
  width: 18.75rem;
}

.works-list__item-btn {
  border: 1px solid #fff;
  border-radius: 0.3125rem;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  font-size: 0.9375rem;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 14px 55px;
  padding: 0.875rem 3.4375rem;
  text-transform: uppercase;
}

.breadcrumb span[property=itemListElement]:nth-child(n+2) {
  margin-left: 10px;
  margin-left: 0.625rem;
}

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
}

.card__item {
  background: #FFF6D9;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  padding: 12px;
  padding: 0.75rem;
  width: 100%;
}

.card__img {
  width: 100%;
}

.card__img img,
.card__img source {
  -o-object-fit: cover;
  aspect-ratio: 300/200;
     object-fit: cover;
  width: 100%;
}

.card__content {
  margin-top: 16px;
  margin-top: 1rem;
}

.card__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
}

.card__text {
  margin-top: 12px;
  margin-top: 0.75rem;
}

/* （the_content()で出力したものへのスタイル） */
.p-content h2 {
  font-size: 140%;
  font-weight: 700;
}

.p-content h3 {
  font-size: 130%;
  font-weight: 700;
}

.p-content h4 {
  font-size: 120%;
  font-weight: 700;
}

.p-content h2:nth-of-type(1) {
  margin-top: 25px;
  margin-top: 1.5625rem;
}

.p-content h2:nth-of-type(n + 2) {
  margin-top: 64px;
  margin-top: 4rem;
}

.p-content figure:nth-child(n+2) {
  margin-top: 42px;
  margin-top: 2.625rem;
}

.wp-block-file,
.p-content p:nth-child(n+2),
.p-content h3:nth-child(n+2),
.p-content h4:nth-child(n+2),
.p-content h2 + ul:nth-of-type(n + 2),
.p-content h2 + ol:nth-of-type(n + 2),
.p-content ol > li > ol:nth-of-type(n + 2),
.p-content figure {
  margin-top: 22px;
  margin-top: 1.375rem;
  max-width: 100%;
}

.p-content img {
  width: auto;
}

.p-content figure.aligncenter,
.p-content img.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.p-content figure.alignright,
.p-content img.alignright {
  margin-left: auto;
}

.p-content > ol {
  counter-reset: number 0;
}

.p-content > ol > li {
  padding-left: 24px;
  padding-left: 1.5rem;
  text-indent: -16px;
  text-indent: -1rem;
}

.p-content > ol > li:nth-child(n+10) {
  text-indent: -24px;
  text-indent: -1.5rem;
}

.p-content > ol > li::before {
  content: counter(number) ". ";
  counter-increment: number 1;
}

.p-content > ol > li > ol {
  counter-reset: number 0;
}

.p-content > ol > li > ol > li {
  padding-left: 24px;
  padding-left: 1.5rem;
  text-indent: -16px;
  text-indent: -1rem;
}

.p-content > ol > li > ol > li::before {
  content: counter(number, lower-alpha) ". ";
  counter-increment: number 1;
}

.p-content > ol > li > ol > li > ol {
  counter-reset: number 0;
}

.p-content > ol > li > ol > li > ol > li {
  padding-left: 22px;
  padding-left: 1.375rem;
}

.p-content > ol > li > ol > li > ol > li:nth-child(1) {
  text-indent: -12px;
  text-indent: -0.75rem;
}

.p-content > ol > li > ol > li > ol > li:nth-child(2) {
  text-indent: -16px;
  text-indent: -1rem;
}

.p-content > ol > li > ol > li > ol > li:nth-child(n+3) {
  text-indent: -20px;
  text-indent: -1.25rem;
}

.p-content > ol > li > ol > li > ol > li::before {
  content: counter(number, lower-roman) ". ";
  counter-increment: number 1;
}

.p-content ul > li {
  padding-left: 1em;
  text-indent: -1em;
}

.p-content ul > li::before {
  content: "・";
}

.p-content ul > li ol {
  counter-reset: number 0;
}

.p-content ul > li ol > li {
  padding-left: 2em;
  text-indent: -2em;
}

.p-content ul > li ol > li::before {
  content: "(" counter(number) ") ";
  counter-increment: number 1;
}

.p-content th {
  border: none;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
  text-align: left;
}

.p-content td {
  border: none;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
}

.p-content tr:nth-child(odd) th,
.p-content tr:nth-child(odd) td {
  background-color: #f9f9fb;
}

.p-content tr:nth-child(even) th,
.p-content tr:nth-child(even) td {
  background-color: #e5e8ed;
}

.p-content .wp-block-table thead {
  border-bottom: none;
}

.p-content figure.aligncenter,
.p-content img.aligncenter {
  float: none;
  margin-left: auto;
  margin-right: auto;
}

.p-content figure.alignright,
.p-content img.alignright {
  float: none;
  margin-left: auto;
}

.p-content a {
  word-wrap: break-word;
  word-wrap: break-word;
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.p-content .wp-block-group {
  background-color: #f7f8f8;
  border-radius: 1rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 300;
  line-height: 2;
  padding: 24px;
  padding: 1.5rem;
}

.p-content cite {
  font-style: normal;
}

.wp-block-file:not(.wp-element-button) a {
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: underline;
}

.wp-block-file:not(.wp-element-button) a::before {
  aspect-ratio: 1/1;
  background: url(../images/common/icon_pdf.svg) no-repeat center/contain;
  content: "";
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: auto;
  margin-right: 4px;
  margin-right: 0.25rem;
  margin-top: 8px;
  margin-top: 0.5rem;
  -webkit-transform: translateY(-0.5rem);
          transform: translateY(-0.5rem);
  width: 24px;
  width: 1.5rem;
}

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

.wpcf7-spinner {
  display: none;
}

.p-form__items {
  grid-gap: 0.9375rem;
  display: grid;
  gap: 15px;
  gap: 0.9375rem;
  grid-template-columns: repeat(1, 1fr);
}

.p-form__item {
  grid-gap: 0.1875rem;
  display: grid;
  gap: 3px;
  gap: 0.1875rem;
  grid-template-columns: repeat(1, 1fr);
}
.p-form__item:first-of-type {
  gap: 10px;
  gap: 0.625rem;
  margin-bottom: 34px;
  margin-bottom: 2.125rem;
}

.p-form__dt {
  letter-spacing: 0.1em;
  line-height: 1.5384615385;
}

.p-form__item:first-of-type .p-form__dt {
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.p-form__dd .wpcf7-checkbox,
.p-form__dd .wpcf7-radio {
  grid-gap: 0.4375rem;
  display: grid;
  gap: 7px;
  gap: 0.4375rem;
  grid-template-columns: repeat(1, 1fr);
}

.p-form__dd label {
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  line-height: 1.4285714286;
}
.p-form__dd input:not([type=radio]):not([type=checkbox]),
.p-form__dd textarea {
  background-color: #fff;
  border: 1px solid;
  border-radius: 0.375rem;
  display: block;
  padding: 5px 10px;
  padding: 0.3125rem 0.625rem;
  width: 100%;
}

.p-form__dd input::-moz-placeholder, .p-form__dd textarea::-moz-placeholder {
  color: #8f8f8f;
}

.p-form__dd input::-webkit-input-placeholder, .p-form__dd textarea::-webkit-input-placeholder {
  color: #8f8f8f;
}

.p-form__dd input:-ms-input-placeholder, .p-form__dd textarea:-ms-input-placeholder {
  color: #8f8f8f;
}

.p-form__dd input::-ms-input-placeholder, .p-form__dd textarea::-ms-input-placeholder {
  color: #8f8f8f;
}

.p-form__dd input::placeholder,
.p-form__dd textarea::placeholder {
  color: #8f8f8f;
}

.p-form__dd input[type=checkbox] + span,
.p-form__dd input[type=radio] + span {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  gap: 0.375rem;
  position: relative;
}

.p-form__dd input[type=radio] + span::before {
  aspect-ratio: 1/1;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 50%;
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: auto;
  margin-right: 10px;
  margin-right: 0.625rem;
  width: 20px;
  width: 1.25rem;
}
.p-form__dd input[type=radio]:checked + span::after {
  aspect-ratio: 1/1;
  background-color: #333;
  border-radius: 50%;
  bottom: 0;
  content: "";
  display: inline-block;
  height: auto;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  width: 20px;
  width: 1.25rem;
}

.p-form__dd input[type=checkbox] + span::before {
  aspect-ratio: 1/1;
  border: 1px solid #333;
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: auto;
  margin-right: 10px;
  margin-right: 0.625rem;
  margin-top: 6px;
  margin-top: 0.375rem;
  width: 12px;
  width: 0.75rem;
}

.p-form__dd input[type=checkbox]:checked + span::after {
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  content: "";
  display: inline-block;
  height: 12px;
  height: 0.75rem;
  left: 4px;
  left: 0.25rem;
  margin: auto;
  position: absolute;
  top: 2px;
  top: 0.125rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 6px;
  width: 0.375rem;
}

.p-form__dd textarea {
  height: 146px;
  height: 9.125rem;
}

.p-form__acceptance {
  font-style: normal;
  margin-top: 19px;
  margin-top: 1.1875rem;
  text-align: justify;
}

.p-form__acceptance input + span {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

.p-form__acceptance input + span::before {
  aspect-ratio: 1/1;
  border: 1px solid #333;
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: auto;
  margin-right: 10px;
  margin-right: 0.625rem;
  margin-top: 6px;
  margin-top: 0.375rem;
  width: 12px;
  width: 0.75rem;
}

.p-form__acceptance input:checked + span::after {
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  content: "";
  display: inline-block;
  height: 12px;
  height: 0.75rem;
  left: 4px;
  left: 0.25rem;
  margin: auto;
  position: absolute;
  top: 2px;
  top: 0.125rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 6px;
  width: 0.375rem;
}

.p-form__policy-description {
  margin-top: 28px;
  margin-top: 1.75rem;
}

.p-form__policy-description a {
  -webkit-text-decoration: underline;
  -webkit-text-decoration: underline;
  color: #333;
  text-decoration: underline;
}

.p-form__send {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 27px;
  gap: 1.6875rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 38px auto 0;
  margin: 2.375rem auto 0;
  max-width: 216px;
  max-width: 13.5rem;
  position: relative;
  width: 100%;
}

.p-form__send input {
  background-color: #333;
  border-radius: 100vh;
  color: #fff;
  display: block;
  letter-spacing: 0.06em;
  min-height: 41px;
  min-height: 2.5625rem;
  padding: 0 35px 0 27px;
  padding: 0 2.1875rem 0 1.6875rem;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  width: 100%;
}

/* hover指定できるPCを想定したスタイル */
/* hoverが使えないタッチ端末を想定した装飾 */
/* hover指定できるPCを想定したスタイル */
/* hoverが使えないタッチ端末を想定した装飾 */
.p-lineup__wrap {
  margin-left: auto;
  margin-right: auto;
  margin-top: 120px;
  margin-top: 7.5rem;
  max-width: 900px;
  max-width: 56.25rem;
  width: 100%;
}

.p-lineup__list {
  border-bottom: 1px solid #2196f3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
}

.p-lineup__list + .p-lineup__list {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-lineup__term {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: 700;
  max-width: 230px;
  max-width: 14.375rem;
  padding-left: 24px;
  padding-left: 1.5rem;
  position: relative;
  width: 100%;
}

.p-lineup__term::before {
  background-color: #0276aa;
  bottom: -25px;
  bottom: -1.5625rem;
  content: "";
  height: 2px;
  height: 0.125rem;
  left: 0;
  position: absolute;
  width: 90%;
}

.p-lineup__description {
  font-weight: 400;
  padding-left: 24px;
  padding-left: 1.5rem;
}

.p-lineup__text-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  gap: 2.5rem;
}

.p-modal {
  -ms-overflow-style: none;
  background: rgba(51, 51, 51, 0.7);
  overflow: hidden;
  padding: 100px 0;
  padding: 6.25rem 0;
  width: 100%;
}

.p-modal::-webkit-scrollbar {
  display: none;
}

.p-modal__inner {
  background-color: #fff;
  border-radius: 1.875rem;
  margin: auto;
  max-width: 1022px;
  max-width: 63.875rem;
  padding: 64px;
  padding: 4rem;
  position: relative;
  width: 100%;
  z-index: 1100;
}

.p-modal__close-button {
  background-color: #F2BC0C;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  height: 80px;
  height: 5rem;
  margin: 0;
  outline: none;
  position: absolute;
  right: -30px;
  right: -1.875rem;
  top: -30px;
  top: -1.875rem;
  width: 80px;
  width: 5rem;
}

.p-modal__close-button span {
  background-color: #fff;
  display: inline-block;
  height: 2px;
  height: 0.125rem;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
  width: 32px;
  width: 2rem;
}

.p-modal__close-button span:nth-child(2) {
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

.p-modal__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
  gap: 3rem;
  width: 100%;
}

.p-modal__img {
  border-radius: 1.875rem;
  overflow: hidden;
  width: 308px;
  width: 19.25rem;
}

.p-modal__img img {
  -o-object-fit: cover;
  aspect-ratio: 308/265;
     object-fit: cover;
  width: 100%;
}

.p-modal__headline {
  width: 538px;
  width: 33.625rem;
}

.p-modal__title {
  color: #F2BC0C;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 700;
}

.p-modal__text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7;
  margin-top: 16px;
  margin-top: 1rem;
}

.p-modal__wrap {
  margin-top: 48px;
  margin-top: 3rem;
}

.p-recruit-entry__inner {
  position: relative;
}

.p-recruit-entry__wrap {
  margin-left: auto;
  margin-right: auto;
  margin-top: 64px;
  margin-top: 4rem;
  max-width: 900px;
  max-width: 56.25rem;
  width: 100%;
}

.p-recruit-entry__text {
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.p-recruit-entry__btn {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}

.p-recruit-entry__btn .c-btn {
  padding: 24px 92px;
  padding: 1.5rem 5.75rem;
}

.p-recruit-entry__blur-circle-1 {
  bottom: -13%;
  left: 50%;
  width: 400px;
  width: 25rem;
}

.p-recruit-entry__blur-circle-2 {
  left: 21%;
  top: -23%;
  width: 400px;
  width: 25rem;
}

.p-recruit-greeting__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 100px;
  gap: 6.25rem;
  position: relative;
}

.p-recruit-greeting__img-wrap {
  position: relative;
  width: 514px;
  width: 32.125rem;
}

.p-recruit-greeting__img {
  border-radius: 1.875rem;
  overflow: hidden;
  width: 100%;
}

.p-recruit-greeting__img img {
  -o-object-fit: cover;
  aspect-ratio: 514/540;
     object-fit: cover;
  width: 100%;
}

.p-recruit-greeting__wrap {
  padding-bottom: 46px;
  padding-bottom: 2.875rem;
  padding-top: 46px;
  padding-top: 2.875rem;
  width: 577px;
  width: 36.0625rem;
}

.p-recruit-greeting__green-text {
  color: #F2BC0C;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-recruit-greeting__text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-recruit-job__items {
  grid-gap: 2.5rem;
  cursor: pointer;
  display: grid;
  gap: 40px;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 64px;
  margin-top: 4rem;
}
.p-recruit-job__img {
  border-radius: 1.875rem;
  overflow: hidden;
}

.p-recruit-job__img img {
  -o-object-fit: cover;
  aspect-ratio: 370/280;
     object-fit: cover;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
}

.p-recruit-job__img.p-recruit-job__img--top img {
  -o-object-position: top;
     object-position: top; /* 画像の上部を表示 */
}

.p-recruit-job__link {
  color: #F2BC0C;
  display: inline-block;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
  margin-top: 16px;
  margin-top: 1rem;
  padding-right: 44px;
  padding-right: 2.75rem;
  position: relative;
}

.p-recruit-job__link.p-recruit-job__link--small {
  font-size: 17px;
  font-size: 1.0625rem;
}

.p-recruit-job__link::after {
  background-image: url(../images/common/arrow-green.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 21px;
  height: 1.3125rem;
  position: absolute;
  right: 0;
  top: 60%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 21px;
  width: 1.3125rem;
}

.p-recruit-job__link span {
  position: relative;
}

/* 下線アニメーション用のスタイル */
.p-recruit-job__link span::after {
  background-color: #F2BC0C;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease; /* widthを変化させることでアニメーションを実現 */
  width: 0; /* 初期状態では下線が表示されないようにする */
}

/* ホバー時のスタイル */
.p-recruit-job__modal {
  bottom: 0;
  display: none;
  left: 0;
  overflow-y: scroll;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000;
}

.p-recruit-voice__cards {
  margin-top: 64px;
  margin-top: 4rem;
}

.p-voice-card {
  grid-gap: 4rem;
  display: grid;
  gap: 64px;
  gap: 4rem;
  grid-template-columns: repeat(2, 1fr);
}

.p-voice-card__item {
  background-color: #fff;
  border-radius: 1.875rem;
  -webkit-box-shadow: 0 0 2.5rem 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 2.5rem 0 rgba(0, 0, 0, 0.05);
  display: block;
  height: 100%;
  overflow: hidden;
}

.p-voice-card__wrap {
  position: relative;
}

.p-voice-card__item-img {
  width: 100%;
}

.p-voice-card__item-img img {
  -o-object-fit: cover;
  aspect-ratio: 563/323;
     object-fit: cover;
  width: 100%;
}

.p-voice-card__name {
  background-color: #fff;
  border-radius: 0 1.875rem 0 0;
  bottom: 0;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  left: 0;
  line-height: 1.8;
  padding: 24px 40px;
  padding: 1.5rem 2.5rem;
  position: absolute;
}

.p-voice-card__name span {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  margin-left: 24px;
  margin-left: 1.5rem;
}

.p-voice-card__item-content {
  padding: 32px;
  padding: 2rem;
}

.p-voice-card__item-text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

.r-footer {
  background: #2196f3;
  margin-top: 80px;
  margin-top: 5rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  padding-top: 50px;
  padding-top: 3.125rem;
}

.r-footer__inner {
  margin: auto;
  max-width: 1250px;
  max-width: 78.125rem;
  padding-left: 25px;
  padding-left: 1.5625rem;
  padding-right: 25px;
  padding-right: 1.5625rem;
  width: 100%;
}

.r-footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.r-footer__sub {
  border-bottom: 1px solid #B9B9B9;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
  text-align: center;
}

.r-footer__head {
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.56;
}

.r-footer__btn-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  gap: 1.875rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.r-footer__btn-box.u-mobile {
  display: none;
}

.r-footer__btn-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px 30px;
  padding: 1.25rem 1.875rem;
  width: 33%;
}

.r-footer__btn-title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.31;
}

.r-footer__tel {
  font-family: "Noto Sans", sans-serif;
  font-size: 39px;
  font-size: 2.4375rem;
  font-weight: 700;
  line-height: 1.13;
  margin-top: 12px;
  margin-top: 0.75rem;
  white-space: nowrap;
}

.r-footer__tel span {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.18;
}

.r-footer__btn-item small {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.33;
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.r-footer__btn-item img {
  -o-object-fit: contain;
  aspect-ratio: 1/1;
  height: 24px;
  height: 1.5rem;
     object-fit: contain;
  width: 24px;
  width: 1.5rem;
}

.r-footer__btn-item .common_circle_btn {
  font-family: "Noto Sans JP", sans-serif;
  gap: initial;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 12px;
  margin-top: 0.75rem;
  width: 100%;
}

.r-footer__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 70px;
  gap: 4.375rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 70px;
  margin-top: 4.375rem;
}

.r-footer__left {
  color: #fff;
}

.r-footer__logo-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
}

.r-footer__logo img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-footer__logo a {
  background: #fff;
  display: inline-block;
  padding: 20px;
  padding: 1.25rem;
}

.r-footer__logo-text {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 300;
  line-height: 1.67;
}

.r-footer__info {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  letter-spacing: 0.07em;
  line-height: 1.57;
  margin-top: 15px;
  margin-top: 0.9375rem;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
}

.r-footer__right {
  -o-object-fit: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
     object-fit: 1/1;
  width: 50%;
}

.r-footer__right iframe {
  -o-object-fit: cover;
  height: inherit;
     object-fit: cover;
  width: 100%;
}

.r-footer__link {
  color: #fff;
  margin-top: 80px;
  margin-top: 5rem;
}

.r-footer__top-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.r-footer__link a {
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-footer__link-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  gap: 2.5rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.r-footer__list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 16px;
  margin-top: 1rem;
}

.r-footer__list-head,
.r-footer__items li {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.33;
  padding-left: 10px;
  padding-left: 0.625rem;
  position: relative;
}

.r-footer__list-head::before,
.r-footer__items li::before {
  border-bottom: 4px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  border-style: solid;
  border-top: 4px solid transparent;
  content: "";
  height: 0;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
}

.r-footer__list-link li,
.r-footer__items li {
  margin-top: 14px;
  margin-top: 0.875rem;
}

.r-footer__list-link li:first-child,
.r-footer__items li:first-child {
  margin-top: 0;
}

.r-footer__list-link li:hover a,
.r-footer__items li:hover a {
  color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-footer__sp-link {
  display: none;
}

.r-footer__sp-link a {
  display: inline-block;
}

.r-footer__copyright {
  color: #fff;
  display: block;
  font-weight: 300;
  margin-top: 100px;
  margin-top: 6.25rem;
  text-align: center;
}

.r-header {
  background: #fff;
  height: 140px;
  height: 8.75rem;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 900;
}

.r-header__inner {
  height: inherit;
  margin-left: auto;
  margin-right: auto;
}

.r-header__top-inner {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  max-width: 90rem;
  padding: 14px 50px;
  padding: 0.875rem 3.125rem;
}

.r-header__logo-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
}

.r-header__logo {
  height: 70px;
  height: 4.375rem;
  max-width: 300px;
  max-width: 18.75rem;
  width: 100%;
}

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

.r-header__logo img {
  -o-object-fit: contain;
  height: 100%;
     object-fit: contain;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  width: 100%;
}

.r-header__logo-text {
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 300;
  line-height: 1.67;
  white-space: nowrap;
}

.r-header__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.r-header__links {
  border-right: 1px solid #D8D8D8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-right: 12px;
  padding-right: 0.75rem;
  row-gap: 14px;
  row-gap: 0.875rem;
}

.r-header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.r-header__login a,
.r-header__register-btn.btn--yellow {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 900;
  gap: 10px;
  gap: 0.625rem;
  letter-spacing: 0.08em;
  line-height: 1.36;
  padding: 8px 10px;
  padding: 0.5rem 0.625rem;
  width: 100%;
}

.r-header__login span {
  -webkit-mask-image: url(/imgs/cosmo/exit.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #F2BC0C;
  display: block;
  height: 14px;
  height: 0.875rem;
          mask-image: url(/imgs/cosmo/exit.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  width: 14px;
  width: 0.875rem;
}

.r-header__login:hover span {
  background: #F2BC0C;
}

.r-header__register-btn span {
  -webkit-mask-image: url(/imgs/cosmo/person.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #fff;
  display: block;
  height: 14px;
  height: 0.875rem;
          mask-image: url(/imgs/cosmo/person.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  width: 14px;
  width: 0.875rem;
}

.r-header__register-btn:hover span {
  background: #F2BC0C;
}

.r-header__register-modal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFF6D9;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* displayを使用しない */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0; /* 初期状態で透明 */
  padding: 20px;
  padding: 1.25rem;
  position: absolute;
  top: 70%;
  -webkit-transition: opacity 0.3s ease, visibility 0s 0.3s;
  transition: opacity 0.3s ease, visibility 0s 0.3s; /* トランジション追加 */
  visibility: hidden; /* 初期状態で非表示 */
  width: 100%;
  z-index: 1000;
}

.r-header__register-modal.is-active {
  opacity: 1; /* アクティブ時は不透明 */
  -webkit-transition: opacity 0.3s ease, visibility 0s 0s;
  transition: opacity 0.3s ease, visibility 0s 0s; /* トランジション設定 */
  visibility: visible; /* アクティブ時は表示 */
}

.r-header__register-item + .r-header__register-item {
  border-left: 2px solid #272727;
  border-left: 0.125rem solid #272727;
  margin-left: 15px;
  margin-left: 0.9375rem;
  padding-left: 15px;
  padding-left: 0.9375rem;
}

.r-header__register-head {
  color: #F2BC0C;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}

.r-header__register-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
  margin-top: 12px;
  margin-top: 0.75rem;
}

.r-header__register-wrap a {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  background-color: #F2BC0C;
  border: 1px solid #F2BC0C;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.r-header__register-wrap a::before {
  border-right: 1px solid #fff;
  border-right: 0.0625rem solid #fff;
  border-top: 1px solid #fff;
  border-top: 0.0625rem solid #fff;
  content: "";
  height: 5px;
  height: 0.3125rem;
  position: absolute;
  right: 12px;
  right: 0.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: right 0.3s ease, border-color 0.3s ease;
  transition: right 0.3s ease, border-color 0.3s ease;
  width: 5px;
  width: 0.3125rem;
}

.r-header__register-wrap a:hover {
  opacity: 0.8;
}

.r-header__register-wrap a:hover::before {
  border-right: 1px solid #fff;
  border-right: 0.0625rem solid #fff;
  border-top: 1px solid #fff;
  border-top: 0.0625rem solid #fff;
  right: 7px;
  right: 0.4375rem;
}

.r-header__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  gap: 2.5rem;
}

.r-header__link a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  gap: 8px;
  gap: 0.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.06em;
  line-height: 1.33;
  white-space: nowrap;
}

.r-header__link span {
  height: 18px;
  height: 1.125rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 18px;
  width: 1.125rem;
}

.r-header__favorite {
  color: #272727;
}

.r-header__favorite span {
  -webkit-mask-image: url(/imgs/cosmo/star.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #272727;
  display: block;
          mask-image: url(/imgs/cosmo/star.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
}

.r-header__favorite:hover {
  color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__favorite:hover span {
  background-color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__history span {
  -webkit-mask-image: url(/imgs/cosmo/clock.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #272727;
  display: block;
          mask-image: url(/imgs/cosmo/clock.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__limit span {
  -webkit-mask-image: url(/imgs/cosmo/home.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #272727;
  display: block;
          mask-image: url(/imgs/cosmo/home.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__history:hover,
.r-header__limit:hover {
  color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__history:hover span,
.r-header__limit:hover span {
  background-color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__tel {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 16px;
  padding-left: 1rem;
}

.r-header__tel span {
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.15;
}

.r-header__tel-content {
  font-family: "Noto Sans", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.15;
}

.r-header__tel p {
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.31;
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.r-header__sub-inner {
  background: #2196f3;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 0;
  padding: 0.625rem 0;
}

.r-header__nav {
  background: #2196f3;
  display: block;
  height: 100%;
}

.r-header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
}

.r-header__nav-item,
.r-header__nav-modal-wrap {
  padding: 0 24px;
  padding: 0 1.5rem;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__nav-item::before,
.r-header__nav-modal-wrap::before {
  background-color: #fff;
  content: "";
  height: 50%;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
}

.r-header__nav-modal-wrap:first-child::before {
  display: none;
}

.r-header__nav-modal-wrap p {
  padding: 0 20px 0 0;
  padding: 0 1.25rem 0 0;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__nav-modal-wrap p::after {
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  content: "";
  height: 8px;
  height: 0.5rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 8px;
  width: 0.5rem;
}

.r-header__nav-modal-wrap:hover.r-header__nav-modal-wrap p::after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__nav-item > a,
.r-header__nav-modal-wrap > p {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 600;
  height: 100%;
  letter-spacing: 0.04em;
  line-height: 1.31;
  white-space: nowrap;
}

.r-header__nav-modal {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #2196f3;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0;
  padding: 30px 0;
  padding: 1.875rem 0;
  position: fixed;
  top: 140px;
  top: 8.75rem;
  -webkit-transform: rotateX(90deg);
          transform: rotateX(90deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  visibility: hidden;
  width: 100%;
}

.r-header__nav-modal-wrap:hover > .r-header__nav-modal {
  opacity: 1;
  -webkit-transform: rotateX(0deg);
          transform: rotateX(0deg);
  visibility: visible;
}

.r-header__nav-modal-item + .r-header__nav-modal-item {
  margin-left: 70px;
  margin-left: 4.375rem;
}

.r-header__nav-modal-item a {
  color: #fff;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.36;
  padding: 7px 0;
  padding: 0.4375rem 0;
  position: relative;
}

.r-header__nav-modal-item:hover a,
.r-header__nav-item:hover a {
  color: #F2BC0C;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__nav-modal-item a,
.r-header__nav-item a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.r-header__sp {
  display: none;
}

.r-header__sp-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  gap: 0.625rem;
  height: inherit;
}

.r-header__sp-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  gap: 0.625rem;
  height: inherit;
}

.r-header__login-sp a,
.r-header__register-sp-head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1/1;
  color: #F2BC0C;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  gap: 5px;
  gap: 0.3125rem;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.08em;
  line-height: 1.33;
  width: 60px;
  width: 3.75rem;
}

.r-header__login-sp a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 10px;
  font-size: 0.625rem;
  gap: 10px;
  gap: 0.625rem;
  padding: 8px 10px;
  padding: 0.5rem 0.625rem;
  width: 100%;
}

.r-header__login-sp span {
  -webkit-mask-image: url(/imgs/cosmo/login.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #F2BC0C;
  display: block;
  height: 14px;
  height: 0.875rem;
          mask-image: url(/imgs/cosmo/login.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  width: 14px;
  width: 0.875rem;
}

.r-header__register-sp span {
  -webkit-mask-image: url(/imgs/cosmo/person.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background-color: #fff;
  background-color: #F2BC0C;
  display: block;
  height: 14px;
  height: 0.875rem;
          mask-image: url(/imgs/cosmo/person.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
  width: 14px;
  width: 0.875rem;
}

.r-header__register-sp-modal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFF6D9;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  display: block; /* displayを使用しない */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0; /* 初期状態で透明 */
  padding: 20px;
  padding: 1.25rem;
  position: absolute;
  top: 100%;
  -webkit-transition: opacity 0.3s ease, visibility 0s 0.3s;
  transition: opacity 0.3s ease, visibility 0s 0.3s; /* トランジション追加 */
  visibility: hidden; /* 初期状態で非表示 */
  width: 100%;
  z-index: 1000;
}

.r-header__register-sp-modal.is-active {
  opacity: 1; /* アクティブ時は不透明 */
  -webkit-transition: opacity 0.3s ease, visibility 0s 0s;
  transition: opacity 0.3s ease, visibility 0s 0s; /* トランジション設定 */
  visibility: visible; /* アクティブ時は表示 */
}

.r-header__register-sp-item + .r-header__register-sp-item {
  border-top: 2px solid #272727;
  border-top: 0.125rem solid #272727;
  margin-top: 15px;
  margin-top: 0.9375rem;
  padding-top: 15px;
  padding-top: 0.9375rem;
}

.r-header__register-sp-title {
  color: #F2BC0C;
  font-weight: 700;
}

.r-header__register-sp-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  gap: 0.75rem;
  margin-top: 12px;
  margin-top: 0.75rem;
}

.r-header__register-sp-wrap a {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  background-color: #F2BC0C;
  border: 1px solid #F2BC0C;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 16px 20px;
  padding: 1rem 1.25rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.r-header__register-sp-wrap a::before {
  border-right: 1px solid #fff;
  border-right: 0.0625rem solid #fff;
  border-top: 1px solid #fff;
  border-top: 0.0625rem solid #fff;
  content: "";
  height: 5px;
  height: 0.3125rem;
  position: absolute;
  right: 12px;
  right: 0.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: right 0.3s ease, border-color 0.3s ease;
  transition: right 0.3s ease, border-color 0.3s ease;
  width: 5px;
  width: 0.3125rem;
}

.r-header__hamburger {
  display: none;
}

.r-header__hamburger span {
  background-color: #fff;
  display: block;
  height: 1px;
  left: 50%;
  position: relative;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  width: 25px;
  width: 1.5625rem;
}

.r-header__hamburger p {
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  left: 50%;
  line-height: 9.17;
  position: absolute;
  text-transform: capitalize;
  top: 14px;
  top: 0.875rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.r-header__hamburger span:nth-of-type(1) {
  top: -8px;
  top: -0.5rem;
}

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

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

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

.r-header__hamburger.is-open span:nth-of-type(2) {
  opacity: 0;
}

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

.r-header__drawer {
  background-color: #35baf6;
  bottom: 0;
  display: none;
  height: 100vh;
  left: 0;
  margin-top: 100px;
  margin-top: 6.25rem;
  overflow-y: scroll;
  padding-bottom: 110px;
  padding-bottom: 6.875rem;
  position: absolute;
  right: 0;
  scrollbar-width: none;
  top: 0;
  width: 100%;
  z-index: 900;
}

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

.r-header__drawer-nav {
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
  max-width: 600px;
  max-width: 37.5rem;
  padding: 0 25px;
  padding: 0 1.5625rem;
  width: 100%;
}

.r-header__drawer-item {
  border-bottom: 1px solid #fff;
}

.r-header__drawer-item.r-header__drawer-item--contact {
  border-bottom: none;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.r-header__drawer-item > a,
.r-header__drawer-accordion-title {
  cursor: pointer;
  display: block;
  font-size: 18px;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 20px 32px 20px 0;
  padding: 1.25rem 2rem 1.25rem 0;
}

.r-header__drawer-item.r-header__drawer-item--contact a {
  background-color: #234F5E;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  max-width: 180px;
  max-width: 11.25rem;
  padding: 15px 0;
  padding: 0.9375rem 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.r-header__drawer-item.r-header__drawer-item--contact a::before {
  background-image: url(.//imgs/cosmo/mail-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 15px;
  height: 0.9375rem;
  left: 20px;
  left: 1.25rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 15px;
  width: 0.9375rem;
}

.r-header__drawer-item.r-header__drawer-item--contact a::after {
  border-right: 2px solid #fff;
  border-right: 0.125rem solid #fff;
  border-top: 2px solid #fff;
  border-top: 0.125rem solid #fff;
  content: "";
  height: 8px;
  height: 0.5rem;
  position: absolute;
  right: 20px;
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 8px;
  width: 0.5rem;
}

.r-header__drawer-accordion-title {
  position: relative;
}

.r-header__drawer-accordion-title::before,
.r-header__drawer-accordion-title::after {
  background: #fff;
  content: "";
  display: block;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 15px;
  width: 0.9375rem;
}

.r-header__drawer-accordion-title::before {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.r-header__drawer-accordion-title::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.r-header__drawer-accordion-title.is-open::after {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.r-header__drawer-accordion-list {
  display: none;
  padding: 0 0 20px 10px;
  padding: 0 0 1.25rem 0.625rem;
}

.r-header__drawer-accordion-item > a {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 10px 0;
  padding: 0.625rem 0;
}

.r-header__drawer-accordion-detail-list {
  padding-left: 10px;
  padding-left: 0.625rem;
}

.r-header__drawer-accordion-detail-item a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 5px 0;
  padding: 0.3125rem 0;
}

.r-header__drawer-accordion-detail-item a::before {
  background-color: #272727;
  content: "";
  display: inline-block;
  height: 1px;
  margin-right: 10px;
  margin-right: 0.625rem;
  position: relative;
  width: 15px;
  width: 0.9375rem;
}

.r-header ul {
  margin-bottom: 0;
}
.r-header p {
  margin-bottom: 0;
}
.r-header .btn {
  border-radius: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
}
.r-header .r-header__register-btn {
  color: #fff;
}
.r-header .r-header__nav-item a {
  color: #fff;
}
.r-header .r-header__link a {
  color: #272727;
}
.r-header .r-header__drawer a {
  color: #fff;
}
.r-header a:hover {
  -webkit-text-decoration: none;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.r-header__margin {
  margin-top: 140px;
  margin-top: 8.75rem;
}

.u-hidden {
  overflow: hidden;
}

.u-pc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-pc {
  display: block;
}

.u-sp {
  display: none;
}

.u-text-block {
  display: inline-block;
}

@media (max-width: 1150px){
  html {
    font-size: 1.3913043478vw;
  }
}

@media screen and (max-width: 767px){
  html {
    font-size: 16px;
  }
  html {
    scroll-padding-top: 6.25rem;
  }
  .inner {
    max-width: 580px;
    max-width: 36.25rem;
    padding-left: 20px;
    padding-left: 1.25rem;
    padding-right: 20px;
    padding-right: 1.25rem;
  }
  .l-drawer {
    display: none;
  }
  .layout-breadcrumb {
    margin-top: 17px;
    margin-top: 1.0625rem;
  }
  .layout-section {
    margin-top: 80px;
    margin-top: 5rem;
  }
  .layout-small-section {
    margin-top: 62px;
    margin-top: 3.875rem;
  }
  .common_circle_btn {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    width: 100%;
  }
  .common_circle_btn::before {
    background: #fff;
    border-radius: 50%;
    content: "";
    height: 10px;
    height: 0.625rem;
    position: absolute;
    right: 16%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    width: 10px;
    width: 0.625rem;
    z-index: 1;
  }
  .common_circle_btn::after {
    background: #585858;
    border-radius: 50%;
    content: "";
    height: 26px;
    height: 1.625rem;
    position: absolute;
    right: 10%;
    width: 26px;
    width: 1.625rem;
  }
  .common_circle_btn.common_circle_btn--yellow::before {
    right: 15%;
  }
  .common_circle_btn.common_circle_btn--yellow::after {
    background: #FADA70;
  }
  .common_circle_btn span {
    display: none;
  }
  .common_circle_btn span::before {
    display: none;
  }
  .common-btn {
    font-size: 16px;
    font-size: 1rem;
    padding: 16px 30px;
    padding: 1rem 1.875rem;
  }
  .common-btn span {
    border-right: 2px solid #fff;
    border-right: 0.125rem solid #fff;
    border-top: 2px solid #fff;
    border-top: 0.125rem solid #fff;
    height: 6px;
    height: 0.375rem;
    right: 10px;
    right: 0.625rem;
    width: 6px;
    width: 0.375rem;
  }
  .common-btn.common-btn--yellow::before {
    right: 15%;
  }
  .common-btn.common-btn--yellow::after {
    background: #FADA70;
  }
  .common-btn.common-btn--yellow {
    padding-left: 25px;
    padding-left: 1.5625rem;
  }
  .lower-title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .privacy-table {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .privacy-table__header {
    font-size: 13px;
    font-size: 0.8125rem;
    padding: 10px;
    padding: 0.625rem;
  }
  .privacy-table__cell {
    font-size: 13px;
    font-size: 0.8125rem;
    padding: 10px;
    padding: 0.625rem;
  }
  .privacy-table__note {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .section-title {
    font-size: 22px;
    font-size: 1.375rem;
  }
  .sub-fv {
    margin-top: 80px;
    margin-top: 5rem;
  }
  .sub-fv__title {
    font-size: 40px;
    font-size: 2.5rem;
  }
  .sub-fv__title::before {
    font-size: 50px;
    font-size: 3.125rem;
  }
  .about__item + .about__item {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .company-greeting__contents {
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .company-greeting__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .company-greeting__item + .company-greeting__item {
    margin-top: 36px;
    margin-top: 2.25rem;
  }
  .company-greeting__img-box {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 14px;
    gap: 0.875rem;
    width: 100%;
  }
  .company-greeting__img {
    width: 100%;
  }
  .company-greeting__text-box {
    margin-top: 32px;
    margin-top: 2rem;
    width: 100%;
  }
  .company-greeting__text {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .company-greeting__position {
    font-size: 10px;
    font-size: 0.625rem;
  }
  .company-greeting__name {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .company-greeting__en {
    font-size: 10px;
    font-size: 0.625rem;
  }
  .company-greeting__text-img {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .company-info__profile {
    margin-top: 28px;
    margin-top: 1.75rem;
  }
  .company-philosophy__title {
    font-size: 32px;
    font-size: 2rem;
  }
  .company-philosophy__wrap {
    margin-top: 28px;
    margin-top: 1.75rem;
  }
  .company-philosophy__text {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .company-profile {
    display: block;
  }
  .company-profile__list-wrap {
    max-width: none;
    max-width: initial;
  }
  .company-profile__term {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .company-profile__description {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .company-profile__map-wrap {
    border-left: 0;
    border-left: initial;
    border-top: 1px solid #03a9f4;
    margin-left: 0;
    margin-left: initial;
    margin-top: 40px;
    margin-top: 2.5rem;
    padding-left: 0;
    padding-left: initial;
    padding-top: 40px;
    padding-top: 2.5rem;
  }
  .company-profile__map {
    padding-top: 70%;
  }
  .company-profile__map-btn {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .contact-paper__wrap {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .contact-paper__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 32px;
    margin-top: 2rem;
  }
  .contact__content {
    text-align: left;
  }
  .contract {
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .contract__steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .contract__step {
    width: 100%;
  }
  .contract__step:nth-child(odd)::after {
    display: none;
  }
  .corp-feature {
    margin-top: 48px;
    margin-top: 3rem;
  }
  .corp-feature__items {
    grid-row-gap: 1.5rem;
    grid-column-gap: 1rem;
    -moz-column-gap: 1rem;
         -webkit-column-gap: 1rem;
            column-gap: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    margin-top: 32px;
    margin-top: 2rem;
    row-gap: 24px;
    row-gap: 1.5rem;
  }
  .corp-feature__item {
    width: 100%;
  }
  .course {
    padding: 40px 20px;
    padding: 2.5rem 1.25rem;
  }
  .course__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .course__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .course__img {
    width: 100%;
  }
  .course__text-box {
    width: 100%;
  }
  .course__junior {
    width: 100%;
  }
  .course__junior-year {
    padding: 10px;
    padding: 0.625rem;
  }
  .course__junior-text {
    font-size: 16px;
    font-size: 1rem;
  }
  .facility__cards {
    gap: 12px;
    gap: 0.75rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .faq-list__item-question {
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 12px 40px 12px 60px;
    padding: 0.75rem 2.5rem 0.75rem 3.75rem;
  }
  .faq-list__item-question::before {
    height: 10px;
    height: 0.625rem;
    width: 10px;
    width: 0.625rem;
  }
  .faq-list__item-answer {
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 15px 30px 15px 60px;
    padding: 0.9375rem 1.875rem 0.9375rem 3.75rem;
  }
  .faq__tab {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .feature {
    padding: 32px 20px;
    padding: 2rem 1.25rem;
  }
  .feature__title {
    font-size: 32px;
    font-size: 2rem;
  }
  .feature__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .feature__text-box {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .flow-list__item {
    display: block;
  }
  .flow-list__item + .flow-list__item {
    margin-top: 50px;
    margin-top: 3.125rem;
    padding-top: 40px;
    padding-top: 2.5rem;
  }
  .flow-list__item-number {
    height: auto;
    height: initial;
    margin: auto;
    width: 100%;
  }
  .flow-list__item-img::before {
    font-size: 24px;
    font-size: 1.5rem;
    left: -10px;
    left: -0.625rem;
  }
  .flow-list__item-img {
    margin-top: 15px;
    margin-top: 0.9375rem;
  }
  .flow-list__item-content {
    margin-left: 0;
    margin-top: 24px;
    margin-top: 1.5rem;
    padding-top: 0;
  }
  .flow-list__item-title {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .flow-list__item-text {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .flow-list__btn-title {
    font-size: 18px;
    font-size: 1.125rem;
    padding: 10px 0;
    padding: 0.625rem 0;
  }
  .flow-list__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    gap: 1rem;
    margin-top: 16px;
    margin-top: 1rem;
  }
  .flow-list__btn + .flow-list__btn,
  .flow-list__btn + .flow-list__btn-wrap {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .footer {
    margin-top: 60px;
    margin-top: 3.75rem;
    padding-bottom: 46px;
    padding-bottom: 2.875rem;
    padding-top: 70px;
    padding-top: 4.375rem;
  }
  .footer__inner {
    max-width: 630px;
    max-width: 39.375rem;
    padding-left: 15px;
    padding-left: 0.9375rem;
    padding-right: 15px;
    padding-right: 0.9375rem;
  }
  .footer__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .footer__sub {
    border: none;
    margin-top: 25px;
    margin-top: 1.5625rem;
    padding-bottom: 0;
  }
  .footer__head {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
  .footer__btn-box {
    background-color: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    gap: 0.625rem;
    padding: 20px;
    padding: 1.25rem;
  }
  .footer__btn-box.u-mobile {
    display: block;
  }
  .footer__btn-item {
    padding: 0;
    width: 100%;
  }
  .footer__btn-item .common_circle_btn::before {
    display: none;
  }
  .footer__btn-item .common_circle_btn::after {
    display: none;
  }
  .footer__btn-item .common_circle_btn span {
    display: block;
  }
  .footer__btn-item .common_circle_btn span::before {
    display: block;
  }
  .footer__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    gap: 1.25rem;
    margin-top: 0;
  }
  .footer__logo-box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer__info {
    text-align: center;
  }
  .footer__right {
    width: 100%;
  }
  .footer__top-link {
    grid-gap: 1.25rem;
    display: grid;
    gap: 20px;
    gap: 1.25rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .footer__sp-link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 300;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    line-height: 1.67;
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .footer__copyright {
    font-size: 12px;
    font-size: 0.75rem;
    margin-top: 30px;
    margin-top: 1.875rem;
  }
  .form__wrap {
    display: block;
  }
  .form__input {
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .form__radio {
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .form-radio label {
    display: inline-block;
  }
  .form-radio label:not(:first-of-type) {
    margin-left: 30px;
    margin-left: 1.875rem;
    margin-top: 0;
  }
  .form-radio input + span {
    display: inline-block;
  }
  .form__textarea {
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .form-submit input {
    padding: 25px 100px;
    padding: 1.5625rem 6.25rem;
  }
  .form-submit input:hover {
    opacity: 0.8;
  }
  .header {
    height: 80px;
    height: 5rem;
    position: fixed;
    width: 100%;
  }
  .header__inner {
    padding-right: 0;
  }
  .header__top-inner {
    display: none;
  }
  .header__logo {
    max-width: 140px;
    max-width: 8.75rem;
  }
  .header__sub-inner {
    display: none;
  }
  .header__nav {
    display: none;
  }
  .header__sp {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    gap: 1.25rem;
    height: inherit;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 8px;
    padding-left: 0.5rem;
  }
  .header__hamburger {
    aspect-ratio: 1/1;
    background-color: #272727;
    border: none;
    cursor: pointer;
    display: block;
    height: inherit;
    margin: 0;
    outline: none;
    padding: 0;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 999;
  }
  .header__drawer {
    margin-top: 80px;
    margin-top: 5rem;
  }
  .health {
    margin-top: 48px;
    margin-top: 3rem;
  }
  .health__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .health__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 20px;
    gap: 1.25rem;
  }
  .health__item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .health__item + .health__item {
    margin-top: 60px;
    margin-top: 3.75rem;
  }
  .health__img {
    width: 100%;
  }
  .health__content {
    width: 100%;
  }
  .intro__title {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .intro__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 16px;
    margin-top: 1rem;
  }
  .intro__text-box {
    width: 100%;
  }
  .intro__head {
    padding: 10px;
    padding: 0.625rem;
  }
  .intro__img {
    width: 100%;
  }
  .join-announce__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .join-announce__content {
    padding: 12px;
    padding: 0.75rem;
  }
  .join-flow__flow {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .join-flow__flow-title {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .join-flow__flow-list {
    margin-top: 48px;
    margin-top: 3rem;
  }
  .join-info__head-content {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .join-info__head {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
  .join-info__head span {
    font-size: 28px;
    font-size: 1.75rem;
  }
  .join-info__img-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .join-info__img {
    width: 100%;
  }
  .join-info__btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .join-need__lists {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .join-need__list {
    font-size: 16px;
    font-size: 1rem;
  }
  .join-need__bank {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .join-need__info-head {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .join-need__info-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .lesson__content {
    margin-top: 28px;
    margin-top: 1.75rem;
  }
  .lesson__course,
  .lesson__price,
  .lesson__intro {
    margin-top: 80px;
    margin-top: 5rem;
  }
  .lesson__text-box {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .lesson__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 32px;
    margin-top: 2rem;
  }
  .lesson__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .lesson__title::before {
    font-size: 32px;
    font-size: 2rem;
    top: -40px;
    top: -2.5rem;
  }
  .machine {
    margin-top: 48px;
    margin-top: 3rem;
  }
  .machine__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .machine__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
    gap: 2rem;
    margin-top: 32px;
    margin-top: 2rem;
  }
  .machine__item {
    width: 100%;
  }
  .measure {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .measure__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .measure__left {
    width: 100%;
  }
  .measure__right {
    width: 100%;
  }
  .menu-card {
    gap: 40px;
    gap: 2.5rem;
    grid-template-columns: repeat(1, 1fr);
  }
  .menu-card__item-img img {
    aspect-ratio: 335/188;
  }
  .menu-card__name {
    font-size: 16px;
    font-size: 1rem;
    padding: 12px 16px;
    padding: 0.75rem 1rem;
  }
  .menu-card__item-content {
    padding: 16px;
    padding: 1rem;
  }
  .menu-card__item-text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .menu__list + .menu__list {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .menu table {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .mv {
    margin-top: 80px;
    margin-top: 5rem;
  }
  .mv__title-wrap {
    padding-left: 16px;
    padding-left: 1rem;
    padding-right: 16px;
    padding-right: 1rem;
  }
  .mv__main-title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .mv__banner {
    display: block;
  }
  .mv__banner-item {
    height: inherit;
  }
  .mv__banner-item a {
    display: block;
  }
  .mv__banner-item img {
    -o-object-fit: contain;
    height: 100%;
       object-fit: contain;
  }
  .news-list__date {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .news-list__text {
    -webkit-line-clamp: 2;
    font-size: 13px;
    font-size: 0.8125rem;
    margin-top: 0;
  }
  .page-post {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .page-post__items {
    -moz-column-gap: 1.125rem;
         -webkit-column-gap: 1.125rem;
            column-gap: 1.125rem;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 21px;
    row-gap: 1.3125rem;
  }
  .page-post__btn {
    margin-top: 50px;
    margin-top: 3.125rem;
  }
  .page-post__btn a {
    font-size: 12px;
    font-size: 0.75rem;
    padding-bottom: 12px;
    padding-bottom: 0.75rem;
    padding-top: 12px;
    padding-top: 0.75rem;
  }
  .page-privacy__wrap {
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .page-privacy__lists {
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .page-privacy__list {
    padding-left: 24px;
    padding-left: 1.5rem;
  }
  .page-privacy__list::before {
    font-size: 12px;
    font-size: 0.75rem;
    height: 20px;
    height: 1.25rem;
    top: 3px;
    top: 0.1875rem;
    width: 20px;
    width: 1.25rem;
  }
  .page-privacy__signature {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .page-privacy__items {
    margin-top: 30px;
    margin-top: 1.875rem;
  }
  .page-privacy__headline {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1;
  }
  .page-privacy__headline::before {
    height: 100%;
  }
  .page-privacy__item {
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .page-privacy__term {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .page-privacy__text {
    margin-top: 28px;
    margin-top: 1.75rem;
  }
  .page-privacy__text--top {
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
  }
  .page-privacy__description {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 30px;
    margin-top: 1.875rem;
  }
  .page-privacy__description-text {
    line-height: 1.3673469388;
  }
  .page-privacy__description-number.page-privacy--large {
    font-size: 20px;
    font-size: 1.25rem;
    padding-left: 50px;
    padding-left: 3.125rem;
  }
  .page-privacy__caution {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .page-single {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .page-single__contents {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .page-single__date {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .page-single__title {
    font-size: 16px;
    font-size: 1rem;
    margin-top: 6px;
    margin-top: 0.375rem;
  }
  .page-single__link {
    margin-top: 40px;
    margin-top: 2.5rem;
    padding-top: 27px;
    padding-top: 1.6875rem;
  }
  .page-single__content {
    margin-top: 14px;
    margin-top: 0.875rem;
  }
  .page-single__content p {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 16px;
    margin-top: 1rem;
  }
  .page-single__content p + p {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .page-single__content h2 {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.4;
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .page-single__content h3 {
    font-size: 18px;
    font-size: 1.125rem;
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .page-single__content h4 {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .page-single__content h5 {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .page-single__content h6 {
    font-size: 16px;
    font-size: 1rem;
    margin-top: 38px;
    margin-top: 2.375rem;
  }
  .page-single__content p strong {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .page-single__content ul {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .page-single__content ul li ul {
    margin-top: 8px;
    margin-top: 0.5rem;
  }
  .page-single__content ol {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .page-single__content ol li {
    text-indent: -14px;
    text-indent: -0.875rem;
  }
  .page-single__content ol li ul {
    margin-top: 8px;
    margin-top: 0.5rem;
  }
  .page-single__content figure {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .page-single__content figure img {
    aspect-ratio: 295/197;
  }
  .page-single__content blockquote {
    margin-top: 21px;
    margin-top: 1.3125rem;
    padding: 16px;
    padding: 1rem;
  }
  .page-single__content blockquote cite {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .plan-list__cards {
    grid-template-columns: repeat(1, 1fr);
  }
  .post-card__content {
    margin-top: 0px;
    margin-top: 0rem;
  }
  .price-list__head {
    font-size: 16px;
    font-size: 1rem;
    padding: 15px 0;
    padding: 0.9375rem 0;
  }
  .price-list__data {
    font-size: 12px;
    font-size: 0.75rem;
    padding: 10px 0;
    padding: 0.625rem 0;
  }
  .price__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .price__item + .price__item {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .price__item-head {
    width: 100%;
  }
  .price__item-text {
    margin-top: 12px;
    margin-top: 0.75rem;
  }
  .price__caution {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .price__caution + .price__caution {
    margin-top: 6px;
    margin-top: 0.375rem;
  }
  .shop-card__content {
    margin-top: 0px;
    margin-top: 0rem;
    padding: 10px;
    padding: 0.625rem;
  }
  .shop-card__title {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .shop-card__text {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.5;
    margin-top: 12px;
    margin-top: 0.75rem;
  }
  .shop-card__price {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .shop-card__price-text span {
    font-size: 18px;
    font-size: 1.125rem;
    padding: 0 4px;
    padding: 0 0.25rem;
  }
  .shop-single {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .shop-single__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .shop-single__img {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .shop-single__contents {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .shop-single__link {
    margin-top: 40px;
    margin-top: 2.5rem;
    padding-top: 27px;
    padding-top: 1.6875rem;
  }
  .shop-single__content {
    margin-top: 14px;
    margin-top: 0.875rem;
  }
  .shop__title {
    font-size: 32px;
    font-size: 2rem;
  }
  .shop__content {
    margin-top: rem832;
    margin-top: rem832;
  }
  .shop__items {
    -moz-column-gap: 1rem;
         -webkit-column-gap: 1rem;
            column-gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 14px;
    row-gap: 0.875rem;
  }
  .tab__lists {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .tab__menu {
    grid-gap: 0.75rem;
    display: grid;
    gap: 12px;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  }
  .tab__menu-item {
    font-size: 14px;
    font-size: 0.875rem;
    padding: 10px;
    padding: 0.625rem;
    width: 100%;
  }
  .tab__menu-item + .tab__menu-item {
    margin-left: 0px;
    margin-left: 0rem;
  }
  .top-feature__content {
    padding: 30px 16px;
    padding: 1.875rem 1rem;
  }
  .top-feature__items {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .top-info__list {
    display: block;
  }
  .top-info__item {
    padding: 48px 0;
    padding: 3rem 0;
    width: 100%;
  }
  .top-info__item:nth-of-type(3)::before {
    background-color: rgba(88, 88, 88, 0.8);
  }
  .top-info__item:nth-of-type(4)::before {
    background-color: rgba(185, 185, 185, 0.8);
  }
  .top-info__item-title {
    font-size: 40px;
    font-size: 2.5rem;
  }
  .top-info__item-title span {
    font-size: 16px;
    font-size: 1rem;
  }
  .top-info__item-text {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .top-info__btn-wrap {
    margin-top: 20px;
    margin-top: 1.25rem;
  }
  .top-info__btn {
    font-size: 16px;
    font-size: 1rem;
    max-width: 320px;
    max-width: 20rem;
    padding: 18px 0;
    padding: 1.125rem 0;
  }
  .top-link__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .top-link__left {
    width: 100%;
  }
  .top-link__item + .top-link__item {
    margin-top: 16px;
    margin-top: 1rem;
  }
  .top-link__center {
    width: 100%;
  }
  .top-link__right {
    width: 100%;
  }
  .top-news__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .top-news__title {
    font-size: 22px;
    font-size: 1.375rem;
    text-align: left;
    width: 100%;
  }
  .top-news__content {
    margin-top: 20px;
    margin-top: 1.25rem;
    width: 100%;
  }
  .top-news__item a {
    padding: 15px;
    padding: 0.9375rem;
  }
  .top-recruit {
    padding: 80px 0;
    padding: 5rem 0;
  }
  .top-recruit__inner {
    max-width: 600px;
    max-width: 37.5rem;
    padding: 0 20px;
    padding: 0 1.25rem;
  }
  .top-recruit__title {
    font-size: 40px;
    font-size: 2.5rem;
    padding-bottom: 20px;
    padding-bottom: 1.25rem;
  }
  .top-recruit__title::before {
    width: 40px;
    width: 2.5rem;
  }
  .top-recruit__title span {
    font-size: 12px;
    font-size: 0.75rem;
    padding-bottom: 12px;
    padding-bottom: 0.75rem;
  }
  .top-recruit__text {
    font-size: 16px;
    font-size: 1rem;
  }
  .top-recruit__btn {
    font-size: 16px;
    font-size: 1rem;
    padding: 24px;
    padding: 1.5rem;
  }
  .top-works__inner {
    max-width: 600px;
    max-width: 37.5rem;
    padding: 0 20px;
    padding: 0 1.25rem;
  }
  .works-list__item {
    display: block;
    height: auto;
    height: initial;
  }
  .works-list__item:nth-of-type(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .works-list__item + .works-list__item {
    margin-top: 30px;
    margin-top: 1.875rem;
  }
  .works-list__item-img {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .works-list__item-img img {
    aspect-ratio: 375/280;
  }
  .works-list__item-content-bg {
    margin: -30px auto 0;
    margin: -1.875rem auto 0;
    padding: 30px 20px;
    padding: 1.875rem 1.25rem;
    width: 88%;
  }
  .works-list__item:nth-of-type(even) .works-list__item-content-bg {
    margin-left: auto;
    margin-right: calc(50% - 50vw);
    margin-right: auto;
    padding: 30px;
    padding: 1.875rem;
  }
  .works-list__item-content {
    max-width: 100%;
  }
  .works-list__item:nth-of-type(even) .works-list__item-content {
    margin-left: 0;
  }
  .works-list__item-title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .works-list__item-btn-wrap {
    text-align: center;
  }
  .works-list__item-btn-wrap.works-list__item-btn-wrap--grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .works-list__item-btn-wrap a {
    width: 100%;
  }
  .works-list__item-btn {
    font-size: 14px;
    font-size: 0.875rem;
    padding: 10px 37px;
    padding: 0.625rem 2.3125rem;
  }
  .card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .p-content h2:nth-of-type(1) {
    margin-top: 34px;
    margin-top: 2.125rem;
  }
  .p-content figure:nth-child(n+2) {
    margin-top: 38px;
    margin-top: 2.375rem;
  }
  .wp-block-file,
  .p-content p:nth-child(n+2),
  .p-content h3:nth-child(n+2),
  .p-content h4:nth-child(n+2),
  .p-content h2 + ul:nth-of-type(n + 2),
  .p-content h2 + ol:nth-of-type(n + 2),
  .p-content ol > li > ol:nth-of-type(n + 2),
  .p-content figure {
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .p-content .wp-block-group {
    padding: 24px 30px;
    padding: 1.5rem 1.875rem;
  }
  .wp-block-file:not(.wp-element-button) a::before {
    margin-right: 8px;
    margin-right: 0.5rem;
    margin-top: 16px;
    margin-top: 1rem;
    width: 32px;
    width: 2rem;
  }
  .p-form__items {
    gap: 12px;
    gap: 0.75rem;
  }
  .p-form__item:first-of-type {
    gap: 16px;
    gap: 1rem;
    margin-bottom: 27px;
    margin-bottom: 1.6875rem;
  }
  .p-form__dt {
    padding-right: 24px;
    padding-right: 1.5rem;
    padding-top: 8px;
    padding-top: 0.5rem;
  }
  .p-form__dd input:not([type=radio]):not([type=checkbox]),
  .p-form__dd textarea {
    border-radius: 0.75rem;
    padding: 12px 24px;
    padding: 0.75rem 1.5rem;
  }
  .p-form__dd input[type=checkbox] + span,
  .p-form__dd input[type=radio] + span {
    gap: 14px;
    gap: 0.875rem;
  }
  .p-form__dd input[type=checkbox] + span::before {
    margin-top: 3px;
    margin-top: 0.1875rem;
    width: 16px;
    width: 1rem;
  }
  .p-form__dd textarea {
    height: 188px;
    height: 11.75rem;
  }
  .p-form__acceptance {
    margin-top: 26px;
    margin-top: 1.625rem;
  }
  .p-form__acceptance input + span::before {
    margin-top: 7px;
    margin-top: 0.4375rem;
  }
  .p-form__policy-description {
    margin-top: 42px;
    margin-top: 2.625rem;
  }
  .p-form__send {
    margin-top: 56px;
    margin-top: 3.5rem;
    max-width: 332px;
    max-width: 20.75rem;
  }
  .p-form__send input {
    min-height: 63px;
    min-height: 3.9375rem;
    padding: 0 54px 0 42px;
    padding: 0 3.375rem 0 2.625rem;
  }
  .p-lineup__wrap {
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .p-lineup__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .p-lineup__term {
    font-size: 16px;
    font-size: 1rem;
    max-width: 120px;
    max-width: 7.5rem;
    padding-left: 0;
  }
  .p-lineup__term::before {
    display: none;
  }
  .p-lineup__description {
    font-size: 16px;
    font-size: 1rem;
    margin-top: 8px;
    margin-top: 0.5rem;
    padding-left: 0;
  }
  .p-lineup__description p {
    line-height: 1.5;
    margin-top: 8px;
    margin-top: 0.5rem;
  }
  .p-lineup__description p:first-child {
    margin-top: 0;
  }
  .p-lineup__text-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .p-modal {
    padding-left: 20px;
    padding-left: 1.25rem;
    padding-right: 20px;
    padding-right: 1.25rem;
  }
  .p-modal__inner {
    padding: 40px 20px 104px;
    padding: 2.5rem 1.25rem 6.5rem;
  }
  .p-modal__close-button {
    height: 36px;
    height: 2.25rem;
    right: -5px;
    right: -0.3125rem;
    top: -10px;
    top: -0.625rem;
    width: 36px;
    width: 2.25rem;
  }
  .p-modal__close-button span {
    width: 14px;
    width: 0.875rem;
  }
  .p-modal__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-modal__img {
    width: 295px;
    width: 18.4375rem;
  }
  .p-modal__img img {
    aspect-ratio: 295/197;
  }
  .p-modal__headline {
    width: 100%;
  }
  .p-modal__title {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .p-modal__text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
  }
  .p-modal__wrap {
    margin-top: 68px;
    margin-top: 4.25rem;
  }
  .p-recruit-entry__wrap {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .p-recruit-entry__text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
  }
  .p-recruit-entry__btn {
    margin-top: 32px;
    margin-top: 2rem;
  }
  .p-recruit-entry__btn .c-btn {
    max-width: 335px;
    max-width: 20.9375rem;
    padding: 16px 0;
    padding: 1rem 0;
    width: 100%;
  }
  .p-recruit-entry__blur-circle-1 {
    bottom: -33%;
    left: 160px;
    left: 10rem;
    width: 300px;
    width: 18.75rem;
  }
  .p-recruit-entry__blur-circle-2 {
    left: 10px;
    left: 0.625rem;
    top: -33px;
    top: -2.0625rem;
    width: 300px;
    width: 18.75rem;
  }
  .p-recruit-greeting__img-wrap {
    margin-top: 24px;
    margin-top: 1.5rem;
    width: 100%;
  }
  .p-recruit-greeting__img img {
    -o-object-position: 50% 25%;
    aspect-ratio: 335/223;
       object-position: 50% 25%;
  }
  .p-recruit-greeting__wrap {
    padding-bottom: 0;
    padding-top: 0;
  }
  .p-recruit-greeting__green-text {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.4;
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .p-recruit-greeting__text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .p-recruit-job__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .p-recruit-job__img img {
    aspect-ratio: 335/223;
  }
  .p-recruit-job__link {
    font-size: 20px;
    font-size: 1.25rem;
    margin-top: 18px;
    margin-top: 1.125rem;
  }
  .p-recruit-job__link.p-recruit-job__link--small {
    font-size: 16px;
    font-size: 1rem;
  }
  .p-recruit-voice__cards {
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .p-voice-card {
    gap: 40px;
    gap: 2.5rem;
    grid-template-columns: repeat(1, 1fr);
  }
  .p-voice-card__item-img img {
    aspect-ratio: 335/188;
  }
  .p-voice-card__name {
    padding: 12px 16px;
    padding: 0.75rem 1rem;
  }
  .p-voice-card__name span {
    font-size: 16px;
    font-size: 1rem;
    margin-left: 16px;
    margin-left: 1rem;
  }
  .p-voice-card__item-content {
    padding: 16px;
    padding: 1rem;
  }
  .p-voice-card__item-text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
    margin-top: 10px;
    margin-top: 0.625rem;
  }
  .r-footer {
    margin-top: 60px;
    margin-top: 3.75rem;
    padding-bottom: 46px;
    padding-bottom: 2.875rem;
    padding-top: 70px;
    padding-top: 4.375rem;
  }
  .r-footer__inner {
    max-width: 630px;
    max-width: 39.375rem;
    padding-left: 15px;
    padding-left: 0.9375rem;
    padding-right: 15px;
    padding-right: 0.9375rem;
  }
  .r-footer__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .r-footer__sub {
    border: none;
    margin-top: 25px;
    margin-top: 1.5625rem;
    padding-bottom: 0;
  }
  .r-footer__head {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
  .r-footer__btn-box {
    background-color: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    gap: 0.625rem;
    padding: 20px;
    padding: 1.25rem;
  }
  .r-footer__btn-box.u-mobile {
    display: block;
  }
  .r-footer__btn-item {
    padding: 0;
    width: 100%;
  }
  .r-footer__btn-item .common_circle_btn::before {
    display: none;
  }
  .r-footer__btn-item .common_circle_btn::after {
    display: none;
  }
  .r-footer__btn-item .common_circle_btn span {
    display: block;
  }
  .r-footer__btn-item .common_circle_btn span::before {
    display: block;
  }
  .r-footer__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    gap: 1.25rem;
    margin-top: 0;
  }
  .r-footer__logo-box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .r-footer__info {
    text-align: center;
  }
  .r-footer__right {
    width: 100%;
  }
  .r-footer__top-link {
    grid-gap: 1.25rem;
    display: grid;
    gap: 20px;
    gap: 1.25rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .r-footer__sp-link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 300;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    line-height: 1.67;
    margin-top: 40px;
    margin-top: 2.5rem;
  }
  .r-footer__copyright {
    font-size: 12px;
    font-size: 0.75rem;
    margin-top: 30px;
    margin-top: 1.875rem;
  }
  .r-header {
    height: 80px;
    height: 5rem;
    position: fixed;
    width: 100%;
  }
  .r-header__inner {
    padding-right: 0;
  }
  .r-header__top-inner {
    display: none;
  }
  .r-header__logo {
    max-width: 140px;
    max-width: 8.75rem;
  }
  .r-header__sub-inner {
    display: none;
  }
  .r-header__nav {
    display: none;
  }
  .r-header__sp {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    gap: 1.25rem;
    height: inherit;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 8px;
    padding-left: 0.5rem;
  }
  .r-header__hamburger {
    aspect-ratio: 1/1;
    background-color: #272727;
    border: none;
    cursor: pointer;
    display: block;
    height: inherit;
    margin: 0;
    outline: none;
    padding: 0;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 999;
  }
  .r-header__drawer {
    margin-top: 80px;
    margin-top: 5rem;
  }
  .r-header__margin {
    margin-top: 80px;
    margin-top: 5rem;
  }
  .u-pc-flex {
    display: none;
  }
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
}

@media (max-width: 375px){
  html {
    font-size: 4.2666666667vw;
  }
}

@media (hover: hover){
  a:hover {
    opacity: 0.8;
  }
}

@media (hover: none){
  a:active {
    opacity: 0.8;
  }
  .p-form__send input:active {
    opacity: 0.7;
  }
  .p-form__send:active::after {
    -webkit-transform: translateX(0.25rem);
            transform: translateX(0.25rem);
  }
}

@media (any-hover: hover){
  .common_circle_btn:hover {
    background: #F2BC0C;
    padding-right: 18px;
    padding-right: 1.125rem;
  }
  .common_circle_btn:hover span {
    background: #FADA70;
    height: 38px;
    height: 2.375rem;
    width: 38px;
    width: 2.375rem;
  }
  .common_circle_btn:hover span::before {
    left: 34%;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .common_circle_btn.common_circle_btn--yellow:hover {
    background: #0F0F0F;
  }
  .common_circle_btn.common_circle_btn--yellow:hover span {
    background: #585858;
  }
  .common_circle_btn.common_circle_btn--red:hover {
    background: #c43343;
    color: #fff;
  }
  .common_circle_btn.common_circle_btn--red:hover span:before {
    background: #272727;
  }
  .common_circle_btn.common_circle_btn--red:hover span {
    background: #fff;
  }
  .common_circle_btn.common_circle_btn--green:hover {
    background: #6fbf73;
    color: #fff;
  }
  .common_circle_btn.common_circle_btn--green:hover span:before {
    background: #272727;
  }
  .common_circle_btn.common_circle_btn--green:hover span {
    background: #fff;
  }
  .common_circle_btn.common_circle_btn--blue:hover {
    background: #35baf6;
    color: #fff;
  }
  .common_circle_btn.common_circle_btn--blue:hover span:before {
    background: #272727;
  }
  .common_circle_btn.common_circle_btn--blue:hover span {
    background: #fff;
  }
  .common-btn:hover {
    opacity: 0.9;
  }
  .common-btn:hover span {
    border-color: #fff;
    right: 15px;
    right: 0.9375rem;
  }
  .common-btn.common-btn--yellow:hover {
    background: #0F0F0F;
  }
  .common-btn.common-btn--yellow:hover span {
    background: #0F0F0F;
  }
  .common-btn.common-btn--red:hover {
    background: #c43343;
    color: #fff;
  }
  .common-btn.common-btn--red:hover span:before {
    background: #272727;
  }
  .common-btn.common-btn--red:hover span {
    background: #c43343;
  }
  .common-btn.common-btn--green:hover {
    background: #6fbf73;
    color: #fff;
  }
  .common-btn.common-btn--green:hover span:before {
    background: #272727;
  }
  .common-btn.common-btn--green:hover span {
    background: #6fbf73;
  }
  .common-btn.common-btn--blue:hover {
    background: #35baf6;
    color: #fff;
  }
  .common-btn.common-btn--blue:hover span {
    background: #35baf6;
  }
  .post-card:hover .post-card__img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .shop-card:hover .shop-card__img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .p-recruit-job__item:hover .p-recruit-job__link span::after {
    opacity: 1;
    width: 100%; /* ホバー時に下線を表示する */
  }
  .p-recruit-job__item:hover .p-recruit-job__img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .r-header a {
    -webkit-text-decoration: none;
    -webkit-text-decoration: none;
    color: #F2BC0C;
    text-decoration: none;
  }
}
/*# sourceMappingURL=style.css.map */



.header__register-sp-wrap p {
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 700;
  margin-top: 4px;
  margin-top: 0.25rem;
  text-align: center;
}

.header__register-wrap p {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  margin-top: 4px;
  margin-top: 0.25rem;
  text-align: center;
}
