/* Taisotaikan Section Styles */
.taisotaikan-section {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
}

.taisotaikan-top-section {
    padding: 4% 10px 4% 10px;
}

.taisotaikan-top-section > .taisotaikan-background-overlay {
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}

.taisotaikan-movie-text-section {
    padding: 5% 0% 1% 0%;
    background-color: #F5F5F5;
}

.taisotaikan-movie-section {
    padding: 0% 0% 3% 0%;
    background-color: #F5F5F5;
}

.taisotaikan-movie-section .taisotaikan-container {
    max-width: 900px;
}

/* Container Styles */
.taisotaikan-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.taisotaikan-column-gap-default {
    gap: 0px;
}

.taisotaikan-column-gap-default > .taisotaikan-column > .taisotaikan-element-populated {
    padding: 10px;
}

/* Column Styles */
.taisotaikan-column {
    display: flex;
    min-height: 1px;
    position: relative;
}

.taisotaikan-col-100 {
    width: 100%;
}

.taisotaikan-col-50 {
    width: 50%;
}

.taisotaikan-col-33 {
    width: 33.333%;
}

/* Widget Wrap */
.taisotaikan-widget-wrap {
    position: relative;
    align-content: flex-start;
    flex-wrap: wrap;
    display: flex;
    width: 100%;
}

.taisotaikan-widget-wrap > .taisotaikan-element {
    width: 100%;
}

/* Video Widget Styles */
.taisotaikan-widget-video {
    margin-bottom: 20px;
}

.taisotaikan-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
}

.taisotaikan-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Text Editor Widget Styles */
.taisotaikan-widget-text-editor .taisotaikan-widget-container {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 16px;
    line-height: 1.8em;
    color: #000;
    text-align: left;
}

/* Responsive Styles */
@media (max-width: 767px) {
    .taisotaikan-top-section {
        padding: 5% 10px 5% 10px;
    }
    
    .taisotaikan-col-50 {
        width: 100% !important;
    }
    
    .taisotaikan-col-33 {
        width: 100% !important;
    }
    
    .taisotaikan-widget-text-editor .taisotaikan-widget-container {
        font-size: 14px;
        line-height: 1.6em;
    }
}

/* Hidden Classes - Responsive Visibility */
.taisotaikan-hidden-mobile {
    display: block;
}

.taisotaikan-hidden-desktop,
.taisotaikan-hidden-tablet {
    display: none;
}

@media (max-width: 767px) {
    .taisotaikan-hidden-mobile {
        display: none !important;
    }
    
    .taisotaikan-hidden-desktop {
        display: block;
    }
}

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

@media (min-width: 1025px) {
    .taisotaikan-hidden-desktop {
        display: none !important;
    }
}

/* Animation Classes */
.taisotaikan-animated-content {
    animation-fill-mode: both;
}

/* Background Styles */
.taisotaikan-bg {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* Elementor移植: セクションスタイル */
.taisotaikan-element-7c0b345 {
    padding: 5% 0% 1% 0%;
}

.taisotaikan-element-8648643 {
    background-color: #F5F5F5;
    padding: 0% 0% 3% 0%;
}

.taisotaikan-element-8648643 > .taisotaikan-container {
    max-width: 900px;
}

.taisotaikan-element-1144461 {
    padding: 3% 0% 0% 0%;
}

/* Elementor移植: 見出しスタイル */
.taisotaikan-widget-heading .taisotaikan-heading-title {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-weight: var(--e-global-typography-primary-font-weight);
    color: var(--e-global-color-primary);
}

.taisotaikan-element-5445dc2 .taisotaikan-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 40px;
    font-weight: 900;
    color: var(--e-global-color-f13a06f);
}

.taisotaikan-element-ff5af9a {
    text-align: center;
}

.taisotaikan-element-ff5af9a .taisotaikan-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #00516D;
}

.taisotaikan-element-b6e2043 {
    text-align: center;
}

.taisotaikan-element-b6e2043 .taisotaikan-heading-title {
    font-family: "Mulish", Sans-serif;
    font-size: 65px;
    font-weight: 900;
    color: #00516D;
}

.taisotaikan-element-a78e93b {
    text-align: center;
}

.taisotaikan-element-a78e93b .taisotaikan-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #00516D;
}

.taisotaikan-element-bcee494 {
    text-align: center;
}

.taisotaikan-element-bcee494 .taisotaikan-heading-title {
    font-family: "Mulish", Sans-serif;
    font-size: 65px;
    font-weight: 900;
    color: #00516D;
}

/* Elementor移植: ビデオスタイル */
.taisotaikan-element-3bedd63 .taisotaikan-wrapper {
    --video-aspect-ratio: 1.77777;
}

/* Elementor移植: テキストエディタースタイル */
.taisotaikan-widget-text-editor {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    color: #000000;
}

.taisotaikan-element-3b9be5b {
    font-family: "Noto Sans JP", Sans-serif;
    font-weight: 500;
    line-height: 2em;
    color: #000000;
}

.taisotaikan-element-75fca80 {
    padding: 5% 0% 0% 0%;
}

/* Elementor移植: 画像キャプション */
.taisotaikan-widget-image .widget-image-caption {
    color: #000000;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
}

/* Elementor移植: カラム配置 */
.taisotaikan-bc-flex-widget .taisotaikan-element-f678721.taisotaikan-column .taisotaikan-widget-wrap {
    align-items: center;
}

.taisotaikan-element-f678721.taisotaikan-column.taisotaikan-element[data-element_type="column"] > .taisotaikan-widget-wrap.taisotaikan-element-populated {
    align-content: center;
    align-items: center;
}

.taisotaikan-bc-flex-widget .taisotaikan-element-3057302.taisotaikan-column .taisotaikan-widget-wrap {
    align-items: center;
}

.taisotaikan-element-3057302.taisotaikan-column.taisotaikan-element[data-element_type="column"] > .taisotaikan-widget-wrap.taisotaikan-element-populated {
    align-content: center;
    align-items: center;
}

/* Elementor移植: 見出し詳細スタイル */
.taisotaikan-element-79e02b5 {
    padding: 0% 0% 3% 0%;
}

.taisotaikan-element-e2dfd2b > .taisotaikan-widget-container {
    background-color: #00516d;
    padding: 6% 6% 6% 6%;
}

.taisotaikan-element-e2dfd2b {
    text-align: center;
}

.taisotaikan-element-e2dfd2b .taisotaikan-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-weight: 600;
    color: #ffffff;
}

.taisotaikan-element-2add0df .taisotaikan-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 1.5em;
    font-weight: 400;
    color: #000000;
    margin-bottom: 0;
}

.taisotaikan-element-5845e33 .taisotaikan-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 19px;
    font-weight: 500;
    line-height: 2em;
    color: #000000;
    margin-bottom: 0;
}

.taisotaikan-element-b12c53d > .taisotaikan-widget-wrap {
    background-color: #F2F2F2;
}

/* Elementor移植: 画像カルーセル */
.taisotaikan-element-6475334 {
    --e-image-carousel-slides-to-show: 6;
}

.taisotaikan-element-ae56577 {
    margin-top: 0%;
    margin-bottom: 2%;
    padding: 0% 0% 0% 0%;
}

.taisotaikan-element-edf2e49 {
    margin-top: 0%;
    margin-bottom: 2%;
    padding: 0% 0% 0% 0%;
}

/* 画像セクション - 中央揃え */
.taisotaikan-element-828f295 .taisotaikan-widget-wrap {
    text-align: center;
}

/* ギャラリーセクション */
.taisotaikan-gallery-section {
    padding: 1% 0% 1% 0%;
}

/* 期待できる効果セクション - 園児デザイン移植 */
.taisotaikan-element-edf8f5e {
    box-sizing: border-box;
}

.taisotaikan-element-edf8f5e > .taisotaikan-element-populated {
    box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: #00516d;
    background-color: #00516d;
    padding: 20px;
}

/* Override padding for edf8f5e */
.taisotaikan-column-gap-no > .taisotaikan-element-edf8f5e > .taisotaikan-element-populated {
    padding: 0 !important;
}

/* 見出しスタイル for 48aa8e8 */
.taisotaikan-element-48aa8e8 {
    text-align: center;
    padding: 1%;
}

.taisotaikan-element-48aa8e8 .taisotaikan-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 0;
}

/* テキストエディタースタイル for 9796b27 */
.taisotaikan-element-edf8f5e .taisotaikan-widget-text-editor {
    color: #000000;
}

.taisotaikan-element-9796b27 .taisotaikan-widget-container {
    background-color: #ffffff;
    margin: 0;
    padding: 2%;
}

/* 具体的なトレーニング内容セクション - 園児デザイン移植 */
.taisotaikan-element-715b35c {
    box-sizing: border-box;
}

.taisotaikan-element-715b35c > .taisotaikan-element-populated {
    box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: #0a8620;
    background-color: #0a8620;
    padding: 20px;
}

/* Override padding for 715b35c */
.taisotaikan-column-gap-no > .taisotaikan-element-715b35c > .taisotaikan-element-populated {
    padding: 0 !important;
}

/* 見出しスタイル for 8970c42 */
.taisotaikan-element-8970c42 {
    text-align: center;
    padding: 1%;
}

.taisotaikan-element-8970c42 .taisotaikan-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 0;
}

/* テキストエディタースタイル for d446b25 */
.taisotaikan-element-715b35c .taisotaikan-widget-text-editor {
    color: #000000;
}

.taisotaikan-element-d446b25 .taisotaikan-widget-container {
    background-color: #ffffff;
    margin: 0;
    padding: 2%;
}

/* Elementor移植: レスポンシブ - タブレット以上 */
@media (min-width: 768px) {
    .taisotaikan-element-d875795 {
        width: 42%;
    }
    
    .taisotaikan-element-f678721 {
        width: 58%;
    }
    
    .taisotaikan-element-c4b9ba9 {
        width: 27.665%;
    }
    
    .taisotaikan-element-3057302 {
        width: 72.335%;
    }
}

/* Elementor移植: レスポンシブ - モバイル */
@media (max-width: 767px) {
    .taisotaikan-element-7c0b345 {
        padding: 5% 0% 5% 0%;
    }
    
    .taisotaikan-element-5445dc2 > .taisotaikan-widget-container {
        padding: 0% 0% 0% 0%;
    }
    
    .taisotaikan-element-5445dc2 .taisotaikan-heading-title {
        font-size: 17px;
    }
    
    .taisotaikan-element-ff5af9a .taisotaikan-heading-title {
        font-size: 13px;
    }
    
    .taisotaikan-element-b6e2043 > .taisotaikan-widget-container {
        margin: -10px 0px 0px 0px;
    }
    
    .taisotaikan-element-b6e2043 .taisotaikan-heading-title {
        font-size: 25px;
    }
    
    .taisotaikan-element-3b9be5b {
        font-size: 14px;
        line-height: 1.7em;
    }
    
    .taisotaikan-element-a78e93b .taisotaikan-heading-title {
        font-size: 13px;
    }
    
    .taisotaikan-element-bcee494 > .taisotaikan-widget-container {
        margin: -10px 0px 0px 0px;
    }
    
    .taisotaikan-element-bcee494 .taisotaikan-heading-title {
        font-size: 25px;
    }
    
    .taisotaikan-element-c4b9ba9 {
        width: 40% !important;
    }
    
    .taisotaikan-element-e2dfd2b .taisotaikan-heading-title {
        font-size: 14px;
    }
    
    .taisotaikan-element-3057302 {
        width: 60% !important;
    }
    
    .taisotaikan-element-2add0df .taisotaikan-heading-title {
        font-size: 15px;
    }
    
    .taisotaikan-element-5845e33 .taisotaikan-heading-title {
        font-size: 14px;
    }
    
    .taisotaikan-element-6475334 {
        --e-image-carousel-slides-to-show: 2;
    }
    
    .taisotaikan-element-ae56577 {
        margin-top: 0%;
        margin-bottom: 2%;
        padding: 0% 0% 0% 0%;
    }
    
    .taisotaikan-element-edf2e49 {
        margin-top: 0%;
        margin-bottom: 2%;
        padding: 0% 0% 0% 0%;
    }
    
    /* 期待できる効果セクション - レスポンシブ */
    .taisotaikan-element-48aa8e8 .taisotaikan-heading-title {
        font-size: 15px;
    }
    
    .taisotaikan-element-48aa8e8 {
        padding: 4%;
    }
    
    /* 具体的なトレーニング内容セクション - レスポンシブ */
    .taisotaikan-element-8970c42 .taisotaikan-heading-title {
        font-size: 15px;
    }
    
    .taisotaikan-element-8970c42 {
        padding: 4%;
    }
}

/* 小学生セクション専用の背景色 */
.taisotaikan-elementary-section {
    background-color: #f5f5f5;
}

/* 小学生セクションのタイトル部分 */
.taisotaikan-elementary-text-section {
    background-color: #f5f5f5;
}

