/*!
Theme Name: XWRITE
Theme URI: https://xwrite.jp/
Author: XServer Inc.
Author URI: https://www.xserver.co.jp/
Description: エックスサーバー株式会社が提供するWordPressテーマ「XWRITE」
Version: 3.0.1
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.txt
Text Domain: xwrite
*/

.mark_yellow {
     background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #ffc9a4)); 
}

.u-color__red {
    color: #bb474f;
    font-weight: bold;
}

.u-color__black {
    font-weight: bold;
}


/* テーブルスライド用のCSS */
.table-slider {
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch; /* iOS用のスムーズスクロール */
}

/* スクロールバーのスタイリング（Webkit系ブラウザ用） */
.table-slider::-webkit-scrollbar {
  height: 8px;
}

.table-slider::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.table-slider::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

.table-slider::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* テーブルの最小幅を設定してスクロールを発生させる */
.table-slider table {
  min-width: 600px; /* 必要に応じて調整 */
  table-layout: auto; /* 自動レイアウトで内容に応じてサイズ調整 */
  width: auto; /* 幅を自動調整 */
}

/* セルの幅を調整（必要に応じて） */
.table-slider td,
.table-slider th {
  min-width: 80px; /* 最小セル幅を小さく */
  max-width: 250px; /* 最大セル幅を設定 */
  padding: 8px 12px;
  word-wrap: break-word; /* 長い単語を改行 */
  overflow-wrap: break-word; /* 長いテキストを改行 */
  white-space: normal; /* 通常の改行を許可 */
  vertical-align: top; /* セル内容を上揃え */
}

/* スクロールヒント用のフェードアウト効果（オプション） */
.table-slider::before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 20px;
  background: linear-gradient(to left, rgba(255,255,255,0.8), transparent);
  pointer-events: none;
  z-index: 1;
}

/* BAKUNE記事内の画像をレスポンシブ対応 */
.articleBody img {
    display: block;
    margin: 0 auto;
    max-width: 80%;
    height: auto;
}

/* スマホサイズ（768px以下）では幅100% */
@media (max-width: 768px) {
    .articleBody img {
        max-width: 100%;
    }
}

/* より具体的に記事内の特定画像を対象にしたい場合 */
.articleBody p img,
.articleBody div img {
    display: block;
    margin: 0 auto;
    max-width: 70%;
    height: auto;
}

@media (max-width: 768px) {
    .articleBody p img,
    .articleBody div img {
        max-width: 100%;
    }
}

/* post-thumbnailの画像を中央揃えに */
.post-thumbnail {
    text-align: center;
}

.post-thumbnail img {
    display: block;
    margin: 0 auto;
    max-width: 70%;
    height: auto;
}

/* スマホサイズ（768px以下）では幅100% */
@media (max-width: 768px) {
    .post-thumbnail img {
        max-width: 100%;
    }
}




.profile-card {
    max-width: 1200px;
    margin: 0 auto;
    background-color: #e8f4f8;
    border-radius: 12px;
    padding: 40px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.profile-image-wrapper {
    flex-shrink: 0;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #d0d0d0;
    background-image: url('https://bakune-lab.jp/wp-content/uploads/2025/09/nemurihensyutyo-image.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.profile-content {
    flex: 1;
}

.supervisor-label {
    color: #2c5f7a;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
}

.profile-name {
    color: #6b7280;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 24px;
}

.profile-description {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.profile-link {
    color: #4f46e5;
    font-size: 16px;
    text-decoration: none;
    display: inline-block;
    transition: opacity 0.3s;
}

.profile-link:hover {
    opacity: 0.7;
    text-decoration: underline;
}

/* タブレット対応 */
@media (max-width: 768px) {
    .profile-card {
        padding: 30px;
        gap: 20px;
    }

    .profile-image-wrapper {
        width: 120px;
        height: 120px;
    }

    .supervisor-label {
        font-size: 16px;
    }

    .profile-name {
        font-size: 20px;
        margin-bottom: 16px;
    }

    .profile-description {
        font-size: 15px;
        line-height: 1.7;
    }
}

/* スマートフォン対応 */
@media (max-width: 480px) {
    .profile-card {
        flex-direction: column;
        align-items: center;
        padding: 24px 20px;
        gap: 20px;
    }

    .profile-image-wrapper {
        width: 140px;
        height: 140px;
    }

    .profile-content {
        text-align: center;
    }

    .supervisor-label {
        font-size: 15px;
    }

    .profile-name {
        font-size: 18px;
        margin-bottom: 16px;
    }

    .profile-description {
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
        margin-bottom: 20px;
    }

    .profile-link {
        font-size: 15px;
    }
}