@charset "UTF-8";


body {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

/* =====================

    PC

===================== */

html {
    overflow: auto;
}

body {
    font-size: 62.5%;
    overflow: hidden;
    font-weight: 500;
    background: url('/img/top/bg-1.jpg');
    background-attachment: fixed;
}

img {
    width: 100%;
}

.hirata_sub {
    position: relative;
}

.hirata_sub .external_link_text {
    display: none;
}

/* 矢印 */
.c-next {
    position: relative;
}

/* 矢印 */
.c-next a::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 2px 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.c-next a:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 2px 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}


/* ページトップ */

#top_scroll {
    position: relative;
    z-index: 100;
    margin: 0;
    padding: 0;
}

#page-top1 {
    display: block;
    position: fixed;
    z-index: 9999;
    bottom: -250px;
    right: 5px;
    width: 55px;
    height: 55px;
    padding: 0;
    color: #222;
    text-align: center;
    text-decoration: none;
    transition: 1s;
    -webkit-transition: 1s;
}

#top_scroll:hover {
    background: #fff;
}


.hirataBox {
    display: flex;
    justify-items: center;
}

.hirata {
    min-width: 1040px;
}

.sp-head {
    display: none;
}

.open_page_id {
    display: none;
}


/* =====================

    sub-head

===================== */

.pc-head {
    position: relative;
}

.pc-head::before {
    position: absolute;
    content: '';
    display: block;
    background: url('/img/top/head_frame.jpg') no-repeat;
    background-size: 150px 144px;
    width: 150px;
    height: 144px;
    top: 0;
    left: 0;
    z-index: 0;
    ;
}


.sub-head {
    display: flex;
    justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    padding: 15px 0;
}

.sub_logoBox {
    position: relative;
    display: flex;
    z-index: 2;
}

.sub_logo {
    width: 80px;
    min-width: 80px;
    padding: 0 30px 0 15px;
}

.sub_tit {
    width: 240px;
    min-width: 240px;
}

.sub_acc {
    position: relative;
    padding: 0 0 10px 10px;
    font-size: 150%;
    line-height: 1.2;
    min-width: 500px;
}

.sub_acc a {
    text-decoration: none;
}

.sub_acc a:hover {
    text-decoration: underline;
}

.sub_acc_in,
.sub_acc_in-2 {
    display: flex;
    padding-right: 10px;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    line-height: 1.5;
}

.sub_acc_in-2 {
    padding-top: 10px;
}

.sub_acc_in a {
    padding-left: 15px;
    color: #000;
}

.sub_acc_in .caption {
    margin: 0 5px 0 20px;
}

.bgBox {
    margin-right: 20px;
}

.fontSize_box .btnA a {
    background: #144470;
    color: #fff;
    padding: 3px 10px;
    box-sizing: border-box;
    font-size: 90%;
    margin-left: 3px;
    line-height: 1;
}

.bg-1 a,
.bg-2 a,
.bg-3 a {
    color: #fff;
    background: #fff;
    padding: 4px 6px;
    box-sizing: border-box;
    font-size: 90%;
    margin-left: 4px;
    line-height: 1;
}

.bg-1 a {
    color: #333;
}

.bg-2 a {
    background: #000;
}

.bg-3 a {
    background: #0036d1
}

.acc_linkBox {
    display: flex;
    padding-top: 10px;
    min-width: 300px;
}

.sub_acc .acc_link {
    position: relative;
    margin-right: 20px;
}

/* 矢印 */
.sub_acc .acc_link a::before {
    position: absolute;
    content: '';
    display: block;
    margin-top: -4px;
    top: 50%;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #cd971a;
}

.link_ichiran {
    text-align: right;
    padding: 0px 40px 25px;
    font-size: 160%;
    margin-right: 20px;
}

.article_title a {
    padding-top: 5px;
    padding-bottom: 5px;
}

.life_cat_list .link_ichiran a,
.article_title a {
    display: inline-block;
    position: relative;
    color: #0049a4;
    padding-left: 15px;
}

.link_ichiran a::before,
.article_title a::before {
    position: absolute;
    content: '';
    display: block;
    margin-top: -5px;
    top: 50%;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 6px;
    border-color: transparent transparent transparent #cd971a;
}


.sub_acc_in-2 {
    padding-top: 20px;
}


.sub_acc_in-2 .head_sns {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
    width: 120px;
}

.sub_acc_in-2 .head_sns li {
    width: 28%;
}

.head_sns .external_link_text {
    display: none;
}

.head_sagasu {
    display: flex;
    margin: 0 20px;
    padding: 10px 20px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
    width: 280px;
    border-radius: 50px;
    line-height: 1;
    background: #fff;
    box-sizing: border-box;
}

.head_sagasu li span {
    display: inline-block;
    margin-right: 5px;
    width: 15px;
}

.head_sagasu li:nth-child(2) span {
    position: relative;
    display: inline-block;
    margin-right: 5px;
    width: 30px;
}

.head_sagasu li a {
    font-weight: bold;
    color: #000;
}

.head_sagasu li:nth-child(2) span::before {
    display: block;
    position: absolute;
    content: '';
    top: 12px;
    left: -32px;
    width: 25px;
    height: 2px;
    margin-top: -3px;
    border-bottom: 1px solid #695017;
    -webkit-transform: rotate(-55deg);
    -ms-transform: rotate(-55deg);
    transform: rotate(-55deg);
}


/*-----------------

    nav

-----------------*/

.nav {
    position: relative;
    width: 100%;
    background-color: #fff;
    z-index: 1;
}

.nav_in {
    display: flex;
    margin: 0 auto;
    width: 1100px;
    justify-content: space-between;
}

.navList {
    text-align: center;
    border-left: solid 1px #d8d3c8;
    -webkit-transition: all .3s;
    width: 100%;
}

.navList:last-child {
    border-right: solid 1px #d8d3c8;
}

.navList:hover {
    background: #ebd194;

}

.navList>a {
    display: block;
    width: 100%;
    padding: 10px 0px;
    font-size: 160%;
    color: #000;
    font-weight: bold;
    text-decoration: none;
    box-sizing: border-box;
}

.nav_icon {
    display: inline-block;
    margin: 0px 5px 0px auto;
    width: 40px;
    vertical-align: middle;
}

.navList .navList_second {
    display: block;
    position: absolute;
    top: 48px !important;
    width: 30%;
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    visibility: hidden;
    opacity: 0;
    z-index: 100;
}

.navList_second li {
    text-align: left;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.navList_second li a {
    display: block;
    padding: 3% 2%;
    font-size: 180%;
    line-height: 180%;
    color: #000;
    font-weight: bold;
    text-decoration: none;
}

.navList_second li a:hover {
    background: #ebd194;
}


.navList:hover .navList_second {
    top: 70px;
    visibility: visible;
    opacity: 1;
}

.navlist_icon {
    display: inline-block;
    padding-right: 7px;
    vertical-align: middle;
}


/* =====================

    pankuzu

===================== */
.pankuzu {
    padding: 10px 0;
    line-height: 2;
}

.pankuzu_list {
    margin: 0 auto;
    width: 1100px;
    display: flex;
    flex-wrap: wrap;
}

.pankuzu_list li {
    margin-left: 13px;
    display: block;
    position: relative;
    font-size: 150%;
    padding-right: 23px;
}

.pankuzu_list a {
    color: #000;
}

.pankuzu_list a:hover {
    text-decoration: none;
}

.pankuzu_list li span::after {
    position: absolute;
    content: '';
    display: block;
    margin-top: -4px;
    top: 50%;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #cd971a;
}

.pankuzu_list li:last-child span::after {
    content: none;
}

.sub-contents,
.notfound_in {
    background: #fff;
    width: 1100px;
    margin: 0 auto;
    padding: 20px 0;
}

.book_list #main_body,
.question #main_wrap,
.calendar #main_body {
    background: #fff;
    width: 1100px;
    margin: 0 auto;
    padding: 30px 30px;
    box-sizing: border-box;
}

.notfound_in p {
    padding: 2rem 2rem 1.8rem;
    font-size: 160%;
    line-height: 1.5;
}

.sub-contents a,
.notfnotfound_inound a,
#section_footer a {
    color: #0049a4;
    text-decoration: none;
}

.sub-contents a:hover,
.notfound_in a:hover,
#section_footer a:hover {
    color: #0049a4;
    text-decoration: underline;
}

.sub-info {
    display: flex;
    padding: 10px 30px 0 30px;
    justify-content: flex-end;
    box-sizing: border-box;
}

.sub-infotxt {
    font-size: 150%;
}

.sub-box,
.honbun2021,
.sitemap_life2,
.life-box,
.section_information,
.life_cat_list,
.midashi_ka_detail {
    margin: 30px 0;
    width: 100%;
    background: #fff;
    border-radius: 5px;
}

.life_cat_list:first-child {
    margin-top: 0;
}

.navigation,
.kakuka_info_box,
#calendar_detail {
    width: 100%;
    background: #fff;
    border-radius: 5px;
}

.sub-info+.sub-box {
    margin-top: 20px;
}

.sub-box:first-child,
.section_information:first-child,
.section_name:first-child {
    margin-top: 0;
}

#calendar_detail_list {
    padding: 30px;
    width: 100%;
    font-size: 160%;
    box-sizing: border-box;
}


/*-------------------------

    sub-contentsBox

-------------------------*/

.sub-contentsBox,
.sitemap,
#main_wrap {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    padding: 30px 0 50px 0;
    width: 1040px;
}

.c-reverse {
    display: flex;
    flex-flow: row-reverse;
}

.calendar #main_wrap {
    padding-top: 0;
}

.sub-contentsBox-1 {
    width: 780px;
}

.sub-contentsBox-2 {
    width: 240px;
}


.sub-box,
.honbun2021,
.sitemap_life2 {
    margin-bottom: 30px;
    width: 100%;
    background: #fff;
    border-radius: 5px;
}

.sub-info+.sub-box {
    margin-top: 20px;
}

.sub-box,
.sitemap_life2,
.section_information {
    position: relative;
}

/*-------------------------

    subNews

-------------------------*/

.subNews_tit,
.section_information_ttl {
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 20px 10px 12px 15px;
    width: 95%;
    font-size: 220%;
    letter-spacing: 2px;
    box-sizing: border-box;
    border-bottom: solid 6px #cbb478;
    font-weight: normal;
}

.p-rss_btn {
    position: absolute;
    top: 20px;
    right: 20px;
    box-sizing: border-box;
}

.p-rss_btn a {
    font-size: 160%;
    color: #000;
    text-decoration: none;
}

.p-rss_btn a:hover {
    text-decoration: underline;
}

.p-rss_btn span {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    margin-right: 5px;
}

.subNews_icon {
    display: block;
    padding-right: 10px;
    width: 42px;
}

.subNews {
    padding: 10px 25px 25px 25px;
    width: 100%;
    font-size: 160%;
    box-sizing: border-box;
}

.subNews li {
    display: flex;
    padding: 10px 0;
    line-height: 1.5;
    border-bottom: 1px #858585 dotted;
}

.subNews li a,
.subNews li a:visited,
.kanren_box li a,
.kanren_box li a:visited {
    color: #0049a4;
    text-decoration: none;
}

.subNews li a:hover,
.kanren_box li a:hover {
    text-decoration: underline;
}

.newsDate {
    padding-right: 30px;
    position: relative;
}

.life .newsDate,
.soshiki_news .newsDate {
    width: 160px;
}

.subNews_link {
    margin: 0 auto;
    padding-bottom: 30px;
}

.subNews_link a {
    display: block;
    margin: 0 auto;
    padding: 10px 0;
    width: 200px;
    font-size: 160%;
    text-align: center;
    background: #cb4d50;
    border-radius: 5px;
    cursor: pointer;
    color: #fff;
    text-decoration: none;
}

.subNews_link a:hover {
    background: #cd971a;
    text-decoration: none;
}

.section_name {
    margin-top: 30px;
    width: 100%;
    background: #fff;
    border-radius: 5px 5px 0 0;
}

.kakuka_info_box {
    padding: 20px 20px 30px 20px;
    box-sizing: border-box;
    font-size: 150%;
    line-height: 1.4;
}

.kakuka_info_box h3 {
    font-size: 110%;
    padding-bottom: 5px;
}

.kakuka_contact {
    margin-top: 20px;
}

/*-------------------------

    parts

-------------------------*/

.hirata_sub h1 {
    position: relative;
    margin: 20px auto 10px auto;
    padding: 10px 25px 10px 60px;
    height: 67px;
    width: 1040px;
    font-size: 300%;
    font-weight: normal;
    line-height: 1.5;
    color: #000;
    box-sizing: border-box;
    background: -moz-linear-gradient(left, #f8f4e0, #c7ae6d);
    background: -webkit-linear-gradient(left, #f8f4e0, #c7ae6d);
    background: linear-gradient(to right, #f8f4e0, #c7ae6d);
}

.hirata_sub h1::before {
    position: absolute;
    content: '';
    display: block;
    background: url('/img/top/tit_deco.png') no-repeat;
    background-size: 57px 100%;
    width: 57px;
    height: 100%;
    top: 0;
    left: 0;
}

/*-----------------

    sub-box

-----------------*/

.sub-contentsBox a {
    text-decoration: none;
}

.sub-contentsBox a:hover,
.subList a:hover {
    text-decoration: underline;
}

.sub-box h2,
.sitemap_life2 h4,
.life-box h2,
.life_cat_list h2,
.midashi_ka_detail h2,
.section_name h2 {
    margin: 0 auto;
    width: 95%;
    border-bottom: solid 5px #6b757e;
    box-sizing: border-box;
    font-size: 220%;
    font-weight: normal;
    padding: 20px 10px 12px 15px;
}

.life-box h2,
.life_cat_list h2,
.midashi_ka_detail h2,
.section_name h2 {
    position: relative;
}

.sub-box h2 a,
.sitemap_life2 h4 a,
.life-box h2 a,
.life_cat_list a,
.section_name h2 a {
    display: block;
    position: relative;
    color: #000;
    font-weight: normal;
}

.sub-box h2::before,
.sitemap_life2 h4::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 40px 0 0;
    border-color: #6b757e transparent transparent transparent;
}

.life-box h2::before,
.life_cat_list h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: -26px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 40px 0 0;
    border-color: #6b757e transparent transparent transparent;
}

.midashi_ka_detail h2::before,
.section_name h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: -20px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 40px 0 0;
    border-color: #6b757e transparent transparent transparent;
}

.sub-box h2 a::after,
.sitemap_life2 h4 a::after,
.section_name h2 a::after {
    display: block;
    position: absolute;
    content: '';
    top: 40%;
    right: 0;
    width: 9px;
    height: 9px;
    border-right: 3px solid #6b757e;
    border-bottom: 3px solid #6b757e;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.life-box h2::after,
.kanren2 .life_cat_list h2::after {
    display: block;
    position: absolute;
    content: '';
    top: 45%;
    right: 0;
    width: 9px;
    height: 9px;
    border-right: 3px solid #6b757e;
    border-bottom: 3px solid #6b757e;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.life_cat_list input,
.section_information input,
.subsite_menu input {
    display: none;
}


/*-----------------

    subList

-----------------*/

.subList {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 10px 20px 20px 20px;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
}

.subList li {
    width: 48%;
    padding: 15px 0 15px 5px;
    border-bottom: 1px #858585 dotted;
    font-size: 160%;
}

.subList li a {
    display: block;
    position: relative;
    width: 100%;
    line-height: 1.5;
    color: #000;
    text-decoration: none;
    box-sizing: border-box;
}

.subList li a::after {
    display: block;
    position: absolute;
    content: '';
    top: 40%;
    right: 10px;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    margin: 0 0 2px 10px;
    border-right: 2px solid #6b757e;
    border-bottom: 2px solid #6b757e;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.sidebnr {
    margin: 15px 0;
}

.sidebnr img {
    transition: 0.3s;
}

.sidebnr a img:hover {
    opacity: 0.7;
}


/*-----------------

    honbun

-----------------*/

.honbun2021 {
    margin-top: 0;
    box-sizing: border-box;
    padding: 0px 10px;
}

.detail_free {
    font-size: 160%;
}

.detail_free h2,
.book_list #main_body h2,
.question #main_body h2,
.calendar #main_body h2,
#calendar_detail_list h2 {
    position: relative;
    margin: 1rem 0 1.8rem;
    padding: 15px 10px 15px 35px;
    font-size: 180%;
    font-weight: normal;
    background: #f7f2e5;
    line-height: 1.2;
}

.detail_free h2::before,
.book_list #main_body h2::before,
.question #main_body h2::before,
.calendar #main_body h2::before,
#calendar_detail_list h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 40px 0 0;
    border-color: #6b757e transparent transparent transparent;
}

.detail_free h2 a {
    font-size: 80%;
}

.detail_free h3 {
    margin: 1rem 0 1.8rem;
    padding: 5px 5px 5px 10px;
    font-size: 140%;
    font-weight: normal;
    border-left: solid 9px #cd971a;
    border-bottom: solid 6px #667279;
    line-height: 1.2;
}

.detail_free h4 {
    position: relative;
    display: block;
    margin: 1rem 0 1.8rem;
    padding: 5px 5px 5px 18px;
    font-size: 120%;
    font-weight: normal;
    line-height: 1.2;
}

.detail_free h4::before {
    position: absolute;
    content: '';
    display: block;
    margin-top: -7px;
    top: 50%;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 11px;
    border-color: transparent transparent transparent #667279;
}

.detail_free h4::after {
    position: absolute;
    content: '';
    display: block;
    margin-top: -7px;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 8px;
    background: url('/img/top/border.png') repeat;
}

.detail_free h5 {
    color: #a77d1c;
    display: block;
    margin: 1rem 0 1.8rem;
    padding: 5px 5px 5px 0;
    font-size: 110%;
    line-height: 1.2;
    border-bottom: solid;
}

.detail_free h6 {
    color: #667279;
    display: block;
    margin: 1rem 0 1.8rem;
    padding: 5px 5px 5px 0;
    font-size: 100%;
    line-height: 1.2;
    border-bottom: dotted 2px #667279;
}

.detail_free p {
    padding: 0 15px;
    margin: 1rem 0 1.8rem;
    line-height: 1.5;
}


.detail_free ul,
.detail_free ol {
    display: block;
    margin-bottom: 1.8rem;
    padding-inline-start: 30px;
    line-height: 1.5;
}

.detail_free ul li {
    list-style: inside;
    margin: 0.5rem 0 0.5rem;
}

.detail_free ol li {
    list-style: decimal;
    margin: 0.5rem 0 0.5rem;
    list-style-position: inside;
}

.detail_free table,
#main_body table {
    margin-bottom: 20px;
    line-height: 1.5;
    width: 100%;
    border: 1px solid #695017;
    text-indent: initial;
    box-sizing: border-box;
    border-spacing: 0;
    border-collapse: collapse;
}

.detail_free table th,
.detail_free table td,
#main_body table th,
#main_body table td {
    padding: 1rem;
    border: 1px solid #695017;
    vertical-align: middle;
}

.detail_free table th,
#main_body table th {
    background: #e3c787;
}

.no_data,
.no_ques,
.kanren-txt {
    padding: 20px 30px;
    line-height: 1.5;
    font-size: 160%;
}


/*-----------------

    section_footer

-----------------*/

#section_footer {
    padding: 10px 20px;
    background: #fff;
    border: solid 2px #6b757e;
    font-size: 160%;
    line-height: 1.5;
    box-sizing: border-box;
    margin: 40px auto;
    width: 100%;
    border-radius: 5px;
}

#section_footer h2 {
    display: block;
    position: relative;
    font-size: 110%;
    font-weight: 500;
    padding: 10px 30px 10px 10px;
    border-bottom: dashed 1px #2c2c2c;
    box-sizing: border-box;
}

#section_footer_detail {
    padding: 10px 10px 20px 10px;
    box-sizing: border-box;
}




/*-----------------

    sidemenu

-----------------*/

.benri_tit,
#detail_side_important_ttl,
.side_box_ttl,
.subsite_menu_ttl {
    padding: 15px 10px;
    font-size: 190%;
    font-weight: normal;
    text-align: center;
    color: #fff;
    background: #6b757e;
    box-sizing: border-box;
}

#kanren_info h2 {
    display: grid;
    align-items: center;
    padding: 0 10px;
    font-size: 140%;
    font-weight: normal;
    text-align: center;
    color: #fff;
    height: 53px;
    background: #6b757e;
    box-sizing: border-box;
}

.side_box_ttl h2 {
    font-weight: normal;
}

#detail_side_important_ttl {
    background: #cb4d50;
}

.sidemenu,
#detail_side_important,
.side_box,
.subsite_menu {
    margin-bottom: 20px;
    padding: 0 1px 1px 1px;
    width: 100%;
    background: #6b757e;
    box-sizing: border-box;
}

#detail_side_important {
    background: #cb4d50;
}

.sidemenu_in,
#detail_side_important_list,
.side_box_list {
    display: block;
    padding: 0 10px;
    background: #fff;
}

.sidemenu_in li,
#detail_side_important_list li,
.side_box_list li {
    border-bottom: solid 1px #cb4d50;
}

.sidemenu_in li:last-child,
#detail_side_important_list li:last-child,
.side_box_list li:last-child {
    border-bottom: none;
}

.sidemenu_in li a {
    display: table;
    padding: 15px 0;
    color: #0049a4;
    font-size: 160%;
    line-height: 1.2;
}

.side_box_list li {
    padding: 15px 0;
    font-size: 160%;
    line-height: 1.2;
}

.side_box_list li li {
    font-size: 100%;
}

.side_box_list li a {
    display: table;
    color: #0049a4;
}


#detail_side_important_list li {
    padding: 10px 0 20px 0;
    line-height: 2;
}

#detail_side_important_list .article_date {
    font-size: 150%;
}

#detail_side_important_list .article_title {
    display: block;
    font-size: 160%;
}

#detail_side_important_list li a {
    display: block;
    color: #0049a4;
    line-height: 1.2;
}

.sidemenu_in li a:visited,
#detail_side_important_list li a:visited,
.side_box_list li a:visited {
    color: #0049a4;
}

.sidemenu_in span,
.side_box_list span {
    display: table-cell;
    vertical-align: middle;
}

.sidemenu_in .benri_icon {
    display: block;
    vertical-align: text-bottom;
    width: 25px;
    margin-right: 10px;
}

.side_box_txt {
    display: block;
    padding: 15px 15px;
    background: #fff;
    font-size: 150%;
    line-height: 1.5;
}

#kanren_info {
    display: block;
    padding: 0 0 10px 0;
    background: #fff;
    font-size: 160%;
    line-height: 1.6;
    border: solid 1px #6b757e;
}

.sub-contentsBox-2 #kanren_info {
    font-size: 150%;
}

.sub-contentsBox-2 #kanren_info h2 {
    font-size: 130%;
}

.kanren_box {
    padding: 10px 15px;
}

.kanren_box h3 {
    padding-bottom: 5px;
    font-size: 120%;
}

.kakuka_tel_list {
    padding: 10px 0 5px 0;
}

.kakuka_tel_list li {
    padding: 5px 0;
}

.kakuka_tel_list li span {
    display: block;
}

.kakuka_email {
    padding-top: 10px;
}

.hirata-sub-search {
    width: 255px;
    border-radius: 5px;
}

.hirata-sub-search .search_text {
    height: 25px !important;
    width: 210px !important;
    border: none !important;
    border: 1px solid #967220 !important;
}

.search_icon {
    position: relative;
    display: inline-block;
}

.hirata-sub-search .search_btn {
    background: url('/img/top/search.svg') #695017 no-repeat;
    background-size: 15px 15px;
    background-position: center;
    color: #fff;
    border: none;
    min-height: 25px;
    width: 30px;
    font-size: 170%;
    letter-spacing: 1px;
    cursor: pointer;
}


/* =====================

    foot

===================== */

.hirata_sub .foot {
    position: relative;
    background: url('/img/top/foot_bg.jpg');
    background-size: cover;
    background-position-y: center;
    padding: 120px 0;
}

.foot::after {
    position: absolute;
    content: '';
    display: block;
    background: url('/img/top/foot_bg-2.png') repeat;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.foot_in {
    margin: 0 auto;
    width: 460px;
}

.foot_tit {
    position: relative;
    margin: 0 auto;
    width: 330px;
    z-index: 1;
}

.foot_link {
    position: relative;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
    width: 430px;
    padding-top: 50px;
    margin: 0 auto;
    z-index: 1;
}

.foot_link li a {
    display: flex;
    align-items: center;
    position: relative;
    padding: 5px 40px 5px 10px;
    font-size: 160%;
    font-weight: bold;
    color: #fff;
    background: #054e74;
    border-radius: 30px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    transition: 0.3s;
}

.foot_link li a:hover {
    background: #2c7296;
    text-decoration: none;
}

.access_icon,
.contact_icon {
    display: inline-block;
    padding-right: 10px;
    width: 35px;
}


.foot_link li a::after {
    display: block;
    position: absolute;
    content: '';
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.foot-2 {
    padding: 20px 0;
    text-align: center;
    background: #2c2c2c;
    color: #fff;
    font-size: 150%;
    line-height: 1.6;
}

.foot-2 a {
    color: #fff;
    font-weight: bold;
}

.copy {
    padding-top: 25px;
    font-size: 85%;
}

#mymainback #footstep_wrap {
    display: none;
}

.sitemap_body,
#main_body {
    width: 100%;
}

.sitemap h2 {
    font-size: 180%;
}

.sitemap h3 {
    font-size: 230%;
    text-align: center;
    margin: 20px 0;
}

.sitemap a,
.life-box a,
.life_cat_list a {
    text-decoration: none;
}

.sitemap a:hover,
.life-box a:hover,
.life_cat_list a:hover {
    text-decoration: underline;
}

.sitemap_life3,
#sitemap_soshiki {
    margin-bottom: 100px;
}

p.pdf_img {
    margin: 0;
    padding: 0;
}

.pdf_img img {
    width: 158px;
}

p.tenpu_txt {
    margin: 0;
    padding: 10px 0 0 0;
    font-size: 150%;
    line-height: 1.5;
}

.snsBtn {
    margin-right: 20px;
}

#print_mode_link {
    padding: 0 10px;
}

#print_mode_link_large {
    display: none;
}

#sns_button_wrap iframe {
    vertical-align: top;
    line-height: 0;
}

#sns_button_wrap .external_link_text {
    vertical-align: text-top;
    line-height: 0;
}

#soshiki_hyouji ul {
    display: flex;
    margin: 0 auto;
    font-size: 150%;
    width: 240px;
}

#soshiki_hyouji ul li:first-child {
    margin-right: 20px;
}

#soshiki_hyouji a,
#soshiki_hyouji a:visited,
#soshiki_hyouji a:hover,
.sitemap_life3 h3 a,
.sitemap_life3 h3 a:visited,
.sitemap_life3 h3 a:hover {
    color: #0049a4;
}

.site_index .section_information {
    border: solid 2px #cbb478;
    box-sizing: border-box;
}

#sp_page_index_link_wrap {
    display: none;
}

.site_list_2 .info_list,
.site_list1 .info_list {
    font-size: 170%;
    line-height: 1.5;
}

.site_list1 .info_list li {
    border-bottom: dotted 1px #000;
    margin: 10px 0;
    padding: 0 0 7px 7px;
}

.site_list1 .article_date {
    display: inline-block;
    width: 180px;
}

.site_list1 .article_title a::before {
    content: none;
}

.site #mainimg {
    width: 1100px;
    margin: 0 auto;
}

.site #mainimg .site_name {
    display: none;
}

.mForm {
    background: #fff;
    width: 1100px;
    margin: 0 auto;
    padding: 30px 30px;
    box-sizing: border-box;
    font-size: 160%;
    line-height: 1.5;
}

.mail_info {
    width: 1020px;
    margin: 0 auto;
    padding-bottom: 30px;
}

/* お問い合わせフォーム */

.mForm dl {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: 1px solid #ccc;
    border-top: none;
}

.mForm dt {
    background: #F0F2F2;
    width: 30%;
    padding: 10px;
    box-sizing: border-box;
    border-top: 1px solid #ccc;
}

.mForm dd {
    padding: 10px;
    margin: 0;
    border-left: 1px solid #ccc !important;
    border-top: 1px solid #ccc !important;
    width: 70%;
    background: #fff;
    box-sizing: border-box;
}

.mForm .formBtns {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 40px;
}

.formCaution p {
    color: red;
}

.sendtxt {
    padding: 0 15px;
    margin: 1rem 0 1.8rem;
    line-height: 1.5;
}

.button_1,
.button_2 {
    display: block;
    width: 150px;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    background-color: #cb4d50;
    border-radius: 5px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    border: 0;
    font-size: 100%;
    cursor: pointer;
    padding: 14px 0;
}

.button_1:hover,
.button_2:hover {
    background-color: #cb4d50;
}

.button_0 {
    display: block;
    width: 150px;
    /* color: #FFF; */
    text-decoration: none;
    text-align: center;
    /* background-color: #FFF; */
    border-radius: 5px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    border: solid 1px darkgray;
    font-size: 100%;
    cursor: pointer;
    padding: 14px 0;
}

.kakuninBtn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.kakuninBtn input {
    margin: 0 10px;
}



.site_detail .external_link_text {
    font-size: 50%;
}

.site_detail button.sw_large_table {
    display: none;
}

.article_section {
    display: none;
}


#book_list_wrap {
    padding: 0 10px;
}

.book_list_box {
    margin-bottom: 40px;
}

.book_list_box a:hover {
    color: #0049a4;
    text-decoration: underline;
}

.book_list_box a:visited,
.book_list_box a {
    color: #0049a4;
    text-decoration: none;
}

.book_info {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.book_list_box h3 {
    margin: 1rem 0 1.8rem;
    padding: 5px 5px 5px 10px;
    font-size: 200%;
    font-weight: normal;
    border-left: solid 9px #cd971a;
    border-bottom: solid 6px #667279;
    line-height: 1.2;
}

.book_thumb_img {
    width: 65px;
}

.book_detail {
    padding-left: 20px;
    font-size: 150%;
    line-height: 1.5;
}



/* question parts */

.question .hirata_sub h1 {
    width: 1100px;
}

.question .sub-contentsBox,
.sitemap,
#main_wrap {
    padding-top: 10px;
}

.question #main_wrap h2 {
    position: relative;
    margin: 2rem 0 1rem;
    padding: 15px 10px 15px 35px;
    font-size: 140%;
    font-weight: normal;
    background: #f7f2e5;
    line-height: 1.2;
}

.question #main_wrap h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 40px 0 0;
    border-color: #6b757e transparent transparent transparent;
}

.question form p input {
    display: block;
    margin: 40px auto 0 auto;
    width: 150px;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    background-color: #cb4d50;
    border-radius: 5px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    border: 0;
    font-size: 80%;
    cursor: pointer;
    padding: 14px 0;
}

.question_detail #main_wrap img {
    width: auto;
    max-width: 100% !important;
}

.question_detail fieldset legend {
    padding-bottom: 10px;
}

.question_detail fieldset input,
.question_detail fieldset select,
.question_detail fieldset textarea,
.question_detail fieldset label,
.mail_form #mail_form_tbl input,
.mail_form #mail_form_tbl textarea {
    width: 100%;
    font-size: 130%;
    box-sizing: border-box;
}

.question_detail fieldset textarea {
    font-size: 170%;
}

.question_detail input[type=radio],
.question_detail input[type=checkbox] {
    width: 1.2em;
    height: 1.2em;
    vertical-align: sub;
}

.question_detail input.geomsize2 {
    transform: scale(2);
    margin-left: 10px;
}

body.question_detail form p input[name^="Submit22_shuusei"] {
    border: solid 1px darkgray;
    background-color: #F0F0F0;
    color: #222;
}

.questionD form .q2 br {
    display: none;
}

.questionD form p {
    font-size: 125%;
}

.questionD p:last-child {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.question #main_wrap,
.calendar #main_body {
    font-size: 160%;
    line-height: 1.5;
}

.question #main_wrap table,
.calendar #main_body table {
    margin: 20px 0;
}

.gsc-adBlock,
.gsc-orderby-container {
    display: none !important;
}

.gsc-control-cse .gs-result .gs-title,
.gsc-control-cse .gsc-table-result {
    font-size: 120% !important;
    line-height: 1.5 !important;
}

.icon_new {
    display: inline-block;
    padding-bottom: 2px;
    width: 40px;
    line-height: 0;
    vertical-align: sub;
}

.detail_movie {
    margin: 10px 0;
}

.detail_map {
    margin: 10px 0;
}


/* =====================

    IE

===================== */


@media all and (-ms-high-contrast: none) {
    body {
        font-family: "メイリオ", Meiryo, sans-serif;
    }
}


/* =====================

    Smartphone

===================== */

@media screen and (max-width:767px) {


    .hirata_sub {
        position: relative;
        background: url('/img/top/bg-1.jpg');
        width: 100%;
        min-width: auto;
    }

    .hirataBox {
        display: block;
    }

    .pc-head {
        display: none;
    }

    /* =====================

    sub-head

===================== */

    .sp-head {
        display: flex;
        align-items: center;
        position: relative;
        padding: 5px;
        width: 100%;
        min-width: 120px;
        background: url('/img/top/bg-2.jpg') #d8edff repeat;
        box-sizing: border-box;
    }

    .sp-head::before {
        position: absolute;
        content: '';
        display: block;
        background: url('/img/top/head_frame.jpg') no-repeat;
        background-size: 110px 85px;
        width: 110px;
        height: 85px;
        top: 0;
        left: 0;
        z-index: 0;
    }

    /*-----------------

    sp-nav

-----------------*/

    .nav_sp {
        z-index: 100;
    }

    /*チェックボックス非表示*/
    .nav-unshown {
        display: none;
    }

    /*アイコンのスペース*/
    .nav-open {
        position: absolute;
        padding: 8px 3px 7px 7px;
        width: 35px;
        height: 35px;
        top: 12px;
        right: 10px;
        vertical-align: middle;
        box-sizing: border-box;
        cursor: pointer;
    }

    /*icon*/
    .nav-open span,
    .nav-open span:before,
    .nav-open span:after {
        position: absolute;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background: #000;
        display: block;
        content: '';
        cursor: pointer;
    }

    .nav-open span:before {
        bottom: -8px;
    }

    .nav-open span:after {
        bottom: -16px;
    }

    /*閉じカバー*/
    #nav-close {
        display: none;
        position: fixed;
        z-index: 99;
        top: 0;
        /*全体に*/
        right: 0;
        width: 100%;
        height: 100%;
        background: black;
        opacity: 0;
        transition: .3s ease-in-out;
    }

    /*中身*/
    #nav-content {
        overflow: auto;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 9999;
        /*最前面に*/
        width: 90%;
        /*閉じエリア*/
        max-width: 330px;
        /*最大幅（調整してください）*/
        height: 100%;
        background: #fff;
        /*背景色*/
        transition: .3s ease-in-out;
        /*滑らかに表示*/
        -webkit-transform: translateX(105%);
        transform: translateX(105%);
        /*左に隠しておく*/
    }

    .nav_list_sp li {
        padding-left: 10px;
    }

    .navitem_sp a {
        display: block;
        position: relative;
        padding: 10px 20px 10px 45px;
        color: #000;
        text-decoration: none;
        font-weight: bold;
        font-size: 150%;
        line-height: 2;
        width: 100%;
        border-bottom: solid 1px #e0dcd3;
        box-sizing: border-box;
    }

    .nav_list_sp-2 .bunrui,
    .nav_list_sp-2 .soshiki,
    .nav_list_sp-2 .fb,
    .nav_list_sp-2 .tw,
    .nav_list_sp-2 .youtube {
        display: block;
    }

    .nav_list_sp-2 {
        display: flex;
        margin: 0 auto;
        padding: 10px;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
    }

    .nav_list_sp-2 li {
        padding-right: 15px;
    }

    .nav_icon-1::before,
    .nav_icon-2::before,
    .nav_icon-3::before,
    .nav_icon-4::before,
    .nav_icon-5::before,
    .nav_icon-6::before,
    .nav_icon-7::before {
        position: absolute;
        content: '';
        background: url('/img/top/nav-1.png') no-repeat;
        background-size: 35px 24px;
        width: 35px;
        height: 24px;
        top: 50%;
        left: 0;
        margin-top: -12px;
        box-sizing: border-box;
    }

    .nav_icon-2::before {
        background: url('/img/top/nav-2.png') no-repeat;
        background-size: 35px 24px;
    }

    .nav_icon-3::before {
        background: url('/img/top/nav-3.png') no-repeat;
        background-size: 35px 24px;
    }

    .nav_icon-4::before {
        background: url('/img/top/nav-4.png') no-repeat;
        background-size: 35px 24px;
    }

    .nav_icon-5::before {
        background: url('/img/top/nav-5.png') no-repeat;
        background-size: 35px 24px;
    }

    .nav_icon-6::before {
        background: url('/img/top/nav-6.png') no-repeat;
        background-size: 35px 24px;
    }

    .nav_icon-7::before {
        background: url('/img/top/nav-07.png') no-repeat;
        background-size: 35px 24px;
    }

    .p-nav_head {
        position: relative;
        height: 37px;
        width: 100%;
        background: #5e6b72;
    }

    #nav-close-icon {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 37px;
        height: 37px;
        z-index: 10000;
    }

    .close-icon {
        display: inline-block;
        padding-top: 4px;
        width: 33px;
        height: 33px;
        position: relative;
        cursor: pointer;
    }

    .close-icon span::before,
    .close-icon span::after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 84%;
        height: 8%;
        margin: -8% 0 0 -42%;
        background: #fff;
    }

    .close-icon span::before {
        transform: rotate(-45deg);
    }

    .close-icon span::after {
        transform: rotate(45deg);
    }

    #nav-input:checked~#nav-close {
        display: block;
        /*カバー表示*/
        opacity: .5;
    }

    #nav-input:checked~#nav-content {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        /*中身を表示（右へスライド）*/
        box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
    }

    .head_sagasu {
        display: flex;
        margin: 0 10px;
        padding: 30px 0;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        align-items: center;
        width: 250px;
    }

    .bunrui span {
        display: inline-block;
        margin-right: 5px;
        width: 15px;
    }

    .head_sagasu li:nth-child(2) span {
        position: relative;
        display: inline-block;
        margin-right: 5px;
        width: 30px;
    }

    .head_sagasu li a {
        font-weight: bold;
        color: #000;
        font-size: 140%;
    }

    .head_sagasu li:nth-child(2) span::before {
        display: block;
        position: absolute;
        content: '';
        top: 12px;
        left: -32px;
        width: 25px;
        height: 2px;
        margin-top: -3px;
        border-bottom: 1px solid #695017;
        -webkit-transform: rotate(-55deg);
        -ms-transform: rotate(-55deg);
        transform: rotate(-55deg);
    }


    /*  p-accordion
------------------------}*/

    .p-accordion label {
        display: block;
        position: relative;
        padding: 10px 20px 10px 45px;
        color: #000;
        text-decoration: none;
        font-weight: bold;
        font-size: 150%;
        line-height: 2;
        width: 100%;
        border-bottom: solid 1px #e0dcd3;
        box-sizing: border-box;
        cursor: pointer;
    }

    /* Icon */
    .p-accordion label::after {
        content: '';
        display: block;
        position: absolute;
        margin-top: -5px;
        top: 50%;
        right: 15px;
        width: 6px;
        height: 6px;
        border-right: 2px solid #000;
        border-bottom: 2px solid #000;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .p-accordion input {
        display: none;
    }

    .p-accordion ul {
        margin: 0 10px 0 0;
        padding: 0;
        background: #fdfaeb;
        list-style: none;
        box-sizing: border-box;
    }

    .p-accordion li {
        max-height: 0;
        overflow-y: hidden;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        -ms-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s;
    }

    .p-accordion label.nav_icon-7 {
        padding: 0;
    }

    .p-accordion label.nav_icon-7 a {
        padding: 10px 20px 10px 45px;
        display: block;
        text-decoration: none;
        color: #000;
    }

    .p-accordion label.nav_icon-7::after {
        display: none;
    }

    .acd_list a {
        display: block;
        position: relative;
        padding: 15px 5px 15px 5px;
        color: #000;
        text-decoration: none;
        font-weight: bold;
        font-size: 140%;
        line-height: 0;
        width: 100%;
        border-bottom: solid 1px #e0dcd3;
        box-sizing: border-box;
    }

    #menu_bar01:checked~.p-accordion-1 li,
    #menu_bar02:checked~.p-accordion-2 li,
    #menu_bar03:checked~.p-accordion-3 li,
    #menu_bar04:checked~.p-accordion-4 li,
    #menu_bar05:checked~.p-accordion-5 li,
    #menu_bar06:checked~.p-accordion-6 li {
        max-height: 50px;
        opacity: 1;
    }

    .head_box {
        display: none;
    }

    .logo {
        position: relative;
        width: 50px;
        margin: 0 10px 0 0;
        z-index: 1;
    }

    .sp-top_tit {
        position: relative;
        display: block;
        width: 200px;
        z-index: 1;
    }

    .top_tit {
        display: none;
    }

    .bunrui,
    .soshiki {
        display: none;
    }

    .head_sns {
        display: none;
    }

    .main {
        width: 100%;
        max-height: 600px;
    }

    .topread {
        width: 230px;
        top: 5px;
        right: 5px;
    }

    .mainVis {
        overflow: hidden;
        height: 100%;
    }

    .mainVis_list {
        width: 100%;
    }

    .main .s-main_bnr img {
        max-width: 100%;
        width: auto\9;
        /* ie8 */
        margin: 0 auto;
    }

    .main .slick-dotted.slick-slider {
        margin-bottom: 0 !important;
        height: 100%;
    }

    .main .slick-dots {
        display: none !important;
    }

    .main .slick-slide img {
        display: block;
        min-width: 100%;
    }

    /* =====================

    pankuzu

===================== */
    .pankuzu {
        padding: 10px 0;
        line-height: 1.5;
    }

    .pankuzu_list {
        margin: 0 auto;
        width: 95%;
    }

    .pankuzu_list li {
        margin-left: 8px;
        font-size: 130%;
        padding-right: 16px;
    }

    /*-------------------------

    sub-contents

-------------------------*/
    .sub-contents,
    .notfound_in,
    .book_list #main_body,
    #main_wrap,
    .mForm {
        width: 100%;
        padding: 0;
    }

    /*-------------------------

    sub-contentsBox

-------------------------*/

    .sub-contentsBox,
    .sitemap {
        display: block;
        padding: 10px 0 20px;
        width: 100%;
    }

    .sub-contentsBox-1 {
        width: calc(100% - 24px);
        margin: 0 auto;
    }

    .sub-contentsBox-2 {
        margin: 0 auto;
        width: 95%;
    }

    .sub-box,
    .sitemap_life2 {
        margin: 15px auto;
        width: 95%;
    }

    .sub-info {
        display: block;
        padding: 5px 0;
        margin: 0 auto;
        line-height: 1.5;
        width: 95%;
    }

    .sub-box,
    .honbun2021,
    .sitemap_life2,
    .navigation,
    .kakuka_info_box {
        margin: 15px 0;
        width: 100%;
    }

    .sub-info+.sub-box {
        margin-top: 20px;
    }

    /*-------------------------

    subNews

-------------------------*/

    .subNews_tit,
    .section_information_ttl {
        font-size: 200%;
    }

    .subNews {
        padding: 10px 10px 25px 10px;
    }

    .newsDate {
        display: block;
        padding-right: 0;
    }

    /*-------------------------

    parts

-------------------------*/

    .hirata_sub h1 {
        margin: 20px auto 10px auto;
        padding: 10px 25px 10px 10px;
        height: auto;
        width: 100%;
        font-size: 220%;
    }

    .hirata_sub h1::before {
        content: none;
    }

    /*-----------------

    sub-box

-----------------*/

    .sub-box h2,
    .sitemap_life2 h2 {
        margin: 0 auto;
        width: 95%;
        border-bottom: solid 5px #6b757e;
        box-sizing: border-box;
        font-size: 200%;
    }

    .sub-box h2 a,
    .sitemap_life2 h2 a {
        display: block;
        padding: 15px 5px 12px 5px;
    }

    .sub-box h2::before,
    .sitemap_life2 h2::before {
        content: '';
        border-width: 20px 25px 0 0;
        border-color: #6b757e transparent transparent transparent;
    }

    .detail_free h2,
    .book_list #main_body h2,
    #calendar_detail_list h2 {
        font-size: 130%;
    }

    /*-----------------

    subList

-----------------*/

    .subList {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 10px 20px 20px 20px;
        width: 100%;
        box-sizing: border-box;
    }

    .subList li {
        width: 100%;
        /* padding: 10px 20px 10px 5px; */
    }

    .sidebnr {
        margin: 15px auto;
        width: 90%;
    }

    /*-----------------

    section_footer

-----------------*/

    #section_footer {
        width: 100%;
        margin: 20px auto;
        padding: 10px;
    }

    #section_footer h2 {
        display: block;
        padding: 10px;
    }


    /* =====================

    foot

===================== */
    .hirata_sub .foot {
        padding: 80px 0 70px 0;
    }

    .foot_in {
        margin: 0 auto;
        width: 90%;
    }

    .foot_tit {
        width: 80%;
    }

    .foot_link {
        display: block;
        width: 80%;
        padding-top: 40px;
    }

    .foot_link li {
        margin-bottom: 15px;
    }

    .foot-2 {
        padding: 20px 10px;
        text-align: left;
        font-size: 130%;
        box-sizing: border-box;
    }

    .copy {
        padding-top: 15px;
        font-size: 85%;
    }

    .sitemap_body {
        width: 100%;
    }

    .sitemap h2 {
        padding-left: 10px;
    }

    .sitemap_life3,
    #sitemap_soshiki {
        margin-bottom: 50px;
    }

    .detail_free img {
        width: 100% !important;
        height: auto !important;
    }

    .link_ichiran {
        padding-right: 0;
        padding-left: 0;
    }

    .subNews li {
        display: block;
    }

    .life-box h2::after,
    .kanren2 .life_cat_list h2::after {
        content: '';
        right: 10px;
    }

    .p-rss_btn {
        line-height: 0;
    }


    .book_info {
        padding: 0 20px;
    }

    .mail_info {
        width: 95%;
    }

    .question #main_wrap {
        padding: 20px 10px;
        width: 100%;
        box-sizing: border-box;
    }

    .site #mainimg {
        position: relative;
        z-index: 2;
    }

    .site #mainimg,
    #main_wrap form,
    .question .hirata_sub h1 {
        width: 100%;
    }

    .detail_free p {
        padding: 0;
    }

    .detail_free ul,
    .detail_free ol {
        padding-inline-start: 10px;
    }

    .detail_movie iframe {
        max-width: 560px;
    }

    .detail_movie iframe,
    .detail_map iframe {
        width: 100%;
    }

}


/* テーブル切り替え */

#sp_page_index_link_wrap {
    display: none;
}

#spm_wrap {
    display: none;
}

.sp_button {
    display: none;
}

@media screen and (max-width:767px) {
    #main_body .sp_table_wrap {
        overflow: auto;
    }

    #main_body div.sp_large_table {
        width: 1000px;
        overflow: visible;
    }

    .sp_button {
        display: block;
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        border: 1px solid #dcdcdc;
        background: -moz-linear-gradient(center top, #f9f9f9 5%, #e9e9e9 100%);
        background: -ms-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9');
        background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #f9f9f9), color-stop(100%, #e9e9e9));
        background-color: #f9f9f9;
        color: #000000;
        text-shadow: 1px 1px 0px #ffffff;
        -webkit-box-shadow: inset 1px 1px 0px 0px #ffffff;
        -moz-box-shadow: inset 1px 1px 0px 0px #ffffff;
        box-shadow: inset 1px 1px 0px 0px #ffffff;
        font-size: 1.5rem;
        text-decoration: none;
        text-align: center;
    }

    .sp_button:hover {
        background: -moz-linear-gradient(center top, #e9e9e9 5%, #f9f9f9 100%);
        background: -ms-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9');
        background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #e9e9e9), color-stop(100%, #f9f9f9));
        background-color: #e9e9e9;
    }

    .sp_button:active {
        position: relative;
        top: 1px;
    }

    .gsc-result .gs-title {
        height: auto !important;
    }
}


/* 追記2025年1月21日　snsシェアボタン調整 */

#sns_button_wrap {
    display: flex;
    column-gap: 1em;
}