/* 悩みセクション */
.problems-section {
    background-image: url('../img/bg_ worries_section.webp');
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center top;
    background-color: var(--light-color);
    min-height: 100vw;
    width: 100%;
}

.problems-section .container {
    max-width: 80vw;
}

.problems-content {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.problems-images-container {
    width: 75vw;
    margin: 0 auto;
    position: relative;
    height: 20vw;
}

.problems-image {
    position: absolute;
    width: 15vw;
    height: auto;
    top: 0;
}

.problems-image-1 {
    left: 2vw;
	top: 2vw;
	width: 25%;
}

.problems-image-2 {
    left: 12.2vw;
	top: 18vw;
	width: 25%;
}

.problems-image-3 {
    left: 28.3vw;
	top: 8vw;
	width: 25%;
}

.problems-image-4 {
    left: 46.5vw;
	top: 4vw;
	width: 25%;
}

.problems-image-5 {
    left: 58vw;
	top: 16vw;
	width: 25%;
}

/* テキストオーバーレイ */
.problems-text {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    pointer-events: none;
    width: 17vw;
    height: auto;
}

.problems-text-1 {
    left: 2.9vw;
    top: 13vw;
}

.problems-text-2 {
    left: 13vw;
    top: 28.5vw;
}

.problems-text-3 {
    left: 29.3vw;
    top: 19.5vw;
}

.problems-text-4 {
    left: 46.3vw;
    top: 13.3vw;
}

.problems-text-5 {
    left: 59vw;
    top: 26vw;
}

.problems-text-line1,
.problems-text-line2 {
    font-size: 1.13vw;
    color: var(--dark-color);
    font-weight: 600;
    line-height: 1.3;
    margin: 0.2vw 0;
    letter-spacing: -0.05em;
}
.problems-text-line3,
.problems-text-line4 {
    font-size:1.07vw;
    color: var(--dark-color);
    font-weight: 600;
    line-height: 1.3;
    margin: 0.2vw 0;
    letter-spacing: -0.05em;
}

/* 見出しセクション */
.problems-heading-section {
    margin-top: 20vw;
    text-align: center;
}

.problems-heading-line1 {
    font-size: 3.0vw;
    color: white;
    font-weight: 800;
    margin: 0 0 0.1vw 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.problems-heading-line2 {
    font-size: 2.2vw;
    color: white;
    font-weight: 800;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.sp-br {
    display: none;
}

/* カラムセクション */
.problems-columns-section {
    margin-top: 4vw;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.problems-columns-row {
    display: flex;
    width: 100%;
    margin-bottom: 1.2vw;
}

.problems-columns-row:last-child {
    margin-bottom: 0;
}

.problems-column {
    height: 13vw;
}

.problems-column-left {
    flex: 5;
    background-image: url('../img/worries_arrow.webp');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1vw;
}

.problems-column-right {
    flex: 12;
    background-color: white;
    border: 2px solid #F47F2D;
    border-radius: 1vw;
    display: flex;
    align-items: stretch;
    padding: 3vw;
}

.problems-column-right-inner {
    display: flex;
    width: 100%;
}

.problems-column-right-text-area {
    flex: 22;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    padding: 2vw;
}

.problems-column-right-empty {
    flex: 9;
    display: flex;
    align-items: center;
    justify-content: center;
}

.problems-column-right-image {
    width: 100%;
    height: auto;
    max-width: 100%;
}

/* カラム内テキストスタイル */
.problems-column-left-text {
    font-size: 1.2vw;
    color: var(--dark-color);
    font-weight: 600;
    line-height: 1.4;
    z-index: 2;
    position: relative;
}

.problems-column-right-text {
    font-size: 1.1vw;
    color: var(--dark-color);
    line-height: 1.6;
    font-weight: 400;
}

.problems-column-right-title {
    font-size: 1vw;
    color: var(--dark-color);
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 1vw;
}

.problems-text-highlight1 {
    color: #F47F2D;
    font-size: 1.7vw;
    font-weight: 700;
}
.problems-text-highlight2 {
    color: #F47F2D;
    font-size: 1.1vw;
    font-weight: 700;
}

/* SP版専用カラムセクション（PC版では非表示） */
.problems-columns-section-sp {
    display: none;
	padding-top: 6vw;
}

.problems-content p {
    font-size: 1.1rem;
    color: var(--secondary-color);
    line-height: 1.8;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .problems-heading-line1 {
        font-size: 7.02vw;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    }
    
    .problems-heading-line2 {
        font-size: 6.732vw;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
        line-height: 1.5;
    }
    
    .sp-br {
        display: block;
    }
    
    .problems-heading-line1 {
        font-size: 6vw;
    }
    
    .problems-heading-line2 {
        font-size: 5.5vw;
    }
    
    .problems-heading-section {
        margin-top: 190vw;
    }
    
    .problems-section {
        min-height: 540vw;
        background-image: url('../img/bg_ worries_section_sp.webp');
        background-size: auto 100%;
        background-position: center top;
    }
    
    .problems-column-left {
        background-image: url('../img/worries_arrow_sp.webp');
    }
    
    .problems-images-container {
        width: 93.75vw;
        height: 25vw;
    }
    
    .problems-image {
        width: 18.75vw;
    }
    
    .problems-image-1 {
        top: 8vw;
        width: 50vw;
        left: 20%;
        transform: translateX(-50%);
    }
    
    .problems-image-2 {
        top: 48vw;
        width: 50vw;
        left: 65%;
        transform: translateX(-50%);
    }
    
    .problems-image-3 {
        top: 84vw;
        width: 50vw;
        left: 20%;
        transform: translateX(-50%);
    }
    
    .problems-image-4 {
        top: 124vw;
        width: 50vw;
        left: 65%;
        transform: translateX(-50%);
    }
    
    .problems-image-5 {
        top: 160vw;
        width: 50vw;
        left: 20%;
        transform: translateX(-50%);
    }
    
    .problems-text {
        width: 80vw;
    }
    
    .problems-text-1 {
        top: 36vw;
        left: 20%;
        transform: translateX(-50%);
    }
    
    .problems-text-2 {
        top: 76.5vw;
        left: 65%;
        transform: translateX(-50%);
    }
    
    .problems-text-3 {
        top: 115vw;
        left: 20%;
        transform: translateX(-50%);
    }
    
    .problems-text-4 {
        top: 153.3vw;
        left: 65%;
        transform: translateX(-50%);
    }
    
    .problems-text-5 {
        top: 190vw;
        left: 20%;
        transform: translateX(-50%);
    }
    
    .problems-text-line1,
    .problems-text-line2 {
        font-size: 3.1vw;
    }
    .problems-text-line3,
    .problems-text-line4 {
        font-size: 3.1vw;
    }
    
    .problems-image-1 {
        content: url('../img/worries_circle_01_sp.webp');
    }
    
    .problems-image-2 {
        content: url('../img/worries_circle_02_sp.webp');
    }
    
    .problems-image-3 {
        content: url('../img/worries_circle_03_sp.webp');
    }
    
    .problems-image-4 {
        content: url('../img/worries_circle_04_sp.webp');
    }
    
    .problems-image-5 {
        content: url('../img/worries_circle_05_sp.webp');
    }
    
    .problems-content p {
        font-size: 1rem;
    }
    
    /* PC版カラムセクションを非表示 */
    .problems-columns-section {
        display: none;
    }
    
    /* SP版専用カラムセクション */
    .problems-columns-section-sp {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin-top: 1vw;
        gap: 0;
    }
    
    .problems-column-sp {
        width: 90%;
        margin: 0 auto;
        margin-top: 0;
        margin-bottom: 0;
    }
    
    /* 矢印背景カラム（1,3,5段目） */
    .problems-column-sp-arrow {
        height: 33vw;
        background-image: url('../img/worries_arrow_sp_02.webp');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding-top: 0vw;
        margin: 0;
    }
    
    .problems-column-sp-arrow-text {
        font-size: 3.9vw;
        color: var(--dark-color);
        font-weight: 600;
        line-height: 1.4;
        margin-top: -5vw;
    }
    
    .problems-text-highlight1-sp {
        color: #F47F2D;
        font-size: 5.5vw;
        font-weight: 700;
    }
    
    /* 白背景カラム（2,4,6段目） */
    .problems-column-sp-white {
        height: 80vw;
        background-color: white;
        border: 2px solid #F47F2D;
        border-radius: 4vw;
        display: flex;
        flex-direction: column;
        margin: 0 0 8vw 0;
    }
    
    /* 6段目（最後のカラム）に追加の下マージン */
    .problems-column-sp-white:last-child {
        margin-bottom: 20vw;
    }
    
    .problems-column-sp-image-area {
        height: 35%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 3vw 0 0;
    }
    
    .problems-column-sp-image {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
    }
    
    .problems-column-sp-text-area {
        height: 65%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 5vw 5vw;
    }
    
    .problems-column-sp-text {
        font-size: 3.5vw;
        color: var(--dark-color);
        line-height: 1.6;
        font-weight: 400;
        text-align: left;
    }
    
    .problems-text-highlight2-sp {
        color: #F47F2D;
        font-size: 3.8vw;
        font-weight: 700;
    }
    
    .problems-column-right {
        padding: 6vw;
    }
}