/*-------post------*/
.archive-post-title {
  font-size: var(--b-fs);
  font-weight: var(--b-fw);
}
.single-post-title {
  font-size: max(var(--px-24), 1.8rem);
  border-bottom: 1px solid var(--purple);
  color: var(--purple);
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-bottom: 1em;
  padding-bottom: 1px;
  line-height: 2;
}
.breadcrumb {
  background: var(--purple);
  padding-inline: 5.55%;
  display: flex;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-bottom: clamp(40px, var(--px-80), 80px);
}
.breadcrumb li::after {
  content: ">";
  margin: 0 1em;
  display: inline-block;
}
.breadcrumb li:last-child::after {
  content: none;
}
.breadcrumb li a,
.breadcrumb li {
  color: #fff;
}
.p-single__body {
  max-width: 950px;
  width: 100%;
  margin-inline: auto;
}
.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
.l-post__body article:nth-child(odd) {
  background: #ffeef5;
}
.l-post__body article:nth-child(even) {
  background: #fff6fa;
}
.l-post__body article {
  padding-top: clamp(30px, var(--px-70), 70px);
  padding-bottom: clamp(30px, var(--px-90), 90px);
  padding-inline: 15px;
}
.l-post__inner {
  max-width: max(var(--px-1164), 1164px);
  width: 100%;
  margin-inline: auto;
}
.l-post__date {
  border: 1px solid var(--purple);
  color: var(--purple);
  padding-inline: 10px;
  padding-block: 5px;
}
.archive-post-title {
  font-size: max(var(--px-24), 1.8rem);
  border-bottom: 1px solid var(--purple);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--purple);
  margin-bottom: 1em;
  padding-bottom: 1px;
  line-height: 2;
}
.l-post__content {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.l-post__contentbox {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
/*-------hd------*/
.c-logo {
  max-width: max(var(--px-336), 210px);
  width: 100%;
}
.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 600;
  background: rgba(255, 255, 255, 0.84);
}
/*-------ft-----*/
.l-footer__btn-wrap {
  display: grid;
  grid-template-columns:
    max(var(--px-168), 168px) max(var(--px-168), 168px)
    max(var(--px-225), 225px);
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: clamp(30px, var(--px-50), 50px);
}
.l-footer__inner {
  padding-block: clamp(30px, var(--px-60), 60px);
  padding-inline: 15px;
}
.c-footer-nav__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 32px;
}
.c-footer-nav__list li {
  font-size: max(var(--px-15), 1.2rem);
  line-height: 1;
  letter-spacing: 0.06em;
}
.c-copyright {
  background: #a2cf58;
  padding-block: 10px;
}
.c-copyright__text {
  font-size: max(var(--px-15), 1.3rem);
  line-height: 1;
  letter-spacing: 0.06em;
  color: #fff;
}
/*-------title------*/
.c-title {
  font-size: max(var(--px-96), 4rem);
  letter-spacing: 0.06em;
  font-weight: 300;
}
.c-title .c-title__small {
  display: block;
  font-size: max(var(--px-32), 1.6rem);
}
.c-title2 {
  font-size: max(var(--px-48), 2.2rem);
  letter-spacing: 0.06em;
  font-weight: 300;
}
.c-title2 .c-title__small {
  display: block;
  font-size: max(var(--px-24), 1.6rem);
}
.c-title3 {
  font-size: max(var(--px-36), 2rem);
  letter-spacing: 0.06em;
  font-weight: 400;
  border-radius: 12px 0 12px 0;
  text-align: center;
  color: #fff;
  padding-block: 10px;
}
.c-title3.st2 {
  font-size: max(var(--px-24), 2rem);
}
.c-title4 {
  color: var(--purple);
  font-size: max(var(--px-40), 20px);
  text-align: center;
  font-weight: 400;
  line-height: 1.28;
}
/*-------btn------*/
.c-btn1 {
  position: relative;
  display: inline-flex;
  max-width: 338px;
  width: 100%;
  height: 70px;
  background: #fff;
  color: #9c5cdb;
  border: 1px solid #9c5cdb;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: 500;
  transition: 0.3s ease-in-out;
}
.c-btn1:hover {
  background: #9c5cdb;
  color: #fff;
  opacity: 1;
}
.c-btn1:hover::after {
  background: #fff;
}
.c-btn1::after {
  content: "";
  background: #9c5cdb;
  width: 52px;
  height: 1px;
  display: inline-block;
  position: absolute;
  right: 0;
  top: 50%;
  transition: 0.3s ease-in-out;
}
.c-btn2 {
  font-size: max(var(--px-15), 1.5rem);
  background: #9c5cdb;
  color: #fff;
  display: inline-block;
}
.c-btn2.st2 {
  min-height: 49px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.c-btn2.st2::before {
  content: "";
  background: url(../../../uploads/2026/05/mail-icon.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  max-width: 12.5px;
  width: 100%;
  height: 10px;
}
.c-btn3-txt {
  display: block;
  font-size: max(var(--px-15), 1.5rem);
  text-align: center;
  line-height: 1;
  color: #fff;
  padding-block: 3px;
  pointer-events: none;
}
.c-btn3gr {
  background: #a2cf58;
}
.c-btn3-numgr::before {
  content: "";
  background: url(../../../uploads/2026/05/phone-icon-green.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: max(var(--px-18), 18px);
  aspect-ratio: 1 / 1;
  line-height: 1;
}
.c-btn3-num {
  font-size: max(var(--px-24), 2.4rem);
  letter-spacing: 0.06em;
  line-height: 1;
  display: block;
  text-align: center;
}
.c-btn3pink {
  background: #ffa1e7;
}
.c-btn3-numpink::before {
  content: "";
  background: url(../../../uploads/2026/05/phone-icon-pink.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: max(var(--px-18), 18px);
  aspect-ratio: 1 / 1;
  line-height: 1;
}
/*-------table------*/
.c-table1 dt {
  border-bottom: 2px solid #eb57c6;
  font-size: max(var(--px-20), 1.4rem);
  letter-spacing: 0.06em;
  padding-block: 14px;
  line-height: 1;
  width: 30%;
  text-align: center;
}
.c-table1 dd {
  border-bottom: 2px solid #ffc7f1;
  font-size: max(var(--px-20), 1.4rem);
  letter-spacing: 0.06em;
  padding-left: 2em;
  padding-block: 14px;
  line-height: 1;
  width: 70%;
}
.c-table2 dt {
  background: var(--purple);
  color: #fff;
  width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #fff;
  font-weight: 500;
}
.c-table2 dd {
  color: var(--purple);
  width: 70%;
  border: solid var(--purple);
  border-width: 1px 1px 1px 0;
  padding-block: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
}
.c-table2 .row {
  display: flex;
}
.c-table3 {
  font-size: max(var(--px-20), 1.4rem);
  letter-spacing: 0.11em;
  line-height: 2;
  max-width: max(var(--px-759), 759px);
  margin-inline: auto;
}
.c-table3 th,
.c-table3 td {
  padding-block: 0.5em;
}
.c-table3 thead {
  background: #9c5cdb;
  color: #fff;
  border-bottom: 1px solid #fff;
}
.c-table3 thead th {
  font-weight: 400;
  text-align: center;
}
.days-inner {
  display: flex;
  justify-content: center;
  gap: max(var(--px-40), 15px);
}

/* 記号 */
.days-inner span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-table3 tbody td {
  text-align: center;
  background: #fff;
  color: #9c5cdb;
}
.c-table3 tbody tr:first-child td {
  border-bottom: 1px solid #b476f0;
}
.c-table3 tbody tr:first-child th {
  border-bottom: 1px solid #fff;
}
.c-table3 tbody th {
  background: #9c5cdb;
  color: #fff;
  font-weight: 400;
  width: 27%;
}
.c-table3 tbody tr:last-child th {
  background: #b476f0;
  color: #fff;
}
/*-------layout------*/
.c-layout1 {
  position: relative;
}
.c-layout1::before {
  content: "";
  background: linear-gradient(
    65.05deg,
    #ffa2d9 0%,
    #f6d3cf 49%,
    rgba(179, 195, 247, 0.5) 100%
  );
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
  clip-path: polygon(50% 0, 100% 17%, 100% 100%, 0 100%, 0 17%);
  -webkit-clip-path: polygon(50% 0, 100% 17%, 100% 100%, 0 100%, 0 17%);
}
.c-layout1:after {
  content: "";
  background: url(../../../uploads/2026/05/layout__img01.webp) no-repeat;
  background-size: contain;
  width: max(var(--px-492), 198px);
  aspect-ratio: 4 / 3;
  display: block;
  position: absolute;
  left: 7px;
  z-index: -1;
  top: max(var(--px-120), 120px);
}
.c-layout1__text {
  max-width: max(var(--px-872), 400px);
  width: 100%;
  background: rgba(255, 255, 255, 0.77);
  padding-inline: max(var(--px-30), 10px);
  padding-block: clamp(24px, var(--px-40), 40px);
  margin-left: max(var(--px-100), 15px);
}
.c-layout1__img {
  max-width: clamp(306px, var(--px-508), 508px);
  width: 100%;
}
.c-simple__list {
  padding-left: 1.5em;
}
.c-simple__list li {
  list-style: disc;
}
.c-layout1__wrap {
  position: relative;
}
.c-layout1__img {
  position: absolute;
  top: 40px;
  right: 0;
  z-index: -1;
}
.p-about-layout1__title {
  color: var(--purple);
  font-size: max(var(--px-40), 20px);
  text-align: center;
  font-weight: 400;
  padding-bottom: max(var(--px-30), 20px);
  padding-top: max(var(--px-80), 40px);
  line-height: 1.28;
}
.c-layout1.st2 {
  padding-top: max(var(--px-120), 70px);
}
/*-------fv------*/
.p-index-fv {
  position: relative;
}
.p-index-fv__text {
  position: absolute;
  top: calc(50% + 100px);
  left: 50%;
  z-index: 3;
  transform: translate(-50%, -50%);
}
.p-index-fv__title {
  font-size: max(var(--px-48), 24px);
  color: #fff;
  text-shadow: 0px 0px 12px rgba(255, 255, 255, 0.64);
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
  line-height: 1.35;
}
.p-index-fv__title .l-text {
  font-size: max(var(--px-64), 36px);
}
.p-index-fv__title-small {
  font-size: max(var(--px-24), 16px);
  letter-spacing: 0.06em;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.64);
  text-shadow: 0px 0px 12px rgba(255, 255, 255, 0.64);
}
/*-------c-index-post----*/
.c-index-post {
  background: url(../../../uploads/2026/05/tile-bg2.jpg) no-repeat;
  background-size: cover;
  background-position: top left;
  padding-top: clamp(40px, var(--px-80), 80px);
  padding-bottom: clamp(60px, var(--px-100), 100px);
}
.c-index-post__title {
  font-size: max(var(--px-48), 32px);
  color: #eb57c6;
  line-height: 1.28;
}
.c-index-post__title .s-text {
  display: block;
  font-size: max(var(--px-24), 16px);
  font-weight: 400;
  text-align: right;
}
.c-index-post__post-box {
  background: #fff;
  border-radius: 10px;
  max-width: max(var(--px-840), 840px);
  width: 100%;
  padding-block: clamp(40px, var(--px-50), 50px);
  padding-inline: var(--px-60);
  margin-bottom: clamp(20px, var(--px-40), 40px);
}
/*一旦*/
.top-article {
  display: flex;
  align-items: center;
  gap: 45px;
  padding-block: 10px;
  padding-inline: 2em;
  border-bottom: 1px solid #e0e0e0;
}
.c-index-post__wrap {
  gap: var(--px-60);
  justify-content: center;
  flex-wrap: wrap;
}
/*-------calendar----*/
.p-index-calendar__title {
  color: #ffe96b;
  font-size: max(var(--px-96), 40px);
  text-align: center;
  line-height: 1.28;
}
.p-index-calendar__title .s-text {
  display: block;
  font-size: max(var(--px-32), 16px);
  color: #1e1e1e;
  font-weight: 400;
}
.p-index-calendar {
  padding-block: clamp(40px, var(--px-60), 60px);
}
.p-index-calendar__area {
  max-width: 909px;
  width: 100%;
  margin-inline: auto;
}
.eo-fullcalendar .fc-event {
  pointer-events: none;
}
/*-------menu----*/
.p-index-menu {
  background: url(../../../uploads/2026/05/grd-bg3.jpg) no-repeat;
  background-size: cover;
  padding-top: max(var(--px-40), 40px);
  padding-bottom: max(var(--px-70), 60px);
}
.p-index-menu__title {
  font-size: max(var(--px-96), 40px);
  color: #eb57c6;
  line-height: 1.6;
}
.p-index-menu__title .s-text {
  display: inline-block;
  font-size: max(var(--px-32), 16px);
  font-weight: 400;
  margin-left: 1em;
}
.p-index-menu__wrap {
  gap: 15px;
  flex-wrap: wrap;
}
.p-index-menu__card {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.p-index-menu__card-title {
  color: #fff;
  font-size: max(var(--px-24), 20px);
  text-align: center;
  padding-block: 10px;
  border-radius: 13px 0 13px 0;
  font-weight: 400;
  margin-bottom: 13px;
}
.p-index-menu__card-img {
  margin-bottom: 13px;
}
.p-index-menu__card-text {
  flex: 1;
  margin-bottom: 100px;
}
.p-index-menu__card-btn {
  text-align: center;
}
/*-------contact----*/
.p-index-contact {
  background: linear-gradient(
    65.05deg,
    #ffa2d9 -9.74%,
    #f6d3cf 48.37%,
    #b3c3f7 108.77%
  );
  padding-top: clamp(40px, var(--px-100), 100px);
  padding-bottom: clamp(40px, var(--px-90), 90px);
}
.p-index-contact__title {
  color: #ffe96b;
  font-size: max(var(--px-96), 40px);
  text-align: center;
  line-height: 1.28;
  margin-bottom: clamp(15px, var(--px-30), 30px);
}
.p-index-contact__title .s-text {
  display: block;
  font-size: max(var(--px-32), 16px);
  color: #1e1e1e;
  font-weight: 400;
}
.p-index-contact__body {
  max-width: max(var(--px-928), 928px);
  width: 100%;
  margin-inline: auto;
}
.p-index-contact__link-area {
  background: #fff;
  padding-block: 35px;
  margin-bottom: clamp(15px, var(--px-30), 30px);
}
.p-index-contact__link-area-title {
  font-size: max(var(--px-24), 20px);
  font-weight: 400;
  text-align: center;
  margin-bottom: 15px;
}
.p-index-contact__link-area-wrap {
  justify-content: center;
  gap: 20px;
}
.p-index-contact__form-area {
  background: #fff;
  max-width: max(var(--px-928), 928px);
  width: 100%;
  padding-inline: 20px;
  padding-bottom: 40px;
}
.p-index-contact__form-area-title {
  text-align: center;
  font-size: max(var(--px-24), 20px);
  padding-block: clamp(20px, var(--px-30), 30px);
}
.st2 .c-btn3-num {
  font-size: max(var(--px-36), 24px);
}
.st2 .c-btn3-numgr::before,
.st2 .c-btn3-numpink::before {
  width: max(var(--px-28), 28px);
}
/*-------spanishtile----*/
.p-index-spanishtile {
  background: url(../../../uploads/2026/05/grd-bg3.jpg) no-repeat;
  background-size: cover;
  padding-top: max(var(--px-140), 40px);
  padding-bottom: max(var(--px-140), 40px);
}
.p-index-spanishtile__title {
  color: #9c5cdb;
  font-size: max(var(--px-96), 40px);
  text-align: center;
  line-height: 1.28;
  margin-bottom: clamp(20px, var(--px-60), 60px);
}
.p-index-spanishtile__title .s-text {
  display: block;
  font-size: max(var(--px-32), 16px);
  font-weight: 400;
}
.p-index-spanishtile__text {
  max-width: max(var(--px-809), 809px);
  width: 100%;
  margin-inline: auto;
  text-align: center;
  margin-bottom: clamp(20px, var(--px-60), 60px);
}
.p-index-spanishtil__img-box {
  position: relative;
}
.p-index-spanishtil__img-box .left-img {
  position: absolute;
  left: 0;
  bottom: -125px;
  display: inline-block;
  max-width: max(var(--px-226), 131px);
  width: 100%;
}
.p-index-spanishtil__img-box .right-img {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  max-width: max(var(--px-212), 123px);
  width: 100%;
}
.p-index-spanishtil-btn {
  text-align: center;
}
/*-------blog----*/
.p-index-blog {
  padding-top: max(var(--px-40), 40px);
  padding-bottom: max(var(--px-100), 40px);
}
.p-index-blog__title {
  color: #eb57c6;
  font-size: max(var(--px-96), 40px);
  text-align: center;
  line-height: 1.28;
  margin-bottom: clamp(20px, var(--px-50), 50px);
}
.p-index-blog__title .s-text {
  display: block;
  font-size: max(var(--px-32), 16px);
  font-weight: 400;
}
.p-index-blog__post-box {
  max-width: max(var(--px-928), 928px);
  width: 100%;
  margin-inline: auto;
  margin-bottom: clamp(30px, var(--px-60), 60px);
}
.p-index-blog__link-wrap {
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  align-items: center;
}
.p-index-info__btn {
  margin-top: 30px;
}
/*-------ipad----*/
@media screen and (max-width: 1180px) {
}
/*-------ipad-air----*/
@media screen and (max-width: 820px) {
  .p-index-spanishtil__img-box .left-img {
    position: relative;
    left: auto;
    bottom: auto;
  }
  .p-index-spanishtil__img-box .right-img {
    position: relative;
    right: auto;
    bottom: auto;
  }
  .p-index-spanishtil__img-box {
    text-align: center;
    margin-bottom: 40px;
  }
}
/*-------iphone----*/
@media screen and (max-width: 680px) {
  .c-table1 dt,
  .c-table1 dd {
    width: 100%;
  }
  .c-table1:not(.cs-contact-form) dd {
    border-bottom: none;
  }
  /* .c-table1 dd {
    border-bottom: 2px solid #ffc7f1;
  } */
  .c-table1 dt {
    text-align: left;
    padding-left: 2em;
  }
  .c-table2 dt,
  .c-table2 dd {
    width: 100%;
  }
  .c-table2 dt {
    padding-block: 15px;
  }
  .c-table2 dd {
    border-width: 1px 1px 1px 1px;
  }
  .l-footer__btn-wrap {
    grid-template-columns: 243px;
  }
  .c-layout1__img {
    position: relative;
    top: auto;
    right: auto;
    margin-left: auto;
    margin-top: -5px;
  }
  .c-layout1__text {
    margin-left: 0;
  }
  .c-layout1::before {
    clip-path: polygon(50% 0, 100% 5%, 100% 100%, 0 100%, 0 5%);
    -webkit-clip-path: polygon(50% 0, 100% 5%, 100% 100%, 0 100%, 0 5%);
  }
  .c-layout1:after {
    top: auto;
    bottom: 0;
    z-index: -2;
  }
  .p-index-fv__text {
    width: 100%;
  }
  .p-index-fv__title-small {
    text-align: center;
  }
  .c-index-post__title .s-text,
  .c-index-post__title,
  .p-index-menu__title,
  .p-index-menu__title .s-text,
  body .l-info-title,
  body .l-info-title__small {
    text-align: center;
    display: block;
  }
  .p-index-menu__card-text {
    margin-bottom: 1em;
  }
  .p-index-contact__link-area-wrap {
    width: 60%;
    margin-inline: auto;
  }
}
/* CSS Document */
