@charset "UTF-8";
/* 読み込み */
/* color */
/* 読み込み */
/* ブレイクポイント */
/*foundation */
html {
  font-size: 100%;
}

body {
  color: #4A4A4A;
  font-size: 1rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.08em;
  overflow-x: hidden;
  background-color: #FFFBF5;
}

a {
  color: #4A4A4A;
  text-decoration: none;
}

img {
  max-width: 100%;
}

li {
  list-style: none;
}

picture img {
  display: block;
  width: 100%;
  height: 100%;
}

@media (min-width: 767px) {
  .is-sp {
    display: none;
  }
}

.is-pc {
  display: none;
}
@media (min-width: 767px) {
  .is-pc {
    display: block;
  }
}

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

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

body.is-fixed {
  overflow: hidden;
}

iframe {
  display: block;
  width: 100%;
  height: 400px;
  border: 0;
}

#kids-support,
#concept,
#greeting,
#business,
#company {
  scroll-margin-top: 40px;
}
@media (min-width: 1200px) {
  #kids-support,
  #concept,
  #greeting,
  #business,
  #company {
    scroll-margin-top: 80px;
  }
}

#kids-support {
  scroll-margin-top: 96px;
}
@media (min-width: 1200px) {
  #kids-support {
    scroll-margin-top: 160px;
  }
}

/* 基本設定（変数、リセットCSSなど） */
/* =====================
    読み込み
===================== */
/* =====================
    共通
===================== */
.l-header {
  position: fixed;
  width: 100%;
  height: 81px;
  padding: 1rem;
  z-index: 10002;
  background-color: #FFFFFC;
}
@media (min-width: 767px) {
  .l-header {
    padding: 1rem 2.5rem;
  }
}
@media (min-width: 1200px) {
  .l-header {
    width: 100%;
    padding: 1.5rem 2rem;
    height: 131px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.l-header__space {
  height: 81px;
}
@media (min-width: 767px) {
  .l-header__space {
    height: 73px;
  }
}
@media (min-width: 1200px) {
  .l-header__space {
    height: 131px;
  }
}

.l-footer__wrapper {
  padding: 2.5rem 2.5rem;
}
@media (min-width: 1200px) {
  .l-footer__wrapper {
    padding: 0 12% 7.5rem 12%;
  }
}

.l-footer__top {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1200px) {
  .l-footer__top {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 2.5rem;
  }
}

.l-footer__nav {
  display: flex;
  flex-direction: column;
  padding-top: 2rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .l-footer__nav {
    flex-direction: row;
    gap: 1rem;
    padding: 0;
  }
}

.l-nav-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .l-nav-group {
    margin-bottom: 0;
  }
}

.l-nav-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.l-nav-middle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 8rem;
}

.l-footer__company {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

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

.l-footer__links {
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
  margin-bottom: 3rem;
}

.l-footer__bottom {
  display: flex;
  flex-direction: column-reverse;
  gap: 2.5rem;
  margin-bottom: 4rem;
}
@media (min-width: 767px) {
  .l-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 4rem;
  }
}
@media (min-width: 1200px) {
  .l-footer__bottom {
    margin: 0;
  }
}

.l-sub-menu {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2.5rem;
  font-size: 0.625rem;
}
@media (min-width: 1200px) {
  .l-sub-menu {
    justify-content: flex-end;
    margin: 0;
  }
}

.l-footer__copy-right {
  height: 80px;
  display: flex;
  align-items: center;
  background-color: #F3EDE4;
  position: relative;
  padding: 0 2rem;
}
@media (min-width: 767px) {
  .l-footer__copy-right {
    padding: 0 4rem;
  }
}
@media (min-width: 1200px) {
  .l-footer__copy-right {
    height: 160px;
    padding: 0 12%;
  }
}

.l-wrapper {
  padding: 2.5rem 2rem;
}
@media (min-width: 767px) {
  .l-wrapper {
    padding: 3rem 4rem;
  }
}
@media (min-width: 1200px) {
  .l-wrapper {
    max-width: 2000px;
    margin-inline: auto;
    padding: 5rem 12%;
  }
}

.l-wrapper-tb {
  padding: 2.5rem 0;
}
@media (min-width: 767px) {
  .l-wrapper-tb {
    padding: 3rem 0;
  }
}
@media (min-width: 1200px) {
  .l-wrapper-tb {
    padding: 5rem 0;
  }
}

.l-wrapper-rl {
  padding: 0 2rem;
}
@media (min-width: 767px) {
  .l-wrapper-rl {
    padding: 0 4rem;
  }
}
@media (min-width: 1200px) {
  .l-wrapper-rl {
    padding: 0 12%;
  }
}

/* =====================
    TOPページ
===================== */
.l-mv {
  padding-bottom: 2.5rem;
}
@media (min-width: 1200px) {
  .l-mv {
    padding-bottom: 5rem;
  }
}

.l-mv__flex {
  display: flex;
  flex-direction: column;
  padding: 100px 1.5rem 3.5rem 1.5rem;
}
@media (min-width: 767px) {
  .l-mv__flex {
    padding: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .l-mv__flex {
    flex-direction: row;
    justify-content: center;
    gap: 1.5rem;
    padding: 0;
    margin-bottom: 5rem;
  }
}

.l-mv__main-copy {
  position: relative;
  margin-top: 14%;
}

.l-about {
  background-image: url(../img/suisai-bg-sp.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 1200px) {
  .l-about {
    background-image: url(../img/suisai-bg.png);
  }
}

.l-about__title {
  margin-bottom: 2rem;
}
@media (min-width: 1200px) {
  .l-about__title {
    margin-bottom: 2.5rem;
  }
}

.l-about__text {
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .l-about__text {
    margin-bottom: 2rem;
  }
}

.l-about__btn {
  margin-bottom: 1rem;
}
@media (min-width: 1200px) {
  .l-about__btn {
    margin-bottom: 2rem;
  }
}

.l-about__img {
  width: 100%;
}
@media (min-width: 1200px) {
  .l-about__img {
    width: 665px;
    margin: 0 auto;
  }
}

.l-service {
  background-color: #FFFFFC;
}

.l-service__title {
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .l-service__title {
    margin-bottom: 2rem;
  }
}

.l-service__flex {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 2rem;
  position: relative;
  z-index: 10;
  margin-bottom: 95px;
}
@media (min-width: 767px) {
  .l-service__flex {
    flex-direction: row;
    justify-content: center;
    gap: 7%;
    margin-bottom: 0;
  }
}
@media (min-width: 767px) {
  .l-service__flex.reverse {
    flex-direction: row-reverse;
  }
}
.l-service__flex:last-child {
  margin-bottom: 0;
}

.l-contact,
.l-page-service-concept {
  background-image: url(../img/suisai-bg-sp.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 767px) {
  .l-contact,
  .l-page-service-concept {
    background-image: url(../img/suisai-bg.png);
  }
}

.l-contact__title {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto 2rem;
}
@media (min-width: 1200px) {
  .l-contact__title {
    margin-bottom: 4.5rem;
  }
}

.l-contact__main {
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .l-contact__main {
    margin-bottom: 2.5rem;
  }
}

.l-contact__main--text {
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .l-contact__main--text {
    margin-bottom: 2.5rem;
  }
}

.l-contact__main--btn {
  text-align: center;
}

.l-contact__sub {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
}
@media (min-width: 767px) {
  .l-contact__sub {
    flex-direction: row;
    align-items: stretch;
    gap: 2.5rem;
  }
}

.l-contact__sub--contact {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 767px) {
  .l-contact__sub--contact {
    flex: 1;
    margin: 0;
  }
}

.l-contact__tell {
  margin-bottom: 1.5rem;
}
@media (min-width: 767px) {
  .l-contact__tell {
    margin-bottom: 2rem;
  }
}

/* =====================
    下層共通
===================== */
.l-page-top__wrapper {
  padding: 4.5rem 2.5rem 2.5rem 2rem;
}
@media (min-width: 767px) {
  .l-page-top__wrapper {
    padding: 5rem 4rem 3rem 4rem;
  }
}
@media (min-width: 1200px) {
  .l-page-top__wrapper {
    padding: 10rem 12% 5rem 12%;
  }
}

.l-lower-title {
  position: relative;
}

@media (min-width: 1200px) {
  .l-text-content {
    max-width: 840px;
    margin: 0 auto;
  }
}

.l-greeting,
.l-business,
.l-company,
.l-kirari-heart-profile,
.l-home-list {
  background-color: #FFFFFC;
}

.l-gh-kirari-feature,
.l-schedule,
.l-home-information,
.l-ghkirari-service {
  background-color: #F4FFF3;
}

.l-activity,
.l-event,
.l-kirari-heart-service {
  background-color: #FFFAEC;
}

.l-gh-top__wrapper {
  padding: 2.5rem 2rem;
  position: relative;
}
@media (min-width: 767px) {
  .l-gh-top__wrapper {
    padding: 3rem 4rem;
  }
}
@media (min-width: 1200px) {
  .l-gh-top__wrapper {
    padding: 5rem 12% 1rem 12%;
  }
}

/* =====================
    きらりグループについて
===================== */
.l-page-service-concept__content {
  margin-bottom: 2.5rem;
}
@media (min-width: 1200px) {
  .l-page-service-concept__content {
    margin-bottom: 4rem;
  }
}

.l-page-service-concept__imgs {
  display: flex;
  justify-content: center;
  gap: 3rem;
}
@media (min-width: 1200px) {
  .l-page-service-concept__imgs {
    max-width: 584px;
    justify-content: space-between;
    margin: 0 auto;
  }
}

.l-greeting__name {
  margin-top: 1rem;
}
@media (min-width: 767px) {
  .l-greeting__name {
    margin-top: 2.5rem;
  }
}

.l-business__flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2.5rem;
  position: relative;
}
@media (min-width: 767px) {
  .l-business__flex {
    flex-direction: row;
    justify-content: center;
    gap: 5rem;
  }
  .l-business__flex.reverse {
    flex-direction: row-reverse;
    margin-bottom: 4rem;
  }
}
.l-business__flex:last-child {
  margin-bottom: 0;
}

@media (min-width: 1200px) {
  .l-business__text-content {
    width: 584px;
  }
}

.l-kirari-logo {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  gap: 2rem;
}
@media (min-width: 767px) {
  .l-kirari-logo {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5rem;
  }
}

.l-kirari-logo__text {
  position: relative;
}
.l-kirari-logo__text.gh {
  padding-left: 2rem;
}
@media (min-width: 767px) {
  .l-kirari-logo__text.gh {
    padding: 0;
    max-width: 550px;
  }
}

.l-kirari-about {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 0 2rem 0 0;
  margin-left: 0;
  position: relative;
}
@media (min-width: 767px) {
  .l-kirari-about {
    flex-direction: row;
    align-items: center;
    padding: 0 4rem 0 0;
    gap: 11%;
  }
}
@media (min-width: 767px) and (min-width: 1200px) {
  .l-kirari-about.gh {
    gap: 5rem;
  }
}
@media (min-width: 1200px) {
  .l-kirari-about {
    padding: 0 12% 0 0;
  }
}

.l-kirari-about__text {
  position: relative;
  z-index: 10;
  margin: 0 0 0 auto;
}
@media (min-width: 767px) {
  .l-kirari-about__text {
    margin: 0;
  }
}
.l-activity-time {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 1rem;
}
@media (min-width: 767px) {
  .l-activity-time {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
    text-align: left;
  }
}

.l-card {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 2rem;
  position: relative;
}
@media (min-width: 1200px) {
  .l-card {
    width: 100%;
    flex-direction: row;
    align-items: center;
    margin-bottom: 4rem;
  }
}
@media (min-width: 1200px) {
  .l-card.reverse {
    flex-direction: row-reverse;
  }
}

.l-support__title {
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .l-support__title {
    margin-bottom: 2.5rem;
  }
}

.l-support__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 767px) {
  .l-support__content {
    flex-direction: row;
    justify-content: center;
    gap: 3rem;
  }
}

.l-event__panel {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  position: relative;
}
@media (min-width: 1200px) {
  .l-event__panel {
    flex-direction: row;
    gap: 3rem;
  }
}

.l-profile__flex {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 2rem;
  position: relative;
  z-index: 10;
  margin-bottom: 2rem;
}
@media (min-width: 767px) {
  .l-profile__flex {
    flex-direction: row;
    justify-content: center;
    gap: 7%;
    margin-bottom: 5rem;
  }
}
@media (min-width: 767px) {
  .l-profile__flex.reverse {
    flex-direction: row-reverse;
  }
}
.l-profile__flex:last-child {
  margin-bottom: 0;
}

.l-kirari-heart-service__img {
  display: flex;
  gap: 1.5rem;
  margin: 1.5rem auto;
}
@media (min-width: 1200px) {
  .l-kirari-heart-service__img {
    max-width: 700px;
    gap: 2.5rem;
    margin: 2.5rem auto;
  }
}

.l-home-list__flex {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 2rem;
  position: relative;
  z-index: 10;
  margin-bottom: 2.5rem;
}
@media (min-width: 767px) {
  .l-home-list__flex {
    flex-direction: row-reverse;
    justify-content: center;
    gap: 7%;
    margin-bottom: 5rem;
  }
}
@media (min-width: 767px) {
  .l-home-list__flex.reverse {
    flex-direction: row;
  }
}
.l-home-list__flex:last-child {
  margin-bottom: 0;
}

.l-home-list__name {
  margin-bottom: 1rem;
}
@media (min-width: 1200px) {
  .l-home-list__name {
    margin-bottom: 2.5rem;
  }
}

.l-home-information-card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 1.5rem;
  background-color: #FFFFFC;
}
@media (min-width: 1200px) {
  .l-home-information-card {
    flex-direction: row;
    gap: 7%;
    border-radius: 50px;
    margin-bottom: 5rem;
  }
}

.l-information-card__interior-imgs {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.l-schedule__table {
  position: relative;
}
@media (min-width: 1200px) {
  .l-schedule__table {
    max-width: 1000px;
    margin: 0 auto;
  }
}

.l-contact__content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.5rem;
}
@media (min-width: 1200px) {
  .l-contact__content {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    align-items: center;
    justify-content: center;
    gap: 4%;
  }
}

.l-page-contact__tell {
  margin: 0 auto;
}
@media (min-width: 1200px) {
  .l-page-contact__tell {
    margin: 0;
  }
}

/* ヘッダー、フッターなどの共通レイアウト*/
/* =====================
    読み込み
===================== */
/* =====================
    共通
===================== */
.c-text {
  color: #4A4A4A;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.c-text-long {
  color: #4A4A4A;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}

.c-title {
  font-family: "Zen Maru Gothic", sans-serif;
}

.c-main-copy {
  color: #785E43;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  z-index: 10;
}
@media (min-width: 767px) {
  .c-main-copy {
    font-size: 2.5rem;
  }
}

.c-kirari-heart {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #FFC508;
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .c-kirari-heart {
    font-size: 2rem;
  }
}

.c-gh-kirari {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #5CB55C;
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .c-gh-kirari {
    font-size: 2rem;
  }
}

.c-kids-support {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #F58082;
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .c-kids-support {
    font-size: 2rem;
  }
}

.c-number {
  font-family: "Outfit", sans-serif;
  line-height: 1;
}
.c-number.footer {
  font-size: 1.5rem;
}
.c-number.page-contact {
  font-size: 1.5rem;
}
@media (min-width: 1200px) {
  .c-number.page-contact {
    font-size: 2.25rem;
  }
}

.c-shadow {
  box-shadow: 1px 1px 30px rgba(120, 94, 67, 0.08);
}

.c-header-space {
  display: block;
  width: 100%;
  height: 67px;
}
@media (min-width: 767px) {
  .c-header-space {
    height: 73px;
  }
}
@media (min-width: 1200px) {
  .c-header-space {
    height: 85px;
  }
}

.c-sec-title {
  color: #785E43;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .c-sec-title {
    font-size: 2rem;
  }
}

.c-sub-title {
  color: #785E43;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .c-sub-title {
    font-size: 1.75rem;
  }
}

.p-google-map-link {
  display: block;
  text-decoration: underline;
  text-align: right;
}
.p-google-map-link.home-information {
  width: 100%;
  text-align: right;
}
@media (min-width: 767px) {
  .p-google-map-link.home-information {
    max-width: 320px;
  }
}
@media (min-width: 1200px) {
  .p-google-map-link.home-information {
    max-width: 440px;
  }
}
@media (min-width: 1200px) {
  .p-google-map-link {
    transition: all 0.4s ease;
  }
  .p-google-map-link:hover {
    color: #FFA15D;
  }
}

.c-tug {
  display: inline-flex;
  color: #FFFFFC;
  font-size: 1rem;
  background-color: #5CB55C;
  padding: 0.5rem 1rem;
  flex-shrink: 0;
  white-space: nowrap;
}
@media (min-width: 1200px) {
  .c-tug {
    padding: 0.5rem 1.5rem;
  }
}
.c-tug.home-information {
  margin-right: 1rem;
}
@media (min-width: 1200px) {
  .c-tug.home-information {
    margin-right: 1.5rem;
  }
}

.c-radius,
.c-radius img {
  border-radius: 32px;
}
@media (min-width: 1200px) {
  .c-radius,
  .c-radius img {
    border-radius: 40px;
  }
}

.c-radius-small {
  border-radius: 24px;
}

/* =====================
    ボタン
===================== */
.c-btn {
  display: block;
  width: 100%;
  color: #FFFFFC;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  background-color: #5CB55C;
  border: 1px solid #5CB55C;
  border-radius: 50px;
  padding: 1.5rem;
  transition: all 0.4s ease;
}
.c-btn svg {
  fill: #FFFFFC;
  transition: all 0.4s ease;
}
@media (min-width: 767px) {
  .c-btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
@media (min-width: 1200px) {
  .c-btn {
    width: 420px;
    gap: 0.5rem;
    transition: all 0.4s ease;
    padding: 1.5rem 2.5rem;
  }
  .c-btn:hover {
    color: #5CB55C;
    background-color: #FFFFFC;
  }
  .c-btn:hover svg {
    fill: #5CB55C;
  }
}
.c-btn.cta {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: #FFFFFC;
  background-color: #FFA15D;
  border: 1px solid #FFA15D;
}
@media (min-width: 767px) {
  .c-btn.cta {
    width: 420px;
    font-size: 1.25rem;
    white-space: nowrap;
  }
}
@media (min-width: 1200px) {
  .c-btn.cta:hover {
    color: #FFA15D;
    background-color: #FFFFFC;
  }
  .c-btn.cta:hover svg {
    fill: #FFA15D;
  }
}
.c-btn.cta-navi {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: #FFFFFC;
  background-color: #FFA15D;
  border: 1px solid #FFA15D;
}
@media (min-width: 1200px) {
  .c-btn.cta-navi {
    width: 320px;
    font-size: 1.25rem;
    white-space: nowrap;
  }
  .c-btn.cta-navi:hover {
    color: #FFA15D;
    background-color: #FFFFFC;
  }
  .c-btn.cta-navi:hover svg {
    fill: #FFA15D;
  }
}
.c-btn.page-contact {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: #FFFFFC;
  background-color: #FFA15D;
  border: 1px solid #FFA15D;
}
@media (min-width: 767px) {
  .c-btn.page-contact {
    max-width: 420px;
  }
}
@media (min-width: 1200px) {
  .c-btn.page-contact {
    font-size: 1.25rem;
    white-space: nowrap;
    margin: 0 0 0 auto;
  }
  .c-btn.page-contact:hover {
    color: #FFA15D;
    background-color: #FFFFFC;
  }
  .c-btn.page-contact:hover svg {
    fill: #FFA15D;
  }
}
.c-btn.more {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.c-btn.more svg {
  width: 1.5rem;
  fill: #FFFFFC;
  transition: all 0.4s ease;
}
@media (min-width: 1200px) {
  .c-btn.more:hover svg {
    fill: #5CB55C;
  }
}
.c-btn.none {
  width: 100%;
  background-color: #BFBFBF;
  border-color: #BFBFBF;
  text-align: center;
}
.c-btn.none:hover {
  color: #FFFFFC;
  background-color: #BFBFBF;
}
.c-btn.web {
  width: 100%;
  text-align: center;
}

.c-more-btn {
  color: #5CB55C;
}

.c-more-btn__arrow {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-more-btn__arrow.active {
  background-color: #5CB55C;
}
.c-more-btn__arrow.disabled {
  background-color: #DCDADA;
}

/* =====================
    ホバー
=====================  */
.c-link-hover {
  color: #785E43;
}
@media (min-width: 1200px) {
  .c-link-hover {
    transition: all 0.4s ease;
  }
  .c-link-hover:hover {
    color: #FFA15D;
  }
}
.c-link-hover.sns {
  color: #5CB55C;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.c-link-hover.sns svg {
  fill: #5CB55C;
  transition: all 0.4s ease;
}
@media (min-width: 1200px) {
  .c-link-hover.sns {
    transition: all 0.4s ease;
  }
  .c-link-hover.sns:hover {
    color: #FFA15D;
  }
  .c-link-hover.sns:hover svg {
    fill: #FFA15D;
  }
}

/* =====================
    SNS / ロゴ
===================== */
.c-sns {
  display: flex;
  gap: 2rem;
  justify-content: center;
}
.c-logo {
  display: inline-block;
  /* 元のレイアウト維持 */
  vertical-align: middle;
  position: relative;
  width: 97px;
  height: 37px;
}
.c-logo img {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.4s ease;
}
.c-logo img.hover {
  opacity: 0;
}
@media (min-width: 1200px) {
  .c-logo:hover img.hover {
    opacity: 1;
  }
  .c-logo:hover img.normal {
    opacity: 0;
  }
}

/* =====================
    ボックス
===================== */
.c-box {
  background-color: rgba(255, 254, 254, 0.9);
  border-radius: 32px;
  box-shadow: 1px 1px 30px rgba(120, 94, 67, 0.08);
  padding: 2rem 1.5rem;
  position: relative;
}
@media (min-width: 1200px) {
  .c-box {
    border-radius: 40px;
    padding: 2.5rem 1.5rem;
  }
}
.c-box.information {
  padding: 1.5rem;
}
@media (min-width: 1200px) {
  .c-box.information {
    padding: 5rem;
  }
}
@media (min-width: 1200px) {
  .c-box.contact {
    padding: 2.5rem 4.5rem;
  }
}
.c-box dl {
  max-width: 700px;
  margin: 0 auto 2rem auto;
}
@media (min-width: 1200px) {
  .c-box dl {
    margin: 0 auto 2.5rem auto;
  }
}
@media (min-width: 1200px) {
  .c-box dt {
    width: 40%;
  }
}
@media (min-width: 1200px) {
  .c-box__content {
    max-width: 800px;
    margin: 0 auto;
  }
}
.c-box.page-contact {
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .c-box.page-contact {
    padding: 5rem;
    margin-bottom: 2.5rem;
  }
}
.c-box.page-contact:last-child {
  margin-bottom: 0;
}

.c-box__flex {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media (min-width: 1200px) {
  .c-box__flex {
    flex-direction: row;
    margin-top: 2rem;
  }
}
.c-box__flex:last-child {
  margin-top: 0;
}

.c-box__line {
  width: 100%;
  height: 1px;
  display: block;
  background-color: #DCDADA;
  margin-top: 1.5rem;
}
@media (min-width: 1200px) {
  .c-box__line {
    margin-top: 2rem;
  }
}

/* =====================
    アニメーション
===================== */
.c-fade {
  opacity: 0;
  transition: opacity 0.8s ease;
}
.c-fade.show {
  opacity: 1;
}

.c-fade-up {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.c-fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

/* パーツ（ボタン、カードなど） */
/* =====================
    読み込み
===================== */
/* =====================
    共通
===================== */
/* header */
.p-logo {
  display: inline-block;
  /* 元のレイアウト維持 */
  vertical-align: middle;
  position: relative;
  width: 155px;
  height: 44px;
}
@media (min-width: 1200px) {
  .p-logo {
    width: 224px;
    height: 63px;
  }
}
.p-logo img {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.4s ease;
}
.p-logo img.hover {
  opacity: 0;
}
.p-logo:hover img.hover {
  opacity: 1;
}
.p-logo:hover img.normal {
  opacity: 0;
}
.p-logo.footer {
  margin-bottom: 2.5rem;
}
@media (min-width: 1200px) {
  .p-logo.footer {
    margin-bottom: 1rem;
  }
}

.p-hamburger {
  position: fixed;
  top: 16px;
  right: 24px;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  cursor: pointer;
  z-index: 10001;
  background-color: #FFA15D;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0;
  line-height: 1;
}
@media (min-width: 1200px) {
  .p-hamburger {
    display: none;
  }
}

.p-hamburger__inner {
  width: 26px;
  height: 22px;
  position: relative;
}

.p-hamburger__line {
  display: block;
  width: 26px;
  height: 2px;
  position: absolute;
  transition: ease 0.3s;
  background-color: #FFFFFC;
  transform-origin: center;
}
.p-hamburger__line:nth-child(1) {
  top: 8px;
}
.p-hamburger__line:nth-child(2) {
  top: 0;
}

.p-hamburger__menu {
  color: #FFFFFC;
  font-size: 8px;
  font-weight: 700;
  position: absolute;
  top: 16px;
  left: 0;
  width: 100%;
  text-align: center;
  letter-spacing: 0.1rem;
}

.is-open .p-hamburger__line:nth-child(1) {
  transform: translateY(2px) rotate(-40deg);
}

.is-open .p-hamburger__line:nth-child(2) {
  transform: translateY(10px) rotate(40deg);
}

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

/* header-nav */
.p-nav-pc {
  display: none;
}
@media (min-width: 1200px) {
  .p-nav-pc {
    display: flex;
    gap: 2.5rem;
    width: 100%;
    position: relative;
    opacity: 1;
    background-color: transparent;
    pointer-events: auto;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@media (min-width: 1200px) {
  .p-nav-pc__list {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
  }
}

.p-nav-menu__list--item {
  font-size: 1rem;
  font-weight: 700;
  color: #785E43;
}

.p-drawer {
  position: fixed;
  inset: 0;
  background-color: #FFFBF5;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s;
}
.p-drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.p-drawer__inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
@media (min-width: 1200px) {
  .p-drawer__inner {
    display: none;
  }
}

.p-drawer__wrapper {
  height: 90vh;
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 2rem;
}
@media (min-width: 767px) {
  .p-drawer__wrapper {
    padding: 0 2.5rem;
  }
}

.p-drawer__header {
  width: 100%;
  height: 81px;
  padding: 1rem;
  background-color: rgba(255, 255, 255, 0.8);
  flex-shrink: 0;
}
@media (min-width: 767px) {
  .p-drawer__header {
    padding: 1rem 2.5rem;
  }
}
@media (min-width: 1200px) {
  .p-drawer__header {
    display: none;
  }
}

.p-nav-menu {
  transition: all 0.4s ease;
}
@media (min-width: 1200px) {
  .p-nav-menu {
    flex-direction: row;
    gap: 2.5rem;
    background-color: transparent;
  }
}

@media (min-width: 1200px) {
  .p-nav__bottom {
    display: none;
  }
}

.p-nav__title {
  font-size: 1rem;
}

.p-nav__sub-title {
  font-size: 0.875rem;
  position: relative;
  padding-left: 1em;
}
@media (min-width: 1200px) {
  .p-nav__sub-title {
    font-size: 0.625rem;
  }
}
.p-nav__sub-title::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 1px;
  background-color: #4A4A4A;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.p-contact-time {
  font-size: 10px;
}

.p-contact-tell__number {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-contact-tell__number img {
  width: 1.5rem;
}

.p-contact-tell__img {
  width: 1.5rem;
}

.p-contact-leaf {
  width: 70px;
  position: absolute;
  bottom: -4rem;
  left: -1.5rem;
}
@media (min-width: 1200px) {
  .p-contact-leaf {
    width: 116px;
    bottom: -6rem;
    left: -6%;
  }
}

/* =====================
    カルーセル
===================== */
.p-scroll-slider {
  overflow: hidden;
  width: 100%;
}

.p-scroll-slider__truck {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  width: -moz-max-content;
  width: max-content;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@media (min-width: 1200px) {
  .p-scroll-slider__truck {
    gap: 5rem;
  }
}

.p-scroll-slider__item {
  flex: 0 0 auto;
  width: 228px;
  height: 181px;
  overflow: hidden;
}
@media (min-width: 1200px) {
  .p-scroll-slider__item {
    width: 342px;
    height: 272px;
  }
}
.p-scroll-slider__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-sns {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 767px) {
  .p-sns {
    flex-direction: row;
    gap: 2rem;
  }
}

.p-footer__bottom--text {
  font-size: 0.9375rem;
}

.p-footer__access {
  display: inline-block;
}

.p-sub-menu-link {
  color: #785E43;
}

.p-copy-right {
  font-size: 10px;
}

.p-footer__img01 {
  width: 104px;
  position: absolute;
  top: -48px;
  left: 2rem;
  z-index: 10;
}
@media (min-width: 767px) {
  .p-footer__img01 {
    width: 180px;
    top: -80px;
    left: 2rem;
  }
}
@media (min-width: 1200px) {
  .p-footer__img01 {
    left: 12%;
  }
}

.p-footer__img02 {
  width: 74px;
  position: absolute;
  top: -40px;
  right: 2rem;
  z-index: 10;
}
@media (min-width: 767px) {
  .p-footer__img02 {
    width: 130px;
    top: -80px;
    right: 4rem;
  }
}
@media (min-width: 1200px) {
  .p-footer__img02 {
    right: 12%;
  }
}

/* =====================
    TOPページ
===================== */
.p-main-copy {
  color: #785E43;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  position: relative;
  z-index: 10;
  margin-bottom: 2.5rem;
}
@media (min-width: 767px) {
  .p-main-copy {
    font-size: 2.5rem;
  }
}

.p-mv__title--sub {
  font-size: 0.6875rem;
  position: relative;
  z-index: 10;
}
@media (min-width: 767px) {
  .p-mv__title--sub {
    font-size: 1rem;
  }
}

.p-mv__title--main {
  color: #5CB55C;
  font-size: 1.25rem;
  font-weight: 700;
  position: relative;
  z-index: 10;
}
@media (min-width: 767px) {
  .p-mv__title--main {
    font-size: 2rem;
  }
}

.p-mv__title--img {
  position: absolute;
  width: 240px;
  top: -106px;
  left: 0;
  z-index: 1;
}
@media (min-width: 767px) {
  .p-mv__title--img {
    width: 379px;
    top: -106px;
    left: 0;
    z-index: 1;
  }
}

.p-mv-img {
  width: 81%;
  margin-left: 20%;
  margin-top: 1.5rem;
}
@media (min-width: 1200px) {
  .p-mv-img {
    width: 41%;
    margin-top: 5rem;
    margin-left: 0;
  }
}

@media (min-width: 1200px) {
  .p-service__text-content {
    width: 484px;
  }
}

.p-service__img-content {
  width: 100%;
  position: relative;
}
@media (min-width: 1200px) {
  .p-service__img-content {
    width: 44%;
  }
}
.p-service__img-content img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-service__title {
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-service__title {
    margin-bottom: 2rem;
  }
}

.p-service__sub-title {
  color: #785E43;
  font-size: 1rem;
}
@media (min-width: 1200px) {
  .p-service__sub-title {
    font-size: 1.5rem;
  }
}

.p-contact__sec-title {
  position: relative;
  z-index: 10;
}

.p-service__leaf {
  width: 48px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
@media (min-width: 1200px) {
  .p-service__leaf {
    width: 96px;
  }
}

.p-contact-bird {
  width: 56px;
  position: absolute;
  top: 2.5rem;
  right: -6rem;
  z-index: 0;
}
@media (min-width: 1200px) {
  .p-contact-bird {
    width: 80px;
    top: 1rem;
    right: -6.5rem;
  }
}

.p-contact__title {
  margin-bottom: 1rem;
}

.p-greeting__content {
  position: relative;
}

.p-greeting__content--text {
  position: relative;
  z-index: 10;
}

.p-kirari-logo__title {
  margin-bottom: 1rem;
  position: relative;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-kirari-logo__title {
    margin-bottom: 2rem;
  }
}

.p-kirari-logo__text {
  position: relative;
  z-index: 10;
  margin-bottom: 1rem;
}
@media (min-width: 1200px) {
  .p-kirari-logo__text {
    margin-bottom: 2.5rem;
  }
}

@media (min-width: 767px) {
  .p-kirari-logo__img {
    width: 38%;
  }
}
@media (min-width: 1200px) {
  .p-kirari-logo__img {
    width: 40%;
  }
}

.p-kirari-about__img {
  position: relative;
  z-index: 10;
}
@media (min-width: 767px) {
  .p-kirari-about__img {
    width: 40%;
  }
  .p-kirari-about__img.gh {
    width: auto;
  }
}
@media (min-width: 1200px) {
  .p-kirari-about__img {
    width: 52%;
  }
}
.p-kirari-about__img img {
  border-radius: 0 32px 32px 0;
}
@media (min-width: 1200px) {
  .p-kirari-about__img img {
    border-radius: 0 40px 40px 0;
  }
}

.p-kirari-about__text {
  font-size: 1.25rem;
  padding-right: 0.5rem;
  position: relative;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-kirari-about__text {
    font-size: 1.5rem;
    padding: 0;
  }
}

.p-activity__time {
  font-size: 1.25rem;
}
@media (min-width: 1200px) {
  .p-activity__time {
    font-size: 1.5rem;
  }
}

.p-activity__note {
  font-size: 0.9375rem;
}
@media (min-width: 767px) {
  .p-activity__note {
    font-size: 1rem;
  }
}

.p-card__text-content {
  background-color: #FFFFFC;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: -1rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 1200px) {
  .p-card__text-content {
    width: 520px;
    height: 320px;
    padding: 2.5rem;
    z-index: 10;
    margin-top: 0;
    margin-right: -80px;
  }
  .p-card__text-content.reverse {
    margin-right: 0;
    margin-left: -80px;
  }
}

.p-card__text-content--title {
  color: #5CB55C;
  font-size: 1.25rem;
  text-align: center;
}
@media (min-width: 1200px) {
  .p-card__text-content--title {
    font-size: 1.5rem;
    text-align: left;
  }
}

.p-card__img {
  margin: 0 2rem;
  position: relative;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-card__img {
    width: 100%;
    margin: 0;
    flex: 1;
    z-index: 1;
  }
}
.p-card__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-support-item {
  width: 160px;
  height: 163px;
  background-image: url("../img/suisai-yellow.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1200px) {
  .p-support-item {
    width: 206px;
    height: 211px;
  }
}
.p-support-item p {
  color: #785E43;
}

.p-panel {
  overflow: hidden;
  background-color: #FFFFFC;
  border-radius: 32px;
}
@media (min-width: 1200px) {
  .p-panel {
    flex: 1;
    border-radius: 40px;
  }
}

.p-panel__text-content {
  background-color: #FFFFFC;
  padding: 2rem 1.5rem;
}
@media (min-width: 1200px) {
  .p-panel__text-content {
    padding: 2rem;
  }
}

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

.p-name {
  font-size: 1rem;
}
@media (min-width: 1200px) {
  .p-name {
    font-size: 1.5rem;
    padding-left: 4rem;
  }
}
.p-name span {
  font-size: 0.8125rem;
  display: inline-block;
  padding-left: 0.25rem;
}
@media (min-width: 1200px) {
  .p-name span {
    font-size: 1rem;
  }
}

.p-kirari-heart__cat {
  width: 160px;
}
@media (min-width: 1200px) {
  .p-kirari-heart__cat {
    width: 208px;
  }
}

.p-kirari-heart-service__map {
  width: 100%;
  max-width: 700px;
  overflow: hidden;
  margin: 0 auto;
}

.p-common-fee {
  background: #FFFFFC;
  padding: 1.5rem;
}
@media (min-width: 1200px) {
  .p-common-fee {
    width: 100%;
    padding: 2.5rem;
  }
}

.p-common-fee__title {
  font-size: 1.25rem;
  color: #5CB55C;
}

.p-common-fee__lead {
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .p-common-fee__lead {
    margin-bottom: 2.5rem;
  }
}

.p-common-fee__list {
  max-width: 900px;
  margin: 0 auto;
}

.p-common-fee__item {
  display: flex;
  align-items: center;
}
@media (min-width: 1200px) {
  .p-common-fee__item:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
.p-common-fee__item dt {
  width: auto;
  flex-shrink: 0;
}
.p-common-fee__item dd {
  display: flex;
  align-items: center;
  flex: 1;
  margin: 0;
  text-align: left;
}
.p-common-fee__item dd::before {
  content: "";
  flex: 1;
  border-bottom: 2px dotted #999;
  margin: 0 0.5rem;
}

.p-common-fee__item-sp {
  font-size: 0.9375rem;
  text-align: right;
  margin: 0 0 0 auto;
}

.p-list {
  padding-left: 1em;
}

.p-list__item {
  list-style: disc;
}
.p-list__item::marker {
  font-size: 0.6em;
}

.p-schedule__table {
  overflow: hidden;
  border-radius: 32px;
  margin-bottom: 2rem;
  position: relative;
}
@media (min-width: 1200px) {
  .p-schedule__table {
    display: flex;
    margin-bottom: 4rem;
  }
}

.p-schedule__item {
  display: flex;
}
@media (min-width: 1200px) {
  .p-schedule__item {
    width: 126px;
    flex-direction: column;
    flex: 1;
  }
}

.p-schedule__time {
  width: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #5CB55C;
  color: #FFFFFC;
  text-align: center;
  padding: 2rem 1rem;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .p-schedule__time {
    width: 100%;
    flex: 1;
  }
}

.p-schedule__content {
  width: 60%;
  background: #FFFFFC;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 1rem;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .p-schedule__content {
    width: 100%;
    min-height: 120px;
  }
}

.p-schedule__text-content {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-home-list__text-content {
  width: 100%;
}

.p-home__img-content {
  width: 100%;
}

.p-information-card__title {
  color: #5CB55C;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .p-information-card__title {
    font-size: 2rem;
  }
}

.p-information-card__text-content {
  padding: 0 1.5rem 1.5rem 1.5rem;
}
@media (min-width: 1200px) {
  .p-information-card__text-content {
    width: 43%;
    padding: 2.5rem 2.5rem 2.5rem 0;
  }
}

@media (min-width: 1200px) {
  .p-information-card__img {
    width: 43%;
  }
}
.p-information-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-information-card__list--item {
  display: flex;
  align-items: center;
}

.p-information-card__interior-img {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 1200px) {
  .p-information-card__interior-img {
    width: 50%;
    flex-direction: row;
    justify-content: space-between;
  }
}

.p-contact__line {
  width: 100%;
  height: 1px;
  background: #DCDADA;
  flex-shrink: 0;
}
@media (min-width: 1200px) {
  .p-contact__line {
    width: 1px;
    height: 96px;
  }
}

/* =====================
    img配置
===================== */
.p-page-service-top__suisai {
  width: 192px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media (min-width: 1200px) {
  .p-page-service-top__suisai {
    width: 400px;
    top: -2.5rem;
    right: 10%;
  }
}

.p-greeting__suisai {
  width: 221px;
  position: absolute;
  bottom: 0;
  right: -2.5rem;
  z-index: 1;
}
@media (min-width: 1200px) {
  .p-greeting__suisai {
    width: 309px;
    bottom: -2.5rem;
    right: -5rem;
  }
}

@media (min-width: 767px) {
  .p-service__line01 {
    width: 89%;
    margin-top: -80px;
    margin-left: 13%;
  }
}
@media (min-width: 1200px) {
  .p-service__line01 {
    width: 89%;
    margin-top: -223px;
    margin-left: 13%;
  }
}

@media (min-width: 767px) {
  .p-service__line02 {
    width: 86%;
    margin-top: -40px;
  }
}
@media (min-width: 1200px) {
  .p-service__line02 {
    margin-top: -80px;
    margin-left: -9%;
    margin-bottom: -80px;
  }
}

.p-service__line01--sp {
  width: 120px;
  position: absolute;
  bottom: -160px;
  right: 0;
  z-index: -1;
}

.p-service__line02--sp {
  width: 80px;
  position: absolute;
  top: -80px;
  left: 0;
  z-index: -1;
}

.p-service__line03--sp {
  width: 164px;
  position: absolute;
  bottom: -160px;
  right: -24px;
  z-index: -1;
}

.p-service__line04--sp {
  width: 280px;
  position: absolute;
  top: -92px;
  left: -24px;
  z-index: -1;
}

.p-top__leaf {
  width: 56px;
  position: absolute;
  bottom: -1.5rem;
  right: -1rem;
}
@media (min-width: 1200px) {
  .p-top__leaf {
    width: 90px;
    bottom: -4rem;
    right: -5%;
  }
}

.p-concept__img01 {
  width: 74px;
}
@media (min-width: 767px) {
  .p-concept__img01 {
    width: 124px;
  }
}

.p-concept__img02 {
  width: 84px;
}
@media (min-width: 767px) {
  .p-concept__img02 {
    width: 157px;
  }
}

.p-concept__img03 {
  width: 51px;
}
@media (min-width: 767px) {
  .p-concept__img03 {
    width: 87px;
  }
}

.p-page-service-top__illustration {
  width: 94px;
  margin-top: 3.5rem;
}
@media (min-width: 1200px) {
  .p-page-service-top__illustration {
    width: 166px;
    margin-top: -2.5rem;
  }
}

.p-greeting__ceo {
  width: 36px;
  margin: 1rem 0 0 auto;
  position: relative;
  z-index: 5;
}
@media (min-width: 1200px) {
  .p-greeting__ceo {
    position: absolute;
    width: 60px;
    bottom: 0;
    right: -15%;
  }
}

.p-greeting__leaf {
  width: 56px;
  position: absolute;
  top: -3rem;
  left: -1.5rem;
}
@media (min-width: 1200px) {
  .p-greeting__leaf {
    width: 111px;
    top: 2rem;
    left: -20%;
  }
}

.p-service__leaf {
  width: 56px;
  position: absolute;
  top: -1.5rem;
  right: -1rem;
}
@media (min-width: 1200px) {
  .p-service__leaf {
    width: 90px;
    top: -4rem;
    right: -5%;
  }
}

.p-kirari-heart-top__suisai {
  width: 221px;
  position: absolute;
  top: -4.5rem;
  left: -1em;
  z-index: 1;
}
@media (min-width: 1200px) {
  .p-kirari-heart-top__suisai {
    width: 450px;
    top: -2.5rem;
    left: 1rem;
  }
}

.p-page-kirari-heart-top__illustration {
  width: 104px;
  margin: 3.5rem 1rem 0 auto;
  position: relative;
  z-index: 5;
}
@media (min-width: 1200px) {
  .p-page-kirari-heart-top__illustration {
    width: 166px;
    margin: -2.5rem 5rem 0 auto;
  }
}

.p-kirari-about__suisai {
  width: 221px;
  position: absolute;
  top: 1.5rem;
  right: -1em;
  z-index: 1;
}
@media (min-width: 1200px) {
  .p-kirari-about__suisai {
    width: 450px;
    top: -2.5rem;
    left: 48%;
  }
}
@media (min-width: 1200px) {
  .p-kirari-about__suisai.gh {
    width: 480px;
    top: -2.5rem;
    left: 48%;
  }
}

.p-card-leaf01 {
  position: absolute;
  width: 57px;
  top: -3rem;
  left: -1rem;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-card-leaf01 {
    width: 117px;
    left: -8%;
  }
}

.p-card-leaf02 {
  position: absolute;
  width: 64px;
  top: -5rem;
  right: -1rem;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-card-leaf02 {
    width: 90px;
    right: -8%;
  }
}

.p-gh-kirarit-top__suisai {
  width: 221px;
  position: absolute;
  top: 2rem;
  right: -1em;
  z-index: 1;
}
@media (min-width: 1200px) {
  .p-gh-kirarit-top__suisai {
    width: 450px;
    top: -2.5rem;
    right: -1rem;
  }
}

.p-page-gh-kirari-top__illustration {
  width: 104px;
  margin: 3.5rem auto 0 1rem;
  position: relative;
  z-index: 5;
}
@media (min-width: 1200px) {
  .p-page-gh-kirari-top__illustration {
    width: 166px;
    margin: -2.5rem auto 0 5rem;
  }
}

.p-gh-kirari__cat {
  width: 320px;
}
@media (min-width: 1200px) {
  .p-gh-kirari__cat {
    width: 380px;
  }
}

.p-event-leaf {
  width: 50px;
  position: absolute;
  top: -2rem;
  left: -1em;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-event-leaf {
    width: 104px;
    top: -10rem;
    left: -1rem;
  }
}

.p-profile-leaf {
  width: 62px;
  position: absolute;
  top: -3rem;
  right: -1em;
  z-index: 1;
}
@media (min-width: 1200px) {
  .p-profile-leaf {
    width: 104px;
    top: 1rem;
    right: -1rem;
  }
}

.p-schedule-leaf {
  width: 50px;
  position: absolute;
  top: -5rem;
  left: 1rem;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-schedule-leaf {
    width: 104px;
    top: -5rem;
    left: -15%;
  }
}

.p-gh-top-leaf {
  width: 56px;
  position: absolute;
  bottom: -3rem;
  left: 1rem;
  z-index: 10;
}
@media (min-width: 1200px) {
  .p-gh-top-leaf {
    width: 111px;
    bottom: -8rem;
    left: 5%;
  }
}

.p-gh-kirari__dog {
  width: 312px;
  margin: 2rem 0 0 auto;
}
@media (min-width: 1200px) {
  .p-gh-kirari__dog {
    width: 312px;
  }
}

.p-schedule__illustration {
  width: 59px;
  position: absolute;
  top: -2.5rem;
  right: 1rem;
  z-index: 5;
}
@media (min-width: 1200px) {
  .p-schedule__illustration {
    width: 69px;
    top: -3rem;
    right: 2rem;
  }
}

.p-link-list__item {
  font-size: 1rem;
}
.p-link-list__item a {
  color: #785E43;
  text-decoration-color: #785E43;
  text-decoration: underline;
}
@media (min-width: 1200px) {
  .p-link-list__item a {
    transition: all 0.4s ease;
  }
  .p-link-list__item a:hover {
    color: #FFA15D;
    text-decoration-color: #FFA15D;
  }
}

.p-infotmation__suisai {
  width: 180px;
  position: absolute;
  top: -6rem;
  left: -1em;
  z-index: -1;
}
@media (min-width: 1200px) {
  .p-infotmation__suisai {
    width: 440px;
    top: -8rem;
    left: -10%;
  }
}

.p-infotmation__suisai02 {
  width: 180px;
  position: absolute;
  top: -6rem;
  right: -1em;
  z-index: -1;
}
@media (min-width: 1200px) {
  .p-infotmation__suisai02 {
    width: 440px;
    top: -8rem;
    right: -15%;
  }
}

.p-gh-top__suisai {
  width: 160px;
  position: absolute;
  top: -1rem;
  right: 1rem;
  z-index: -1;
}
@media (min-width: 1200px) {
  .p-gh-top__suisai {
    width: 206px;
    top: -2.5rem;
    right: 25%;
  }
}

/*各ページ独自のモジュール（例：トップページの特集など） */
/* 読み込み */
/* 要追加: .u-under-line */
.u-fw-medium {
  font-weight: 500;
}

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

.u-sp-only {
  display: inline;
}
@media (min-width: 767px) {
  .u-sp-only {
    display: none;
  }
}

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

.u-sp-tb-only {
  display: inline-block;
}
@media (min-width: 1200px) {
  .u-sp-tb-only {
    display: none;
  }
}

.u-tb-only {
  display: none;
}
@media (min-width: 767px) {
  .u-tb-only {
    display: inline-block;
  }
}
@media (min-width: 1200px) {
  .u-tb-only {
    display: none;
  }
}

.u-tb-pc-only {
  display: none;
}
@media (min-width: 767px) {
  .u-tb-pc-only {
    display: inline-block;
  }
}

.u-pc-only {
  display: none;
}
@media (min-width: 1200px) {
  .u-pc-only {
    display: inline-block;
  }
}

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

.u-text-right {
  text-align: right;
}

.u-sp-center {
  text-align: center;
}
@media (min-width: 767px) {
  .u-sp-center {
    text-align: left;
  }
}

@media (min-width: 767px) {
  .u-pc-center {
    text-align: center;
  }
}

.u-text-white {
  color: #FFFFFC;
}

.u-text-green {
  color: #5CB55C;
}

.u-text-orange {
  color: #FFA15D;
}

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

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

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

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

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

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

.u-mr-16 {
  margin-right: 1rem;
}

.u-sec-gap-small {
  margin-bottom: 2rem;
}
@media (min-width: 1200px) {
  .u-sec-gap-small {
    margin-bottom: 2.5rem;
  }
}

.u-sec-gap-large {
  margin-bottom: 2.5rem;
}
@media (min-width: 1200px) {
  .u-sec-gap-large {
    margin-bottom: 4rem;
  }
}

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