@charset "UTF-8";
/* ----------------------------------------
TopPage Layout
---------------------------------------- */
.ly_firstContainer {
  position: relative;
  padding: var(--header-height) 0 0;
  background: linear-gradient(72.3deg, #EAFFEE 0%, #FFFFFF 100%);
}

.ly_firstContainer::before {
  content: "";
  position: absolute;
  top: calc(var(--header-height) + 204px);
  left: -68px;
  z-index: 10;
  width: 321px;
  height: 175px;
  background: url(../img/img_leaves2.png) no-repeat center/contain;
}

.ly_firstView {
  position: relative;
  max-width: 1280px;
  margin-inline: auto;
  padding: 0 40px 40px 160px;
}

.ly_firstView .tp_catch {
  position: absolute;
  top: 80px;
  left: 80px;
  z-index: 10;
}

.ly_firstView .tp_hours {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
  padding: 40px;
  border-radius: 8px;
  background: var(--color-back);
}

.ly_topNews {
  padding: 56px 0 120px;
}

.ly_topNews > * {
  max-width: var(--width-content);
  margin-inline: auto;
  padding-inline: var(--margin-content);
}

.ly_topContent {
  padding: 96px 0 93px;
  background: url(../img/bg_top.webp) no-repeat left calc(50% - 420px + 3px) bottom -115px/840px auto;
}

.ly_topContent > * {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: var(--margin-content);
}

.ly_topView {
  overflow: hidden;
}

.ly_topView > .tp_view {
  width: 100%;
}

.ly_topContent2 {
  position: relative;
  padding: 96px 0;
  background: url(../img/bg_top2.webp) no-repeat top -32px right -300px/1444px 1232px, linear-gradient(to top right, #FFF2F7, transparent) no-repeat left bottom/100% 608px;
}

.ly_topContent2::before {
  content: "";
  position: absolute;
  display: block;
  top: 78px;
  left: -86px;
  width: 321px;
  height: 175px;
  background: url(../img/img_leaves2.png) no-repeat center/contain;
}

.ly_topContent2 > * {
  max-width: var(--width-content);
  margin-inline: auto;
  padding-inline: var(--margin-content);
}

.ly_topContent3 {
  position: relative;
  padding: 96px 0 137px;
  background: url(../img/bg_top_rev.webp) no-repeat top 310px right -207px/840px auto, linear-gradient(to top right, #EAFFEE 0%, #FFFFFF 100%);
}

.ly_topContent3::before,
.ly_topContent3::after {
  content: "";
  position: absolute;
  display: block;
}

.ly_topContent3::before {
  top: -41px;
  right: 0px;
  width: 221px;
  height: 136px;
  background: url(../img/img_leaves.png) no-repeat center/contain;
}

.ly_topContent3::after {
  bottom: -9px;
  left: -86px;
  width: 321px;
  height: 175px;
  background: url(../img/img_leaves2.png) no-repeat center/contain;
}

.ly_topContent3 > * {
  max-width: var(--width-content);
  margin-inline: auto;
  padding-inline: var(--margin-content);
}

.ly_topContent3 > * + * {
  margin-top: 96px;
}

.tp_pillBnr {
  text-align: center;
}

.tp_pillBnr a {
  display: inline-block;
}

.ly_topContent4 {
  position: relative;
  padding: 96px 0;
  background: url(../img/bg_top2_rev.webp) no-repeat top 347px left -343px/1444px 1232px, linear-gradient(14.19deg, #FFF2F7 3.8%, #FFFFFF 52.38%) no-repeat left bottom/100% 770px;
}

.ly_topContent4::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -79px;
  left: -86px;
  width: 321px;
  height: 175px;
  background: url(../img/img_leaves2.png) no-repeat center/contain;
}

.ly_topContent4 > * {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: var(--margin-content);
}

.ly_topContent4 > * + * {
  margin-top: 96px;
}

.ly_topContent5 {
  padding: 96px 0 0;
}

.ly_topContent5 > * {
  max-width: calc(960px + var(--margin-content) * 2);
  margin-inline: auto;
  padding-inline: var(--margin-content);
}

/* ----------------------------------------
TopPage Block
---------------------------------------- */
.tp_mainVisual {
  display: block;
}

.tp_mainVisual_container {
  max-width: 1080px;
  margin: 0 0 0 auto;
}

.tp_mainVisual_track {
  display: grid;
  width: 100%;
  height: 500px;
  overflow: hidden;
  border-radius: 15px;
}

.tp_mainVisual_box {
  grid-area: 1/1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.5s ease-out, visibility 1.5s ease-out;
  z-index: 1;
}

.tp_mainVisual_box.is_active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.tp_mainVisual_img {
  width: 100%;
  height: 100%;
}

.tp_mainVisual_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0s 1.5s;
}

.tp_mainVisual_box.is_active .tp_mainVisual_img img {
  transform: scale(1.2);
  transition: transform 6s linear;
}

@media (min-width: 1600px) {
  .ly_firstView {
    max-width: 1560px;
  }
  .tp_mainVisual_container {
    max-width: 1360px;
  }
  .tp_mainVisual_track {
    height: 600px;
  }
}
.tp_catch {
  display: block;
}

.tp_catch_txt {
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.15em;
  width: max-content;
  max-width: 100%;
  padding: 0 0 8px;
  background: linear-gradient(to right, currentColor 4.5px, transparent 4.6px) repeat-x bottom left/9px 2px;
}

.tp_catch_txt + .tp_catch_txt {
  margin-top: 24px;
}

.tp_catch_txt2 {
  display: inline;
}

.tp_catch_em {
  color: var(--color-accent);
  font-style: normal;
}

.tp_hours {
  display: block;
}

.tp_hours_table {
  width: 100%;
}

.tp_hours_thead {
  border-bottom: 1px solid #D8E1DD;
}

.tp_hours_thead tr th {
  font-weight: 700;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
  text-align: center;
  padding: 0 4px 12px;
}

.tp_hours_tbody {
  border-bottom: 1px solid #D8E1DD;
}

.tp_hours_tbody tr th {
  font-family: var(--font-family-opensans);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 0 4px;
}

.tp_hours_tbody tr td {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0 4px;
}

.tp_hours_tbody tr:first-of-type th,
.tp_hours_tbody tr:first-of-type td {
  padding-top: 16px;
}

.tp_hours_tbody tr:last-of-type th,
.tp_hours_tbody tr:last-of-type td {
  padding-bottom: 16px;
}

.tp_hours_tbody tr td[data-sub="1"] {
  color: var(--color-accent);
}

.tp_hours_tbody tr td[data-sub="2"] {
  color: var(--color-main);
}

.tp_hours_dl {
  font-size: 1.3rem;
  line-height: 1.4;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
  margin: 12px 0 0;
}

.tp_hours_dlUnit {
  display: inline-flex;
}

.tp_hours_dlUnit dt {
  font-weight: 700;
}

.tp_hours_dlUnit dt[data-sub="1"] {
  color: var(--color-accent);
}

.tp_hours_dlUnit dt[data-sub="2"] {
  color: var(--color-main);
}

.tp_hours_dlUnit dd::before {
  content: "…";
}

.tp_hours_note {
  font-size: 1.3rem;
  line-height: 1.4;
}

.tp_hours_note::before {
  content: "※";
}

.tp_hours_noteTd {
  position: relative;
}

.tp_hours_noteTd::before {
  content: "※";
  position: absolute;
  bottom: 100%;
  right: 0;
  display: block;
  color: var(--color);
  font-size: 9px;
  line-height: 1;
}

.tp_news ::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.tp_news ::-webkit-scrollbar-track {
  background: #D8E2DD;
}
.tp_news ::-webkit-scrollbar-thumb {
  background: #70CEBA;
  border-radius: 0px;
}
.tp_news ::-webkit-scrollbar-button {
  display: none;
}

.tp_news_ttl {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tp_news_subTtl {
  color: var(--color-main);
  font-family: var(--font-family-opensans);
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
}

.tp_news_subTtl::before {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../img/ico_leaf2.png) no-repeat center/contain;
}

.tp_news_mainttl {
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

.tp_news_box {
  padding: 30px;
  border: 2px solid #AEE5DA;
  border-radius: 8px;
  background: var(--color-back);
  margin: 24px 0 0;
}

.tp_news_list {
  max-height: calc((32px + 2.2rem) * 5);
  overflow: auto;
}

.tp_news_list li {
  margin: 0 16px 0 0;
  background: linear-gradient(to right, #AEE5DA 4.5px, transparent 4.6px) repeat-x bottom left/9px 2px;
}

.tp_news_list li > a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  padding: 16px 0;
  text-decoration: none;
}

.tp_news_time {
  color: #40BDA2;
  font-family: var(--font-family-opensans);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.5714285714;
}

.tp_news_catList {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.tp_news_cat {
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5714285714;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  border-radius: 11px;
  background: #4C5C54;
}

.tp_news_cat[data-cat="3"] {
  background-color: #70CEBA;
}

.tp_news_cat[data-cat="4"] {
  background-color: #F985CE;
}

.tp_news_cat[data-cat="5"] {
  background-color: #FFACBA;
}

.tp_news_cat[data-cat="6"] {
  background-color: #79B0EE;
}

.tp_news_txt {
  flex: 1;
  display: block;
  line-height: 1.375;
}

.tp_news_linkUnit {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 36px 0 0;
}

@media (hover: hover) {
  .tp_news_list li a {
    transition: 0.1s opacity;
  }
  .tp_news_list li a:hover {
    opacity: 0.6;
  }
}
.tp_content {
  display: block;
}

.tp_content .tp_txtUnit {
  margin-top: 40px;
}

.tp_content .tp_btnUnit {
  margin-top: 56px;
}

.tp_ttl {
  display: block;
}

.tp_ttl.tp_ttl__center,
.tp_ttl.tp_ttl__center_pc {
  text-align: center;
}

.tp_ttl_sub {
  color: var(--color-accent);
  font-family: var(--font-family-opensans);
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
}

.tp_ttl_sub.tp_ttl_sub__center,
.tp_ttl_sub.tp_ttl_sub__center_pc {
  justify-content: center;
}

.tp_ttl_sub::before {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../img/ico_leaf2.png) no-repeat center/contain;
}

.tp_ttl_main {
  display: block;
  color: var(--color-main);
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
  margin: 24px 0 0;
}

.tp_ttl_main.tp_ttl_main__center,
.tp_ttl_main.tp_ttl_main__center_pc {
  text-indent: 0.05em;
}

.tp_txtUnit {
  display: block;
}

.tp_txtUnit.tp_txtUnit__center,
.tp_txtUnit.tp_txtUnit__center_pc {
  text-align: center;
}

.tp_txt {
  line-height: 1.85;
}

.tp_txt + .tp_txt {
  margin-top: 16px;
}

.tp_txt_em {
  color: var(--color-em);
  font-style: normal;
  font-weight: 700;
}

.tp_btnUnit {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.tp_btnUnit.tp_btnUnit__center {
  justify-content: center;
}

.tp_btnUnit.tp_btnUnit__column {
  flex-direction: column;
}

.tp_about {
  display: block;
}

.tp_about_container {
  position: relative;
}

.tp_about_imgUnit {
  position: absolute;
  top: -160px;
  right: 0;
  width: 334px;
  height: 528px;
}

.tp_about_img {
  position: absolute;
}

.tp_about_img.tp_about_img__1 {
  top: 0;
  left: 0;
}

.tp_about_img.tp_about_img__2 {
  bottom: 0;
  right: 0;
}

.tp_about_img img {
  border-radius: 10px;
}

.tp_about_imgUnit::after {
  content: "";
  position: absolute;
  top: 88px;
  right: 40px;
  display: block;
  width: 161px;
  height: 212px;
  background: url(../img/img_leaves3.png) no-repeat center/contain;
}

.tp_about_content {
  position: relative;
  z-index: 2;
}

.tp_view {
  display: block;
}

.tp_view_container {
  display: block;
}

.tp_view_track {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.tp_view_box {
  width: 450px;
  height: 300px;
  flex-shrink: 0;
}

.tp_view_img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tp_view_container.is_animated {
  display: flex;
  gap: 16px;
  width: max-content;
  flex-wrap: nowrap;
}
.tp_view_container.is_animated .tp_view_track {
  flex-wrap: nowrap;
  flex-shrink: 0;
  animation: infinite-marquee 60s linear infinite;
}

@keyframes infinite-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-100% - 16px));
  }
}
.tp_mediaUnit {
  display: flex;
  flex-wrap: wrap;
  gap: 0 64px;
}

.tp_mediaUnit_ttl {
  width: 100%;
  margin-bottom: 56px;
}

.tp_mediaUnit > .tp_media:nth-of-type(1) {
  width: 100%;
}

.tp_mediaUnit > .tp_media:nth-of-type(2) {
  width: 100%;
  margin-top: 56px;
}

.tp_mediaUnit > .tp_media:nth-of-type(3),
.tp_mediaUnit > .tp_media:nth-of-type(4) {
  width: calc(50% - 32px);
}

.tp_mediaUnit > .tp_media:nth-of-type(3) {
  margin-top: 51px;
  padding-left: 40px;
}

.tp_mediaUnit > .tp_media:nth-of-type(4) {
  margin-top: 86px;
  padding-right: 40px;
}

.tp_media {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.tp_media_img {
  position: relative;
  z-index: 1;
  translate: 48px 32px;
  width: 500px;
  max-width: 100%;
  aspect-ratio: 500/331;
}

.tp_media_img::before {
  content: "";
  display: block;
  position: absolute;
}

.tp_media_img.tp_media_img__01::before {
  bottom: -27px;
  right: 16px;
  width: 84px;
  height: 104px;
  background: url(../img/leaf.png) no-repeat center/contain;
}

.tp_media_img.tp_media_img__02::before {
  bottom: -48px;
  right: 21px;
  width: 144px;
  height: 94px;
  background: url(../img/leaf2.png) no-repeat center/contain;
}

.tp_media_img.tp_media_img__03::before {
  bottom: -11px;
  left: -31px;
  width: 76px;
  height: 94px;
  background: url(../img/leaf3.png) no-repeat center/contain;
}

.tp_media_img.tp_media_img__04::before {
  top: -5px;
  left: 29px;
  width: 48px;
  height: 70px;
  background: url(../img/leaf4.png) no-repeat center/contain;
}

.tp_media_img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.tp_media_box {
  flex: 1;
  padding: 48px 48px 48px 80px;
  background: var(--color-back);
  box-shadow: 24px 24px 24px 0px rgba(216, 160, 172, 0.0784313725);
}

.tp_media_ttl {
  color: var(--color-main);
  display: flex;
  gap: 24px;
  min-height: 78px;
  margin: 0 0 16px;
}

.tp_media_num {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 0 24px 0 0;
  border-right: 2px solid #D8E1DD;
  font-family: var(--font-family-manrope);
  font-size: 5.6rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
}

.tp_media_sub {
  flex: 1;
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.tp_media_txt {
  line-height: 1.6;
}

.tp_media_txt + .tp_media_txt {
  margin-top: 16px;
}

.tp_media_em {
  color: var(--color-main);
  font-style: normal;
  font-weight: 700;
}

.tp_media_btnUnit {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 16px;
  margin: 24px 0 0;
}

.tp_media.tp_media__rev {
  flex-direction: row-reverse;
}
.tp_media.tp_media__rev .tp_media_img {
  translate: -48px 32px;
}
.tp_media.tp_media__rev .tp_media_box {
  padding: 48px 80px 48px 48px;
  box-shadow: -24px 24px 24px 0px rgba(216, 160, 172, 0.0784313725);
}
.tp_media.tp_media__rev .tp_media_btnUnit {
  justify-content: flex-start;
}

.tp_media.tp_media__col {
  flex-direction: column;
}
.tp_media.tp_media__col .tp_media_img {
  translate: none;
}
.tp_media.tp_media__col .tp_media_box {
  padding: 0;
  background: none;
  box-shadow: none;
}
.tp_media.tp_media__col .tp_media_btnUnit {
  justify-content: flex-start;
}

.tp_mediaUnit > .tp_media:nth-of-type(2n) .tp_media_ttl {
  color: var(--color-accent);
}
.tp_mediaUnit > .tp_media:nth-of-type(2n) .tp_media_em {
  color: var(--color-accent);
}

.tp_menu {
  display: block;
}

.tp_menu_container {
  display: flex;
  align-items: flex-start;
  min-height: 378px;
  border-radius: 10px;
  background: var(--color-back);
  overflow: hidden;
  margin: 56px 0 0;
  box-shadow: 0px 24px 24px 0px rgba(64, 189, 162, 0.1215686275);
}

.tp_menu_imgUnit {
  display: grid;
  width: 289px;
  max-width: 100%;
  aspect-ratio: 289/378;
}

.tp_menu_img {
  display: none;
  grid-area: 1/1;
  width: 100%;
  height: 100%;
}

.tp_menu_img.is_active {
  display: block;
}

.tp_menu_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tp_menu_content {
  flex: 1;
  padding: 32px;
}

.tp_menu_tabUnit {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.tp_menu_btn {
  color: var(--color-main);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  min-height: 38px;
  padding: 10px 24px 10px 40px;
  border-radius: 19px;
  background: #E3FFF9;
  transition: 0.2s color, 0.2s background-color;
}

.tp_menu_btn.tp_menu_btn__2 {
  color: var(--color-em);
  background-color: #FFF5FB;
}

.tp_menu_btn.tp_menu_btn__3 {
  color: var(--color-em2);
  background-color: #EBF0FF;
}

.tp_menu_btn::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 7px;
  -webkit-mask-image: url("../img/ico_arrow_down.svg");
  mask-image: url("../img/ico_arrow_down.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background: var(--color-main);
  transition: 0.2s background-color;
}

.tp_menu_btn.tp_menu_btn__2::after {
  background-color: var(--color-em);
}

.tp_menu_btn.tp_menu_btn__3::after {
  background-color: var(--color-em2);
}

.tp_menu_btn.is_active {
  color: #fff;
}

.tp_menu_btn.tp_menu_btn__1.is_active {
  background-color: var(--color-main);
}

.tp_menu_btn.tp_menu_btn__2.is_active {
  background-color: var(--color-em);
}

.tp_menu_btn.tp_menu_btn__3.is_active {
  background-color: var(--color-em2);
}

.tp_menu_btn.is_active::after {
  background-color: #fff;
}

.tp_menu_boxUnit {
  margin: 8px 0 0;
}

.tp_menu_box {
  display: none;
}

.tp_menu_box.is_active {
  display: block;
}

.tp_menu_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.tp_menu_list li {
  width: calc(50% - 8px);
}

.tp_menu_list li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  font-weight: 700;
  line-height: 1.3125;
  text-decoration: none;
  height: 100%;
  padding: 16px 0;
  border-bottom: 2px solid #D8E2DD;
}

.tp_menu_list li a::before,
.tp_menu_list li a::after {
  content: "";
  flex-shrink: 0;
  display: inline-block;
}

.tp_menu_list li a::before {
  width: 38px;
  height: 21px;
  background: url(../img/ico_leaf3.png) no-repeat center/contain;
}

.tp_menu_list.tp_menu_list__2 li a::before {
  background-image: url(../img/ico_leaf4.png);
}

.tp_menu_list.tp_menu_list__3 li a::before {
  background-image: url(../img/ico_leaf5.png);
}

.tp_menu_list li a::after {
  width: 7px;
  height: 12px;
  margin: 0 0 0 auto;
  -webkit-mask-image: url("../img/ico_arrow.svg");
  mask-image: url("../img/ico_arrow.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background: var(--color-main);
}

.tp_menu_list.tp_menu_list__2 li a::after {
  background-color: var(--color-em);
}

.tp_menu_list.tp_menu_list__3 li a::after {
  background-color: var(--color-em2);
}

@media (hover: hover) {
  .tp_menu_btn:hover {
    color: #fff;
  }
  .tp_menu_btn.tp_menu_btn__1:hover {
    background-color: var(--color-main);
  }
  .tp_menu_btn.tp_menu_btn__2:hover {
    background-color: var(--color-em);
  }
  .tp_menu_btn.tp_menu_btn__3:hover {
    background-color: var(--color-em2);
  }
  .tp_menu_btn:hover::after {
    background-color: #fff;
  }
  .tp_menu_list li a {
    transition: 0.2s color, 0.2s border-color;
  }
  .tp_menu_list li a:hover:hover {
    color: var(--color-main);
    border-color: var(--color-main);
  }
  .tp_menu_list.tp_menu_list__2 li a:hover:hover {
    color: var(--color-em);
    border-color: var(--color-em);
  }
  .tp_menu_list.tp_menu_list__3 li a:hover:hover {
    color: var(--color-em2);
    border-color: var(--color-em2);
  }
}
.tp_maternity {
  display: flex;
  align-items: flex-start;
  gap: 42px;
}

.tp_maternity_img {
  width: 500px;
}

.tp_maternity_img img {
  border-radius: 10px;
}

.tp_maternity_content {
  flex: 1;
}

.tp_beauty {
  display: block;
}

.tp_beauty_container {
  position: relative;
}

.tp_beauty_imgUnit {
  position: absolute;
  left: 40px;
  top: 0px;
}

.tp_beauty_imgUnit2 {
  position: absolute;
  top: -134px;
  right: 0;
  width: 309px;
  height: 529px;
}

.tp_beauty_img.tp_beauty_img__2 {
  position: absolute;
  top: 0;
  left: 0;
}

.tp_beauty_img.tp_beauty_img__3 {
  position: absolute;
  bottom: 0;
  right: 0;
}

.tp_beauty_imgUnit2::after {
  content: "";
  position: absolute;
  top: 88px;
  right: 45px;
  display: block;
  width: 161px;
  height: 212px;
  background: url(../img/img_leaves3.png) no-repeat center/contain;
}

.tp_beauty_img img {
  border-radius: 10px;
}

.tp_beauty_content {
  position: relative;
  z-index: 2;
  max-width: 452px;
  margin: 0 auto;
}

.tp_message {
  display: block;
}

.tp_message_container {
  position: relative;
  padding: 45px 80px 0 540px;
}

.tp_message_imgUnit {
  position: absolute;
  top: 0;
  left: 40px;
  width: 440px;
  height: 549px;
}

.tp_message_imgUnit::before,
.tp_message_imgUnit::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
}

.tp_message_imgUnit::before {
  top: 116px;
  right: 25px;
  width: 116px;
  height: 143px;
  background: url(../img/leaf5.png) no-repeat center/contain;
}

.tp_message_imgUnit::after {
  top: 323px;
  left: 110px;
  width: 76px;
  height: 94px;
  background: url(../img/leaf3.png) no-repeat center/contain;
}

.tp_message_img {
  position: absolute;
}

.tp_message_img.tp_message_img__1 {
  top: 0;
  left: 130px;
}

.tp_message_img.tp_message_img__2 {
  top: 139px;
  left: 0;
}

.tp_message_img.tp_message_img__3 {
  bottom: 0;
  right: 0;
}

.tp_message_img img {
  border-radius: 10px;
}

.tp_intro {
  display: block;
}

.tp_intro_container {
  display: flex;
  align-items: center;
  max-width: 1084px;
  margin: 0 auto;
}

.tp_intro_box {
  flex: 1;
  padding: 48px 80px 48px 48px;
  background: var(--color-back);
  box-shadow: -24px 24px 24px 0px rgba(216, 160, 172, 0.0784313725);
  margin: 0 0 0 56px;
}

.tp_intro_ttl {
  color: var(--color-accent);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.3571428571;
  letter-spacing: 0.05em;
  margin: 0 0 16px;
}

.tp_intro_ttl dl {
  display: flex;
}

.tp_intro_ttl dl dt {
  padding: 9px 24px 9px 0;
}

.tp_intro_ttl dl dd {
  padding: 9px 0 9px 24px;
  border-left: 2px solid #D8E1DD;
}

.tp_intro_ttl {
  margin: 0 0 16px;
}

.tp_intro_txt {
  line-height: 1.6;
}

.tp_intro_txt + .tp_intro_txt {
  margin-top: 16px;
}

.tp_intro_em {
  color: var(--color-accent);
  font-weight: 700;
}

.tp_intro_btnUnit {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 24px 0 0;
}

.tp_intro_img {
  width: 400px;
  aspect-ratio: 400/400;
  overflow: hidden;
  border-radius: 10px;
  translate: -56px 0;
}

.tp_intro_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tp_banner {
  display: block;
}

.tp_banner_box {
  padding: 32px;
  border-radius: 10px;
  background: var(--color-back);
  box-shadow: 0px 24px 24px 0px rgba(216, 160, 172, 0.0784313725);
  margin: 48px 0 0;
}

.tp_banner_list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px;
}

.tp_banner_list li {
  width: 308px;
  max-width: 100%;
}

.tp_banner_list li a {
  display: block;
}

@media (hover: hover) {
  .tp_banner_list li a {
    transition: 0.1s opacity;
  }
  .tp_banner_list li a:hover {
    opacity: 0.6;
  }
}
.tp_info {
  display: flex;
  align-items: flex-end;
  gap: 40px;
}

.tp_info_left {
  flex: 1;
}

.tp_info_right {
  width: 530px;
}

.tp_info_ttl {
  margin: 0 0 32px;
}

.tp_info_dl {
  line-height: 1.8;
}

.tp_info_dlUnit {
  display: flex;
}

.tp_info_dlUnit + .tp_info_dlUnit {
  margin-top: 8px;
}

.tp_info_link {
  color: #79B0EE;
  font-weight: 700;
}

.tp_info_ttl2 {
  font-weight: 700;
  line-height: 1.625;
  padding: 0 0 8px 24px;
  border-bottom: 2px solid var(--color-main);
  background: url(../img/ico_leaf.png) no-repeat top left/16px 26px;
  margin: 24px 0 16px;
}

.tp_info_ttl3 {
  color: var(--color-main);
  font-weight: 700;
  line-height: 1.8;
  margin: 8px 0;
}

.tp_info_ttl3::before {
  content: "｜";
}

.tp_info_txt {
  line-height: 1.8;
}

.tp_info_hours {
  padding: 40px 82px;
  background: #EAFFEE;
}

.tp_info_note {
  color: var(--color-main);
  font-size: 1.4rem;
  line-height: 1.8;
  margin: 16px 0 0;
}

.tp_about_bannerList {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 0;
}

.tp_about_bannerList li {
  width: 261px;
  max-width: 100%;
}

.tp_about_bannerList li a {
  display: block;
}

@media (hover: hover) {
  .tp_about_bannerList li a {
    transition: 0.1s opacity;
  }
  .tp_about_bannerList li a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 767px) {
  /* ----------------------------------------
  TopPage Layout
  ---------------------------------------- */
  .ly_firstContainer::before {
    top: calc(var(--header-height) + 249px);
  }
  .ly_firstView {
    max-width: none;
    padding-right: 0;
    padding-bottom: 96px;
    padding-left: 90px;
  }
  .ly_firstView .tp_catch {
    top: 50px;
    left: 40px;
  }
  .ly_firstView .tp_hours {
    width: 380px;
    max-width: calc(100vw - 20px);
    padding: 16px;
  }
  .ly_topNews {
    padding-top: 60px;
    padding-bottom: 90px;
  }
  .ly_topNews > * {
    max-width: none;
  }
  .ly_topContent {
    padding-block: 96px;
    background-position: left -307px bottom -297px;
  }
  .ly_topContent > * {
    max-width: none;
  }
  .ly_topContent2 {
    background-position: top 212px right -694px, left bottom;
    background-size: 1444px 1232px, 100% 679px;
  }
  .ly_topContent2::before {
    top: -46px;
    left: -197px;
  }
  .ly_topContent2 > * {
    max-width: none;
    padding-inline: 30px;
  }
  .ly_topContent3 {
    padding-block: 96px;
    background-position: top 341px right -302px, bottom left;
    background-size: 840px auto, 100% calc(100% - 143px);
  }
  .ly_topContent3::before {
    top: -96px;
    right: -50px;
  }
  .ly_topContent3::after {
    bottom: -43px;
    left: -197px;
  }
  .ly_topContent3 > * {
    max-width: none;
  }
  .ly_topContent4 {
    padding-top: 40px;
    background-position: top 1077px right -230px, left bottom;
    background-size: 1444px 1232px, 100% calc(100% - 1280px);
  }
  .ly_topContent4::after {
    bottom: -96px;
    left: -177px;
  }
  .ly_topContent4 > * {
    max-width: none;
  }
  .ly_topContent4 > * + .tp_intro {
    margin-top: 80px;
    padding-inline: 30px;
  }
  .ly_topContent5 > * {
    max-width: none;
    padding-inline: 23px;
  }
  /* ----------------------------------------
  TopPage Block
  ---------------------------------------- */
  .tp_mainVisual_container {
    max-width: none;
  }
  .tp_mainVisual_track {
    height: 523px;
    border-radius: 15px 0 0 15px;
  }
  .tp_catch_txt {
    padding-bottom: 0;
    background: linear-gradient(to right, currentColor 4.5px, transparent 4.6px) repeat-x bottom left/9px 2px;
    background: none;
  }
  .tp_catch_txt + .tp_catch_txt {
    margin-top: 16px;
  }
  .tp_catch_txt2 {
    display: block;
    padding-bottom: 8px;
    background: linear-gradient(to right, currentColor 4.5px, transparent 4.6px) repeat-x bottom left/9px 2px;
  }
  .tp_catch_txt2 + .tp_catch_txt2 {
    margin-top: 16px;
  }
  .tp_hours_thead tr th {
    padding-inline: 0;
    padding-bottom: 8px;
    line-height: 1;
  }
  .tp_hours_tbody tr th {
    padding-inline: 0;
  }
  .tp_hours_tbody tr td {
    line-height: 1;
    letter-spacing: 0;
    padding-inline: 0;
  }
  .tp_news_list {
    max-height: 242px;
  }
  .tp_news_list li a {
    flex-wrap: wrap;
    padding-block: 12px;
  }
  .tp_news_catList {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .tp_news_txt {
    flex: auto;
    line-height: 1.4;
    width: 100%;
  }
  .tp_news_linkUnit {
    margin-top: 24px;
  }
  .tp_ttl.tp_ttl__center_pc {
    text-align: left;
  }
  .tp_ttl_sub.tp_ttl_sub__center_pc {
    justify-content: flex-start;
  }
  .tp_ttl_main {
    font-size: 2.8rem;
    margin-top: 12px;
  }
  .tp_ttl_main.tp_ttl_main__center_pc {
    text-indent: 0;
  }
  .tp_txtUnit.tp_txtUnit__center_pc {
    text-align: left;
  }
  .tp_btnUnit {
    justify-content: center;
  }
  .tp_btnUnit.tp_btnUnit__column {
    flex-direction: row;
  }
  .tp_about_imgUnit {
    top: -160px;
    right: -23px;
    width: 160px;
    height: 160px;
  }
  .tp_about_imgUnit::after {
    top: 88px;
    right: -96px;
  }
  .tp_view_box {
    width: 300px;
    height: 200px;
  }
  .tp_mediaUnit {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 40px;
  }
  .tp_mediaUnit_ttl {
    width: auto;
    margin-bottom: 0;
  }
  .tp_mediaUnit > .tp_media:nth-of-type(1),
  .tp_mediaUnit > .tp_media:nth-of-type(2) {
    width: auto;
    margin-top: 0;
  }
  .tp_mediaUnit > .tp_media:nth-of-type(3),
  .tp_mediaUnit > .tp_media:nth-of-type(4) {
    width: auto;
    padding-inline: 0;
    margin-top: 0;
  }
  .tp_media {
    display: block;
  }
  .tp_media_img {
    translate: none;
    width: 320px;
    margin-inline: auto;
    margin-bottom: -28px;
  }
  .tp_media_img.tp_media_img__01::before {
    bottom: auto;
    top: 152px;
    right: 21px;
    width: 54px;
    height: 67px;
  }
  .tp_media_img.tp_media_img__02::before {
    bottom: -5px;
    right: -24px;
    width: 95px;
    height: 62px;
  }
  .tp_media_img.tp_media_img__03::before {
    bottom: -24px;
    left: -10px;
  }
  .tp_media_img.tp_media_img__04::before {
    top: -5px;
    left: -11px;
  }
  .tp_media_box {
    flex: auto;
    padding: 52px 24px 32px;
  }
  .tp_media_ttl {
    gap: 15px;
  }
  .tp_media_num {
    padding-right: 15px;
    font-size: 4.8rem;
  }
  .tp_media_sub {
    font-size: 2.4rem;
  }
  .tp_media_btnUnit {
    justify-content: center;
  }
  .tp_media.tp_media__rev .tp_media_img {
    translate: none;
  }
  .tp_media.tp_media__rev .tp_media_box {
    padding: 52px 24px 32px;
    box-shadow: 24px 24px 24px 0px rgba(216, 160, 172, 0.0784313725);
  }
  .tp_media.tp_media__rev .tp_media_btnUnit {
    justify-content: center;
  }
  .tp_media.tp_media__col .tp_media_box {
    padding: 52px 24px 32px;
  }
  .tp_media.tp_media__col .tp_media_btnUnit {
    justify-content: center;
  }
  .tp_menu_container {
    display: block;
    min-height: auto;
    margin-top: 40px;
  }
  .tp_menu_imgUnit {
    width: auto;
    max-width: none;
    aspect-ratio: 320/160;
  }
  .tp_menu_content {
    padding: 16px 15px 32px;
  }
  .tp_menu_btn {
    flex-grow: 1;
  }
  .tp_menu_boxUnit {
    margin-top: 24px;
  }
  .tp_menu_list {
    display: block;
  }
  .tp_menu_list li {
    width: auto;
  }
  .tp_menu_list li a {
    gap: 12px;
    padding: 16px 0;
    padding-block: 14px;
  }
  .tp_maternity {
    display: block;
  }
  .tp_maternity_img {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }
  .tp_maternity_content {
    margin-top: 40px;
  }
  .tp_beauty_container {
    padding-top: 220px;
  }
  .tp_beauty_imgUnit2 {
    top: 0;
    right: -70px;
    width: 321px;
    height: 203px;
  }
  .tp_beauty_img.tp_beauty_img__2 {
    width: 140px;
  }
  .tp_beauty_img.tp_beauty_img__3 {
    width: 160px;
  }
  .tp_beauty_imgUnit2::after {
    top: 0;
    right: 109px;
    width: 121px;
    height: 160px;
  }
  .tp_beauty_content {
    max-width: none;
  }
  .tp_message_container {
    padding: 486px 0 0;
  }
  .tp_message_imgUnit {
    left: 50%;
    width: 358px;
    height: 446px;
    translate: -50% 0;
  }
  .tp_message_imgUnit::before {
    top: 95px;
    right: 21px;
    width: 94px;
    height: 116px;
  }
  .tp_message_imgUnit::after {
    top: 263px;
    left: 90px;
    width: 61px;
    height: 76px;
  }
  .tp_message_img.tp_message_img__1 {
    left: 106px;
    width: 162px;
  }
  .tp_message_img.tp_message_img__2 {
    top: 113px;
    width: 162px;
  }
  .tp_message_img.tp_message_img__3 {
    width: 219px;
  }
  .tp_intro_container {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0;
    max-width: none;
  }
  .tp_intro_box {
    flex: auto;
    padding: 52px 24px 32px;
    margin-left: 0;
  }
  .tp_intro_img {
    position: relative;
    z-index: 2;
    width: 300px;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: -28px;
    translate: none;
  }
  .tp_banner_box {
    padding: 24px 16px;
    margin-top: 40px;
  }
  .tp_banner_list {
    gap: 16px;
  }
  .tp_info {
    display: block;
  }
  .tp_info_left {
    padding-inline: 16px;
  }
  .tp_info_right {
    width: auto;
    margin-top: 32px;
  }
  .tp_info_hours {
    padding: 16px;
  }
  .tp_about_bannerList {
    justify-content: center;
    gap: 10px;
    margin-top: 32px;
  }
  .tp_about_bannerList li {
    width: 331px;
  }
  .tp_about_bannerList li img {
    width: 100%;
    height: auto;
  }
}
.is_js .js_fadeUp {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}

.is_js .js_fadeUp.is_onView {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .is_js .js_fadeUp {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.tp_opening {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: #fff;
  opacity: 1;
  pointer-events: none;
}

.tp_opening.is_hide {
  opacity: 0;
  transition: opacity 0.9s ease;
}

.tp_catch.is_opening {
  z-index: 2001;
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
  .tp_opening {
    display: none;
  }
}

/*# sourceMappingURL=top.css.map */
