.page-content_wrapper {
    display: flex;
    flex-direction: column;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 60px;
    padding-bottom: 50px;
    font-size: var(--font-16);
}

.page-content_intro,
.page-content_text,
.page-content_list,
.page-content_ordered-list {
    margin: 0;
    font-size: var(--font-16);
    line-height: 160%;
    font-weight: 500;
}

.page-content_link {
    color: var(--secondaryColor);
    text-decoration: underline;
    text-decoration-color: #88bcdb; /* 明るめのブルーでアンダーライン */
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease, text-decoration-color 0.2s ease;
}

.page-content_link:hover {
    opacity: 0.7;
    text-decoration: none;
}

.page-content_section {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.page-content_section_header {
    padding: 15px;
    background-color: #f1f8ff;
}

.page-content_section_header.is-no-bg {
    padding: 0;
    background-color: transparent;
}

.page-content_section_title {
    margin: 0;
    color: var(--secondaryColor);
    font-size: var(--font-32);
    line-height: 120%;
    font-weight: 700;
}

.page-content_logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 80px;
}

.page-content_logo-wrapper img {
    max-width: 200px;
    height: auto;
}

.page-content_logo-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.logo_image{
    height:200px;
    display: flex;
    align-items: center;
}

.page-content_logo-caption {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.page-content_logo-caption p {
    margin: 0;
    font-size: var(--font-16);
    line-height: 160%;
    color: var(--textColor);
    font-weight: 700;
    text-align: center;
}

.page-content_part_wrap {
    display: flex;
    justify-content: space-around;
    gap: 40px;
}
.page-content_part_text{
    display: flex;
    flex-direction: column;
    align-self:flex-start;
    gap: 40px;

    &.part-text-wrap_with_img{
      width: 80%;
    }
    &.part-text-wrap{
      width:100%;
    }
}
.page-intro_text_wrap{
    width:80%;
}

.page-content_part_problem ul{
    display: flex;
    flex-direction: column;
    gap:10px;
    font-size:var(--font-20);
    font-weight:600;
}

.page-content_with-image_text > strong,
page-content_text > strong {
    font-size: var(--font-20);
    line-height: 160%;
    font-weight: 700;
}

.page-content_with-image_text > p,
.page-content_without-image_text > p {
    margin: 0;
    font-size: var(--font-16);
    line-height: 160%;
    font-weight: 500;
}

.page-content_with-image_img-wrapper {
    flex-shrink: 0;
    width: 20%;
    max-width: 250px;
    max-height: 250px;
    display: flex;
    justify-content: center;
    align-self:flex-end;
    img{
      width: 80%;
      height: auto;
      object-fit: contain;
    }
}
.page-content_list {
    padding: 0;
    list-style: none;
}

.page-content_list .page-content_list {
    padding-left: 28px;
}

.page-content_list_item {
    margin: 0;
}

/* Bullet List Pattern (Blue Dot) */
.page-content_bullet-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    padding-left: 1rem;
}

.page-content_bullet-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.page-content_bullet-icon {
    display: inline-block;
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    margin-top: 6.5px;
    background-color: var(--secondaryColor);
    border-radius: 50%;
}

.page-content_bullet-text {
    margin: 0;
    color: var(--textColor);
    font-size: var(--font-16);
    line-height: 160%;
    font-weight: 500;
}

.page-content_ordered-list {
    padding-left: 28px;
    list-style: decimal;
}

.page-content_ordered-list_item {
    margin: 0;
}

/* Step List Pattern */
.page-content_step-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.page-content_step-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page-content_step-header {
    display: flex;
    align-items: center;
    gap: 15px;
}

.page-content_step-number {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background-color: var(--secondaryColor);
    color: var(--background);
    font-size: var(--font-14);
    font-weight: 700;
    line-height: 1;
    margin-top: 1px;
}

.page-content_step-title {
    flex: 1;
    margin: 0;
    font-size: var(--font-16);
    font-weight: 700;
    line-height: 160%;
    /* color: var(--secondaryColor); */
}

.page-content_step-text {
    flex: 1;
    margin: 0;
    font-size: var(--font-16);
    font-weight: 500;
    line-height: 160%;
    color: var(--textColor);
}

.page-content_step-desc {
    margin: 0;
    font-size: var(--font-16);
    font-weight: 500;
    line-height: 160%;
    padding-left: 39px;
    color: var(--textColor);
}

/* Back Link Pattern */
.page-content_back-link_wrapper {
    display: flex;
    margin-bottom: 120px;
    padding: 0 1em;
}

.page-content_back-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
}

.page-content_back-link .secondary-btn_wrapper {
    transform: rotate(180deg);
}

.page-content_back-text {
    margin: 0;
    color: var(--secondaryColor);
    font-size: var(--font-16);
    font-weight: 700;
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-bottom-color 0.2s ease;
}

.page-content_back-link:hover .page-content_back-text {
    color: var(--primaryColor);
    border-bottom-color: var(--primaryColor);
}

/* Intro Pattern 2: Text + Image */
.page-intro_with-image {
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
    gap: 120px;
}
@media (max-width: 768px) {
    .page-intro_with-image{
        align-items: center;
    }
}

.page-intro_with-image_text {
    margin: 0;
    font-size: var(--font-16);
    line-height: 160%;
    font-weight: 500;
    margin-top: 30px;
}

.page-intro_with-image_img-wrapper {
    flex-shrink: 0;
    max-width: 250px;
    width:20%;
}

.page-intro_with-image_img-wrapper img {
    width: auto;
    height:auto;
    max-height: 200px;
}

.page-intro_problem ul{
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom:40px;
    li{
        font-weight: 700;
        font-size: 24px;
    }
}

/* Intro Pattern 3: Case Meta */
.page-intro_case-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
}

.page-intro_case-lead {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-bottom: 20px;
    border-bottom: 1px solid #dcdcdc;
}

.page-intro_case-subtitle {
    margin: 0;
    color: var(--secondaryColor);
    font-size: var(--font-16);
    font-weight: 700;
    padding-right: 1rem;
    padding-left: 1rem;
}

.page-intro_case-title {
    margin: 0;
    color: var(--secondaryColor);
    font-size: var(--font-32);
    line-height: 140%;
    font-weight: 700;
    padding-right: 1rem;
    padding-left: 1rem;
}

.page-intro_case-meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page-intro_case-company {
    margin: 0;
    color: var(--textColor);
    font-size: var(--font-24);
    font-weight: 700;
    padding-left:1rem;
}

.page-intro_case-description {
    margin: 0;
    color: var(--textColor);
    font-size: var(--font-18);
    line-height: 160%;
    font-weight: 500;
    padding-left: 1rem;
}

/* Case detail resolutions */
.case-detail_resolutions_layout {
    display: flex;
    align-items: flex-start;
    gap: 40px;
}
.case-detail_resolutions_image{
    img{
      display: block;
      flex-shrink: 0;
      width: 519px;
      height: auto;
      object-fit: contain;
      border:1px solid #989898;
    }
    &.case1_image img{
      border:unset;
    }
}
.case-detail_resolutions_list {
    display: flex;
    flex: 1;
    flex-direction: column;
}
.case-detail_resolutions_list > :not(:last-child) {
    border-bottom: 1px solid #989898;
}
.case-detail_resolution_item {
    margin-bottom: 20px;
    padding-bottom: 16px;
}
.case-detail_resolution_label-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0;
    color: var(--secondaryColor);
}
.case-detail_resolution_label {
    display: inline-block;
    border-bottom: 3px solid #f28900;
    font-size: var(--font-24);
    line-height: 1.25;
    font-weight: 700;
}
.case-detail_resolution_number {
    font-size: var(--font-64);
    line-height: 120%;
    font-weight: 700;
}
.case-detail_resolution_title {
    margin: 0 0 10px;
    color: var(--secondaryColor);
    font-size: var(--font-24);
    line-height: 160%;
    font-weight: 700;
}
.case-detail_resolution_points {
    margin: 0;
    padding: 0;
    list-style: none;
}
.case-detail_resolution_point {
    margin: 0;
    color: var(--textColor);
    font-size: var(--font-16);
    line-height: 160%;
    font-weight: 500;
}
.case-detail_resolution_points > :not(:last-child) {
    margin-bottom: 8px;
}


@media (max-width: 1280px) {
    .page-content_wrapper {
        padding-left: 40px;
        padding-right: 40px;
    }
}


@media (max-width: 1024px) {
    .case-detail_resolutions_layout {
        flex-direction: column;
    }
    .case-detail_resolutions_image img{
        width: 100%;
        max-width: 519px;
    }
}


@media (max-width: 768px) {
    .page-content_wrapper {
        gap: 40px;
        padding-top: 20px;
        padding-bottom: 50px;
        padding-left: 15px;
        padding-right: 15px;
        font-size: var(--font-14);
    }

    .page-content_intro,
    .page-content_text,
    .page-content_bullet-text,
    .page-content_list,
    .page-content_ordered-list,
    .page-content_step-title,
    .page-content_step-text,
    .page-content_step-desc {
        font-size: var(--font-14);
    }

    .page-content_bullet-item {
        gap: 8px;
    }

    .page-content_bullet-icon {
        width: 10px;
        height: 10px;
        margin-top: 6px;
    }

    .page-content_step-desc {
        padding-left: 34px;
        margin-top: 5px;
    }

    .page-content_section {
        gap: 20px;
    }

    .page-content_section_header {
        padding: 12px;
    }

    .page-content_section_title {
        font-size: var(--font-24);
    }

    .page-content_logos {
        gap: 20px;
        margin-top: 10px;
    }

    .page-content_logo-wrapper img {
        max-width: 140px;
    }

    .page-content_logo-caption p {
        font-size: var(--font-14);
    }

    .page-content_with-image {
        flex-direction: column;
        gap: 20px;
    }

    .page-content_with-image_text {
        width: 100%;
        margin-top: 0;
        gap: 15px;
    }

    .page-content_with-image_text > strong {
        font-size: var(--font-16);
    }

    .page-content_with-image_text > p {
        font-size: var(--font-14);
    }

    .page-content_with-image_img-wrapper {
        margin: 0 auto;
        display: flex;
        justify-content: center;
    }

    .page-content_list .page-content_list,
    .page-content_ordered-list {
        padding-left: 20px;
    }

    .page-intro_with-image {
        flex-direction: column;
        gap: 20px;
    }

    .page-intro_with-image_img-wrapper {
        max-width: 200px;
    }

    .page-intro_with-image_text {
        width: 100%;
        font-size: var(--font-14);
        margin-top: 0;
    }

    .page-intro_case-title {
        font-size: var(--font-24);
    }

    .page-intro_case-subtitle,
    .page-intro_case-company,
    .page-intro_case-description {
        font-size: var(--font-14);
    }

    .page-content_step-header {
        gap: 10px;
    }

    .page-content_back-link_wrapper {
        margin-bottom: 60px;
    }
    .page-content_part_wrap{
        display:block;
    }
    .page-intro_text_wrap{
        width:100%;
    }
    .page-content_part_text{
        &.part-text-wrap_with_img{
            width:100%;
        }
    }
    .page-content_part_problem ul{
        font-size: var(--font-18);
    }
    .page-intro_problem ul li{
        font-size: var(--font-20);
    }
    .page-content_with-image_img-wrapper{
        width:35%;
        margin-top:20px;
    }
}

/* Signature Pattern */
.page-content_signature-wrapper {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-top: 40px;
}

.page-content_signature {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: left;
    margin-bottom: 40px;
}

.page-content_signature-line {
    margin: 0;
    color: var(--textColor);
    font-size: var(--font-16);
    line-height: 160%;
    font-weight: 500;
}

@media (max-width: 1280px) {
    .page-content_signature-wrapper {
        margin-top: 30px;
    }

    .page-content_signature {
        gap: 6px;
    }

    .page-content_signature-line {
        font-size: var(--font-14);
    }
}

@media (max-width: 768px) {
    .case-detail_resolutions_layout {
        gap: 24px;
    }

    .case-detail_resolution_item {
        margin-bottom: 16px;
        padding-bottom: 16px;
    }

    .case-detail_resolution_label-row {
        gap: 12px;
    }

    .case-detail_resolution_label,
    .case-detail_resolution_title {
        font-size: var(--font-18);
    }

    .case-detail_resolution_number {
        font-size: var(--font-32);
    }

    .case-detail_resolution_point {
        font-size: var(--font-16);
    }
    .case-detail_resolutions_list{
        padding:0 1em;
    }
}