@charset "utf-8";
/* CSS Document */

/* title area- セクションfan-titleとセクションfan-second-titleの共通部分*/
.inner-content {
    max-width: 1280px; /* 画像の例から取得した最大幅 */
    margin: 0 auto;    /* 左右のマージンをautoにして中央寄せ */
    padding-left: 2rem;  /* 画像の例から取得した左パディング */
    padding-right: 2rem; /* 画像の例から取得した右パディング */
    box-sizing: border-box; /* paddingを含めてwidthを計算 */
    display: flex; /* fan-title-textとfan-title-dateを横並びにするため */
    justify-content: space-between; /* 左右に配置 */
    align-items: center; /* 垂直中央揃え */
}

/* title area- セクションfan-title */
.fan-title {
    background-image: url('/202407/fujitsu-activatenow/images/fan-gold.jpg');
    background-size: cover;
    padding-top: 15px; /* 上下のパディングはfan-title自体に設定 */
    padding-bottom: 15px;
    color: #333;
    font-size: 16pt;
}
.fan-title h3 {
    margin: 0;
    font-weight: bold;
}

/* title area- セクションfan-second-title */
.fan-second-title {
    background-color: black;
    padding-top: 30px; /* 上下のパディングはfan-second-title自体に設定 */
    color: white;
    line-height: 1.5; /* 必要に応じて調整 */
}
.fan-second-title .inner-content .fan-second-content-block {
    flex-grow: 1; /* inner-content の残りのスペースを全て占めるようにする */
    text-align: center; /* このブロック内のh2とpのテキストを中央揃えにする */
}
.fan-second-title .inner-content .fan-second-content-block h2 {
    margin: 0 auto 10px auto; /* 上下左右のマージン。下に少しマージンを追加してpとの間隔を作る */
    font-size: 18pt; /* 18ptに設定 */
    font-weight: bold; /* boldに変更 */
    line-height: 1.2; /* 行の高さを調整 */
    max-width: 900px; /* テキストの最大幅を設定し、中央にまとめる */
    display: block; /* デフォルトでブロック要素なので基本的には不要だが明示的に */
}
.fan-second-title .inner-content .fan-second-content-block p {
    margin: 0 auto; /* p要素自体を中央寄せ */
    font-size: 11pt; /* 11ptに設定 */
    font-weight: normal; /* 通常のウェイト */
    line-height: 1.5; /* 行の高さを調整 */
    max-width: 700px; /* テキストの最大幅を調整して、中央にまとまるようにする */
    display: block; /* デフォルトでブロック要素なので基本的には不要だが明示的に */
}

@media (max-width: 768px) {
    .inner-content {
        flex-direction: column; /* 画面が小さい場合に縦並びにする */
        text-align: center;
        padding-left: 1rem; /* 小さい画面での左右パディング */
        padding-right: 1rem;
    }
    .fan-title-text,
    .fan-title-date {
        margin-bottom: 5px; /* 縦並びになった際に少し間隔を開ける */
    }
    .fan-title, .fan-second-title {
        padding-top: 10px;
    }
    .fan-second-title h2 {
        font-size: 1.8em;
    }
}
@media (max-width: 480px) {
    .inner-content {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .fan-second-title h2 {
        font-size: 1.5em;
    }
}

/* tech area-背景色とホバーの調整 */
.lay-3col>* {
    background: black;
}
.section.relation {
    background: black;
}
.section.relation li {
    box-shadow: none;
    border: none;
    transition: border-color .2s;
    min-height: 480px; /* 例: カードの最小高さを設定 (コンテンツがこれより少ない場合はこの高さ) */
    display: flex;
    flex-direction: column;
}

.section.relation li:hover {
    border-color: #666;
}

.panel_title {
    color: #FFDB5D;
    padding-bottom: 1.5rem;
    font-size: 18pt;
}

.section.relation .lay-3col li a {
    display: flex;
    flex-direction: column;
    /* height: 100%; を削除し、Flexboxに高さを任せる */
    /* フレックスアイテムはデフォルトで親の高さに伸びようとします */
    /* あるいは min-height: 100%; も検討 */
    flex-grow: 1; /* 親のliが伸びる場合、aも伸びるように */
    width: 100%;
    text-decoration: none;
}

.panel_box {
    background: black;
    color: white;
    display: flex;
    flex-direction: column;
    /* height: 100%; を削除し、Flexboxに高さを任せる */
    flex-grow: 1; /* 親のaが伸びる場合、panel_boxも伸びるように */
    width: 100%;
    position: relative;
    overflow: hidden;
}

.panel_img {
    flex-shrink: 0;
    /* height は固定のまま img のサイズを管理 */
    height: 200px; /* 例: 画像エリアの高さを固定 */
    overflow: hidden;
    background-color: black;
}

.panel_img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.panel-content {
    flex-grow: 1; /* 残りのスペースを埋める */
    padding: 10px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    background-color: transparent;
    transition: background-color .2s;
    /* height: 100%; は削除済み */
}

a:hover .panel-content {
    background-color: rgba(57, 55, 50, 0.7);
}

a:hover .panel_box .panel-content {
    background-color: #393732
}

a:hover .panel_box {
    transform: scale(1.04);
}

/* tech area-画像の大きさの調整 */
.panel_img {
    height: 200px;
}
/* tech area-サブタイトル追加と文字の大きさの調整 */
.panel_subtitle {
    font-size: 16pt;
    padding-bottom: 1.5rem;
    font-weight: 600;
}
/* tech area-タグの追加 */
/* .tag-industry {
    margin-left: 10px;
    background-color: #ff0000;
    color: white;
    border-radius: 2px;
    padding: 1px 4px 1px 4px;
    white-space: nowrap; /* テキストが途中で改行されないようにする */