/* ============================================
   サイト共通: 2000年代 Yahoo! JAPAN 風スキン
   style.css の CSS変数を上書きして配色を統一する。
   PC幅は .container (max-width:900px) をそのまま使う。
   ============================================ */

:root {
    --bg-gradient-1: #ffffff;
    --bg-gradient-2: #ffffff;
    --notebook-line: transparent;
    --card-bg: #ffffff;
    --card-border: #a9c0da;
    --text-primary: #000000;
    --text-secondary: #666666;
    --text-accent: #2c4a7c;
    --button-bg: #2c4a7c;
    --button-border: #1e3a5f;
    --button-secondary-bg: #5a7ca8;
    --button-secondary-border: #3d5c82;
    --input-bg: #ffffff;
    --shadow-color: transparent;
    --success-bg: #eef6ec;
    --success-border: #4a8f3c;
    --error-bg: #fdeeee;
    --error-border: #c0392b;
}

body {
    font-family: 'MS PGothic', Arial, sans-serif !important;
    background: #ffffff !important;
}

h1, h2, h3, h4 {
    font-family: Arial, 'MS PGothic', sans-serif !important;
}

.card {
    border-radius: 0 !important;
    box-shadow: none !important;
    border-width: 1px !important;
}

.btn {
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'MS PGothic', Arial, sans-serif !important;
}

.btn-primary {
    background: var(--button-bg) !important;
    color: #fff !important;
    border: 1px solid var(--button-border) !important;
}

.btn-secondary {
    background: var(--button-secondary-bg) !important;
    color: #fff !important;
    border: 1px solid var(--button-secondary-border) !important;
}

.btn-outline {
    background: #fafafa !important;
    color: #333 !important;
    border: 1px solid #999 !important;
}

a {
    color: #0000ee;
}

a:visited {
    color: #551a8b;
}

/* サイト共通ヘッダー */
.ysite-header {
    width: 100%;
    border-collapse: collapse;
    background: #2c4a7c;
    margin-bottom: 0;
}

.ysite-header td {
    padding: 6px 10px;
    line-height: normal;
}

.ysite-logo, .ysite-logo:visited {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    font-family: Arial, sans-serif;
    text-decoration: none;
}

.ysite-logo span {
    color: #ffcc00;
}

.ysite-header td.ysite-login {
    text-align: right;
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
}

.ysite-header td.ysite-login a {
    color: #fff;
}

.ysite-nav {
    width: 100%;
    border-collapse: collapse;
    background: #e7edf5;
    border-bottom: 1px solid #a9c0da;
    margin-bottom: 14px;
}

.ysite-nav td {
    padding: 6px 10px;
    font-size: 14px;
    line-height: normal;
}

.ysite-nav a {
    color: #0000ee;
    text-decoration: none;
}

.ysite-nav a.current {
    color: #2c4a7c;
    font-weight: bold;
}
