@charset "utf-8";

/* 柴田研究室 モダン・アカデミック・スタイル (achieve.html 専用) */

body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
    background: #e9ecef;
    margin: 0;
    padding: 0;
    color: #333;
    line-height: 1.6;
}

/* --- コンテナ設定 --- */
.container {
    width: 95%;
    max-width: 1050px; 
    background: #FFFFFF;
    margin: 20px auto;
    box-shadow: 0 0 20px rgba(0,0,0,0.1); 
    border: none;
}

/* --- ヘッダー・メニュー --- */
.header {
    background: #1a365d;
}

#menu {
    background: #2d3748;
    padding: 12px 0;
    text-align: center;
}

#menu a {
    color: #ffffff;
    text-decoration: none;
    margin: 0 15px;
    font-weight: bold;
    font-size: 0.95rem;
}

#menu a:hover {
    color: #cbd5e0;
    text-decoration: underline;
}

/* --- コンテンツエリア --- */
.content {
    padding: 40px 5%;
}

h1 {
    font-size: 1.6rem;
    color: #1a365d;
    border-bottom: 3px solid #1a365d;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

/* 導入文などの強調 */
h2 {
    font-size: 1.05rem;
    font-weight: normal;
    color: #4a5568;
    background: #f8fafc;
    border-left: 5px solid #1a365d;
    padding: 20px;
    margin: 20px 40px 40px 40px;
    line-height: 1.8;
}

/* セクション見出し（h3） */
h3 {
    font-size: 1.25rem;
    color: #1a365d;
    background: #edf2f7;
    padding: 10px 15px;
    margin: 40px 0 20px 0;
    border-left: 10px solid #1a365d;
}

/* 小見出し（h4） */
h4 {
    font-size: 1.1rem;
    font-weight: bold;
    margin: 30px 0 15px 15px;
    padding: 0;
}

/* --- 業績リスト：ズレと回り込みを完全に解消する安定の2列構造 --- */
ul.achieve-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 20px 0 20px 15px !important;
}

ul.achieve-list li {
    display: table !important;          /* 確実に崩れないテーブルレイアウトに設定 */
    width: 100% !important;
    margin-bottom: 14px !important;     /* 論文ごとの適切な隙間 */
    text-align: left !important;
}

/* 1列目：番号エリアの設定（幅を完全に固定し、ドットの位置で右揃えにする） */
ul.achieve-list li span.num {
    display: table-cell !important;
    width: 3.5em !important;             /* 3桁（146.）が余裕を持って綺麗に収まる固定幅 */
    text-align: right !important;        /* ドット（.）の位置を右にピシッと揃える */
    padding-right: 0.8em !important;     /* 番号と本文の間の最適なスペース */
    vertical-align: top !important;      /* 複数行になっても数字を常に1行目の高さに固定 */
    white-space: nowrap !important;      /* 数字の途中での意図しない改行を防止 */
    font-size: 1.0rem !important;
}

/* 2列目：本文エリアの設定（2行目以降もすべてこのラインの頭に揃う） */
ul.achieve-list li span.txt {
    display: table-cell !important;
    vertical-align: top !important;
    text-align: left !important;
    font-size: 1.0rem !important;
    line-height: 1.7 !important;
}

/* --- フッター --- */
.footer {
    padding: 30px 5%;
    background: #2d3748;
    color: #ffffff !important;
}

.footer a {
    color: #fff;
}

img {
    max-width: 100%;
    height: auto;
}

table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
}

td {
    padding: 10px;
    vertical-align: top;
    border-bottom: 1px solid #eee;
}