/* =========================
   症例一覧ページ 専用調整
========================= */

.implant-case,
.implant-overdenture-case,
.allon4-case,
.allon6-case {
    padding: 70px 6.6% 50px;
}

.implant-case {
    padding-top: 100px;
}

.allon6-case {
    padding-bottom: 100px;
}

.implant-case .case-summary,
.implant-overdenture-case .case-summary,
.allon4-case .case-summary,
.allon6-case .case-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1000px;
    margin: 24px auto 0;
    padding: 0 0 30px;
    row-gap: 70px;
    column-gap: 20px;
    box-sizing: border-box;
}

/* 症例なしテキスト */
.case-empty {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 10px 0 0;
    color: #091B2C;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.08em;
    text-align: left;
}

/* =========================
   症例カード内ボタン
========================= */

.case-archive-btn-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 12px;
}

.case-archive-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    min-height: 46px;
    padding: 10px 42px 10px 28px;
    border: 1px solid #C79A3E;
    border-radius: 999px;
    background: linear-gradient(90deg, #C79A3E 0%, #D6B160 55%, #E5CB8C 100%);
    color: #FFFFFF;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(159, 114, 40, 0.18);
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.case-archive-btn::after {
    content: "›";
    position: absolute;
    right: 20px;
    top: 44%;
    transform: translateY(-50%);
    color: #FFFFFF;
    font-size: 22px;
    line-height: 1;
    transition: all 0.3s ease;
}

.case-archive-btn:hover {
    background: #FFFFFF;
    color: #C79A3E;
}

.case-archive-btn:hover::after {
    right: 16px;
    color: #C79A3E;
}

/* =========================
   もっと見るボタン
========================= */

.case-archive-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 8px;
}

.case-archive-more-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 260px;
    min-height: 58px;
    padding: 14px 58px 14px 42px;
    border: 1px solid #C79A3E;
	border-radius: 999px;
    background: linear-gradient(90deg, #C79A3E 0%, #D7B568 52%, #E8D096 100%);
    color: #FFFFFF;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.12em;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(159, 114, 40, 0.22);
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.case-archive-more-btn::after {
    content: "›";
    position: absolute;
    right: 26px;
    top: 50%;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
    color: #FFFFFF;
    font-size: 24px;
    line-height: 1;
    transition: all 0.3s ease;
}

.case-archive-more-btn:hover {
    background: #FFFFFF;
    color: #C79A3E;
}

.case-archive-more-btn:hover::after {
    right: 22px;
    background: #C79A3E;
    color: #FFFFFF;
}
/* =========================
   もっと見るボタン 矢印位置修正
========================= */

.case-archive-more-btn {
    overflow: visible;
}

/* 丸だけを作る */
.case-archive-more-btn::after {
    content: "" ;
    position: absolute ;
    right: 26px;
    top: 50%;
    width: 26px;
    height: 26px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
    transition: all 0.3s ease;
}

/* 矢印を線で作る */
.case-archive-more-btn::before {
    content: "";
    position: absolute;
    right: 37px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-top: 1.5px solid #FFFFFF;
    border-right: 1.5px solid #FFFFFF;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
    transition: all 0.3s ease;
}

/* ホバー時 */
.case-archive-more-btn:hover::after {
    right: 22px;
    background: #C79A3E;
}

.case-archive-more-btn:hover::before {
    right: 33px;
    border-top-color: #FFFFFF;
    border-right-color: #FFFFFF;
}

/* スマホ時の微調整 */
@media screen and (max-width: 767px) {
    .case-archive-more-btn::after {
        right: 22px;
        width: 24px;
        height: 24px;
    }

    .case-archive-more-btn::before {
        right: 32px;
        width: 7px;
        height: 7px;
    }

    .case-archive-more-btn:hover::after {
        right: 20px;
    }

    .case-archive-more-btn:hover::before {
        right: 30px;
    }
}
/* =========================
   タブレット
========================= */

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .implant-case,
    .implant-overdenture-case,
    .allon4-case,
    .allon6-case {
        padding: 60px 5% 45px;
    }

    .implant-case .case-summary,
    .implant-overdenture-case .case-summary,
    .allon4-case .case-summary,
    .allon6-case .case-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 50px;
    }

    .case-empty {
        font-size: 17px;
    }
}

/* =========================
   スマホ
========================= */

@media screen and (max-width: 767px) {
    .implant-case,
    .implant-overdenture-case,
    .allon4-case,
    .allon6-case {
        padding: 42px 6.6% 38px;
    }

    .implant-case {
        padding-top: 50px;
    }

    .allon6-case {
        padding-bottom: 60px;
    }

    .implant-case .case-summary,
    .implant-overdenture-case .case-summary,
    .allon4-case .case-summary,
    .allon6-case .case-summary {
        display: block;
        margin-top: 18px;
        padding-bottom: 24px;
    }

    .case-empty {
        padding-top: 6px;
        font-size: 15px;
        line-height: 1.8;
    }

    .case-archive-more-btn {
        min-width: 230px;
        min-height: 52px;
        padding: 12px 50px 12px 34px;
        font-size: 16px;
    }

    .case-archive-more-btn::after {
        right: 22px;
        width: 24px;
        height: 24px;
        font-size: 22px;
    }
}
/* =========================
   症例一覧カード デザイン調整
========================= */

.implant-case .case-summary,
.implant-overdenture-case .case-summary,
.allon4-case .case-summary,
.allon6-case .case-summary {
    align-items: stretch;
}

.case-unit {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 380px;
    width: 100%;
    padding: 10px 8px 28px;
    margin: 0 auto;
    border: 1px solid #E5E5E5;
    background: #FFFFFF;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
}

/* 画像 */
.case-unit > a,
.case-unit > img {
    display: block;
    width: 100%;
}

.case-unit img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 20px;
    object-fit: cover;
}

/* タイトル */
.case-title {
    width: 100%;
    margin: 0 0 16px;
    color: #0E2A4D;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.06em;
    font-weight: 500;
    text-align: left;
    word-break: break-word;
}

/* 診療科目ラベル */
.item-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    margin: 0 0 22px;
    padding: 8px 18px;
    background: linear-gradient(90deg, #C79A3E 0%, #D6B160 55%, #E5CB8C 100%);
    color: #FFFFFF;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-align: center;
    box-sizing: border-box;
}

/* ボタンを下に揃えやすくする */
.case-archive-btn-wrap {
    width: 100%;
    margin-top: auto;
    padding-top: 8px;
}

/* =========================
   タブレット
========================= */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .case-unit {
        max-width: 100%;
        padding: 18px 18px 24px;
    }

    .case-title {
        font-size: 18px;
        margin-bottom: 14px;
    }

    .item-title {
        margin-bottom: 20px;
        padding: 7px 16px;
        font-size: 14px;
    }
}

/* =========================
   スマホ
========================= */
@media screen and (max-width: 767px) {
    .case-unit {
        max-width: 100%;
        padding: 16px 16px 22px;
        margin: 0 auto 32px;
    }

    .case-unit img {
        margin-bottom: 16px;
    }

    .case-title {
        margin-bottom: 12px;
        font-size: 16px;
        line-height: 1.6;
    }

    .item-title {
        min-width: 96px;
        margin-bottom: 18px;
        padding: 6px 14px;
        font-size: 13px;
    }
}

/* =========================
   症例カテゴリーページ ページネーション
========================= */

.case-pagination {
    max-width: 1400px;
    margin: 10px auto 0;
    text-align: center;
}

.case-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.case-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid #C79A3E;
    color: #C79A3E;
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
    box-sizing: border-box;
}

.case-pagination .page-numbers.current,
.case-pagination .page-numbers:hover {
    background: #C79A3E;
    color: #FFFFFF;
}

@media screen and (max-width: 767px) {
    .case-pagination .nav-links {
        flex-wrap: wrap;
        gap: 8px;
    }

    .case-pagination .page-numbers {
        min-width: 34px;
        height: 34px;
        font-size: 14px;
    }
}

/* =========================
   症例カテゴリーページ 一覧に戻るボタン
========================= */

.case-taxonomy-back-wrap {
    display: flex;
    justify-content: center;
    margin-top: 45px;
    margin-bottom: 20px;
}

.case-taxonomy-back-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 280px;
    min-height: 58px;
    padding: 14px 62px 14px 44px;
    border: 1px solid #C79A3E;
    border-radius: 999px;
    background: linear-gradient(90deg, #C79A3E 0%, #D7B568 52%, #E8D096 100%);
    color: #FFFFFF;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.12em;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(159, 114, 40, 0.22);
    box-sizing: border-box;
    transition: all 0.3s ease;
}

/* 丸 */
.case-taxonomy-back-btn::after {
    content: "";
    position: absolute;
    right: 26px;
    top: 50%;
    width: 26px;
    height: 26px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
    transition: all 0.3s ease;
}

/* 矢印 */
.case-taxonomy-back-btn::before {
    content: "";
    position: absolute;
    right: 37px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-top: 1.5px solid #FFFFFF;
    border-right: 1.5px solid #FFFFFF;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
    transition: all 0.3s ease;
}

.case-taxonomy-back-btn:hover {
    background: #FFFFFF;
    color: #C79A3E;
    box-shadow: 0 12px 28px rgba(159, 114, 40, 0.28);
}

.case-taxonomy-back-btn:hover::after {
    right: 22px;
    background: #C79A3E;
}

.case-taxonomy-back-btn:hover::before {
    right: 33px;
    border-top-color: #FFFFFF;
    border-right-color: #FFFFFF;
}

/* スマホ */
@media screen and (max-width: 767px) {
    .case-taxonomy-back-wrap {
        margin-top: 35px;
        margin-bottom: 10px;
    }

    .case-taxonomy-back-btn {
        min-width: 240px;
        min-height: 52px;
        padding: 12px 52px 12px 34px;
        font-size: 16px;
        letter-spacing: 0.1em;
    }

    .case-taxonomy-back-btn::after {
        right: 22px;
        width: 24px;
        height: 24px;
    }

    .case-taxonomy-back-btn::before {
        right: 32px;
        width: 7px;
        height: 7px;
    }

    .case-taxonomy-back-btn:hover::after {
        right: 20px;
    }

    .case-taxonomy-back-btn:hover::before {
        right: 30px;
    }
}

/* =========================
   症例一覧カード タブレット最終調整
========================= */

@media screen and (min-width: 768px) and (max-width: 1024px) {

    .implant-case,
    .implant-overdenture-case,
    .allon4-case,
    .allon6-case {
        padding: 60px 4.5% 50px;
    }

    .implant-case .case-summary,
    .implant-overdenture-case .case-summary,
    .allon4-case .case-summary,
    .allon6-case .case-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
        width: 100%;
        margin: 32px auto 0;
        column-gap: 24px;
        row-gap: 44px;
        padding: 0 0 32px;
        box-sizing: border-box;
    }

    .case-unit {
        max-width: 360px;
        width: 100%;
        padding: 14px 14px 24px;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .case-unit img {
        width: 100%;
        height: auto;
        margin-bottom: 16px;
    }

    .case-title {
        margin-bottom: 12px;
        font-size: 17px;
        line-height: 1.6;
        letter-spacing: 0.04em;
    }

    .item-title {
        min-width: 96px;
        margin-bottom: 18px;
        padding: 6px 14px;
        font-size: 13px;
        line-height: 1.4;
    }

    .case-archive-btn {
        min-width: 180px;
        min-height: 44px;
        padding: 9px 40px 9px 26px;
        font-size: 14px;
    }

    .case-archive-btn::after {
        right: 18px;
        top: 45%;
        font-size: 20px;
    }
}

/* =========================
   小さめタブレットは1カラムにする
========================= */

@media screen and (min-width: 768px) and (max-width: 850px) {

    .implant-case .case-summary,
    .implant-overdenture-case .case-summary,
    .allon4-case .case-summary,
    .allon6-case .case-summary {
        grid-template-columns: 1fr;
        max-width: 420px;
        row-gap: 38px;
    }

    .case-unit {
        max-width: 420px;
    }
}