:root {
  --color_text: #333;
  --color_main: #f38aa1;
  --clr-pnk1: #f6c6d7;
  --clr-pnk2: #f4e1e6;
  --clr-pnk3: #d2a8d6;
  --clr-pnk4: #FDF4F4;
  --clr-gry1: #cccccc;
  --clr-gry2: #F5F5F5;
  --clr-grn: #00b5a4;
  --clr-blu2: #4fa9de;
  --clr-blu1: #2aa2db;
  --clr-red1: #f27b83;
  --clr-red2: #f2305a;
  --clr-yel: #f2dc8a;
  --ttl: "Mochiy Pop One", sans-serif;
}

:root {
  --swl-fz--xs: .75em;
  --swl-fz--small: .875em;
  --swl-fz--large: 1.125em;
  --swl-fz--huge: 1.375em;
}

/*common */

a {
  /* display: block; */
  transition: all 0.3s ease;
}

a:hover {
  opacity: 0.6;
}

.pc {
  display: block;
}

.tb {
  display: none;
}

.tbonly {
  display: none;
}

.sp {
  display: none;
}


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

address {
  font-style: normal;
}

ul li {
  list-style-position: inside;
}

/* .swell-block-fullWide__inner {
	padding: 0 5%;
} */





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


  .tb {
    display: block;
  }

  .tbonly {
    display: block;
  }

  .u-mb-60 {
    margin-bottom: 5em !important;
  }

  .u-mb-50 {
    margin-bottom: 4em !important;
  }

  .u-mb-40 {
    margin-bottom: 3em !important;
  }

  .u-mb-30 {
    margin-bottom: 2em !important;
  }

  .u-mb-20 {
    margin-bottom: 1em !important;
  }

  .u-fz-xl {
    font-size: 1.25em !important;
  }

  .swell-block-fullWide__inner {
    padding: 0 5%;
  }

}

@media (max-width: 600px) {


  .tbonly {
    display: none;
  }

  .sp {
    display: block;
  }


}


/* ---------------------------------------------------------
   header  | ヘッダー
   --------------------------------------------------------- */

.l-header__inner.l-container {
  max-width: none;
  position: relative;
  padding-right: 0;
}

.c-gnav {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px;
  padding: 20px 0;
}

.c-gnav>.menu-item>a {
  padding: 5px;
}

.c-gnav>.menu-item>a .ttl {
  font-size: 16px;
  font-weight: 500;

}

/* .c-gnav>.menu-item:nth-of-type(1) {
  grid-row: 2;
}

.c-gnav>.menu-item:nth-of-type(2) {
  grid-row: 2;
}

.c-gnav>.menu-item:nth-of-type(3) {
  grid-row: 2;
}

.c-gnav>.menu-item:nth-of-type(4) {
  grid-row: 2;
}

.c-gnav>.menu-item:nth-of-type(5) {
  grid-row: 2;
}

.c-gnav>.menu-item:nth-of-type(6) {
  grid-row: 2;
} */

/* .c-gnav>.menu-item:nth-of-type(7) {
  grid-column: 6;
  grid-row: 1;
} */

/* .c-gnav>.menu-item:nth-of-type(8){
	grid-column: 6;
	grid-row: 1;
} */
/* .c-gnav>.menu-item:nth-of-type(n+7)>a .ttl {
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
} */


.l-fixHeader__inner {
  max-width: none;
}

.c-headLogo .-img {
  max-width: auto;
}

.l-fixHeader__logo .c-headLogo {
  width: auto;
  height: 42px;
}

.c-gnav>.menu-item>a::after {
  bottom: -10px;
}

.c-gnav>.menu-item:nth-of-type(n+7)>a:after {
  content: none;
}

.c-gnav>li:hover>a::after {
  transform: scaleX(1);
}

.l-header__inner.l-container .w-header.pc_ {
  height: auto;
}

.l-header__inner.l-container .w-header.pc_ div,
.l-header__inner.l-container .w-header.pc_ p {
  height: 100%;
}

.l-header__inner.l-container .w-header__inner a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: #efa4ab;
  padding: 0 10px;
  gap: 5px;
}

.l-header__inner.l-container .w-header__inner a span {
  width: 100%;
}


.l-header__inner.l-container .w-header__inner a span::after {
  width: 100%;
  max-width: none;
}



@media (max-width: 1200px) {
  .c-gnav {
    gap: 8px;
  }

  .c-gnav>.menu-item>a {
    padding: 0 5px;

  }

}

/* @media (min-width: 960px) {
  .-series-right .w-header #custom_html-2 [class*=is-style-btn_] {
    margin-bottom: 0 !important;
   
  }

   .-series-right .w-header #custom_html-2 div {
    display: flex;
    align-items: center;
    justify-content: center;
  
  }

} */


/* ---------------------------------------------------------
   Footer  | フッター
   --------------------------------------------------------- */

.footer_top {
  background: var(--clr-gry2);
  padding: 30px 5% 30px;
}

.footer_wrap {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.footer_grouptop {
  font-size: clamp(18px, 2.34vw, 20px);
  font-weight: 700;
  width: 250px;
}

.footer_group {
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  width: calc(100% - 250px);
}

.footer_group li {
  border-left: 1px solid var(--clr-pnk1);
  padding-left: 10px;
  width: 33.3%;
}

.footer_group li img {
  vertical-align: middle;
  width: 80px;
}

.footer_group li span {
  font-size: clamp(14px, 1.82vw, 16px);
  padding-left: 15px;
  display: inline-block;
}

.footer_mid {
  align-items: flex-end;
  background: var(--clr-pnk4);
  display: flex;
  justify-content: space-between;
  padding: 50px 5% 20px;
}

.footer_logo {
  margin: 0 auto 20px;
  width: clamp(275px, 38.68vw, 374px);
}

.footer_address {
  margin: 0 auto;
  text-align: center;
  width: -moz-max-content;
  width: max-content;
}

.footer_name {
  font-size: clamp(18px, 2.34vw, 22px);
  margin-bottom: 5px;
}

.footer_name span {
  font-size: .8em;
  margin-right: .5em;
}

.footer_contact {
  font-size: clamp(14px, 1.82vw, 16px);
}

.footer_contact a {
  display: inline-block;
}

.footer_tel {
  margin-right: 20px;
  pointer-events: none;
}

.footer_mail {
  text-decoration: underline;
}

.footer_btm {
  background: var(--color_main);
  padding: 10px 3%;
}

.footer_wrap {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.footer_link {
  align-items: center;
  display: flex;
  gap: 15px;
}

.footer_link li a {
  color: #fff;
  font-size: 12px;
  padding-left: 0.8em;
  position: relative;
}

.footer_link li a::before {
  color: #fff;
  content: "\f105";
  font-family: fontawesome;
  left: 0;
  position: absolute;
  top: 1px;
}

.footer_copyright {
  color: #fff;
  font-size: 12px;
}

@media only screen and (max-width: 1400px) {
  .footer_group li {
    width: 50%;
  }
}

@media (max-width: 1200px) {
  .footer_wrap {
    flex-direction: column;
    row-gap: 20px;
  }

  .footer_group {
    margin: 0 auto;
    width: 100%;
  }

  .footer_group li img {
    width: 60px;
  }
}

@media (max-width: 960px) {
  .footer_top {
    padding: 20px 5% 20px;
  }

  .footer_wrap {
    margin: 0 auto;
    row-gap: 10px;
  }

  .footer_grouptop {
    background: #fff;
    border-radius: 10px;
    font-weight: normal;
    position: relative;
    text-align: center;
    width: 100%;
  }

  .footer_grouptop a {
    align-items: center;
    display: flex;
    height: 50px;
    justify-content: center;
    position: relative;
  }

  .footer_grouptop a::before {
    aspect-ratio: 1/1;
    background: url(./img/gnav_arw.png) no-repeat center center/contain;
    content: "";
    display: block;
    left: 2.5%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
  }

  .footer_group {
    justify-content: space-between;
    row-gap: 10px;
  }

  .footer_group li {
    background: #fff;
    border-radius: 10px;
    padding-left: 0;
    width: 49%;
    border-left: none;
  }

  .footer_group li a {
    align-items: center;
    display: block;
    display: flex;
    height: 50px;
    justify-content: center;
  }

  .footer_group li img {
    display: none;
  }

  .footer_group li span {
    letter-spacing: 0.05em;
    line-height: 1.3;
    margin-left: 0;
    position: relative;
    text-align: center;
    width: 100%;
  }

  .footer_group li span::before {
    aspect-ratio: 1/1;
    background: url(./img/gnav_arw.png) no-repeat center center/contain;
    content: "";
    display: block;
    left: 5%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
  }
}

@media (max-width: 782px) {

  .footer_logo {
    margin-bottom: 20px;
    text-align: center;
  }

  .footer_contact span {
    display: block;
  }

  .footer_tel {
    margin: 10px auto 0;
    pointer-events: auto;
    text-decoration: underline;
    width: -moz-max-content;
    width: max-content;
  }


  .footer_copyright {
    line-height: 1.5;
    text-align: center;
  }

  .footer_copyright span {
    display: inline-block;
  }
}

@media (max-width: 600px) {
  .footer_mid {
    align-items: center;
    flex-direction: column;
    padding: 30px 5% 10px;
  }

  .footer_link {
    justify-content: space-between;
    margin-bottom: 10px;
  }
}


/* ---------------------------------------------------------
   mainvisual  | メインビジュアル
   --------------------------------------------------------- */

.p-mainVisual::after {
  content: "";
  position: absolute;
  display: block;
  width: 216px;
  aspect-ratio: 480 / 587;
  background: url(./img/tree-1.png) no-repeat center/contain;
  left: 3%;
  bottom: 10px;
  z-index: 5;
}

.p-mainVisual .swiper-wrapper {
  border-top-left-radius: 60px;
  border-bottom-left-radius: 60px;
  overflow: hidden;
  width: 88%;
  margin: 0 0 0 auto;
}

.p-mainVisual__textLayer {
  height: auto;
  width: max-content;
  left: 12%;
  top: 15%;
  transform: translateX(-30%);
  justify-content: flex-start;
  padding: 0;
}

.p-mainVisual__slideTitle {
  font-size: clamp(1.563rem, 1.232rem + 1.41vw, 2.5rem);
  font-family: var(--ttl);
  line-height: 1;
}

.p-mainVisual__slideTitle span {
  display: block;
  width: max-content;
  background: #fff;
  padding: .5em;
  letter-spacing: .1em;
}

.p-mainVisual__slideTitle span+span {
  margin-top: 20px;
}


@media (max-width: 960px) {

  .p-mainVisual .swiper-wrapper {
    width: calc(100% - 50px);
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;

  }

  .p-mainVisual__textLayer {
    left: 50px;
    transform: translateX(-40px);
	  top: auto;
    bottom: 10%;
  }

  .p-mainVisual::after {
    width: 90px;
	left: 2%;
    top:5%
  }

  .p-mainVisual__slideTitle span+span {
    margin-top: 10px;
  }

}



/* ---------------------------------------------------------
   Top  |  Topページ
   --------------------------------------------------------- */

/* 背景 */
#body_wrap.top::before {
  content: none;
}

/* h2 title */
.top h2 {
  text-align: center;
  font-family: var(--ttl);
  font-size: clamp(1.563rem, 1.25rem + 1.33vw, 2.25rem);
  letter-spacing: .15em;
  font-weight: 500;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.top h2::after {
  content: "";
  display: block;
  position: absolute;
  width: 2.2em;
  aspect-ratio: 168 / 36;
  background: url(./img/ttl_deco.png) no-repeat center/contain;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);

}


/*common  */
.top .l-content {
  margin-bottom: 0;
}



/* .top .swell-block-fullWide__inner {
	padding: 0 5vw;
} */

/* .swell-block-columns .swell-block-column {
    margin: 0 0 0 var(--swl-clmn-mrgn--x);
    padding: var(--swl-clmn-pddng);
    width: calc(var(--clmn-w) - var(--swl-clmn-mrgn--x));
} */
/* top-wrap */
.top-wrap .swell-block-columns__inner {
  padding: 0 40px;
  width: min(100%, 1480px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--swl-clmn-mrgn--x);
  margin-inline: auto;
}

.top-wrap_item {
  margin: 0 !important;
  width: auto !important;
}


/* top-btn */
.top-btn a {
  padding: .6em 0;
  width: 300px;
  min-width: auto;
}

.top-btn a span {
  letter-spacing: .2em;
}



@media (max-width: 960px) {
  .top-wrap .swell-block-columns__inner {
    padding: 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .top-wrap_item:nth-child(3) {
    grid-column: 1 / -1;
    justify-self: center;
    max-width: calc(50% - var(--swl-clmn-mrgn--x) / 2);
  }

  .top-btn a {
    padding: .4em 0;
  }

  .top-btn a span {
    font-size: 1em !important;
  }
}

@media (max-width: 600px) {
  .top-wrap .swell-block-columns__inner {
    grid-template-columns: repeat(1, 1fr);
    height: max-content;
  }

  .top-wrap_item:nth-child(3) {
    grid-column: auto;
    max-width: 100%;
  }
}

/* top-wrap2 */
.top-wrap2 .swell-block-columns__inner {
  padding: 0 40px;
  width: min(100%, 1480px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--swl-clmn-mrgn--x);
  margin-inline: auto;
}

@media (max-width: 960px) {
  .top-wrap2 .swell-block-columns__inner {
    padding: 0;
  }
}

@media (max-width: 600px) {
  .top-wrap2 .swell-block-columns__inner {
    grid-template-columns: repeat(1, 1fr);
    height: max-content;
    padding: 0;
  }

}


/* top-news */
.top-news {
  position: relative;
  padding-bottom: 200px !important;
}

.top-news::after {
  content: "";
  position: absolute;
  display: block;
  background: url(./img/risu.png) no-repeat center/contain;
  width: clamp(110px, 16%, 230px);
  aspect-ratio: 498 / 388;
  right: 5%;
  bottom: 1%;
  z-index: 5;

}

.top-news .is-style-more_btn {
  display: none;
}

.top-news_list {
  width: auto;
  flex: 1
}

.top-news_wrap .swell-block-columns__inner {
  align-items: center;
}

.top-news .top-btn a {
  width: 200px;
}

@media (max-width: 960px) {
  .top-news {
    padding-bottom: 110px !important;
  }

}

@media (max-width: 600px) {
  .top-news .top-btn a {
    width: 300px;
  }
}

/* top-blog */
.top-blog {
  position: relative;

}

.top-blog::before {
  content: "";
  display: block;
  position: absolute;
  top: 40px;
  left: 10%;
  width: clamp(70px, 10%, 120px);
  aspect-ratio: 500 / 575;
  background: url(./img/bird.png) no-repeat center/contain;

}


.top-blog_list {
  /* width: min(100%, 1400px); */
  padding: 0 3%;
  margin-inline: auto;
}


.top-blog .c-postThumb__figure {
  aspect-ratio: 3 / 2;
}

.top-blog_list .-type-card .p-postList__title {
  font-size: 16px;
  font-weight: 500;
}

@media (min-width: 1020px) {
  .top-blog_list .-type-card.-pc-col3 .p-postList__item {
    width: 25%;
    padding: 0 1em;
  }
}

@media (max-width: 960px) {

  .top-blog::before {
    top: 10px;
    left: 5%;
  }

  .top-blog_list .-type-card .p-postList__title {
    font-size: 14px;
  }

}



/* top-about */
.top-about {
  position: relative;
}


.top-about::before {
  content: "";
  position: absolute;
  display: block;
  top: 10px;
  left: 1%;
  background: url(./img/tree-2.png) no-repeat center/contain;
  width: clamp(120px, 17%, 250px);
  aspect-ratio: 642 / 824;
  transform: translateY(-20%);
  z-index: 5;
}


.top-about::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 3%;
  width: clamp(80px, 12.5%, 180px);

  aspect-ratio: 500 / 457;
  background: url(./img/house.png) no-repeat center/contain;
  z-index: 5;
}

.top-about .swell-block-fullWide__inner {
  z-index: 10;
}

.top-about_wrap {
  padding-left: calc(50vw - 550px);
  position: relative;
}

.top-about_wrap .wp-block-media-text__content {
  padding: 0 3rem 0 0;
  gap: 5em;
}

.top-about_wrap .wp-block-media-text__media {
  position: relative;
  z-index: 0;
}

.top-about_wrap .wp-block-media-text__media::before {
  content: "";
  display: block;
  position: absolute;
  width: 40%;
  aspect-ratio: 1 / 1;
  background: url(./img/maru_blu.png) no-repeat center/contain;
  top: -3%;
  left: 2%;
}

.top-about_wrap .wp-block-media-text__media::after {
  content: "";
  display: block;
  position: absolute;
  width: 25%;
  aspect-ratio: 1 / 1;
  background: url(./img/maru_yel.png) no-repeat center/contain;
  bottom: -3%;
  left: -3%;
  z-index: -1;
}


.top-about_wrap .wp-block-media-text__media img {
  -webkit-mask-size: contain;
  mask-size: contain;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./img/top-about_shape.png);
  mask-image: url(./img/top-about_shape.png);

}


.top-about_item .c-bannerLink {
  border-radius: 50%;
  overflow: visible;
}

.top-about_item .c-bannerLink__text {
  position: absolute;
  width: 120px;
  height: 120px;
  background: url(./img/maru-2.png) no-repeat center/contain;
  padding: 0;
  left: -6%;
  top: auto;
  bottom: 0;
}

.top-about_item .c-bannerLink__title {
  font-size: 1.2em;
  white-space: nowrap;
  color: var(--color_text);
}

@media (max-width: 1200px) {
  .top-about .swell-block-fullWide__inner {
    padding: 0 30px;
  }

  .top-about_wrap {
    display: flex;
    flex-direction: column;
    padding-left: 0;
  }

  .top-about_wrap .wp-block-media-text__media {
    width: min(800px, 100%);
    margin-inline: auto;
  }

  .top-about_wrap .wp-block-media-text__content {
    width: min(700px, 100%);
    margin-inline: auto;
    padding: 0;
  }

  .top-about_item .c-bannerLink__text {
    width: 100px;
    height: 100px;
  }

  .top-about_item .c-bannerLink__title {
    font-size: 1.1em;
  }

}


@media (max-width: 960px) {
  .top-about .swell-block-fullWide__inner {
    padding: 0 5%;

  }

  .top-about .top-btn {
    margin-top: -40px;
  }

}

@media (max-width: 600px) {
  .top-about::after {
    bottom: -20px;
  }

  .top-about_item figure {
    aspect-ratio: 3 / 2;
  }

  .top-about_item .c-bannerLink {
    border-radius: 30% 30% 10px 10px;
  }

  .top-about_item .c-bannerLink__text {
    left: 0;
  }

}



/* top-support */
.top-support {
  position: relative;
  z-index: 0;
}

.top-support::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  background: url(./img/flag.png) no-repeat center/contain;
  width: clamp(140px, 20%, 300px);
  aspect-ratio: 828 / 394;

}

.top-support::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  right: 1%;
  background: url(./img/tree-3.png) no-repeat center/contain;
  width: clamp(140px, 17.4%, 250px);
  aspect-ratio: 546 / 547;

}

.top-support .top-wrap_item figure {
  width: 100%;
  aspect-ratio: 3 / 2;
}


@media (max-width: 1200px) {


  .top-support_item .c-bannerLink__title {
    font-size: 1.25em;
  }
}

@media (max-width: 960px) {

  .top-support {
    padding-bottom: 6em !important;
  }

  .top-support .block-fullWide__inner>* {
    margin-bottom: 1em;
  }

}



/* top-entry */
.top-entry {
  margin-bottom: 0;
  padding: 3em 0 !important;
}

.top-entry_wrap {
  padding: 20px;
  background: #fff;
}

.top-entry_wrap .wp-block-media-text__content {
  padding: 0 30px 0;
}



@media (max-width: 960px) {
  .top-entry h2 {
    margin-inline: auto;
  }

  .top-entry_wrap {
    margin-right: 0;
    grid-template-columns: 100% !important;
    grid-template-rows: auto auto;
    gap: 20px;
  }


  .top-entry_wrap .wp-block-media-text__media {
    grid-column: 1 !important;
    grid-row: 1;
    width: min(100%, 600px);
    margin-inline: auto;
  }

  .top-entry_wrap .wp-block-media-text__content {
    padding: 0 !important;
    grid-column: 1 !important;
    grid-row: 2 !important;

  }
}

/* ---------------------------------------------------------
   page  |  固定ページ
   --------------------------------------------------------- */
@media (min-width: 600px) {
  .l-topTitleArea {
    min-height: 350px;
    padding: 1em 0;
  }
}

.l-topTitleArea .c-pageTitle {
  font-family: var(--ttl);
  font-weight: 500;
  background: rgba(239, 245, 232, .7);
  width: max-content;
  color: #333;
  padding: .5em 2em;
}

.l-mainContent__inner .c-pageTitle {
  text-align: center;
  font-family: var(--ttl);
  font-size: clamp(1.563rem, 1.25rem + 1.33vw, 2.25rem);
  letter-spacing: .15em;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  gap: 10px;
  margin: 4em 0 1.5em;
}

.l-mainContent__inner .c-pageTitle__inner {
  padding-top: 0;
}

.l-mainContent__inner .c-pageTitle:before {
  content: "";
  display: inline-block;
  position: relative;
  width: 1em;
  aspect-ratio: 170 / 70;
  background: url(./img/h1_deco-l.png) no-repeat center/contain;
}

.l-mainContent__inner .c-pageTitle:after {
  content: "";
  display: inline-block;
  position: relative;
  width: 1em;
  aspect-ratio: 170 / 70;
  background: url(./img/h1_deco-r.png) no-repeat center/contain;
  visibility: visible;
  height: auto;
}


/* 背景 */

@media (max-width: 1200px) {
  #body_wrap.-bg-fix:before {
    content: none;
  }
}

/* タイトル */
h2.page-h2 {
  text-align: center;
  font-family: var(--ttl);
  font-size: clamp(1.563em, 1.25em + 1.33vw, 2.25em) !important;
  letter-spacing: .15em;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  gap: 10px;
  margin: 4em 0 1.5em;
}

@media (max-width: 600px) {
  .id_13752 h2.page-h2 {
    letter-spacing: 0;
  }
}

h2.page-h2:before {
  content: "";
  display: inline-block;
  position: relative;
  width: 1em;
  aspect-ratio: 170 / 70;
  background: url(./img/h1_deco-l.png) no-repeat center/contain;
}

h2.page-h2:after {
  content: "";
  display: inline-block;
  position: relative;
  width: 1em;
  aspect-ratio: 170 / 70;
  background: url(./img/h1_deco-r.png) no-repeat center/contain;
}

h3.page-h3 {
  font-size: clamp(1.25em, 1.05em + 0.67vw, 1.75em) !important;
  padding-bottom: 30px;
  background: url(./img/title-line.png) repeat-x left bottom/auto 15px;

}

h4.page-h4 {
  font-size: clamp(1.125em, 1.063em + 0.27vw, 1.25em) !important;
  padding-left: 35px;
  background: url(./img/reaf-1.png) no-repeat left center/25px auto;
}

/* .post_content h4 {
			font-size: 1.2em !important;
		} */

h5.page-h5 {
  padding-left: 10px;
  border-left: 5px solid #efa4ab;
}


/* 横幅ワイド */
.page-wide {
  margin-left: -100px;
  width: calc(100% + 200px);
}


@media (max-width: 1200px) {
  .page-wide {
    margin-left: 0;
    width: 100%;
  }

}


.center-left {
  text-align: center;
}

@media (max-width: 960px) {
  .center-left {
    text-align: left !important;
  }
}

/* パンくず */
@media (min-width: 600px) {
  .p-breadcrumb__list {
    font-size: 14px;
  }
}

.c-tagList a {
  background: #8ac26c;
  color: #fff;
}

.c-tagList::before {
  color: #8ac26c !important;

}

/*************************  園の紹介 about  **************************/


.about_rinen {
  width: min(700px, 100%);
  margin-inline: auto;
}

.about_vision {
  width: min(100%, 800px);
  margin-inline: auto;
}



@media (max-width: 782px) {
  .about_target br {
    display: none;
  }

  .about_target {
    text-align: left !important;
    width: min(500px, 100%);
    margin-inline: auto;
  }
}






.about_no {
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
  padding: .8em;
  border-radius: 100px;
  color: #fff;
  transform: translate(25%, -50%);
}

.about_no::after {
  content: "";
  position: absolute;
  display: block;
  width: 88%;
  height: 88%;
  border: 1px solid #fff;
  border-radius: 100px;
  top: 6%;
  left: 6%;
}

.about_goals-1 .about_no {
  background-color: var(--wp--preset--color--swl-deep-02);
}

.about_goals-2 .about_no {
  background-color: var(--wp--preset--color--swl-deep-03);
}

.about_goals-3 .about_no {
  background-color: var(--wp--preset--color--swl-deep-04);
}




.about_effort {
  align-items: center;
}

.about_effort ul {
  padding-left: 0;
}

.about_effort ul li+li {
  margin-top: 20px;
}

.about_effort ul li {
  list-style: none;
  padding-left: 40px;
  background: url(./img/reaf-1.png) no-repeat left top/25px auto;
}



/* マップ */
.about_map {
  margin-left: -100px;
  width: calc(100% + 200px);
  aspect-ratio: 5 / 3;
}

.about_map iframe {
  width: 100%;
  height: 100%;
}

@media (max-width: 1200px) {
  .about_map {
    margin-left: 0;
    width: 100%;
  }

}

/*************************  園の特徴 feature  **************************/
.feature-video {
  position: relative;
}

.feature-video::after {
  content: "";
  position: absolute;
  display: block;
  width: 60px;
  height: auto;
  aspect-ratio: 300 / 211;
  background: url(./img/youtube-brands.png) no-repeat center/contain;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  visibility: visible;
}


/*************************  園の生活 life  **************************/
.life-cap .cap_box_ttl {
  font-size: 20px;
  gap: .3em;
  /* display: flex;
justify-content: center;
align-items: center; */

}

.life-cap .cap_box_ttl::before {
  content: "";
  display: block;
  position: relative;
  width: 1.2em;
  height: 1.2em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.life-cap[data-colset="col1"] .cap_box_ttl::before {
  background-image: url(./img/fall.png);
}

.life-cap[data-colset="col2"] .cap_box_ttl::before {
  background-image: url(./img/winter.png);
}

.life-cap[data-colset="col3"] .cap_box_ttl::before {
  background-image: url(./img/spring.png);
}

@media (max-width: 600px) {
  .life-cap table {
    --swl-cell1-width: 65px !important;
  }
}

/*************************  子育て支援 support  **************************/

.support_btn {
  justify-content: center;
}

.support_waku-gry {
  width: max-content;
  margin: 0 auto;
  border: 4px solid rgba(199, 199, 199, .15);
  padding: 20px 20px 20px 60px;
}

@media (max-width: 600px) {
  .support_btn li {
    font-size: 18px;
  }
}

/*************************  入園案内 entry  **************************/
.entry_heading img {
  width: min(700px, 100%)
}

.entry-cat>div {
  column-gap: 20px;
}

.entry-cat_body {
  width: calc((100% - 40px) / 3) !important;
  border: 1px solid #76c6d2;
  border-radius: 20px;
  padding: 0 0 20px !important;
  overflow: hidden;
}

.entry-cat_heading {
  background: #76c6d2;
  color: #fff;
  padding: 10px 0;

}

.entry-cat_txt {
  padding: 0 20px;
}

.entry_tbl table tr:nth-child(2) th,
.entry_tbl table tr:nth-child(2) td {
  border-bottom-width: 3px;
  border-bottom-style: double;

}

.entry_tab .c-tabBody {
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  padding: 20px;
}

.entry_tab .c-tabList__button[aria-selected=true],
.entry_tab .c-tabList__button:hover {
  background-color: #76c6d2 !important;
}

.entry_tab .c-tabList__button::before {
  border-top-color: #76c6d2 !important;
}

@media (max-width: 960px) {
  .entry-cat>div {
    justify-content: space-around;
  }

  .entry-cat_body {
    width: calc((100% - 20px) / 2) !important;
  }
}

@media (max-width: 600px) {
  .entry-cat>div {
    justify-content: space-around;
  }

  .entry-cat_body {
    width: 100% !important;
  }
}

/*************************  保護者用 parent  **************************/

.parent_download img {
  vertical-align: middle;
}

/*************************  お問い合わせ formt  **************************/
.form_dl {
  display: table;
  border-bottom: 1px solid var(--clr-gry1);
  padding: 14px 0;
  width: 100%;
}

.form_dt {
  display: table-cell;
  padding: 12px 16px;
  width: 320px;
}

.form_dd {
  display: table-cell;
  flex: 1;
  padding: 0 16px;
  vertical-align: middle;

}


.form_required {
  clear: right;
  display: block;
  float: right;
  margin-left: 0;
  background: var(--clr-red2);
  color: #fff;
  font-size: 14px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  width: 50px;
}

.form_dl:last-of-type {
  border-bottom: 1px solid var(--clr-gry1);
  margin-bottom: 50px;
}

.form_label {
  font-weight: bold;
  letter-spacing: 0.1em;
}



.form_input,
.form_textarea,
.form-select {
  background: #eee;
  border: 2px solid var(--clr-gry1);
  border-radius: 7px;
  padding: 6px 15px;
  width: 100%;
}

.form_input-fit {
  width: max-content;
}

.form_input::-moz-placeholder,
.form_textarea::-moz-placeholder {
  font-size: 14px;
}

.form_input::placeholder,
.form_textarea::placeholder {
  font-size: 14px;
}

.form_input:focus {
  background: #EFEFEF;
}

.form_textarea {
  height: 250px;
  width: 100%;
}

.form-radio {
  display: flex;
  gap: 100px;
  justify-content: center;
}

.form-radio_btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
}

.form-radio_label {
  display: block;
  font-size: 15px;
  position: relative;
}

.form-radio_label::before {
  background: #fff;
  border: 1px solid var(--clr-gry1);
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 23px;
  margin-right: 10px;
  position: relative;
  vertical-align: middle;
  width: 23px;
}

.form-radio_btn:checked+.form-radio_label:after {
  background-color: var(--clr-gry1);
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 13px;
  left: 5px;
  position: absolute;
  top: 7px;
  width: 13px;
}

.form-ckbox {
  display: flex;
  gap: 10%;
  justify-content: center;
  flex-wrap: wrap;
}

.form-ckbox_btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
}

.form-ckbox_label {
  font-size: 18px;
  position: relative;
}

.form-ckbox_label::before {
  border: 2px solid var(--clr-gry1);
  content: "";
  display: inline-block;
  height: 18px;
  margin-right: 10px;
  position: relative;
  vertical-align: middle;
  width: 18px;
}

.form-ckbox_btn:checked+.form-ckbox_label:after {
  border-bottom: 2px solid var(--clr-gry1);
  border-left: 2px solid var(--clr-gry1);
  content: "";
  height: 5px;
  left: 4px;
  position: absolute;
  top: 50%;
  transform: rotate(-45deg);
  transform-origin: center;
  width: 10px;
}

.form-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 5px;
  padding: 8px 10px;
  width: 100%;
  font-size: 16px;
  background-image: linear-gradient(45deg, transparent 50%, var(--clr-gry1) 50%),
    linear-gradient(135deg, var(--clr-gry1) 50%, transparent 50%);
  background-position: calc(100% - 20px) center, calc(100% - 15px) center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  cursor: pointer;
}


/* .form-select {
  background: #eee;
  border: 2px solid var(--clr-gry1); 
   border-radius: 5px;
  margin: 0 auto;
  position: relative;
  width: 100%;
} */

/* .form-select:after {
  border-color: var(--clr-gry1) transparent transparent transparent;
  border-style: solid;
  border-width: 8.7px 5px 0 5px;
  content: "";
  display: block;
  height: 0;
  pointer-events: none;
  position: absolute;
  right: 13px;
  top: 45%;
  width: 0;
} */

.form-select_body {
  padding: 8px 10px;
  width: 100%;
}

.form-select_body option {
  font-size: 16px;
}

.form-privacy label {
  font-size: 14px;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.form-privacy input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: absolute;
  width: 20px;
  height: 20px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.form-privacy label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid var(--color_text);
  margin-right: 10px;
  box-sizing: border-box;
}


.form-privacy input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 50%;
  width: 10px;
  height: 5px;
  border-left: 2px solid var(--color_text);
  border-bottom: 2px solid var(--color_text);
  transform: translateY(-50%) rotate(-45deg);
}


.form-btnarea {
  text-align: center;
}

.form-btnarea_btn {
  background: var(--color_main);
  border: 1px solid var(--color_main);
  border-radius: 10px;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 20px 0;
  text-align: center;
  transition: all 0.3s;
  width: 255px;
}

.form-btnarea_btn:hover {
  background: #fff;
  color: var(--color_main);
}

.form-btnarea_btn.is-inactive {
  background: var(--clr-gry1);
  border: 1px solid var(--clr-gry1);
  pointer-events: none;
}

.form_note {
  font-size: 0.85em;
  margin-top: 0.3em;
}

.form-privacy {
  margin-bottom: 20px;
}

div.wpcf7 .wpcf7-spinner {
  display: block;
}


@media only screen and (max-width: 960px) {


  .form_dl {
    display: block;
    padding: 10px 0;
  }

  .form_dt {
    display: block;
    width: 100%;
    padding: 0px 10px 5px;
  }

  .form_dd {
    display: block;
    width: 100%;
    padding: 0 10px;
  }

  .form_required {
    display: inline-block;
    margin-left: 10px;
    float: none;
  }


}




/* ---------------------------------------------------------
   table  |  テーブル1
	 スマホで縦並び
   --------------------------------------------------------- */
.page-table1 {
  border: 5px solid #e4dcd7;
  border-radius: 5px;
  overflow: hidden;
}

.page-table1 table {
  border-radius: 10px;
  color: #5f4b3e;
}

.page-table1 table th {
  background: #f4ebe6;

}

.page-table1 table td {
  border-left: 2px solid #e4dcd7;
  padding-left: 1em;

}

.page-table1 table tr {
  border-top: 2px solid #e4dcd7
}

.page-table1 table a {
  color: #5f4b3e;
  text-decoration: underline;
}

@media (max-width: 960px) {
  .page-table1 {
    width: min(100%, 500px);
    margin-inline: auto;
  }

  .page-table1 table th {
    width: 100% !important;
    max-width: none !important;
    ;
  }

  .page-table1 table th {
    padding: .5em;
  }

}

/* ---------------------------------------------------------
   table  |  テーブル2
	 スマホでスクロール
   --------------------------------------------------------- */
/* .page-table2 {
	border: 5px solid #e4dcd7;
border-radius: 10px;
} */

.page-table2 table {
  border-radius: 5px;
  color: #5f4b3e;
  border-bottom: #5f4b3e;
  border-right: #5f4b3e;
}

.page-table2 table th {
  background: #f4ebe6;

}

.page-table2 table td {
  border-left: 2px solid #e4dcd7;

}

/* 
.page-table2 table tr {
	border-top: 5px solid #e4dcd7;
	border-right:5px solid #e4dcd7;
	border-left:5px solid #e4dcd7;
} */
/* .page-table2 table tr {
	border-top: 2px solid #e4dcd7
} */

.c-scrollHint {
  margin-top: 0 !important;
}


/* ---------------------------------------------------------
   accordion  |  アコーディオン
   --------------------------------------------------------- */

.page-acc .swell-block-accordion__title {
  background: #76c6d2;
  color: #fff;
  text-align: center;
}

.page-acc .swell-block-accordion__body {
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.page-acc .page-h5 {
  margin-top: 40px;
}


/* ---------------------------------------------------------
   pager  |  ページ送りナビゲーション
   --------------------------------------------------------- */
.post-nav {
  margin: 60px 0;
  text-align: center;
}

.post-nav_list {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;

}

.post-nav_item {
  flex: 1;
}


.post-nav_center {
  display: inline-block;
  padding: 12px 20px;
  background-color: var(--color_main);
  color: #fff;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  /*   transition: background-color 0.3s ease; */
}

.post-nav_prev,
.post-nav_next {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
}

.post-nav_prev:before {
  content: "";
  width: 40px;
  height: 40px;
  background: url(./img/arw-prev.png) no-repeat center/contain;
  position: relative;
  display: inline-block;
}

.post-nav_next:after {
  content: "";
  width: 40px;
  height: 40px;
  background: url(./img/arw-next.png) no-repeat center/contain;
  position: relative;
  display: inline-block;
}


.post-nav_text {
  font-size: 16px;
}

/* ---------------------------------------------------------
  sitemap  |  サイトマップ
   --------------------------------------------------------- */

.sitemap_heading {
  background: rgba(243, 138, 161, 0.1);
  border-bottom: 1px solid var(--color_htag);
  display: flex;
  font-size: 20px;
  gap: 10px;
  margin-bottom: 20px;
  padding: 10px 20px;
  position: relative;
}

.sitemap_heading a {
  height: 100%;
  text-decoration: none;
  width: 100%;
}

.sitemap_heading::before {
  color: var(--color-1);
  content: "\f35a";
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: relative;
}

.sitemap_heading.del::before {
  content: none;
}

.sitemap_1st {
  margin-left: 0 10px;
  list-style: none;
}

.sitemap_1st>li {
  border-bottom: 1px dashed #aeaeae;
  padding: 10px 0;
}

.sitemap_1st>li>a {
  display: flex;
  gap: 10px;
  padding-left: 10px;
  position: relative;
  text-decoration: none;
}

.sitemap_1st>li>a::before {
  color: #555;
  content: "\f0da";
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: relative;
}

.sitemap_2nd {
  margin-left: 20px;

}

.sitemap_2nd li {
  list-style: none;
}

.sitemap_2nd li a {
  padding-left: 10px;
  position: relative;
  text-decoration: none;
}

.sitemap_2nd li a::before {
  border-bottom: 1px solid #555;
  border-left: 1px solid #555;
  content: "";
  display: inline-block;
  height: 10px;
  margin-right: 5px;
  position: relative;
  transform: translateY(-5px);
  width: 10px;
}