@charset "utf-8";

/* ベース・共通レイアウト */
html, body {
    height: 100%;
    margin: 0;
}

#contentsWrap {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

#d_page {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
}

#d_page > .contents {
    flex: 1 0 auto;
}

/* ヘッダー・見出し */
.contents h1 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    height: auto !important;
    float: none !important;
    overflow: hidden !important;
    word-break: break-all !important;
    overflow-wrap: break-word !important;
}

.contents h1 span {
    display: inline-block !important;
    max-width: 100% !important;
    height: auto !important;
    white-space: normal !important;
    word-break: break-all !important;
    box-sizing: border-box !important;
}

/* 切り替え用表示制御 */
.sp_sp {
    display: none;
}

/* メインコンテンツエリア */
.main-wide {
    margin-bottom: 60px;
}

/* リンク */
.link {
    text-decoration: underline !important;
}

/* 768px以下のレスポンシブ（スマホ・タブレット向け） */
@media screen and (max-width: 768px) {
    #d_page {
        font-family: "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
        background: url(../../sp/images/common_bg002.gif) repeat-x center top !important;
        color: #000;
        clear: both;
        float: none;
        margin: 0;
        padding: 0;
        -webkit-text-size-adjust: 100%;
        min-width: 310px;
    }

    /* PC・SP切り替え */
    .sp_pc {
        display: none !important;
    }
    
    .sp_sp {
        display: block !important;
    }

    .main-wide {
        width: 100%;
        margin-bottom: 0;
    }

    .contents {
        padding: 0 !important;
    }

    h1 {
        background: #ebe9e2;
        color: #000000;
        font-size: 135%;
        font-weight: bold;
        padding: 9px 0 4px;
        height: 41px;
        line-height: 41px;
        width: 100%;
        display: block;
        border-bottom: none;
    }
}