/* img_card Component - Custom CSS */
/* 画像カードコンポーネント - シンプルでクリーンなデザイン */

/* Base section styles */
.img-card-section {
    position: relative;
    background: #ffffff;
    text-align: center;
    padding: 0 10px;
}

.img-card-section .img-card-container {
    max-width: 1180px;
    margin: 0 auto;
    position: relative;
}

/* Column styles */
.img-card-column {
    width: 100%;
    margin-bottom: 30px;
}

.img-card-column.img-card-col-100 {
    width: 100%;
}

.img-card-column.img-card-col-50 {
    width: 100%;
}

/* Inner section styles */
.img-card-inner-section {
    padding: 5% 5% 5% 5%;
    background: #ffffff;
    box-shadow: 2px 2px 4px 0px rgba(141.1, 141.1, 141.1, 0.5);
}

@media (max-width: 767px) {
    .img-card-inner-section {
        padding: 4% 4% 4% 4%;
    }
}

.img-card-section-boxed {
    /* Boxed section styles */
}

/* Widget styles */
.img-card-widget-wrap {
    width: 100%;
    text-align: center;
}

.img-card-widget {
    margin-bottom: 30px;
}

/* Image widget styles - シンプルなデザイン */
.img-card-widget-image {
    text-align: center;
    margin-bottom: 20px;
}

.img-card-widget-image {
    background: transparent;
    padding: 0;
    border: none;
    box-shadow: none;
}

.img-card-widget-image img {
    max-width: 100%;
    height: auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* Text editor styles - シンプルな白いボックス */
.img-card-widget-text-editor {
    background: #ffffff;
    padding: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.img-card-widget p {
    font-size: 16px;
    line-height: 1.7;
    color: #333;
    margin: 0;
    text-align: left;
    font-weight: 400;
}

/* Button widget styles - シンプルなボタンコンテナ */
.img-card-widget-button {
    text-align: center;
    margin-top: 20px;
}

/* Element positioning */
.img-card-element-populated {
    position: relative;
}

/* Right alignment for specific section using flexbox */
.img-card-section-2 {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

/* Widget container styles */
.img-card-widget-container {
    position: relative;
}

/* Container width styles */
.img-card-container-space {
    width: 30%;
}

.img-card-container-text {
    width: 70%;
}

/* Mobile responsive styles for container-space */
@media (max-width: 767px) {
    .img-card-container-space {
        display: none;
    }
    
    .img-card-container-text {
        width: 100%;
    }
}

/* Top level elements */
.img-card-top-section {
    /* Top section specific styles */
}

.img-card-top-column {
    /* Top column specific styles */
}

.img-card-inner-column {
    /* Inner column specific styles */
}

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

/* Hidden elements */
.img-card-hidden-mobile {
    /* Hidden on mobile styles */
}

/* Size classes */
.img-card-size-md {
    /* Medium size styles */
}

/* Alignment classes */
.img-card-align-justify {
    text-align: center;
}

/* Lazy loading styles */
.img-card-lazy-hidden {
    opacity: 1;
}

.img-card-lazy-loaded {
    opacity: 1;
}

/* Responsive styles */
@media (max-width: 1024px) {
    .img-card-widget p {
        font-size: 15px;
    }
}

@media (max-width: 767px) {
    .img-card-hidden-mobile {
        display: none !important;
    }
    
    .img-card-widget p {
        font-size: 14px;
        line-height: 1.6;
    }
}

/* Animation styles - シンプル化 */
.img-card-widget {
    opacity: 1;
    transform: none;
    transition: none;
}

.img-card-text {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 2em;
    text-align: left;
}

@media (max-width: 767px) {
    .img-card-text {
        font-size: 14px;
        line-height: 1.5em;
    }
}
