/*
Theme Name: Lightning Child
Template: lightning
Version: 1.0.0
*/
@charset "UTF-8";

/*-------------------------------------------*/
/*      初期化
/*-------------------------------------------*/
ul, ol { list-style: none; }

/*-------------------------------------------*/
/*      #footer
/*-------------------------------------------*/
#footer { text-align: center; clear: both; /*margin-top:960px;*/ }

#footer { margin: 0px; display: block; overflow: hidden; text-align: left;}
#footer { padding: 0; background-color: #f5f5f5; }
#footer .innerBox { padding-top: 25px; width: 100%; }
#footer .innerBox a { color: #888; }

.footer_inner_left{                                                                                                
        width:54.1%;                                                                                               
        /*mim-width:200px;*/
        float:left;
        margin:10px 5px;
}

.footer_inner_right{
        width:43.7%;
	/*mim-width:300px;*/
	float:left;
	font-size:12px;
	margin:10px 5px;
}

#news_wrap{
        padding-bottom:3px;
        border-bottom:1px solid #333;
}

#footer {
	background: #315793;
	border-top: 1px solid #113353;
	clear: both;
	margin-top: 60px;
        padding: 0 0 70px;
        font-size:11px;
        color:#fff;
}
#footer a {
        color: #fff !important;
}
.footer_inner_right .small{
        margin-top: 15px;
}

@media (min-width: 960px) {
        #footer {
                margin-top: 0;
                padding: 0 0 20px;
        }
        #footer_inner {
                width: 960px;
                margin: 0 auto;
                padding: 20px 0;
        }
}

/* 子ページ一覧グリッドコンテナ */
.child-page-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2列ボックス表示 */
    gap: 24px;                            /* ボックス間の余白 */
    margin-top: 32px;
}

/* 個別カード */
.child-page-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.child-page-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}

.child-page-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.child-page-card__link:hover {
    color: inherit;
    text-decoration: none;
}

/* サムネイルエリア */
.child-page-card__thumbnail {
    width: 100%;
    height: 180px;
    overflow: hidden;
    background-color: #f8fafc;
}

.child-page-card__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.child-page-card__no-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* コンテンツ本文 */
.child-page-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.child-page-card__title {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.4;
    color: #1e293b;
}

.child-page-card__excerpt {
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0 0 16px;
    flex-grow: 1;
}

.child-page-card__more {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--vk-color-primary, #0073aa); /* Lightningのメインカラー変数を適用 */
    align-self: flex-start;
}

/* スマホ表示（767px以下）は1列に切り替え */
@media (max-width: 767px) {
    .child-page-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .child-page-card__thumbnail {
        height: 160px;
    }
}
/* --- */
#content #topBnrList h2, #content #topBlog h2 { margin: 20px 0 0 0; font-size: 22px; font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; font-weight: normal; }
#content #topBnrList h2 { margin: 20px 0 0 0; }
#content #topBnrList ul { margin: 20px 20px 0; list-style: none; text-align: center;}
#content #topBnrList ul li { margin: 10px 0 0; list-style: none; }
@media (min-width: 960px) {
        #content #topBnrList h2, #content #topBlog h2 { font-size: 26px; }
        #content #topBnrList h2 { margin: 20px 0 0; }
        #content .infoList .rssBtn { margin-top: -36px; }
        #content #topBnrList ul { margin: 10px 0 -20px -10px; text-align: left; overflow: hidden; }
        #content #topBnrList ul li { float: left; margin: 10px 0 0 10px; }
        .flex-control-nav {
                bottom: -40px;
        }
        .flex-control-nav li {
                margin-left: 15px;
        }
        .flex-control-nav li a {
                width: 14px;
                height: 14px;
                background: url(../../../images/flexslider/bg_control_nav_02.png) no-repeat 0 0;
        }
        .flex-control-nav li a:hover {                background-position: 0 -14px;        }
        .flex-control-nav li a.active {
                background-position: 0 -28px;
        }
}
@media (min-width: 960px) {
        #content #topBnrList h2, #content #topBlog h2 { font-size: 26px; }
        #content #topBnrList h2 { margin: 20px 0 0; }
        #content .infoList .rssBtn { margin-top: -36px; }
        #content #topBnrList ul { margin: 10px 0 -20px -10px; text-align: left; overflow: hidden; }
        #content #topBnrList ul li { float: left; margin: 10px 0 0 10px; }
        .flex-control-nav {
                bottom: -40px;
        }
        .flex-control-nav li {
                margin-left: 15px;
        }
        .flex-control-nav li a {
                width: 14px;
                height: 14px;
                background: url(../../../images/flexslider/bg_control_nav_02.png) no-repeat 0 0;
        }
        .flex-control-nav li a:hover {                background-position: 0 -14px;        }
        .flex-control-nav li a.active {
                background-position: 0 -28px;
        }
}

/* --- */
/* ボタンのラッパー */
.form-btn-group {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;     /* 上下の高さを均等に中央揃え */
    gap: 16px !important;
    margin-top: 32px !important;
}

/* 戻るボタンの装飾 */
input[name="submitBack"],
button[name="submitBack"] {
    background-color: #64748b;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 12px 28px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

input[name="submitBack"]:hover,
button[name="submitBack"]:hover {
    background-color: #475569;
}

/* 戻るボタン・確認ボタン・送信ボタンの基準リセットとサイズ統一 */
.form-btn-group input[type="submit"],
.form-btn-group button[type="submit"],
.form-btn-group input[name="submitBack"],
.form-btn-group button[name="submitBack"],
.form-btn-group input[name="submitConfirm"],
.form-btn-group button[name="submitConfirm"] {
    /* ボックスモデルを統一（パディングや境界線を含めた高さ計算にする） */
    box-sizing: border-box !important;

    /* 高さを固定して揃える */
    height: 48px !important;
    line-height: 48px !important;

    /* 外部余白による上下ズレを防止 */
    margin: 0 !important;

    /* ベースライン揃えのズレを防ぐ */
    vertical-align: middle !important;

    /* 上下の余白ブレを防ぐためパディングは左右のみ指定 */
    padding: 0 32px !important;

    /* フォントサイズと文字配置 */
    font-size: 16px !important;
    text-align: center;
    vertical-align: middle;

    /* 角丸・境界線 */
    border-radius: 4px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
