@charset "UTF-8";
/*//////////////////////////////////////////////////////////

Copyright (C) apricot-design All Rights Reserved.
------------------------------------------------------------
CSS information
 file name  :  reset.css
 style info :  リセットファイル
 admin info :  apricot-design

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

audio[controls], canvas, video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  overflow-y: scroll;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {
  margin: 0;
  padding: 0;
}

body, button, input, select, textarea {
  font-size: 100%;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre, code, kbd, samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

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

small {
  font-size: 75%;
}

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul, ol {
  margin: 0;
  padding: 0;
}

dd {
  margin: 0px;
}

nav ul, nav ol {
  list-style: none;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
  overflow: hidden;
}

figure, form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  *margin-left: -7px;
}

input, button, select, textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font-size: 100%;
  vertical-align: baseline;
  *vertical-align: middle;
  margin: 0;
  padding: 0;
  outline: none;
}

input[type=radio] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  margin-right: 5px;
}

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

select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: "";
}
select::-ms-expand {
  display: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
}

img, abbr, acronym, fieldset {
  border: 0;
}

li {
  list-style: none;
}

/*画像を縦に並べた時に余白が出ないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
* {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.ie6_error, .no_script {
  background: #F66;
  padding: 100px;
  text-align: center;
  font-size: 150%;
  color: #333;
}

.flt {
  float: left;
}

.flr {
  float: right;
}

.txt_l, td.txt_l, .txt_l td {
  text-align: left;
}

.txt_r, td.txt_r, .txt_r td {
  text-align: right;
}

.txt_c, td.txt_c, .txt_c td {
  text-align: center;
}

.valign_t, td.valign_t, .valign_t td {
  vertical-align: top;
}

.valign_m, td.valign_m, .valign_m td {
  vertical-align: middle;
}

.valign_b, td.valign_b, .valign_b td {
  vertical-align: bottom;
}

.clear {
  clear: both;
}

.clearfix {
  zoom: 1;
}
.clearfix:before {
  content: "";
  display: block;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.img_bd {
  border: solid 1px #E8E8E8;
}

.c_red {
  color: #FF3425;
}

.fadeIn {
  opacity: 0;
}
.fadeIn.js_active {
  animation: fadeIn 0.6s ease-in-out forwards;
}

.fadeInDelay {
  opacity: 0;
}
.fadeInDelay.js_active {
  animation: fadeIn 0.6s ease-in-out 0.4s forwards;
}

.fadeInLeft {
  opacity: 0;
}
.fadeInLeft.js_active {
  animation: fadeInLeft 0.6s ease-in-out forwards;
}

.fadeInRight {
  opacity: 0;
}
.fadeInRight.js_active {
  animation: fadeInRight 0.6s ease-in-out forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(2em);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-1.5em);
  }
  80% {
    transform: translateX(0);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(1.5em);
  }
  80% {
    transform: translateX(0);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
:root {
  --max-with: 1500;
  --min-with: 1000px;
  --headerHeight: 204px;
  --activeHeaderHeight: 150px;
  --sideW: min(8.66vw, 130px);
  --space: 120px;
  --spaceMin: 80px;
}
@media screen and (max-width: 1450px) {
  :root {
    --sideW: min(5.33vw, 80px);
  }
}
@media screen and (max-width: 767px) {
  :root {
    --max-with: 375;
    --min-with: 300px;
    --headerHeight: 80px;
    --activeHeaderHeight: 70px;
    --sideW: min(6.66vw, 25px);
    --space: 80px;
    --spaceMin: 50px;
  }
}

html {
  width: 100%;
  font-size: 10px;
  scroll-behavior: smooth;
  scroll-padding-top: var(--activeHeaderHeight);
}

body {
  font: 400 16px/2 "Noto Sans JP", sans-serif;
  color: #333;
  text-align: left;
  letter-spacing: 0;
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.1em;
  line-height: 1.5;
}

a {
  text-decoration: none;
  color: #333;
  transition: 0.5s;
}
a:link, a:active, a:visited {
  text-decoration: none;
}
a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  a[href*="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}

.opacity {
  transition: 0.3s;
}
.opacity:hover {
  opacity: 0.6;
}

img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: inherit;
  }
}

br.mb {
  margin-bottom: 15px;
}

#container_wrap {
  position: relative;
  min-width: var(--min-with);
  padding-top: var(--headerHeight);
}
@media screen and (max-width: 767px) {
  #container_wrap {
    overflow: hidden;
    min-width: 1px;
  }
}

.section_wrap {
  position: relative;
  margin-bottom: var(--space);
}
.section_wrap_min {
  position: relative;
  margin-bottom: var(--spaceMin);
}
.section_wrap_min.of_hidden {
  margin-bottom: 0;
  padding-bottom: var(--spaceMin);
}
.section_wrap_lg {
  position: relative;
  margin-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .section_wrap_lg {
    margin-bottom: 100px;
  }
}
.section_wrap_lg.of_hidden {
  margin-bottom: 0;
  padding-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .section_wrap_lg.of_hidden {
    padding-bottom: 100px;
  }
}
.section_wrap.of_hidden {
  margin-bottom: 0;
  padding-bottom: var(--space);
}
.section_wrap:last-child {
  margin-bottom: 0;
}

.of_hidden {
  overflow: hidden;
}

.inner, .inner_min, .inner_sm {
  max-width: calc(1280px + var(--sideW) * 2);
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--sideW);
}
@media screen and (max-width: 767px) {
  .inner, .inner_min, .inner_sm {
    padding: 0 calc(var(--sideW) / 2);
  }
}
.inner_sm {
  max-width: calc(1120px + var(--sideW) * 2);
}
.inner_min {
  max-width: calc(960px + var(--sideW) * 2);
}
.inner + [class*=inner], .inner_sm + [class*=inner], .inner_min + [class*=inner] {
  margin-top: var(--spaceMin);
}

@keyframes fixedNav {
  0% {
    top: -100%;
  }
  20% {
    top: 0;
  }
  100% {
    top: 0;
  }
}
.header {
  position: absolute;
  width: 100%;
  min-width: var(--min-with);
  height: var(--headerHeight);
  top: 0;
  left: 0;
  transition: 0.5s;
  padding: 0 var(--sideW);
}
@media screen and (max-width: 767px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-right: 15px;
    z-index: 1000;
  }
}
.header.head_bg::after {
  content: "";
  position: absolute;
  width: calc(100% - min(14.66vw, 220px) - min(5.2vw, 78px) - var(--sideW));
  height: 338px;
  top: 0;
  right: 0;
  background-color: #ED5E91;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .header.head_bg::after {
    display: none;
  }
}
.header.js-active .global_nav {
  position: fixed;
  top: 0;
  right: 0;
  height: auto;
  padding: 10px var(--sideW);
  background-color: rgba(255, 255, 255, 0.8);
  animation: fixedNav 3s forwards;
  border-radius: 0 0 20px 20px;
}
.header.js-active .global_nav > * {
  margin-bottom: 10px;
}
.header.js-active .global_nav > * li:has(.sub_gnav) > a::before {
  background-color: #333 !important;
}
.header.js-active .global_nav > *:last-child {
  margin-bottom: 0;
}
.header.js-active .global_nav .gnav > li > a {
  color: #333;
}
.header.js-active .global_nav .gnav > li > a::before {
  background-color: #333;
}
.header.js-active .global_nav .gnav > li > a::after {
  background-color: #333;
}
.header__in {
  display: grid;
  grid-template-columns: min(16vw, 240px) 1fr;
  align-items: baseline;
  height: 100%;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .header__in {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
}
.header__ttl {
  transition: 0.5s;
  z-index: 3;
}
.header__ttl a {
  display: block;
  aspect-ratio: 256/128;
  white-space: nowrap;
  text-indent: 110%;
  overflow: hidden;
  background: url(../images/logo.svg) no-repeat center/contain;
  transition: none;
}
@media screen and (max-width: 767px) {
  .header__ttl a {
    width: min(59vw, 227px);
  }
}
.header__nav {
  position: relative;
}

.global_nav {
  position: relative;
  height: 100%;
  padding-top: 15px;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .global_nav {
    display: flex;
    flex-direction: column;
    gap: 40px 0;
    position: fixed;
    width: 100%;
    height: 100%;
    padding-top: var(--headerHeight);
    background-color: #454545;
    overflow-y: scroll;
    opacity: 0;
    pointer-events: none;
    top: 0;
    left: 110%;
    transition: 0.5s;
  }
}
.global_nav::after {
  position: absolute;
  background: linear-gradient(to right, rgba(51, 51, 51, 0.58)), url(../images/gnav_bg.jpg) no-repeat center top/100% auto;
  width: 100%;
  aspect-ratio: 375/1318;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .global_nav::after {
    content: "";
  }
}
.global_nav.active {
  left: 0;
  opacity: 1;
  pointer-events: auto;
}
.global_nav .subnav_01 {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_01 {
    order: 1;
    justify-content: center;
    margin-bottom: 0;
  }
}
.global_nav .subnav_01 li {
  display: flex;
  align-items: center;
  font-size: 0.75em;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_01 li {
    font-size: 0.875em;
  }
}
.global_nav .subnav_01 li::after {
  content: "|";
  display: block;
  color: #333;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_01 li::after {
    color: #fff;
  }
}
.global_nav .subnav_01 li:first-child::before {
  content: "｜";
  display: block;
  color: #333;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_01 li:first-child::before {
    color: #fff;
  }
}
.global_nav .subnav_01 a {
  padding: 0 1em;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_01 a {
    padding: 0 0.5em;
    color: #fff;
  }
}
.global_nav .subnav_01 a:hover {
  text-decoration: underline;
}
.global_nav .subnav_02 {
  display: flex;
  justify-content: flex-end;
  gap: 10px min(1.3vw, 20px);
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_02 {
    order: 3;
    flex-direction: column;
    margin-bottom: 0;
    padding: 0 calc(var(--sideW) * 2) 40px;
  }
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_02 > li:not(.sns) {
    width: 100%;
  }
}
.global_nav .subnav_02 > li:not(.sns):nth-child(3) a::before {
  width: 13px;
  aspect-ratio: 13/16;
  -webkit-mask-image: url(../images/ico_gnav_02.svg);
          mask-image: url(../images/ico_gnav_02.svg);
}
.global_nav .subnav_02 > li:not(.sns):nth-child(4) a::before {
  width: 21px;
  aspect-ratio: 21/11;
  -webkit-mask-image: url(../images/ico_gnav_03.svg);
          mask-image: url(../images/ico_gnav_03.svg);
}
.global_nav .subnav_02 > li:not(.sns) > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  position: relative;
  line-height: 37px;
  text-align: center;
  background-color: #ED5E91;
  color: #fff;
  font-weight: 700;
  border-radius: 20px;
  padding: 0 38px 0 25px;
  font-size: 0.75em;
  font-weight: 700;
  border: 1px solid transparent;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_02 > li:not(.sns) > a {
    display: flex;
  }
}
.global_nav .subnav_02 > li:not(.sns) > a:hover {
  background-color: #FFE419;
}
.global_nav .subnav_02 > li:not(.sns) > a::before {
  content: "";
  display: block;
  width: 12px;
  aspect-ratio: 12/15;
  -webkit-mask: url(../images/ico_gnav_01.svg) no-repeat center/contain;
          mask: url(../images/ico_gnav_01.svg) no-repeat center/contain;
  background-color: #fff;
}
.global_nav .subnav_02 > li:not(.sns) > a::after {
  content: "";
  position: absolute;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #fff;
  right: 13px;
  top: calc(50% - 6px);
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_02 .sns {
    margin-bottom: 10px;
  }
}
.global_nav .subnav_02 .sns ul {
  display: flex;
  gap: 4px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_02 .sns ul {
    justify-content: center;
  }
}
.global_nav .subnav_02 .sns ul li {
  position: relative;
}
.global_nav .subnav_02 .sns ul a {
  display: block;
  width: 45px;
}
.global_nav .subnav_02 .sns ul a:hover {
  filter: drop-shadow(0 5px 5px rgba(51, 51, 51, 0.6));
  transform: translateY(-2px);
}
.global_nav .subnav_02 .sns ul p {
  font-size: 0.6875em;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .global_nav .subnav_02 .sns ul p {
    color: #fff;
  }
}
.global_nav .gnav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0 min(1.33vw, 20px);
}
@media screen and (max-width: 767px) {
  .global_nav .gnav {
    order: 2;
    flex-direction: column;
    align-items: stretch;
    gap: 10px 0;
    padding: 0 var(--sideW);
  }
}
.global_nav .gnav > li {
  padding: 10px 0;
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li {
    padding: 0;
  }
}
.global_nav .gnav > li:has(.is_current) {
  position: relative;
}
.global_nav .gnav > li:has(.is_current)::before {
  content: "";
  position: absolute;
  width: 14px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_gnav_hover.svg) no-repeat center/contain;
          mask: url(../images/ico_gnav_hover.svg) no-repeat center/contain;
  background-color: #ED5E91;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li:has(.is_current)::before {
    content: none;
  }
}
.global_nav .gnav > li > a {
  display: block;
  position: relative;
  font-weight: 700;
  font-size: clamp(0.75em, 1.066vw, 1em);
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li > a {
    font-size: 1.125em;
    line-height: 49px;
    background-color: #fff;
    padding: 0 20px;
  }
}
.global_nav .gnav > li > a.is_current::before {
  opacity: 1;
}
.global_nav .gnav > li > a:hover {
  color: #333;
}
.global_nav .gnav > li > a:hover::after {
  transform: scale(1);
  transform-origin: left;
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li > a:hover::after {
    transform-origin: center;
  }
}
.global_nav .gnav > li > a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #333;
  left: 0;
  bottom: -2px;
  transform: scale(0, 1);
  transition: transform 0.5s;
  transform-origin: right;
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li > a::after {
    width: 12px;
    height: 12px;
    -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
            mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
    background-color: #333;
    left: auto;
    right: 15px;
    bottom: auto;
    top: calc(50% - 6px);
    transform: none;
    transform-origin: initial;
  }
}
.global_nav .gnav > li:has(.sub_gnav) {
  position: relative;
}
.global_nav .gnav > li:has(.sub_gnav):hover .sub_gnav {
  opacity: 1;
  pointer-events: auto;
}
.global_nav .gnav > li:has(.sub_gnav) > a {
  padding-right: 14px;
}
.global_nav .gnav > li:has(.sub_gnav) > a::before {
  content: "";
  position: absolute;
  width: 9px;
  aspect-ratio: 3/2;
  background-color: #ED5E91;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  right: 0;
  top: calc(50% - 2px);
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li:has(.sub_gnav) > a::before {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li:has(.sub_gnav) > a::after {
    transform: rotate(90deg);
  }
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li.is_open .sub_gnav {
    display: flex;
  }
}
.global_nav .gnav > li .sub_gnav {
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li .sub_gnav {
    display: none;
    position: static;
    transform: none;
    margin-top: 10px;
    opacity: 1;
    pointer-events: auto;
    padding-left: 20px;
  }
}
.global_nav .gnav > li .sub_gnav a {
  display: block;
  background-color: #ED5E91;
  border: 1px solid #fff;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 38px;
  text-align: center;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .global_nav .gnav > li .sub_gnav a {
    line-height: 1.5;
    padding: 10px 5px;
  }
}
.global_nav .gnav > li .sub_gnav a:hover {
  background-color: #fff;
  color: #333;
}
.global_nav .gnav > li .sub_gnav--each li:nth-child(1) a {
  background-color: #5ECCED;
}
.global_nav .gnav > li .sub_gnav--each li:nth-child(2) a {
  background-color: #ED5E5E;
}
.global_nav .gnav > li .sub_gnav--each li:nth-child(3) a {
  background-color: #C57DDB;
}
.global_nav .gnav > li .sub_gnav--each li:nth-child(4) a {
  background-color: #FFEB00;
  color: #333;
}
.global_nav .gnav > li .sub_gnav--each li:nth-child(4) a:hover {
  color: #fff;
}
.global_nav .gnav > li .sub_gnav--each li:nth-child(5) a {
  background-color: #01D68F;
  color: #333;
}
.global_nav .gnav > li .sub_gnav--each li:nth-child(5) a:hover {
  color: #fff;
}

.menu-trigger {
  display: none;
  place-content: center;
  place-items: center;
  gap: 3px;
  position: relative;
  width: 60px;
  aspect-ratio: 1/1;
  cursor: pointer;
  background-color: #ED5E91;
  border-radius: 50%;
  z-index: 3;
  transition: 0.5s;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .menu-trigger {
    display: grid;
  }
}
.menu-trigger span {
  display: block;
  position: relative;
  width: 33px;
  height: 20px;
  background: linear-gradient(to bottom, transparent calc(50% - 1px), #fff calc(50% - 1px), #fff calc(50% + 1px), transparent calc(50% + 1px));
  transition: 0.5s;
}
.menu-trigger span::before, .menu-trigger span::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 2px;
  top: 0;
  left: 0;
  transform-origin: center;
  transition: 0.5s;
}
.menu-trigger span::after {
  top: auto;
  bottom: 0;
}
.menu-trigger.active span {
  background: none;
}
.menu-trigger.active span::before, .menu-trigger.active span::after {
  top: calc(50% - 1px);
  opacity: 1;
  rotate: 135deg;
  width: calc(100% + 10px);
  left: -5px;
}
.menu-trigger.active span::after {
  bottom: auto;
  rotate: -135deg;
}

.footer_recruit {
  position: relative;
  margin-bottom: 100px;
  z-index: 1;
}
.footer_recruit__in {
  position: relative;
  padding: 230px var(--sideW) 170px;
  background: url(../images/footer_bg.jpg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .footer_recruit__in {
    padding: 100px var(--sideW);
    margin: 0 calc(var(--sideW) * -1);
  }
}
.footer_recruit__in::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(223, 238, 251, 0.57);
}
.footer_recruit__in > * {
  position: relative;
  z-index: 1;
}
.footer_recruit__in p {
  text-align: center;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .footer_recruit__in p {
    font-size: 1em;
  }
}
.footer_recruit__in p span {
  display: block;
  font-size: 2.25em;
  letter-spacing: 0.12em;
  line-height: 1.5;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .footer_recruit__in p span {
    font-size: 2em;
  }
}
.footer_recruit__in a {
  display: block;
  position: relative;
  width: 454px;
  max-width: 100%;
  line-height: 1.5;
  padding: 25px 30px;
  background-color: #D97BA6;
  color: #fff;
  font-size: 0.9375em;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 0 auto 25px;
}
@media screen and (max-width: 767px) {
  .footer_recruit__in a {
    padding: 20px;
  }
}
.footer_recruit__in a:hover::after {
  width: 60px;
}
.footer_recruit__in a:last-child {
  margin-bottom: 0;
}
.footer_recruit__in a::after {
  content: "";
  position: absolute;
  width: 52px;
  height: 8px;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  left: calc(100% - 26px);
  top: calc(50% - 4px);
  transform: skewX(45deg) translate(0, -50%);
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .footer_recruit__in a::after {
    width: 30px;
    left: calc(100% - 15px);
  }
}

.footer {
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .footer {
    text-align: center;
  }
}
.footer img {
  display: block;
  margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
  .footer img {
    margin: 0 auto 30px;
  }
}
.footer .address {
  display: flex;
  flex-wrap: wrap;
  gap: 20px min(4vw, 60px);
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .footer .address {
    justify-content: center;
  }
}
.footer .address p {
  font-size: 0.875em;
}
.footer a {
  display: block;
  position: relative;
  width: 240px;
  line-height: 1.5;
  padding: 18px 10px;
  text-align: center;
  font-size: 0.875em;
  font-weight: 700;
  letter-spacing: 0.04em;
  font-family: "Quicksand", sans-serif;
  background: linear-gradient(-135deg, #80F5FF 10%, #F8FFA3 80%);
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .footer a {
    margin-inline: auto;
  }
}
.footer a:hover::after {
  width: 60px;
}
.footer a::after {
  content: "";
  position: absolute;
  width: 52px;
  height: 8px;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  left: calc(100% - 26px);
  top: calc(50% - 4px);
  transform: skewX(45deg) translate(0, -50%);
  transition: 0.3s;
}
.footer .copyright {
  font-size: 0.75em;
  letter-spacing: 0.06em;
  font-weight: 500;
  font-family: "Quicksand", sans-serif;
}

.page_top {
  position: fixed;
  right: min(4.66vw, 70px);
  bottom: 5%;
  font-size: 1.125em;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  letter-spacing: 0;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .page_top {
    right: 15px;
    bottom: 3%;
    font-size: 0.75em;
  }
}
.page_top.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.page_top:hover {
  color: #C3C3C3;
}
.page_top:hover::before {
  background-color: #C3C3C3;
}
.page_top::before {
  content: "";
  display: block;
  width: 46px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/page_top.svg) no-repeat center/contain;
          mask: url(../images/page_top.svg) no-repeat center/contain;
  background-color: #333;
  margin: 0 auto;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .page_top::before {
    width: 30px;
  }
}

.main_visual {
  position: relative;
  width: calc(100% - var(--sideW) * 2);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main_visual {
    width: 100%;
    margin-bottom: 40px;
  }
}
.main_visual__image {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
@media screen and (max-width: 767px) {
  .main_visual__image {
    grid-template-columns: repeat(4, 1fr);
  }
}
.main_visual__image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s;
}
.main_visual__image img.is-visible {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .main_visual__image img:nth-last-child(-n+2) {
    display: none;
  }
}
.main_visual__title {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: clamp(30px, 4vw, 60px);
  font-weight: 700;
  line-height: 3.5;
  letter-spacing: 0.02em;
  white-space: nowrap;
  width: 100%;
  text-align: center;
  color: #fff;
  text-align: center;
  text-shadow: 0 0 3px rgba(51, 51, 51, 0.7);
}
@media screen and (max-width: 767px) {
  .main_visual__title {
    font-size: 10vw;
    text-align: center;
    line-height: 2.5;
  }
}

.top_news {
  position: relative;
  z-index: 1;
  margin: -37px 0 60px;
}
@media screen and (max-width: 767px) {
  .top_news {
    margin: 0 auto 30px;
  }
}
.top_news dl {
  display: grid;
  grid-template-columns: 200px 1fr;
  background-color: #fff;
  border-radius: 20px;
  width: 932px;
  max-width: 100%;
  margin: 0 auto 60px;
  box-shadow: 0 0 10px rgba(51, 51, 51, 0.2);
  padding: 15px 0;
}
@media screen and (max-width: 767px) {
  .top_news dl {
    grid-template-columns: 1fr;
    height: auto;
    padding: 0 var(--sideW) 15px;
    margin: 0 0 var(--space);
    border-radius: 15px;
  }
}
.top_news dl dt {
  text-align: center;
  font-size: 1.125em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  border-right: 1px solid #333;
}
@media screen and (max-width: 767px) {
  .top_news dl dt {
    font-size: 1em;
    text-align: left;
    border-right: none;
    border-bottom: 1px solid #333;
    padding: 15px 0 7px;
    margin-bottom: 7px;
  }
}
.top_news dl dd {
  display: grid;
  grid-template-columns: 1fr 140px;
  grid-template-rows: auto auto auto;
  align-items: start;
  gap: 0 25px;
  padding-left: 25px;
}
@media screen and (max-width: 767px) {
  .top_news dl dd {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .top_news dl dd .text {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top_news dl dd .text:last-of-type {
    padding-bottom: 7px;
    margin-bottom: 7px;
    border-bottom: 1px solid #333;
  }
}
.top_news dl dd .text p {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 0;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .top_news dl dd .text p {
    display: flex;
    flex-direction: column;
    padding: 5px 0;
    line-height: 1.25;
    font-size: 0.875em;
  }
}
.top_news dl dd .text p span {
  font-family: "Quicksand", sans-serif;
  letter-spacing: 0.04em;
}
.top_news dl dd .text p a {
  display: block;
  line-height: 1.75;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media screen and (max-width: 767px) {
  .top_news dl dd .text p a {
    text-overflow: clip;
    white-space: wrap;
  }
}
.top_news dl dd .text p a:hover {
  text-decoration: underline;
}
.top_news dl dd .link {
  display: inline-flex;
  align-items: center;
  gap: 0 9px;
  font-size: 0.875em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  color: #ED5E91;
  grid-column: 2/3;
  grid-row: 1/-1;
}
.top_news dl dd .link:hover {
  color: #333;
}
.top_news dl dd .link:hover::after {
  background-color: #333;
}
.top_news dl dd .link::after {
  content: "";
  display: block;
  width: 13px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #ED5E91;
  transition: 0.3s;
}

@keyframes bg-move {
  0% {
    -webkit-mask-position: 0 0, 1422px 0;
            mask-position: 0 0, 1422px 0;
  }
  100% {
    -webkit-mask-position: -1422px 0, 0 0;
            mask-position: -1422px 0, 0 0;
  }
}
.top_blog {
  position: relative;
}
@media screen and (max-width: 767px) {
  .top_blog {
    padding-bottom: 80px;
    margin-bottom: 0;
  }
}
.top_blog::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 60px;
  -webkit-mask-image: url(../images/txt_pokapoka_nursery-school.svg), url(../images/txt_pokapoka_nursery-school.svg);
          mask-image: url(../images/txt_pokapoka_nursery-school.svg), url(../images/txt_pokapoka_nursery-school.svg);
  -webkit-mask-repeat: no-repeat, no-repeat;
          mask-repeat: no-repeat, no-repeat;
  -webkit-mask-size: 1372px auto, 1372px auto;
          mask-size: 1372px auto, 1372px auto;
  -webkit-mask-position: 0 0, 1422px 0;
          mask-position: 0 0, 1422px 0;
  background-color: #ED5E91;
  left: 0;
  top: 260px;
  z-index: -1;
  animation: bg-move 10s linear infinite;
}
@media screen and (max-width: 767px) {
  .top_blog::before {
    top: auto;
    bottom: -20px;
    animation: bg-move 20s linear infinite;
  }
}
.top_blog::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 125%;
  background-color: #ED5E91;
  left: 0;
  top: 312px;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .top_blog::after {
    content: none;
  }
}
.top_blog__in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  background-color: #fff;
  padding: 75px 50px;
  border-radius: 23px;
  box-shadow: 0 0 10px rgba(51, 51, 51, 0.25);
}
@media screen and (max-width: 767px) {
  .top_blog__in {
    padding: 0;
    box-shadow: none;
  }
}
.top_blog__in h2 {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 1.875em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .top_blog__in h2 {
    font-size: 1.375em;
    gap: 10px;
  }
}
.top_blog__in h2::before {
  content: "";
  display: block;
  width: 45px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_star.svg) no-repeat center/contain;
          mask: url(../images/ico_star.svg) no-repeat center/contain;
  background-color: #ED5E91;
}
@media screen and (max-width: 767px) {
  .top_blog__in h2::before {
    width: 30px;
  }
}
.top_blog__in ul {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 40px min(4vw, 60px);
}
@media screen and (max-width: 767px) {
  .top_blog__in ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 10px;
  }
}
@media screen and (max-width: 767px) {
  .top_blog__in ul li {
    position: relative;
    text-align: center;
    padding-top: 30px;
  }
}
.top_blog__in ul .blog_card {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 0;
}
@media screen and (max-width: 767px) {
  .top_blog__in ul .blog_card {
    flex-direction: column;
    text-align: left;
    gap: 10px 0;
  }
}
.top_blog__in ul .blog_card:hover img {
  transform: scale(1.1);
}
.top_blog__in ul .blog_card:hover .ttl {
  color: #ED5E91;
}
.top_blog__in ul .blog_card figure {
  width: 193px;
  aspect-ratio: 193/128;
  overflow: hidden;
  border-radius: 18px;
}
@media screen and (max-width: 767px) {
  .top_blog__in ul .blog_card figure {
    width: auto;
    border-radius: 10px;
  }
}
.top_blog__in ul .blog_card figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
.top_blog__in ul .blog_card .text {
  width: calc(100% - 193px);
  padding-left: min(2vw, 30px);
}
@media screen and (max-width: 767px) {
  .top_blog__in ul .blog_card .text {
    width: auto;
  }
}
.top_blog__in ul .blog_card .text .name {
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  background-color: #ED5E91;
  border-radius: 2em;
  color: #fff;
  padding-bottom: 2px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .top_blog__in ul .blog_card .text .name {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    line-height: 20px;
    font-size: 0.75em;
  }
}
.top_blog__in ul .blog_card .text .date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 0.875em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .top_blog__in ul .blog_card .text .date {
    font-size: 0.75em;
    margin-bottom: 5px;
  }
}
.top_blog__in ul .blog_card .text .date span {
  display: flex;
  align-items: center;
}
.top_blog__in ul .blog_card .text .date span::after {
  content: "｜";
  display: block;
}
.top_blog__in ul .blog_card .text .ttl {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.5;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .top_blog__in ul .blog_card .text .ttl {
    font-size: 0.875em;
  }
}
.top_blog__in ul .archive_link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #ED5E91;
  font-size: 0.875em;
  font-weight: 700;
  margin-left: calc(193px + min(2vw, 30px));
}
@media screen and (max-width: 767px) {
  .top_blog__in ul .archive_link {
    margin: 10px 0 0;
  }
}
.top_blog__in ul .archive_link:hover {
  color: #333;
  text-decoration: underline;
}
.top_blog__in ul .archive_link:hover::after {
  background-color: #333;
}
.top_blog__in ul .archive_link::after {
  content: "";
  display: block;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #ED5E91;
  transition: 0.3s;
}

.top_features {
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  padding-bottom: var(--space);
}
@media screen and (max-width: 767px) {
  .top_features {
    padding-top: 50px;
  }
}
.top_features::after {
  content: "";
  position: absolute;
  width: calc(100vw - var(--sideW));
  height: calc(100% - 100px);
  background-color: #333;
  top: 100px;
  right: 0;
  border-radius: 50px 0 0 0;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .top_features::after {
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #ED5E91 50vw, #333 50vw);
    top: 0;
    border-radius: 0;
  }
}
.top_features__image {
  position: absolute;
  width: max(43.0666vw, 440px);
  height: 576px;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .top_features__image {
    position: relative;
    width: 86vw;
    height: auto;
    aspect-ratio: 307/260;
    margin-bottom: 60px;
  }
}
.top_features__image::after {
  content: "";
  position: absolute;
  width: 310px;
  aspect-ratio: 310/207;
  background: url(../images/top_features_icon.png) no-repeat center/contain;
  top: calc(100% - 100px);
  right: 0;
}
@media screen and (max-width: 767px) {
  .top_features__image::after {
    width: 147px;
    top: calc(100% - 50px);
    right: -40px;
  }
}
.top_features__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 50px 50px 0;
}
@media screen and (max-width: 767px) {
  .top_features__image img {
    border-radius: 0 25px 25px 0;
  }
}
.top_features__text {
  width: 54.2%;
  position: relative;
  padding: 50px 0 0;
  margin-left: auto;
  margin-bottom: var(--space);
}
@media screen and (max-width: 767px) {
  .top_features__text {
    width: auto;
    padding: 0;
    margin-bottom: 40px;
  }
}
.top_features__text h2 {
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top_features__text h2 {
    font-size: 1.125em;
    text-align: center;
    margin-bottom: 10px;
  }
}
.top_features__text h2::before {
  content: attr(data-en);
  display: block;
  font-size: 3.33em;
  font-family: "Quicksand", sans-serif;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .top_features__text h2::before {
    font-size: 2.25em;
  }
}
.top_features__text dl .item {
  display: grid;
  grid-template-columns: 53% 1fr;
  gap: 0 25px;
  border-bottom: 1px solid #707070;
  padding: 18px 0;
}
@media screen and (max-width: 767px) {
  .top_features__text dl .item {
    grid-template-columns: 1fr;
    padding: 15px 0;
  }
}
.top_features__text dl .item dt {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.5625em;
  font-weight: 700;
  line-height: 1.5;
  color: #ED5E91;
}
@media screen and (max-width: 767px) {
  .top_features__text dl .item dt {
    font-size: 1.125em;
  }
}
.top_features__text dl .item dt::before {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 1/1;
  background-color: #ED5E91;
  border-radius: 50%;
}
.top_features__text dl .item dd {
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top_features__text dl .item dd {
    padding-left: 18px;
    font-size: 0.9375em;
  }
}
.top_features__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  grid-template-rows: max-content;
  gap: 55px 30px;
  width: 960px;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .top_features__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 10px;
  }
}
.top_features__list li {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-items: baseline;
  gap: 0;
}
.top_features__list img {
  width: 100%;
  border-radius: 23px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 3/2;
  margin: 0 auto 35px;
}
@media screen and (max-width: 767px) {
  .top_features__list img {
    border-radius: 10px;
    margin-bottom: 15px;
  }
}
.top_features__list strong {
  display: block;
  position: relative;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  background-color: #5ECCED;
  border-radius: 30px;
  padding: 5px 0;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .top_features__list strong {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
}
.top_features__list strong::after {
  content: "";
  position: absolute;
  width: 9px;
  aspect-ratio: 2/1;
  background: #5ECCED;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  top: 100%;
  left: calc(50% - 4.5px);
}
.top_features__list p {
  letter-spacing: 0.1em;
  line-height: 1.75;
  color: #fff;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .top_features__list p {
    font-size: 0.75em;
    margin-bottom: 15px;
  }
}
.top_features__list p a {
  color: #fff;
  text-decoration: underline;
}
.top_features__list p a:hover {
  color: #FFE419;
}
.top_features__list .btn_cmn_01 {
  width: 195px;
  line-height: 50px;
  font-size: 0.875em;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .top_features__list .btn_cmn_01 {
    width: 140px;
    line-height: 30px;
    font-size: 0.75em;
  }
}
.top_features__list .btn_cmn_01::after {
  width: 15px;
  right: 10px;
  top: calc(50% - 7.5px);
}
@media screen and (max-width: 767px) {
  .top_features__list .btn_cmn_01::after {
    right: 5px;
  }
}

.top_group {
  padding: var(--space) 0;
  background: url(../images/top_group_bg.jpg) no-repeat center top/cover;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .top_group {
    background-image: url(../images/top_group_bg_sp.jpg);
    background-size: 100% auto;
  }
}
.top_group .inner_sm {
  display: grid;
  grid-template-columns: 186px 1fr;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top_group .inner_sm {
    grid-template-columns: 70px 1fr;
  }
}
.top_group .ttl_top_01 {
  display: flex;
  align-items: last baseline;
  gap: 48px;
  writing-mode: vertical-rl;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top_group .ttl_top_01 {
    gap: 20px;
    transform: translateY(-120px);
    z-index: 1;
  }
}
.top_group h3 {
  font-size: 1.5625em;
  font-weight: 700;
  text-align: center;
  color: #FFE419;
  background-color: #333;
  padding: 10px 0;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .top_group h3 {
    font-size: 1.125em;
    margin-bottom: 18px;
  }
}
.top_group ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .top_group ul {
    gap: 10px;
    justify-content: flex-start;
  }
}
.top_group ul:last-child {
  margin-bottom: 0;
}
.top_group ul li {
  width: calc((100% - 100px) / 5);
  min-width: 150px;
}
@media screen and (max-width: 767px) {
  .top_group ul li {
    width: calc(50% - 5px);
    min-width: 0;
  }
}
.top_group ul li a {
  display: block;
  background-color: #FFE419;
  padding: 28px 25px;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.5;
  border-radius: 23px;
}
@media screen and (max-width: 767px) {
  .top_group ul li a {
    font-size: 0.9375em;
    padding: 20px 0;
    border-radius: 20px;
  }
}
.top_group ul li a:hover {
  background-color: #333;
  color: #fff;
}
.top_group ul li a:hover::before {
  background-color: #fff;
}
.top_group ul li a::before {
  content: "";
  display: block;
  width: 106px;
  aspect-ratio: 106/54;
  -webkit-mask: url(../images/logo_bk.svg) no-repeat center/contain;
          mask: url(../images/logo_bk.svg) no-repeat center/contain;
  background-color: #333;
  margin: 0 auto 18px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .top_group ul li a::before {
    width: 66%;
    margin-bottom: 12px;
  }
}

.top_about {
  position: relative;
  padding: var(--space) 0;
  margin-bottom: 0;
}
.top_about::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-mask: url(../images/bg_staff.png) repeat-y center/100% auto;
          mask: url(../images/bg_staff.png) repeat-y center/100% auto;
  background-color: rgba(54, 173, 191, 0.25);
  left: 0;
  top: 0;
  z-index: -1;
}
.top_about .inner_sm {
  display: grid;
  grid-template-columns: 160px 1fr;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top_about .inner_sm {
    grid-template-columns: 1fr;
  }
}
.top_about .ttl_top_01 {
  display: flex;
  align-items: last baseline;
  gap: 48px;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .top_about .ttl_top_01 {
    display: block;
    position: static;
    writing-mode: horizontal-tb;
  }
}
.top_about .ttl_top_01::before {
  color: #5ECCED;
}
.top_about .in {
  margin-bottom: var(--space);
}
.top_about .about_guide {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, max-content));
  justify-content: center;
  gap: 20px 33px;
  grid-column: 1/-1;
}
@media screen and (max-width: 767px) {
  .top_about .about_guide {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}
@media screen and (max-width: 767px) {
  .top_about .about_guide li {
    display: grid;
    grid-template-rows: 1fr;
  }
}
.top_about .about_guide li:nth-child(2) a span::before {
  background-image: url(../images/ico_faq_bk.svg);
  background-size: 52% auto;
}
.top_about .about_guide li:nth-child(3) a span::before {
  background-image: url(../images/ico_guide_bk.svg);
  background-size: 63% auto;
}
.top_about .about_guide a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 35px 15px 25px;
  background-color: #333;
  text-align: center;
  border-radius: 20px;
  line-height: 1.5;
  font-size: 1.375em;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top_about .about_guide a {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    padding: 20px 15px;
    font-size: 1.125em;
  }
}
.top_about .about_guide a:hover {
  color: #FFE419;
}
.top_about .about_guide a:hover span::before, .top_about .about_guide a:hover span::after {
  background-color: #FFE419;
}
.top_about .about_guide a > span {
  display: flex;
  gap: 13px;
  position: relative;
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "Quicksand", sans-serif;
  padding-top: 140px;
}
@media screen and (max-width: 767px) {
  .top_about .about_guide a > span {
    justify-content: center;
    padding-top: 80px;
    font-size: 1.4rem;
  }
}
.top_about .about_guide a > span::before {
  content: "";
  position: absolute;
  width: 100px;
  aspect-ratio: 1/1;
  background: url(../images/ico_guide_02_bk.svg) no-repeat center/39% auto;
  background-color: #C3C3C3;
  border-radius: 50%;
  transition: 0.3s;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .top_about .about_guide a > span::before {
    top: 10px;
    width: 60px;
  }
}
.top_about .about_guide a > span::after {
  content: "";
  display: block;
  width: 20px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #fff;
}

.top_message {
  position: relative;
  margin-bottom: 0;
}
.top_message::after {
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% + 500px);
  background-color: #ED5E91;
  top: 0;
  left: 0;
  z-index: -2;
}
.top_message .inner, .top_message .inner_sm, .top_message .inner_min {
  padding-block: 240px var(--space);
}
@media screen and (max-width: 767px) {
  .top_message .inner, .top_message .inner_sm, .top_message .inner_min {
    padding-block: var(--space);
  }
}
.top_message__wrap {
  position: relative;
  padding: 60px 0 var(--space) 170px;
  width: 75%;
  margin-left: auto;
  margin-bottom: var(--space);
}
@media screen and (max-width: 767px) {
  .top_message__wrap {
    width: auto;
    padding: 30px var(--sideW);
    margin-right: calc(var(--sideW) * -1);
    margin-left: var(--sideW);
    margin-top: 180px;
  }
}
.top_message__wrap::after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  background-color: #333;
  left: 0;
  top: 0;
  border-radius: 50px 0 0 50px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top_message__wrap::after {
    border-radius: 20px 0 0 20px;
  }
}
.top_message__wrap:nth-child(even) {
  padding: var(--space) 120px var(--space) 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .top_message__wrap:nth-child(even) {
    padding: 227px var(--sideW) 60px;
    margin-right: var(--sideW);
    margin-left: calc(var(--sideW) * -1);
  }
}
.top_message__wrap:nth-child(even)::after {
  left: auto;
  right: 0;
  border-radius: 0 50px 50px 0;
}
@media screen and (max-width: 767px) {
  .top_message__wrap:nth-child(even)::after {
    border-radius: 0 20px 20px 0;
  }
}
.top_message__wrap:nth-child(even) img {
  top: -55px;
  left: calc(100% - 100px);
}
@media screen and (max-width: 767px) {
  .top_message__wrap:nth-child(even) img {
    left: auto;
    right: calc(var(--sideW) * -1);
  }
}
.top_message__wrap:last-child {
  margin-bottom: 0;
}
.top_message__wrap .ttl_top_01 {
  position: relative;
  color: #fff;
  text-align: left;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .top_message__wrap .ttl_top_01 {
    margin-bottom: 25px;
    z-index: 1;
  }
}
.top_message__wrap .ttl_top_01::before {
  position: absolute;
  bottom: calc(100% + 15px);
}
@media screen and (max-width: 767px) {
  .top_message__wrap .ttl_top_01::before {
    position: static;
  }
}
.top_message__wrap h3 {
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ED5E91;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top_message__wrap h3 {
    font-size: 1.375em;
  }
}
.top_message__wrap img {
  position: absolute;
  top: -110px;
  left: -240px;
  width: 354px;
}
@media screen and (max-width: 767px) {
  .top_message__wrap img {
    display: block;
    top: -180px;
    left: calc(var(--sideW) * -1);
    width: 246px;
  }
}
.top_message__wrap p {
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top_message__wrap p {
    font-size: 0.875em;
  }
}
.top_message__wrap p .name {
  display: block;
  font-size: 1.25em;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .top_message__wrap p .name {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .top_message .js-truncate-message {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
    position: relative;
    transition: max-height 0.3s;
    max-height: 6em;
  }
  .top_message .js-truncate-message.is-open {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    max-height: none;
  }
  .top_message .js-truncate-message.is-open::after {
    display: none;
  }
  .top_message .js-truncate-message.is-open + .js-truncate-toggle {
    display: none;
  }
  .top_message .js-truncate-message::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2em;
    background: linear-gradient(to bottom, transparent, #333 80%);
    pointer-events: none;
  }
}
.top_message .js-truncate-toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .top_message .js-truncate-toggle {
    display: block;
    position: relative;
    line-height: 50px;
    font-size: 1em;
    font-weight: 700;
    font-family: "Quicksand", sans-serif;
    background-color: #fff;
    color: #333;
    width: 100%;
    margin-top: 15px;
  }
  .top_message .js-truncate-toggle::after {
    content: "";
    position: absolute;
    width: 15px;
    aspect-ratio: 1/1;
    right: 13px;
    top: calc(50% - 7.5px);
    background: linear-gradient(#333 0 0) center/100% 1px no-repeat, linear-gradient(#333 0 0) center/1px 100% no-repeat;
  }
}

.hero {
  margin-bottom: 15px;
}
.hero .inner, .hero .inner_sm, .hero .inner_min {
  position: relative;
}
@media screen and (max-width: 767px) {
  .hero .inner, .hero .inner_sm, .hero .inner_min {
    padding: 0;
  }
}
.hero__image {
  width: 100%;
  height: 200px;
}
@media screen and (max-width: 767px) {
  .hero__image {
    height: 150px;
  }
}
.hero__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero__ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: 1;
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
  text-shadow: 0 0 10px rgba(51, 51, 51, 0.7);
}
@media screen and (max-width: 767px) {
  .hero__ttl {
    font-size: 1em;
  }
}
.hero__ttl span {
  display: block;
  font-size: 1.66em;
}
@media screen and (max-width: 767px) {
  .hero__ttl span {
    font-size: 1.4em;
  }
}
.hero__ttl span::before {
  content: "";
  display: block;
  width: 56px;
  aspect-ratio: 56/54;
  background: url(../images/hero_icon.svg) no-repeat center/contain;
  margin: 0 auto 10px;
}

.contents_wrap {
  position: relative;
  padding-bottom: var(--space);
  margin-bottom: var(--space);
}
.contents_wrap::after {
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% + 190px);
  background-color: #ED5E91;
  left: 0;
  bottom: 0;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .contents_wrap::after {
    height: calc(100% + 150px);
  }
}

.page-staff .contents_wrap::after {
  background: url(../images/bg_staff.png) repeat-y left top/100% auto;
}

.page-children-center .contents_wrap,
.page-day-care-center .contents_wrap {
  padding-bottom: 270px;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .page-children-center .contents_wrap,
  .page-day-care-center .contents_wrap {
    padding-bottom: var(--space);
  }
}
.page-children-center .contents_wrap::after,
.page-day-care-center .contents_wrap::after {
  background: url(../images/bg_yellow_02.png) repeat-y right 6.66% top/12.66% auto, linear-gradient(to right, #fff 93.34%, #FFE419 93.34%);
}
@media screen and (max-width: 767px) {
  .page-children-center .contents_wrap::after,
  .page-day-care-center .contents_wrap::after {
    background: url(../images/bg_yellow_02.png) repeat-y right top/25% auto;
  }
}
.page-children-center .contents_wrap + .footer_recruit,
.page-day-care-center .contents_wrap + .footer_recruit {
  margin-top: -150px;
}
@media screen and (max-width: 767px) {
  .page-children-center .contents_wrap + .footer_recruit,
  .page-day-care-center .contents_wrap + .footer_recruit {
    margin-top: 0;
  }
}

.page-childcare-service .contents_wrap::after,
.page-partner .contents_wrap::after,
.page-faq .contents_wrap::after {
  background-color: #FFE419;
}

.page-contact .contents_wrap::after,
.page-thanks .contents_wrap::after {
  background-color: #FFD5E4;
}
.page-contact .lead,
.page-thanks .lead {
  position: relative;
}
.page-contact .lead::after,
.page-thanks .lead::after {
  content: "";
  position: absolute;
  width: 280px;
  aspect-ratio: 280/264;
  -webkit-mask: url(../images/ico_sun.svg) no-repeat center/contain;
          mask: url(../images/ico_sun.svg) no-repeat center/contain;
  background-color: #fff;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .page-contact .lead::after,
  .page-thanks .lead::after {
    width: 40vw;
    top: auto;
    bottom: 100%;
    transform: none;
    right: -15vw;
  }
}

.guide_info {
  display: grid;
  grid-template-columns: 44.6% 1fr;
  gap: 30px min(4vw, 60px);
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .guide_info {
    grid-template-columns: 1fr;
  }
}
.guide_info img {
  display: block;
  border-radius: 20px;
}
.guide_info h3 {
  font-size: 1.5625em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .guide_info h3 {
    font-size: 1.25em;
  }
}
.guide_info table {
  width: 100%;
  border-collapse: separate;
}
@media screen and (max-width: 767px) {
  .guide_info table {
    display: block;
  }
  .guide_info table thead, .guide_info table tbody, .guide_info table tr, .guide_info table th, .guide_info table td {
    display: block;
    width: 100%;
  }
}
.guide_info table th, .guide_info table td {
  border-bottom: 2px dashed #ED5E5E;
  padding: 10px 0;
}
.guide_info table th {
  font-weight: 700;
  width: 136px;
}
@media screen and (max-width: 767px) {
  .guide_info table th {
    width: 100%;
    border-bottom: none;
    padding-bottom: 3px;
  }
}
.guide_info table td {
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .guide_info table td {
    padding-top: 0;
    font-size: 0.875em;
    line-height: 1.75;
  }
}

.guide_wrap .capacity {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 60px 13px;
  padding-top: 40px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .guide_wrap .capacity {
    gap: 40px 10px;
    padding-top: 30px;
    margin-bottom: 40px;
  }
}
.guide_wrap .capacity.col4 li {
  width: 255px;
}
@media screen and (max-width: 767px) {
  .guide_wrap .capacity.col4 li {
    width: calc(50% - 6.5px);
  }
}
.guide_wrap .capacity li {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  width: 270px;
  aspect-ratio: 1/1;
  background-color: #FFD5E4;
  border-radius: 30px;
  padding: 40px 15px;
}
@media screen and (max-width: 767px) {
  .guide_wrap .capacity li {
    padding: 30px 0 15px;
    width: calc(33.3333% - 6.6666666667px);
    border-radius: 20px;
    aspect-ratio: auto;
  }
}
.guide_wrap .capacity li span {
  display: grid;
  place-content: center;
  position: absolute;
  width: 46%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ED5E91;
  color: #fff;
  font-size: 2.25em;
  font-weight: 700;
  letter-spacing: 0.02em;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .guide_wrap .capacity li span {
    width: 50px;
    font-size: 1.125em;
    top: -30px;
  }
}
.guide_wrap .capacity li span::after {
  content: "";
  position: absolute;
  width: 18px;
  aspect-ratio: 18/14;
  background-color: #ED5E91;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  top: calc(100% - 3px);
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .guide_wrap .capacity li span::after {
    width: 12px;
  }
}
.guide_wrap .capacity li p {
  font-size: 1.25em;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .guide_wrap .capacity li p {
    font-size: 0.875em;
  }
}
.guide_wrap .capacity li p::before {
  content: "";
  display: block;
  width: 80px;
  aspect-ratio: 80/64;
  background: url(../images/guide_capa_01.svg) no-repeat center/contain;
  margin: 0 auto 15px;
}
@media screen and (max-width: 767px) {
  .guide_wrap .capacity li p::before {
    width: 60px;
    margin-bottom: 5px;
  }
}
.guide_wrap .capacity li p.possible::before {
  background-image: url(../images/guide_capa_02.svg);
}
.guide_wrap .flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 70px min(8.333vw, 125px);
  margin-bottom: 60px;
  counter-reset: num;
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 10px;
  }
}
.guide_wrap .flow li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  justify-content: center;
  gap: 26px;
  position: relative;
  background-color: #FFD5E4;
  border-radius: 30px;
  padding: 50px 15px 40PX;
  counter-increment: num;
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow li {
    padding: 40px 10px 20px;
  }
}
.guide_wrap .flow li::before {
  content: "STEP " counter(num, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 50%;
  white-space: nowrap;
  text-align: center;
  font-size: 1.5625em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  padding: 10px 35px;
  border-radius: 40px;
  line-height: 1;
  color: #fff;
  background-color: #ED5E91;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow li::before {
    font-size: 1.125em;
    padding: 10px 20px;
  }
}
.guide_wrap .flow li::after {
  content: "";
  position: absolute;
  width: 6px;
  aspect-ratio: 1/1;
  background-color: #ED5E91;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  top: 22.5px;
  left: calc(50% - 3px);
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow li::after {
    top: 17px;
  }
}
.guide_wrap .flow li:nth-child(3n) .text::before,
.guide_wrap .flow li:nth-child(3n) .text::after, .guide_wrap .flow li:last-child .text::before,
.guide_wrap .flow li:last-child .text::after {
  content: none;
}
.guide_wrap .flow li img {
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow li img {
    max-width: 80%;
  }
}
.guide_wrap .flow li .text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow li .text {
    gap: 15px;
  }
}
.guide_wrap .flow li .text::before, .guide_wrap .flow li .text::after {
  content: "";
  position: absolute;
  width: 27px;
  aspect-ratio: 27/31;
  background-color: #ED5E91;
  left: calc(100% + 30px);
  top: 100px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.guide_wrap .flow li .text::after {
  background-color: #FFD5E4;
  left: calc(100% + 70px);
}
.guide_wrap .flow li .text p {
  font-weight: 700;
  text-align: center;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow li .text p {
    font-size: 0.75em;
    text-align: left;
  }
}
.guide_wrap .flow li .text a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  position: relative;
  width: 180px;
  line-height: 36px;
  text-align: center;
  border-radius: 20px;
  background-color: #ED5E91;
  text-align: center;
  color: #fff;
  font-size: 0.75em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow li .text a {
    width: 120px;
  }
}
.guide_wrap .flow li .text a::after {
  content: "";
  position: absolute;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #fff;
  right: 13px;
  top: calc(50% - 6px);
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .guide_wrap .flow li .text a::after {
    right: 5px;
    width: 10px;
  }
}
.guide_wrap .flow li .text a:hover {
  background-color: #fff;
  color: #ED5E91;
}
.guide_wrap .flow li .text a:hover::after {
  background-color: #ED5E91;
}
.guide_wrap .flow li .text a.ico_pdf:hover::before {
  background-color: #ED5E91;
}
.guide_wrap .flow li .text a.ico_pdf::before {
  content: "";
  display: block;
  width: 12px;
  aspect-ratio: 12/16;
  -webkit-mask: url(../images/ico_gnav_01.svg) no-repeat center/contain;
          mask: url(../images/ico_gnav_01.svg) no-repeat center/contain;
  background-color: #fff;
  transition: 0.3s;
}

.price_wrap p {
  font-size: 0.9375em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.75;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .price_wrap p {
    font-size: 0.8125em;
  }
}
.price_wrap p:last-child {
  margin-bottom: 0;
}
.price_wrap p + .ttl_price_03, .price_wrap p + .ttl_price_04 {
  margin-top: 60px;
}

.features_nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  font-size: 1.25em;
  font-weight: 700;
  padding-top: 25px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .features_nav {
    gap: 0.3em;
    font-size: 1em;
    margin-bottom: 40px;
  }
}
.features_nav li {
  display: flex;
  gap: 1em;
}
@media screen and (max-width: 767px) {
  .features_nav li {
    gap: 0.3em;
  }
}
.features_nav li::after {
  content: "｜";
  display: block;
}
.features_nav li:first-child::before {
  content: "｜";
  display: block;
}
.features_nav li a {
  display: block;
  position: relative;
}
.features_nav li a::before {
  content: "";
  position: absolute;
  width: 22px;
  aspect-ratio: 1/1;
  background-color: #ED5E91;
  border-radius: 50%;
  left: calc(50% - 11px);
  bottom: 100%;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .features_nav li a::before {
    width: 14px;
  }
}
.features_nav li a.is_current::before {
  opacity: 1;
}

.features_wrap {
  display: grid;
  grid-template-columns: 52.5% 1fr;
  gap: 30px 6.66vw;
}
@media screen and (max-width: 767px) {
  .features_wrap {
    grid-template-columns: 1fr;
  }
}
.features_wrap__text ul {
  border-top: 1px solid #333;
  counter-set: num;
}
.features_wrap__text ul li {
  display: grid;
  grid-template-columns: 200px 1fr;
  padding: 40px 30px 40px 0;
  border-bottom: 1px solid #333;
}
@media screen and (max-width: 767px) {
  .features_wrap__text ul li {
    grid-template-columns: 1fr;
    padding: 25px 0;
    gap: 15px;
  }
}
.features_wrap__text ul li h3 {
  font-size: 2.8125em;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ED5E91;
  line-height: 1;
  counter-increment: num;
}
@media screen and (max-width: 767px) {
  .features_wrap__text ul li h3 {
    font-size: 2.25em;
  }
}
.features_wrap__text ul li h3::before {
  content: "KOKORO " counter(num, decimal-leading-zero);
  display: block;
  font-size: 0.355em;
  font-weight: 700;
  letter-spacing: 0;
  font-family: "Quicksand", sans-serif;
  padding-left: 2px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .features_wrap__text ul li h3::before {
    font-size: 0.5em;
    margin-bottom: 10px;
  }
}
.features_wrap__text ul li p {
  font-weight: 700;
  letter-spacing: 0.1em;
}
.features_wrap__image {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .features_wrap__image {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
}
.features_wrap__image li {
  position: relative;
  height: 300px;
}
@media screen and (max-width: 767px) {
  .features_wrap__image li {
    width: calc(50% - 5px);
    height: auto;
  }
}
.features_wrap__image li figure {
  position: absolute;
  width: 42.4vw;
  height: 100%;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .features_wrap__image li figure {
    position: static;
    width: 100%;
  }
}
.features_wrap__image li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px 0 0 20px;
}
@media screen and (max-width: 767px) {
  .features_wrap__image li figure img {
    border-radius: 10px;
    aspect-ratio: 3/2;
  }
}

.childcare_policy {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px min(3.2vw, 48px);
  width: 1000px;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .childcare_policy {
    grid-template-columns: 1fr;
    padding-right: calc(var(--sideW) * 1.5);
  }
}
.childcare_policy li {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 15px;
}
.childcare_policy figure {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  align-items: center;
  gap: 25px;
  background-color: #FFE419;
  padding: 40px 15px;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .childcare_policy figure {
    padding: 30px 15px;
  }
}
.childcare_policy figure img {
  display: block;
  margin: auto;
}
.childcare_policy figure figcaption {
  text-align: center;
  font-size: 1.875em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .childcare_policy figure figcaption {
    font-size: 1.375em;
  }
}
.childcare_policy p {
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .childcare_policy p {
    font-size: 0.875em;
  }
}

.childcare_charm {
  display: grid;
  grid-template-columns: 41% 1fr;
  gap: 25px min(3vw, 46px);
  width: 1050px;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .childcare_charm {
    grid-template-columns: 1fr;
    padding-right: calc(var(--sideW) * 1.5);
  }
}
.childcare_charm img {
  width: 100%;
  aspect-ratio: 43/33;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.childcare_charm h4 {
  font-size: 1.5625em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 43px;
}
@media screen and (max-width: 767px) {
  .childcare_charm h4 {
    font-size: 1.25em;
  }
}
.childcare_charm .lead {
  line-height: 2;
  margin-bottom: 35px;
}

.childcare_list {
  margin-bottom: var(--spaceMin);
}
.childcare_list h4 {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: 2em;
  color: #ED5E91;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-bottom: 10px;
  border-bottom: 1px solid #333;
  margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
  .childcare_list h4 {
    font-size: 1.25em;
    margin-bottom: 12px;
  }
}
.childcare_list h4::before {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  background: url(../images/ico_pen.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .childcare_list h4::before {
    width: 30px;
  }
}
.childcare_list p {
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .childcare_list p {
    font-size: 0.875em;
    margin-bottom: 30px;
  }
}
.childcare_list p:last-child {
  margin-bottom: 0;
}

.about_preschool h3 {
  font-size: 2.1875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-left: 6px solid #ED5E91;
  margin-bottom: 50px;
  padding: 15px 0 15px 25px;
}
@media screen and (max-width: 767px) {
  .about_preschool h3 {
    font-size: 1.375em;
    padding: 10px 0 10px 15px;
    border-left-width: 3px;
    margin-bottom: 25px;
  }
}
.about_preschool h3 + p {
  font-weight: 500;
  padding-left: 25px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .about_preschool h3 + p {
    font-size: 0.875em;
    padding-left: 15px;
    margin-bottom: 40px;
  }
}
.about_preschool .box {
  border: 1px solid #ED5E91;
  border-radius: 20px;
  padding: 0 50px 40px;
  overflow: hidden;
  background-color: #fff;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .about_preschool .box {
    border-radius: 15px;
    padding: 0 0 20px;
    margin-bottom: 40px;
  }
}
.about_preschool .box dt {
  width: 830px;
  max-width: 100%;
  background-color: #ED5E91;
  color: #fff;
  text-align: center;
  font-size: 1.5625em;
  font-weight: 700;
  line-height: 1.5;
  padding: 20px 0;
  margin: 0 auto 30px;
  border-radius: 0 0 20px 20px;
}
@media screen and (max-width: 767px) {
  .about_preschool .box dt {
    font-size: 1.125em;
    padding: 10px;
    border-radius: 0;
    margin-bottom: 15px;
  }
}
.about_preschool .box dd {
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .about_preschool .box dd {
    padding: 0 15px;
    font-size: 0.875em;
    line-height: 1.75;
  }
}
.about_preschool .box dd strong {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
  border-bottom: 1px solid #ED5E91;
  line-height: 1.5;
  margin-bottom: 15px;
  padding-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .about_preschool .box dd strong {
    font-size: 1em;
    margin-bottom: 10px;
    padding-bottom: 9px;
  }
}
.about_preschool .box dd p {
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .about_preschool .box dd p {
    margin-bottom: 20px;
  }
}
.about_preschool .box dd p:last-child {
  margin-bottom: 0;
}
.about_preschool .table {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .about_preschool .table {
    gap: 15px;
    margin-bottom: 40px;
  }
}
.about_preschool .table .item {
  display: grid;
  grid-template-columns: 286px 1fr;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .about_preschool .table .item {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}
.about_preschool .table .item dt {
  background-color: #FFEB00;
  font-weight: 700;
  font-size: 1.125em;
  text-align: center;
  padding: 8px 0;
}
@media screen and (max-width: 767px) {
  .about_preschool .table .item dt {
    padding: 5px 10px;
    font-size: 1em;
    text-align: left;
  }
}
.about_preschool .table .item dd {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .about_preschool .table .item dd {
    font-size: 0.875em;
  }
}
.about_preschool .preschool_time {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .about_preschool .preschool_time {
    overflow-x: scroll;
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .about_preschool .preschool_time::after {
    content: "右へスクロールしてご確認ください";
    display: block;
    font-size: 0.75em;
    font-weight: 700;
  }
}
.about_preschool .preschool_time img {
  display: block;
}
@media screen and (max-width: 767px) {
  .about_preschool .preschool_time img {
    max-width: none;
    width: 800px;
  }
}

.childcare_image {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .childcare_image {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
.childcare_image img {
  display: block;
}
.childcare_image figcaption {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .childcare_image figcaption {
    font-size: 0.8125em;
  }
}

.sec_childcare_service_01 .catch {
  position: relative;
  z-index: 1;
}
.sec_childcare_service_01 .catch::after {
  content: "";
  position: absolute;
  width: min(38.33vw, 575px);
  aspect-ratio: 575/500;
  background: url(../images/childcare-service_main.png) no-repeat center/contain;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .sec_childcare_service_01 .catch::after {
    top: calc(100% - 20px);
    transform: none;
  }
}

.sec_childcare_service_02 {
  background-color: #5ECCED;
  padding: var(--space) 0;
  margin-bottom: 0;
}
.sec_childcare_service_02 .service_toggle details:open summary::after {
  background: linear-gradient(#5ECCED 0 0) center/100% 3px no-repeat;
}
.sec_childcare_service_02 .service_toggle details summary::before {
  color: #5ECCED;
}
.sec_childcare_service_02 .service_toggle details summary::after {
  background: linear-gradient(#5ECCED 0 0) center/100% 3px no-repeat, linear-gradient(#5ECCED 0 0) center/3px 100% no-repeat;
}

.sec_childcare_service_03 {
  background-color: #ED5E91;
  padding: var(--space) 0;
}
.sec_childcare_service_03 .service_toggle details:open summary::after {
  background: linear-gradient(#ED5E91 0 0) center/100% 3px no-repeat;
}
.sec_childcare_service_03 .service_toggle details summary::before {
  color: #ED5E91;
}
.sec_childcare_service_03 .service_toggle details summary::after {
  background: linear-gradient(#ED5E91 0 0) center/100% 3px no-repeat, linear-gradient(#ED5E91 0 0) center/3px 100% no-repeat;
}

.service_toggle {
  display: flex;
  flex-direction: column;
  gap: 30px;
  counter-reset: num;
}
@media screen and (max-width: 767px) {
  .service_toggle {
    gap: 10px;
  }
}
.service_toggle details {
  counter-increment: num;
  background-color: #fff;
  padding: 0 45px 0 75px;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .service_toggle details {
    padding: 0 15px;
  }
}
.service_toggle details:open summary::after {
  background: linear-gradient(#FFE419 0 0) center/100% 3px no-repeat;
}
.service_toggle details summary {
  display: grid;
  grid-template-columns: 80px 1fr;
  position: relative;
  font-size: 1.5625em;
  font-weight: 700;
  line-height: 1.3;
  padding: 35px 40px 35px 0;
  background-color: #fff;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .service_toggle details summary {
    grid-template-columns: 30px 1fr;
    padding: 20px 20px 20px 0;
    font-size: 1em;
  }
}
.service_toggle details summary::before {
  content: counter(num, decimal-leading-zero);
  display: block;
  color: #FFE419;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  font-size: 1.4em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .service_toggle details summary::before {
    font-size: 1.2em;
  }
}
.service_toggle details summary::after {
  content: "";
  position: absolute;
  width: 25px;
  aspect-ratio: 1/1;
  background: linear-gradient(#FFE419 0 0) center/100% 3px no-repeat, linear-gradient(#FFE419 0 0) center/3px 100% no-repeat;
  right: 0;
  top: 40px;
}
@media screen and (max-width: 767px) {
  .service_toggle details summary::after {
    width: 20px;
    top: 22px;
  }
}
.service_toggle .box {
  padding-bottom: var(--spaceMin);
}
.service_toggle .box h4 {
  font-size: 1.5625em;
  font-weight: 700;
  padding-bottom: 10px;
  margin-bottom: 15px;
  border-bottom: 3px solid #FFE419;
}
@media screen and (max-width: 767px) {
  .service_toggle .box h4 {
    font-size: 1em;
  }
}
.service_toggle .box p {
  font-weight: 500;
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  .service_toggle .box p {
    font-size: 0.875em;
    margin-bottom: 30px;
  }
}
.service_toggle .box p:last-child {
  margin-bottom: 0;
}
.service_toggle .box p.large {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .service_toggle .box p.large {
    font-size: 1em;
  }
}
.service_toggle .box p.large:last-child {
  margin-bottom: 0;
}
.service_toggle .box img {
  display: block;
  border-radius: 20px;
}
.service_toggle .box .grid_01 {
  display: flex;
  flex-wrap: wrap;
  gap: 25px min(3.33vw, 50px);
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 {
    margin-bottom: 30px;
  }
}
.service_toggle .box .grid_01:last-child {
  margin-bottom: 0;
}
.service_toggle .box .grid_01 .image,
.service_toggle .box .grid_01 .list_01,
.service_toggle .box .grid_01 .list_02 {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .image,
  .service_toggle .box .grid_01 .list_01,
  .service_toggle .box .grid_01 .list_02 {
    width: 100%;
  }
}
.service_toggle .box .grid_01 .text {
  width: calc(60% - min(3.33vw, 50px));
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .text {
    width: 100%;
  }
}
.service_toggle .box .grid_01 .list_01 strong {
  display: block;
  position: relative;
  font-weight: 700;
  text-align: center;
  background-color: #333;
  border-radius: 40px;
  color: #fff;
  padding: 15px 10px;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .list_01 strong {
    padding: 10px;
    font-size: 0.875em;
    border-radius: 20px;
  }
}
.service_toggle .box .grid_01 .list_01 strong::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 7px;
  background-color: #333;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  top: 100%;
  left: calc(50% - 3.5px);
}
.service_toggle .box .grid_01 .list_01 ul {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .list_01 ul {
    gap: 10px;
  }
}
.service_toggle .box .grid_01 .list_01 ul li {
  border: 3px solid #FFE419;
  text-align: center;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.5;
  padding: 20px 10px;
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .list_01 ul li {
    font-size: 0.875em;
    padding: 15px;
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .list_02 {
    order: 2;
  }
}
.service_toggle .box .grid_01 .list_02 ul {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .list_02 ul {
    gap: 10px;
  }
}
.service_toggle .box .grid_01 .list_02 ul li {
  background-color: #FFE419;
  padding: 20px 10px;
  border-radius: 40px;
  font-size: 1.125em;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .list_02 ul li {
    font-size: 0.875em;
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .service_toggle .box .grid_01 .list_02 + .text {
    order: 1;
  }
}
.service_toggle .box .btn {
  display: block;
  position: relative;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
  background-color: #FFE419;
  border-radius: 40px;
  padding: 18px 0;
  line-height: 1.5;
  box-shadow: 4px 4px 0 #333;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .btn {
    font-size: 0.875em;
    padding: 15px 25px;
  }
}
.service_toggle .box .btn:hover {
  box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.3);
  transform: translateY(-3px);
}
.service_toggle .box .btn::after {
  content: "";
  position: absolute;
  width: 23px;
  aspect-ratio: 23/19;
  background: url(../images/ico_arrow_02.svg) no-repeat center/contain;
  right: 23px;
  top: calc(50% - 9.5px);
}
@media screen and (max-width: 767px) {
  .service_toggle .box .btn::after {
    right: 10px;
    width: 15px;
  }
}
.service_toggle .box .btn:last-child {
  margin-bottom: 0;
}
.service_toggle .box .about_food {
  display: flex;
  justify-content: center;
  background-color: rgba(255, 228, 25, 0.2);
  border-radius: 20px;
  padding: 55px 15px;
  margin-bottom: 35px;
  font-size: 1.25em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .service_toggle .box .about_food {
    font-size: 0.875em;
    padding: 25px var(--sideW);
  }
}

.curriculum_main_image {
  display: block;
  border-radius: 20px;
  margin: 0 auto var(--space);
}
@media screen and (max-width: 767px) {
  .curriculum_main_image {
    width: 100%;
    height: 150px;
    -o-object-fit: cover;
       object-fit: cover;
    margin-bottom: 30px;
  }
}

.curriculum_wrap section {
  padding: var(--spaceMin) min(5.33vw, 80px);
  background-color: rgba(255, 213, 228, 0.5);
  margin: 0 calc(-1 * min(5.33vw, 80px));
}
@media screen and (max-width: 767px) {
  .curriculum_wrap section {
    margin: 0 calc(-1 * var(--sideW) / 3);
  }
}
.curriculum_wrap section:first-child {
  margin-top: calc(var(--space) * -1) !important;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap section:first-child {
    margin-top: -30px !important;
  }
}
.curriculum_wrap section:last-child {
  margin-bottom: calc(var(--space) * -1) !important;
  border-bottom-right-radius: 30px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap section:last-child {
    margin-bottom: -30px !important;
    border-bottom-right-radius: 0;
  }
}
.curriculum_wrap h2:not([class]) {
  text-align: center;
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap h2:not([class]) {
    font-size: 1.125em;
    margin-bottom: 25px;
  }
}
.curriculum_wrap h2:not([class])::before {
  content: "";
  display: block;
  width: 33px;
  aspect-ratio: 33/32;
  -webkit-mask: url(../images/ico_gnav_hover.svg) no-repeat center/contain;
          mask: url(../images/ico_gnav_hover.svg) no-repeat center/contain;
  background-color: #ED5E91;
  margin: 0 auto 15px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap h2:not([class])::before {
    width: 25px;
    margin-bottom: 5px;
  }
}
.curriculum_wrap h2:not([class]) span {
  display: flex;
  align-items: end;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap h2:not([class]) span {
    gap: 10px;
  }
}
.curriculum_wrap h2:not([class]) span::before, .curriculum_wrap h2:not([class]) span::after {
  content: "";
  display: block;
  width: 1em;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  background: linear-gradient(to bottom right, transparent calc(50% - 1px), #333 calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px));
}
.curriculum_wrap h2:not([class]) span::before {
  background: linear-gradient(to top right, transparent calc(50% - 1px), #333 calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px));
}
.curriculum_wrap .lead {
  position: relative;
  width: 760px;
  max-width: 100%;
  margin: 0 auto 80px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .lead {
    font-size: 0.875em;
    margin-bottom: 40px;
  }
}
.curriculum_wrap .lead::before {
  content: "";
  position: absolute;
  width: 272px;
  aspect-ratio: 272/257;
  -webkit-mask: url(../images/ico_sun.svg) no-repeat center/contain;
          mask: url(../images/ico_sun.svg) no-repeat center/contain;
  background-color: #FFD5E4;
  top: 50%;
  left: calc(100% - 10px);
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .lead::before {
    content: none;
  }
}
.curriculum_wrap .curriculum_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 45px min(3vw, 45px);
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list {
    margin-bottom: 60px;
  }
}
.curriculum_wrap .curriculum_list::before {
  content: "";
  display: block;
  width: 0.1px;
  height: 0;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list::before {
    content: none;
  }
}
.curriculum_wrap .curriculum_list li {
  width: calc(33.3333333333% - min(3vw, 45px) * 2 / 3);
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list li {
    width: 100%;
  }
}
.curriculum_wrap .curriculum_list li strong {
  display: block;
  position: relative;
  font-size: 1.5625em;
  font-weight: 700;
  text-align: center;
  color: #ED5E91;
  background-color: #FFD5E4;
  border-radius: 17px;
  line-height: 1.5;
  padding: 10px;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list li strong {
    font-size: 1.125em;
  }
}
.curriculum_wrap .curriculum_list li strong::before {
  content: attr(data-text);
  position: absolute;
  width: 100%;
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.1em;
  top: -2em;
  left: 0;
}
.curriculum_wrap .curriculum_list li strong::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 7px;
  background-color: #FFD5E4;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  top: 100%;
  left: calc(50% - 3.5px);
}
.curriculum_wrap .curriculum_list li img {
  display: block;
  margin: 0 auto 25px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list li img {
    margin-bottom: 20px;
  }
}
.curriculum_wrap .curriculum_list li p {
  font-weight: 500;
  letter-spacing: 0.1em;
  font-size: 0.875em;
  line-height: 1.75;
}
.curriculum_wrap .curriculum_list li p b {
  display: block;
  font-size: 1.125em;
  margin-top: 5px;
}
.curriculum_wrap .curriculum_list li .js-truncate-message {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  position: relative;
  transition: max-height 0.3s;
  max-height: 6em;
}
.curriculum_wrap .curriculum_list li .js-truncate-message.is-open {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  max-height: none;
}
.curriculum_wrap .curriculum_list li .js-truncate-message.is-open + .js-truncate-toggle::before {
  background: linear-gradient(#ED5E91 0 0) center/100% 3px no-repeat;
}
.curriculum_wrap .curriculum_list li button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  color: #ED5E91;
  margin-top: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list li button {
    margin-top: 10px;
  }
}
.curriculum_wrap .curriculum_list li button::before {
  content: "";
  display: block;
  width: 14px;
  aspect-ratio: 1/1;
  background: linear-gradient(#ED5E91 0 0) center/100% 3px no-repeat, linear-gradient(#ED5E91 0 0) center/3px 100% no-repeat;
}
.curriculum_wrap .curriculum_list li dl {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list li dl {
    margin-top: 15px;
  }
}
.curriculum_wrap .curriculum_list li dl .item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.curriculum_wrap .curriculum_list li dl dt {
  width: 135px;
  background-color: #ED5E91;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list li dl dt {
    width: 115px;
    font-size: 0.875em;
  }
}
.curriculum_wrap .curriculum_list li dl dd {
  width: calc(100% - 135px);
  padding-left: 25px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list li dl dd {
    width: calc(100% - 115px);
    font-size: 0.875em;
  }
}
.curriculum_wrap .curriculum_list.extracurricular {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  justify-content: flex-start;
  gap: 75px min(3vw, 45px);
}
.curriculum_wrap .curriculum_list.extracurricular::before {
  content: none;
}
.curriculum_wrap .curriculum_list.extracurricular li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  row-gap: 25px;
  width: auto;
}
.curriculum_wrap .curriculum_list.extracurricular li strong {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}
.curriculum_wrap .curriculum_list.extracurricular li img {
  margin-bottom: 0;
}
.curriculum_wrap .curriculum_list.extracurricular li dl {
  margin-top: 0;
}
.curriculum_wrap .curriculum_table {
  width: 960px;
  max-width: 100%;
  margin: 0 auto var(--space);
}
.curriculum_wrap .curriculum_table tbody tr td {
  font-size: 0.875em;
  text-align: left;
}
.curriculum_wrap .extracurricular_table {
  margin-bottom: var(--space);
}
.curriculum_wrap .extracurricular_table tbody td {
  text-align: left;
  vertical-align: top;
}
.curriculum_wrap .extracurricular_table tbody td strong {
  display: inline-block;
  background-color: #FFE419;
  font-weight: 500;
  padding: 0 15px;
  font-size: 0.875em;
  border-radius: 30px;
  margin-bottom: 5px;
}
.curriculum_wrap .extracurricular_table tbody td p {
  font-size: 0.77em;
  margin-bottom: 15px;
}
.curriculum_wrap .extracurricular_table tbody td p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .extracurricular_table tbody td p {
    font-size: 1em;
  }
}
.curriculum_wrap .profile_list {
  display: flex;
  flex-direction: column;
  gap: 80px;
  width: 960px;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list {
    gap: 40px;
  }
}
.curriculum_wrap .profile_list li {
  display: flex;
  flex-wrap: wrap;
  gap: 40px min(4.26vw, 64px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li {
    gap: 0;
  }
}
.curriculum_wrap .profile_list li .image {
  width: 33.333%;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li .image {
    display: grid;
    grid-template-columns: 160px 1fr;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin-bottom: 15px;
  }
}
.curriculum_wrap .profile_list li .image figure {
  position: relative;
  aspect-ratio: 1/1;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li .image figure {
    margin: 0 auto 15px;
  }
}
.curriculum_wrap .profile_list li .image figure::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #FFD5E4;
  top: 12px;
  left: 12px;
  border-radius: 50%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li .image figure::after {
    top: 6px;
    left: 6px;
  }
}
.curriculum_wrap .profile_list li .image figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.curriculum_wrap .profile_list li .image p {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li .image p {
    font-size: 0.875em;
  }
}
.curriculum_wrap .profile_list li .image p span {
  display: block;
  font-size: 1.875em;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li .image p span {
    font-size: 1.375em;
    line-height: 1.5;
  }
}
.curriculum_wrap .profile_list li .image p span::first-letter {
  color: #ED5E91;
}
.curriculum_wrap .profile_list li .text {
  position: relative;
  width: calc(66.667% - min(4.26vw, 64px));
  background-color: #fff;
  padding: 45px 35px;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li .text {
    width: 100%;
    padding: 20px 15px;
    border-radius: 20px 20px 0 0;
  }
}
.curriculum_wrap .profile_list li .text:last-child {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li .text:last-child {
    border-radius: 0 0 20px 20px;
    padding-top: 0;
  }
}
.curriculum_wrap .profile_list li .text:last-child::before {
  content: none;
}
.curriculum_wrap .profile_list li .text::before {
  content: "";
  position: absolute;
  width: 23px;
  aspect-ratio: 23/27;
  background-color: #fff;
  right: 100%;
  top: 145px;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li .text::before {
    content: none;
  }
}
.curriculum_wrap .profile_list li h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.5625em;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding-bottom: 10px;
  margin-bottom: 15px;
  border-bottom: 3px solid #ED5E91;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li h3 {
    font-size: 1.125em;
  }
}
.curriculum_wrap .profile_list li h3::before {
  content: "";
  display: block;
  width: 25px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_gnav_hover.svg) no-repeat center/contain;
          mask: url(../images/ico_gnav_hover.svg) no-repeat center/contain;
  background-color: #ED5E91;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li h3::before {
    width: 20px;
  }
}
.curriculum_wrap .profile_list li p {
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .profile_list li p {
    font-size: 0.875em;
    line-height: 1.75;
    margin-bottom: 20px;
  }
}
.curriculum_wrap .profile_list li p:last-child {
  margin-bottom: 0;
}
.curriculum_wrap .curriculum_price {
  width: 960px;
  max-width: 100%;
  margin: 0 auto var(--space);
}
.curriculum_wrap .curriculum_price dl {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.curriculum_wrap .curriculum_price dl .item.summary dd .price_wrap {
  flex-direction: column;
  align-items: center;
}
.curriculum_wrap .curriculum_price dl dt {
  background-color: #ED5E91;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 1.25em;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dt {
    font-size: 1.125em;
  }
}
.curriculum_wrap .curriculum_price dl dd .price_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: last baseline;
  gap: 15px;
  line-height: 1.5;
  font-size: 1.25em;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .price_wrap {
    font-size: 1.125em;
  }
}
.curriculum_wrap .curriculum_price dl dd .price_wrap .text {
  font-weight: 700;
  margin: 0;
}
.curriculum_wrap .curriculum_price dl dd .price_wrap .text small {
  display: block;
}
.curriculum_wrap .curriculum_price dl dd .price_wrap .price {
  font-weight: 700;
}
.curriculum_wrap .curriculum_price dl dd .price_wrap .price span {
  font-size: 1.75em;
}
.curriculum_wrap .curriculum_price dl dd .price_wrap .price span {
  color: #ED5E91;
}
.curriculum_wrap .curriculum_price dl dd .campaign {
  position: relative;
  background-color: #FFD5E4;
  padding: 40px 15px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .campaign {
    padding: 30px 15px;
  }
}
.curriculum_wrap .curriculum_price dl dd .campaign .caption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .campaign .caption {
    font-size: 1em;
  }
}
.curriculum_wrap .curriculum_price dl dd .campaign strong {
  display: block;
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .campaign strong {
    font-size: 1em;
  }
}
.curriculum_wrap .curriculum_price dl dd .campaign strong span {
  display: inline-block;
  color: #ED5E91;
  font-size: 1.66em;
}
.curriculum_wrap .curriculum_price dl dd .campaign p {
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .campaign p {
    font-size: 0.875em;
  }
}
.curriculum_wrap .curriculum_price dl dd .pattern {
  position: relative;
  background-color: #FFD5E4;
  padding: 40px min(4.33vw, 65px);
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .pattern {
    padding: 30px 15px;
  }
}
.curriculum_wrap .curriculum_price dl dd .pattern p:not([class]) {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  gap: 5px 19px;
  align-items: baseline;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .pattern p:not([class]) {
    font-size: 1em;
    line-height: 1.75;
    margin-bottom: 20px;
  }
}
.curriculum_wrap .curriculum_price dl dd .pattern p:not([class]) span {
  display: block;
  width: 120px;
  line-height: 40px;
  background-color: #ED5E91;
  color: #fff;
  font-size: 0.9em;
  text-align: center;
}
.curriculum_wrap .curriculum_price dl dd .pattern .price_pattern {
  display: flex;
  flex-wrap: wrap;
  gap: 10px min(1.466vw, 22px);
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .pattern .price_pattern {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
  }
}
.curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item {
  position: relative;
  text-align: center;
  font-size: 0.9375em;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
  padding-left: min(2.8vw, 44px);
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item {
    padding: 1.5em 0 0;
  }
}
.curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item:first-child {
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item:first-child {
    padding-top: 0;
  }
}
.curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item:first-child::before {
  content: none;
}
.curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item:last-child::before {
  content: "=";
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item:last-child::before {
    writing-mode: vertical-lr;
    top: -0.2em;
  }
}
.curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item::before {
  content: "+";
  position: absolute;
  font-size: 2.33em;
  line-height: 1;
  left: 0;
  top: 1em;
}
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item::before {
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }
}
.curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item strong {
  display: block;
  font-size: 1.33em;
  line-height: 1.5;
}
.curriculum_wrap .curriculum_price dl dd .pattern .price_pattern .item strong span {
  font-size: 1.75em;
  font-family: "Quicksand", sans-serif;
}
.curriculum_wrap .curriculum_price + * + .lead::before {
  content: none;
}

.curriculum_blog_ttl {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 1.875em;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .curriculum_blog_ttl {
    font-size: 1.375em;
    gap: 10px;
  }
}
.curriculum_blog_ttl::before {
  content: "";
  display: block;
  width: 45px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_star.svg) no-repeat center/contain;
          mask: url(../images/ico_star.svg) no-repeat center/contain;
  background-color: #ED5E91;
}
@media screen and (max-width: 767px) {
  .curriculum_blog_ttl::before {
    width: 30px;
  }
}

.curriculum_blog {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 50px min(4vw, 60px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .curriculum_blog {
    grid-template-columns: 1fr;
  }
}
.curriculum_blog h3 {
  font-size: 1.25em;
  font-weight: 700;
  background-color: #ED5E91;
  color: #fff;
  padding: 2px;
  border-radius: 2em;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .curriculum_blog h3 {
    font-size: 1em;
    margin-bottom: 25px;
  }
}
.curriculum_blog ul {
  display: flex;
  flex-direction: column;
  gap: 35px;
  text-align: left;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .curriculum_blog ul {
    gap: 20px;
    margin-bottom: 20px;
  }
}
.curriculum_blog ul .blog_card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px 0;
}
@media screen and (max-width: 767px) {
  .curriculum_blog ul .blog_card {
    text-align: left;
  }
}
.curriculum_blog ul .blog_card:hover img {
  transform: scale(1.1);
}
.curriculum_blog ul .blog_card:hover .ttl {
  color: #ED5E91;
}
.curriculum_blog ul .blog_card figure {
  width: 193px;
  aspect-ratio: 193/128;
  overflow: hidden;
  border-radius: 18px;
}
@media screen and (max-width: 767px) {
  .curriculum_blog ul .blog_card figure {
    width: 110px;
    aspect-ratio: 130/115;
  }
}
.curriculum_blog ul .blog_card figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
.curriculum_blog ul .blog_card .text {
  width: calc(100% - 193px);
  padding-left: min(2vw, 30px);
}
@media screen and (max-width: 767px) {
  .curriculum_blog ul .blog_card .text {
    width: calc(100% - 110px);
    padding-left: min(3.33vw, 14px);
  }
}
.curriculum_blog ul .blog_card .text .name {
  display: none;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  background-color: #ED5E91;
  border-radius: 2em;
  color: #fff;
  padding-bottom: 2px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .curriculum_blog ul .blog_card .text .name {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
}
.curriculum_blog ul .blog_card .text .date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 0.875em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
}
.curriculum_blog ul .blog_card .text .date span {
  display: flex;
  align-items: center;
}
.curriculum_blog ul .blog_card .text .date span::after {
  content: "｜";
  display: block;
}
.curriculum_blog ul .blog_card .text .ttl {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.5;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .curriculum_blog ul .blog_card .text .ttl {
    font-size: 0.875em;
  }
}
.curriculum_blog .btn_more {
  color: #ED5E91;
}

.price_anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px min(1.33vw, 20px);
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .price_anchor {
    gap: 3px;
    margin: 0 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .price_anchor li {
    width: calc(50% - 1.5px);
  }
}
.price_anchor a {
  display: block;
  position: relative;
  width: 320px;
  max-width: 100%;
  line-height: 80px;
  background-color: #FFE419;
  font-weight: 700;
  font-size: 1.125em;
  text-align: center;
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .price_anchor a {
    line-height: 1.5;
    font-size: 0.6875em;
    padding: 5px 0 20px;
    border-radius: 6px;
  }
}
.price_anchor a::after {
  content: "";
  position: absolute;
  width: 20px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #333;
  right: 15px;
  top: calc(50% - 10px);
}
@media screen and (max-width: 767px) {
  .price_anchor a::after {
    width: 12px;
    transform: rotate(90deg);
    top: calc(100% - 15px);
    left: calc(50% - 6px);
  }
}
.price_anchor a:hover {
  box-shadow: 0 10px 10px rgba(51, 51, 51, 0.3);
}

.sec_partner_01 .catch {
  margin-bottom: 30px;
}

.partner_wrap {
  background-color: #fff;
  padding: 80px min(5.33vw, 80px);
  counter-increment: num;
  border-radius: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .partner_wrap {
    padding: 40px var(--sideW);
  }
}
.partner_wrap:last-child {
  margin-bottom: 0;
}
.partner_wrap h3 {
  display: flex;
  align-items: baseline;
  gap: 5px 25px;
  font-size: 1.5625em;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .partner_wrap h3 {
    flex-wrap: wrap;
    align-items: center;
    font-size: 1.125em;
    gap: 5px 10px;
  }
}
.partner_wrap h3::before {
  content: counter(num, decimal-leading-zero);
  display: block;
  font-size: 2em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #FFE419;
}
@media screen and (max-width: 767px) {
  .partner_wrap h3::before {
    font-size: 1.5em;
  }
}
.partner_wrap h3 span {
  font-size: 0.72em;
}
.partner_wrap .merit {
  -moz-columns: 2;
       columns: 2;
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  .partner_wrap .merit {
    -moz-columns: 1;
         columns: 1;
    margin-bottom: 30px;
  }
}
.partner_wrap .merit li {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 1.2em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 15px;
  counter-increment: number;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
@media screen and (max-width: 767px) {
  .partner_wrap .merit li {
    font-size: 1em;
    gap: 15px;
  }
}
.partner_wrap .merit li::before {
  content: counter(number);
  display: grid;
  place-content: center;
  width: 63px;
  aspect-ratio: 1/1;
  background-color: #FFE419;
  text-align: center;
  color: #333;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  font-size: 1.5em;
  line-height: 1;
  border-radius: 50%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .partner_wrap .merit li::before {
    width: 40px;
    font-size: 1.25em;
  }
}
.partner_wrap .box {
  background-color: rgba(255, 228, 25, 0.5);
  padding: 35px 15px;
  border-radius: 20px;
  font-size: 1.25em;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .partner_wrap .box {
    padding: 20px var(--sideW);
    font-size: 1em;
    text-align: left;
  }
}
.partner_wrap .plan {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px 25px;
  background-color: #FFE419;
  text-align: center;
  font-size: 1.5625em;
  font-weight: 700;
  line-height: 1.5;
  padding: 10px 15px;
  border-radius: 2em;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .partner_wrap .plan {
    flex-direction: column;
    font-size: 1.125em;
  }
}
.partner_wrap .plan span {
  font-size: 0.72em;
}
.partner_wrap .plan + p {
  text-align: center;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .partner_wrap .plan + p {
    font-size: 0.875em;
    text-align: left;
  }
}
.partner_wrap .example {
  display: flex;
  flex-wrap: wrap;
  border-radius: 20px 30px 30px 20px;
  border: 3px solid #333;
  width: 650px;
  max-width: 100%;
  overflow: hidden;
  margin: 0 auto 50px;
}
@media screen and (max-width: 767px) {
  .partner_wrap .example {
    border-radius: 20px;
  }
}
.partner_wrap .example dt {
  width: 27%;
  display: grid;
  place-content: center;
  background-color: #333;
  color: #FFE419;
  font-weight: 700;
  font-size: 1.25em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .partner_wrap .example dt {
    width: 100%;
  }
}
.partner_wrap .example dd {
  width: 73%;
  padding: 35px 40px;
}
@media screen and (max-width: 767px) {
  .partner_wrap .example dd {
    width: 100%;
    padding: 20px var(--sideW);
  }
}
.partner_wrap .example dd .ttl {
  display: block;
  font-size: 1.25em;
  background-color: #FFE419;
  letter-spacing: 0.1em;
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
  border-radius: 2em;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .partner_wrap .example dd .ttl {
    font-size: 1em;
    padding: 5px 10px;
  }
}
.partner_wrap .example dd .price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .partner_wrap .example dd .price {
    flex-direction: column;
  }
}
.partner_wrap .example dd .price:last-child {
  margin-bottom: 0;
}
.partner_wrap .example dd .price p {
  font-weight: 700;
  letter-spacing: 0.1em;
}
.partner_wrap .example dd .price p s {
  font-size: 1.25em;
  margin-left: 0.5em;
}
.partner_wrap .example dd .price strong {
  display: flex;
  align-items: baseline;
  position: relative;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding-left: 40px;
}
.partner_wrap .example dd .price strong::before {
  content: "";
  position: absolute;
  width: 18px;
  aspect-ratio: 18/21;
  background-color: #ED5E91;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  left: 0;
  bottom: 10px;
}
.partner_wrap .example dd .price strong span {
  font-size: 2em;
  color: #ED5E91;
}
.partner_wrap .example dd .example_price {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 9px;
}
.partner_wrap .example dd .example_price li {
  font-size: 0.875em;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0 22px;
  background-color: #FFD5E4;
  border-radius: 2em;
}
.partner_wrap .example dd .example_price li:nth-child(2) {
  background-color: #ED5E91;
  color: #fff;
}
.partner_wrap img {
  display: block;
  margin: 0 auto 60px;
}
.partner_wrap img:last-child {
  margin-bottom: 0;
}
.partner_wrap img.image01 {
  width: 703px;
}
.partner_wrap img.image02 {
  width: 670px;
}
.partner_wrap h4 {
  font-size: 1.5625em;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-bottom: 5px;
  border-bottom: 3px solid #FFE419;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .partner_wrap h4 {
    font-size: 1.25em;
  }
}
.partner_wrap .term {
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .partner_wrap .term {
    font-size: 0.875em;
  }
}
.partner_wrap .partner_list {
  -moz-columns: 2;
       columns: 2;
}
@media screen and (max-width: 767px) {
  .partner_wrap .partner_list {
    -moz-columns: 1;
         columns: 1;
  }
}
.partner_wrap .partner_list li {
  font-size: 1.125em;
  color: #ED5E91;
  font-weight: 700;
  letter-spacing: 0.08em;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
@media screen and (max-width: 767px) {
  .partner_wrap .partner_list li {
    font-size: 1em;
  }
}
.partner_wrap .partner_list li.black {
  color: #333;
}

.third-party_main {
  display: grid;
  grid-template-columns: 25% 1fr;
  gap: 25px min(4vw, 60px);
  width: 960px;
  max-width: 100%;
  margin: 0 auto 60px;
}
@media screen and (max-width: 767px) {
  .third-party_main {
    grid-template-columns: 1fr;
  }
}
.third-party_main img {
  display: block;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .third-party_main img {
    width: 200px;
    margin: 0 auto;
  }
}
.third-party_main p {
  color: #fff;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .third-party_main p {
    font-size: 0.875em;
  }
}

.third-party_wrap {
  background-color: #fff;
  padding: 80px min(5.33vw, 80px);
  counter-increment: num;
  border-radius: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .third-party_wrap {
    padding: 40px var(--sideW);
  }
}
.third-party_wrap:last-child {
  margin-bottom: 0;
}
.third-party_wrap h2 {
  display: flex;
  align-items: baseline;
  gap: 5px 25px;
  font-size: 1.5625em;
  font-weight: 700;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .third-party_wrap h2 {
    flex-wrap: wrap;
    align-items: center;
    font-size: 1.125em;
    gap: 5px 10px;
    margin-bottom: 25px;
  }
}
.third-party_wrap h2::before {
  content: counter(num, decimal-leading-zero);
  display: block;
  font-size: 2em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #ED5E91;
}
@media screen and (max-width: 767px) {
  .third-party_wrap h2::before {
    font-size: 1.5em;
  }
}
.third-party_wrap h2 span {
  font-size: 0.72em;
}
.third-party_wrap h3 {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 3px solid #ED5E91;
}
@media screen and (max-width: 767px) {
  .third-party_wrap h3 {
    font-size: 1.125em;
  }
}
.third-party_wrap p:not([class]) {
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .third-party_wrap p:not([class]) {
    font-size: 0.875em;
    margin-bottom: 25px;
  }
}
.third-party_wrap p:not([class]):last-child {
  margin-bottom: 0;
}
.third-party_wrap p:not([class]) span {
  color: #ED5E91;
}
@media screen and (max-width: 767px) {
  .third-party_wrap .catch {
    margin-bottom: 30px;
  }
}
.third-party_wrap img {
  display: block;
  border-radius: 20px;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .third-party_wrap img {
    margin-bottom: 30px;
  }
}
.third-party_wrap img:last-child {
  margin-bottom: 0;
}
.third-party_wrap figure {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .third-party_wrap figure {
    margin-bottom: 30px;
  }
}
.third-party_wrap figure:last-child {
  margin-bottom: 0;
}
.third-party_wrap figure img {
  margin-bottom: 10px;
}
.third-party_wrap figure figcaption {
  font-size: 0.875em;
}
.third-party_wrap a {
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ED5E91;
}
.third-party_wrap a:hover {
  text-decoration: underline;
}
.third-party_wrap .box {
  display: flex;
  flex-direction: column;
  gap: 15px;
  background-color: #FFD5E4;
  padding: 35px min(9.33vw, 140px);
  border-radius: 20px;
  counter-reset: number;
}
@media screen and (max-width: 767px) {
  .third-party_wrap .box {
    padding: 20px var(--sideW);
    text-align: left;
  }
}
.third-party_wrap .box li {
  display: flex;
  gap: 7px;
  color: #ED5E91;
  font-weight: 700;
  letter-spacing: 0.1em;
  counter-increment: number;
}
@media screen and (max-width: 767px) {
  .third-party_wrap .box li {
    font-size: 0.9375em;
  }
}
.third-party_wrap .box li::before {
  content: counter(number) ".";
  display: block;
  flex-shrink: 0;
}
.third-party_wrap .grid {
  display: grid;
  grid-template-columns: 46% 1fr;
  gap: 20px min(3vw, 45px);
}
@media screen and (max-width: 767px) {
  .third-party_wrap .grid {
    grid-template-columns: 1fr;
  }
}

.white_box {
  background-color: #fff;
  padding: 80px min(5.33vw, 80px);
  counter-increment: num;
  border-radius: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .white_box {
    padding: 40px var(--sideW);
  }
}
.white_box:last-child {
  margin-bottom: 0;
}

.contact_tel {
  display: block;
  text-align: center;
  font-size: 2.5em;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  line-height: 1.5;
  color: #ED5E91;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .contact_tel {
    font-size: 2em;
  }
}

.anchor_faq {
  display: flex;
  flex-wrap: wrap;
  gap: 20px min(1.33vw, 20px);
  justify-content: center;
  margin-bottom: var(--spaceMin);
}
@media screen and (max-width: 767px) {
  .anchor_faq {
    gap: 10px;
  }
}
.anchor_faq li {
  width: calc(33.3333333333% - min(1.33vw, 20px) * 2 / 3);
}
@media screen and (max-width: 767px) {
  .anchor_faq li {
    width: 100%;
  }
}
.anchor_faq li a {
  display: block;
  background: url(../images/ico_select.svg) no-repeat center right 25px/13px auto;
  background-color: #fff;
  font-weight: 700;
  font-size: 1.25em;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 15px 0;
  border-radius: 40px;
  box-shadow: 2px 2px 0 rgba(51, 51, 51, 0.2);
}
@media screen and (max-width: 767px) {
  .anchor_faq li a {
    font-size: 1em;
    padding: 10px;
  }
}
.anchor_faq li a:hover {
  box-shadow: 0 10px 10px rgba(51, 51, 51, 0.3);
}

.faq_toggle {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.faq_toggle details {
  background-color: #fff;
  padding: 25px min(4.66vw, 70px);
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .faq_toggle details {
    padding: 20px 15px;
  }
}
.faq_toggle details:open {
  box-shadow: 0 10px 10px rgba(51, 51, 51, 0.3);
}
.faq_toggle details:open summary::after {
  background: linear-gradient(#FFE419 0 0) center/100% 3px no-repeat;
}
.faq_toggle details summary {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: baseline;
  position: relative;
  font-size: 1.5625em;
  font-weight: 700;
  line-height: 1.3;
  background-color: #fff;
  padding-right: 40px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .faq_toggle details summary {
    display: block;
    font-size: 1em;
    padding-inline: 25px 30px;
  }
}
.faq_toggle details summary::before {
  content: "Q";
  display: block;
  color: #FFE419;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  font-size: 1.4em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .faq_toggle details summary::before {
    position: absolute;
    left: 0;
    top: -2px;
  }
}
.faq_toggle details summary::after {
  content: "";
  position: absolute;
  width: 25px;
  aspect-ratio: 1/1;
  background: linear-gradient(#FFE419 0 0) center/100% 3px no-repeat, linear-gradient(#FFE419 0 0) center/3px 100% no-repeat;
  right: 0;
  top: 5px;
}
@media screen and (max-width: 767px) {
  .faq_toggle details summary::after {
    width: 20px;
  }
}
.faq_toggle details .text {
  position: relative;
  padding: 35px 0 20px;
  margin-top: 15px;
  border-top: 3px solid #FFE419;
}
@media screen and (max-width: 767px) {
  .faq_toggle details .text {
    padding: 15px 0;
    font-size: 0.875em;
  }
}
.faq_toggle details .text a {
  color: #ED5E91;
  text-decoration: underline;
}
.faq_toggle details .text a:hover {
  text-decoration: none;
}

.temporary_wrap section > p {
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap section > p {
    font-size: 0.875em;
    margin-bottom: 25px;
  }
}
.temporary_wrap .temporary_grid_01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px min(3.6vw, 55px);
}
.temporary_wrap .temporary_grid_01 .item {
  width: 470px;
  max-width: 100%;
}
.temporary_wrap .temporary_grid_01 .item strong {
  display: block;
  position: relative;
  font-size: 1.5625em;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ED5E91;
  background-color: #FFD5E4;
  border-radius: 17px;
  text-align: center;
  padding: 10px 0;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_01 .item strong {
    font-size: 1.25em;
  }
}
.temporary_wrap .temporary_grid_01 .item strong::after {
  content: "";
  position: absolute;
  width: 14px;
  aspect-ratio: 2/1;
  background-color: #FFD5E4;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  top: 100%;
  left: calc(50% - 7px);
}
.temporary_wrap .temporary_grid_01 .item p {
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_01 .item p {
    font-size: 0.875em;
  }
}
.temporary_wrap .temporary_grid_02 {
  display: grid;
  grid-template-columns: 36% 1fr;
  align-items: center;
  gap: 25px min(4vw, 60px);
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_02 {
    grid-template-columns: 1fr;
  }
}
.temporary_wrap .temporary_grid_02:last-child {
  margin-bottom: 0;
}
.temporary_wrap .temporary_grid_02 img {
  display: block;
  border-radius: 20px;
}
.temporary_wrap .temporary_grid_02 dl {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.temporary_wrap .temporary_grid_02 dl .item {
  display: grid;
  grid-template-columns: 144px 1fr;
  gap: 25px 29px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_02 dl .item {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.temporary_wrap .temporary_grid_02 dl .item dt {
  display: grid;
  place-items: center;
  background-color: #FFD5E4;
  color: #ED5E91;
  border-radius: 12px;
  font-size: 1.25em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_02 dl .item dt {
    font-size: 1.125em;
  }
}
.temporary_wrap .temporary_grid_02 dl .item dd {
  display: grid;
  align-content: center;
  font-size: 1.125em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_02 dl .item dd {
    font-size: 0.875em;
  }
}
.temporary_wrap .temporary_grid_03 {
  display: grid;
  align-items: center;
  grid-template-columns: 46.5% 1fr;
  gap: 20px min(4.66vw, 70px);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_03 {
    grid-template-columns: 1fr;
  }
}
.temporary_wrap .temporary_grid_03 img {
  display: block;
  border-radius: 20px;
}
.temporary_wrap .temporary_grid_03 .text {
  display: flex;
  flex-direction: column;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_03 .text {
    gap: 15px;
  }
}
.temporary_wrap .temporary_grid_03 .text dt {
  font-size: 1.5625em;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 8px;
  margin-bottom: 12px;
  border-bottom: 3px solid #ED5E91;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_03 .text dt {
    font-size: 1.25em;
  }
}
.temporary_wrap .temporary_grid_03 .text dd {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_03 .text dd {
    font-size: 0.875em;
  }
}
.temporary_wrap .temporary_grid_03 p {
  font-size: 1.125em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_grid_03 p {
    font-size: 0.875em;
  }
}
.temporary_wrap .fee {
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto 1fr;
  gap: 20px 30px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .fee {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}
.temporary_wrap .fee .ttl_price_04 {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .fee .ttl_price_04 {
    margin-bottom: 0;
  }
}
.temporary_wrap .fee img {
  display: block;
  margin: 0 auto;
  grid-column: 2/3;
  grid-row: 1/-1;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .fee img {
    grid-column: auto;
    grid-row: auto;
  }
}
@media screen and (max-width: 767px) {
  .temporary_wrap .fee p {
    font-size: 0.875em;
  }
}
.temporary_wrap .step_flow {
  display: flex;
  flex-direction: column;
  gap: 90px 0;
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
  counter-reset: step;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow {
    gap: 60px;
  }
}
.temporary_wrap .step_flow .item {
  display: grid;
  grid-template-columns: 31% 1fr;
  position: relative;
  background-color: #FFD5E4;
  border-radius: 20px;
  counter-increment: step;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow .item {
    grid-template-columns: 1fr;
  }
}
.temporary_wrap .step_flow .item::before {
  content: "STEP " counter(step) ".";
  position: absolute;
  top: 0;
  left: -28px;
  font-size: 5em;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  line-height: 1;
  color: #ED5E91;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow .item::before {
    font-size: 2em;
    left: 10px;
  }
}
.temporary_wrap .step_flow .item[data-skip] {
  counter-increment: none;
}
.temporary_wrap .step_flow .item[data-skip]::before {
  content: none;
}
.temporary_wrap .step_flow dt {
  display: grid;
  place-content: center;
  gap: 10px;
  background-color: rgba(237, 94, 145, 0.36);
  border-radius: 20px 0 0 20px;
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  clip-path: polygon(calc(100% - 48px) 0, 100% 50%, calc(100% - 48px) 100%, 0 100%, 0 0);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow dt {
    border-radius: 20px 20px 0 0;
    clip-path: none;
    font-size: 1.25em;
    padding: 15px 0;
  }
}
.temporary_wrap .step_flow dt span {
  font-size: 0.46em;
  letter-spacing: 0.06em;
  color: #ED5E91;
  background-color: #fff;
  width: 130px;
  line-height: 29px;
  text-align: center;
  border-radius: 20px;
}
.temporary_wrap .step_flow dd {
  display: grid;
  align-content: center;
  min-height: 290px;
  border-radius: 0 20px 20px 0;
  padding: 60px 30px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow dd {
    padding: 25px var(--sideW);
    border-radius: 0 0 20px 20px;
    min-height: 1px;
  }
}
.temporary_wrap .step_flow dd h3 {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-bottom: 5px;
  margin-bottom: 10px;
  border-bottom: 3px solid #ED5E91;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow dd h3 {
    font-size: 1.125em;
  }
}
.temporary_wrap .step_flow dd p {
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow dd p {
    font-size: 0.875em;
  }
}
.temporary_wrap .step_flow dd p:last-child {
  margin-bottom: 0;
}
.temporary_wrap .step_flow dd p b {
  display: block;
}
.temporary_wrap .step_flow dd p span {
  display: block;
  margin-top: 0.5em;
  font-size: 0.875em;
  letter-spacing: 0.06em;
}
.temporary_wrap .step_flow dd .tel {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  font-size: 2.5em;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  line-height: 1.2;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow dd .tel {
    font-size: 1.5625em;
  }
}
.temporary_wrap .step_flow dd .tel:last-child {
  margin-bottom: 0;
}
.temporary_wrap .step_flow dd .tel::before {
  content: "TEL. ";
  display: block;
  font-size: 0.75em;
}
.temporary_wrap .step_flow dd .tel--sm {
  font-size: 2em;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow dd .tel--sm {
    font-size: 1.375em;
  }
}
.temporary_wrap .step_flow dd .dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 35px;
  margin-bottom: 20px;
}
.temporary_wrap .step_flow dd .dl p {
  margin: 0;
  font-weight: 700;
}
.temporary_wrap .step_flow dd a:not([class]) {
  text-decoration: underline;
}
.temporary_wrap .step_flow dd a:not([class]):hover {
  text-decoration: none;
}
.temporary_wrap .step_flow .list_btns {
  justify-content: start;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .step_flow .list_btns {
    justify-content: center;
  }
}
.temporary_wrap .temporary_slide {
  position: relative;
}
.temporary_wrap .temporary_slide .swiper-slide {
  counter-increment: number;
}
.temporary_wrap .temporary_slide .swiper-slide img {
  width: 100%;
  aspect-ratio: 36/24;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
  margin-bottom: 15px;
}
.temporary_wrap .temporary_slide .swiper-slide figcaption {
  display: block;
  position: relative;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding-left: 70px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_slide .swiper-slide figcaption {
    font-size: 1em;
    padding-left: 40px;
  }
}
.temporary_wrap .temporary_slide .swiper-slide figcaption::before {
  content: counter(number, decimal-leading-zero);
  position: absolute;
  font-size: 2.5em;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  font-family: "Quicksand", sans-serif;
  color: #ED5E91;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .temporary_slide .swiper-slide figcaption::before {
    font-size: 2em;
  }
}
.temporary_wrap .point_01 {
  border-top: 1px solid #333;
  counter-reset: number;
}
.temporary_wrap .point_01 li {
  position: relative;
  font-weight: 500;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #333;
  counter-increment: number;
  padding: 20px 0 20px min(6.66vw, 100px);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .point_01 li {
    padding: 15px 0 15px 50px;
    font-size: 0.875em;
    line-height: 1.75;
  }
}
.temporary_wrap .point_01 li::before {
  content: counter(number, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 20px;
  width: min(6.66vw, 100px);
  font-size: 1.875em;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  color: #ED5E91;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .point_01 li::before {
    width: 50px;
    font-size: 1.5em;
  }
}
.temporary_wrap .item_grid_01,
.temporary_wrap .item_grid_02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 min(4.66vw, 70px);
  background-color: #FFD5E4;
  border-radius: 20px;
  padding: 60px min(10.66vw, 160px) 40px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .item_grid_01,
  .temporary_wrap .item_grid_02 {
    justify-content: flex-start;
    padding: 30px var(--sideW);
  }
}
.temporary_wrap .item_grid_01 ul li,
.temporary_wrap .item_grid_02 ul li {
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .item_grid_01 ul li,
  .temporary_wrap .item_grid_02 ul li {
    padding-left: 15px;
  }
}
.temporary_wrap .item_grid_01 ol,
.temporary_wrap .item_grid_02 ol {
  counter-reset: brackets;
}
.temporary_wrap .item_grid_01 ol li,
.temporary_wrap .item_grid_02 ol li {
  display: flex;
  align-items: baseline;
  counter-increment: brackets;
  font-size: 1.125em;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .item_grid_01 ol li,
  .temporary_wrap .item_grid_02 ol li {
    font-size: 0.875em;
  }
}
.temporary_wrap .item_grid_01 ol li::before,
.temporary_wrap .item_grid_02 ol li::before {
  content: counter(brackets) "）";
  display: inline-block;
  flex-shrink: 0;
}
.temporary_wrap .item_grid_01 strong,
.temporary_wrap .item_grid_02 strong {
  display: block;
  position: relative;
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .item_grid_01 strong,
  .temporary_wrap .item_grid_02 strong {
    font-size: 1em;
  }
}
.temporary_wrap .item_grid_01 strong::before,
.temporary_wrap .item_grid_02 strong::before {
  content: "";
  position: absolute;
  width: 11px;
  aspect-ratio: 1/1;
  background-color: #ED5E91;
  border-radius: 50%;
  left: -20px;
  top: calc(50% - 5.5px);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .item_grid_01 strong::before,
  .temporary_wrap .item_grid_02 strong::before {
    top: 7px;
  }
}
.temporary_wrap .item_grid_01 p,
.temporary_wrap .item_grid_02 p {
  font-size: 0.875em;
  letter-spacing: 0.06em;
  line-height: 1.7;
}
.temporary_wrap .item_grid_02 {
  display: grid;
  grid-template-columns: 11.5% 1fr;
  padding: 60px min(3.33vw, 50px);
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .item_grid_02 {
    grid-template-columns: 1fr;
    padding: 30px var(--sideW);
  }
}
.temporary_wrap .item_grid_02:last-child {
  margin-bottom: 0;
}
.temporary_wrap .item_grid_02 dt {
  display: flex;
  align-items: center;
  border-right: 1px solid #ED5E91;
  font-size: 1.5625em;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .item_grid_02 dt {
    border: none;
    border-bottom: 1px solid #ED5E91;
    justify-content: center;
    font-size: 1.25em;
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
}
.temporary_wrap .item_grid_02 dd {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 min(4.66vw, 70px);
}
.temporary_wrap .process {
  display: flex;
  flex-direction: column;
  gap: 75px 0;
  counter-reset: process;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process {
    gap: 30px 0;
  }
}
.temporary_wrap .process li {
  display: flex;
  align-items: center;
  gap: 0 min(2.66vw, 40px);
  position: relative;
  border: 1px solid #333;
  padding: 35px min(3.33vw, 50px);
  font-weight: 700;
  counter-increment: process;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process li {
    padding: 15px 10px;
    align-items: baseline;
    font-size: 0.875em;
  }
}
.temporary_wrap .process li:last-child::after {
  content: none;
}
.temporary_wrap .process li::before {
  content: counter(process, decimal-leading-zero);
  display: block;
  font-size: 2.625em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #ED5E91;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process li::before {
    font-size: 1.5625em;
    transform: translateY(3px);
  }
}
.temporary_wrap .process li::after {
  content: "";
  position: absolute;
  height: 19px;
  aspect-ratio: 35/19;
  background-color: #ED5E91;
  top: calc(100% + 32px);
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process li::after {
    top: calc(100% + 10px);
    height: 10px;
  }
}
.temporary_wrap .process li a {
  color: #ED5E91;
  text-decoration: underline;
}
.temporary_wrap .process li a:hover {
  text-decoration: none;
}
.temporary_wrap .process_step {
  display: flex;
  flex-direction: column;
  gap: 50px 0;
  counter-reset: step;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step {
    gap: 30px 0;
  }
}
.temporary_wrap .process_step .item {
  display: flex;
  flex-direction: column;
  align-items: start;
  position: relative;
}
.temporary_wrap .process_step .item dt {
  display: flex;
  justify-content: center;
  gap: 5px 20px;
  counter-increment: step;
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #ED5E91;
  padding: 20px 50px;
  line-height: 1.5;
  border-radius: 40px 40px 0 0;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step .item dt {
    width: 100%;
    flex-direction: column;
    font-size: 1.5em;
    border-radius: 20px 20px 0 0;
    text-align: center;
  }
}
.temporary_wrap .process_step .item dt::before {
  content: "STEP " counter(step) ".";
  display: block;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step .item dt::before {
    font-size: 0.875em;
    line-height: 1;
  }
}
.temporary_wrap .process_step .item dt[data-skip]::before {
  content: none;
  counter-increment: none;
}
.temporary_wrap .process_step .item dd {
  width: 100%;
  background-color: #FFD5E4;
  border-radius: 0 20px 20px 20px;
  padding: 55px calc(var(--sideW) / 2);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step .item dd {
    border-radius: 0 0 20px 20px;
    padding-block: 25px;
  }
}
.temporary_wrap .process_step .item dd strong {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ED5E91;
  line-height: 1.5;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step .item dd strong {
    font-size: 1.125em;
    margin-bottom: 12px;
  }
}
.temporary_wrap .process_step .item dd strong:last-child {
  margin-bottom: 0;
}
.temporary_wrap .process_step .item dd p {
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step .item dd p {
    font-size: 0.875em;
  }
}
.temporary_wrap .process_step .item dd p:last-child {
  margin-bottom: 0;
}
.temporary_wrap .process_step .item dd .grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(4vw, 60px);
  padding-bottom: 35px;
  margin-bottom: 35px;
  border-bottom: 1px solid #ED5E91;
}
.temporary_wrap .process_step .item dd .grid:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.temporary_wrap .process_step .item dd .grid p {
  width: 100%;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step .item dd .grid p {
    font-size: 0.875em;
  }
}
.temporary_wrap .process_step .item dd .grid .item {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step .item dd .grid .item {
    margin-bottom: 1em;
  }
  .temporary_wrap .process_step .item dd .grid .item:last-child {
    margin-bottom: 0;
  }
}
.temporary_wrap .process_step .item dd .grid ul li {
  display: flex;
  align-items: baseline;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_step .item dd .grid ul li {
    font-size: 0.875em;
  }
}
.temporary_wrap .process_step .item dd .grid ul li::before {
  content: "-";
  display: block;
  flex-shrink: 0;
  margin-right: 0.5em;
}
.temporary_wrap .process_step .item dd a:not([class]) {
  text-decoration: underline;
}
.temporary_wrap .process_step .item dd a:not([class]):hover {
  text-decoration: none;
}
.temporary_wrap .process_flow {
  display: flex;
  flex-direction: column;
  gap: 75px 0;
  counter-reset: process;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_flow {
    gap: 30px 0;
  }
}
.temporary_wrap .process_flow .item {
  display: grid;
  grid-template-columns: 35% 1fr;
  align-items: center;
  position: relative;
  padding: 35px 0;
  border: 1px solid #333;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_flow .item {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 25px var(--sideW);
  }
}
.temporary_wrap .process_flow .item:last-child::after {
  content: none;
}
.temporary_wrap .process_flow .item::after {
  content: "";
  position: absolute;
  height: 19px;
  aspect-ratio: 35/19;
  background-color: #ED5E91;
  top: calc(100% + 32px);
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_flow .item::after {
    top: calc(100% + 10px);
    height: 10px;
  }
}
.temporary_wrap .process_flow dt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 min(2.66vw, 40px);
  position: relative;
  font-weight: 700;
  font-size: 1.25em;
  counter-increment: process;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_flow dt {
    align-items: baseline;
    justify-content: flex-start;
  }
}
.temporary_wrap .process_flow dt::before {
  content: counter(process, decimal-leading-zero);
  display: block;
  font-size: 2.1em;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #ED5E91;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_flow dt::before {
    font-size: 1.5625em;
    transform: translateY(3px);
  }
}
.temporary_wrap .process_flow dd {
  padding-right: 15px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .process_flow dd {
    padding: 0;
  }
}
.temporary_wrap .cation {
  display: grid;
  grid-template-columns: 106px 1fr;
  gap: 10px min(2.66vw, 40px);
}
@media screen and (max-width: 767px) {
  .temporary_wrap .cation {
    grid-template-columns: 1fr;
  }
}
.temporary_wrap .cation dt {
  display: grid;
  place-content: center;
  background-color: #FFD5E4;
  font-size: 1.5625em;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .cation dt {
    font-size: 1.25em;
    padding: 10px 0;
  }
}
.temporary_wrap .cation dd {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .temporary_wrap .cation dd {
    font-size: 1em;
  }
}

.map {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 400px;
}
@media screen and (max-width: 767px) {
  .map {
    height: auto;
    aspect-ratio: 1/1;
  }
}
.map--lg {
  height: 460px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .map--lg {
    height: auto;
    aspect-ratio: 1/1;
  }
}
.map--lg:last-child {
  margin-bottom: 0;
}
.map > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.map + p {
  font-weight: 700;
  letter-spacing: 0.01;
}

.ttl_top_01 {
  display: block;
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 70px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ttl_top_01 {
    font-size: 1.25em;
  }
}
.ttl_top_01:last-child {
  margin-bottom: 0;
}
.ttl_top_01::before {
  content: attr(data-en);
  display: block;
  font-size: 3.33em;
  font-family: "Quicksand", sans-serif;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .ttl_top_01::before {
    font-size: 2.5em;
  }
}

.ttl_cmn_01 {
  display: block;
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-align: center;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .ttl_cmn_01 {
    font-size: 1.5em;
    margin-bottom: 30px;
  }
}
.ttl_cmn_01:last-child {
  margin-bottom: 0;
}
.ttl_cmn_01::after {
  content: attr(data-en);
  display: block;
  font-size: 0.533em;
  font-family: "Quicksand", sans-serif;
  letter-spacing: 0;
}
.ttl_cmn_01--white {
  color: #fff;
}
.ttl_cmn_01--left {
  text-align: left;
}

.ttl_cmn_02 {
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .ttl_cmn_02 {
    font-size: 1.375em;
  }
}
.ttl_cmn_02:last-child {
  margin-bottom: 0;
}

.ttl_cmn_03 {
  display: block;
  text-align: center;
  margin-bottom: 55px;
}
.ttl_cmn_03 span {
  display: inline-block;
  position: relative;
  background-color: #ED5E91;
  padding: 20px min(4vw, 60px);
  color: #fff;
  border-radius: 50px;
  line-height: 1.5;
  font-weight: 700;
  font-size: 1.25em;
}
@media screen and (max-width: 767px) {
  .ttl_cmn_03 span {
    font-size: 1em;
    border-radius: 20px;
    padding: 10px 15px;
  }
}
.ttl_cmn_03 span::after {
  content: "";
  position: absolute;
  width: 11px;
  height: 10px;
  background-color: #ED5E91;
  left: calc(50% - 5.5px);
  top: 100%;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.ttl_features {
  display: block;
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  color: #ED5E91;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .ttl_features {
    font-size: 1.375em;
  }
}
.ttl_features::before {
  content: attr(data-en);
  display: block;
  font-size: 3em;
  font-family: "Quicksand", sans-serif;
}
@media screen and (max-width: 767px) {
  .ttl_features::before {
    font-size: 2.1em;
  }
}

.ttl_price_01 {
  text-align: center;
  margin-bottom: 25px;
}
.ttl_price_01 span {
  display: inline-block;
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  border-bottom: 5px solid #ED5E91;
}
@media screen and (max-width: 767px) {
  .ttl_price_01 span {
    font-size: 1.1875em;
    line-height: 1.3;
    padding-bottom: 10px;
    border-bottom-width: 3px;
  }
}

.ttl_price_02 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 5px;
  position: relative;
  background-color: #333;
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 20px 25px;
  color: #fff;
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  .ttl_price_02 {
    align-items: flex-start;
    flex-direction: column;
    font-size: 1.125em;
    padding: 10px 15px;
    margin: 0 calc(var(--sideW) / 3 * -1) 40px;
  }
}
.ttl_price_02::after {
  content: "";
  position: absolute;
  background: url(../images/ttl_price_02_bg.png) repeat center top;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.1;
}
.ttl_price_02 span {
  position: relative;
  z-index: 1;
}
.ttl_price_02 small {
  font-size: 0.5em;
}
@media screen and (max-width: 767px) {
  .ttl_price_02 small {
    display: block;
    margin-top: 8px;
    font-size: 0.6em;
  }
}

.ttl_price_03 {
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 25px;
  border-left: 5px solid #ED5E91;
  padding-left: 30px;
}
@media screen and (max-width: 767px) {
  .ttl_price_03 {
    font-size: 1.125em;
    padding-left: 15px;
  }
}

.ttl_price_04 {
  display: block;
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-bottom: 2px solid #ED5E91;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .ttl_price_04 {
    font-size: 1em;
    padding-bottom: 8px;
  }
}

.list_post {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 60px min(2.1vw, 32px);
  margin-bottom: var(--spaceMin);
}
@media screen and (max-width: 767px) {
  .list_post {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 10px;
  }
}
.list_post:last-child {
  margin-bottom: 0;
}
.list_post a {
  display: block;
}
.list_post a:hover img {
  transform: scale(1.1);
}
.list_post a:hover .ttl {
  color: #ED5E91;
}
.list_post a .image {
  display: block;
  aspect-ratio: 3/2;
  overflow: hidden;
  border-radius: 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .list_post a .image {
    border-radius: 10px;
    margin-bottom: 10px;
  }
}
.list_post a .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
.list_post a .date {
  font-family: "Quicksand", sans-serif;
  font-size: 0.875em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .list_post a .date {
    font-size: 0.75em;
  }
}
.list_post a .ttl {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.55;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .list_post a .ttl {
    font-size: 0.875em;
  }
}

.list_schedule_year {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 75px 35px;
  width: 880px;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .list_schedule_year {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 40px 10px;
  }
}
.list_schedule_year li {
  position: relative;
  background-color: #fff;
  border-radius: 30px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
  padding-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .list_schedule_year li {
    border-radius: 10px;
    padding-bottom: 0;
  }
}
.list_schedule_year li p:first-child {
  position: absolute;
  width: 60%;
  line-height: 57px;
  font-size: 1.5625em;
  font-weight: 700;
  color: #fff;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #ED5E91;
  text-align: center;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .list_schedule_year li p:first-child {
    font-size: 0.875em;
    line-height: 30px;
    border-radius: 20px;
    top: -5px;
  }
}
.list_schedule_year li p:first-child::after {
  content: "";
  position: absolute;
  width: 7px;
  aspect-ratio: 7/6;
  background-color: #ED5E91;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  top: 100%;
  left: calc(50% - 3.5px);
}
.list_schedule_year li p:first-child span {
  font-size: 1.6em;
}
@media screen and (max-width: 767px) {
  .list_schedule_year li p:first-child span {
    font-size: 1.25em;
  }
}
.list_schedule_year li p:last-child {
  padding: 20px 10px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .list_schedule_year li p:last-child {
    padding: 8px;
    font-size: 0.875em;
  }
}
.list_schedule_year li img {
  display: block;
  border-radius: 30px 30px 0 0;
}
@media screen and (max-width: 767px) {
  .list_schedule_year li img {
    border-radius: 10px 10px 0 0;
  }
}

.list_event {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 70px 50px;
  width: 850px;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .list_event {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
.list_event img {
  display: block;
  border-radius: 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .list_event img {
    border-radius: 10px;
  }
}
.list_event p {
  text-align: center;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .list_event p {
    font-size: 1em;
  }
}

.list_download {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 23px min(2vw, 30px);
}
.list_download li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #FFD5E4;
  border-radius: 20px;
  gap: 15px;
  box-shadow: 3px 3px 0 #ED5E91;
  width: calc(33.3333333333% - min(2vw, 30px) * 2 / 3);
  padding: 40px 15px 35px;
}
@media screen and (max-width: 767px) {
  .list_download li {
    width: 100%;
  }
}
.list_download strong {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.25;
}
.list_download a {
  display: block;
  position: relative;
  width: 164px;
  max-width: 100%;
  line-height: 37px;
  background-color: #ED5E91;
  color: #fff;
  font-size: 0.75em;
  font-weight: 700;
  text-align: center;
  border-radius: 40px;
  border: 1px solid #ED5E91;
  margin: 0 auto;
}
.list_download a:hover {
  background-color: #FFE419;
  color: #333;
}
.list_download a:hover::before, .list_download a:hover::after {
  background-color: #333;
}
.list_download a::before, .list_download a::after {
  content: "";
  position: absolute;
  transition: 0.3s;
  top: 50%;
  transform: translateY(-50%);
  background-color: #fff;
}
.list_download a::before {
  width: 15px;
  aspect-ratio: 15/18;
  -webkit-mask: url(../images/ico_pdf.svg) no-repeat center/contain;
          mask: url(../images/ico_pdf.svg) no-repeat center/contain;
  left: 20px;
}
.list_download a::after {
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  right: 15px;
}

.list_staff {
  display: flex;
  flex-direction: column;
  gap: 70px;
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .list_staff {
    gap: 30px;
  }
}
.list_staff li {
  display: grid;
  grid-template-columns: 220px 1fr;
  align-items: start;
  gap: 25px min(3.66vw, 55px);
}
@media screen and (max-width: 767px) {
  .list_staff li {
    grid-template-columns: 1fr;
  }
}
.list_staff li .image {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .list_staff li .image {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 5px 15px;
    text-align: left;
  }
}
.list_staff li .image img {
  display: block;
  width: 220px;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 3px 6px rgba(51, 51, 51, 0.2);
  margin: 0 auto 15px;
}
@media screen and (max-width: 767px) {
  .list_staff li .image img {
    width: auto;
    grid-row: 1/-1;
    margin: 0;
  }
}
.list_staff li .image .post {
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  .list_staff li .image .post {
    font-size: 1em;
  }
}
.list_staff li .image .name {
  font-size: 1.875em;
}
@media screen and (max-width: 767px) {
  .list_staff li .image .name {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .list_staff li .image .work {
    font-size: 0.875em;
  }
}
.list_staff li .text {
  position: relative;
  background-color: #fff;
  padding: 55px min(3vw, 45px);
  line-height: 1.75;
  border-radius: 20px;
  box-shadow: 3px 3px 0 rgba(51, 51, 51, 0.16);
}
@media screen and (max-width: 767px) {
  .list_staff li .text {
    padding: 25px var(--sideW);
    font-size: 0.875em;
    line-height: 1.5;
    padding: 20px 15px;
  }
}
.list_staff li .text::before {
  content: "";
  position: absolute;
  width: 24px;
  aspect-ratio: 24/28;
  background-color: #fff;
  right: 100%;
  top: 90px;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
@media screen and (max-width: 767px) {
  .list_staff li .text::before {
    top: auto;
    right: auto;
    left: 63px;
    bottom: calc(100% - 10px);
    transform: rotate(90deg);
  }
}
@media screen and (max-width: 767px) {
  .list_staff li .text p {
    margin-bottom: 8px;
  }
  .list_staff li .text p:last-child {
    margin-bottom: 0;
  }
}

.list_btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .list_btns {
    gap: 15px;
  }
}
.list_btns:last-child {
  margin-bottom: 0;
}
.list_btns--left {
  justify-content: left;
}

.dlist_time {
  display: flex;
  flex-direction: column;
  gap: 62px;
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .dlist_time {
    gap: 30px;
  }
}
.dlist_time .item {
  display: grid;
  grid-template-columns: 150px 1fr;
  align-items: start;
  gap: 20px min(2.66vw, 40px);
}
@media screen and (max-width: 767px) {
  .dlist_time .item {
    grid-template-columns: 80px 1fr;
    gap: 15px;
  }
}
.dlist_time .item:last-child dt::after {
  content: none;
}
.dlist_time dt {
  position: relative;
  font-size: 1.4em;
  text-align: center;
  font-weight: 700;
  color: #ED5E91;
  background-color: #fff;
  line-height: 1.6;
  margin-top: 25px;
  padding-top: 25px;
}
@media screen and (max-width: 767px) {
  .dlist_time dt {
    margin-top: 0;
    padding-top: 0;
    background-color: transparent;
    font-size: 0.875em;
  }
}
.dlist_time dt::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 80%;
  top: calc(100% + 20px);
  left: calc(50% - 2.5px);
  border-left: 5px dotted #ED5E91;
}
@media screen and (max-width: 767px) {
  .dlist_time dt::after {
    content: none;
  }
}
.dlist_time dt span {
  display: grid;
  place-content: center;
  width: 112px;
  aspect-ratio: 1/1;
  background: url(../images/schedule_icon_01.svg) no-repeat center/contain;
  font-family: "Quicksand", sans-serif;
  line-height: 1;
  margin: 0 auto 10px;
}
@media screen and (max-width: 767px) {
  .dlist_time dt span {
    width: auto;
  }
}
.dlist_time dt span.double {
  font-size: 0.75em;
}
.dlist_time dd {
  position: relative;
  border-radius: 30px;
  background-color: #fff;
  padding: 40px min(3.66vw, 55px);
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.16));
}
@media screen and (max-width: 767px) {
  .dlist_time dd {
    padding: 20px 15px;
    border-radius: 20px;
  }
}
.dlist_time dd::before {
  content: "";
  position: absolute;
  width: 20px;
  aspect-ratio: 20/29;
  background-color: #fff;
  right: 100%;
  top: calc(50% - 14.5px);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
@media screen and (max-width: 767px) {
  .dlist_time dd::before {
    content: none;
  }
}
.dlist_time dd strong {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 25px;
  color: #ED5E91;
}
@media screen and (max-width: 767px) {
  .dlist_time dd strong {
    font-size: 1em;
    margin-bottom: 15px;
  }
}
.dlist_time dd ul li {
  position: relative;
  font-weight: 700;
  padding-left: 15px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .dlist_time dd ul li {
    font-size: 0.875em;
    line-height: 1.5;
  }
}
.dlist_time dd ul li::before {
  content: "";
  position: absolute;
  width: 0.5em;
  aspect-ratio: 1/1;
  background-color: #ED5E91;
  border-radius: 50%;
  left: 0;
  top: 0.7em;
}

.table_parent {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .table_parent {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap;
    margin-bottom: 20px;
  }
}
.table_parent:last-child {
  margin-bottom: 0;
}
.table_parent + .ttl_price_03, .table_parent + .ttl_price_04 {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .table_parent + .ttl_price_03, .table_parent + .ttl_price_04 {
    margin-top: 40px;
  }
}

.table_cmn_01 {
  border-collapse: separate;
  border-spacing: 5px;
  width: calc(100% + 10px);
  margin-left: -5px;
}
@media screen and (max-width: 767px) {
  .table_cmn_01 {
    width: calc(100% + 3px);
    margin-left: -3px;
  }
}
.table_cmn_01.w_auto {
  width: auto;
}
.table_cmn_01.txt_left tbody td {
  text-align: left;
}
.table_cmn_01 caption {
  caption-side: bottom;
  text-align: right;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .table_cmn_01 caption {
    font-size: 0.75em;
    line-height: 1.5;
  }
}
.table_cmn_01 caption.top {
  caption-side: top;
}
.table_cmn_01 thead th, .table_cmn_01 thead td {
  background-color: #ED5E91;
  text-align: center;
  font-size: 1.25em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.3;
  padding: 10px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .table_cmn_01 thead th, .table_cmn_01 thead td {
    font-size: 0.8125em;
    font-weight: 500;
    padding: 8px;
  }
}
.table_cmn_01 thead td {
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  .table_cmn_01 thead td {
    font-size: 0.8125em;
  }
}
.table_cmn_01 thead .white {
  background-color: #fff;
  color: #333;
}
.table_cmn_01 thead .yellow {
  background-color: #FFE419;
  color: #333;
}
.table_cmn_01 tbody th, .table_cmn_01 tbody td {
  padding: 15px 10px;
  font-size: 1.125em;
  background-color: #FCE6EF;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .table_cmn_01 tbody th, .table_cmn_01 tbody td {
    font-size: 0.75em;
    padding: 8px;
    line-height: 1.75;
    vertical-align: top;
  }
}
.table_cmn_01 tbody th.left, .table_cmn_01 tbody td.left {
  text-align: left;
}
.table_cmn_01 tbody th {
  background-color: #ED5E91;
  color: #fff;
}
.table_cmn_01 tbody th span {
  display: block;
  font-size: 0.75em;
}
@media screen and (max-width: 767px) {
  .table_cmn_01 tbody th:first-child {
    position: sticky;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .table_cmn_01 tbody td {
    text-align: left;
  }
}
.table_cmn_01 tbody td small {
  display: block;
}
.table_cmn_01 tbody .gray {
  background-color: #F2F2F2;
}
.table_cmn_01 tbody .white {
  background-color: #fff;
  color: #333;
}
.table_cmn_01 tbody .new::before {
  content: "NEW";
  display: block;
  width: 154px;
  line-height: 33px;
  text-align: center;
  font-size: 0.88em;
  font-weight: 700;
  background-color: #fff;
  color: #ED5E91;
  border-radius: 20px;
  margin: 0 auto 5px;
}
@media screen and (max-width: 767px) {
  .table_cmn_01 tbody .new::before {
    width: auto;
    padding: 0 15px;
  }
}
.table_cmn_01--long thead th {
  font-size: 0.9375em;
}
@media screen and (max-width: 767px) {
  .table_cmn_01--long thead th {
    font-size: 0.75em;
  }
}
.table_cmn_01--long thead th:has(sup) {
  position: relative;
}
.table_cmn_01--long thead th:has(sup) sup {
  position: absolute;
  right: 5px;
  top: 15px;
}
@media screen and (max-width: 767px) {
  .table_cmn_01--long thead th:has(sup) sup {
    right: 2px;
    top: 6px;
  }
}
.table_cmn_01--long tbody tr:nth-child(1) th, .table_cmn_01--long tbody tr:nth-child(1) td, .table_cmn_01--long tbody tr:nth-child(2) th, .table_cmn_01--long tbody tr:nth-child(2) td {
  color: #333;
  background-color: rgba(94, 204, 237, 0.5);
}
.table_cmn_01--long tbody tr:nth-last-child(-n+2) th, .table_cmn_01--long tbody tr:nth-last-child(-n+2) td {
  color: #333;
  background-color: rgba(255, 228, 25, 0.5);
}
.table_cmn_01--long tbody th, .table_cmn_01--long tbody td {
  font-size: 0.9375em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .table_cmn_01--long tbody th, .table_cmn_01--long tbody td {
    font-size: 0.75em;
  }
}
.table_cmn_01--long_02 thead th {
  font-size: 0.9375em;
}
@media screen and (max-width: 767px) {
  .table_cmn_01--long_02 thead th {
    font-size: 0.75em;
  }
}
.table_cmn_01--long_02 thead th:has(sup) {
  position: relative;
}
.table_cmn_01--long_02 thead th:has(sup) sup {
  position: absolute;
  right: 5px;
  top: 15px;
}
@media screen and (max-width: 767px) {
  .table_cmn_01--long_02 thead th:has(sup) sup {
    right: 2px;
    top: 6px;
  }
}
.table_cmn_01--long_02 tbody th, .table_cmn_01--long_02 tbody td {
  font-size: 0.9375em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .table_cmn_01--long_02 tbody th, .table_cmn_01--long_02 tbody td {
    font-size: 0.75em;
  }
}
.table_cmn_01--long_02 tbody td:nth-last-child(-n+2) {
  background-color: #5ECCED;
  font-weight: 700;
}

.btn_cmn_01 {
  display: block;
  position: relative;
  width: 320px;
  background-color: #333;
  text-align: center;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1.75;
  color: #FFE419;
  padding: 25px 0;
  border-radius: 40px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 767px) {
  .btn_cmn_01 {
    width: 300px;
    padding: 18px 0;
  }
}
.btn_cmn_01:last-child {
  margin-bottom: 0;
}
.btn_cmn_01:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 15px rgba(51, 51, 51, 0.5);
}
.btn_cmn_01::after {
  content: "";
  position: absolute;
  width: 20px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #FFE419;
  right: 35px;
  top: calc(50% - 10px);
  transition: 0.3s;
}
.btn_cmn_01--left {
  margin-inline: 0;
}
.btn_cmn_01--en {
  font-family: "Quicksand", sans-serif;
}
.btn_cmn_01--yellow {
  background-color: #FFE419;
  color: #333;
}
.btn_cmn_01--yellow::after {
  background-color: #333;
}
.btn_cmn_01--blue {
  background-color: #5ECCED;
  color: #fff;
}
.btn_cmn_01--blue::after {
  background-color: #fff;
}
.btn_cmn_01--faq {
  display: flex;
  justify-content: center;
  gap: 20px;
  background-color: #ED5E91;
  color: #fff;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .btn_cmn_01--faq {
    gap: 10px;
    padding-right: 10px;
  }
}
.btn_cmn_01--faq::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 24/28;
  -webkit-mask: url(../images/ico_gnav_02.svg) no-repeat center/contain;
          mask: url(../images/ico_gnav_02.svg) no-repeat center/contain;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .btn_cmn_01--faq::before {
    width: 20px;
  }
}
.btn_cmn_01--faq::after {
  background-color: #fff;
}
.btn_cmn_01 + .ttl_price_03, .btn_cmn_01 + .ttl_price_04 {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .btn_cmn_01 + .ttl_price_03, .btn_cmn_01 + .ttl_price_04 {
    margin-top: 40px;
  }
}

.btn_cmn_02 {
  display: block;
  position: relative;
  width: 336px;
  max-width: 100%;
  background-color: #333;
  text-align: center;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  padding: 23px 0;
  border-radius: 40px;
  margin: 0 auto 20px;
  font-size: 1.25em;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .btn_cmn_02 {
    width: 300px;
    padding: 18px 0;
    font-size: 1.125em;
  }
}
.btn_cmn_02:last-child {
  margin-bottom: 0;
}
.btn_cmn_02:hover::before {
  top: 0;
  left: 0;
}
.btn_cmn_02::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #FFE419;
  border-radius: 40px;
  top: 3px;
  left: 3px;
  z-index: -1;
  transition: 0.3s;
}
.btn_cmn_02::after {
  content: "";
  position: absolute;
  width: 13px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #fff;
  right: 20px;
  top: calc(50% - 6.5px);
  transition: 0.3s;
}
.btn_cmn_02--left {
  margin: 0;
}

.btn_cmn_03 {
  display: block;
  position: relative;
  width: 232px;
  max-width: 100%;
  line-height: 50px;
  background-color: #ED5E91;
  color: #fff;
  border-radius: 30px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .btn_cmn_03 {
    font-size: 0.875em;
    width: 220px;
  }
}
.btn_cmn_03:last-child {
  margin-bottom: 0;
}
.btn_cmn_03:hover {
  background-color: #fff;
  color: #ED5E91;
  box-shadow: 3px 3px 0 #ED5E91;
}
.btn_cmn_03:hover::before, .btn_cmn_03:hover::after {
  background-color: #ED5E91;
}
.btn_cmn_03::after {
  content: "";
  position: absolute;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #fff;
  right: 13px;
  top: calc(50% - 6px);
}
.btn_cmn_03--line::before {
  content: "";
  position: absolute;
  width: 24px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_line.svg) no-repeat center/contain;
          mask: url(../images/ico_line.svg) no-repeat center/contain;
  background-color: #fff;
  left: 38px;
  top: calc(50% - 12px);
}
.btn_cmn_03--pdf {
  width: 164px;
  line-height: 36px;
  font-size: 0.75em;
}
@media screen and (max-width: 767px) {
  .btn_cmn_03--pdf {
    margin: 0 auto;
  }
}
.btn_cmn_03--pdf::before {
  content: "";
  position: absolute;
  width: 14px;
  aspect-ratio: 14/18;
  -webkit-mask-image: url(../images/ico_pdf.svg);
          mask-image: url(../images/ico_pdf.svg);
  left: 18px;
  background-color: #fff;
  top: calc(50% - 6px);
}
.btn_cmn_03--lg {
  width: 420px;
}
@media screen and (max-width: 767px) {
  .btn_cmn_03--lg {
    width: 100%;
  }
}
.btn_cmn_03--center {
  margin-inline: auto;
}

.btn_more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  font-size: 0.875em;
  font-weight: 700;
  color: #333;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
}
.btn_more:hover::before {
  transform: scaleX(0);
  transform-origin: right;
}
.btn_more::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #ED5E91;
  left: 0;
  bottom: 0;
  transform-origin: left;
  transition: transform 0.3s;
}
.btn_more::after {
  content: "";
  display: block;
  width: 13px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #ED5E91;
  transition: 0.3s;
}

.btn_submit {
  display: block;
  position: relative;
  width: 320px;
  max-width: 100%;
  line-height: 80px;
  border-radius: 40px;
  text-align: center;
  background-color: #ED5E91;
  color: #fff;
  letter-spacing: 0.06em;
  font-weight: 700;
  transition: 0.5s;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .btn_submit {
    width: 280px;
    line-height: 50px;
  }
}
.btn_submit:hover {
  filter: drop-shadow(0 10px 10px rgba(51, 51, 51, 0.5));
  transform: translateY(-3px);
}
.btn_submit:disabled {
  background-color: #A3A3A3;
}
.btn_submit:disabled:hover {
  filter: none;
  transform: none;
}
.btn_submit::after {
  content: "";
  position: absolute;
  width: 20px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #fff;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
}

.post_wrap {
  background-color: #fff;
  padding: 80px var(--sideW);
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .post_wrap {
    padding: 20px 15px;
    border-radius: 15px;
  }
}

.post_title_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 15px;
}

.split {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 60px min(5.33vw, 80px);
  background-color: #fff;
  padding: 70px min(5.33vw, 80px);
  margin-bottom: var(--space);
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .split {
    grid-template-columns: 1fr;
    padding: 40px var(--sideW);
  }
}
.split:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .split__side {
    order: 2;
  }
}
@media screen and (max-width: 767px) {
  .split__content {
    order: 1;
  }
}
.split__content > h2 {
  font-size: 1.875em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .split__content > h2 {
    font-size: 1.375em;
    margin-bottom: 20px;
  }
}
.split__content > h2::before {
  content: "";
  display: block;
  width: 45px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_star.svg) no-repeat center/contain;
          mask: url(../images/ico_star.svg) no-repeat center/contain;
  background-color: #ED5E91;
  margin: 0 auto 10px;
}

.sidebar {
  position: sticky;
  top: 100px;
}
.sidebar__title {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 1.5625em;
  font-weight: 700;
  line-height: 1.5;
  color: #333;
  font-family: "Quicksand", sans-serif;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .sidebar__title {
    font-size: 1.375em;
  }
}
.sidebar__title::before {
  content: "";
  display: block;
  width: 39px;
  aspect-ratio: 39/37;
  -webkit-mask: url(../images/ico_sun.svg) no-repeat center/contain;
          mask: url(../images/ico_sun.svg) no-repeat center/contain;
  background-color: #333;
}
.sidebar__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 60px;
}
.sidebar__list:last-child {
  margin-bottom: 0;
}
.sidebar__list li {
  border-bottom: 2px dashed #333;
}
.sidebar__list li a {
  display: block;
  position: relative;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 5px 0;
}
.sidebar__list li a:hover {
  color: #ED5E91;
}
.sidebar__list li a:hover::after {
  background-color: #ED5E91;
}
.sidebar__list li a::after {
  content: "";
  position: absolute;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow_right.svg) no-repeat center/contain;
  background-color: #333;
  right: 11px;
  top: calc(50% - 6px);
  transition: 0.3s;
}

.post_date,
.post_category {
  font-family: "Quicksand", sans-serif;
  font-size: 0.875em;
  font-weight: 700;
  margin-bottom: 8px;
}

.post_ttl {
  font-size: 1.5625em;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-bottom: 15px;
  border-bottom: 3px solid #ED5E91;
  width: 100%;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .post_ttl {
    font-size: 1.125em;
  }
}

.add_ttl {
  display: block;
  font-size: 2em;
  font-weight: 700;
  color: #fff;
  background-color: #ED5E91;
  padding: 10px 25px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .add_ttl {
    font-size: 1.25em;
    padding: 5px 10px;
  }
}
.add_ttl:first-child {
  margin-top: 0;
}

.add_ttl_02 {
  display: block;
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-left: 20px;
  border-left: 7px solid #ED5E91;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .add_ttl_02 {
    font-size: 1.2em;
    padding-left: 10px;
  }
}
.add_ttl_02:first-child {
  margin-top: 0;
}

.add_ttl_03 {
  display: block;
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-bottom: 3px solid #ED5E91;
  padding-bottom: 12px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .add_ttl_03 {
    font-size: 1.125em;
  }
}
.add_ttl_03:first-child {
  margin-top: 0;
}

.post_content {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .post_content {
    margin-bottom: 50px;
  }
}
.post_content p {
  margin-top: 35px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .post_content p {
    font-size: 0.875em;
    margin-top: 25px;
  }
}
.post_content p:first-child {
  margin-top: 0;
}
.post_content img {
  display: block;
  margin-top: 35px;
}
.post_content img:first-child {
  margin-top: 0;
}
.post_content .table_parent {
  margin-top: 20px;
}
.post_content .table_parent:first-child {
  margin-top: 0;
}
.post_content table {
  width: 100%;
  border-collapse: separate;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .post_content table {
    width: auto;
  }
}
.post_content table:first-child {
  margin-top: 0;
}
.post_content table tr:last-child td {
  border-bottom: 0 none;
}
.post_content table td {
  font-size: 0.9375em;
  padding: 15px 25px;
  background-color: #F8F8F8;
  border-bottom: 8px solid #ED5E91;
}
@media screen and (max-width: 767px) {
  .post_content table td {
    font-size: 0.875em;
    padding: 10px 15px;
  }
}
.post_content table td:first-child {
  background-color: #A3EBD9;
  font-weight: 700;
}
.post_content iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
}
.post_content .wp-video {
  width: auto !important;
}
.post_content .mejs-container.wp-video-shortcode {
  width: 100% !important;
  max-width: 420px;
  height: auto !important;
  aspect-ratio: 9/16;
  margin-inline: auto;
}
.post_content .mejs-inner,
.post_content .mejs-mediaelement,
.post_content mediaelementwrapper,
.post_content .mejs-container video {
  width: 100% !important;
  height: 100% !important;
}
.post_content .mejs-container video {
  -o-object-fit: contain;
     object-fit: contain;
}

/* ==========================================================================//
//
// parts
//
// ========================================================================== */
/* 背景パララックス
---------------------------------------------------------------------------------------------------------------------- */
.bg_parallax {
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .bg_parallax {
    background-size: auto 120%;
  }
}

.img_parallax {
  position: relative;
  overflow: hidden;
}
.img_parallax img {
  position: absolute;
  top: -20%;
  left: 0;
  width: 100%;
  height: 140%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.1s linear;
  will-change: transform;
}

/* wp-pagenavi
---------------------------------------------------------------------------------------------------------------------- */
.wp-pagenavi {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 20px;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    gap: 10px;
    justify-content: flex-start;
  }
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: grid;
  place-content: center;
  width: 50px;
  aspect-ratio: 1/1;
  background-color: rgba(237, 94, 145, 0.3);
  color: #ED5E91;
  font-size: 1.25em;
  font-family: "Quicksand", sans-serif;
  font-weight: 500;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi a,
  .wp-pagenavi span {
    width: 40px;
    font-size: 1.125em;
  }
}
.wp-pagenavi a:hover, .wp-pagenavi a.current,
.wp-pagenavi span:hover,
.wp-pagenavi span.current {
  background-color: #ED5E91;
  color: #fff;
}
.wp-pagenavi a.extend,
.wp-pagenavi span.extend {
  width: auto;
  aspect-ratio: auto;
  background-color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  color: #ED5E91;
}
.wp-pagenavi a.extend::after,
.wp-pagenavi span.extend::after {
  content: none;
}

/* モーダル
---------------------------------------------------------------------------------------------------------------------- */
.modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 25px;
  z-index: 1001;
}
@media screen and (max-width: 767px) {
  .modal {
    border-radius: 20px;
  }
}
.modal_close_btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  aspect-ratio: 1/1;
  background: url(../images/ico_modal_close.svg) no-repeat center/contain;
  border-radius: 50%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .modal_close_btn {
    width: 30px;
    right: 12px;
  }
}
.modal_close_btn::after {
  transform: rotate(-45deg);
}
.modal_content {
  display: none;
  position: relative;
  width: auto;
  max-width: calc(100vw - var(--sideW) * 2);
  max-height: 90vh;
  overflow-y: scroll;
  padding: 75px min(6.66vw, 100px) 90px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .modal_content {
    padding: 40px var(--sideW);
    border-radius: 20px;
  }
}
.modal_prev, .modal_next {
  position: absolute;
  width: var(--sideW);
  height: 100%;
  left: 0;
  top: 0;
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
}
.modal_prev::after, .modal_next::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../images/ico_arrow_right.svg) no-repeat center/30px auto;
  left: 0;
  top: 0;
  transform: rotate(180deg);
}
.modal_next {
  left: auto;
  right: 0;
}
.modal_next::after {
  transform: rotate(0);
}

.modal_overlay {
  display: none;
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100svh;
  background-color: rgba(237, 94, 145, 0.8);
  top: 0;
  left: 0;
  z-index: 1000;
}

/* タブ切り替え
---------------------------------------------------------------------------------------------------------------------- */
.js_tab__panel-item {
  display: none;
}
.js_tab__panel-item.js_active {
  display: block;
}

.tab_style_default .js_tab__menu {
  display: flex;
  gap: 3px;
  overflow-x: auto;
  scrollbar-width: none;
}
@media screen and (max-width: 767px) {
  .tab_style_default .js_tab__menu {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-bottom: 15px;
  }
}
.tab_style_default .js_tab__menu::-webkit-scrollbar {
  display: none;
}
.tab_style_default .js_tab__menu-btn {
  min-width: 190px;
  background-color: #FFD5E4;
  text-align: center;
  padding: 20px 25px;
  font-size: 1.375em;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-radius: 30px 30px 0 0;
  transition: 0.5s;
  color: #ED5E91;
  line-height: 1.25;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .tab_style_default .js_tab__menu-btn {
    width: calc(50% - 3px);
    min-width: auto;
    flex: 0 0 auto;
    padding: 12px 0;
    font-size: 0.9375em;
    border-radius: 10px;
  }
}
.tab_style_default .js_tab__menu-btn.js_active {
  background-color: #fff;
  color: #333;
}
.tab_style_default .js_tab__menu-btn small {
  display: block;
  font-size: 0.64em;
}
@media screen and (max-width: 767px) {
  .tab_style_default .js_tab__menu.bottom_menu {
    margin-top: 15px;
  }
}
.tab_style_default .js_tab__menu.bottom_menu .js_tab__menu-btn {
  border-radius: 0 0 30px 30px;
  padding-block: 15px 22px;
}
@media screen and (max-width: 767px) {
  .tab_style_default .js_tab__menu.bottom_menu .js_tab__menu-btn {
    border-radius: 10px;
    padding-block: 10px 15px;
  }
}
.tab_style_default .js_tab__panel {
  background-color: #fff;
  padding: var(--space) min(5.33vw, 80px);
  border-radius: 0 30px 30px 0;
}
@media screen and (max-width: 767px) {
  .tab_style_default .js_tab__panel {
    border-radius: 20px;
    padding: 30px calc(var(--sideW) / 3);
  }
}
.tab_style_default .js_tab__panel-item section {
  margin-bottom: var(--spaceMin);
}
.tab_style_default .js_tab__panel-item section:last-child {
  margin-bottom: 0;
}
.tab_style_default .js_tab__panel-item section.w_sm {
  width: 1000px;
  max-width: 100%;
  margin-inline: auto;
}
.tab_style_default .ttl_price_01 {
  margin-bottom: var(--spaceMin);
}
@media screen and (max-width: 767px) {
  .tab_style_default .ttl_price_01 {
    margin-bottom: 40px;
  }
}

.tab_style_staff .js_tab__menu {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  justify-content: center;
  gap: min(2.2vw, 32px);
  margin-bottom: var(--space);
}
@media screen and (max-width: 767px) {
  .tab_style_staff .js_tab__menu {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
    margin-bottom: 40px;
  }
}
.tab_style_staff .js_tab__menu li {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
  background-color: #333;
  line-height: 56px;
  border-radius: 30px;
  box-shadow: 2px 2px 0 rgba(51, 51, 51, 0.2);
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .tab_style_staff .js_tab__menu li {
    line-height: 40px;
    font-size: 0.875em;
  }
}
.tab_style_staff .js_tab__menu li.js_active {
  background-color: #ED5E91;
  color: #fff;
}
.tab_style_staff .js_tab__menu li:hover {
  box-shadow: 0 10px 10px rgba(51, 51, 51, 0.3);
}
.tab_style_staff .js_tab__menu li::after {
  content: "";
  position: absolute;
  width: 14px;
  aspect-ratio: 13/10;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .tab_style_staff .js_tab__menu li::after {
    width: 10px;
    right: 10px;
  }
}
@media screen and (max-width: 767px) {
  .tab_style_staff .catch {
    margin-bottom: 30px;
  }
}

/* パンくず
---------------------------------------------------------------------------------------------------------------------- */
.page-children-center #list_breadcrumb,
.page-day-care-center #list_breadcrumb,
.page-childcare-service #list_breadcrumb,
.page-partner #list_breadcrumb,
.page-faq #list_breadcrumb,
.page-staff #list_breadcrumb {
  color: #333;
}
.page-children-center #list_breadcrumb .inner a, .page-children-center #list_breadcrumb .inner_sm a, .page-children-center #list_breadcrumb .inner_min a, .page-children-center #list_breadcrumb .inner span, .page-children-center #list_breadcrumb .inner_sm span, .page-children-center #list_breadcrumb .inner_min span,
.page-day-care-center #list_breadcrumb .inner a,
.page-day-care-center #list_breadcrumb .inner_sm a,
.page-day-care-center #list_breadcrumb .inner_min a,
.page-day-care-center #list_breadcrumb .inner span,
.page-day-care-center #list_breadcrumb .inner_sm span,
.page-day-care-center #list_breadcrumb .inner_min span,
.page-childcare-service #list_breadcrumb .inner a,
.page-childcare-service #list_breadcrumb .inner_sm a,
.page-childcare-service #list_breadcrumb .inner_min a,
.page-childcare-service #list_breadcrumb .inner span,
.page-childcare-service #list_breadcrumb .inner_sm span,
.page-childcare-service #list_breadcrumb .inner_min span,
.page-partner #list_breadcrumb .inner a,
.page-partner #list_breadcrumb .inner_sm a,
.page-partner #list_breadcrumb .inner_min a,
.page-partner #list_breadcrumb .inner span,
.page-partner #list_breadcrumb .inner_sm span,
.page-partner #list_breadcrumb .inner_min span,
.page-faq #list_breadcrumb .inner a,
.page-faq #list_breadcrumb .inner_sm a,
.page-faq #list_breadcrumb .inner_min a,
.page-faq #list_breadcrumb .inner span,
.page-faq #list_breadcrumb .inner_sm span,
.page-faq #list_breadcrumb .inner_min span,
.page-staff #list_breadcrumb .inner a,
.page-staff #list_breadcrumb .inner_sm a,
.page-staff #list_breadcrumb .inner_min a,
.page-staff #list_breadcrumb .inner span,
.page-staff #list_breadcrumb .inner_sm span,
.page-staff #list_breadcrumb .inner_min span {
  color: #333;
}

#list_breadcrumb {
  font-size: 0.875em;
  font-weight: 500;
  color: #fff;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  #list_breadcrumb {
    font-size: 0.75em;
    overflow-x: scroll;
    text-align: right;
    margin-bottom: 30px;
  }
}
#list_breadcrumb .inner, #list_breadcrumb .inner_sm, #list_breadcrumb .inner_min {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5em;
}
@media screen and (max-width: 767px) {
  #list_breadcrumb .inner, #list_breadcrumb .inner_sm, #list_breadcrumb .inner_min {
    display: inline-flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    white-space: nowrap;
    width: auto;
    max-width: none;
    margin: 0;
  }
}
#list_breadcrumb .inner a, #list_breadcrumb .inner_sm a, #list_breadcrumb .inner_min a, #list_breadcrumb .inner span, #list_breadcrumb .inner_sm span, #list_breadcrumb .inner_min span {
  color: #fff;
}

/* swiper-common
---------------------------------------------------------------------------------------------------------------------- */
.swiper-button {
  width: 35px;
  height: auto;
  aspect-ratio: 1/1;
  background: url(../images/ico_swiper_button.svg) no-repeat right/contain;
  margin: 0;
  top: calc(50% - 17.5px);
}
.swiper-button::after {
  content: none;
}
.swiper-button-prev {
  transform: rotate(180deg);
  left: -50px;
}
@media screen and (max-width: 767px) {
  .swiper-button-prev {
    left: calc(var(--sideW) * -1);
  }
}
.swiper-button-next {
  right: -50px;
}
@media screen and (max-width: 767px) {
  .swiper-button-next {
    right: calc(var(--sideW) * -1);
  }
}
.swiper-button.swiper-button-disabled {
  opacity: 0;
  pointer-events: none;
}

/* その他
---------------------------------------------------------------------------------------------------------------------- */
.lead {
  text-align: center;
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .lead {
    text-align: left;
    line-height: 1.75;
    margin-bottom: 30px;
    font-size: 0.9375em;
  }
}
.lead:last-child {
  margin-bottom: 0;
}
.lead--left {
  text-align: left;
}
.lead--sp_center {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .lead--sp_center {
    text-align: center;
  }
}
.lead--white {
  color: #fff;
}
.lead.mb_sm {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .lead.mb_sm {
    margin-bottom: 20px;
  }
}
.lead span {
  display: block;
  margin-bottom: 0.75em;
}
.lead span:last-child {
  margin-bottom: 0;
}
.lead--lg {
  font-size: 1.125em;
}
@media screen and (max-width: 767px) {
  .lead--lg {
    font-size: 1em;
  }
}
.lead--lg small {
  display: block;
  font-size: 0.77em;
}

.catch {
  font-size: 2.1875em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .catch {
    font-size: 1.25em;
  }
}
.catch--white {
  color: #fff;
}
.catch--center {
  text-align: center;
}

.al_center {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .al_center--sp {
    text-align: center;
  }
}

.nolink {
  pointer-events: none;
}

/* アーカイブのページネーション
---------------------------------------------------------------------------------------------------------------------- */
.list_pagination {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  padding: 25px 12px;
  margin-bottom: var(--space);
}
@media screen and (max-width: 767px) {
  .list_pagination {
    padding: 20px 0;
  }
}
.list_pagination:last-child {
  margin-bottom: 0;
}
.list_pagination li {
  line-height: 1.5;
}
.list_pagination li.prev a, .list_pagination li.next a {
  display: inline-block;
  position: relative;
  font-weight: 700;
  padding: 0 25px;
}
@media screen and (max-width: 767px) {
  .list_pagination li.prev a, .list_pagination li.next a {
    padding: 0 15px;
  }
}
.list_pagination li.prev a::before, .list_pagination li.next a::before {
  content: "";
  position: absolute;
  width: 12px;
  aspect-ratio: 1/1;
  border-top: 2px solid #ED5E91;
  border-right: 2px solid #ED5E91;
  transform: rotate(45deg);
  top: calc(50% - 6px);
}
.list_pagination li.prev a:hover, .list_pagination li.next a:hover {
  text-decoration: underline;
}
.list_pagination li.prev a::before {
  transform: rotate(-135deg);
  left: 0;
}
.list_pagination li.next a::before {
  right: 0;
}
.list_pagination li.archive a {
  display: block;
  position: relative;
  width: 32px;
  aspect-ratio: 1/1;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 110%;
}
.list_pagination li.archive a span {
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #ED5E91;
  border-radius: 3px;
  top: calc(50% - 1.5px);
  left: 0;
}
.list_pagination li.archive a span::before, .list_pagination li.archive a span::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #ED5E91;
  border-radius: 3px;
  left: 0;
  top: -10px;
}
.list_pagination li.archive a span::after {
  top: 10px;
}

/* フォームパーツ
---------------------------------------------------------------------------------------------------------------------- */
.dlist_form {
  display: flex;
  flex-direction: column;
  gap: 30px;
  position: relative;
  margin-bottom: 40px;
}
.dlist_form .item {
  display: grid;
  grid-template-columns: 260px 1fr;
  align-items: baseline;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .dlist_form .item {
    grid-template-columns: 1fr;
    gap: 10px 0;
  }
}
.dlist_form dt {
  font-weight: 700;
}
.dlist_form dt.req {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .dlist_form dt.req {
    gap: 0 10px;
  }
}
.dlist_form dt.req::after {
  content: "必須";
  display: block;
  width: 48px;
  line-height: 22px;
  text-align: center;
  background-color: #333;
  color: #fff;
  font-size: 0.75em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .dlist_form dd .wpcf7-radio {
    -moz-columns: 2;
         columns: 2;
    -moz-column-fill: auto;
         column-fill: auto;
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}

input[type=text],
input[type=email],
input[type=tel],
input[type=date],
select,
textarea {
  width: 100%;
  max-width: 100%;
  padding: 20px;
  background-color: #F7F7F7;
  line-height: 1.5;
  color: #333;
  text-align: left;
}
@media screen and (max-width: 767px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=date],
  select,
  textarea {
    padding: 15px 10px;
  }
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=date]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #ADADAD;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=date]::placeholder,
select::placeholder,
textarea::placeholder {
  color: #ADADAD;
}

textarea {
  height: 260px;
}
@media screen and (max-width: 767px) {
  textarea {
    height: 150px;
  }
}

select {
  width: auto;
  padding: 22px 45px 22px 20px;
  background: url(../images/ico_select.svg) no-repeat center right 10px;
  background-color: #F7F7F7;
}
@media screen and (max-width: 767px) {
  select {
    width: 100%;
    padding: 15px 45px 15px 10px;
  }
}

.wpcf7-form-control-wrap:has(#zip) {
  display: block;
}
.wpcf7-form-control-wrap:has(#zip)::before {
  content: "〒";
  display: inline-block;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .wpcf7-form-control-wrap:has(#zip)::before {
    margin-right: 10px;
  }
}

#zip {
  width: 280px;
}
@media screen and (max-width: 767px) {
  #zip {
    width: 150px;
  }
}

.contact_privacy_wrap {
  background-color: #fff;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .contact_privacy_wrap {
    margin-bottom: 25px;
  }
}
.contact_privacy_wrap strong {
  display: block;
  font-size: 1.125em;
  margin-bottom: 8px;
}
.contact_privacy_wrap p {
  font-size: 0.875em;
}

.wpcf7-checkbox,
.wpcf7-radio,
.wpcf7-acceptance {
  display: block;
}
.wpcf7-checkbox.site_check,
.wpcf7-radio.site_check,
.wpcf7-acceptance.site_check {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 30px;
}
@media screen and (max-width: 767px) {
  .wpcf7-checkbox.site_check,
  .wpcf7-radio.site_check,
  .wpcf7-acceptance.site_check {
    gap: 15px 25px;
  }
}
.wpcf7-checkbox.site_check .wpcf7-list-item,
.wpcf7-radio.site_check .wpcf7-list-item,
.wpcf7-acceptance.site_check .wpcf7-list-item {
  margin: 0;
}
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
  display: block;
  margin: 0 0 15px;
}
@media screen and (max-width: 767px) {
  .wpcf7-checkbox .wpcf7-list-item,
  .wpcf7-radio .wpcf7-list-item,
  .wpcf7-acceptance .wpcf7-list-item {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    margin-bottom: 0;
    padding-bottom: 15px;
  }
}
.wpcf7-checkbox .wpcf7-list-item:last-child,
.wpcf7-radio .wpcf7-list-item:last-child,
.wpcf7-acceptance .wpcf7-list-item:last-child {
  margin-bottom: 0;
}
.wpcf7-checkbox .wpcf7-list-item label,
.wpcf7-radio .wpcf7-list-item label,
.wpcf7-acceptance .wpcf7-list-item label {
  font-size: 0.9375em;
}
.wpcf7-checkbox .wpcf7-list-item label input,
.wpcf7-radio .wpcf7-list-item label input,
.wpcf7-acceptance .wpcf7-list-item label input {
  display: none;
}
.wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after,
.wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after,
.wpcf7-acceptance .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after {
  border-color: #ED5E91;
}
.wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label,
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label {
  display: block;
  position: relative;
  padding-left: 30px;
}
.wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::before,
.wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  width: 1.42em;
  aspect-ratio: 1/1;
  border: 1px solid #ED5E91;
  left: 0;
  top: calc(50% - 0.71em);
}
.wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::after,
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::after,
.wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 6px;
  border-left: 2px solid transparent;
  border-bottom: 2px solid transparent;
  left: 0.2em;
  top: calc(50% - 0.3em);
  transform: rotate(-40deg);
  transition: 0.5s;
}
@media screen and (max-width: 767px) {
  .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::after,
  .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::after,
  .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::after {
    left: 3px;
  }
}

[data-name=doui] {
  display: block;
  margin-bottom: 60px;
}
[data-name=doui] .wpcf7-acceptance {
  display: flex;
  justify-content: center;
  text-align: center;
  background-color: #F7F7F7;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  [data-name=doui] .wpcf7-acceptance {
    padding: 20px 15px;
    font-size: 0.9375em;
  }
}
[data-name=doui] .wpcf7-acceptance .wpcf7-list-item {
  padding: 0;
}
[data-name=doui] .wpcf7-acceptance a {
  text-decoration: underline;
  color: #ED5E91;
}
[data-name=doui] .wpcf7-acceptance a:hover {
  text-decoration: none;
}

.privacy-policy_wrap {
  background-color: #fff;
  padding: 80px clamp(calc(var(--min-with) * 100 / var(--max-with)), calc(100vw / var(--max-with) * 100), 100px);
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .privacy-policy_wrap {
    padding: 40px var(--sideW);
  }
}

.dlist_policy {
  margin-bottom: 20px;
}
.dlist_policy:last-child {
  margin-bottom: 0;
}
.dlist_policy .item {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .dlist_policy .item {
    margin-bottom: 40px;
  }
}
.dlist_policy .item:last-child {
  margin-bottom: 0;
}
.dlist_policy dt {
  display: flex;
  gap: 0 10px;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .dlist_policy dt {
    font-size: 1.125em;
  }
}
.dlist_policy dt::before {
  content: "●";
  display: block;
  font-weight: 500;
  color: #ED5E91;
  flex-shrink: 0;
}
.dlist_policy dd {
  font-size: 0.875em;
}
@media screen and (max-width: 767px) {
  .dlist_policy dd ul {
    padding: 15px 0;
    margin-bottom: 25px;
  }
}
.dlist_policy dd ul:last-child {
  margin-bottom: 0;
}
.dlist_policy dd ul li {
  display: flex;
  gap: 0.5em;
}
.dlist_policy dd ul li::before {
  content: "■";
  display: block;
  flex-shrink: 0;
}

/* reCAPTCHAバッジ非表示 */
.grecaptcha-badge {
  visibility: hidden;
}

.grecaptcha_text {
  text-align: center;
}

/* ユーティリティ
mx ＝ "x軸方向のmargin"
---------------------------------------------------------------------------------------------------------------------- */
.u-text-center {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .u-text-left-sp {
    text-align: left;
  }
}

.u-mx-center {
  margin-inline: auto;
}

.u-mx-right {
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .u-mx-right-sp {
    margin-left: auto;
  }
}

.u-mx-left {
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .u-mx-left-sp {
    margin-right: auto;
  }
}

.u-disp-ib {
  display: inline-block;
}

.u-gap {
  display: block;
  margin-bottom: 10px;
}

.u-gap-sp {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-gap-sp {
    margin-bottom: 10px;
  }
}