@charset "UTF-8";
/* foundation */
@import url("https://fonts.googleapis.com/css2?family=Dynalight&family=EB+Garamond:ital,wght@0,700;1,700&display=swap");
/*Regular*/
@font-face {
  font-family: "Noto Serif JP";
  src: url("../font/Noto_Serif_JP/NotoSerifJP-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/*Midium*/
@font-face {
  font-family: "Noto Serif JP";
  src: url("../font/Noto_Serif_JP/NotoSerifJP-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/*SemiBold*/
@font-face {
  font-family: "Noto Serif JP";
  src: url("../font/Noto_Serif_JP/NotoSerifJP-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* Reset CSS - 2021.09
---------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, ruby, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, form, fieldset, legend, label, header, footer, hgroup, menu, nav, main, article, section, aside, details, figure, figcaption, canvas, embed, output, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: bottom;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

hr {
  display: none;
}

address, em {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

img {
  height: auto;
  width: 100%;
  vertical-align: bottom;
}

/* Fonts
---------------------------------------------------*/
body {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

* {
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Serif JP", "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-size: clamp(0.875rem, 0.8rem + 0.32vw, 1rem);
  color: #333333;
  background: #F1EFE4;
  position: relative;
}

a {
  text-decoration: none;
  transition: all 0.3s;
  color: #333333;
}

a:hover {
  opacity: 0.5;
}

/* layout */
.l_header {
  position: fixed;
  width: 100%;
  z-index: 2;
}

.l_header_inner {
  padding: 1rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c_header_logo {
  display: block;
  max-width: 130px;
}

/*===========================
wrap
===========================*/
@media screen and (max-width: 1000px) {
  .l_header_inner {
    padding: 0.5rem 1rem;
  }
  .c_header_logo {
    max-width: 100px;
  }
}
.l_footer {
  background-color: #588A73;
  text-align: center;
  color: #FFFFFF;
  padding: 3.5rem 0 1rem;
}

.c_footerLogo {
  display: block;
  max-width: 180px;
  margin: 0 auto 2.5rem;
}

address {
  margin-bottom: 2.5rem;
}

copy {
  font-size: clamp(0.625rem, 0.55rem + 0.32vw, 0.75rem);
}

.l_section {
  overflow: hidden;
  padding-top: 6.5rem;
  padding-bottom: 6.5rem;
}
.l_section--green {
  background-color: #DEE4DC;
}
.l_section--pink {
  background-color: #ECE2E2;
}
.l_section--blue {
  background-color: #E1E8EA;
}
.l_section--deeppink {
  background-color: #D4867C;
}
.l_section--deepblue {
  background-color: #61828F;
}
.l_section--bottom {
  padding-bottom: 0;
}

.l_wrapper {
  width: min(100%, 1088px);
  padding: 0 1.5rem;
  margin: 0 auto;
  position: relative;
}

.l_colums02 {
  display: grid;
  grid-template-columns: 35% 1fr;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .l_section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .l_section--bottom {
    padding-bottom: 0;
  }
  .l_wrapper--sp {
    padding: 0;
  }
  .l_colums02 {
    grid-template-columns: 1fr;
  }
}
/* component */
.title--lv2 {
  font-size: clamp(1.75rem, 1.6rem + 0.64vw, 2rem);
  font-weight: 400;
  line-height: 1.5;
}

.title--lv3 {
  font-size: clamp(1.5rem, 1.35rem + 0.64vw, 1.75rem);
  font-weight: 400;
  line-height: 1.5;
}
.title--lv3--icon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.title--lv3--icon::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.title--lv4 {
  font-size: clamp(1.25rem, 1.1rem + 0.64vw, 1.5rem);
  font-weight: 400;
  line-height: 1.5;
}

.title--lv5 {
  font-size: clamp(1.125rem, 1.05rem + 0.32vw, 1.25rem);
  font-weight: 400;
}

.title--bg {
  color: #FFFFFF;
  font-size: clamp(1.25rem, 1.1rem + 0.64vw, 1.5rem);
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  padding: 1rem;
}
.title--bg--blue {
  background-color: #61828F;
}
.title--bg--pink {
  background-color: #D4867C;
}
.title--bg--green {
  background-color: #588A73;
}

.c_navItem {
  font-size: clamp(1rem, 0.7rem + 1.28vw, 1.5rem);
}
.c_navItem:not(:last-child) {
  margin-bottom: 2rem;
}

/*バーガーメニュー時背景固定用*/
body.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

.l_navContainer {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  padding-top: 10%;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/bg/bg-menu.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: all 0.3s;
}
.l_navContainer .l_wrapper {
  display: flex;
  justify-content: space-between;
}
.l_navContainer .c_navList {
  flex: 1;
}
.l_navContainer .c_btnList {
  flex: 1;
}

.l_navContainer.sp_open {
  visibility: inherit;
  opacity: 1;
  transition: all 0.3s;
  height: 100vh;
  z-index: 1;
}

/*spのメニュークリックしたら非表示にするクラス*/
#toggle {
  position: absolute;
  right: 0;
  height: 45px;
  padding-right: 1.5rem;
  display: flex;
  align-items: center;
  gap: 10px;
  border: none;
  background: transparent;
  z-index: 2;
}

.icon-menu {
  position: relative;
  width: 18px;
  height: 16px;
}

/*ボタン内側*/
#toggle span {
  display: block;
  transition: all 0.4s;
  position: absolute;
  height: 2px;
  background: #FFFFFF;
  width: 100%;
}

#toggle span:nth-of-type(1) {
  top: 0;
}

#toggle span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}

#toggle span:nth-of-type(3) {
  bottom: 0;
}

/*activeクラスが付与されると線が回転して×に*/
#toggle.active span:nth-of-type(1) {
  transform: translateY(8px) rotate(-45deg);
  background: #333333;
}

#toggle.active span:nth-of-type(2) {
  opacity: 0;
}

#toggle.active span:nth-of-type(3) {
  bottom: 2px;
  transform: translateY(-4px) rotate(45deg);
  background: #333333;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 1000px) {
  .l_navContainer {
    padding-top: 20%;
  }
  .l_navContainer .l_wrapper {
    flex-direction: column;
  }
  .c_navList {
    text-align: center;
    margin-bottom: 2rem;
  }
  .c_navItem:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
.c_secTitle {
  margin-bottom: 2.5rem;
}
.c_secTitle .c_secTitle--en {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
  line-height: 1;
  color: #BCAA6F;
  margin-bottom: 0.25rem;
}
.c_secTitle .c_secTitle--ja {
  font-weight: 500;
  font-size: clamp(1.75rem, 1.6rem + 0.64vw, 2rem);
  line-height: 1.5;
  color: #4E4025;
}
.c_secTitle--center {
  text-align: center;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_secTitle {
    margin-bottom: 1.5rem;
  }
}
.c_btn {
  background-color: #588A73;
  color: #FFFFFF;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  width: 100%;
  max-width: 320px;
  border-radius: 4px;
}
.c_btn::after {
  content: "";
  display: block;
  width: 30px;
  height: 5px;
  background-image: url(../img/icon/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.c_btn--shop {
  background-color: #A6A084;
  justify-content: center;
  gap: 0.5rem;
}
.c_btn--shop::after {
  display: none;
}
.c_btn--shop::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  background-image: url(../img/icon/icon-cart.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.c_btn--curriculum {
  background-color: #61828F;
}
.c_btn--curriculum::before {
  background-image: url(../img/icon/icon-curriculum-white.svg);
}
.c_btn--business {
  background-color: #D4867C;
}
.c_btn--business::before {
  background-image: url(../img/icon/icon-business-white.svg);
}
.c_btn--contact {
  background-color: #BCAA6F;
}
.c_btn--contact::before {
  background-image: url(../img/icon/icon-mail.svg);
}
.c_btn--line {
  background-color: #0FB062;
}
.c_btn--line::before {
  background-image: url(../img/icon/icon-line.svg);
}
.c_btn--center {
  margin-inline: auto;
}
.c_btn--column {
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.5rem;
  max-width: 280px;
}
.c_btn--column::after {
  display: none;
}
.c_btn--column::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.c_btn--column.c_btn--curriculum {
  border: 1px solid #B5C7CD;
}
.c_btn--column.c_btn--business {
  border: 1px solid #DEBEBE;
}
.c_btn--column.c_btn--contact {
  border: 1px solid #D6D1C1;
}
.c_btn--lg {
  padding: 1.5rem 2rem;
  gap: 4px;
  width: 100%;
  max-width: none;
  font-size: clamp(1.125rem, 1.05rem + 0.32vw, 1.25rem);
}
.c_btn--lg::before {
  width: 32px;
}

/*===========================
ボタン並び
===========================*/
.c_mvContainer .c_btnList,
.c_mvContainer--orign .c_btnList {
  display: flex;
  gap: 1rem;
}

.c_mvContainer--orign .c_btnList {
  width: 100%;
  justify-content: center;
}

.l_navContainer .c_btnList {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.5rem;
}

.c_ctaContainer .c_btnList {
  max-width: 800px;
  margin-inline: auto;
}

/*===========================

sp

===========================*/
@media screen and (max-width: 767px) {
  .c_btn--column {
    flex-direction: row;
    justify-content: center;
    gap: 0.5rem;
  }
  .c_btn--column::before {
    width: 20px;
  }
  .c_btn--lg {
    flex-direction: column;
    padding: 1rem 2rem;
  }
  .c_btn--lg::before {
    width: 24px;
  }
  /*===========================
  ボタン並び
  ===========================*/
  .c_mvContainer .c_btnList,
  .c_mvContainer--orign .c_btnList {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    z-index: 1;
  }
  .l_navContainer .c_btnList {
    gap: 0.5rem;
  }
  .l_navContainer .c_btnList .c_btn--lg {
    flex-direction: row;
  }
  .c_ctaContainer .c_btnList {
    gap: 1rem;
  }
}
.c_mvContainer {
  background-image: url(../img/kv/kv-bg_pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.c_mvContainer::after {
  content: "";
  width: 100%;
  aspect-ratio: 1280/83;
  background-image: url(../img//kv/kv-object_pc.webp);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  position: absolute;
  left: 0;
  bottom: 0;
}
.c_mvContainer .l_wrapper {
  min-height: 750px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c_mvContainer .l_wrapper::after {
  content: "";
  width: 25%;
  aspect-ratio: 268/623;
  background-image: url(../img//kv/kv-human.webp);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
  position: absolute;
  right: 0;
  bottom: 0;
}
.c_mvContainer .c_mvCatch {
  max-width: 480px;
  margin-bottom: 1.5rem;
}
.c_mvContainer .c_mvCopy {
  font-size: clamp(0.875rem, 0.575rem + 1.28vw, 1.375rem);
  color: #FFFFFF;
  font-weight: 400;
  margin-bottom: 3rem;
}

.c_mvContainer--orign {
  background-image: url(../img/curriculum/curriculum-kv.webp);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  text-align: center;
}
.c_mvContainer--orign .l_wrapper {
  min-height: 700px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.c_mvContainer--orign .c_mvTitle {
  background-color: #FFFFFF;
  font-size: clamp(0.875rem, 0.65rem + 0.96vw, 1.25rem);
  font-weight: 400;
  margin-bottom: 1.5rem;
  padding: 0.25rem 1rem;
  line-height: 1.5;
}
.c_mvContainer--orign .c_mvCatch {
  color: #FFFFFF;
  font-size: clamp(1.75rem, 1rem + 3.2vw, 3rem);
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.c_mvContainer--orign .c_mvCopy {
  font-size: clamp(1rem, 0.738rem + 1.12vw, 1.438rem);
  color: #FFFFFF;
  font-weight: 400;
  margin-bottom: 3rem;
}

.c_mvContainer--business {
  background-image: url(../img/business/business-kv.webp);
}
.c_mvContainer--business .c_mvTitle {
  color: #C57065;
}

.c_mvContainer--curriculum {
  background-image: url(../img/curriculum/curriculum-kv.webp);
}
.c_mvContainer--curriculum .c_mvTitle {
  color: #2C6C85;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_mvContainer {
    background-image: url(../img/kv/kv-bg_sp.webp);
  }
  .c_mvContainer::after {
    aspect-ratio: 25/2;
    background-image: url(../img//kv/kv-object_sp.webp);
  }
  .c_mvContainer .l_wrapper {
    min-height: 650px;
    justify-content: space-between;
    padding-top: 6.5rem;
    padding-bottom: 4rem;
  }
  .c_mvContainer .l_wrapper::after {
    width: 45%;
  }
  .c_mvContainer--orign {
    background-image: url(../img/curriculum/curriculum-kv.webp);
  }
  .c_mvContainer--orign .l_wrapper {
    min-height: 560px;
  }
  .c_mvContainer--orign .c_mvTitle {
    margin-bottom: 1rem;
  }
  .c_mvContainer--orign .c_mvCatch {
    margin-bottom: 1rem;
  }
  .c_mvContainer--orign .c_mvCopy {
    margin-bottom: 2rem;
  }
}
.c_card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.c_card .c_cardTitle {
  font-size: clamp(1.25rem, 1.1rem + 0.64vw, 1.5rem);
  text-align: center;
}
.c_card .c_cardText {
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
}

.c_grid {
  display: grid;
}
.c_grid--colums02 {
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 3.8%;
}
.c_grid--colums03 {
  grid-template-columns: repeat(3, 1fr);
  gap: 3.8%;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_grid {
    grid-template-columns: 1fr;
  }
  .c_grid--colums02 {
    gap: 2rem;
  }
  .c_grid--colums03 {
    gap: 2rem;
  }
}
.c_media {
  display: grid;
  align-items: center;
  gap: 5.88%;
  grid-template-columns: 1fr 44.85%;
  position: relative;
  z-index: 1;
}
.c_media::after {
  content: "";
  background-color: #FFFFFF;
  width: 80%;
  height: calc(100% - 3.5rem);
  position: absolute;
  left: -3.5rem;
  top: 0;
  z-index: -1;
}
.c_media.c_media--reverse {
  order: 2;
}
.c_media.c_media--reverse::after {
  left: initial;
  right: -3.5rem;
}
.c_media.c_media--reverse .c_mediaBody {
  order: 1;
}
.c_media .c_mediaImage {
  padding-top: 3.5rem;
  z-index: 1;
}
.c_media .c_mediaBody {
  padding-bottom: 3.5rem;
}
.c_media .c_mediaBody .title--lv2 {
  margin-bottom: 2.5rem;
}
.c_media .c_mediaBody .c_btn {
  margin-top: 2rem;
}

.c_media--shadow {
  position: relative;
}
.c_media--shadow::before {
  content: "";
  width: 45%;
  max-width: 450px;
  aspect-ratio: 229/180;
  background-image: url(../img/object/object-shadow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: -3.5rem;
}
.c_media--shadow--r::before {
  left: initial;
  right: -3.5rem;
  transform: scale(-1, 1);
}

.c_media--sm {
  display: grid;
  align-items: center;
  gap: 4.6%;
  grid-template-columns: 49% 1fr;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_media {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .c_media::after {
    width: 100%;
    height: calc(100% - 180px);
    left: 0;
    bottom: 0;
    top: initial;
  }
  .c_media .c_mediaImage {
    order: 1;
    padding: 0;
    width: 75%;
    min-width: 280px;
    margin-inline: auto;
  }
  .c_media .c_mediaBody {
    order: 2;
    padding: 0 1.5rem 3.5rem;
  }
  .c_media .c_mediaBody .title--lv2 {
    margin-bottom: 1.5rem;
  }
  .c_media.c_media--reverse::after {
    width: 100%;
    height: calc(100% - 180px);
    left: 0;
    bottom: 0;
    top: initial;
  }
  .c_media.c_media--reverse .c_mediaImage {
    order: 1;
  }
  .c_media.c_media--reverse .c_mediaBody {
    order: 2;
  }
  .c_media--shadow::before {
    width: 70%;
    max-width: 240px;
    top: 40%;
    left: 0;
  }
  .c_media--shadow--r::before {
    left: initial;
    right: 0;
  }
  .p_about .c_media {
    gap: 0;
    grid-template-columns: 1fr;
  }
  .p_about .c_media::after {
    width: 100%;
    height: 60%;
    left: 0;
    bottom: 0;
    top: initial;
  }
  .p_about .c_media .c_mediaImage {
    order: 2;
    margin-bottom: 2rem;
  }
  .p_about .c_media .c_mediaBody {
    display: contents;
  }
  .p_about .c_media .c_mediaBody .c_secTitle {
    order: 1;
    padding: 0 1.5rem;
  }
  .p_about .c_media .c_mediaBody .p_about--sp {
    padding: 0 1.5rem 3.5rem;
    order: 3;
  }
  .c_media--sm {
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }
}
.c_pageKv {
  background-image: url(../img/kv/kv-2nd_pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c_pageTitle {
  text-align: center;
  color: #FFFFFF;
}
.c_pageTitle--en {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(1rem, 0.7rem + 1.28vw, 1.5rem);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.c_pageTitle--ja {
  font-weight: 500;
  font-size: clamp(1.75rem, 1.6rem + 0.64vw, 2rem);
  line-height: 1.5;
  font-weight: 400;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_pageKv {
    min-height: 220px;
  }
}
.c_ctaContainer {
  background-image: url(../img/bg/bg-cta.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
}

.c_ctaContainerInner {
  border: 2px solid #FFFFFF;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 24px;
  padding: 4rem 1.5rem 3.5rem;
}

.c_ctaText {
  margin-bottom: 3.5rem;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_ctaContainerInner {
    padding: 2.5rem 1.5rem;
  }
  .c_ctaText {
    margin-bottom: 2rem;
    text-align: left;
  }
}
.c_worriesContainer {
  position: relative;
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4%;
}
.c_worriesContainer::after {
  content: "";
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid #BCAA6F;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.c_worriesContainer .c_worriesTitle {
  font-weight: 400;
  font-size: clamp(1.5rem, 1.35rem + 0.64vw, 1.75rem);
  padding: 0 0.5em;
  margin-bottom: 2rem;
  display: inline-block;
  position: relative;
  background-image: url(../img/object/object-line.webp);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
}
.c_worriesContainer p {
  font-size: clamp(1.25rem, 1.1rem + 0.64vw, 1.5rem);
  text-align: center;
  margin-top: 2rem;
}
.c_worriesContainer .c_grid {
  width: 100%;
  gap: 0 1rem;
}
.c_worriesContainer .c_grid li {
  border-bottom: 1px dashed #999999;
  padding: 1rem;
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.c_worriesContainer .c_grid li::before {
  content: "";
  display: inline-block;
  width: 30px;
  aspect-ratio: 1/1;
  background-image: url(../img/icon/icon-check.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}
.c_worriesContainer .c_grid li:first-child, .c_worriesContainer .c_grid li:nth-child(2) {
  border-top: 1px dashed #999999;
}
.c_worriesContainer.p_curriculum .c_grid li::before {
  background-image: url(../img/icon/icon-check-curriculum.svg);
}
.c_worriesContainer.p_business .c_grid li::before {
  background-image: url(../img/icon/icon-check-business.svg);
}
.c_worriesContainer--sm {
  align-items: flex-start;
  padding: 2.5rem 3.6% 3rem;
  margin-bottom: 2.5rem;
}
.c_worriesContainer--sm .c_worriesTitle {
  font-size: clamp(1.25rem, 1.1rem + 0.64vw, 1.5rem);
  margin-bottom: 1.5rem;
}
.c_worriesContainer--sm .c_grid {
  grid-template-columns: 42% 1fr;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_worriesContainer {
    padding: 2.5rem 1.5rem;
  }
  .c_worriesContainer p {
    margin-top: 1.5rem;
  }
  .c_worriesContainer .c_grid li {
    padding: 0.5rem;
    gap: 0.5rem;
  }
  .c_worriesContainer .c_grid li::before {
    width: 24px;
  }
  .c_worriesContainer .c_grid li:nth-child(2) {
    border-top: none;
  }
  .c_worriesContainer--sm {
    width: 100%;
    padding: 1.5rem 1.5rem 2.5rem;
  }
  .c_worriesContainer--sm .c_grid {
    grid-template-columns: 1fr;
  }
  .c_worriesContainer--sm .c_grid li::before {
    width: 20px;
    margin-top: 0.25rem;
  }
}
.c_flowItem {
  background-color: #FFFFFF;
  border-radius: 8px;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 3.6%;
}
.c_flowItem:not(:last-child) {
  margin-bottom: 1rem;
}
.c_flowItem figure {
  background-color: #E1E8EA;
  width: 90px;
  height: 90px;
  border-radius: 50px;
}
.c_flowItem div {
  display: flex;
  gap: 0.5rem;
}
.c_flowItem div::before {
  content: attr(data-number) ".";
  color: #BCAA6F;
  font-family: "Dynalight", cursive;
  font-weight: 400;
  line-height: 1;
  font-size: clamp(1.5rem, 1.05rem + 1.92vw, 2.25rem);
}
.c_flowItem dt {
  font-size: clamp(1.125rem, 1.05rem + 0.32vw, 1.25rem);
  margin-bottom: 0.25rem;
}
.c_flowItem dd {
  font-size: clamp(0.75rem, 0.675rem + 0.32vw, 0.875rem);
}
.c_flowItem dd a {
  text-decoration: underline;
}

.p_businessFlow .c_flowItems {
  margin-bottom: 1rem;
}
.p_businessFlow figure {
  background-color: #ECE2E2;
}
.p_businessFlow p {
  text-align: right;
  font-size: clamp(0.75rem, 0.675rem + 0.32vw, 0.875rem);
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_flowItem {
    padding: 1rem;
    grid-template-columns: 48px 1fr;
    gap: 1rem;
  }
  .c_flowItem figure {
    background-color: #E1E8EA;
    width: 48px;
    height: 48px;
  }
  .c_flowItem div::before {
    display: none;
  }
  .c_flowItem dt {
    display: flex;
    gap: 0.25rem;
  }
  .c_flowItem dt::before {
    content: attr(data-number) ".";
    color: #BCAA6F;
    font-family: "Dynalight", cursive;
    line-height: 1;
    font-size: 1.5rem;
    padding-top: 4px;
  }
}
.p_faqInner {
  padding: 1.5rem 1.5rem 6.5rem;
}

.c_anker {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3%;
  margin-bottom: 3.5rem;
}
.c_anker a {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #FFFFFF;
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
  text-align: center;
  padding: 1.5rem;
  gap: 0.25rem;
}
.c_anker a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  transform: rotate(135deg);
}
.c_anker a.all {
  background-color: #588A73;
}
.c_anker a.curriculum {
  background-color: #61828F;
}
.c_anker a.business {
  background-color: #D4867C;
}

.c_faqItem {
  background-color: #FFFFFF;
  padding: 1.5rem;
  border-radius: 8px;
}
.c_faqItem:not(:last-of-type) {
  margin-bottom: 1.5rem;
}

.c_faqQuestion {
  font-size: clamp(1.125rem, 1.05rem + 0.32vw, 1.25rem);
  display: grid;
  grid-template-columns: 28px 1fr 24px;
  gap: 8px;
  cursor: pointer;
}
.c_faqQuestion::before {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../img/icon/icon-q.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  margin-top: 0.25rem;
}
.c_faqQuestion::after {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../img/icon/icon-arrow-brawn.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  flex-shrink: 0;
  transition: all 0.25s ease;
  margin-top: 0.25rem;
}

.c_faqAnswer {
  display: grid;
  grid-template-rows: 0fr;
  color: #666666;
  padding-left: 36px;
  overflow: hidden;
  transition: all 0.25s ease;
}

.c_faqAnswerInner {
  min-height: 0;
}

.c_faqItem.active .c_faqQuestion {
  margin-bottom: 10px;
}
.c_faqItem.active .c_faqQuestion::after {
  transform: rotate(180deg);
}
.c_faqItem.active .c_faqAnswer {
  grid-template-rows: 1fr;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .p_faqInner {
    padding: 1.5rem 0 4rem;
  }
  .c_anker {
    grid-template-columns: 1fr;
  }
  .c_anker a {
    flex-direction: row;
    justify-content: center;
    padding: 1rem;
    gap: 0.5rem;
  }
  .c_faqItem {
    padding: 1rem;
  }
  .c_faqItem:not(:last-of-type) {
    margin-bottom: 1rem;
  }
  .c_faqQuestion {
    grid-template-columns: 20px 1fr 16px;
  }
  .c_faqQuestion::before {
    width: 20px;
    height: 20px;
  }
  .c_faqQuestion::after {
    width: 16px;
    height: 16px;
  }
  .c_faqAnswer {
    padding-left: 30px;
  }
}
.c_noteContainer {
  background-color: #FFFFFF;
  padding: 1.5rem 3% 2rem;
  margin-bottom: 2.5rem;
}
.c_noteContainer h3 {
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
  margin-bottom: 0.5rem;
}
.c_noteContainer .c_grid {
  border-top: 1px dashed #999999;
  border-bottom: 1px dashed #999999;
  width: 100%;
  gap: 0;
}
.c_noteContainer .c_grid li {
  padding: 0.5rem;
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: clamp(0.75rem, 0.675rem + 0.32vw, 0.875rem);
}
.c_noteContainer .c_grid li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background-color: #61828F;
}
.c_noteContainer .c_grid li:first-child, .c_noteContainer .c_grid li:nth-child(2), .c_noteContainer .c_grid li:nth-child(3) {
  border-bottom: 1px dashed #999999;
}
.c_noteContainer.p_curriculum .c_grid li::before {
  background-color: #61828F;
}
.c_noteContainer.p_business .c_grid li::before {
  background-color: #D4867C;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_noteContainer {
    padding: 1rem 1rem 1.5rem;
  }
  .c_noteContainer .c_grid li:nth-child(4) {
    border-bottom: 1px dashed #999999;
  }
}
.c_secMessage {
  font-size: clamp(1rem, 0.85rem + 0.64vw, 1.25rem);
  color: #4E4025;
  text-align: center;
  padding: 1rem;
  border-left: 1px solid #BCAA6F;
  border-right: 1px solid #BCAA6F;
  position: relative;
  margin-top: 3rem;
}
.c_secMessage::before, .c_secMessage::after {
  content: "";
  width: 16px;
  height: calc(100% - 2px);
  border-top: 1px solid #BCAA6F;
  border-bottom: 1px solid #BCAA6F;
  position: absolute;
  top: 0;
}
.c_secMessage::before {
  left: 0;
}
.c_secMessage::after {
  right: 0;
}
.c_secMessage--sm {
  max-width: 800px;
  margin-inline: auto;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .c_secMessage {
    padding: 1.5rem;
  }
  .c_secMessage--sp {
    text-align: left;
  }
}
input, select, textarea {
  width: 100%;
  padding: 1rem;
  border: 1px solid #999999;
  border-radius: 4px;
  font-size: 1rem !important;
}

.c_radio:not(:last-child) {
  margin-bottom: 0.5rem;
}

label {
  cursor: pointer;
  display: flex;
  gap: 0.5rem;
}

/* デフォルトのラジオボタンのスタイル */
input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; /* デフォルトのスタイルを消す */
  border: 1px solid #999999;
  border-radius: 50%;
  height: 1.5rem;
  margin: 0;
  position: relative;
  width: 1.5rem;
  padding: 0.5rem;
}

input[type=radio]::before {
  content: "";
  background-color: #588A73;
  border-radius: 50%;
  bottom: 0;
  height: 1rem;
  left: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 1rem;
}

/* チェックされたらラジオボタン内側を表示 */
input[type=radio]:checked::before {
  opacity: 1;
}

.c_submit {
  border: none;
  text-align: center;
  display: block;
  border-radius: 4px;
  font-size: clamp(1.125rem, 1.05rem + 0.32vw, 1.25rem);
  width: min(100%, 400px);
  margin: 0 auto;
  padding: 1rem 1.5rem;
  cursor: pointer;
  background-color: #588A73;
  color: #FFFFFF;
}
.c_submit:hover {
  opacity: 0.7;
}

.modalOpen {
  cursor: pointer;
}

.modalContainer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.7);
  padding: 40px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
  z-index: 999;
  color: #000;
}

.modalContainer:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.modalContainer.active {
  opacity: 1;
  visibility: visible;
}

.modalBody {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 90%;
  max-width: 800px;
}

.modalClose {
  position: absolute;
  top: -40px;
  right: 0;
  font-size: 24px;
  color: #fff;
  cursor: pointer;
}

.modalWrapper {
  background-color: #fff;
  text-align: left;
  padding: 30px;
  overflow-y: auto;
  max-height: 85vh;
}
.modalWrapper h3 {
  margin-bottom: 15px;
  text-align: center;
  font-size: 1rem;
  padding: 5px;
  background-color: #000;
  color: #fff;
  font-weight: 600;
}
.modalWrapper h4 {
  font-size: 0.875rem;
  font-weight: 600;
}
.modalWrapper p {
  font-size: 0.875rem;
  margin-bottom: 0.5em;
  font-weight: 400;
}
.modalWrapper ul {
  list-style: inside;
  font-size: 0.875rem;
  font-weight: 400;
}
.modalWrapper ul li {
  margin-bottom: 0.5em;
}
.modalWrapper ol {
  list-style: auto;
  font-size: 0.875rem;
  padding-left: 1em;
  font-weight: 400;
}
.modalWrapper ol li {
  margin-bottom: 0.5em;
}
.modalWrapper .modal__block:not(:last-child) {
  margin-bottom: 30px;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .modalContainer {
    padding: 40px 0;
  }
  .modalWrapper {
    padding: 30px;
  }
}
.floating-btn {
  position: fixed;
  right: 0;
  bottom: 1rem;
  z-index: 1;
}
.floating-btn a {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #FFFFFF;
  font-size: clamp(0.75rem, 0.675rem + 0.32vw, 0.875rem);
  background-color: #A6A084;
  border-radius: 8px 0 0 8px;
  padding: 1.5rem 1rem;
  gap: 0.5rem;
}
.floating-btn a img {
  display: block;
  width: 20px;
}
.floating-btn a span {
  writing-mode: vertical-rl;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .floating-btn a {
    padding: 1rem;
  }
  .floating-btn a span {
    display: none;
  }
}
/* project */
.p_about {
  position: relative;
}
.p_about::before {
  content: "";
  width: 45%;
  max-width: 450px;
  aspect-ratio: 229/180;
  background-image: url(../img/object/object-shadow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 0;
}

.p_top .p_curriculum {
  margin-bottom: 3.5rem;
}
.p_top .p_curriculum .title--lv3--icon::before {
  width: 35px;
  background-image: url(../img/icon/icon-curriculum.svg);
}
.p_top .p_business .title--lv3--icon::before {
  width: 30px;
  background-image: url(../img/icon/icon-business.svg);
}
.p_top .title--lv5 {
  margin-bottom: 0.5rem;
}

.p_topServiceDesc {
  border: 1px solid #cccccc;
  padding: 0.75rem 1.5rem;
  font-size: clamp(0.75rem, 0.675rem + 0.32vw, 0.875rem);
  position: relative;
  margin-top: 2rem;
}
.p_topServiceDesc p {
  background-color: #FFFFFF;
  padding: 0 0.5em;
  position: absolute;
  top: -1em;
  left: 1rem;
}
.p_topServiceDesc li {
  padding: 0.1em 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p_topServiceDesc li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background-color: #61828F;
}

.p_business .p_topServiceDesc li::before {
  background-color: #D4867C;
}

.p_online {
  background-image: url(../img/bg/bg-shop_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #FFFFFF;
  text-align: center;
}
.p_online h3 {
  font-size: clamp(1.75rem, 1.6rem + 0.64vw, 2rem);
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 2.5rem;
}
.p_online p {
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
  margin-bottom: 2.5rem;
}
.p_online .c_btn {
  margin: 0 auto;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .p_about::before {
    display: none;
  }
  .p_topServiceDesc {
    padding: 0.75rem 1rem;
  }
  .p_topServiceDesc p {
    left: 0.5rem;
  }
  .p_online {
    background-image: url(../img/bg/bg-shop_sp.webp);
    text-align: left;
  }
  .p_online .l_wrapper {
    padding: 0 1.5rem;
  }
}
.p_aboutTreatment--text {
  margin-bottom: 2.5rem;
}

.p_aboutProfile {
  position: relative;
}
.p_aboutProfile::before {
  content: "";
  width: 51%;
  max-width: 660px;
  aspect-ratio: 229/180;
  background-image: url(../img/object/object-shadow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 6.5rem;
  right: 0;
  transform: scale(-1, 1);
}
.p_aboutProfile .c_media--sm {
  margin-bottom: 2rem;
  grid-template-columns: 40% 1fr;
}
.p_aboutProfile .p_aboutProfile--name {
  color: #386E55;
  font-size: clamp(1.25rem, 1.1rem + 0.64vw, 1.5rem);
  line-height: 1;
  margin-bottom: 1.5rem;
}
.p_aboutProfile .p_aboutProfile--name small {
  font-size: clamp(0.875rem, 0.8rem + 0.32vw, 1rem);
  padding-left: 0.25rem;
}

.p_aboutMessage .title--lv2 {
  margin-bottom: 1rem;
}
.p_aboutMessage--text {
  margin-bottom: 2.5rem;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .p_aboutProfile .c_media--sm {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .p_aboutProfile .c_mediaBody {
    display: contents;
  }
  .p_aboutProfile .c_secTitle {
    order: 1;
    text-align: center;
  }
  .p_aboutProfile .c_mediaImage {
    order: 2;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    margin-bottom: 1.5rem;
  }
  .p_aboutProfile .p_aboutProfile--name {
    order: 3;
    text-align: center;
  }
  .p_aboutProfile .c_mediaBodyText {
    order: 4;
  }
}
.l_serviceIntro .title--lv4 {
  margin-bottom: 3rem;
}
.l_serviceIntro .title--lv5 {
  margin-top: 2.5rem;
}

.p_serviceItem .title--bg {
  margin-bottom: 2.5rem;
}
.p_serviceItem .c_media--sm {
  margin-bottom: 2.5rem;
}
.p_serviceItem .title--lv3 {
  margin-bottom: 1.5rem;
}

.p_serviceMessage .title--lv2 {
  margin-bottom: 1.5rem;
}
.p_serviceMessage--text {
  margin-bottom: 2.5rem;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .l_serviceIntro .title--lv4 {
    font-size: clamp(1.125rem, 1.05rem + 0.32vw, 1.25rem);
    margin-bottom: 2rem;
  }
  .l_serviceIntro .title--lv5 {
    text-align: left;
    font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
    margin-top: 1.5rem;
  }
  .p_serviceItem .title--bg {
    margin-bottom: 1.5rem;
  }
  .p_serviceItem .c_media--sm {
    margin-bottom: 2rem;
  }
  .p_serviceItem .title--lv3 {
    margin-bottom: 1rem;
  }
}
.p_businessContainer .title--lv3 {
  margin-bottom: 2.5rem;
}

.p_businessIntro .title--lv2 {
  margin-bottom: 2.5rem;
}
.p_businessIntro .title--lv3 {
  margin-bottom: 0;
}
.p_businessIntro .p_businessList {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 2.5rem;
}
.p_businessIntro .p_businessList li {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  text-align: center;
  font-size: clamp(1.125rem, 1.05rem + 0.32vw, 1.25rem);
  background-image: url(../img/business/business-flame.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 23%;
  aspect-ratio: 1/1;
}
.p_businessIntro .p_businessList li:nth-child(odd) {
  margin-bottom: 3rem;
}

.p_businessPrice .c_secTitle--en,
.p_businessPrice .c_secTitle--ja {
  color: #FFFFFF;
}

.p_businessPrice--inner {
  background-color: #FFFFFF;
  border-radius: 8px;
  padding: 2.5rem;
}
.p_businessPrice--inner ul {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-inline: auto;
  margin-bottom: 1.5rem;
}
.p_businessPrice--inner .notice {
  text-align: center;
  font-size: clamp(0.625rem, 0.55rem + 0.32vw, 0.75rem);
  color: #666666;
}

.p_businessPrice .priceItemLabel {
  background-color: #DAAEAE;
  color: #FFFFFF;
  line-height: 1.3;
  padding: 0.25rem 1rem;
  text-align: center;
}

.p_businessPrice .priceItemNum {
  line-height: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.p_businessPrice .priceItemNum p {
  font-family: "Dynalight", cursive;
  font-size: clamp(3.25rem, 2.5rem + 3.2vw, 4.5rem);
  color: #4E4025;
}
.p_businessPrice .priceItemNum span {
  font-size: clamp(1.75rem, 1.6rem + 0.64vw, 2rem);
  display: inline-block;
  padding-bottom: 1rem;
}
.p_businessPrice .priceItemNum small {
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .p_businessContainer .title--lv3 {
    margin-bottom: 1.5rem;
  }
  .p_businessIntro .title--lv2 {
    margin-bottom: 1.5rem;
  }
  .p_businessIntro .title--lv3 {
    font-size: 20px;
    margin-top: 1.5rem;
  }
  .p_businessIntro .p_businessList {
    display: initial;
  }
  .p_businessIntro .p_businessList li {
    margin: 0 0.5rem;
  }
  .p_businessIntro .p_businessList li:nth-child(odd) {
    margin-bottom: 0;
  }
  .p_businessPrice--inner {
    padding: 2rem 1rem;
  }
  .p_businessPrice--inner ul {
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
  }
  .p_businessPrice--inner .notice {
    text-align: left;
  }
  .p_businessPrice .priceItemLabel {
    padding: 0.25rem 0.5rem;
  }
  .p_businessPrice .priceItemNum {
    margin-bottom: 0.5rem;
  }
  .p_businessPrice .priceItemNum span {
    padding-bottom: 0.5rem;
  }
}
.p_curriculumContainer .title--lv3 {
  margin-bottom: 2.5rem;
}

.p_curriculumOriginTitle {
  font-size: clamp(1.5rem, 1.35rem + 0.64vw, 1.75rem);
  font-weight: 400;
  line-height: 1.5;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 2.5rem;
}
.p_curriculumOriginTitle .title-lg {
  color: #2C6C85;
  font-size: clamp(1.75rem, 1.6rem + 0.64vw, 2rem);
  flex-shrink: 0;
}
.p_curriculumOriginTitle .cross {
  width: 2.5rem;
  margin: 0.25rem;
}
.p_curriculumOriginTitle .p_curriculumOriginTitle--sp {
  display: contents;
}

.p_curriculumOriginContents {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 48px 1fr;
  gap: 3%;
}

.p_curriculumOrigin .title--lv4 {
  margin: 1rem;
}

.p_curriculumOrigin .c_grid {
  border-top: 1px dashed #999999;
  border-bottom: 1px dashed #999999;
  width: 100%;
  gap: 0;
}
.p_curriculumOrigin .c_grid li {
  padding: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: clamp(0.75rem, 0.675rem + 0.32vw, 0.875rem);
  border-bottom: 1px dashed #999999;
}
.p_curriculumOrigin .c_grid li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background-color: #61828F;
}
.p_curriculumOrigin .c_grid li:nth-child(5) {
  border-bottom: none;
}

.p_curriculumOriginSkills .c_grid {
  border-bottom: 0;
}
.p_curriculumOriginSkills .c_grid li:nth-child(5)::before {
  display: none;
}
.p_curriculumOriginSkills p {
  padding: 0.5rem;
  font-size: clamp(0.75rem, 0.675rem + 0.32vw, 0.875rem);
  border-bottom: 1px dashed #999999;
}

.p_curriculumPrice .c_secTitle--en,
.p_curriculumPrice .c_secTitle--ja {
  color: #FFFFFF;
}

.p_curriculumPrice--inner {
  background-color: #FFFFFF;
  border-radius: 8px;
  padding: 2.5rem;
}
.p_curriculumPrice--inner ul {
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
  margin-bottom: 1.5rem;
}
.p_curriculumPrice--inner .notice {
  text-align: center;
  font-size: clamp(0.625rem, 0.55rem + 0.32vw, 0.75rem);
  color: #666666;
}

.priceItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1rem;
}
.priceItem:nth-child(2) .priceItemLabel {
  background-color: #E1E8EA;
  color: #2C6C85;
}

.priceItemLabel {
  background-color: #8DAFBC;
  color: #FFFFFF;
  line-height: 1.3;
  padding: 0.5rem 1.5rem;
  text-align: center;
}

.priceItemNum {
  line-height: 1;
  display: flex;
  align-items: flex-end;
}
.priceItemNum p {
  font-family: "Dynalight", cursive;
  font-size: clamp(3.25rem, 2.5rem + 3.2vw, 4.5rem);
  color: #4E4025;
}
.priceItemNum span {
  font-size: clamp(1.75rem, 1.6rem + 0.64vw, 2rem);
  display: inline-block;
  padding-bottom: 1rem;
}
.priceItemNum small {
  font-size: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .p_curriculumContainer .title--lv3 {
    margin-bottom: 1.5rem;
  }
  .p_curriculumOriginTitle {
    flex-direction: column;
    align-items: center;
  }
  .p_curriculumOriginTitle .p_curriculumOriginTitle--sp {
    display: flex;
    align-items: flex-end;
    margin-bottom: 0.25rem;
  }
  .p_curriculumOriginContents {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .p_curriculumOriginContents .cross {
    width: 12%;
  }
  .p_curriculumPrice--inner {
    padding: 2rem 1rem;
  }
  .priceItem {
    flex-direction: column;
    gap: 0.25rem;
  }
  .priceItemLabel {
    padding: 0.25rem 1rem;
  }
}
.p_contactText {
  text-align: center;
  margin-bottom: 2rem;
  font-size: clamp(0.875rem, 0.816rem + 0.24vw, 0.938rem);
}
.p_contactText span {
  text-decoration: underline;
}

.c_table {
  margin-bottom: 40px;
  max-width: 860px;
  margin-inline: auto;
  background-color: #FFFFFF;
  border-radius: 1rem;
  padding: 2.5rem 2rem;
}

.c_table-row {
  display: grid;
  grid-template-columns: 30% 1fr;
  align-items: flex-start;
  padding: 1rem;
  gap: 2rem;
}
.c_table-row:not(:last-child) {
  border-bottom: 1px dotted #cccccc;
}

.c_table-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0.75rem;
}

.c_label {
  display: inline-block;
  border-radius: 5px;
  padding: 2px 10px;
  font-size: 0.75rem;
  color: #FFFFFF;
}

.c_label--require {
  background-color: #C57065;
}

.c_label--any {
  background-color: #999999;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .p_contactText {
    text-align: left;
  }
  .c_table {
    border-radius: 0.5rem;
    padding: 1rem 0.5rem;
  }
  .c_table-row {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem 0.5rem;
  }
  .c_table-head {
    padding-top: 0;
  }
}
/* utility */
.u_text--center {
  text-align: center;
}

.u_sp--block {
  display: none;
}

.u_color--green {
  color: #386E55;
}

.u_color--pink {
  color: #C57065;
}

.u_color--blue {
  color: #2C6C85;
}

/*===========================
sp
===========================*/
@media screen and (max-width: 767px) {
  .u_sp--block {
    display: block;
  }
  .u_sp--none {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */