@charset "utf-8";

/*=== base ===*/
.view--pc {
    display: block;
}
.view--sp {
    display: none;
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Zen Maru Gothic", sans-serif;
}
body,strong, .kakuka_info_ttl, .life_cat_list_ttl, .subsite_menu_ttl, .site_name, #main_body table.tbl_ques caption, #main_body table#mail_form_tbl caption {
    font-family: "Zen Kaku Gothic New", sans-serif;
}
#mymainback_bg,
#mymainback_bg * {
    box-sizing: border-box;
}

/*=== header ===*/
.site-header,
.site-header * {
    box-sizing: border-box;
}
.site-header {
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-image: url("/img/site/fd-syoubousyo/header_bg_pc.jpg");
    background-color: #0B216E;
    color: #fff;
}
.site-header .site-header__inner {
    display: flex;
    justify-content: space-between;
    width: 96%;
    max-width: 1240px;
    margin: 0 auto;
}

/* site-header-1st */
.site-header-1st {
    padding: 17px 0;
}
.site-header__logo {
    width: 149px;
    display: flex;
    align-items: center;
    color: #fff!important;
}
.site-header__logo img {
    width: 100%;
    height: auto;
}
.site-header__pc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 17px;
}
.font_size_limit_max .site-header-1st .site-header__inner {
    display: block;
}
.font_size_limit_max .site-header-1st .site-header__logo {
    width: 180px;
    margin: 0 auto 10px;
}
.font_size_limit_max .site-header__pc {
    justify-content: center;
}

/* リンク */
.site-header__link {
    display: flex;
    align-items: center;
    gap: 24px;
}
.site-header__link a {
    display: flex;
    align-items: center;
    font-size: 1.3rem;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}
.site-header__link a:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    margin: 0 6px 0 0;
}
.site-header__link a.home:before {
    background-image: url("/img/site/fd-syoubousyo/icon_home.png");
}
.site-header__link a.lang:before {
    background-image: url("/img/site/fd-syoubousyo/icon_lang.png");
}
.site-header__link a.support:before {
    background-image: url("/img/site/fd-syoubousyo/icon_support.png");
}

/* 検索窓 */
#cse-search-box .search_ttl,
#cse_filetype {
    display: none!important;
}
#top_search_keyword {
    width: 197px;
    height: 36px;
    background: #fff;
    padding: 0 3px 0 0;
}
#cse-search-box .search_ipt {
    width: 100%;
    position: relative;
    justify-content: flex-start;
    border: none;
}
#tmp_query {
    width: calc(100% - 30px)!important;
    height: 36px !important;
}
#submit {
    margin: auto;
    width: 30px;
    height: 30px;
    min-width: 30px;
    background-image: url("/img/site/fd-syoubousyo/btn_search.png");
    background-size: contain;
    background-color: #0B216E;
    background-position: center center;
    overflow: hidden;
    text-indent: -9999px;
    color: #fff;
}
.site-header__sp,
.site-header__hide {
    display: none;
}

/* site-header__hide */
.site-header__hide {
    display: none;
    width: 100%;
    background: #E3E6F3;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 998;
    padding: 35px 20px 30px;
    text-align: center;
    color: #000;
}
.site-header__hide__title {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 20px;
}
.site-header__hide__inner {
    display: inline-block;
}

.spm_contents,
.spm_contents * {
    box-sizing: border-box;
}
.spm_contents {
    display: none;
}
.spm_contents__close {
    position: absolute;
    top: 17px;
    right: 20px;
    width: 40px;
    height: 40px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: transparent;
    background-image: url("/img/site/fd-syoubousyo/btn_close.png");
    border: none;
    padding: 0;
    margin: 0;
}
body.site-header_support_open #site-header_support {
    display: block;
}

/* 閲覧補助 */
dl#moji_size,
dl#haikei_color {
    justify-content: flex-start;
    margin: 0 0 17px;
    padding: 0;
}
dl#moji_size dt,
dl#haikei_color dt {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 14px 0 0;
}
dl#moji_size dd,
dl#haikei_color dd {
    margin: 0px 0px 0px 5px;
}
dl#moji_size dd a,
dl#moji_size dd a#moji_large {
    font-size: 1.6rem;
    width: auto;
    padding: 4px 12px;
    display: block;
    line-height: 1.6;
    border-radius: 2px;
    border: none;
}
dl#moji_size dd a {
    color: #fff;
    background: #0B216E;
}
dl#moji_size dd a#moji_large {
    color: #333;
    background: #fff;
}
dl#moji_size dd a,
dl#haikei_color dd a {
    width: auto;
    height: auto;
    font-size: 1.6rem;
    line-height: 1.6;
    padding: 4px 12px;
    border-radius: 4px;
}
dl#haikei_color dd a#haikei_white {
    color: #fff!important;
    background: #0B216E!important;
}
dl#haikei_color dd a#haikei_black,
dl#haikei_color dd a#haikei_blue {
    color: #333!important;
    background: #fff!important;
}
.site-header__hide__btn.lang {
    display: none;
}

/* c_btnlist */
.c_btnlist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
}
.c_btnlist a {
    position: relative;
    display: block;
    padding: 134px 55px 23px 15px;
    background-color: #fff;
    background-size: 74px auto;
    background-position: top 35px center;
    background-repeat: no-repeat;
    border: 1px solid #EBEBEB;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.2;
    color: #333;
    text-decoration: none;
}
.color_change .tpl_site .c_btnlist a {
    background-color: #fff!important;
    color: #333!important;
}
.c_btnlist a small {
    display: block;
    font-size: 1.3rem;
    font-weight: 400;
    margin: 16px 0 0;
}
.c_btnlist a:after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("/img/site/fd-syoubousyo/icon_arrow_right.png");
    position: absolute;
    bottom: 20px;
    right: 20px;
}
.c_btnlist a.work {
    background-image: url("/img/site/fd-syoubousyo/icon_img_work.png");
}
.c_btnlist a.bousai {
    background-image: url("/img/site/fd-syoubousyo/icon_img_bousai.png");
}
.c_btnlist a.aid {
    background-image: url("/img/site/fd-syoubousyo/icon_img_aid.png");
}
.c_btnlist a.qa {
    background-image: url("/img/site/fd-syoubousyo/icon_img_qa.png");
}
.c_btnlist a.youtube {
    background-image: url("/img/site/fd-syoubousyo/sns_youtube.png");
}
.c_btnlist a.x {
    background-image: url("/img/site/fd-syoubousyo/sns_x.png");
}
.c_btnlist a.insuta {
    background-image: url("/img/site/fd-syoubousyo/sns_insta.png");
}

/* site-header-2nd */
.site-header-2nd {
    position: relative;
    padding: 16px 0 20px;
}
.site-header-2nd:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: rgba(255,255,255,.5);
    position: absolute;
    bottom: 0;
    left: 0;
}
.site-header-2nd .site-header__inner {
    gap: 0 43px;
    align-items: flex-start;
    align-items: center;
}
.font_size_changed .site-header-2nd .site-header__inner {
    flex-direction: column;
    gap: 20px;
}

/* 専用フッタ */
.site-header #site_footer {
    position: relative;
    width: 35.4%;
    background: #FBFDDF;
    padding: 10px;
    margin: 0;
}
.site-header #site_footer:after {
    content: "";
    display: block;
    width: 17px;
    height: 17px;
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
    background-image: url("/img/site/fd-syoubousyo/icon_triangle.png");
    position: absolute;
    top: 2px;
    left: 2px;
}
.site-header #site_footer_box {
    overflow: hidden;
    white-space: nowrap;
    font-size: 1.3rem;
    padding: 0;
}
.site-header #site_footer_box p {
    display: inline-block;
    padding-left: 100%;
    animation: scroll-left 15s linear infinite;
}
#site_footer_box:hover p {
    animation-play-state: paused;
}
@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
.font_size_changed .site-header #site_footer {
    width: 100%;
}

/*=== gnavi ===*/
.site-header .site-gnavi {
    width: 61.2%;
}
.site-header #site-gnavi_close {
    display: none;
}
.site-header .site-gnavi__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.site-header .site-gnavi__list a {
    display: flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
    font-size: 1.4rem;
}
.site-header .site-gnavi__list a:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-image: url("/img/site/fd-syoubousyo/icon_arrow_right.png");
    margin: 0 12px 0 0;
}
.font_size_changed .site-header .site-gnavi {
    width: 100%;
}
@media screen and (max-width: 1300px) {
    .site-header .site-gnavi__list {
        grid-template-columns: repeat(3, 1fr);
    }
}

/*=== site-footer ===*/
.site-footer,
.site-footer * {
    box-sizing: border-box;
}
.site-footer {
    margin: 150px 0 0;
    padding: 78px 0 35px;
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-image: url("/img/site/fd-syoubousyo/header_bg_pc.jpg");
    background-color: #0B216E;
    color: #fff;
}
.site-footer p {
    margin: 0;
}
.site-footer img {
    vertical-align: bottom;
}
.site-footer__inner {
    display: flex;
    justify-content: space-between;
    width: 89.34%;
    max-width: 1240px;
    margin: 0 auto 110px;
    gap: 10px;
}
.site-footer__logo {
    display: block;
    width: auto;
    height: 44px;
    margin: 0 0 24px;
    color: #fff!important;
}
.site-footer__logo img {
    height: 100%;
    width: auto;
}
.site-footer__link {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0 0 60px;
}
.site-footer__link a {
    text-decoration: none;
    color: #fff;
    font-size: 1.3rem;
}
.site-footer__sns {
    display: flex;
    gap: 15px;
}
.site-footer__sns a {
    color: #fff;
}
.site-footer__btn {
    display: block;
    width: 281px;
    color: #fff!important;
}
.site-footer__copy {
    width: 89.34%;
    max-width: 1240px;
    margin: 0 auto;
    text-align: right;
    font-size: 1.4rem;
}

/*=== 下層ページ ===*/

/* レイアウト */
.tpl_site_list_2 #mymainback_bg,
.tpl_site_list1 #mymainback_bg,
.tpl_site_detail #mymainback_bg {
    display: block;
}
.tpl_site_list_2 #mymainback,
.tpl_site_list1 #mymainback,
.tpl_site_detail #mymainback {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
}
.tpl_site_list_2 #main,
.tpl_site_list1 #main,
.tpl_site_detail #main, {
    width: 100%;
}
.tpl_site_list_2 #main_a,
.tpl_site_list1 #main_a,
.tpl_site_detail #main_a {
    padding: 0;
}
.tpl_site_list_2 #main,
.tpl_site_list1 #main,
.tpl_site_detail #main,
.tpl_site_detail #main {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.tpl_site_list_2 #main_header,
.tpl_site_list1 #main_header,
.tpl_site_detail #main_header {
    position: relative;
    padding: 87px 0 81px;
    margin: 0 0 60px;
    background-color: #F8F7F5;
}
.tpl_site_list_2 #main_header:after,
.tpl_site_list1 #main_header:after,
.tpl_site_detail #main_header:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    width: 100%;
    height: 56px;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(/img/site/fd-syoubousyo/hero_text.png);
    background-position: center right;
}
.tpl_site_list_2 #main_header h1,
.tpl_site_list1 #main_header h1,
.tpl_site_detail #main_header h1 {
    position: relative;
    z-index: 3;
    font-size: 3.2rem;
    color: #0B216E;
    background: none;
    width: 90%;
    max-width: 1080px;
    padding: 0;
    margin: 0 auto;
}
.tpl_site_list_2 #main_body,
.tpl_site_list1 #main_body,
.tpl_site_detail #main_body,
.tpl_site_detail .content_header_wrap {
    width: 96%;
    max-width: 1080px;
    margin: 0 auto;
}

.link_to_subsitemenu {
    display: none;
}

/* パンくず */
#pankuzu_wrap {
    background: none;
}
.pankuzu:first-child .icon_current, #footstep_ttl {
    background: #0B216E;
}

/* 大メニューページ */
.tpl_site_list_2 .info_list ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.tpl_site_list_2 .info_list ul li::before {
    content: none;
}
.tpl_site_list_2 .info_list ul li a {
    position: relative;
    display: flex;
    align-items: center;
    background: #F8F7F5;
    color: #0B216E;
    text-decoration: none;
    font-size: 2.3rem;
    font-weight: bold;
    padding: 30px 60px 30px 30px;
}
.tpl_site_list_2 .info_list ul li a::before,
.tpl_site_list_2 .info_list ul li a::after {
    content: "";
    flex-shrink: 0;
}
.tpl_site_list_2 .info_list ul li a::before {
    display: block;
    width: 2px;
    height: 64px;
    background: #0B216E;
    position: relative;
    margin: 0 30px 0 0;
}
.tpl_site_list_2 .info_list ul li a::after {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-image: url(/img/site/fd-syoubousyo/icon_arrow_right.png);
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;
    margin: auto;
}

/* 小メニューページ */
.tpl_site_list1 .info_list ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.tpl_site_list1 .info_list.info_list_date ul li {
    position: relative;
    display: block;
    padding: 25px 60px 60px 27px;
    margin: 0;
	border: 1px solid #0B216E;
}
.tpl_site_list1 .info_list.info_list_date ul li:after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-image: url(/img/site/fd-syoubousyo/icon_arrow_right.png);
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;
    margin: auto;
}
.tpl_site_list1 .info_list.info_list_date ul li > span {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    font-size: 1.6rem;
}
.tpl_site_list1 .info_list.info_list_date ul li > span.article_date {
    margin: 0 0 5px;
}
.tpl_site_list1 .info_list.info_list_date ul li > span.article_title,
.tpl_site_list1 .info_list.info_list_date ul li > span.article_title a {
    color: #0B216E;
    font-weight: bold;
}

/* 記事ページ */
.tpl_site_detail #main_body h2 {
	padding: 27px 44px 22px;
	background: #F8F7F5;
    border-bottom: 4px solid #0B216E;
}
.tpl_site_detail #main_body h2::after {
	content: none;
}
.tpl_site_detail #main_body h3 {
    position: relative;
    display: flex;
    align-items: center;
	padding: 11px 12px 12px 44px;
	background: #0B216E;
    color: #fff;
	border-bottom: none;
}
.tpl_site_detail #main_body h3:before {
    content: "";
    display: block;
    width: 3px;
    height: calc(100% - 1.5em);
    border-radius: 30px;
    background: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: auto;
}
.tpl_site_detail #main_body h3 a {
    color: #fff;
}
.tpl_site_detail #main_body h4 {
	padding: 0;
	background: none;
    color: #0B216E;
}
.tpl_site_detail #main_body h4:before {
    content: "●";
    display: inline-block;
}
#main_body ul li::marker {
    color: #0B216E;
}
.font_size_changed #main_body ul li::marker {
    color: #fff;
}
#main_body th {
    background: #F8F7F5;
}

/* 評価エリア */
#hyouka_area_box .hyouka_box_detail fieldset span input {
    accent-color: #0B216E;
}
#hyouka_area_submit input {
    border: 1px solid #0B216E;
}

/* お問い合わせ先 */
#section_footer {
    background: #F8F7F5;
}
#section_footer a {
    color: #0B216E;
}


/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1080px) {
    .view--pc {
        display: none;
    }
    .view--sp {
        display: block;
    }

    /*=== header ===*/
    .site-header .site-header__inner {
        width: 89.34%;
    }
    
    /* site-header-1st */
    .site-header-1st {
        padding: 0;
        width: 100%;
        height: 70px;
        display: flex;
        align-items: center;
    }
    .site-header__logo {
        width: auto;
        height: 37px;
    }
    .site-header__logo img {
        height: 100%;
        width: auto;
    }
    .font_size_limit_max .site-header-1st .site-header__logo {
        width: auto;
        margin: 0;
    }

    /* 検索窓 */
    #top_search_keyword {
        width: 100%;
        height: 60px;
        padding: 0 5px 0 0;
    }
    #tmp_query {
        width: calc(100% - 50px)!important;
        height: 60px !important;
    }
    #submit {
        width: 50px;
        height: 50px;
        min-width: 50px;
    }

    /* site-header__pc */
    .site-header__pc {
        display: none;
    }

    /* 検索窓 */
    .site-header #top_search_keyword {
        width: 197px;
        height: 36px;
        background: #fff;
        padding: 0 3px 0 0;
    }
    .site-header #cse-search-box .search_ipt {
        width: 100%;
        position: relative;
        justify-content: flex-start;
        border: none;
    }
    .site-header #tmp_query {
        width: calc(100% - 30px)!important;
        height: 36px !important;
    }
    .site-header #submit {
        margin: auto;
        width: 30px;
        height: 30px;
        min-width: 30px;
        background-image: url("/img/site/fd-syoubousyo/btn_search.png");
        background-size: contain;
        background-color: #0B216E;
        background-position: center center;
        overflow: hidden;
        text-indent: -9999px;
        color: #fff;
    }

    /* site-header__sp */
    .site-header__sp {
        display: block;
        width: 70px;
        position: absolute;
        top: 0;
        right: 0;
    }
    .site-header__spBtn {
        padding: 0;
        margin: 0;
        border: none;
    }
    .site-header__spBtn img {
        max-width: 100%;
        height: auto;
        vertical-align: bottom;
    }

    /* site-header__hide */
    .site-header__hide__title {
        font-size: 1.8rem;
        margin: 0 auto 37px;
    }

    /* 閲覧補助 */
    dl#moji_size dt,
    dl#haikei_color dt {
        font-size: 1.4rem;
    }
    dl#moji_size dd a,
    dl#moji_size dd a#moji_large {
        font-size: 1.4rem;
    }
    dl#moji_size dd a,
    dl#haikei_color dd a {
        font-size: 1.4rem;
    }

    /* c_btnlist */
    .c_btnlist a {
        padding: 77px 10px 25px;
        background-size: 50px auto;
        background-position: top 18px center;
        border-radius: 4px;
        font-size: 1.3rem;
    }
    .c_btnlist a:after {
        width: 14px;
        height: 14px;
        bottom: 6px;
        right: 6px;
    }

    /* site-header-2nd */
    .site-header-2nd {
        padding: 0;
    }
    .site-header-2nd .site-header__inner {
        display: block;
        width: 100%;
    }

    /* 専用フッタ */
    .site-header #site_footer {
        width: 100%;
        margin: 0;
    }

    /* gnavi */
    .site-header .site-gnavi {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 998;
        width: 100%;
        height: 100%;
        background-color: #E0E4F0;
        padding: 72px 0 100px;
        overflow-y: auto;
    }
    .site-header #site-gnavi_close {
        display: block;
    }
    .site-header .site-gnavi__list {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 89.34%;
        margin: 0 auto;
    }
    .site-header .site-gnavi__list a {
        background-color: #0B216E;
        font-size: 1.8rem;
        padding: 16px 24px;
    }
    .site-header .site-gnavi__list a:before {
        content: none;
    }

    /*=== spm ===*/
    #spm_wrap,
    #spm_wrap * {
        box-sizing: border-box;
    }
    #spm_wrap {
        gap: 1px;
        border-top: 1px solid #fff;
        background: #fff;
    }
    #spm_wrap button,
    #spm_wrap a {
        height: 70px;
        background-color: #0B216E;
    }
    #spm_wrap button#spm_search,
    .spm_search_open #spm_wrap button#spm_search {
        background: url(/img/site/fd-syoubousyo/spm_btn_search.png) no-repeat center center #0B216E!important;
        background-size: auto 100%!important;
        color: #fff;
        border-left: none;
    }
    #spm_wrap button#spm_menu,
    .spm_menu_open #spm_wrap button#spm_menu {
        background: url(/img/site/fd-syoubousyo/spm_btn_menu.png) no-repeat center center #0B216E!important;
        background-size: auto 100%!important;
        color: #fff;
        border-left: none;
    }
    #spm_wrap #spm_kaiyu {
        background: url(/img/site/fd-syoubousyo/spm_btn_top.png) no-repeat center center #0B216E!important;
        background-size: auto 100%!important;
        color: #fff;
    }

    /* spm_contents */
    .spm_contents {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 998;
        width: 100%;
        height: 100%;
        background-color: #E0E4F0;
        padding: 134px 0 100px;
        overflow-y: auto;
    }
    .spm_contents__inner {
        width: 89.34%;
        margin: 0 auto;
    }
    #spm_contents_search_google {
        margin: 0 0 33px;
    }

    /* 開閉時 */
    #container.spm_search_open #spm_contents_search {
        display: block;
    }
    #container.spm_menu_open .site-gnavi {
        display: block;
    }

    /* 閲覧補助 */
    .site-header__hide {
        text-align: left;
    }
    .site-header__hide__inner {
        display: block;
    }
    .site-header__hide__btn.lang {
        display: block;
        background-color: #0B216E;
        background-size: 30px auto;
        background-position: center left 17px;
        background-image: url("/img/site/fd-syoubousyo/icon_lang.png");
        background-repeat: no-repeat;
        color: #fff;
        padding: 18px 18px 18px 52px;
        border-radius: 2px;
        text-decoration: underline;
        margin: 30px 0 0;
    }

    /*=== site-footer ===*/
    .site-footer {
        margin: 74px 0 0;
        padding: 54px 0 108px;
    }
    .site-footer__inner {
        display: block;
        margin: 0 auto 22px;
    }
    .site-footer__1st {
        margin: 0 0 40px;
    }
    .site-footer__logo {
        height: 44px;
    }
    .site-footer__2nd {
        margin: 0 0 70px;
    }
    .site-footer__link {
        margin: 0 0 21px;
        gap: 12px;
    }
    .site-footer__link a {
        font-size: 1.1rem;
    }
    .site-footer__3th {
        text-align: center;
    }
    .site-footer__copy {
        text-align: center;
    }

    /*=== 下層ページ ===*/
    
    .tpl_site_list_2 #main_header,
    .tpl_site_list1 #main_header,
    .tpl_site_detail #main_header {
        position: relative;
        padding: 30px 0 50px;
        margin: 0 0 40px;
    }
    .tpl_site_list_2 #main_header:after,
    .tpl_site_list1 #main_header:after,
    .tpl_site_detail #main_header:after {
        height: 25px;
    }
    .tpl_site_list_2 #main_header h1,
    .tpl_site_list1 #main_header h1,
    .tpl_site_detail #main_header h1 {
        width: 89.34%;
        font-size: 2.4rem;
    }
    .tpl_site_list_2 #main_body,
    .tpl_site_list1 #main_body,
    .tpl_site_detail #main_body,
    .tpl_site_detail .content_header_wrap {
        width: 89.34%;
    }

    /* 大メニューページ */
    .tpl_site_list_2 .info_list ul {
        grid-template-columns: repeat(1, 1fr);
    }
    .tpl_site_list_2 .info_list ul li a {
        font-size: 1.8rem;
        padding: 15px 35px 15px 15px;
    }
    .tpl_site_list_2 .info_list ul li a::before {
        margin: 0 15px 0 0;
    }
    .tpl_site_list_2 .info_list ul li a::after {
        display: inline-block;
        width: 14px;
        height: 14px;
        right: 15px;
    }

    /* 小メニューページ */
    .tpl_site_list1 .info_list ul {
        grid-template-columns: repeat(1, 1fr);
    }
    .tpl_site_list1 .info_list.info_list_date ul li {
        padding: 20px 35px 20px 20px;
    }
    .tpl_site_list1 .info_list.info_list_date ul li:after {
        width: 14px;
        height: 14px;
        right: 15px;
    }
    .tpl_site_list1 .info_list.info_list_date ul li > span {
        font-size: 1.4rem;
    }

    /* 記事ページ */
    .tpl_site_detail #main_body h2 {
        padding: 15px;
        border-bottom: 3px solid hsl(227, 82%, 24%);
    }
    .tpl_site_detail #main_body h3 {
        padding: 12px 12px 12px 30px;
    }
    .tpl_site_detail #main_body h3:before {
        left: 15px;
    }
    #hyouka_area_submit input {
        padding: 0.5em;
    }
}