/* 器具紹介セクション背景 */
#kigu {
    background-color: #F5F5F5;
}
/* facility Section - Custom CSS */
/* 基本的なElementorスタイル再現 */

/* Base section styles */
.facility-section {
    position: relative;
}

.facility-top-section {
    padding: 5% 0% 5% 0%;
}

/* Container styles */
.facility-container {
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    max-width: 1200px;
    width: 100%;
}

/* Column styles */
.facility-column {
    display: flex;
    min-height: 1px;
    position: relative;
    flex-direction: column;
}

.facility-column.facility-col-100 {
    width: 100%;
}

.facility-column.facility-col-50 {
    width: 50%;
}

.facility-column.facility-col-33 {
    width: 33.333%;
}

.facility-top-column {
    /* Top column styles */
}

.facility-inner-column {
    /* Inner column styles */
}

/* Widget wrap styles */
.facility-widget-wrap {
    align-content: flex-start;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.facility-element-populated {
    /* Populated element styles */
}

/* Widget styles */
.facility-widget {
    position: relative;
}

.facility-element {
    position: relative;
}

/* Heading widget styles */
.facility-widget-heading {
    /* Heading widget styles */
}

.facility-heading-title {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    text-align: center;
}

.facility-widget-heading .facility-heading-title.facility-size-default {
    font-size: inherit;
}

/* Image widget styles */
.facility-widget-image {
    /* Image widget styles */
}

.facility-widget-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Widget container */
.facility-widget-container {
    position: relative;
}

/* Inner section styles */
.facility-inner-section {
    position: relative;
}

.facility-section-boxed {
    /* Boxed section styles */
}

.facility-section-height-default {
    /* Default height section */
}

/* Hidden styles */
.facility-hidden-mobile {
    /* Hidden mobile styles */
}

.facility-hidden-desktop {
    /* Hidden desktop styles */
}

.facility-hidden-tablet {
    /* Hidden tablet styles */
}

/* Column gap styles */
.facility-column-gap-default > .facility-column > .facility-element-populated {
    padding: 15px;
}

/* Items container - 13行目の施設アイテムコンテナ用 */
.facility-items-container {
    padding-bottom: 3%;
    justify-content: left;
}

/* CTA (Call to Action) Widget Styles */
.facility-widget-call-to-action .facility-widget-container,
.facility-widget-call-to-action:not(:has(.facility-widget-container)) {
    overflow: hidden;
}

.facility-cta {
    display: flex;
    overflow: hidden;
    position: relative;
    transition: .5s;
}

.facility-cta--skin-classic .facility-cta {
    flex-wrap: wrap;
}

.facility-cta--skin-classic .facility-cta__bg-wrapper {
    min-height: 200px;
    position: relative;
    width: 100%;
}

.facility-cta--skin-classic .facility-cta__content {
    background-color: #f9fafa;
    transition: all .4s;
    width: 100%;
}

.facility-cta--skin-classic .facility-cta__content-item,
.facility-cta--skin-classic .facility-cta__content-item .facility-icon {
    border-color: #297842;
    color: #297842;
    fill: #297842;
}

.facility-cta--skin-classic .facility-cta__button.facility-button {
    border-color: #297842;
    color: #297842;
}

.facility-cta__bg,
.facility-cta__bg-overlay {
    inset: 0;
    position: absolute;
    transition: all .4s;
}

.facility-cta__bg-wrapper {
    overflow: hidden;
    z-index: 1;
}

.facility-cta__bg {
    background-position: 50%;
    background-size: cover;
    z-index: 1;
}

.facility-cta__bg-overlay {
    z-index: 2;
}



.facility-cta__content {
    align-content: center;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    padding: 35px;
    width: 100%;
    z-index: 1;
}

.facility-cta__content,
.facility-cta__content-item {
    color: #fff;
    position: relative;
    transition: .5s;
}

.facility-cta__content-item {
    margin: 0;
    width: 100%;
}

.facility-cta__content-item:not(:last-child) {
    margin-bottom: 15px;
}

.facility-cta__content-item .facility-icon {
    color: #fff;
}

.facility-cta:hover .facility-cta__bg-overlay {
    background-color: rgba(0, 0, 0, .3);
}

/* Background Transform Styles */
.facility-bg-transform .facility-bg {
    will-change: transform;
}

.facility-bg-transform-zoom-in:hover .facility-bg,
.facility-bg-transform-zoom-out .facility-bg {
    transform: scale(1.2);
}

.facility-bg-transform-zoom-out:hover .facility-bg {
    transform: scale(1);
}

/* Animated Content */
.facility-animated-content {
    /* Animation styles */
}

/* facility-element-e098e78 配下の facility-container スタイル */
.facility-element-e098e78 {
    width: 100%;
}

.facility-element-e098e78 .facility-container {
    max-width: 800px;
    margin: 0 auto;
}

/* facility-element-22f8d55 と facility-element-0f100dd のスタイル */
.facility-element-22f8d55,
.facility-element-0f100dd {
    width: 100%;
}

.facility-section.facility-element-1480dbc .facility-element-22f8d55 .facility-cta__content,
.facility-section.facility-element-1480dbc .facility-element-0f100dd .facility-cta__content {
    min-height: 0px;
    text-align: center;
    padding: 5% 5% 5% 5%;
}

.facility-section.facility-element-1480dbc .facility-element-22f8d55 .facility-cta__title,
.facility-section.facility-element-1480dbc .facility-element-0f100dd .facility-cta__title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: #297842;
}

.facility-section.facility-element-1480dbc .facility-element-22f8d55 .facility-cta__bg-wrapper,
.facility-section.facility-element-1480dbc .facility-element-0f100dd .facility-cta__bg-wrapper {
    min-height: 175px;
}

/* facility-element-1480dbc のスタイル */
.facility-element-1480dbc {
    background-color: #f5f5f5;
}

.facility-section.facility-element-1480dbc .facility-column.facility-col-50 {
    width: 50%;
}

/* 設備紹介セクション内のh3スタイル */
.facility-element-6b66f09 .facility-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #00516D;
    text-align: left;
}

/* 設備紹介セクション内のheading要素の親要素にmargin-bottom */
.facility-element-6b66f09 .facility-widget-heading {
    width: 100%;
    margin-bottom: 20px;
}

/* 設備紹介セクション内の画像要素にmargin-bottom */
.facility-element-6b66f09 .facility-element-img {
    width: 100%;
    margin-bottom: 20px;
}

/* 設備紹介セクション内の画像要素内の画像を100%に */
.facility-element-6b66f09 .facility-element-img img {
    width: 100%;
}

/* 対象年齢セクション */
.facility-element-5a7bb3e {
    width: 100%;
    margin-top: 0%;
    margin-bottom: 0%;
    padding: 0% 0% 2% 0%;
}

/* 対象年齢セクション内のheading要素の親要素にmargin-bottom */
.facility-element-5a7bb3e .facility-widget-heading {
    width: 100%;
    margin-bottom: 0px;
}

/* 対象年齢ラベルのスタイル */
.facility-element-dbb3d31 .facility-heading-title {
    background-color: #00516D;
    color: #ffffff;
    padding: 8px 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 14px;
    font-weight: 600;
}

/* 対象年齢テキストのスタイル */
.facility-element-c0051d2 {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 2em;
    display: flex;
    align-items: center;
}

/* 対象年齢セクション内のカラムを左寄せ */
.facility-element-5a7bb3e .facility-column > .facility-element-populated {
    align-content: flex-start;
    align-items: flex-start;
}

/* 対象年齢セクションのカラムギャップナローにパディング */
.facility-element-5a7bb3e .facility-column-gap-narrow > .facility-column > .facility-element-populated {
    padding: 5px;
}

/* 対象年齢セクションのカラム幅 */
.facility-column.facility-element-838ed27 {
    width: 35%;
}

.facility-column.facility-element-974ba4e {
    width: 60%;
}

/* Responsive styles */
@media (max-width: 1024px) {
    .facility-hidden-desktop {
        display: none !important;
    }
    
    .facility-column.facility-col-33 {
        width: 50%;
    }
    
    .facility-cta {
        cursor: pointer;
    }
}

@media (max-width: 767px) {
    .facility-hidden-mobile {
        display: none !important;
    }
    
    .facility-hidden-tablet {
        display: none !important;
    }
    
    .facility-column.facility-col-33 {
        width: 100%;
    }
    
    .facility-column.facility-col-50 {
        width: 100%;
    }
    
    .facility-container {
        flex-direction: column;
    }
    
    /* facility-element-1480dbc 配下はスマホ時も横並びを維持 */
    .facility-section.facility-element-1480dbc .facility-container {
        flex-direction: row;
    }
    
    .facility-section.facility-element-1480dbc .facility-column.facility-col-50 {
        width: 50%;
    }
    
    /* 対象年齢セクション内はスマホ時も横並びを維持 */
    .facility-element-5a7bb3e .facility-container {
        flex-direction: row;
    }
    
    /* 対象年齢セクションのカラム幅（スマホ） */
    .facility-column.facility-element-838ed27 {
        width: 35%;
    }
    
    .facility-column.facility-element-974ba4e {
        width: 60%;
    }
    
    .facility-section.facility-element-1480dbc .facility-element-22f8d55 .facility-cta__title,
    .facility-section.facility-element-1480dbc .facility-element-0f100dd .facility-cta__title {
        font-size: 14px;
    }
    
    .facility-section.facility-element-1480dbc .facility-element-22f8d55 .facility-cta__bg-wrapper,
    .facility-section.facility-element-1480dbc .facility-element-0f100dd .facility-cta__bg-wrapper {
        min-height: 110px;
    }
    
    /* スマホでは設備紹介セクション内のh3を中央寄せ */
    .facility-element-6b66f09 .facility-heading-title {
        text-align: center;
    }
    
    /* 対象年齢テキストのスタイル（スマホ） */
    .facility-element-c0051d2 {
        font-size: 14px;
        line-height: 1.5em;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .facility-hidden-tablet {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    .facility-hidden-desktop {
        display: block;
    }
}

