@charset "UTF-8";
/* 
 * Copyright (c) Morihiro Toshida, All rights reserved.
 */

/* :rootで、サイト全体で使う色の変数を定義します */
:root {
    --bg-color: #fefbf6; /* 背景色: 温かいクリーム色 */
    --text-color: #2F2F2F; /* 文字色: 知的なオフブラック */
    --accent-color: orange; /* rgba(218, 165, 32, 1); アクセント: 品の良いゴールド */
    --base-font-size: 1.1rem;
    --bg-primary-rgb: rgb(119, 184, 218);
    --bg-success-rgb: rgb(142, 202, 160);
    --bg-danger-rgb: rgb(235, 110, 159);
    --bg-custom-rgb: rgb(255, 165, 0);
    --bg-custom2-rgb: rgb(254, 252, 211);
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    font-size: var(--base-font-size);
    line-height: 1.8rem;
    scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6, .navbar-brand {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.lead {
    font-weight: 400;
}

.section-title {
    margin-top: 1rem;
    margin-bottom: 3rem;
}
.section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background-color: var(--accent-color);
    margin: 1rem auto 0;
}

/* ナビゲーションバー */
.navbar {
    background-color: rgba(254, 251, 246, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    font-size: var(--base-font-size);
}

/* ボタン */
.btn-custom {
    border: 1px solid var(--accent-color);
    background-color: var(--accent-color);
    color: white;
    padding: 0.65rem 1.3rem;
    border-radius: 50px;
    font-weight: normal;
    transition: all 0.3s ease;
    /* box-shadow: 0 4px 25px rgba(0, 0, 0, 0.1); */
    /* border: 1px solid rgba(218, 165, 32, 1); */
}
.btn-custom:hover:not(:disabled) {
    border: 1px solid var(--accent-color);
    background-color: var(--bg-custom2-rgb);
    /* box-shadow: 0 4px 25px rgba(0, 0, 0, 0.1); */
    color: var(--accent-color);
    font-weight: normal;
}
.btn-custom:disabled {
    border: 1px solid rgba(0, 0, 0, 0.3);
    background-color: #fff;
    cursor: not-allowed;
    /* box-shadow: 0 4px 25px rgba(0, 0, 0, 0.1); */
    color: #000;
    font-weight: normal;
}

/* table-custom-bordered スタイル */
.table-custom-bordered > :not(caption) > * > * {
/*
* Bootstrapのデフォルトのボーダー変数を使い、
* セルの下側と右側にだけ線を描画します。
*/
    border-bottom-width: var(--bs-border-width);
    border-right-width: var(--bs-border-width);
}

/* 各行の最後のセルだけ、右側の線を消す */
.table-custom-bordered > :not(caption) > * > *:last-child {
    border-right-width: 0;
}

/* テーブルの最後の行のセルだけ、下側の線を消す */
.table-custom-bordered > tbody > tr:last-child > * {
    border-bottom-width: 0;
}
footer {
    background-color: #f6f1e9;
    padding: 2rem 0;
}
footer .copyright {
    font-size: 75%;
}