/* ===========================================
   活動拠点セクション - 添付コードに正確に対応
=========================================== */

/* PC用レイアウト */
.area-section-pc {
    width: 100%;
    position: relative;
    overflow: hidden;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
    display: flex;
    margin:128px auto 0;
}

.area-section-pc__top-img {
    width: 80%;
    height: 480px;
    object-fit: cover;
    position: relative;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

.area-section-pc__content-area {
    align-self: stretch;
    padding: 64px 160px 32px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
    display: flex;
    position: relative;
}


.area-section-pc__content-area-background {
    /* 不要になったので削除 */
    display: none;
}


.area-section-pc__inner {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
    display: flex;
    position: relative;
    z-index: 2;
}

.area-section-pc__text-group {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    display: flex;
    padding: 48px 40px 48px 120px;
    background: linear-gradient(135deg, 
    rgba(75, 35, 85, 0.85) 0%,     /* 濃い紫 */
    rgba(110, 70, 125, 0.85) 50%,   /* やや濃いめ中間紫 */
    rgba(130, 100, 160, 0.85) 100%  /* 控えめ明るい紫 */
);
    border-radius: 0 12px 12px 0;
    /* 画面左端から始まるように */
    margin-left: -160px;
    /* レスポンシブ対応 */
    max-width: calc(60% + 160px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}


.area-section-pc__title-group {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    display: flex;
}

.area-section-pc__title-box {
    position: relative;
}

.area-section-pc__title {
    left: 0px;
    top: 0px;
    position: absolute;
    font-size: 48px;
    font-family: var(--font-ja);
    font-weight: 400;
    word-wrap: break-word;
}

.area-section-pc__subtitle-box {
    justify-content: center;
    align-items: center;
    gap: 10px;
    display: inline-flex;
}

.area-section-pc__subtitle {
    font-size: 20px;
    font-family: var(--font-ja);
    font-weight: 400;
    word-wrap: break-word;
}

.area-section-pc__text {
    width: 603px;
    font-size: clamp(1.1rem, 10vw, 1.3rem);
    font-family: var(--font-ja);
    font-weight: 400;
    line-height: var(--body-line-height-pc);
    word-wrap: break-word;
    color: #ffffff;
}

/* text-group内のsection-headerを白色に */
.area-section-pc__text-group .section-header__ja-title,
.area-section-pc__text-group .section-header__en-title {
    color: var(--color-white);
}

.area-section-pc__button-area {
    align-self: stretch;
    height: max-content;
    display: flex;
    justify-content: flex-end;
}

.area-section-pc__bottom-img-wrapper {
    width: max-content;
    right: -160px;
    top: -320px;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
}

.area-section-pc__bottom-img {
    width: clamp(720px, 60vw, 1080px);
    height: auto;
    object-fit: contain;
    /* PNG画像用のシャドウ（画像の形状に沿う） */
    filter: drop-shadow(0 8px 24px rgba(3, 3, 3, 0.1));
}



/* SP用レイアウト */
.area-section-sp {
    margin: 48px 0;
    align-self: stretch;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    display: flex;
    width: 100%;
    background: url('../images/realestate-image.jpg');
}

.area-section-sp__inner {
    padding: var(--section-padding-sp);
    overflow: hidden;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 32px;
    display: flex;
    width: 100%;
}

.area-section-sp__img-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.area-section-sp__img {
    width: clamp(240px, 50vw, 360px);
    height: auto;
    object-fit: contain;
}

.area-section-sp__content {
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.7);
    flex-direction: column;
    backdrop-filter: blur(8px);
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    display: flex;
    border-radius: 8px;
    width: 100%;
}

.area-section-sp__text-area {
    align-self: stretch;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    display: flex;
}

.area-section-sp__title-group {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    display: flex;
}

.area-section-sp__title-box {
    justify-content: center;
    align-items: center;
    gap: 10px;
    display: inline-flex;
}

.area-section-sp__title {
    color: var(--color-text);
    font-size: 32px;
    font-family: var(--font-ja);
    font-weight: 400;
    word-wrap: break-word;
    position: relative;
}

/* タイトル装飾: センター配置グラデーション */
.area-section-sp__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 75%;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent 0%,
        #9B7BB4 20%, 
        #9B7BB4 80%,
        transparent 100%
    );
}

.area-section-sp__subtitle-box {
    justify-content: center;
    align-items: center;
    gap: 10px;
    display: inline-flex;
}

.area-section-sp__subtitle {
    color:var(--color-text);
    font-size: 20px;
    font-family: var(--font-en);
    font-weight: 400;
    word-wrap: break-word;
}

.area-section-sp__text {
    align-self: stretch;
    color: var(--color-text);
    font-size: clamp(1.1rem, 4vw, 1.25rem );
    font-family: var(--font-ja);
    font-weight: 400;
    line-height: 36px;
    word-wrap: break-word;
}

.area-section-sp__button-area {
    align-self: stretch;
    height: max-content;
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
}

.area-section-pc__button-area .c-btn__primary--text {
    color: #333;
}

.area-section-sp__button {
    width: max-content;
    outline: 1px white solid;
    outline-offset: -1px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    display: inline-flex;
    text-decoration: none;
}

.area-section-sp__button-inner {
    height: 40px;
    overflow: hidden;
    justify-content: center;
    align-items: center;
    gap: 8px;
    display: flex;
}

.area-section-sp__button-text {
    color: #333333;
    font-size: 15px;
    font-weight: 400;
    word-wrap: break-word;
}

.area-section-sp__button-arrow {
    color: white;
    font-size: 13px;
    font-weight: 400;
    word-wrap: break-word;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
    .area-section-pc {
        display: none;
    }
}

@media (min-width: 768px) {
    .area-section-sp {
        display: none;
    }
}

/* 中間サイズの画面対応 */
@media (max-width: 1200px) {

    .area-section-pc__content-area {
        padding: 64px 80px 32px;
    }
    
    .area-section-pc__text-group {
        margin-left: -80px;
        padding-left: calc(80px + 40px);
        max-width: calc(70% + 80px);
    }
    
    .area-section-pc__text {
        width: auto;
        max-width: 500px;
    }
}

@media (max-width: 900px) {
    .area-section-pc__top-img {
        max-height: 400px;
    }
    .area-section-pc__content-area {
        padding: 48px 40px 32px;
    }
    
    .area-section-pc__text-group {
        margin-left: -40px;
        padding-left: calc(40px + 32px);
        padding-right: 32px;
        max-width: calc(80% + 40px);
    }

}
