/*
 * WordPress デフォルトスタイルの上書き
 * 元サイトのレイアウトを維持するための調整
 */

/* WordPress のブロックエディタ系スタイルを無効化 */
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}

/* 下層ページ: コンテンツ幅を元の1000pxに制限 */
#contents {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
@media (min-width: 1000px) {
    #contents {
        width: 1000px;
        margin: auto;
        padding-left: 0;
        padding-right: 0;
    }
}

.contents_box {
    width: 95%;
    margin: 0 auto 20px auto;
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid #DDDDDD;
    background-color: #FFF;
}
@media (min-width: 1000px) {
    .contents_box {
        width: 1000px;
        padding: 40px;
        margin: auto;
    }
}

/* ヘッダー幅の制限 */
#header {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}
@media (min-width: 1000px) {
    #header {
        padding: 0;
    }
}

/* フッター幅の制限 */
#footer_in {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}
@media (min-width: 1000px) {
    #footer_in {
        padding: 0;
    }
}

/* clear系クラスのマージンを復元（main.cssでdisplay:noneにされている対策） */
.clear { clear: both; }
.clear_10 { clear: both; margin-bottom: 10px; display: block; }
.clear_20 { clear: both; margin-bottom: 20px; display: block; }
.clear_30 { clear: both; margin-bottom: 30px; display: block; }
.clear_40 { clear: both; margin-bottom: 40px; display: block; }
.clear_50 { clear: both; margin-bottom: 50px; display: block; }
.clear_60 { clear: both; margin-bottom: 60px; display: block; }

/* WordPress が追加する不要な余白を除去 */
.wp-site-blocks {
    padding: 0 !important;
}

/* h2 見出し画像の幅を制限 */
#contents h2 img {
    width: 100%;
    height: auto;
}
@media (min-width: 1000px) {
    #contents h2 img {
        width: 1000px;
        margin: 0 auto;
        display: block;
    }
}

/* お問い合わせフォーム ボタン */
.form-buttons .submit_btn {
    padding: 12px 40px;
    font-size: 16px;
}
.form-buttons input[type="reset"],
.form-buttons input[type="submit"]:not(.submit_btn) {
    padding: 12px 40px;
    font-size: 16px;
    background-color: #fff;
}

/* トップページ: Bootstrap containerの幅を維持 */
.site-content .container {
    max-width: 1170px;
    padding-left: 15px;
    padding-right: 15px;
}

/* トップページ: セクション間の余白を確保 */
#news { padding: 40px 0; }
#social { padding: 60px 0; }
#top_case {
    max-width: 1170px;
    margin: 0 auto;
    padding: 40px 15px;
}
