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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Text Editor Widget Styles */
.otona-widget-text-editor .otona-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) {
    .otona-top-section {
        padding: 5% 10px 5% 10px;
    }
    
    .otona-col-50 {
        width: 100% !important;
    }
    
    .otona-col-33 {
        width: 100% !important;
    }
    
    .otona-widget-text-editor .otona-widget-container {
        font-size: 14px;
        line-height: 1.6em;
    }
}

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

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

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

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

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

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

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

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

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

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

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

/* Elementor移植: 見出しスタイル */
.otona-widget-heading .otona-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);
}

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

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

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

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

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

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

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

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

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

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

/* Elementor移植: テキストエディタースタイル */
.otona-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;
}

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

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

/* Elementor移植: 画像キャプション */
.otona-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移植: カラム配置 */
.otona-bc-flex-widget .otona-element-f678721.otona-column .otona-widget-wrap {
    align-items: center;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Swiper Slide Background Styles */
.otona-widget-slides .swiper-slide-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
}

/* Desktop Slider Background Images (element-760c60f) */
.otona-element-760c60f .otona-repeater-item-dcd438b .swiper-slide-bg {
    background-color: #FFFFFF00;
    background-image: url('/html2/img/otona/TPZ_6044-scaled-1.webp');
    background-size: cover;
}

.otona-element-760c60f .otona-repeater-item-1882d15 .swiper-slide-bg {
    background-color: #4054b2;
    background-image: url('/html2/img/otona/TPZ_6337-scaled-1.webp');
    background-size: cover;
}

.otona-element-760c60f .otona-repeater-item-9b75f28 .swiper-slide-bg {
    background-color: #FFFFFF00;
    background-image: url('/html2/img/otona/TPZ_6297-scaled-1.webp');
    background-size: cover;
}

.otona-element-760c60f .otona-repeater-item-07e5320 .swiper-slide-bg {
    background-color: #FFFFFF00;
    background-image: url('/html2/img/otona/TPZ_6044-scaled-1.webp');
    background-size: cover;
}

.otona-element-760c60f .swiper-slide {
    transition-duration: calc(5000ms*1.2);
    height: 730px;
}

.otona-element-760c60f .swiper-slide-contents {
    max-width: 50%;
}

.otona-element-760c60f .swiper-slide-inner {
    text-align: center;
}

/* Mobile Slider Background Images (element-82f41b9) */
.otona-element-82f41b9 .otona-repeater-item-dcd438b .swiper-slide-bg {
    background-color: #FFFFFF00;
    background-image: url('/html2/img/otona/TPZ_6044-scaled-1.webp');
    background-size: contain;
}

.otona-element-82f41b9 .otona-repeater-item-1882d15 .swiper-slide-bg {
    background-color: #FFFFFF00;
    background-image: url('/html2/img/otona/TPZ_6337-scaled-1.webp');
    background-size: contain;
}

.otona-element-82f41b9 .otona-repeater-item-9b75f28 .swiper-slide-bg {
    background-color: #FFFFFF00;
    background-image: url('/html2/img/otona/TPZ_6297-scaled-1.webp');
    background-size: contain;
}

.otona-element-82f41b9 .otona-repeater-item-07e5320 .swiper-slide-bg {
    background-color: #FFFFFF00;
    background-image: url('/html2/img/otona/TPZ_6044-scaled-1.webp');
    background-size: contain;
}

.otona-element-82f41b9 .swiper-slide {
    transition-duration: calc(5000ms*1.2);
    height: 300px;
}

.otona-element-82f41b9 .swiper-slide-contents {
    max-width: 47%;
}

.otona-element-82f41b9 .swiper-slide-inner {
    text-align: center;
}

/* Swiper Slide Inner */
.otona-widget-slides .swiper-slide {
    position: relative;
}

.otona-widget-slides .swiper-slide-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
}

.otona-widget-slides .swiper-slide-contents {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

/* Swiper Navigation Buttons */
.otona-swiper-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    background: transparent;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.otona-swiper-button:hover {
    background: transparent;
}

.otona-swiper-button-prev {
    left: 20px;
}

.otona-swiper-button-next {
    right: 20px;
}

.otona-swiper-button i {
    font-size: 20px;
    color: hsla(0,0%,93%,.9);
}

/* Swiper Pagination */
.otona-widget-slides .swiper-pagination {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.otona-widget-slides .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
    width: 12px;
    height: 12px;
    margin: 0 5px;
}

.otona-widget-slides .swiper-pagination-bullet-active {
    background: #00516D;
}

/* より具体的なセレクターでページネーションを中央配置 */
.otona-element-760c60f .swiper-pagination,
.otona-element-82f41b9 .swiper-pagination {
    position: absolute !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
}

.otona-element-760c60f .swiper-pagination-bullet,
.otona-element-82f41b9 .swiper-pagination-bullet {
    background: #000000 !important;
    opacity: 0.2 !important;
    width: 6px !important;
    height: 6px !important;
    margin: 0 3px !important;
}

.otona-element-760c60f .swiper-pagination-bullet-active,
.otona-element-82f41b9 .swiper-pagination-bullet-active {
    background: #000000 !important;
    opacity: 1 !important;
}

/* Elementor移植: スライダーセクション */
.otona-element-0ac63a9 {
    padding: 0% 0% 3% 0%;
    background-color: #f5f5f5;
}

.otona-element-0ac63a9 > .otona-container {
    max-width: 900px;
    margin: 0 auto;
}

/* Responsive Styles for Slider */
@media (max-width: 1024px) {
    .otona-element-0ac63a9 {
        padding: 0% 0% 10% 0%;
    }
}

@media (max-width: 767px) {
    .otona-element-82f41b9 > .otona-widget-container {
        padding: 0% 0% 10% 0%;
    }
    
    .otona-element-82f41b9 .swiper-slide-contents {
        max-width: 47%;
    }
    
    .otona-swiper-button {
        width: 35px;
        height: 35px;
    }
    
    .otona-swiper-button i {
        font-size: 16px;
    }
    
    .otona-swiper-button-prev {
        left: 10px;
    }
    
    .otona-swiper-button-next {
        right: 10px;
    }
}

