@charset "UTF-8";

/* 基本レイアウト */

html {
    font-size: 16px;
}


/* ↓test */

html {
    /* font-size:16px; 固定フォントサイズを無効にする*/
    font-size: clamp(12px, calc(10.7763px + 0.3824vw), 16px);
    font-size: clamp(14px, calc(13.3881px + 0.1912vw), 16px);
}

body {
    font-size: 1em;
    font-family: "Poppins", "Zen Maru Gothic", sans-serf;
}


/* ↑test */

.rii,
.rii * {
    font-family: 'rii', sans-serif !important;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
}


/* 共通クラス定義 */

.w960center {
    width: min(960px, 90%) !important;
    margin: 0 auto !important;
}

.w1366center {
    width: min(1366px, 90%) !important;
    margin: 0 auto !important;
}

.w960center-100 {
    width: min(960px, 100%) !important;
    margin: 0 auto !important;
}

.w1366center-100 {
    width: min(1366px, 100%) !important;
    margin: 0 auto !important;
}

.w960center-90-noMgn {
    width: min(960px, 90%) !important;
    margin-left: auto;
    margin-right: auto;
}

.w960center-100-noMgn {
    width: min(960px, 100%) !important;
    margin-left: auto;
    margin-right: auto;
}

.w1366center-90-noMgn {
    width: min(1366px, 90%) !important;
    margin-left: auto;
    margin-right: auto;
}

.w1366center-100-noMgn {
    width: min(1366px, 100%) !important;
    margin-left: auto;
    margin-right: auto;
}

.centering {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.damp-half {
    transform: translate(-50%, -50%) !important;
}

.fit-content,
.fit-content * {
    width: fit-content !important;
}

.overflow-h {
    overflow: hidden !important;
}

.overflow-xh {
    overflow-x: hidden !important;
}


/* ヘッダー部分共通 */

.main-logo svg {
    width: min(100%, 72px) !important;
}

@media (min-width: 769px) {
    .main-logo svg {
        transform: translate3d(1.2rem, 0, 0) !important;
    }
}

span.sub-title {
    font-size: clamp(0.7rem, calc(9.7315px + 0.4589vw), 1rem);
    display: block;
}

span.main-title {
    font-size: clamp(2.2rem, calc(31.2841px + 1.2237vw), 3rem);
    margin-top: 0.4rem;
    display: inline-block;
}

.header-leaf-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 64px !important;
    object-fit: cover;
}

.header-title {
    margin-top: 5%;
}

@media (max-width: 768px) {
    .header-title {
        transform: translateY(7%);
        margin-top: 12%;
    }
}

img.first-view {
    position: relative;
    z-index: -1;
    height: 360px;
    width: 100%;
    object-fit: cover;
}

.fv-container {
    transform: translateY(-1em);
}

.bottom-curve {
    overflow-x: hidden;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: -1;
}

.bottom-curve img {
    width: 100%;
}


/* ヘッダー内画像アニメーション */

.hov1 {
    animation: bobbing 2s infinite 0s linear;
}

.hov1::after {
    content: "";
    background: url(/wp-content/uploads/2025/04/bright-line.svg) center/contain no-repeat;
    top: 0;
    left: 0;
    transform: translate(-8%, -55%);
    position: absolute;
    width: 35%;
    height: 35%;
    aspect-ratio: 1/1;
}

.hov2::after {
    content: "";
    background: url(/wp-content/uploads/2025/04/motion-line.svg) center/contain;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(-40%, -10%);
    width: 25%;
    height: 25%;
}

.hov2 {
    animation: bobbing 2s infinite 0.5s linear;
}

.hov3 {
    animation: bobbing 2s infinite 1.2s linear;
}

.hov {
    filter: drop-shadow(2px 4px 6px rgb(19 18 50 / 20%));
}

@keyframes bobbing {
    0% {
        transform: translateY(0);
    }
    25% {
        transform: translateY(-8px);
    }
    50% {
        transform: translateY(0);
    }
    75% {
        transform: translateY(6px);
    }
    100% {
        transform: translateY(0);
    }
}


/* ファーストビュー */

.top-image-wrap {
    position: absolute;
    width: min(1366px, 100%) !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

@media(min-width: 769px) {
    .hov2 {
        min-width: 240px !important;
    }
}

@media(max-width: 768px) {
    .hov1,
    .hov2 {
        max-width: 240px !important;
    }
}


/* アイキャッチのセンタリング */

.catch {
    width: clamp(16em, calc(187.4723px + 21.4149vw), 30em) !important;
}

.center {
    transform: translate(-50%, -50%) !important;
    top: 50% !important;
    left: 50% !important;
    position: absolute !important;
}

.catch.center {
    transform: translate(-55%, -35%) !important;
}


/* アイキャッチ後の若葉アニメーション */

.catch::after {
    content: "";
    display: block;
    height: 38%;
    width: 18%;
    background: url(/wp-content/uploads/2025/04/baby-leaf.svg) center/contain no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(100%, 0);
    animation: sproutSwing 1s infinite linear;
    transform-origin: 135% 75%;
}

@keyframes sproutSwing {
    0% {
        transform: rotate(0deg) translate(100%, 0);
    }
    20% {
        transform: rotate(15deg) translate(100%, 0);
    }
    40% {
        transform: rotate(0deg) translate(100%, 0);
    }
    60% {
        transform: rotate(-10deg) translate(100%, 0);
    }
    80% {
        transform: rotate(0deg) translate(100%, 0);
    }
    100% {
        transform: rotate(0deg) translate(100%, 0);
    }
}


/* アイキャッ前の太陽のアニメーション */

.catch::before {
    content: "";
    background: url(/wp-content/uploads/2025/04/sun.svg) center/contain no-repeat;
    position: absolute;
    top: 0;
    left: 0%;
    width: 40%;
    height: 100%;
    transform: translate(0, -50%);
    z-index: -1;
    animation: sunZoomInOut 1.5s infinite linear;
}

@keyframes sunZoomInOut {
    0% {
        transform: scale(1) translate(0, -50%) rotate(0deg);
    }
    50% {
        transform: scale(1.1) translate(0, -50%) rotate(10deg);
        ;
    }
    100% {
        transform: scale(1) translate(0, -50%) rotate(0deg);
    }
}


/* ナビゲーションメニュー（PC用） */

.pc-nav ul {
    width: min(100%, 960px) !important;
    justify-content: space-between !important;
    display: flex !important;
    align-items: stretch;
}

.pc-nav ul::before,
.pc-nav ul::after {
    display: none;
}

.pc-nav li {
    width: calc(100% / 6 - 3rem) !important;
    position: relative !important;
}

.pc-nav li::after {
    content: "";
    display: block;
    padding-top: 100%;
}

.pc-nav li a {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex: 1;
}

.pc-nav {
    --bg1: url(/wp-content/uploads/2025/04/nav-ellipse1.svg);
    --bg2: url(/wp-content/uploads/2025/04/nav-ellipse2.svg);
    --bg3: url(/wp-content/uploads/2025/04/nav-ellipse3.svg);
    --bg4: url(/wp-content/uploads/2025/04/nav-ellipse4.svg);
    --bg5: url(/wp-content/uploads/2025/04/nav-ellipse5.svg);
    --bg6: url(/wp-content/uploads/2025/04/nav-ellipse6.svg);
}

.pc-nav li:nth-child(1) a {
    background: var(--bg1) center/contain no-repeat;
}

.pc-nav li:nth-child(2) a {
    background: var(--bg2) center/contain no-repeat;
}

.pc-nav li:nth-child(3) a {
    background: var(--bg3) center/contain no-repeat;
}

.pc-nav li:nth-child(4) a {
    background: var(--bg4) center/contain no-repeat;
}

.pc-nav li:nth-child(5) a {
    background: var(--bg5) center/contain no-repeat;
}

.pc-nav li:nth-child(6) a {
    background: var(--bg6) center/contain no-repeat;
}

.pc-nav {
    margin-top: -3rem;
    padding-bottom: 2rem;
    width: min(90%, 960px);
    margin: -2rem auto;
}


/* ナビゲーションメニューの文字調整 */

.pc-nav li:nth-of-type(5) a span {
    width: 100%;
    text-align: center;
    line-height: 1.2
}

.pc-nav li a span {
    position: absolute !important;
    transform: translate(-50%, -50%);
    width: fit-content;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: center;
    width: 100%;
    font-size: clamp(0.56em, calc(6.8063px + 0.673vw), 1em);
    font-weight: 600;
}

.pc-nav li a span.clone {
    -webkit-text-stroke-width: 0.2rem !important;
}

span.pc-nav-inner {
    color: #333;
}

li.current-menu-item {
    transform: scale(1.5);
}

li.rmp-menu-item {
    transform: none !important;
}


/* ナビホバー時のアニメーション */

.pc-nav a {
    display: inline-block;
    transform-origin: center center;
    cursor: pointer;
}

.pc-nav a:hover {
    animation: gummy 0.8s ease both;
}

@keyframes gummy {
    0% {
        transform: scale3d(1, 1, 1);
    }
    30% {
        transform: scale3d(1.25, 0.75, 1);
    }
    40% {
        transform: scale3d(0.75, 1.25, 1);
    }
    50% {
        transform: scale3d(1.15, 0.85, 1);
    }
    65% {
        transform: scale3d(0.95, 1.05, 1);
    }
    75% {
        transform: scale3d(1.05, 0.95, 1);
    }
    100% {
        transform: scale3d(1, 1, 1);
    }
}


/* スマホアコーディオンメニュー（responsive-menuプラグイン）の調整 */

@media (min-width: 767px) {
    .rmp-mobile-device-menu {
        display: none !important;
    }
}

.rmp-trigger-box img {
    width: 28px !important;
    height: 28px !important;
}

.rmp-menu-title-image {
    width: 80px !important;
    height: 80px !important;
}

#rmp-menu-wrap-396 .rmp-menu-current-item .rmp-menu-item-link {
    background: #F5F06C !important;
    color: #8d8de9 !important;
    font-weight: 600 !important;
}

.rmp-menu-item-link {
    font-weight: 500 !important;
}

.rmp-container {
    background: #388532 !important;
}


/* ハンバーガースイッチの形成 */

.rmp_menu_trigger {
    width: 42px !important;
    height: 42px !important;
    box-shadow: 0 0 3.5px gray;
    border-radius: 50px !important;
}

.rmp-trigger-box {
    width: 42px !important;
    height: 42px !important;
    /* background: #ffffff; */
    border-radius: 50px;
    position: relative;
}

.rmp_menu_trigger.is-active .rmp-trigger-box {
    background: transparent;
    border: 2px solid #fff;
}

.rmp-trigger-box img {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
}


/* scroll to top ボタン調整 */

span.ha-scroll-to-top-button {
    background: #b3b3fe !important;
    border: 2px solid #fff;
}

span.ha-scroll-to-top-button:hover {
    background: #F5F06C !important;
}

.ha-scroll-to-top-wrap .ha-scroll-to-top-button i {
    color: #ffffff;
}

.ha-scroll-to-top-wrap .ha-scroll-to-top-button:hover i {
    color: #b3b3fe;
}


/* フッターの調整 */

.mount {
    overflow-x: hidden;
    position: absolute;
}

.mount img {
    width: 4000px !important;
    max-width: unset;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.children-walking {
    transform: translateY(39px);
    z-index: 2;
    animation: children-bobbing 4s infinite 0s linear;
}

.children-walking-sp {
    animation: children-bobbing-sp 4s infinite 0s linear;
}

@keyframes children-bobbing {
    0% {
        transform: translateY(39px);
    }
    25% {
        transform: translateY(60px);
    }
    50% {
        transform: translateY(39px);
    }
    75% {
        transform: translateY(60px);
    }
    100% {
        transform: translateY(39px);
    }
}

@keyframes children-bobbing-sp {
    0% {
        transform: translateY(-50%);
    }
    25% {
        transform: translateY(-55%);
    }
    50% {
        transform: translateY(-50%);
    }
    75% {
        transform: translateY(-55%);
    }
    100% {
        transform: translateY(-50%);
    }
}

.mount-sp,
.children-walking-sp {
    display: none;
}

.footer-info {
    /* transform: translate(0, 100%); */
    background: #5ab85a !important;
    transition: 0s;
    width: 100%;
    padding-bottom: 3rem !important;
    margin-top: 6%;
}

.footer-info>div {
    width: min(1366px, 90%);
    margin: 1.5rem auto;
}

@media(max-width: 1366px) {
    .mount-sp {
        display: block;
    }
    .mount {
        display: none;
    }
    .children-walking {
        display: none;
        /* width: 70% !important; */
        margin: 0 auto;
    }
    .children-walking-sp {
        display: block;
    }
    .children-walking-sp-wrap {
        position: relative;
    }
    .children-walking-sp-wrap::after {
        content: "";
        display: block;
        padding-top: 26%;
    }
    .children-walking-sp,
    .mount-sp {
        position: absolute;
    }
    .mount-sp {
        bottom: 0px;
        overflow-x: hidden;
    }
    .children-walking-sp {
        z-index: 10;
    }
    .children-walking-sp {
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    .children-walking,
    .footer-info {
        margin-top: -2%;
    }
}

@media(max-width: 600px) {
    .banner img {
        width: 100% !important;
    }
}

span.ha-post-list-icon {
    display: flex;
    align-items: center;
}

[data-ha-element-link]:hover {
    animation: gummy 1s ease both;
}

.banner [data-ha-element-link] {
    transform: translateY(0);
    transition: transform 0.3s ease-in-out;
}

.banner [data-ha-element-link]:hover {
    animation: none !important;
    transform: translateY(10px);
    opacity: 0.8;
}


/* ----------------------------------------------------------------------------- */


/* トップページ */


/* ----------------------------------------------------------------------------- */

.top-sec-img img {
    width: 360px;
    height: 360px;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 45px;
}

.top-sec-img:nth-of-type(odd)>div {
    display: flex;
    justify-content: flex-end;
}

.top-sec:nth-of-type(even) .top-sec-img>div {
    display: flex;
    justify-content: flex-start;
}

.sec-inner-block {
    width: min(960px, 90%);
    margin: 0 auto;
}

@media(max-width: 768px) {
    .top-sec-img img {
        width: 100%;
        height: 250px;
        object-position: top;
    }
}

.top-sec.sec1 .outlined.clone {
    -webkit-text-stroke-color: #ffffca !important;
}

.sec1-text p::after,
.sec3-text p::after {
    content: "";
    display: block;
    width: 64px;
    height: 64px;
    position: absolute;
    bottom: 24px;
    right: 10px;
    transform: translate(0, 100%);
}

.sec1-text p::after {
    background: url(/wp-content/uploads/2025/04/twochildsitting.svg) center/contain no-repeat;
}

.sec3-text p::after {
    background: url(/wp-content/uploads/2025/04/runbird.svg) center/contain no-repeat;
}


/* トップページアニメーション */


/* ここのセレクターに.top-sec-imgを加えるとトップページの写真がふわふわ動く */

.deco-img1,
.deco-img3 {
    animation: bobbing 2s infinite 0s linear;
}


/* .top-sec-img {
    animation-delay: 0.7s;
} */

.top-sec:nth-of-type(even) .top-sec-img {
    animation-delay: 0s !important;
}

.deco-img2,
.deco-img4 {
    animation: shake 1.5s infinite ease-in-out;
    transform-origin: 140px 45px !important;
}

@keyframes shake {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(5px, 0);
    }
    50% {
        transform: translate(0, 0);
    }
    75% {
        transform: translate(-5px, 0);
    }
}


/* 入園案内セクションここから */


/* 入園案内の上の画像（虹付きの園庭）の調整 */

.translate-y-minus {
    transform: translateY(-75%) !important;
}

.garden-and-rainbow-box {
    height: 100px;
}

.garden-rainbow {
    width: clamp(200px, calc(77.6291px + 38.2409vw), 500px);
    transform: translate(0, -50%) !important;
    top: 50% !important;
}

.entrance-info-sec {
    width: min(960px, 90%);
    margin: 0 auto;
}

.entrance-card-wrap h3 {
    display: flex;
    height: 100%;
    align-items: center;
}


/* .entrance-card-wrap-all {
    width: (960px, 90%) !important;
    margin: 0 auto !important;
} */

.et-card-inner-limmiter {
    width: 90% !important;
    display: block !important;
    margin: 0 auto !important;
}

.card-bottom div {
    width: 100% !important;
}

.card-overflow-hidden {
    overflow: hidden !important;
}

.entrance-card-area {
    width: 90%;
    margin: 8rem auto 0;
}

.et-card-inner-limmiter span {
    text-align: justify;
}

.card-bottom span {
    text-align: center !important;
}

.click-here.card-bottom a>span {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-weight: 700;
}

.click-here.card-bottom a>span::after {
    content: "";
    display: inline-block;
    background: url(/wp-content/uploads/2025/05/raquo.svg) center/contain no-repeat;
    width: 1lh;
    height: 1lh;
}


/* 768px以上の場合のカード内のフォントサイズ調整 */

@media(min-width: 768px) {
    /* カード見出し */
    .two-card-container h3 span.et-card-inner-limmiter {
        font-size: clamp(1rem, calc(9.8355px + 0.8027vw), 1.3rem);
    }
    /* カード本文 */
    .et-card-inner-limmiter p {
        font-size: clamp(0.78rem, calc(7.9593px + 0.5886vw), 1rem);
    }
    .card-bottom span {
        font-size: clamp(1.8rem, calc(16.4709px + 1.6054vw), 2.4rem);
    }
    .click-here.card-bottom a>span span {
        font-size: clamp(0.85rem, calc(5.3806px + 1.0702vw), 1.25rem);
    }
    .click-here.card-bottom a>span::after {
        width: clamp(0.5rem, calc(5.9452px + 0.2676vw), 0.6rem);
    }
    .more-smaller-upon-button span {
        font-size: clamp(0.68rem, calc(5.3319px + 0.7224vw), 0.95rem);
    }
}

@media(max-width: 767px) {
    .two-card-container h3 span.et-card-inner-limmiter {
        font-size: clamp(1rem, calc(10.2729px + 1.7897vw), 1.5rem);
    }
    .et-card-inner-limmiter p {
        font-size: clamp(0.9rem, calc(10.9638px + 1.0738vw), 1.2rem);
        text-align: justify !important;
    }
    .card-bottom span {
        font-size: clamp(1.8rem, calc(15.055px + 4.2953vw), 3rem);
    }
    .click-here.card-bottom span {
        font-size: clamp(0.8rem, calc(1.3714px + 3.5714vw), 1.8rem);
    }
    .click-here.card-bottom span::after {
        width: clamp(0.5rem, calc(3.8903px + 0.5351vw), 0.7rem);
    }
}

.title-seal {
    top: 0;
    left: 0;
    transform: rotate(-5deg) translate(-8%, 0);
}

@media(max-width: 768px) {
    .title-seal {
        width: min(75%, 250px) !important;
    }
}

@media(max-width: 570px) {
    .title-seal {
        transform: translate(-50%, -50%) rotate(2.5deg);
        top: 4.5rem !important;
        left: 50% !important;
        width: min(320px, 90%) !important;
    }
}

.card-bottom>div>div {
    min-height: 4rem;
}

.card-bottom a {
    min-height: 65px !important;
    display: flex;
}

.card-bottom div a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.click-here.card-bottom a:hover>span::after {
    filter: invert(1) brightness(1.5);
}

.add-leaf1,
.add-leaf2 {
    position: relative;
    width: fit-content !important
}

.add-leaf1::before {
    content: "";
    display: inline-block;
    width: 72px;
    height: 72px;
    background: url(/wp-content/uploads/2025/04/yellowgreenleaf.svg) center/contain no-repeat;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-100%, -50%);
}

.add-leaf2::before {
    content: "";
    display: inline-block;
    width: 80px;
    height: 80px;
    background: url(/wp-content/uploads/2025/04/greenleaf.svg) center/contain no-repeat;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-100%, -50%);
}

.capacity-table td,
.capacity-table th {
    border-color: #333 transparent !important;
    padding-left: 1rem !important;
    box-sizing: border-box !important;
}

.capacity-table th {
    border-top-color: transparent !important;
}

.capacity-table {
    width: 90%;
    margin: 1.5rem auto;
}

.go-to-entrance-button a {
    display: block;
    width: min(320px, 80%) !important;
    height: 72px;
    padding: 0 !important;
    align-items: center;
    margin: 2rem 0 5rem;
}

.go-to-entrance-button .elementor-button-text {
    display: flex;
    align-items: center;
}

.go-to-entrance-button a .elementor-button-text {
    font-size: 1.2rem;
}

.go-to-entrance-button a .elementor-button-icon {
    width: 0.5rem;
}

@media(max-width: 768px) {
    .go-to-entrance-button a {
        width: 90% !important;
        height: 60px;
    }
    .go-to-entrance-button a .elementor-button-text {
        font-size: 1rem;
    }
}


/* 入園案内セクションここまで */


/* 基本情報セクションここから */

.card-stage-section {
    width: min(960px, 90%);
    margin: 0 auto;
}

.card-stage-wrap-inner h3 {
    display: flex;
    height: 100%;
    align-items: center;
}

.card-inner-contents {
    width: 90%;
    margin: 8rem auto 0;
}

.card-stage-bottom-button a {
    display: block;
    width: min(320px, 80%) !important;
    height: 72px;
    padding: 0 !important;
    align-items: center;
    margin: 2rem 0 5rem;
}

.card-stage-bottom-button .elementor-button-text {
    display: flex;
    align-items: center;
}

.card-stage-bottom-button a .elementor-button-text {
    font-size: 1.2rem;
}

.card-stage-bottom-button a .elementor-button-icon {
    width: 0.5rem;
}

@media(max-width: 768px) {
    .card-stage-bottom-button a {
        width: 90% !important;
        height: 60px;
    }
    .card-stage-bottom-button a .elementor-button-text {
        font-size: 1rem;
    }
}

table.info-data-table {
    width: 100%;
    margin: 1em auto;
    color: #ffffff;
    font-size: 0.8em;
}

table.info-data-table th {
    text-align: justify;
    text-align-last: justify;
    -moz-text-align-last: justify;
    width: 6em;
    vertical-align: top;
}

table.info-data-table td {
    padding-left: 2em;
    text-indent: -2em;
}

table.info-data-table td::before {
    content: "：";
}

.mapbox {
    margin-bottom: 1em;
    border-radius: 24px;
    overflow: hidden;
}

@media(max-width: 768px) {
    .mapbox {
        margin-bottom: 0;
    }
    .elementor-widget-google_maps iframe {
        height: unset;
    }
    .mapbox iframe {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        height: 100%;
        width: 100%;
    }
    .mapbox .elementor-custom-embed::after {
        content: "";
        display: block;
        padding-top: 100%;
        height: auto;
    }
    .children-walking-sp-wrap .elementor-widget-container {
        overflow-x: hidden;
        overflow-y: visible;
    }
    .children-walking-sp-wrap img {
        width: 100%;
        object-fit: contain;
        max-width: unset;
        object-fit: contain;
        transform: translateX(-50%);
        left: 50% !important;
        position: relative;
        aspect-ratio: 375 / 90;
    }
}

.card-stage {
    padding-bottom: 1rem;
}


/* 基本情報セクションここまで */


/* ----------------------------------------------------------------------------- */


/* 園の想いページ */


/* ----------------------------------------------------------------------------- */


/*アイコンとタイトルのセット*/

.large-title {
    margin: 2em 0;
}

.large-title h1,
.large-title h2 {
    margin: 0 !important;
}

.large-title img {
    width: clamp(5rem, calc(70.2103px + 3.0593vw), 7rem);
}

.m-title {
    z-index: -1;
    font-size: clamp(1.5rem, calc(19.1052px + 1.5296vw), 2.5rem);
    margin-left: 0.5rem;
}

.s-title {
    margin-top: -0.5rem;
    font-size: clamp(0.8rem, calc(11.821px + 0.3059vw), 1rem);
}

.color-omoi {
    color: #e49d9d;
}

span.point {
    font-size: 1.3em;
    margin-top: -1rem;
}

.title-set {
    z-index: -1;
}

.icon-and-title-set>div>div {
    width: fit-content !important;
}

@keyframes heartbeat {
    0% {
        transform: scale(1) rotate(-45deg);
    }
    14% {
        transform: scale(1.3) rotate(-45deg);
    }
    28% {
        transform: scale(1) rotate(-45deg);
    }
    42% {
        transform: scale(1.3) rotate(-45deg);
    }
    70% {
        transform: scale(1) rotate(-45deg);
    }
    100% {
        transform: scale(1) rotate(-45deg);
    }
}

.large-title .title-icon img {
    animation: heartbeat 1.5s infinite;
}

.maxw90 {
    width: 600px;
    max-width: 90% !important;
}

.blob-img {
    width: 35% !important;
    z-index: -1 !important;
}

.icon-before {
    display: inline-block;
    width: 1.5lh;
    height: 1lh;
    background: url(/wp-content/uploads/2025/05/shoes-blue.svg) center/contain no-repeat;
}

.center-long-title {
    z-index: 10;
}

.floated-section {
    height: 100%;
    z-index: 0;
}

@media(max-width: 600px) {
    .floated-section {
        height: 85%;
    }
    .wavy-section-title1 .blob-img-left {
        bottom: -10% !important;
    }
}

.w390-90per {
    width: min(390px, 90%) !important
}

.clip-updown {
    overflow-y: hidden;
    /* height: 200px; */
    border-radius: 24px 0 0 24px;
}

.clip-updown-reverse {
    border-radius: 0 24px 24px 0;
    overflow-y: hidden;
}

.h100,
.h100 img {
    height: 100% !important;
    object-fit: cover;
    width: 100%;
}

.h300-fixed {
    height: 300px;
}

.maxW256 {
    max-width: 256px !important;
}

.wavy-section-title2 .icon-before {
    background: url(/wp-content/uploads/2025/05/cap.svg) center/contain no-repeat;
    width: 1.5lh;
    height: 1lh;
    margin-right: 0.5rem;
}

.w35 {
    width: min(370px, 35vw) !important;
    height: min(370px, 35vw) !important;
    aspect-ratio: 1/1;
}

.suspend-100 {
    transform: translate(-50%, calc(-50% - 100px)) !important;
}

@media(max-width: 500px) {
    .w35 {
        width: 100% !important;
        height: 100% !important;
    }
}

@media(min-width: 769px) {
    .w35 h3 {
        font-size: clamp(1rem, calc(9.8355px + 0.8027vw), 1.3rem);
    }
    .w35 .content-in-circle {
        font-size: clamp(0.8rem, calc(8.6903px + 0.5351vw), 1rem);
        width: 90% !important;
    }
}

@media(max-width: 768px) {
    .w35 {
        width: 50vw !important;
        height: 50vw !important;
    }
    .suspend-100 {
        transform: translate(-50%, -50%) !important;
    }
    .three-slogan .w960center {
        height: 135vw !important;
    }
}

@media(max-width: 500px) {
    .w35 {
        width: 90vw !important;
        height: 90vw !important;
    }
    .three-slogan .w960center {
        height: 225vw !important;
    }
    .w35 h3 {
        font-size: clamp(1.5rem, calc(-4.4444px + 8.8889vw), 2.5rem);
    }
    .w35 .content-in-circle {
        font-size: clamp(1rem, calc(1.7778px + 4.4444vw), 1.5rem);
    }
}

.wavy-section-title3 .icon-before {
    background: url(/wp-content/uploads/2025/05/bag-blue-car-printed.svg) center/contain no-repeat;
    width: 1.5lh;
    height: 1lh;
    margin-right: 0.5rem;
}

.point-section .w960center:nth-of-type(2) {
    margin: 2em auto !important;
}

.point-title1 h2::before,
.point-title2 h2::before {
    display: block;
    /* position: absolute; */
    /* top: 0; */
    /* left: 0; */
    font-size: 0.9rem;
    font-weight: bold;
    color: #fff;
    background: #8484ff;
    padding: 0.4rem 1rem;
    border-radius: 50px;
    width: fit-content;
    margin-bottom: 0.5rem;
}

.point-title1 h2::before {
    content: "大切なこと1";
}

.point-title2 h2::before {
    content: "大切なこと2";
}

.point-side-img img {
    height: 100%;
    object-fit: cover;
    vertical-align: middle;
}

.last-separator {
    width: min(500px, 80%) !important;
    margin: 3em auto 0 !important;
}

.vc-super img {
    vertical-align: super;
}


/* ----------------------------------------------------------------------------- */


/* 園の生活ページ */


/* ----------------------------------------------------------------------------- */

.color-seikatsu {
    color: #B3B3FE;
}

.title-icon-daily-life {
    animation: bobbing 2s infinite 0s cubic-bezier(1, 0.01, 0, 0.99);
}

.w768-90 {
    width: min(800px, 90%) !important;
    margin: 0 auto !important;
}

.hilight-blue span {
    color: #B3B3FE;
}

.hilight-yellow span {
    color: #FFF957;
}

.imgH100 img {
    height: 100%;
    vertical-align: center;
    object-fit: cover;
}

.square {
    width: 100%;
    aspect-ratio: 1/1;
    position: relative;
    overflow: hidden;
    border-radius: 24px;
}


/* .feature-section {
    --indentMargin: 8%;
    --test-border: 1px solid #555;
}

.feature-section>div {
    border: var(--test-border);
}

.square {
    margin-left: var(--indentMargin);
    width: calc(50% - var(--indentMargin)) !important;
} */

.exp-content .m-heading h2 {
    font-size: 1.2rem !important;
    font-size: clamp(1.2rem, calc(13.0538px + 0.8013vw), 1.5rem) !important;
}

.exp-content .m-paragraph p {
    font-size: 1rem;
    font-size: clamp(1rem, calc(11.9025px + 0.5342vw), 1.2rem);
}

.exp-content .s-paragraph p {
    font-size: 0.8rem;
    font-size: clamp(0.8em, calc(8.7025px + 0.5342vw), 1em);
    margin: 0;
}

@media(max-width: 767px) {
    .square {
        aspect-ratio: unset;
    }
    .feature-section .m-heading {
        margin-top: 2rem;
    }
}


/* featureの吹き出しシール部分 */


/* ── 共通設定 ── */

.feature-seal01,
.feature-seal02 {
    position: absolute;
    padding: 0.8rem 3.2rem;
    border-radius: 50px;
    display: inline-block;
    /* transform を効かせるため */
    transform-origin: center bottom;
    /* 下端中央を基点に */
    /* ① 初期位置／回転を var(--initial-transform) に集約 */
    --initial-transform: translate(0, 0) rotate(0);
    transform: var(--initial-transform);
    /* ② ぽよよん＋ゆらゆら を二重にアニメーション指定 */
    animation: poyo-bounce 1.5s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

.feature-seal01 p,
.feature-seal02 p {
    margin: 0.5rem 0;
}


/* ── 吹き出し01 の個別設定 ── */

.feature-seal01 {
    --initial-transform: translate(-25%, -25%) rotate(-25deg);
    top: 15%;
    left: 15%;
    background: #A793E3;
    color: #fff;
}

.feature-seal01::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    border-width: 1rem 0.5rem 0 0.5rem;
    border-style: solid;
    border-color: #A793E3 transparent transparent transparent;
}


/* ── 吹き出し02 の個別設定 ── */

.feature-seal02 {
    --initial-transform: translate(-15%, -60%) rotate(25deg);
    top: 5%;
    right: 5%;
    background: #fdfa90;
    color: #b3b3fe;
}

.feature-seal02::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    border-width: 1rem 0.5rem 0 0.5rem;
    border-style: solid;
    border-color: #fdfa90 transparent transparent transparent;
}


/* ── モバイル時の再定義 ── */

@media (max-width: 768px) {
    .feature-seal01,
    .feature-seal02 {
        top: 0;
        left: 50% !important;
        right: auto !important;
        bottom: auto;
        /* 回転をリセットして中央上寄せ */
        --initial-transform: translate(-50%, -50%) rotate(0);
    }
}


/* ── キーフレーム定義 ── */


/* ぽよよんバウンス部分 */

@keyframes poyo-bounce {
    0% {
        transform: var(--initial-transform) scale(1) translateX(0);
    }
    10% {
        transform: var(--initial-transform) scale(1.15) translateX(0);
    }
    20% {
        transform: var(--initial-transform) scale(0.95) translateX(0);
    }
    30% {
        transform: var(--initial-transform) scale(1.05) translateX(0);
    }
    40% {
        transform: var(--initial-transform) scale(1) translateX(0);
    }
    50% {
        transform: var(--initial-transform) scale(1) translateX(4px);
    }
    60% {
        transform: var(--initial-transform) scale(1) translateX(-4px);
    }
    70% {
        transform: var(--initial-transform) scale(1) translateX(0);
    }
    80% {
        transform: var(--initial-transform) scale(1) translateX(4px);
    }
    90% {
        transform: var(--initial-transform) scale(1) translateX(-4px);
    }
}

.with-tail::after {
    content: "";
    display: block;
    border: 5px solid #fdfa90;
    border-color: #fdfa90 transparent transparent;
    border-width: 10px;
    width: 5%;
    position: absolute;
    z-index: 10;
    bottom: 0;
    transform: translate(-50%, 100%);
    left: 50%;
}

.with-tail-blue::after {
    content: "";
    display: block;
    border: 5px solid #B3B3FE;
    border-color: #B3B3FE transparent transparent;
    border-width: 10px;
    width: 5%;
    position: absolute;
    z-index: 10;
    bottom: 0;
    transform: translate(-50%, 100%);
    left: 50%;
}

.other-feature-inner>div {
    position: relative;
}

.other-feature-balloon {
    position: absolute;
    left: 0% !important;
    top: 0% !important;
    width: 14rem;
}

@media(max-width: 768px) {
    .other-feature-balloon {
        width: 60%;
        left: 50% !important;
        top: 0% !important;
        transform: translate(-50%, 0%);
    }
}

.other-feature-balloon img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}

.other-feature-balloon img {
    animation: bobbing 2s infinite 0s linear;
}

.etc-leaf {
    position: absolute;
    bottom: 5% !important;
    right: 10% !important;
    width: 20%;
    height: 15%;
}

.etc-leaf img {
    width: 100%;
    object-fit: cover;
    animation: swingin 1s infinite linear;
}

@media(max-width:768px) {
    .etc-leaf {
        /* display:block !important; */
        width: 40%;
        height: unset;
        bottom: 0 !important;
        right: 0 !important;
        left: 50% !important;
        transform: translate(-50%, 0);
    }
}


/* 年間行事用スクロールトリガー */

.slider-container {
    overflow-x: hidden;
}

.slider {
    overflow-x: scroll;
    white-space: nowrap;
    scroll-behavior: smooth;
    margin-left: auto;
    margin-right: auto;
}

.slider img {
    width: calc(100% / 2.5);
}

.slider-inner {
    display: inline-flex;
}

.slider {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.slider::-webkit-scrollbar {
    display: none;
}

.event-title-icon {
    transform-origin: center bottom;
    animation: swingin 1s infinite linear;
}

@keyframes swingin {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(-10deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.event-title-icon img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}


/* event-slider-container内 */


/* スクロールトリガーで縦スクロールに応じた横スクロール */

.slider-container {
    overflow-x: hidden;
}

.slider {
    overflow-x: scroll;
    white-space: nowrap;
    scroll-behavior: smooth;
    margin-left: auto;
    margin-right: auto;
}

.slider img {
    width: calc(100% / 3.5);
}

@media(max-width: 768px) {
    .slider img {
        width: calc(100% / 1.5);
    }
}

.slider-inner {
    display: inline-flex;
}

.slider {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.slider::-webkit-scrollbar {
    display: none;
}

.event-heading {
    padding: 2rem 0 3rem !important
}

.slider-container {
    transition: none !important;
}

.slider-all-wrapper {
    overflow-x: hidden;
}

.top-border-ddd li:first-of-type {
    border-top: 1px solid #ddd !important;
}

.time-table-title-icon {
    animation: bobbing 2s infinite 0s linear;
}

footer.alt-color {
    background: #B3B3FE;
}


/* ---------------------------------------- */


/*  　　　　　入園案内ページ用               */


/* -------------------------------------- */

.large-title .entrance-title img {
    animation: shake-horizontal 1s infinite linear;
}

@keyframes shake-horizontal {
    0% {
        transform: translateX(0);
    }
    15% {
        transform: translateX(-5px);
    }
    30% {
        transform: translateX(5px);
    }
    45% {
        transform: translateX(-5px);
    }
    60% {
        transform: translateX(5px);
    }
    75% {
        transform: translateX(-3px);
    }
    90% {
        transform: translateX(3px);
    }
    100% {
        transform: translateX(0);
    }
}

.color-nyuuen {
    color: #2FE12F !important;
}

.no-marginTop {
    margin: 0 auto 0 auto!important;
    width: min(960px, 90%);
}

.no-marginTop>div {
    margin: 0 auto !important;
    width: 100% !important;
    max-width: unset !important;
}

.header-adjust {
    display: flex;
    align-items: center;
}

.header-adjust h3 {
    flex: 1;
}

.oswald {
    font-family: "Oswald", sans-serif !important;
    font-size: 1.5rem;
    margin: 0 0.4rem;
}

.cutout {
    z-index: 20 !important;
}

.cutout1 {
    top: -14rem !important;
    right: 10% !important;
    animation: bobbing 2s infinite 0s linear;
}

.cutout2 {
    top: -14rem !important;
    left: 10% !important;
    animation: swingin 2s infinite 0s linear;
}

.cutout3 {
    animation: bobbing 2s infinite 0s linear;
    top: -15rem !important;
    right: 5% !important;
}

.cutout.cutout3 img {
    max-width: 300px !important;
    width: 15rem !important;
}

@media(max-width:580px) {
    .cutout.cutout3 img {
        max-width: 150px !important;
    }
    .cutout.cutout3 {
        right: 5% !important;
        left: unset !important;
        top: -9rem !important;
    }
}

.cutout img {
    width: 20rem !important;
}

.head-button {
    display: flex;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    background-color: #333;
}

.head-button {
    color: #fff;
}

.support-title h2 {
    position: relative;
}

.support-title h2::before {
    font-family: "Poppins", sans-serif;
    font-size: 1rem;
    background: #B3B3FE;
    padding: 1rem;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-5%, -125%);
}

.support-title.support01 h2::before {
    content: "support 01";
}

.support-title.support02 h2::before {
    content: "support 02";
}

.support-title.support03 h2::before {
    content: "support 03";
}

.inline-blk {
    display: inline-block !important;
    width: fit-content !important;
    border: 4px solid #B3B3FE;
}

.support-card {
    overflow: hidden;
}

.alt-color2 {
    background-color: #FDFA90 !important;
}

@keyframes hovering {
    0% {
        transfrom: translateY(0)
    }
    50% {
        transform: translateY(-5px)
    }
    100% {
        transform: translateY(0)
    }
}

footer .hovering {
    animation: hovering 2s infinite 0s linear;
    z-index: 100 !important;
}


/* -------------------------------------- */


/* 　　　　　　　　苦情解決ページ用　　       */


/* -------------------------------------- */

.claim th {
    text-align: left !important;
}

.block-style {
    display: block;
}

.claim i {
    margin-right: 0.5rem;
}

.claim table {
    margin: 0 auto;
}

.claim th {
    line-height: 2rem;
    vertical-align: top;
}

.claim th,
.claim td {
    min-width: 8rem;
    border-bottom: 1px solid gray;
    padding: 0.25rem 0;
}

.claim .pc-hide {
    display: none;
}

.call-center,
.call-center * {
    font-family: "Poppins", "Zen Maru Gothic", sans-serif !important;
}

@media(max-width:768px) {
    .claim td:first-of-type {
        min-width: 5em;
    }
    .claim .pc-hide {
        display: block;
    }
}

.kebab {
    background: #ffffca;
    border: 2px solid #333;
    padding: 0.5rem;
    margin: 3rem 0 1rem !important;
}

.kebab::after {
    content: "";
    display: block;
    width: max(85vw, 300px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #333;
    height: 2px;
    z-index: -1;
}

.kebab p {
    margin: 0;
}

.claim .w768-center,
.claim table,
.opinion-list {
    width: min(85vw, 650px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.opinion-list ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.5rem;
}

.rmp-menu a {
    font-family: "Poppins", "Zen Maru Gothic", sans-serif !important;
}


/*フォントの調整*/

.Oswald,
.Oswald * {
    font-family: "Oswald", sans-serif !important;
}

.ZenM,
.ZenM * {
    font-family: "Zen Maru Gothic", sans-serif !important;
}

.recruit-button {
    position: fixed;
    bottom: 5vh;
    left: 0;
    width: min(200px, 80%);
    transform: translateX(-100%);
    transition: 1.5s !important;
    z-index: 5555 !important;
    transform-origin: left center;
}

.recruit-button.recruit-slide-in {
    transform: translateX(0);
}


/* 職員募集ページのファーストビュー */

.page-id-2512 .first-view {
    object-position: top -20% !important;
}

.two-card-container>div>div {
    display: flex;
    justify-content: center;
    align-items: center;
}

.two-card-container h3 {
    width: 100% !important;
    text-align: center;
}

.info-row {
    display: flex;
    align-items: center;
    min-height: 1lh;
}

@media(max-width:768px) {
    .info-row {
        align-items: center;
        font-size: 1.1rem;
        line-height: 1.2;
        min-height: 2lh;
    }
}

.btn-cover {
    border: 1px solid #fff;
    border-radius: 4px;
    color: #fff;
    padding: 0.1rem;
    display: inline-block;
    margin: 0.1rem 0.8rem 0.1rem 0;
    min-width: 5rem;
    text-align: center;
}

.info-row a {
    color: #fff;
}