@charset "UTF-8";
/* 間調整 */
.pb10 { padding-bottom: 10px; } .pb20 { padding-bottom: 20px; } .pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; } .pb50 { padding-bottom: 50px; } .pb60 { padding-bottom: 60px; }
.pb70 { padding-bottom: 70px; } .pb80 { padding-bottom: 80px; } .pb90 { padding-bottom: 90px; } .pb100 { padding-bottom: 100px; }
.pb-10 { margin-top: -10px; } .pb-20 { margin-top: -20px; } .pb-30 { margin-top: -30px; }
.pb-40 { margin-top: -40px; } .pb-50 { margin-top: -50px; } .pb-60 { margin-top: -60px; }
.pb-70 { margin-top: -70px; } .pb-80 { margin-top: -80px; } .pb-90 { margin-top: -90px; } .pb-100 { margin-top: -100px; }

/* ボタン */
.btt_m{ display:inline-block; background:#004ca1; padding:15px 80px; font-weight:500; color:#fff !important; text-decoration: none !important; border:0; cursor:pointer; position: relative; border-radius:30px; }
.btt_m:hover{ background:#999; color:#0075e2; text-decoration: none; }
.btt_m::after{ content: ""; display: block; position: absolute; top: 0; bottom: 0; right: 20px; margin: auto; width: 8px; height: 8px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-135deg); transition: .3s; }

/* タイトル */
.title_white { background-color: #fff; border: solid 1px #004ca1; border-left-width: 8px; color: #666; width: 100%; font-size: 120%; font-weight: bold; padding: 13px 20px 10px 20px; margin: 20px 0; }
.title_green { background-color: #004ca1; color: #fff; width: 100%; font-size: 120%; font-weight: bold; padding: 13px 20px 10px 20px; margin: 20px 0; }
.title_gray { background-color: #da002e; color: #fff; width: 100%; font-size: 120%; font-weight: bold; padding: 13px 20px 10px 20px; margin: 20px 0; }

/* テーブル類 */
.down01 { width: 100%; margin-bottom: -1px; }
.down01 th { vertical-align:middle; width: 50%; font-weight: normal; background: #dcdcdc; padding: 12px 0 12px 0; border: solid 1px #ccc; border-left: solid 3px #004ca1; text-align: center; }
.down01 td { vertical-align:middle; width: 50%; padding: 13px 10px 12px 15px; border: solid 1px #ccc; text-align:center; }
.down01 td img { margin: auto; text-align:center; } 

.col_subsidy_detail { width: 100%; margin-bottom: -1px; }
.col_subsidy_detail th { width: 26%; vertical-align:middle; font-weight: normal; background: #edeae6; padding: 12px 10px 12px 10px; border: solid 1px #a0a0a0; border-left: solid 8px #004ca1; text-align: center; }
td.td090 { width: 74%; vertical-align:middle; padding: 12px 20px 12px 20px; border: solid 1px #a0a0a0; text-align: justify; }
.flex_imgtext_side { width: 100%; display: table; } .flex_img_01_side { padding:10px 0; } .flex_img_01_side img { width: 100% !important; display: table-cell; vertical-align: middle; } .flex_text_01_side { width: 50%; padding: 10px 10px 10px 20px; display: table-cell; vertical-align: middle; }


/* ギャラリー */
.flex_gallery { 
    overflow: hidden; 
    position: relative; 
    background: #000; 
    aspect-ratio: 4 / 3; /* ★ ここで表示したい比率を指定します（例: 4/3, 16/9, 1/1） */
}

/* aタグを親要素いっぱいに広げる */
.flex_gallery a {
    display: block;
    width: 100%;
    height: 100%;
}

.flex_gallery img { 
    width: 100%; 
    height: 100%; /* ★ 高さを親要素に合わせる */
    object-fit: cover; /* ★ 画像の縦横比を保ったまま、枠を埋めるように自動でトリミングする */
    display: block; 
    transition-duration: 0.3s; 
}

.flex_gallery img:hover { 
    transform: scale(1.1); 
    opacity: 0.6; 
}

.gallery-caption { 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    text-align: center; 
    /* margin: 5px 0; を変更して下に20pxの余白を追加 */
    margin: 5px 0 20px; 
}

@media screen and (max-width: 767px) {
    .title_white { border-top: solid 3px #004ca1; border-bottom: solid 1px #ccc; border-left: solid 1px #ccc; border-right: solid 1px #ccc; }
    .col_subsidy_detail th, .down01 th { display: block; width: 100%; border-left: solid 1px #ccc; border-top: solid 3px #004ca1; }
    td.td090, .down01 td { display: block; width: 100%; border: solid 1px #ccc; margin-top: -1px; }
    .flex_imgtext_side, .flex_img_01_side, .flex_text_01_side { display: block; width: 100%; text-align:center; padding-left: 0; }
}