/* voice Section - Custom CSS */
/* 基本的なElementorスタイル再現 */

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

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

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

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

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

/* 30% / 70% レイアウト用の新しいクラス */
.voice-column.voice-col-30 {
    width: 30%;
}

.voice-column.voice-col-70 {
    width: 70%;
}

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

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

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

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

/* Content center alignment */
.voice-content-center {
    align-content: center;
    align-items: center;
    justify-content: center;
}

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

.voice-element {
    position: relative;
    width: 100%;
}

/* Heading widget styles */
.voice-widget-heading {
    margin-bottom: 20px;
    padding: 0% 0% 3% 0%;
}

.voice-heading-title {
    line-height: 1;
    margin: 0;
    padding: 0;
    position: relative;
    width: 100%;
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #297842;
}

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

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

/* Text editor widget styles */
.voice-widget-text-editor {
    /* Text editor widget styles */
}

.voice-widget-text-editor p {
    margin: 0 0 1em 0;
    padding: 0;
}

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

/* Inner section styles */
.voice-inner-section {
    position: relative;
    width: 100%;
}

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

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

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

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

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

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

/* Responsive styles */
@media (max-width: 1024px) {
    .voice-hidden-desktop {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .voice-hidden-mobile {
        display: none !important;
    }
    
    .voice-hidden-tablet {
        display: none !important;
    }
    
    .voice-column.voice-col-50 {
        width: 100%;
    }
    
    .voice-column.voice-col-30,
    .voice-column.voice-col-70 {
        width: 100%;
    }
    
    .voice-container {
        flex-direction: column;
    }
    
    .voice-heading-title {
        font-size: 15px;
        line-height: 1.5em;
    }
}

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

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

/* Specific element styles */
.voice-top-section {
    background-image: url("../img/グループ-165.webp");
    background-repeat: no-repeat;
    background-size: cover;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 3% 0% 5% 0%;
}

.voice-element-5a1aa0e {
    width: 100%;
    background: #ffffff;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 3% 5% 3% 5%;
    border-radius: 5px 5px 5px 5px;
}

.voice-element-5a1aa0e > .voice-container {
    align-items: stretch;
}

.voice-element-5a1aa0e:not(:first-child) {
    margin-top: 30px;
    margin-bottom: 0px;
}

.voice-element-4de4c5f > .voice-container {
    flex-direction: column;
}

.voice-element-4de4c5f > .voice-container > .voice-section {
    width: 100%;
}
