﻿
/* 幅 */
.w-5 {
    width: 5% !important;
}

.w-10 {
    width: 10% !important;
}

.w-15 {
    width: 15% !important;
}

.w-20 {
    width: 20% !important;
}

.w-30 {
    width: 30% !important;
}

.w-35 {
    width: 35% !important;
}

.w-40 {
    width: 40% !important;
}

.w-45 {
    width: 45% !important;
}

.w-55 {
    width: 55% !important;
}

.w-60 {
    width: 60% !important;
}

.w-65 {
    width: 65% !important;
}

.w-70 {
    width: 70% !important;
}

.w-80 {
    width: 80% !important;
}

.w-85 {
    width: 85% !important;
}

.w-90 {
    width: 90% !important;
}

.w-95 {
    width: 95% !important;
}

/* 公開サイトスタイル */

/*フッター*/
.copyright {
    border-left: 3px double #003e72;
}

/*コンテナ*/

.container-gd {
    padding: 0;
    border-right: 1px solid #003e72;
    border-left: 1px solid #003e72;
}

/* 大見出し */
h1.midashi {
    border-top: 3px solid #003e72;
    border-bottom: 1px solid #003e72;
    font-size: 1.5rem;
    padding: 1rem;
}

/* 中見出し */
h2.midashi {
    background-color: #ccd8e3;
    font-size: 1.25rem;
    padding: 0.5rem;
}

/* 小見出し */
h3.midashi {
    border-bottom: 1px solid #000;
    font-size: 1rem;
    padding: 0.5rem;
}

/* 中見出し(日程情報) */
h5.midashi {
    background-color: #ccd8e3;
    font-size: 1rem;
    padding: 0.5rem;
}

/* リンク */
a:hover,
a:active {
    color: #800080 !important;
}

/* メニューのリスト */
.kokai-menu li {
    border-bottom: 1px dotted #CCCCCC;
    list-style-type: none;
}

/* トップページ予定のリスト */
.yotei li {
    list-style-type: none;
}

/* 破線の表示する */
.dashedline {
    border-top: 1px dashed #000000;
}

/* リンクの前に表示するアイコン */
.link-gd::before {
    content: url(../lib/img/caret-right-fill.svg);
}

/* お知らせ一覧のリンク */

.oshirase {
    border-bottom: 1px dotted #CCCCCC;
}

/* 本会議録画配信の文章の枠(使ってない) */
.box-gd {
    border: 2px dashed #d1d1d1;
    background-color: #efefef;
    padding: 0.5rem;
}

/* iframeレスポンシブ対応 */
.iframe-gd {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

    .iframe-gd iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

/* videoレスポンシブ対応 */
.video-gd {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

    .video-gd video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

/* 年系の背景色 */
.bg-gd-link {
    background-color: #fff3cd;
}

/* 日曜日・祝日の背景色 */
.youbi1, .youbiS {
    --bs-table-bg: #ffe8e8;
}

/* 土曜日の背景色 */
.youbi7 {
    --bs-table-bg: #e7f5fe;
}

/* バリデーションエラーの背景色 */
input[type="text"].input-validation-error,
input[type="password"].input-validation-error,
input[type="url"].input-validation-error,
input[type="search"].input-validation-error,
input[type="tel"].input-validation-error,
input[type="email"].input-validation-error,
input[type="number"].input-validation-error,
textarea.input-validation-error {
    background-color: #f8d7da
}

select.input-validation-error {
    background-color: #f8d7da;
    border: 1px solid #bbb
}

    select.input-validation-error + span span.select2-selection {
        background: #f8d7da;
    }
/* 資料：備考のフォントサイズ */
.biko {
    font-size: 0.8rem;
}

/* 画像配置 */
.object-left-top {
    object-position: left top;
}

.object-center-top {
    object-position: center top;
}

.object-right-top {
    object-position: right top;
}

.kaigi-jikoku {
    border: 1px solid #c02;
    padding: 2px;
    margin: 5px 40px 5px 20px;
    background-color: #ff9;
}

/*
    トップページのリンク集
*/
.gd-top-link {
    display: flex;
    background: #efefef;
    border-radius: 4px;
    border: 1px solid #939393;
    padding: 6px;
    text-decoration: none;
    align-items: center;
    min-height: 30px;
}

    /*
    トップページのリンク集
*/
    .gd-top-link img {
        max-height: 30px;
    }

/*
    中継リンク
*/
.gd-chukei-link {
    display: inline-flex;
    border-radius: 4px;
    padding: 6px;
    text-decoration: none;
    align-items: center;
    height: 40px;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    margin-right: 0.25rem;
}

    /*
    中継リンク
*/
    .gd-chukei-link img {
        max-height: 100%;
        padding-right: 0.25rem;
    }
/*
    議員画像
*/
.gd-giin-gazou {
    height: 130px;
}

/*
    年リンク配置
*/
.nen-link {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0;
    list-style: none;
}

/*
    委員会リンク配置
*/
.iinkai-link {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0;
    list-style: none;
}

/*
    改行、空白
*/
.white-space-pre-wrap {
    white-space: pre-wrap;
}

/*
    字幕のdivの高さ
*/
.jimaku-box {
    min-height: 120px;
}

/*
    ビデオタグのコンテナ
*/
.video-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000; /* 黒背景 */
}

    /*
    ビデオタグ
*/
    .video-container video {
        width: 100%;
        height: 100%;
        object-fit: contain; /* アスペクト比を保持 */
    }

.gd-giin-gazou img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain; /* アスペクト比を保持 */
}

/* ナビゲーション用h2のスタイルのクラス */
h2.nav-midashi {
    background-color: transparent;
    color: var(--bs-heading-color);
    padding: 0;
    border-radius: 0;    
}

/* --------------------------------------------------
    カラー変数定義
    ※サイトの共通CSSファイル等に定義してください
-------------------------------------------------- */
:root {
    --navy-dark: #0f1c30;
    --navy-main: #1b2f52;
    --navy-vivid: #2563eb;
    --navy-light: #f1f5f9;
    --grad-main: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy-vivid) 100%);
    --text-color: #333;
}

/* --------------------------------------------------
   H1 Style
-------------------------------------------------- */
h1 {
    font-size: 2.5rem;
    font-weight: 400;
    position: relative;
    padding-bottom: 20px;
    margin: 0 0 1.5rem 0;
    box-sizing: border-box;
    width: 100%;
    background: var(--grad-main);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--navy-main);
}

    h1::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: linear-gradient(90deg, var(--navy-dark), transparent);
    }

/* --------------------------------------------------
   H2 Style
-------------------------------------------------- */
h2 {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--navy-main);
    background-color: var(--navy-light);
    padding: 1rem 1.5rem;
    border-radius: 4px;
    margin: 0 0 1.5rem 0;
    box-sizing: border-box;
    width: 100%;
}

/* --------------------------------------------------
   H3 Style
-------------------------------------------------- */
h3 {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--navy-dark);
    padding: 0.5em 0 0.5em 1.2em;
    position: relative;
    background: transparent;
    margin: 0 0 1.5rem 0;
    box-sizing: border-box;
    width: 100%;
}

    h3::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 4px;
        background-color: var(--navy-light);
    }

    h3::after {
        content: '';
        position: absolute;
        left: 0;
        top: 20%;
        height: 60%;
        width: 4px;
        background-color: var(--navy-vivid);
        border-radius: 2px;
    }

/* --------------------------------------------------
   H4 Style
-------------------------------------------------- */
h4 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--navy-main);
    display: flex;
    align-items: center;
    padding-left: 0;
    margin: 0 0 1.5rem 0;
    box-sizing: border-box;
    width: 100%;
}

    h4::before {
        content: '';
        display: inline-block;
        width: 10px;
        height: 10px;
        background: var(--grad-main);
        margin-right: 12px;
        border-radius: 2px;
        flex-shrink: 0;
    }

/* --------------------------------------------------
   H5 Style
-------------------------------------------------- */
h5 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-color);
    margin: 0 0 1.5rem 0;
    box-sizing: border-box;
    width: 100%;
}
