/* ==========================================
   カラーパレットの定義（和色カスタム）
   ========================================== */
:root {
  --color-1: #806e4b; /* 鶯茶（うぐいすちゃ） */
  --color-2: #42533e; /* 藍海松茶（あいみるちゃ） */
  --color-3: #004f46; /* 海松藍（みるあい） */
  --color-4: #112f2c; /* 鉄色（てついろ） */
}

/* 全体のリセットとベース設定 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    background-color: var(--color-4); /* 鉄色：深い闇の背景 */
    color: #ffffff;
}

/* 左右2カラムに分けるためのコンテナ */
.container {
    display: flex;
    min-height: 100vh;
}

/* ==========================================
   左側：サイドバー（固定メニュー）
   ========================================== */
.sidebar {
    width: 300px;                      /* メニューの横幅 */
    background-color: var(--color-3);  /* 海松藍：深みのある藍緑 */
    border-right: 1px solid var(--color-4);
    
    /* 画面の左側に固定する魔法のプロパティ */
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 100;
}

.sidebar-inner {
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 40px; /* ヘッダーとメニューの間の隙間 */
}

/* ヘッダーロゴ部分 */
.header h1 {
    font-size: 50px;
    color: #ffffff;
    font-family: "Toppan Bunkyu Midashi Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
}

/* メニューリンク */
.menu {
    display: flex;
    flex-direction: column;
    gap: 15px; /* ボタン同士の隙間 */
}

.menu a {
    display: block;
    padding: 12px;
    text-align: center;
    text-decoration: none;
    color: #ffffff;                   /* 文字をより際立つ純白に */
    font-weight: 700;
    font-size: 23px;
    font-family: "Toppan Bunkyu Midashi Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
    background-color: var(--color-1); /* 鶯茶：選択バーのベースカラー */
    border: 1px solid var(--color-2);
    border-radius: 8px;               /* 角を少し丸めて上品に */
    transition: all 0.3s ease;
}

/* マウスを乗せたとき（ホバー） */
.menu a:hover {
    background-color: var(--color-2); /* 藍海松茶：さらに深い緑へ沈む変化 */
    color: #ffffff;
    border-color: var(--color-1);
}

/* ==========================================
   右側：メインコンテンツ（スクロール）
   ========================================== */
.main-content {
    flex: 1;
    margin-left: 300px;       /* サイドバーの幅と同じ分だけ右にずらす */
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 120px;               /* スクロール感を出すためにわざと大きな隙間をあけています */
}

/* コンテンツのカード（層） */
.content-card {
    background-color: #ffffff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); /* 暗い背景に合わせて影を少し強めに */
    border: 1px solid var(--color-1);          /* 枠線に鶯茶を入れて和の統一感を */
    max-width: 800px;
}

.content-card h2 {
    font-size: 24px;
    color: var(--color-4);    /* カード内の見出しを鉄色にしてハッキリと */
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 10px;
}

/* 見出しの下にさりげない線を引く */
.content-card h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background-color: var(--color-1); /* 下線にアクセントの鶯茶を適用 */
}

.content-card p {
    line-height: 1.8;
    color: #444444;           /* 白背景の上で見やすい濃いグレー */
}

/* ==========================================
   アニメーション用の設定
   ========================================== */

/* 動きをつける前の状態：透明で、少し下に下げておく */
.content-card {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1.0s ease, transform 1.0s ease; /* 1秒かけて滑らかに動かす */
}

/* 画面に入ってきたとき（JavaScriptによって .show がついたとき）の状態 */
.content-card.show {
    opacity: 1;
    transform: translateY(0); /* 元の位置にふわっと戻る */
}

/* タイトル全体の配置調整（四角い囲いは無し） */
.page-title-wrapper {
    margin: 0 0 -80px 0; /* 下の余白をマイナスにすることで、gapの120pxを相殺して丁度いい隙間にします */
    padding: 0;
    opacity: 1;           /* 始めからハッキリ表示させる */
    transform: none;      /* アニメーションで動かさない（固定） */
}

/* タイトル文字のデザイン */
.page-title {
    font-size: 50px;             /* 文字を少し大きめに */
    font-weight: 800;            /* 太字 */
    font-family: "Toppan Bunkyu Midashi Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
    color: var(--color-1);       /* タイトル文字を鶯茶に（闇に浮かぶお札のイメージ） */
    letter-spacing: 0.25em;      /* 文字の間隔を広げて高級感を出す */
    position: relative;
    display: inline-block;       
    padding-bottom: 8px;
}

/* 文字の下に、細く繊細な飾り線を引く */
.page-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;                 /* 線の長さ */
    height: 4px;                 /* 線の太さ */
    background-color: var(--color-1);   /* 下線も鶯茶に統一 */
}

/* ==========================================
   掲示板（風）リストのスタイル
   ========================================== */
.bbs-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* 各投稿の区切り線と並び方 */
.bbs-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;                     /* アイコンと文章の隙間 */
    padding: 25px 0;
    border-bottom: 1px solid var(--color-1); /* 区切り線に鶯茶のニュアンスをプラス */
}

/* 一番最後の線の非表示 */
.bbs-item:last-child {
    border-bottom: none;
}

/* 丸いアイコン部分 */
.bbs-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;            /* 完全な丸にする */
    overflow: hidden;
    flex-shrink: 0;                /* 画像が潰れないように固定 */
    background-color: #ebdcb9;
}

.bbs-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* NO IMAGE用アイコンの調整 */
.bbs-icon.no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-2); /* 藍海松茶でダークトーンに合わせる */
    color: #ffffff;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
}

/* 右側のテキストコンテンツ全体 */
.bbs-content {
    flex: 1;
}

/* コメント数や日付の並び */
.bbs-meta {
    font-size: 12px;
    color: #888888;
    margin-bottom: 8px;
    display: flex;
    gap: 15px;                     /* コメント数と日付の隙間 */
}

.bbs-count {
    color: var(--color-1);         /* コメント数に鶯茶を適用して全体のトーンに調和 */
    font-weight: bold;
}

/* 投稿本文（リンク） */
.bbs-text a {
    color: #333333;
    text-decoration: none;         /* 下線を消す */
    font-size: 15px;
    line-height: 1.6;
    transition: color 0.2s ease;
}

/* マウスを乗せたとき */
.bbs-text a:hover {
    color: var(--color-2);         /* ホバー時は藍海松茶に優しく変化 */
}

/* ==========================================
   開いた瞬間の一枚絵（オープニング演出）
   ========================================== */
.opening-view {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999; /* サイドバーよりも一番上に重ねる */
    background-color: var(--color-4); /* 背景は鉄色 */
    overflow: hidden;
    transition: opacity 1.2s ease, visibility 1.2s ease; /* 消えるときの滑らかさ */
}

/* 画面いっぱいに広がる画像 */
.opening-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.4; /* 画像を少し暗くして文字を見やすく＆妖しくする */
    position: absolute;
    top: 0;
    left: 0;
}

/* 中央の文字要素 */
.opening-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.opening-titles {
    z-index: 2;
    color: #ffffff;
}

.opening-logo {
    font-family: "Toppan Bunkyu Midashi Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
    font-size: 64px; /* 大きな文字でドンと出す */
    letter-spacing: 0.3em;
    color: var(--color-1); /* 鶯茶（金泥風） */
    margin-bottom: 20px;
    text-shadow: 0 0 20px rgba(0,0,0,0.8); /* 文字の周りに影をつけて浮き立たせる */
}

.opening-sub {
    font-size: 20px;
    letter-spacing: 0.4em;
    color: #ffffff;
    opacity: 0.8;
}

/* スクロールを促す案内 */
.scroll-arrow {
    margin-top: 60px;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: var(--color-1);
    animation: pulse 2s infinite; /* 矢印をふわふわ点滅させる */
}

@keyframes pulse {
    0% { opacity: 0.3; }
    50% { opacity: 1; }
    100% { opacity: 0.3; }
}

/* ⬇️ スクロールした時にこのクラスが合体して画面が消える */
.opening-view.is-hidden {
    opacity: 0;
    visibility: hidden; /* 完全に透明になったらクリックを裏の画面に通す */
}
/* ==== 表（会社情報・アクセス）の文字色とスタイル ==== */
.info-table {
    width: 100%;
    border-collapse: collapse;
}
.info-table th,
.info-table td {
    color: #444444;
    text-align: left;
    padding: 14px 10px;
    border-bottom: 1px solid #e0e0e0;
    line-height: 1.6;
    vertical-align: top;
}
.info-table th {
    width: 30%;
    color: var(--color-4);
    font-weight: 700;
    white-space: nowrap;
}
.philosophy-content h3 {
    color: var(--color-3);
    font-size: 20px;
    margin-bottom: 15px;
}



/* ==========================================
   トップのスライドショー（CSSアニメーション）
========================================== */
.slideshow-container {
    position: relative;
    width: 100%;
    height: 50vh; /* 画面の高さの半分（お好みで 400px などに固定してもOK） */
    background: #000;
    overflow: hidden;
    margin-bottom: 40px;
    border-radius: 8px; /* もし全体のトーンに合わせて角を丸くするなら */
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: fadeAnimation 15s infinite;
}

/* 3枚の画像の表示タイミングを5秒ずつずらす */
.slide:nth-child(1) { animation-delay: 0s; }
.slide:nth-child(2) { animation-delay: 5s; }
.slide:nth-child(3) { animation-delay: 10s; }

/* じわっと入れ替わるフェードループアニメーション */
@keyframes fadeAnimation {
    0% { opacity: 0; animation-timing-function: ease-in; }
    8% { opacity: 1; }
    33% { opacity: 1; }
    41% { opacity: 0; animation-timing-function: ease-out; }
    100% { opacity: 0; }
}
/* カード内の画像を、カードの横幅に強制的に合わせる設定 */
.content-card img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

