@charset "UTF-8";
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap");
/*--------------------------------
 *  カスタムプロパティ
--------------------------------*/
:root {
  --ark-padding--container: 20px;
  --ark-font_family: Zen Maru Gothic, sans-serif;
  --ark-width--container--wide: 1488px;
  --ark-color--sub: #8FC550;
  --ark-width--article: 1120px;
  --ark-gap--container: 24px;
}

/****** ベースとなるスタイル ******/
html {
  visibility: hidden;
}

/* Layout
 * 接頭辞：l-
 * 各ページを構成する大枠のエリアに対するレイアウトを定義
======================================*/
/****** ヘッダー ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  基本のスタイル
--------------------------------*/
.l-header {
  position: fixed;
  top: var(--ark-adminbar_height, 0px);
  left: 0;
  padding: 24px 0;
  --ark-color--header_bg: transparent;
}
@media screen and (max-width: 999px) {
  .l-header {
    padding: 20px 0;
  }
}

.l-header__horiz {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
  padding: 0 32px;
}
@media screen and (max-width: 999px) {
  .l-header__horiz {
    padding-left: var(--ark-padding--container);
    padding-right: var(--ark-padding--container);
  }
}

.l-header__col {
  min-width: 0;
}
.l-header__col.--left {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.l-header__col.--right {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.l-header .p-nav-header {
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.l-header .c-btn-menu {
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (min-width: 1000px) {
  [data-scrolled=true] .l-header {
    --ark-color--header_bg: var(--ark-color--bg);
  }
}

/****** フッター ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.l-footer {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 999px) {
  .l-footer {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

.l-footer__horiz {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 60px;
     -moz-column-gap: 60px;
          column-gap: 60px;
}
@media screen and (max-width: 999px) {
  .l-footer__horiz {
    display: block;
  }
}

.l-footer__col {
  min-width: 0;
}
.l-footer__col.--left {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.l-footer__col.--right {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 999px) {
  .l-footer__col.--right {
    margin-top: 32px;
  }
}

.l-footer .c-siteLogo-footer {
  margin-left: auto;
  margin-right: auto;
}

.l-footer .c-label-address {
  margin-top: 1em;
}
@media screen and (max-width: 999px) {
  .l-footer .c-label-address {
    text-align: center;
  }
}

.l-footer .c-label-capsule {
  margin-top: 40px;
}
@media screen and (max-width: 999px) {
  .l-footer .c-label-capsule {
    margin-left: auto;
    margin-right: auto;
  }
}

.l-footer .c-label-tel {
  margin-top: 16px;
}
@media screen and (max-width: 999px) {
  .l-footer .c-label-tel {
    margin-top: 8px;
    font-size: 56px;
    text-align: center;
  }
}

.l-footer .c-label-hour {
  margin-top: 8px;
}
@media screen and (max-width: 999px) {
  .l-footer .c-label-hour {
    margin-top: 4px;
    text-align: center;
  }
}

.l-footer .p-nav-footer__unit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 999px) {
  .l-footer .p-nav-footer__unit {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
}

.l-footer__foot {
  padding-top: 20px;
  padding-bottom: 0;
  text-align: right;
}
@media screen and (max-width: 999px) {
  .l-footer__foot {
    padding-top: 40px;
  }
}

.l-footer__copyright {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 999px) {
  .l-footer__copyright {
    text-align: center;
  }
}

/****** コンテンツエリア ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.l-container-wide {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(var(--ark-width--container--wide) + var(--ark-padding--container) * 2);
  padding-left: var(--ark-padding--container);
  padding-right: var(--ark-padding--container);
  width: 100%;
}

body:not(.home) .l-content {
  padding-top: var(--ark-header_height, 0px);
}

.l-content__body {
  margin-top: 3.5rem;
  margin-bottom: 12rem;
}
@media screen and (max-width: 999px) {
  .l-content__body {
    margin: 3rem auto;
  }
}

/****** メインバー ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.-frame-on .l-main {
  padding: 40px;
  background-color: #FFFFFF;
  border-radius: 32px;
}
@media screen and (max-width: 999px) {
  .-frame-on .l-main {
    padding: 16px;
    border-radius: 4px;
  }
}

[data-sidebar=on] .-frame-on .l-main {
  padding: 32px;
  border-radius: 16px;
}
@media screen and (max-width: 999px) {
  [data-sidebar=on] .-frame-on .l-main {
    padding: 16px;
  }
}

/****** サイドバー ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.-frame-on .l-sidebar .c-widget {
  padding: 32px;
  background-color: #FFFFFF;
  border-radius: 16px;
}
@media screen and (max-width: 999px) {
  .-frame-on .l-sidebar .c-widget {
    padding: 16px;
    border-radius: 4px;
  }
}

.c-widget + .c-widget {
  margin-top: 24px;
}

/****** セクション ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  基本のスタイル
--------------------------------*/
.l-sect {
  color: var(--ark-color--text);
  padding-top: 120px;
  padding-bottom: 120px;
}
@media screen and (max-width: 999px) {
  .l-sect {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

/*--------------------------------
 *  ホーム
--------------------------------*/
/*------ キービジュアル -------*/
.l-sect-home-keyVisual {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: var(--ark-header_height, 0px);
  height: calc(100vh - var(--ark-adminbar_height, 0px));
  max-height: 96vh;
}
@media screen and (max-width: 999px) {
  .l-sect-home-keyVisual {
    max-height: 60vh;
  }
}

.l-sect-home-keyVisual .p-slider-keyVisual {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  height: calc(100% - 40px);
}
@media screen and (max-width: 999px) {
  .l-sect-home-keyVisual .p-slider-keyVisual {
    height: calc(100% - 16px);
  }
}

.l-sect-home-keyVisual__overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(6%, white), color-stop(33%, transparent));
  background: linear-gradient(180deg, white 6%, transparent 33%);
}

.l-sect-home-keyVisual__hero {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ark-padding--container);
  padding-right: var(--ark-padding--container);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 600px) {
  .l-sect-home-keyVisual__hero {
    padding-left: 0;
    padding-right: 0;
  }
}

.l-sect-home-keyVisual__hero img {
  display: block;
  width: auto;
  height: auto;
}

.l-sect-home-keyVisual .p-slider-container {
  margin-top: auto;
}

/*------ 保育目標 -------*/
.l-sect-home-philosophy {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.l-sect-home-philosophy__horiz {
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ark-padding--container);
  padding-right: var(--ark-padding--container);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.7%;
     -moz-column-gap: 2.7%;
          column-gap: 2.7%;
  max-width: calc(1440px + var(--ark-padding--container) * 2);
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__horiz {
    display: block;
  }
}

.l-sect-home-philosophy__col {
  min-width: 0;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}
.l-sect-home-philosophy__col.--center {
  -ms-flex-preferred-size: 700px;
      flex-basis: 700px;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__col.--left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4.776119403%;
       -moz-column-gap: 4.776119403%;
            column-gap: 4.776119403%;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    max-width: 600px;
    margin-right: auto;
    margin-bottom: 32px;
    margin-left: auto;
  }
}
.l-sect-home-philosophy__col.--left .p-slider-photoFrame:nth-child(1) {
  margin-left: auto;
  width: 68.1818181818%;
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__col.--left .p-slider-photoFrame:nth-child(1) {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    min-width: 0;
  }
}
.l-sect-home-philosophy__col.--left .p-slider-photoFrame:nth-child(2) {
  margin-top: 48px;
  width: 53.3333333333%;
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__col.--left .p-slider-photoFrame:nth-child(2) {
    -ms-flex-preferred-size: 35.8208955224%;
        flex-basis: 35.8208955224%;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 0;
    margin-bottom: 16px;
    min-width: 0;
  }
}
.l-sect-home-philosophy__col.--left .p-slider-photoFrame:nth-child(3) {
  margin-top: 48px;
  margin-left: auto;
  margin-right: 24px;
  width: 53.3333333333%;
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__col.--left .p-slider-photoFrame:nth-child(3) {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    margin-right: 0;
    min-width: 0;
  }
}

@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__col.--right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4.776119403%;
       -moz-column-gap: 4.776119403%;
            column-gap: 4.776119403%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    max-width: 600px;
    margin-top: 32px;
    margin-right: auto;
    margin-left: auto;
  }
}
.l-sect-home-philosophy__col.--right .p-slider-photoFrame:nth-child(1) {
  margin-left: 24px;
  width: 53.3333333333%;
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__col.--right .p-slider-photoFrame:nth-child(1) {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    margin-left: 0;
    min-width: 0;
  }
}
.l-sect-home-philosophy__col.--right .p-slider-photoFrame:nth-child(2) {
  margin-top: 48px;
  margin-left: auto;
  width: 53.3333333333%;
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__col.--right .p-slider-photoFrame:nth-child(2) {
    -ms-flex-preferred-size: 35.8208955224%;
        flex-basis: 35.8208955224%;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 0;
    margin-top: 16px;
    min-width: 0;
  }
}
.l-sect-home-philosophy__col.--right .p-slider-photoFrame:nth-child(3) {
  margin-top: 48px;
  width: 68.1818181818%;
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__col.--right .p-slider-photoFrame:nth-child(3) {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    margin-top: 0;
    min-width: 0;
  }
}

.l-sect-home-philosophy__text > * {
  margin-bottom: 1em;
}
.l-sect-home-philosophy__text > *:first-child {
  margin-top: 0;
}
.l-sect-home-philosophy__text > *:last-child {
  margin-bottom: 0;
}
.l-sect-home-philosophy__text {
  font-size: 20px;
  font-weight: 500;
  line-height: 3;
  text-align: center;
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy__text {
    font-size: 15px;
    line-height: 2.46;
  }
}

.l-sect-home-philosophy .c-btn-more {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 999px) {
  .l-sect-home-philosophy .c-btn-more {
    margin-top: 32px;
  }
}

/*------ ひな保育園のこと -------*/
.l-sect.l-sect-home-about {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  padding-bottom: 92px;
  background-color: #A9D857;
  background-image: url("../img/texture/09.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom -1px;
}
@media screen and (max-width: 999px) {
  .l-sect.l-sect-home-about {
    padding-bottom: 64px;
  }
}

.l-sect-home-about .c-heading-sect {
  margin-bottom: 40px;
}

/*------ 職員採用について -------*/
.l-sect.l-sect-home-recruit {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  padding-top: 0;
  background-color: #8FC550;
}

.l-sect-home-recruit .c-heading-sect {
  margin-bottom: 20px;
  font-size: 32px;
  text-align: start;
}
@media screen and (max-width: 999px) {
  .l-sect-home-recruit .c-heading-sect {
    text-align: center;
  }
}

/*------ 園からのお知らせ＆日々の活動日記 -------*/
.l-sect-home-blog {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.l-sect-home-blog__horiz {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: calc(88px / var(--ark-width--container) * 100%);
     -moz-column-gap: calc(88px / var(--ark-width--container) * 100%);
          column-gap: calc(88px / var(--ark-width--container) * 100%);
}
@media screen and (max-width: 999px) {
  .l-sect-home-blog__horiz {
    display: block;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
}

.l-sect-home-blog__col {
  min-width: 0;
}
.l-sect-home-blog__col.--news {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}
.l-sect-home-blog__col.--diary {
  -ms-flex-preferred-size: calc(490px / var(--ark-width--container) * 100%);
      flex-basis: calc(490px / var(--ark-width--container) * 100%);
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 999px) {
  .l-sect-home-blog__col.--diary {
    margin-top: 64px;
  }
}

.l-sect-home-blog .c-heading-sect {
  margin-bottom: 24px;
}

.l-sect-home-blog .c-label-more {
  margin-top: 32px;
  margin-right: auto;
  margin-left: auto;
}

/*------ 子育て支援のご案内 -------*/
.l-sect.l-sect-home-support {
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 999px) {
  .l-sect.l-sect-home-support {
    padding-top: 72px;
  }
}

.l-sect-home-support {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #FFEEA9), color-stop(50%, #FFFAE5));
  background-image: linear-gradient(0deg, #FFEEA9 50%, #FFFAE5 50%);
}
@media screen and (min-width: 1000px) {
  .l-sect-home-support {
    padding-left: var(--ark-padding--container);
    padding-right: var(--ark-padding--container);
  }
}

.l-sect-home-support__frame {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-top: 80px;
  padding-bottom: 80px;
  width: 100%;
  max-width: var(--ark-width--container--wide);
  background-color: #FFD341;
  border-radius: 32px;
}
@media screen and (max-width: 999px) {
  .l-sect-home-support__frame {
    padding-top: 72px;
    padding-bottom: 64px;
  }
}

.l-sect-home-support__bubble {
  position: absolute;
  top: -100px;
  left: 40px;
  z-index: 1;
  display: block;
  width: 414px;
  height: auto;
}
@media screen and (max-width: 999px) {
  .l-sect-home-support__bubble {
    width: 272px;
    top: -72px;
    left: unset;
    right: calc(50% - 96px);
  }
}

.l-sect-home-support__hiyoko {
  position: absolute;
  top: -88px;
  right: 40px;
  z-index: 2;
  display: block;
  width: 200px;
  height: auto;
}
@media screen and (max-width: 999px) {
  .l-sect-home-support__hiyoko {
    width: 100px;
    top: -46px;
    right: unset;
    left: calc(50% + 72px);
  }
}

.l-sect-home-support .c-heading-sect {
  margin-bottom: 32px;
}

/* Object > Component
 * 接頭辞：c-
 * 再利用できるパターンとして最小単位のモジュールを定義
======================================*/
/****** 見出し/タイトル ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  セクション見出し
--------------------------------*/
.c-heading-sect {
  font-size: 40px;
  font-weight: 700;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 999px) {
  .c-heading-sect {
    font-size: 32px;
  }
}

.c-heading-sect .__en {
  display: block;
  font-size: 20px;
  color: #FF823F;
}
.c-heading-sect .__en > *:nth-child(odd) {
  color: #FF693F;
}

/*------ 寒色 -------*/
.c-heading-sect.--coldColor {
  color: #FFFFFF;
}

.c-heading-sect.--coldColor .__en {
  color: #1A8D83;
}
.c-heading-sect.--coldColor .__en > *:nth-child(odd) {
  color: #066C63;
}

/*------ 暖色 -------*/
.c-heading-sect.--warmColor {
  color: var(--ark-color--main);
}

.c-heading-sect.--warmColor .__en {
  color: #FFD518;
}
.c-heading-sect.--warmColor .__en > *:nth-child(odd) {
  color: #FFAB23;
}

/*--------------------------------
 *  ウェーブアニメーション
--------------------------------*/
[data-wave] span {
  display: inline-block;
  opacity: 0;
}

[data-wave=true] span {
  -webkit-animation: text_anime_on 1s ease-in-out forwards;
          animation: text_anime_on 1s ease-in-out forwards;
}

@-webkit-keyframes text_anime_on {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  70% {
    opacity: 0.5;
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes text_anime_on {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  70% {
    opacity: 0.5;
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
/****** ラベル ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
*  錠剤型
--------------------------------*/
.c-label-capsule {
  display: block;
  padding: 8px 20px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  border-radius: 100vh;
  background-color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ark-color--main);
}

/*--------------------------------
 *  住所
--------------------------------*/
.c-label-address {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 999px) {
  .c-label-address {
    font-size: 18px;
  }
}

/*--------------------------------
 *  電話番号
--------------------------------*/
.c-label-tel {
  display: block;
  font-size: 60px;
  font-weight: 500;
  line-height: 1;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 999px) {
  .c-label-tel {
    font-size: 40px;
  }
}

/*--------------------------------
 *  営業時間
--------------------------------*/
.c-label-hour {
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: inherit;
}

/*--------------------------------
 *  詳しく見る
--------------------------------*/
.c-label-more {
  display: block;
  padding-right: 1.2em;
  padding-bottom: 0.1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  color: var(--ark-color--main);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5IDgiPiA8cGF0aCBmaWxsPSIjZmY2OTNmIiBkPSJNOC4zNzMgMy4wMzdhMS4wNTQgMS4wNTQgMCAwIDEgMCAxLjkyN0wxLjQgNy45MkExLjAxNyAxLjAxNyAwIDAgMSAwIDYuOTU2VjEuMDQzQTEuMDE3IDEuMDE3IDAgMCAxIDEuNC4wNzlaIiBkYXRhLW5hbWU9IkZvb3RlciBpY29uIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: 0.5em auto;
  background-position: right 0.25em center;
  -webkit-transition: background-position 0.3s ease;
  transition: background-position 0.3s ease;
}
.c-label-more:hover {
  background-position: right center;
}

/****** ボタン ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  詳しく見る
--------------------------------*/
.c-btn-more {
  display: block;
  padding-top: 1em;
  padding-right: 2.375em;
  padding-bottom: 1em;
  padding-left: 3em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  border-radius: 100vh;
  text-decoration: none;
  background-color: #FFD341;
  color: inherit;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iQnV0dG9uIGljb24iIHZpZXdCb3g9IjAgMCAzMCAzMCI+IDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xNSAwQTE1IDE1IDAgMSAxIDAgMTUgMTUgMTUgMCAwIDEgMTUgMCIvPiA8cGF0aCBmaWxsPSIjZmY2OTNmIiBkPSJNMTkuNzU4IDE0LjA3NWExIDEgMCAwIDEgMCAxLjg0OWwtNi44NzcgMi44MzZhMSAxIDAgMCAxLTEuMzgxLS45MjR2LTUuNjcyYTEgMSAwIDAgMSAxLjM4MS0uOTI0WiIvPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-size: 1.25em auto;
  background-position: left 1.125em center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 999px) {
  .c-btn-more {
    font-size: 18px;
  }
}

.c-btn-more:hover {
  background-color: #FF693F;
  color: #FFFFFF;
}

/*--------------------------------
 *  詳しく見る（小）
--------------------------------*/
.c-btn-more-small {
  display: block;
  padding-top: 0.875em;
  padding-right: 2.375em;
  padding-bottom: 0.875em;
  padding-left: 3.25em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  border-radius: 100vh;
  text-decoration: none;
  background-color: #FFD341;
  color: inherit;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iQnV0dG9uIGljb24iIHZpZXdCb3g9IjAgMCAzMCAzMCI+IDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xNSAwQTE1IDE1IDAgMSAxIDAgMTUgMTUgMTUgMCAwIDEgMTUgMCIvPiA8cGF0aCBmaWxsPSIjZmY2OTNmIiBkPSJNMTkuNzU4IDE0LjA3NWExIDEgMCAwIDEgMCAxLjg0OWwtNi44NzcgMi44MzZhMSAxIDAgMCAxLTEuMzgxLS45MjR2LTUuNjcyYTEgMSAwIDAgMSAxLjM4MS0uOTI0WiIvPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-size: 1.5em auto;
  background-position: left 1.125em center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 999px) {
  .c-btn-more-small {
    font-size: 18px;
  }
}

.c-btn-more-small:hover {
  background-color: #FF693F;
  color: #FFFFFF;
}

/*--------------------------------
 *  ハンバーガーメニュー（menu）
--------------------------------*/
.c-btn-menu {
  width: 80px;
  height: auto;
  aspect-ratio: 1/1;
  border-bottom-left-radius: 24px;
  border-width: 0;
  background-color: #FFD341;
  background-image: url("../img/other/menu.svg");
  background-repeat: no-repeat;
  background-size: 40px auto;
  background-position: center;
}

.c-btn-menu::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 100%;
  width: 14px;
  height: auto;
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCI+IDxwYXRoIGZpbGw9IiNmZmQzNDEiIGQ9Ik0xNCAxNEExNCAxNCAwIDAgMCAwIDBoMTRaIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.c-btn-menu::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  right: 0;
  width: 14px;
  height: auto;
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCI+IDxwYXRoIGZpbGw9IiNmZmQzNDEiIGQ9Ik0xNCAxNEExNCAxNCAwIDAgMCAwIDBoMTRaIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/*--------------------------------
 *  ハンバーガーメニュー（close）
--------------------------------*/
.c-btn-close {
  width: 80px;
  height: auto;
  aspect-ratio: 1/1;
  border-width: 0;
  background-color: transparent;
  background-image: url("../img/other/close.svg");
  background-repeat: no-repeat;
  background-size: 40px auto;
  background-position: center;
}

/****** サイトロゴ ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.c-siteLogo-footer {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
}

.c-siteLogo-footer img {
  display: block;
  max-width: auto;
  height: 64px;
}

/****** セパレーター ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.c-separator-deco {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
}

.c-separator-deco.--01 {
  margin-bottom: -1px;
  background-image: url("../img/texture/07.png");
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center;
  aspect-ratio: 1920/176;
}

.c-separator-deco.--02 {
  margin-top: -1px;
  background-image: url("../img/texture/08.png");
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center;
  aspect-ratio: 1920/40;
}

/****** デコレーション ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.c-deco-tree {
  position: absolute;
  z-index: 1;
  display: block;
  width: 6vw;
  height: auto;
}

.c-deco-tree.--07 {
  top: -1vw;
  left: 5vw;
}

.c-deco-tree.--05 {
  top: 2.2vw;
  left: 40.27vw;
}

.c-deco-tree.--20 {
  top: -1vw;
  right: 28.12vw;
}

.c-deco-tree.--10 {
  top: 5vw;
  right: 8.1vw;
}

.c-deco-tree.--24 {
  top: 4.5vw;
  right: 2vw;
}

.c-deco-tree.--12 {
  top: 5vw;
  left: 14.5vw;
}

.c-deco-tree.--18 {
  top: -2vw;
  right: 43vw;
}

.c-deco-tree.--11 {
  top: 10vw;
  right: 5vw;
}

.c-deco-tree.--08 {
  bottom: 2vw;
  left: 4.5vw;
}

.c-deco-tree.--21 {
  bottom: 11.5vw;
  right: 5vw;
}

/* Object > Project
 * 接頭辞：p-
 * 再利用できるパターンとしてComponentの集合体を定義
 * もしくはComponentとするには大きすぎるObject（4階層構造以上を目安）を定義
======================================*/
/****** ナビゲーション ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  ヘッダーメニュー
--------------------------------*/
.p-nav-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  list-style-type: none;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
}

.p-nav-header .menu-item {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.p-nav-header .menu-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2px;
  color: inherit;
  text-decoration: none;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.p-nav-header .menu-item a:hover {
  color: var(--ark-color--main);
}

.p-nav-header .menu-item svg {
  width: auto;
  height: 32px;
}

/*--------------------------------
 *  フッターメニュー
--------------------------------*/
.p-nav-footer__unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 32px;
     -moz-column-gap: 32px;
          column-gap: 32px;
  row-gap: 32px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 999px) {
  .p-nav-footer__unit {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 16px 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    row-gap: 16px;
    font-size: 16px;
  }
}

.p-nav-footer {
  min-width: 0;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0;
  list-style-type: none;
}

.p-nav-footer .menu-item {
  margin-bottom: 16px;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.p-nav-footer .menu-item:last-of-type {
  margin-bottom: 0 !important;
}

.p-nav-footer .menu-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  color: inherit;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.p-nav-footer .menu-item a:hover {
  color: var(--ark-color--main);
}

.p-nav-footer .menu-item svg {
  width: auto;
  height: 1.5em;
}

.p-nav-footer .sub-menu {
  padding-top: 16px;
  padding-left: 2.5em;
  font-weight: 500;
  list-style-type: none;
}

.p-nav-footer .sub-menu .menu-item {
  background-repeat: no-repeat;
  background-size: auto 0.4em;
  background-position: left 0.2em top 0.525em;
  padding-left: 1em;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5IDgiPiA8cGF0aCBmaWxsPSIjZmY2OTNmIiBkPSJNOC4zNzMgMy4wMzdhMS4wNTQgMS4wNTQgMCAwIDEgMCAxLjkyN0wxLjQgNy45MkExLjAxNyAxLjAxNyAwIDAgMSAwIDYuOTU2VjEuMDQzQTEuMDE3IDEuMDE3IDAgMCAxIDEuNC4wNzlaIiBkYXRhLW5hbWU9IkZvb3RlciBpY29uIi8+PC9zdmc+");
}

/*--------------------------------
 *  ドロワーメニュー
--------------------------------*/
.p-nav-drawer {
  padding: 0;
  list-style-type: none;
}

.p-nav-drawer .menu-item {
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iR3JvdXAgMzQiIHZpZXdCb3g9IjAgMCAxMyAxMyI+IDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMyA2LjVBNi41IDYuNSAwIDEgMSA2LjUgMCA2LjUgNi41IDAgMCAxIDEzIDYuNSIvPiA8cGF0aCBmaWxsPSIjZmY2OTNmIiBkPSJNOS4yMyA2LjA3NGEuNDY0LjQ2NCAwIDAgMSAwIC44NTJMNS4yOTIgOC42MzFhLjQ2NC40NjQgMCAwIDEtLjY0OS0uNDI2VjQuNzk0YS40NjQuNDY0IDAgMCAxIC42NDktLjQyNloiLz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-size: 13px auto;
  background-position: left 3px center;
  border-bottom: 1px solid #FFFFFF;
}
.p-nav-drawer .menu-item:last-of-type {
  border-bottom-width: 0;
}

.p-nav-drawer .menu-item a {
  text-decoration: none;
  color: inherit;
}

/****** カード ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  ひな保育園のこと
--------------------------------*/
.p-card-about__unit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr calc(32px / var(--ark-width--container) * 100%) 1fr calc(32px / var(--ark-width--container) * 100%) 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: calc(32px / var(--ark-width--container) * 100%);
     -moz-column-gap: calc(32px / var(--ark-width--container) * 100%);
          column-gap: calc(32px / var(--ark-width--container) * 100%);
  row-gap: 24px;
}
@media screen and (max-width: 999px) {
  .p-card-about__unit {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-card-about__unit > *:first-child {
    width: 50%;
    -ms-grid-column-span: 2;
    grid-column: span 2;
    -ms-grid-column-align: center;
        justify-self: center;
    grid-column: span 2;
  }
}

.p-card-about {
  position: relative;
  min-width: 0;
  aspect-ratio: 1/1;
}

.p-card-about__link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

.p-card-about__img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-card-about__img img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-card-about:hover .p-card-about__img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

/*--------------------------------
 *  子育て支援のご案内
--------------------------------*/
.p-card-support__unit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr calc(32px / var(--ark-width--container) * 100%) 1fr calc(32px / var(--ark-width--container) * 100%) 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: calc(32px / var(--ark-width--container) * 100%);
     -moz-column-gap: calc(32px / var(--ark-width--container) * 100%);
          column-gap: calc(32px / var(--ark-width--container) * 100%);
  row-gap: 24px;
}
@media screen and (min-width: 601px) and (max-width: 999px) {
  .p-card-support__unit {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .p-card-support__unit > *:first-child {
    width: 50%;
    -ms-grid-column-span: 2;
    grid-column: span 2;
    -ms-grid-column-align: center;
        justify-self: center;
    grid-column: span 2;
  }
}
@media screen and (max-width: 600px) {
  .p-card-support__unit {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

.p-card-support {
  position: relative;
  padding: 40px;
  min-width: 0;
  background-color: #FFFFFF;
  border-radius: 24px;
}
@media screen and (max-width: 600px) {
  .p-card-support {
    padding: 40px 32px;
  }
}

.p-card-support .__dot {
  position: absolute;
  display: block;
  width: 16px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  background-color: #FFD341;
}
@media screen and (max-width: 600px) {
  .p-card-support .__dot {
    width: 14px;
  }
}
.p-card-support .__dot.--top-left {
  top: 16px;
  left: 16px;
}
.p-card-support .__dot.--top-right {
  top: 16px;
  right: 16px;
}
.p-card-support .__dot.--bottom-left {
  bottom: 16px;
  left: 16px;
}
.p-card-support .__dot.--bottom-right {
  bottom: 16px;
  right: 16px;
}

.p-card-support__title {
  margin-bottom: 24px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--ark-color--main);
  text-align: center;
}

.p-card-support__desc {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 600px) {
  .p-card-support__desc {
    font-size: 16px;
  }
}

/****** メディアとテキスト ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  職員採用について
--------------------------------*/
.p-mediaText-recruit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 48px;
     -moz-column-gap: 48px;
          column-gap: 48px;
  padding-top: 56px;
}
@media screen and (max-width: 999px) {
  .p-mediaText-recruit {
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;
    display: block;
    max-width: 600px;
  }
}

.p-mediaText-recruit__col {
  min-width: 0;
}
.p-mediaText-recruit__col.--text {
  -ms-flex-preferred-size: 376px;
      flex-basis: 376px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.p-mediaText-recruit__col.--media {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 999px) {
  .p-mediaText-recruit__col.--media {
    margin-top: 64px;
  }
}

.p-mediaText-recruit__desc > * {
  margin-bottom: 1em;
}
.p-mediaText-recruit__desc > *:first-child {
  margin-top: 0;
}
.p-mediaText-recruit__desc > *:last-child {
  margin-bottom: 0;
}
.p-mediaText-recruit__desc {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.77;
  color: #FFFFFF;
}
@media screen and (max-width: 999px) {
  .p-mediaText-recruit__desc {
    text-align: center;
  }
}

.p-mediaText-recruit .c-btn-more-small {
  margin-top: 32px;
}
@media screen and (max-width: 999px) {
  .p-mediaText-recruit .c-btn-more-small {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-mediaText-recruit__imgWrapper {
  position: relative;
  padding-right: 28.3505154639%;
}
@media screen and (max-width: 999px) {
  .p-mediaText-recruit__imgWrapper {
    padding-right: 14.328358209%;
  }
}

.p-mediaText-recruit__photo {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: 24px;
}

.p-mediaText-recruit__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.p-mediaText-recruit__texture {
  position: absolute;
  top: -56px;
  right: 0;
  z-index: 1;
  display: block;
  width: 27.9639175258%;
  height: auto;
}
@media screen and (max-width: 999px) {
  .p-mediaText-recruit__texture {
    width: 35.8208955224%;
  }
}

.p-mediaText-recruit__texture img {
  display: block;
  width: 100%;
  height: auto;
}

/****** 投稿リスト ******/
/*--------------------------------
 *  お知らせ
--------------------------------*/
.p-postList-news__unit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  row-gap: 24px;
  padding: 0;
  list-style-type: none;
}

.p-postList-news {
  position: relative;
}

.p-postList-news__link {
  display: block;
  padding: 20px 24px;
  text-decoration: none;
  color: inherit;
  background-color: #FFFFFF;
  border: 1px solid #FFD518;
  border-radius: 12px;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.p-postList-news__link:hover {
  background-color: #FFD518;
}

.p-postList-news__date {
  display: block;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--ark-color--main);
}

.p-postList-news__title {
  display: block;
  margin-top: 4px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
}

/*--------------------------------
 *  活動日記
--------------------------------*/
.p-postList-diary__unit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  row-gap: 24px;
  padding: 0;
  list-style-type: none;
}

.p-postList-diary {
  position: relative;
}

.p-postList-diary__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  color: inherit;
}

.p-postList-diary__thumb {
  position: relative;
  z-index: 0;
  display: block;
  margin-bottom: 12px;
  width: 100%;
  aspect-ratio: 1.618/1;
}

.p-postList-diary__thumb > * {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 20px;
}

.p-postList-diary__thumb .__shadow {
  content: "";
  z-index: -1;
  background-color: #FFE988;
  -webkit-transform: rotate(6deg);
          transform: rotate(6deg);
}

.p-postList-diary__thumb img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-postList-diary__date {
  display: block;
  color: #FF693F;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.45;
}

.p-postList-diary__title {
  display: block;
  margin-top: 4px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
}

/****** スライダー ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  キービジュアル
--------------------------------*/
.p-slider-keyVisual {
  width: 100%;
  height: 100%;
}

.p-slider-keyVisual__item {
  height: 100%;
}

.p-slider-keyVisual__img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.p-slider-keyVisual__img img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-slider-keyVisual .p-slider-keyVisual__img img {
  -webkit-transition: 7s 1s ease-out;
  transition: 7s 1s ease-out;
}

.p-slider-keyVisual .swiper-slide[class*=-active] .p-slider-keyVisual__img img {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

/*--------------------------------
 *  フォトフレーム
--------------------------------*/
.p-slider-photoFrame {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  aspect-ratio: 1/1;
}

.p-slider-photoFrame > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  -webkit-transition: opacity var(--fade, 600ms) ease;
  transition: opacity var(--fade, 600ms) ease;
  pointer-events: none;
}

.p-slider-photoFrame > img.is-active {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .p-slider-photoFrame > img {
    -webkit-transition: none;
    transition: none;
  }
}
/*--------------------------------
 *  キービジュアルアニメーションコンテナー
--------------------------------*/
.p-slider-container {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 200px;
}
@media screen and (max-width: 999px) {
  .p-slider-container {
    height: 100px;
  }
}

/*--------------------------------
 *  草原
--------------------------------*/
.p-slider-ground {
  position: absolute;
  left: 0;
  bottom: 39px;
  display: block;
  width: 100%;
  height: 80px;
}
@media screen and (max-width: 999px) {
  .p-slider-ground {
    bottom: 15px;
    height: 40px;
  }
}

.p-slider-ground img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: auto;
  max-width: unset;
  height: 100%;
}
.p-slider-ground img.--01 {
  -webkit-animation: to-right-1 50s linear infinite;
          animation: to-right-1 50s linear infinite;
}
@media screen and (max-width: 999px) {
  .p-slider-ground img.--01 {
    -webkit-animation-duration: 80s;
            animation-duration: 80s;
  }
}
.p-slider-ground img.--02 {
  -webkit-animation: to-right-2 50s linear infinite;
          animation: to-right-2 50s linear infinite;
}
@media screen and (max-width: 999px) {
  .p-slider-ground img.--02 {
    -webkit-animation-duration: 80s;
            animation-duration: 80s;
  }
}

/*--------------------------------
 *  切り絵の木
--------------------------------*/
.p-slider-tree {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

.p-slider-tree .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.p-slider-tree .swiper-slide {
  width: 160px;
}
@media screen and (max-width: 999px) {
  .p-slider-tree .swiper-slide {
    width: 80px;
  }
}

/*--------------------------------
*  切り絵のひよこ
--------------------------------*/
.p-slider-chick {
  position: absolute;
  right: 160px;
  bottom: 0;
  z-index: 2;
  width: 136px;
  aspect-ratio: 1/1;
  background-image: url("../img/texture/03.png");
  background-repeat: no-repeat;
  background-size: 200% 200%;
  -webkit-animation: sprite 5s steps(1) infinite;
          animation: sprite 5s steps(1) infinite;
}
@media screen and (max-width: 999px) {
  .p-slider-chick {
    right: 32px;
    width: 80px;
  }
}

/****** ドロワーメニュー ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.p-drawer-custom {
  position: fixed;
  left: 0;
  top: 0;
  display: block;
  height: 100%;
  font-size: 16px;
  -webkit-transition: opacity 0s;
  transition: opacity 0s;
  width: 100%;
  z-index: 101;
}

.p-drawer-custom__inner {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  margin-top: var(--ark-adminbar_height, 0px);
  padding-top: 0;
  width: 85.5vw;
  height: calc(100% - var(--ark-adminbar_height, 0px));
  font-size: inherit;
  background-color: transparent !important;
  transition: transform 0.45s, -webkit-transform 0.45s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transform: translateX(100vw);
          transform: translateX(100vw);
}

.p-drawer-custom__inner::before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
  background-color: #FFE988;
}

.p-drawer-custom__body {
  position: relative;
  padding-top: var(--ark-header_height, 80px);
  padding-right: 16px;
  padding-bottom: 64px;
  padding-left: 16px;
  height: 100%;
  overflow-y: scroll;
}

.p-drawer-custom__overlay {
  background: #6D3F2F;
  opacity: 0.3;
  -webkit-transition: opacity 0.5s, visibility 0.5s;
  transition: opacity 0.5s, visibility 0.5s;
}

.p-drawer-custom .c-label-capsule {
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
}

.p-drawer-custom .c-btn-close {
  position: absolute;
  top: 0;
  right: 0;
}

.p-drawer-custom .c-label-tel {
  margin-top: 16px;
  text-align: center;
}

.p-drawer-custom .c-label-hour {
  margin-top: 8px;
  text-align: center;
}

/*------ 格納時 -------*/
[data-drawer=closed] .p-drawer-custom {
  opacity: 0;
  pointer-events: none;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
[data-drawer=closed] .p-drawer-custom__overlay {
  opacity: 0;
  visibility: hidden;
}

/*------ 展開時 -------*/
[data-drawer=opened] .p-drawer-custom__inner {
  -webkit-transform: translateX(0) !important;
  transform: translateX(0) !important;
}

/****** ページタイトル ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.p-topArea {
  padding: 1rem 0;
  min-height: 232px;
}
@media screen and (max-width: 999px) {
  .p-topArea {
    min-height: 150px;
  }
}

.p-topArea__body {
  text-shadow: none;
}

.p-topArea__title h1 {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 0.8em 1.6em 0.9em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ark-color--main);
  background-color: #FFF;
  border: 6px solid #FFD341;
  border-radius: 100vh;
}
@media screen and (max-width: 999px) {
  .p-topArea__title h1 {
    font-size: 24px;
    border-width: 4px;
  }
}

/* Utility
 * 接頭辞：u-
 * スポットで状態変化させたいmarginなどの補助クラスを定義
======================================*/
/****** マージン ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.u-mt0 {
  margin-top: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mt0e {
  margin-top: 0em !important;
}

.u-mb0e {
  margin-bottom: 0em !important;
}

.u-mt0_25e {
  margin-top: 0.25em !important;
}

.u-mb0_25e {
  margin-bottom: 0.25em !important;
}

.u-mt0_5e {
  margin-top: 0.5em !important;
}

.u-mb0_5e {
  margin-bottom: 0.5em !important;
}

.u-mt0_75e {
  margin-top: 0.75em !important;
}

.u-mb0_75e {
  margin-bottom: 0.75em !important;
}

.u-mt1e {
  margin-top: 1em !important;
}

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

.u-mt1_25e {
  margin-top: 1.25em !important;
}

.u-mb1_25e {
  margin-bottom: 1.25em !important;
}

.u-mt1_5e {
  margin-top: 1.5em !important;
}

.u-mb1_5e {
  margin-bottom: 1.5em !important;
}

.u-mt1_75e {
  margin-top: 1.75em !important;
}

.u-mb1_75e {
  margin-bottom: 1.75em !important;
}

.u-mt2e {
  margin-top: 2em !important;
}

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

.u-mt2_25e {
  margin-top: 2.25em !important;
}

.u-mb2_25e {
  margin-bottom: 2.25em !important;
}

.u-mt2_5e {
  margin-top: 2.5em !important;
}

.u-mb2_5e {
  margin-bottom: 2.5em !important;
}

@media screen and (min-width: 1000px) {
  .l-mt0 {
    margin-top: 0px !important;
  }
  .l-mb0 {
    margin-bottom: 0px !important;
  }
  .l-mt5 {
    margin-top: 5px !important;
  }
  .l-mb5 {
    margin-bottom: 5px !important;
  }
  .l-mt10 {
    margin-top: 10px !important;
  }
  .l-mb10 {
    margin-bottom: 10px !important;
  }
  .l-mt15 {
    margin-top: 15px !important;
  }
  .l-mb15 {
    margin-bottom: 15px !important;
  }
  .l-mt20 {
    margin-top: 20px !important;
  }
  .l-mb20 {
    margin-bottom: 20px !important;
  }
  .l-mt25 {
    margin-top: 25px !important;
  }
  .l-mb25 {
    margin-bottom: 25px !important;
  }
  .l-mt30 {
    margin-top: 30px !important;
  }
  .l-mb30 {
    margin-bottom: 30px !important;
  }
  .l-mt35 {
    margin-top: 35px !important;
  }
  .l-mb35 {
    margin-bottom: 35px !important;
  }
  .l-mt40 {
    margin-top: 40px !important;
  }
  .l-mb40 {
    margin-bottom: 40px !important;
  }
  .l-mt45 {
    margin-top: 45px !important;
  }
  .l-mb45 {
    margin-bottom: 45px !important;
  }
  .l-mt50 {
    margin-top: 50px !important;
  }
  .l-mb50 {
    margin-bottom: 50px !important;
  }
  .l-mt0e {
    margin-top: 0em !important;
  }
  .l-mb0e {
    margin-bottom: 0em !important;
  }
  .l-mt0_25e {
    margin-top: 0.25em !important;
  }
  .l-mb0_25e {
    margin-bottom: 0.25em !important;
  }
  .l-mt0_5e {
    margin-top: 0.5em !important;
  }
  .l-mb0_5e {
    margin-bottom: 0.5em !important;
  }
  .l-mt0_75e {
    margin-top: 0.75em !important;
  }
  .l-mb0_75e {
    margin-bottom: 0.75em !important;
  }
  .l-mt1e {
    margin-top: 1em !important;
  }
  .l-mb1e {
    margin-bottom: 1em !important;
  }
  .l-mt1_25e {
    margin-top: 1.25em !important;
  }
  .l-mb1_25e {
    margin-bottom: 1.25em !important;
  }
  .l-mt1_5e {
    margin-top: 1.5em !important;
  }
  .l-mb1_5e {
    margin-bottom: 1.5em !important;
  }
  .l-mt1_75e {
    margin-top: 1.75em !important;
  }
  .l-mb1_75e {
    margin-bottom: 1.75em !important;
  }
  .l-mt2e {
    margin-top: 2em !important;
  }
  .l-mb2e {
    margin-bottom: 2em !important;
  }
  .l-mt2_25e {
    margin-top: 2.25em !important;
  }
  .l-mb2_25e {
    margin-bottom: 2.25em !important;
  }
  .l-mt2_5e {
    margin-top: 2.5em !important;
  }
  .l-mb2_5e {
    margin-bottom: 2.5em !important;
  }
}
@media screen and (min-width: 601px) and (max-width: 999px) {
  .l-mt0 {
    margin-top: 0px !important;
  }
  .l-mb0 {
    margin-bottom: 0px !important;
  }
  .l-mt5 {
    margin-top: 5px !important;
  }
  .l-mb5 {
    margin-bottom: 5px !important;
  }
  .l-mt10 {
    margin-top: 10px !important;
  }
  .l-mb10 {
    margin-bottom: 10px !important;
  }
  .l-mt15 {
    margin-top: 15px !important;
  }
  .l-mb15 {
    margin-bottom: 15px !important;
  }
  .l-mt20 {
    margin-top: 20px !important;
  }
  .l-mb20 {
    margin-bottom: 20px !important;
  }
  .l-mt25 {
    margin-top: 25px !important;
  }
  .l-mb25 {
    margin-bottom: 25px !important;
  }
  .l-mt30 {
    margin-top: 30px !important;
  }
  .l-mb30 {
    margin-bottom: 30px !important;
  }
  .l-mt35 {
    margin-top: 35px !important;
  }
  .l-mb35 {
    margin-bottom: 35px !important;
  }
  .l-mt40 {
    margin-top: 40px !important;
  }
  .l-mb40 {
    margin-bottom: 40px !important;
  }
  .l-mt45 {
    margin-top: 45px !important;
  }
  .l-mb45 {
    margin-bottom: 45px !important;
  }
  .l-mt50 {
    margin-top: 50px !important;
  }
  .l-mb50 {
    margin-bottom: 50px !important;
  }
  .m-mt0e {
    margin-top: 0em !important;
  }
  .m-mb0e {
    margin-bottom: 0em !important;
  }
  .m-mt0_25e {
    margin-top: 0.25em !important;
  }
  .m-mb0_25e {
    margin-bottom: 0.25em !important;
  }
  .m-mt0_5e {
    margin-top: 0.5em !important;
  }
  .m-mb0_5e {
    margin-bottom: 0.5em !important;
  }
  .m-mt0_75e {
    margin-top: 0.75em !important;
  }
  .m-mb0_75e {
    margin-bottom: 0.75em !important;
  }
  .m-mt1e {
    margin-top: 1em !important;
  }
  .m-mb1e {
    margin-bottom: 1em !important;
  }
  .m-mt1_25e {
    margin-top: 1.25em !important;
  }
  .m-mb1_25e {
    margin-bottom: 1.25em !important;
  }
  .m-mt1_5e {
    margin-top: 1.5em !important;
  }
  .m-mb1_5e {
    margin-bottom: 1.5em !important;
  }
  .m-mt1_75e {
    margin-top: 1.75em !important;
  }
  .m-mb1_75e {
    margin-bottom: 1.75em !important;
  }
  .m-mt2e {
    margin-top: 2em !important;
  }
  .m-mb2e {
    margin-bottom: 2em !important;
  }
  .m-mt2_25e {
    margin-top: 2.25em !important;
  }
  .m-mb2_25e {
    margin-bottom: 2.25em !important;
  }
  .m-mt2_5e {
    margin-top: 2.5em !important;
  }
  .m-mb2_5e {
    margin-bottom: 2.5em !important;
  }
}
@media screen and (max-width: 600px) {
  .s-mt0 {
    margin-top: 0px !important;
  }
  .s-mb0 {
    margin-bottom: 0px !important;
  }
  .s-mt5 {
    margin-top: 5px !important;
  }
  .s-mb5 {
    margin-bottom: 5px !important;
  }
  .s-mt10 {
    margin-top: 10px !important;
  }
  .s-mb10 {
    margin-bottom: 10px !important;
  }
  .s-mt15 {
    margin-top: 15px !important;
  }
  .s-mb15 {
    margin-bottom: 15px !important;
  }
  .s-mt20 {
    margin-top: 20px !important;
  }
  .s-mb20 {
    margin-bottom: 20px !important;
  }
  .s-mt25 {
    margin-top: 25px !important;
  }
  .s-mb25 {
    margin-bottom: 25px !important;
  }
  .s-mt30 {
    margin-top: 30px !important;
  }
  .s-mb30 {
    margin-bottom: 30px !important;
  }
  .s-mt35 {
    margin-top: 35px !important;
  }
  .s-mb35 {
    margin-bottom: 35px !important;
  }
  .s-mt40 {
    margin-top: 40px !important;
  }
  .s-mb40 {
    margin-bottom: 40px !important;
  }
  .s-mt45 {
    margin-top: 45px !important;
  }
  .s-mb45 {
    margin-bottom: 45px !important;
  }
  .s-mt50 {
    margin-top: 50px !important;
  }
  .s-mb50 {
    margin-bottom: 50px !important;
  }
  .s-mt0e {
    margin-top: 0em !important;
  }
  .s-mb0e {
    margin-bottom: 0em !important;
  }
  .s-mt0_25e {
    margin-top: 0.25em !important;
  }
  .s-mb0_25e {
    margin-bottom: 0.25em !important;
  }
  .s-mt0_5e {
    margin-top: 0.5em !important;
  }
  .s-mb0_5e {
    margin-bottom: 0.5em !important;
  }
  .s-mt0_75e {
    margin-top: 0.75em !important;
  }
  .s-mb0_75e {
    margin-bottom: 0.75em !important;
  }
  .s-mt1e {
    margin-top: 1em !important;
  }
  .s-mb1e {
    margin-bottom: 1em !important;
  }
  .s-mt1_25e {
    margin-top: 1.25em !important;
  }
  .s-mb1_25e {
    margin-bottom: 1.25em !important;
  }
  .s-mt1_5e {
    margin-top: 1.5em !important;
  }
  .s-mb1_5e {
    margin-bottom: 1.5em !important;
  }
  .s-mt1_75e {
    margin-top: 1.75em !important;
  }
  .s-mb1_75e {
    margin-bottom: 1.75em !important;
  }
  .s-mt2e {
    margin-top: 2em !important;
  }
  .s-mb2e {
    margin-bottom: 2em !important;
  }
  .s-mt2_25e {
    margin-top: 2.25em !important;
  }
  .s-mb2_25e {
    margin-bottom: 2.25em !important;
  }
  .s-mt2_5e {
    margin-top: 2.5em !important;
  }
  .s-mb2_5e {
    margin-bottom: 2.5em !important;
  }
}
/****** パディング ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
.u-pt0 {
  padding-top: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pt0e {
  margin-top: 0em !important;
}

.u-pb0e {
  margin-bottom: 0em !important;
}

.u-pt0_25e {
  margin-top: 0.25em !important;
}

.u-pb0_25e {
  margin-bottom: 0.25em !important;
}

.u-pt0_5e {
  margin-top: 0.5em !important;
}

.u-pb0_5e {
  margin-bottom: 0.5em !important;
}

.u-pt0_75e {
  margin-top: 0.75em !important;
}

.u-pb0_75e {
  margin-bottom: 0.75em !important;
}

.u-pt1e {
  margin-top: 1em !important;
}

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

.u-pt1_25e {
  margin-top: 1.25em !important;
}

.u-pb1_25e {
  margin-bottom: 1.25em !important;
}

.u-pt1_5e {
  margin-top: 1.5em !important;
}

.u-pb1_5e {
  margin-bottom: 1.5em !important;
}

.u-pt1_75e {
  margin-top: 1.75em !important;
}

.u-pb1_75e {
  margin-bottom: 1.75em !important;
}

.u-pt2e {
  margin-top: 2em !important;
}

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

.u-pt2_25e {
  margin-top: 2.25em !important;
}

.u-pb2_25e {
  margin-bottom: 2.25em !important;
}

.u-pt2_5e {
  margin-top: 2.5em !important;
}

.u-pb2_5e {
  margin-bottom: 2.5em !important;
}

@media screen and (min-width: 1000px) {
  .l-pt0 {
    padding-top: 0px !important;
  }
  .l-pb0 {
    padding-bottom: 0px !important;
  }
  .l-pt5 {
    padding-top: 5px !important;
  }
  .l-pb5 {
    padding-bottom: 5px !important;
  }
  .l-pt10 {
    padding-top: 10px !important;
  }
  .l-pb10 {
    padding-bottom: 10px !important;
  }
  .l-pt15 {
    padding-top: 15px !important;
  }
  .l-pb15 {
    padding-bottom: 15px !important;
  }
  .l-pt20 {
    padding-top: 20px !important;
  }
  .l-pb20 {
    padding-bottom: 20px !important;
  }
  .l-pt25 {
    padding-top: 25px !important;
  }
  .l-pb25 {
    padding-bottom: 25px !important;
  }
  .l-pt30 {
    padding-top: 30px !important;
  }
  .l-pb30 {
    padding-bottom: 30px !important;
  }
  .l-pt35 {
    padding-top: 35px !important;
  }
  .l-pb35 {
    padding-bottom: 35px !important;
  }
  .l-pt40 {
    padding-top: 40px !important;
  }
  .l-pb40 {
    padding-bottom: 40px !important;
  }
  .l-pt45 {
    padding-top: 45px !important;
  }
  .l-pb45 {
    padding-bottom: 45px !important;
  }
  .l-pt50 {
    padding-top: 50px !important;
  }
  .l-pb50 {
    padding-bottom: 50px !important;
  }
  .l-pt0e {
    margin-top: 0em !important;
  }
  .l-pb0e {
    margin-bottom: 0em !important;
  }
  .l-pt0_25e {
    margin-top: 0.25em !important;
  }
  .l-pb0_25e {
    margin-bottom: 0.25em !important;
  }
  .l-pt0_5e {
    margin-top: 0.5em !important;
  }
  .l-pb0_5e {
    margin-bottom: 0.5em !important;
  }
  .l-pt0_75e {
    margin-top: 0.75em !important;
  }
  .l-pb0_75e {
    margin-bottom: 0.75em !important;
  }
  .l-pt1e {
    margin-top: 1em !important;
  }
  .l-pb1e {
    margin-bottom: 1em !important;
  }
  .l-pt1_25e {
    margin-top: 1.25em !important;
  }
  .l-pb1_25e {
    margin-bottom: 1.25em !important;
  }
  .l-pt1_5e {
    margin-top: 1.5em !important;
  }
  .l-pb1_5e {
    margin-bottom: 1.5em !important;
  }
  .l-pt1_75e {
    margin-top: 1.75em !important;
  }
  .l-pb1_75e {
    margin-bottom: 1.75em !important;
  }
  .l-pt2e {
    margin-top: 2em !important;
  }
  .l-pb2e {
    margin-bottom: 2em !important;
  }
  .l-pt2_25e {
    margin-top: 2.25em !important;
  }
  .l-pb2_25e {
    margin-bottom: 2.25em !important;
  }
  .l-pt2_5e {
    margin-top: 2.5em !important;
  }
  .l-pb2_5e {
    margin-bottom: 2.5em !important;
  }
}
@media screen and (min-width: 601px) and (max-width: 999px) {
  .m-pt0 {
    padding-top: 0px !important;
  }
  .m-pb0 {
    padding-bottom: 0px !important;
  }
  .m-pt5 {
    padding-top: 5px !important;
  }
  .m-pb5 {
    padding-bottom: 5px !important;
  }
  .m-pt10 {
    padding-top: 10px !important;
  }
  .m-pb10 {
    padding-bottom: 10px !important;
  }
  .m-pt15 {
    padding-top: 15px !important;
  }
  .m-pb15 {
    padding-bottom: 15px !important;
  }
  .m-pt20 {
    padding-top: 20px !important;
  }
  .m-pb20 {
    padding-bottom: 20px !important;
  }
  .m-pt25 {
    padding-top: 25px !important;
  }
  .m-pb25 {
    padding-bottom: 25px !important;
  }
  .m-pt30 {
    padding-top: 30px !important;
  }
  .m-pb30 {
    padding-bottom: 30px !important;
  }
  .m-pt35 {
    padding-top: 35px !important;
  }
  .m-pb35 {
    padding-bottom: 35px !important;
  }
  .m-pt40 {
    padding-top: 40px !important;
  }
  .m-pb40 {
    padding-bottom: 40px !important;
  }
  .m-pt45 {
    padding-top: 45px !important;
  }
  .m-pb45 {
    padding-bottom: 45px !important;
  }
  .m-pt50 {
    padding-top: 50px !important;
  }
  .m-pb50 {
    padding-bottom: 50px !important;
  }
  .m-pt0e {
    margin-top: 0em !important;
  }
  .m-pb0e {
    margin-bottom: 0em !important;
  }
  .m-pt0_25e {
    margin-top: 0.25em !important;
  }
  .m-pb0_25e {
    margin-bottom: 0.25em !important;
  }
  .m-pt0_5e {
    margin-top: 0.5em !important;
  }
  .m-pb0_5e {
    margin-bottom: 0.5em !important;
  }
  .m-pt0_75e {
    margin-top: 0.75em !important;
  }
  .m-pb0_75e {
    margin-bottom: 0.75em !important;
  }
  .m-pt1e {
    margin-top: 1em !important;
  }
  .m-pb1e {
    margin-bottom: 1em !important;
  }
  .m-pt1_25e {
    margin-top: 1.25em !important;
  }
  .m-pb1_25e {
    margin-bottom: 1.25em !important;
  }
  .m-pt1_5e {
    margin-top: 1.5em !important;
  }
  .m-pb1_5e {
    margin-bottom: 1.5em !important;
  }
  .m-pt1_75e {
    margin-top: 1.75em !important;
  }
  .m-pb1_75e {
    margin-bottom: 1.75em !important;
  }
  .m-pt2e {
    margin-top: 2em !important;
  }
  .m-pb2e {
    margin-bottom: 2em !important;
  }
  .m-pt2_25e {
    margin-top: 2.25em !important;
  }
  .m-pb2_25e {
    margin-bottom: 2.25em !important;
  }
  .m-pt2_5e {
    margin-top: 2.5em !important;
  }
  .m-pb2_5e {
    margin-bottom: 2.5em !important;
  }
}
@media screen and (max-width: 600px) {
  .s-pt0 {
    padding-top: 0px !important;
  }
  .s-pb0 {
    padding-bottom: 0px !important;
  }
  .s-pt5 {
    padding-top: 5px !important;
  }
  .s-pb5 {
    padding-bottom: 5px !important;
  }
  .s-pt10 {
    padding-top: 10px !important;
  }
  .s-pb10 {
    padding-bottom: 10px !important;
  }
  .s-pt15 {
    padding-top: 15px !important;
  }
  .s-pb15 {
    padding-bottom: 15px !important;
  }
  .s-pt20 {
    padding-top: 20px !important;
  }
  .s-pb20 {
    padding-bottom: 20px !important;
  }
  .s-pt25 {
    padding-top: 25px !important;
  }
  .s-pb25 {
    padding-bottom: 25px !important;
  }
  .s-pt30 {
    padding-top: 30px !important;
  }
  .s-pb30 {
    padding-bottom: 30px !important;
  }
  .s-pt35 {
    padding-top: 35px !important;
  }
  .s-pb35 {
    padding-bottom: 35px !important;
  }
  .s-pt40 {
    padding-top: 40px !important;
  }
  .s-pb40 {
    padding-bottom: 40px !important;
  }
  .s-pt45 {
    padding-top: 45px !important;
  }
  .s-pb45 {
    padding-bottom: 45px !important;
  }
  .s-pt50 {
    padding-top: 50px !important;
  }
  .s-pb50 {
    padding-bottom: 50px !important;
  }
  .s-pt0e {
    margin-top: 0em !important;
  }
  .s-pb0e {
    margin-bottom: 0em !important;
  }
  .s-pt0_25e {
    margin-top: 0.25em !important;
  }
  .s-pb0_25e {
    margin-bottom: 0.25em !important;
  }
  .s-pt0_5e {
    margin-top: 0.5em !important;
  }
  .s-pb0_5e {
    margin-bottom: 0.5em !important;
  }
  .s-pt0_75e {
    margin-top: 0.75em !important;
  }
  .s-pb0_75e {
    margin-bottom: 0.75em !important;
  }
  .s-pt1e {
    margin-top: 1em !important;
  }
  .s-pb1e {
    margin-bottom: 1em !important;
  }
  .s-pt1_25e {
    margin-top: 1.25em !important;
  }
  .s-pb1_25e {
    margin-bottom: 1.25em !important;
  }
  .s-pt1_5e {
    margin-top: 1.5em !important;
  }
  .s-pb1_5e {
    margin-bottom: 1.5em !important;
  }
  .s-pt1_75e {
    margin-top: 1.75em !important;
  }
  .s-pb1_75e {
    margin-bottom: 1.75em !important;
  }
  .s-pt2e {
    margin-top: 2em !important;
  }
  .s-pb2e {
    margin-bottom: 2em !important;
  }
  .s-pt2_25e {
    margin-top: 2.25em !important;
  }
  .s-pb2_25e {
    margin-bottom: 2.25em !important;
  }
  .s-pt2_5e {
    margin-top: 2.5em !important;
  }
  .s-pb2_5e {
    margin-bottom: 2.5em !important;
  }
}
/****** その他 ******/
/* Foundation
 * 変数、関数、mixinを定義
 * サイト全体のデフォルトスタイルを管理
======================================*/
/****** 変数、関数、mixin定義 ******/
/*--------------------------------
 *  デバイス別 表示/非表示
 *  sm　：スマートフォン幅、モバイル幅のみ表示
 *  md　：タブレット幅のみ表示
 *  lg　：PC幅のみ表示
 *  mdlg：デスクトップ幅のみ表示
--------------------------------*/
@media screen and (min-width: 1000px) {
  .md {
    display: none !important;
  }
  .sm {
    display: none !important;
  }
  .smmd {
    display: none !important;
  }
}
@media screen and (min-width: 601px) and (max-width: 999px) {
  .lg {
    display: none !important;
  }
  .sm {
    display: none !important;
  }
}
@media screen and (max-width: 600px) {
  .lg {
    display: none !important;
  }
  .md {
    display: none !important;
  }
  .mdlg {
    display: none !important;
  }
}
/*--------------------------------
 *  アニメーション
--------------------------------*/
/* 左上 → 右上 → 左下 → 右下（必要なら順番だけ並べ替え） */
@-webkit-keyframes sprite {
  /* 1〜9拍：BCDを3周（Aなし） */
  0% {
    background-position: 100% 0%;
  } /* B */
  10% {
    background-position: 0% 100%;
  } /* C */
  20% {
    background-position: 100% 100%;
  } /* D */
  30% {
    background-position: 100% 0%;
  } /* B */
  40% {
    background-position: 0% 100%;
  } /* C */
  50% {
    background-position: 100% 100%;
  } /* D */
  60% {
    background-position: 100% 0%;
  } /* B */
  70% {
    background-position: 0% 100%;
  } /* C */
  80% {
    background-position: 100% 100%;
  } /* D */
  /* 10拍目：たまにAを挟む */
  90% {
    background-position: 0% 0%;
  } /* A */
  /* ループ終端（次の0%でBへ戻る） */
  100% {
    background-position: 0% 0%;
  }
}
@keyframes sprite {
  /* 1〜9拍：BCDを3周（Aなし） */
  0% {
    background-position: 100% 0%;
  } /* B */
  10% {
    background-position: 0% 100%;
  } /* C */
  20% {
    background-position: 100% 100%;
  } /* D */
  30% {
    background-position: 100% 0%;
  } /* B */
  40% {
    background-position: 0% 100%;
  } /* C */
  50% {
    background-position: 100% 100%;
  } /* D */
  60% {
    background-position: 100% 0%;
  } /* B */
  70% {
    background-position: 0% 100%;
  } /* C */
  80% {
    background-position: 100% 100%;
  } /* D */
  /* 10拍目：たまにAを挟む */
  90% {
    background-position: 0% 0%;
  } /* A */
  /* ループ終端（次の0%でBへ戻る） */
  100% {
    background-position: 0% 0%;
  }
}
.to-right-1 {
  -webkit-animation: to-right-1 20s linear infinite;
          animation: to-right-1 20s linear infinite;
}

.to-right-2 {
  -webkit-animation: to-right-2 20s linear infinite;
          animation: to-right-2 20s linear infinite;
}

@-webkit-keyframes to-right-1 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@keyframes to-right-1 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@-webkit-keyframes to-right-2 {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes to-right-2 {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/*--------------------------------
 *  その他
--------------------------------*/
.-color-main {
  color: var(--ark-color--main) !important;
}

.-color-sub {
  color: var(--ark-color--sub) !important;
}