@charset "UTF-8";
/* 読み込み */
/* color */
/* font-size */
/*14px*/
/*16px*/
/*20px*/
/*24px*/
/*32px*/
/*40px*/
/*48px*/
/* 読み込み */
/* ブレイクポイント */
/*foundation */
html {
  font-size: 100%;
  scrollbar-gutter: stable;
}

body {
  color: #404040;
  font-size: 1rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.1em;
  overflow-x: hidden;
}

a {
  color: #404040;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

li {
  list-style: none;
}

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  color: inherit; /* ← これ重要 */
  font: inherit;
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

.lp-wrapper {
  height: 100%;
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;
}

.lp-container {
  max-width: 440px;
  margin: 0 auto;
}

/* 基本設定（変数、リセットCSSなど） */
/* =====================
    読み込み
===================== */
/* =====================
    共通
===================== */
.l-header {
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
}

.l-header--lower {
  width: 101%;
  max-width: 442px;
  left: 50%;
  transform: translateX(-50%);
  position: fixed;
  top: 0;
  z-index: 1000;
}

.l-header__logo {
  width: 53%;
  position: relative;
}

.l-header-space {
  display: block;
  height: 26.1363636364vw;
  max-height: 123px;
}

.l-header__inner {
  display: flex;
  justify-content: space-between;
  padding: 3% 5% 0 5%;
}

.l-header__wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100.2%;
  display: block;
  z-index: -1;
}

.l-footer {
  position: relative;
}

.l-footer__top-content {
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.l-footer__lower-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* =====================
    トップページ
===================== */
.l-mv__img {
  margin-bottom: 3.5rem;
}

.l-mv__title {
  text-align: center;
}

.l-mv__page-photo-link {
  margin-bottom: 4rem;
}

.l-concept {
  position: relative;
  padding-bottom: 5.5rem;
}

.l-effect {
  margin-top: 60px;
}

/* =====================
    プロフィールページ
===================== */
.l-about-page__main {
  width: 100%;
  position: relative;
}

.l-about-page__reason {
  position: relative;
  line-height: 2;
}

.l-works {
  position: relative;
}

.l-monitors-voice {
  margin-bottom: 72px;
}

.l-reservation {
  margin-bottom: 52px;
}

/* =====================
    よくある質問ページ
===================== */
.l-faq {
  padding: 0 28px 0 32px;
  margin-bottom: 56px;
}

/* =====================
    おくるみタッチケアページ
===================== */
.l-touch-care-page__main {
  width: 100%;
  margin-bottom: 48px;
}

.l-touchcare-learn {
  position: relative;
  padding: 0 16px 0 11%;
  margin-top: 56px;
}

.l-touch-care__picture {
  position: relative;
  padding-top: 74px;
  padding-bottom: 98px;
}

.l-menu {
  margin-bottom: 44px;
}

/* =====================
    ベビーマッサージページ
===================== */
.l-baby-massage-page__main {
  position: relative;
  margin-bottom: 40px;
}

/* =====================
    出張レッスンページ
===================== */
.l-in-home-lesson-page {
  position: relative;
}

/* ヘッダー、フッターなどの共通レイアウト*/
/* 読み込み */
.c-shadow {
  box-shadow: 1px 1px 20px rgba(62, 62, 61, 0.05);
}

.c-text-xxs {
  font-size: 0.625rem;
}

.c-text-xs {
  font-size: 0.875rem;
}

.c-text-s {
  font-size: 0.9375rem;
}

.c-text-m {
  font-size: 1rem;
}

.c-accent-text {
  font-size: 1.31rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.c-sec-title {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.15em;
}

.c-marker {
  position: relative;
  display: inline-block;
}

.c-marker::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.1em;
  /* 文字との距離 */
  width: 100%;
  height: 6px;
  /* マーカーの太さ */
  background: #e1efec;
  z-index: -1;
}

.c-voice-marker {
  background-color: #fff;
  padding: 0 2px;
}

.c-text-container {
  padding: 0 24px 0 11%;
}

.c-wave-img {
  padding: 0 2rem;
}

.c-bubble--img {
  width: 61px;
  position: absolute;
}
.c-bubble--img.concept {
  top: 8px;
  left: -24px;
}
.c-bubble--img.effect {
  top: 84px;
  left: -18px;
}
.c-bubble--img.empathy {
  top: 32px;
  left: 24px;
}
.c-bubble--img.monitors-voice {
  top: 16px;
  left: 32px;
}
.c-bubble--img.faq {
  top: 12px;
  left: 42px;
}
.c-bubble--img.touch-care {
  top: 60px;
  left: 32px;
}
.c-bubble--img.baby-massage {
  top: 32px;
  left: 32px;
}

.c-nomama {
  display: inline-block;
  width: 180px;
}

.c-sns {
  display: flex;
  justify-content: center;
  gap: 100px;
}

.c-sns-link {
  width: 60px;
}

.c-btn {
  width: 100%;
  display: block;
  color: #fff;
  text-align: center;
  padding: 1rem 0;
}

.c-mail {
  width: 32px;
}

.c-check__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.c-check__list--item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.c-check-img {
  width: 20px;
  padding-top: 3px;
}

.c-menu {
  margin: 0 35px 0 39px;
}

.c-menu__flex {
  display: flex;
  align-items: center;
}

.c-menu__title {
  border: 2px solid #8dc2b7;
  border-radius: 16px;
  background-color: #fff;
  position: relative;
  z-index: 2;
  margin-top: 24px;
  padding: 17px 18px 15px 17px;
}
.c-menu__title.photo {
  border: 2px solid #e8ded2;
}

.c-menu__bottom {
  border: 2px solid #8dc2b7;
  border-radius: 16px;
  background-color: rgba(141, 194, 183, 0.12);
  position: relative;
  z-index: 1;
  margin-top: -32px;
  padding: 56px 16px 24px 18px;
}
.c-menu__bottom.photo {
  border: 2px solid #e8ded2;
  background-color: rgb(255, 251, 250);
}

.c-menu__content {
  border-bottom: 2px solid #8dc2b7;
  padding-bottom: 18px;
}
.c-menu__content.bottom {
  border-bottom: none;
  padding-bottom: 0;
}
.c-menu__content.bottom.photo {
  border-bottom: 2px solid #e8ded2;
}
.c-menu__content.photo {
  border-bottom: 2px solid #e8ded2;
}

.c-menu__list {
  display: flex;
  flex-direction: column;
  padding-left: 1em;
  line-height: 1.5;
}
.c-menu__list li {
  list-style: disc;
}
.c-menu__list li::marker {
  font-size: 0.5em;
}

.c-menu__grid-list {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 6px 12px;
  padding-left: 1em;
  line-height: 1;
  letter-spacing: 0.05em;
}
.c-menu__grid-list li {
  list-style: disc;
}
.c-menu__grid-list li::marker {
  font-size: 0.5em;
}
.c-menu__grid-list li.is-empty {
  visibility: hidden;
  list-style: none;
}

.c-price {
  display: flex;
  align-items: flex-end;
  gap: 0.25rem;
}

.c-tax {
  font-size: 0.75rem;
  letter-spacing: 1;
  margin-bottom: 0.25rem;
}

.c-menu__price {
  font-size: 1.5rem;
  letter-spacing: 0.2em;
}

.c-menu__text {
  font-size: 0.75rem;
}

.c-menu__time {
  display: flex;
  align-items: flex-start;
}

.c-menu__time--img {
  width: 21px;
}

.c-menu__belongings {
  display: flex;
  align-items: flex-start;
}

.c-menu__belongings--img {
  width: 22px;
}

/* フェードイン */
.c-fade-blur {
  opacity: 0;
  filter: blur(10px);
  transform: translateY(6px);
  transition: opacity 0.5s ease-out, filter 0.5s ease-out, transform 0.5s ease-out;
}

/* 表示状態 */
.c-fade-blur.is-show {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

/* パーツ（ボタン、カードなど） */
/* =====================
    読み込み
===================== */
/* =====================
    共通
===================== */
.p-hamburger {
  position: relative;
  width: 35px;
  height: 35px;
  cursor: pointer;
  z-index: 10000;
  margin-top: 8px;
  margin-left: auto;
}
.p-hamburger.lower {
  margin-top: 8px;
}

.p-hamburger__line {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  transition: ease 0.3s;
  background-color: #fff;
  transform-origin: center;
}
.p-hamburger__line:nth-child(1) {
  top: 0;
}
.p-hamburger__line:nth-child(2) {
  top: 9px;
}
.p-hamburger__line:nth-child(3) {
  top: 18px;
}
.p-hamburger__line.lower {
  background-color: #404040;
}

.p-hamburger__menu {
  color: #fff;
  font-size: 0.625rem;
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
}
.p-hamburger__menu.lower {
  color: #404040;
}

.p-hamburger__line.is-dark,
.p-hamburger__menu.is-dark {
  color: #fff;
}

.is-open.p-hamburger .p-hamburger__line:nth-child(1) {
  background-color: #404040;
  transform: translateY(19px) rotate(45deg);
}

.is-open.p-hamburger .p-hamburger__line:nth-child(2) {
  background-color: #404040;
  transform: translateY(10px) rotate(-45deg);
}

.is-open.p-hamburger .p-hamburger__line:nth-child(3) {
  opacity: 0;
}

.is-open.p-hamburger .p-hamburger__menu {
  opacity: 0;
}

.p-hamburger.is-dark .p-hamburger__line {
  background-color: #404040;
}

.p-hamburger.is-dark .p-hamburger__menu {
  color: #404040;
}

/* header-nav */
.p-nav {
  width: 100%;
  height: 100dvh;
  max-width: 440px;
  position: fixed;
  backdrop-filter: blur(3px);
  /* ぼかし */
  -webkit-backdrop-filter: blur(3px);
  inset: 0;
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  pointer-events: auto;
  transition: all 0.4s ease;
  margin: 0 auto;
}
.p-nav.is-open {
  opacity: 1;
  pointer-events: auto;
  overflow: hidden;
  touch-action: none;
  visibility: visible;
}

.p-nav__logo {
  height: 35%;
  background-image: url(../img/nav.png);
  background-position: top;
  background-size: cover;
  position: absolute;
  z-index: 3000;
  bottom: 0;
  padding-top: 4rem;
}

.p-nav__content {
  width: 57%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.8);
  position: relative;
  z-index: 2500;
  margin-left: auto;
  padding: 3.5rem 0 0 1rem;
}

.p-nav__menu {
  font-size: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.p-nav__sub-menu {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

.p-nav__has-arrow {
  position: relative;
  padding-left: 1em;
  /* アイコン分の余白 */
}

.p-nav__has-arrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #404040;
  border-left: 1px solid #404040;
  position: absolute;
  left: 0;
  top: 50%;
  transform-origin: center;
  margin-top: -2px;
}

.is-scroll-lock {
  overflow: hidden;
}

.p-footer__mail {
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-footer__contact {
  font-size: 10px;
  text-align: center;
}

/* =====================
    トップページ
===================== */
.p-mv__title--text {
  display: inline-block;
  font-size: 1.31rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
}

.p-mv__logo {
  width: 80%;
  margin: 0 2.5rem 3rem 2.5rem;
}

.p-mv-btn {
  width: 100%;
  text-align: center;
  padding: 1.5rem;
  background-color: #f2ebe9;
  border-radius: 50px;
}

.p-concept__title {
  position: relative;
  margin-bottom: 5.5rem;
  margin-left: 1rem;
}

.p-concept__title--text {
  font-size: 1.5rem;
  font-weight: 500;
}

.p-top-shape01 {
  width: 84px;
  position: absolute;
  top: 106px;
  right: 0;
  z-index: -1;
}

.p-top-shape02 {
  width: 54px;
  position: absolute;
  top: 188px;
  right: 0;
  z-index: -1;
}

.p-top-shape03 {
  width: 105px;
  position: absolute;
  bottom: 10px;
  left: 0;
  z-index: -1;
}

.p-top-shape04 {
  width: 46px;
  position: absolute;
  bottom: 31px;
  right: 0;
  z-index: -1;
}

.p-effect__accent {
  position: relative;
  margin-bottom: 6rem;
}

.p-effect__marker {
  position: relative;
  display: inline-block;
  padding-right: 4px;
}

.p-effect__marker::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.1em;
  /* 文字との距離 */
  width: 100%;
  height: 19px;
  /* マーカーの太さ */
  z-index: -1;
}

.p-effect__marker.green::after {
  background: #e1efec;
}

.p-effect__marker.red::after {
  background: #ffebe7;
}

.p-effect__fukidashi {
  width: 222px;
  height: 52px;
  position: relative;
  margin-left: 42px;
}

.p-effect__fukidashi--img {
  width: 222px;
  position: absolute;
  inset: 0;
}

.p-effect__fukidashi--text {
  text-align: center;
  padding-top: 0.5rem;
}

/* =====================
    プロフィールページ
===================== */
.p-about__main {
  position: absolute;
  bottom: 40px;
  right: 18px;
}

.p-about__name {
  display: inline-flex;
  background-color: #fff;
  line-height: 1;
}
.p-about__name.ja {
  justify-content: space-around;
  gap: 2rem;
  padding-right: 4px;
  padding-bottom: 4px;
  padding-left: 2px;
  margin-bottom: 10px;
}
.p-about__name.en {
  justify-content: space-around;
  gap: 20px;
  padding-right: 3px;
  padding-bottom: 4px;
  padding-left: 2px;
  margin-bottom: 10px;
}
.p-about__name.place {
  margin-bottom: 2px;
}

.p-about-page__container {
  padding: 88px 16px 0 10%;
}

.p-about-shape01 {
  width: 136px;
  position: absolute;
  top: 4px;
  right: 0;
  z-index: -1;
}

.p-about-shape02 {
  width: 106px;
  position: absolute;
  top: 80px;
  right: 10px;
  z-index: -1;
}

.p-about-shape03 {
  width: 106px;
  position: absolute;
  top: 216px;
  left: 0;
  z-index: -1;
}

.p-about-shape04 {
  width: 179px;
  position: absolute;
  top: 276px;
  left: 0;
  z-index: -1;
}

.p-about-shape05 {
  width: 62px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}

.p-works__accent {
  padding: 0 28px 0 52px;
  margin-bottom: 56px;
}

.p-works-fukdiashi--img {
  width: 26px;
  position: absolute;
}
.p-works-fukdiashi--img.left {
  top: 36px;
  left: 26px;
}
.p-works-fukdiashi--img.right {
  display: block;
  top: -14px;
  right: 18px;
}

.p-works__container {
  padding: 0 0 0 13%;
}

.p-works-imgs {
  height: 616px;
  position: relative;
}

.p-works-img01 {
  width: 57%;
}

.p-works-img02 {
  width: 62%;
  position: absolute;
  top: 240px;
  right: 0;
}

.p-about-shape07 {
  width: 43px;
  position: absolute;
  top: -14px;
  right: 0;
  z-index: -1;
}

.p-about-shape08 {
  width: 24px;
  position: absolute;
  top: 117px;
  left: 0;
  z-index: -1;
}

.p-about-shape09 {
  width: 110px;
  position: absolute;
  top: 262px;
  right: 0;
  z-index: -1;
}

.p-about-shape10 {
  width: 54px;
  position: absolute;
  top: 336px;
  right: 0;
  z-index: -1;
}

.p-about-shape11 {
  width: 126px;
  position: absolute;
  bottom: 56px;
  left: 0;
  z-index: -1;
}

.p-about-shape12 {
  width: 59px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.p-empathy__accent {
  position: relative;
  padding: 0 40px 0 52px;
  margin-bottom: 64px;
}

.p-empathy__container {
  padding: 0 16px 0 13%;
}

.p-conclusion {
  position: relative;
  margin: 0 10% 35px 80px;
}

.p-conclusion__round {
  width: 70px;
}

.p-conclusion__title {
  font-size: 20px;
  position: absolute;
  top: 20px;
  left: 14px;
}

.p-conclusion__text {
  font-size: 20px;
  position: absolute;
  top: 20px;
  left: 37%;
}

.p-conclusion__fukidashi {
  width: 25px;
  position: absolute;
  left: 90px;
}
.p-conclusion__fukidashi.top {
  top: 0;
}
.p-conclusion__fukidashi.bottom {
  top: 50px;
}

.p-worries {
  letter-spacing: 0.09em;
  padding: 0 32px 54px 11%;
}

.p-worries__text {
  width: 100%;
}

.p-worries__text--right {
  display: block;
  width: 100%;
  text-align: right;
}

.swiper {
  overflow: hidden;
}

.p-swiper .swiper-slide {
  width: 55%;
  height: auto;
  display: flex;
  flex-direction: column;
  border-radius: 32px;
  margin-bottom: 40px;
}

.p-monitors-voice__accent {
  position: relative;
  padding: 0 40px 0 62px;
  margin-bottom: 96px;
}

.p-monitors-voice__list--item {
  width: 100%;
  color: #666666;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  display: flex;
  flex-direction: column;
  gap: 21px;
  background-color: #e1efec;
  padding: 30px 16px 20px 16px;
}

.p-monitors-voice__name {
  margin-top: auto;
}

.p-swiper-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.p-swiper-dots .swiper-pagination-bullet {
  width: 13px;
  height: 13px;
  border: 2px solid #8dc2b7;
  border-radius: 50%;
  background: #fff;
  padding: 0;
  opacity: 1;
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.p-swiper-dots .swiper-pagination-bullet-active {
  background: #8dc2b7;
}

.p-reservation__container {
  padding: 0 50px 0 40px;
}

.p-reservation__line {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e1efec;
  border-radius: 20px;
  padding: 14px 2% 14px 4%;
  margin: 0 3%;
}
.p-reservation__line.photo {
  background-color: #f2ebe9;
}

.p-reservation__line--img {
  width: 64px;
  margin-right: 14px;
}

.p-reservation__line--id {
  letter-spacing: 0.25em;
  text-decoration: underline;
  margin-right: 12px;
}

.p-reservation__line-link {
  background-color: #06C755;
  display: flex;
  align-items: center;
  gap: 2px;
  border-radius: 2px;
  padding: 8px 10px;
}

.p-reservation__line-link--icon {
  width: 19px;
}

.p-reservation__line-link--text {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.05em;
}

/* =====================
    よくある質問ページ
===================== */
.p-faq__accent {
  position: relative;
  padding: 0 28px 0 72px;
  margin-top: 56px;
  margin-bottom: 5rem;
}

.p-faq__title {
  display: flex;
  align-items: center;
  border-bottom: 3px solid #aad1ca;
  padding-bottom: 12px;
}

.p-faq__title--img {
  width: 45px;
}

.p-faq__title--text {
  margin-left: -1em;
}

.p-faq__item {
  border-bottom: 3px solid #aad1ca;
  padding: 10px 4px;
}

.p-faq__btn {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.p-faq__btn span {
  display: block;
  text-align: left;
  letter-spacing: 0.01em;
  line-height: 1.6;
}

.p-faq__arrow {
  width: 12px;
  transition: transform 0.4s ease;
}

.p-faq__answer {
  overflow: hidden;
  display: block;
  line-height: 1.7;
  text-align: left;
  max-height: 0;
  transition: padding-top 0.3s ease, max-height 0.4s ease;
  padding-right: 16px;
}

.p-faq__answer * {
  text-align: left;
}

.p-faq__item.is-open .p-faq__arrow {
  transform: rotate(-180deg);
}

.p-faq__item.is-open .p-faq__answer {
  padding-top: 16px;
}

.p-touch-care__accent {
  position: relative;
  padding: 0 16px 0 54px;
  margin-bottom: 92px;
}

.p-touch-care-worries {
  position: relative;
  letter-spacing: 0.09em;
  padding: 0 32px 48px 10%;
}

.p-touch-care-shape01 {
  width: 54px;
  position: absolute;
  top: -145px;
  right: 0;
  z-index: -1;
}

.p-touch-care-shape02 {
  width: 93px;
  position: absolute;
  top: -92px;
  right: 0;
  z-index: -1;
}

.p-touch-care-shape03 {
  width: 105px;
  position: absolute;
  bottom: 17px;
  left: 0;
  z-index: -1;
}

.p-touchcare-learn__title {
  position: relative;
  z-index: 2;
  margin-bottom: 28px;
}

.p-touchcare-learn__list {
  line-height: 1.8;
  padding-left: 1em;
}
.p-touchcare-learn__list li {
  list-style: disc;
}
.p-touchcare-learn__list li::marker {
  font-size: 0.5em;
}

.p-touch-care-shape04 {
  width: 94px;
  position: absolute;
  top: -96px;
  right: 0;
  z-index: 1;
}

.p-touch-care-shape05 {
  width: 66px;
  position: absolute;
  top: 75px;
  right: 0;
  z-index: -1;
}

.p-touch-care__picture--message01 {
  width: 51%;
  height: 210px;
  background-image: url(../img/touch-care07.png);
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 122px;
  right: 0;
  padding-top: 38px;
}

.p-touch-care__picture--img01 {
  width: 51%;
}

.p-touch-care__picture--text01 {
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  line-height: 2.3;
  padding-left: 42px;
}

.p-touch-care__picture--message02 {
  width: 49%;
  height: 169px;
  background-image: url(../img/touch-care08.png);
  background-size: contain;
  background-position: center;
  margin: 63px 0 0 12px;
  margin-top: 63px;
  margin-left: 12px;
  padding: 46px 0 0 16px;
}

.p-touch-care__picture--text02 {
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  line-height: 2.3;
}
.p-touch-care__picture--text02 span {
  display: block;
}
.p-touch-care__picture--text02 span:nth-child(1) {
  margin-left: 12px;
}
.p-touch-care__picture--text02 span:nth-child(2) {
  margin-left: 43px;
}

.p-touch-care__picture--img02 {
  width: 48%;
  position: absolute;
  top: 356px;
  right: 0;
}

.p-touch-care-shape06 {
  width: 129px;
  position: absolute;
  top: 44px;
  left: 86px;
  z-index: -1;
}

.p-touch-care-shape09 {
  width: 145px;
  position: absolute;
  bottom: 28px;
  right: 19px;
  z-index: -1;
}

/* =====================
    ベビーマッサージページ
===================== */
.p-baby-massage__accent {
  position: relative;
  padding: 0 16px 0 54px;
  margin-bottom: 92px;
}

.p-baby-shape01 {
  width: 56px;
  position: absolute;
  top: -6px;
  right: 0;
  z-index: -1;
}

.p-baby-shape02 {
  width: 93px;
  position: absolute;
  top: 49px;
  right: 0;
  z-index: -1;
}

.p-baby-shape03 {
  width: 103px;
  position: absolute;
  bottom: 84px;
  left: 0;
  z-index: -1;
}

.p-menu__list {
  padding-left: 1.5em;
}
.p-menu__list li::marker {
  content: "♦︎ ";
  font-size: 1em;
}

.p-baby-massage-class__text span {
  display: block;
  letter-spacing: 0.01em;
}
.p-baby-massage-class__text span:nth-child(1) {
  padding-left: 0.3em;
}
.p-baby-massage-class__text span:nth-child(2) {
  padding-left: 0.6em;
}

.p-baby-massage-class__bottom--imgs {
  position: relative;
}

.p-baby-massage-class__bottom--text01 {
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  line-height: 2.3;
  position: absolute;
  top: 11%;
  left: 8%;
}

.p-baby-massage-class__bottom--text02 {
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  line-height: 2.3;
  position: absolute;
  top: 10%;
  right: 8%;
}

/* =====================
    出張レッスンページ
===================== */
.p-in-home-lesson-page__title {
  padding: 0 50px 0 40px;
}

.p-in-home-lesson__container {
  padding: 0 16px 0 13%;
}

.p-in-home-lesson__text span {
  padding-left: 1em;
}

.p-in-home-lesson__fukidashi {
  position: relative;
  padding: 0 8%;
  margin-bottom: 56px;
  overflow: hidden;
}

.p-in-home-lesson__fukidashi--content {
  width: 100%;
  position: absolute;
  top: 37%;
  left: 13%;
}

.p-in-home-lesson__fukidashi--img {
  height: auto;
}

.p-in-home-lesson__fukidashi--bag {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  margin-bottom: 4px;
}

.p-in-home-lesson__fukidashi--bag-img {
  width: 5%;
}

.p-in-home-lesson__fukidashi--belongings {
  font-size: 16px;
}

.p-lesson-shape01 {
  width: 52px;
  position: absolute;
  top: -78px;
  right: 0;
  z-index: -1;
}

.p-lesson-shape02 {
  width: 97px;
  position: absolute;
  top: -40px;
  right: 0;
  z-index: -1;
}

/* =====================
    フォト撮影ページ
===================== */
.p-photo__info {
  line-height: 1.8;
  padding: 0 16px 0 12%;
}
.p-photo__info li {
  list-style: disc !important;
}
.p-photo__info li::marker {
  color: #e8ded2;
}

.p-photo__container {
  padding: 0 16px 0 10%;
}

.p-photo__info--title {
  display: inline-block;
  font-size: 0.9375rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* =====================
    カルーセル
===================== */
.p-scroll-slider {
  overflow: hidden;
  width: 100%;
}
.p-scroll-slider.home-class {
  margin-bottom: 48px;
}
@media (min-width: 1200px) {
  .p-scroll-slider.home-class {
    margin-bottom: 120px;
  }
}

.p-scroll-slider__truck {
  display: flex;
  align-items: flex-start;
  width: -moz-max-content;
  width: max-content;
  animation: scroll 40s linear infinite;
  height: 275px;
}
.p-scroll-slider__truck img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-scroll-slider__item {
  flex: 0 0 auto;
  height: auto;
  margin-right: 1rem;
  overflow: hidden;
}

.is-vertical {
  aspect-ratio: 2/3;
  height: 275px;
}

.is-horizontal {
  aspect-ratio: 3/2;
  width: 275px;
  height: auto;
}
.is-horizontal.top {
  align-self: flex-start;
}
.is-horizontal.bottom {
  align-self: flex-end;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
/*各ページ独自のモジュール（例：トップページの特集など） */
/* 読み込み */
.u-ml-8 {
  margin-left: 0.5rem;
}

.u-mr-8 {
  margin-right: 0.5rem;
}

.u-mb-8 {
  margin-bottom: 0.5rem;
}

.u-mb-16 {
  margin-bottom: 1rem;
}

.u-mb-24 {
  margin-bottom: 1.5rem;
}

.u-mb-28 {
  margin-bottom: 1.75rem;
}

.u-mb-32 {
  margin-bottom: 2rem;
}

.u-mb-40 {
  margin-bottom: 2.5rem;
}

.u-mb-48 {
  margin-bottom: 3rem;
}

.u-mb-64 {
  margin-bottom: 4rem;
}

.u-mb-72 {
  margin-bottom: 4.5rem;
}

.u-fw-medium {
  font-weight: 500;
}

.u-fw-bold {
  font-weight: 600;
}

.u-radius {
  border-radius: 16px;
}

/*1プロパティだけのユーティリティ（margin調整など）*//*# sourceMappingURL=style.css.map */