.case-study-images li .case-study-title.case-study-title.fixed-title {
    position: absolute;
    /* bottom: -50px; */
    /* left: calc(30% + 60px); */
    top: 42%;
    left: 70%;
    transform: translate(-50%, -50%);
    display: block;
    text-align: left;
    opacity: 0;
    color: #fff;
    z-index: 19;
    letter-spacing: 1px;
    /* font-style: italic; */
    font-size: 13px;
    /* font-family: 'Roboto', sans-serif; */
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
    line-height: 16px;
    color: #fff;
    padding: 6px 14px;
    background-color: rgba(165, 165, 165, 0.489);
    /* -webkit-transform: translateY(100%);
    transform: translateY(100%); */
    -webkit-transition: all 300ms linear;
    transition: all 300ms linear;
    width: 40%;
    height: 80%;
    align-content: center;
}

.case-study-images li.show .case-study-title.fixed-title {
    opacity: 1;
    /* -webkit-transform: translateY(0);
    transform: translateY(0); */
}

.news-title,
.contact-title {
    font-size: 1.2rem;
    border-bottom: 1px solid black;
    text-align: center;
    padding: 10px 0px;
}

.news-box {
    display: block;
    max-height: calc(100% / 3);
    border-bottom: solid 1px black;
    padding: 15px 0px 20px;
}

.news-box .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 7px;
    font-size: 1rem;
}

.contact-box {
    display: block;
    /* height: 100%; */
    border-bottom: solid 1px black;
    padding: 5px 15px 7px;
}

.contact h2 {
    font-size: 2rem;
}

body {
    font-family: Arial, sans-serif;
}

.form-container {
    max-width: 400px;
    margin: 50px auto;
}

input,
textarea {
    width: 100%;
    margin-bottom: 10px;
    padding: 8px;
    box-sizing: border-box;
}

.success-message {
    color: green;
    display: none;
}

.error-message {
    color: red;
    display: none;
}

@media (max-width: 991px) {
    .case-study-images li .case-study-title.case-study-title.fixed-title {
        top: 43%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 50%;
        height: 80%;
    }
}

@media (min-width: 768px) {
    .hide-pc {
        display: none;
    }
}

@media (max-width: 767px) {
    .hide-sp {
        display: none;
    }
    .case-study-images li .case-study-title.case-study-title.fixed-title {
        top: 45%;
        left: 65%;
        width: 55%;
        height: 80%;
        /* opacity: .7; */
    }
    .case-study-title.fixed-title .button {
        margin-top: 100px;
    }
}

.button {
    margin-top: 20px;
}


/* ==============================================
   ニュースタイトルのレスポンシブ切り替え
============================================== */


/* デフォルト（スマホサイズ） */

.title-pc {
    display: none;
    /* PC用は非表示 */
}

.title-sp {
    display: inline;
    font-size: .8rem;
    /* SP用は表示 */
}


/* 769px以上の画面（PCサイズ） */

@media (min-width: 769px) {
    .title-pc {
        display: inline;
        /* PC用を表示 */
    }
    .title-sp {
        display: none;
        /* SP用は非表示 */
    }
}


/* ==============================================
   ニュースサムネイルとオーバーレイ
============================================== */


/* 1. 画像コンテナの基本設定 */

.news-thumbnail {
    position: relative;
    /* 子要素を絶対配置(absolute)するための基準点 */
    width: 100%;
    overflow: hidden;
    /* ホバーアニメーションで画像がはみ出ないように */
}


/* 2. リンク要素 (画像とオーバーレイ全体を囲む) */

.news-thumbnail a {
    display: block;
    /* リンクの範囲を広げる */
    position: relative;
    /* ::after疑似要素の基準点 */
    text-decoration: none;
    /* リンクの下線を消す */
}


/* 3. 画像のサイズ調整 (前回と同じ) */

.news-thumbnail img {
    display: block;
    /* 画像下の余白を消す */
    width: 100%;
    height: auto;
    max-height: 120px;
    /* (例) 高さを200pxに固定 */
    object-fit: cover;
    /* 画像をトリミング */
    transition: transform 0.4s ease;
    /* ホバー用アニメーション */
}


/* 4. (重要) 画像を暗くするオーバーレイ */

.news-thumbnail a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    /* 40%の黒いオーバーレイ */
    z-index: 1;
    /* 画像の上、テキストの下 */
    transition: background 0.3s ease;
}


/* 5. (重要) 画像の上に乗せるテキストのスタイル */

.title-on-image {
    position: absolute;
    bottom: 0;
    /* 画像の下端に配置 */
    left: 0;
    width: 100%;
    padding: 1.0em;
    /* 内側の余白 */
    color: #ffffff;
    /* (重要) 文字色を白に */
    z-index: 2;
    /* オーバーレイ(z-index: 1)よりも手前に */
    box-sizing: border-box;
    /* paddingを含めてwidth 100%にする */
}

.title-on-image .title-name {
    font-weight: bold;
    font-size: 1.1rem;
    line-height: 1.4;
}

.title-on-image .date {
    font-size: 0.85rem;
    opacity: 0.8;
    /* 日付を少し控えめに */
    margin-top: 5px;
}


/* 6. ホバーエフェクト (任意) */

.news-thumbnail a:hover img {
    transform: scale(1.05);
    /* 画像を少しズーム */
}

.news-thumbnail a:hover::after {
    background: rgba(0, 0, 0, 0.2);
    /* オーバーレイを少し薄くする */
}