@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;
}

img {
    width: 100%;
}

.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);
}


.hirataBox {
    display: flex;
    justify-items: center;
}


/*-----------------

main

-----------------*/

.hirata {
    min-width: 1040px;
}

.sp-head {
    display: none;
}

.head {
    display: flex;
    position: relative;
    justify-content: space-between;
    z-index: 10;
}

.head_box {
    position: relative;
    padding: 10px 15px 20px 15px;
    width: 150px;
    min-width: 120px;
    background: url('/img/top/bg-2.jpg') #d8edff repeat;
}

.head_box::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;
}

.logo {
    position: relative;
    width: 96px;
    margin: 0 auto;
    z-index: 1;
}

.top_tit {
    position: relative;
    display: block;
    margin: 20px auto 40px auto;
    width: 80%;
    z-index: 1;
}

.bunrui,
.soshiki {
    display: block;
    position: relative;
    box-sizing: border-box;
}

.bunrui a,
.soshiki a {
    display: block;
    padding-left: 30px;
    color: #000;
    font-size: 150%;
    font-weight: bold;
    text-decoration: none;
    line-height: 2;
    box-sizing: border-box;
}

.bunrui::before {
    position: absolute;
    content: '';
    display: block;
    background: url('/img/top/bunrui.svg') no-repeat;
    background-size: 16px 16px;
    width: 16px;
    height: 16px;
    top: 7px;
    left: 4px;
}

.soshiki::before {
    position: absolute;
    content: '';
    display: block;
    background: url('/img/top/soshiki.svg') no-repeat;
    background-size: 23px 14px;
    width: 23px;
    height: 14px;
    top: 6px;
    left: 0;
}

.head_sns {
    display: flex;
    padding-top: 20px;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
    width: 120px;
}

.head_sns li {
    width: 30%;
}

.main {
    position: relative;
    width: 100%;
    max-height: 600px;
    z-index: 0;
    background: url('/img/top/bg-2.jpg') #d8edff repeat;
}

.topread {
    position: absolute;
    width: 362px;
    top: 30px;
    right: 30px;
    z-index: 2;
}

.mainVis {
    overflow: hidden;
    height: 100%;
}

.main_box {
    position: absolute;
    left: 20px;
    display: flex;
    justify-content: space-between;
    width: 560px;
    z-index: 1;
}

.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: 880px;
}


/*-----------------

nav

-----------------*/

.pc-nav {
    position: relative;
    height: 90px;
    width: 100%;
    bottom: 90px;
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 2;
}

.nav_in {
    display: flex;
    margin: 0 auto;
    width: 990px;
    height: 90px;
    align-items: center;
}

.navList {
    width: 165px;
    height: 90px;
    text-align: center;
    border-left: solid 1px #d8d3c8;
    -webkit-transition: all .3s;
}

.navList:last-child {
    border-right: solid 1px #d8d3c8;
}

.navList:hover {
    background: #ebd194;
}

.navList>a {
    font-size: 180%;
    color: #000;
    font-weight: bold;
    text-decoration: none;
}

.nav_icon {
    display: block;
    margin: 10px auto 7px auto;
    width: 55px;
}

.navList .navList_second {
    display: block;
    position: absolute;
    top: 90px !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;
}


/*-----------------

bnrarea

-----------------*/

.bnrarea {
    position: relative;
    width: 100%;
    background: url('/img/top/bg_img.jpg');
    background-size: cover;
}

.bnrarea::after {
    position: absolute;
    content: '';
    display: block;
    background-color: rgba(255, 255, 255, 0.5);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.bnrarea_in {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin: 0 auto;
    padding: 50px 0 35px 0;
    /* width: 920px; */
    z-index: 1;
    width: calc(100% - 200px);
    column-gap: 80px;
}

.bnr_small {
    width: 375px;
}

.bnr_list {
    margin-bottom: 15px;
    padding: 5px;
    background: #fff;
}

.bnr_large {
    position: relative;
    width: 495px;
}

.bnr_large .notice_btn {
    position: absolute;
    bottom: 15px;
    right: 0;
    display: flex;
    justify-content: space-between;
    width: 70px;
    font-size: 170%;
}

.notice_stop,
.notice_play {
    cursor: pointer;
    width: 30px;
    height: 30px;
}

.bnr_large .slick-arrow {
    display: block;
    width: 40px;
    cursor: pointer;
    top: 120px;
    z-index: 10;
}

.p-notice_prev {
    position: absolute;
    left: -20px;
}

.p-notice_next {
    position: absolute;
    right: -25px;
}

.bnr_large .slick-dots {
    bottom: -15px;
}

.bnr_large .slick-dots li button:before {
    font-size: 30px;
}

.bnr_large .slick-dots li.slick-active button:before {
    color: #be3b2d;
}


/*-----------------

acc

-----------------*/

.acc {
    position: relative;
    width: 100%;
    background: url('/img/top/bg-4.jpg');
    color: #fff;
    font-size: 150%;
    line-height: 1.2;
    z-index: 1;
}

.acc::before {
    content: '';
    position: absolute;
    background: url('/img/top/bg-5.jpg') repeat;
    padding: 15px 0;
    min-height: 50px;
    width: 47%;
    box-sizing: border-box;
}

.acc_in {
    display: flex;
    margin: 0 auto;
    width: 980px;
    align-items: center;
    justify-content: space-between;
    height: 50px;
    box-sizing: border-box;
}

.acc_in a {
    color: #fff;
    text-decoration: none;
}

.acc_in a:hover {
    text-decoration: underline;
}

.acc_linkbox {
    position: relative;
    display: flex;
    align-items: center;
}

.acc_about {
    position: relative;
    display: flex;
    align-items: center;
    z-index: 10;
}

.acc_linkbox::after {
    position: absolute;
    content: '';
    display: block;
    background: url('/img/top/line_frame.jpg') no-repeat;
    background-size: 60px 50px;
    width: 60px;
    height: 50px;
    top: -16px;
    right: -40px;
    z-index: 5;
}

.acc_link {
    position: relative;
    margin-right: 20px;
}


/* 矢印 */

.acc_link a::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 10px 2px 0;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.acc .caption {
    margin: 0 5px 0 10px;
}

.fontSize_box .btnA a {
    background: #695017;
    padding: 5px 12px;
    box-sizing: border-box;
    font-size: 90%;
    margin-left: 3px;
    line-height: 1;
    border-radius: 30px;
}

.bg-1 a,
.bg-2 a,
.bg-3 a {
    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 .voice a {
    color: #333;
    background: #fff;
    padding: 5px 10px;
    box-sizing: border-box;
    font-size: 90%;
    margin-left: 20px;
    line-height: 1;
    border: solid 1px #a5a5a5;
}

.hirata-sub-search {
    width: 195px;
    border-radius: 5px;
}

.hirata-sub-search .search_text {
    height: 25px !important;
    width: 150px !important;
    border: none !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;
}


/*-----------------

contents

-----------------*/

.contents {
    position: relative;
}

.contents a:hover {
    text-decoration: underline;
}


/*-----------------

section01

-----------------*/

.section01 {
    position: relative;
    background: url('/img/top/bg-1.jpg');
}

.section01::before {
    content: '';
    position: absolute;
    background: url('/img/top/decoration-1.png') center top no-repeat;
    background-size: 344px 344px;
    height: 244px;
    width: 344px;
    top: -20px;
    left: 0;
    z-index: 0;
}

.section01::after {
    content: '';
    position: absolute;
    background: url('/img/top/decoration-2.png') center top no-repeat;
    background-size: 886px 240px;
    height: 240px;
    width: 886px;
    top: -30px;
    right: 0;
    z-index: 0;
}

.section01 .section {
    position: relative;
    margin: 0 auto;
    padding: 70px 0 80px 0;
    width: 1020px;
    z-index: 2;
}

#top_important {
    position: relative;
    display: flex;
    align-items: center;
    background: url('img/bg-1.jpg');
    width: 100%;
    z-index: 2;
    box-sizing: border-box;
    box-shadow: 0px 0px 50px -20px #b8b8b8;
}

#top_important_ttl {
    display: block;
    width: 380px;
    margin: 0 180px 0 70px;
}

#top_important #top_important_list {
    position: relative;
    background: #fff;
    display: block;
    padding: 30px 0 40px 20px;
    height: 100%;
    width: 100%;
    min-height: 110px;
    align-items: center;
    box-sizing: border-box;
}

#top_important_list li {
    padding: 10px 0;
    font-size: 160%;
    line-height: 1.5;
}

#top_important_list li a {
    color: #000;
    text-decoration: none;
}

#top_important_list li a:hover {
    text-decoration: underline;
}

#top_important_list::before {
    content: '';
    position: absolute;
    top: 0;
    left: -140px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 140px 180px 0;
    border-color: transparent #fff transparent transparent;
    z-index: 0;
}

#top_important_list .link_box {
    padding-top: 10px;
    font-size: 140%;
}

#top_important_list .link_ichiran {
    margin-right: 20px;
}

#top_important_list .link_box a {
    display: inline-block;
    position: relative;
    color: #0049a4;
    padding-left: 15px;
}

#top_important_list .link_ichiran a:hover,
#top_important_list .link_rss a:hover {
    text-decoration: none;
}


/* 矢印 */

#top_important_list .link_box 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;
}

.useful {
    display: flex;
    width: 100%;
    justify-items: center;
    justify-content: space-between;
}

.useful_img {
    padding-right: 20px;
}

.useful li {
    display: flex;
}

.useful li a {
    display: flex;
    align-items: center;
    width: 245px;
    position: relative;
    padding: 10px 5px 10px 15px;
    background: #fff;
    font-size: 180%;
    font-weight: bold;
    border-radius: 5px;
    color: #000;
    text-decoration: none;
    box-sizing: border-box;
    box-shadow: 0px 2px 0px 0px rgb(0 0 0 / 20%);
}


/*-----------------

lifeevent

-----------------*/

.life_tit {
    position: relative;
    width: 100%;
    background: url('/img/top/bg-4.jpg');
    color: #fff;
    font-size: 150%;
    line-height: 1.2;
    z-index: 2;
}

.life_tit::before {
    content: '';
    position: absolute;
    background: #5e6b72;
    padding: 15px 0;
    height: 100%;
    width: 80%;
    box-sizing: border-box;
    z-index: 0;
}

.life_tit::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 0;
    left: 80%;
    border-style: solid;
    border-width: 79px 70px 0 0;
    border-color: #5e6b72 transparent transparent transparent
}

.life_tit h2 {
    position: inherit;
    padding: 20px 0;
    font-size: 220%;
    text-align: center;
    z-index: 2;
}


/*-----------------

life

-----------------*/

.section02,
.section05 {
    background: url('/img/top/bg-3.jpg') #d8edff repeat;
    background-size: cover;
    background-position-y: bottom;
}

.lifebox {
    margin: 0 auto;
    padding: 70px 0 60px 0;
    width: 980px;
    display: flex;
    justify-content: space-between;
    justify-items: center;
    align-items: center;
    flex-wrap: wrap;
}

.lifebox li {
    margin-bottom: 10px;
}

.lifebox li a {
    display: block;
    color: #000000;
    text-decoration: none;
    font-size: 200%;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
}

.life_img {
    display: block;
    margin: 0 auto;
    width: 90px;
}

.life-1 a {
    width: 223px;
    height: 221px;
    background: url('/img/top/lifebg-1.png') top center no-repeat;
    background-size: 223px 221px;
    box-sizing: border-box;
}

.life-1 .life_img {
    padding: 35px 0 20px 0;
}

.life-2 a {
    width: 214px;
    height: 215px;
    background: url('/img/top/lifebg-2.png') top center no-repeat;
    background-size: 214px 215px;
    box-sizing: border-box;
}

.life-2 .life_img {
    padding: 35px 0 20px 0;
}

.life-3 a {
    width: 225px;
    height: 210px;
    background: url('/img/top/lifebg-3.png') top center no-repeat;
    background-size: 225px 210px;
    box-sizing: border-box;
}

.life-3 .life_img {
    padding: 29px 0 16px 0;
}

.life-4 a {
    width: 215px;
    height: 202px;
    background: url('/img/top/lifebg-4.png') top center no-repeat;
    background-size: 215px 202px;
    box-sizing: border-box;
}

.life-4 .life_img {
    padding: 25px 0 15px 0;
}

.life-5 a {
    width: 222px;
    height: 207px;
    background: url('/img/top/lifebg-5.png') top center no-repeat;
    background-size: 222px 207px;
    box-sizing: border-box;
}

.life-5 .life_img {
    padding: 35px 0 20px 0;
}

.life-6 a {
    width: 230px;
    height: 223px;
    background: url('/img/top/lifebg-6.png') top center no-repeat;
    background-size: 230px 223px;
    box-sizing: border-box;
}

.life-6 .life_img {
    padding: 50px 0 25px 0;
}

.life-7 a {
    width: 219px;
    height: 235px;
    background: url('/img/top/lifebg-7.png') top center no-repeat;
    background-size: 219px 235px;
    box-sizing: border-box;
}

.life-7 .life_img {
    padding: 35px 0 20px 0;
}

.life-8 a {
    width: 232px;
    height: 219px;
    background: url('/img/top/lifebg-8.png') top center no-repeat;
    background-size: 232px 219px;
    box-sizing: border-box;
}

.life-8 .life_img {
    padding: 42px 0 15px 0;
}


/*-----------------

section03

-----------------*/

.section03 {
    position: relative;
    background: url('/img/top/bg-1.jpg');
    overflow: hidden;
}

.section03::before {
    content: '';
    position: absolute;
    background: url('/img/top/decoration-3.png') center top no-repeat;
    background-size: 756px 949px;
    height: 949px;
    width: 756px;
    top: -20px;
    left: 0;
    z-index: 0;
}

.section03::after {
    content: '';
    position: absolute;
    background: url('/img/top/decoration-4.png') center top no-repeat;
    background-size: 407px 727px;
    height: 727px;
    width: 407px;
    bottom: -30px;
    right: 0;
    z-index: 0;
}

.section03_box {
    display: flex;
    position: relative;
    padding: 120px 0 510px 0;
    margin: 0 auto;
    /* width: 1080px; */
    z-index: 2;
    justify-content: center;
    column-gap: 80px;
}

.news {
    width: 100%;
    flex: 0 1 auto;
}

.newsTwrap,
.topicsTwrap {
    background-color: #FFF;
    display: flex;
    align-items: center;
    padding: 20px;
    column-gap: 20px;
}

.news_tit,
.topics_tit {
    font-size: 300%;
}

.rss_btn,
.topics_btn {
    display: inline-block;
}

.rss_btn a {
    font-size: 190%;
    font-weight: bold;
    color: #e33614;
    text-decoration: none;
}

.rss-icon,
.topics-icon {
    display: inline-block;
    padding-right: 5px;
    vertical-align: text-bottom;
}

.news_in {
    padding: 0px 25px 30px;
    font-size: 160%;
    width: 100%;
    background: #fff;
    box-sizing: border-box;
}

.news_in li {
    display: flex;
    padding: 10px 0;
    line-height: 1.4;
}

.news_in li a {
    color: #0049a4;
    text-decoration: none;
}

.news_in li a:hover {
    text-decoration: underline;
}

.news_in .newsDate {
    /* width: 200px; */
    flex: 0 0 auto;
}

.newsDate,
.article_date {
    padding-right: 15px;
}

.newsTxt {
    /* width: 440px; */
    flex: 0 1 100%;
}

.newsBtn {
    margin: 20px auto 0 auto;
    width: 230px;
}

.newsBtn a {
    padding: 12px 10px;
    background: #cb4d50;
    color: #fff;
    text-decoration: none;
    font-size: 160%;
    border-radius: 30px;
    box-sizing: border-box;
    display: inline-block;
    width: 230px;
    text-align: center;
}

.topics {
    width: 405px;
}

.topics_btn a {
    font-size: 170%;
    font-weight: bold;
    color: #000;
    text-decoration: none;
}

.lettering_box {
    padding-bottom: 80px;
    position: relative;
}

.topics_in {
    width: 100%;
}

.topics_in strong {
    font-size: 150%;
}

.topics_life_img {
    height: 250px;
    background: url('/img/top/topics_bg.jpg') no-repeat center;
}

.topics_life_img img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: 100% 0;
    font-family: 'object-fit: cover; object-position:100% 0;';
    /*IE対策*/
}

.topics_box {
    position: relative;
}

.topics_box {
    position: absolute;
    padding: 20px 30px 30px 30px;
    background: #fff;
    width: 335px;
    top: 190px;
    left: 35px;
    line-height: 1.4;
    box-sizing: border-box;
}

.topicsDate {
    padding-bottom: 5px;
    font-size: 160%;
}

.topicsTxt a {
    font-size: 180%;
    font-weight: bold;
    color: #0049a4;
    text-decoration: none;
}

.topicsTxt a:hover {
    text-decoration: underline;
}


/* =====================

section04

===================== */

.section04 {
    position: absolute;
    bottom: 30px;
    padding: 60px 0 80px 0;
    width: 100%;
    background: #fff;
    z-index: 10;
}

.info,
.info-2 {
    margin: 30px auto;
    width: 100%;
    text-align: center;
    justify-items: center;
    justify-content: space-between;
}

.info_img {
    padding-right: 15px;
}

.info li,
.info-2 li {
    display: inline-block;
    margin: 0 20px;
}

.info li a,
.info-2 li a {
    display: flex;
    align-items: center;
    width: 190px;
    position: relative;
    padding: 15px 5px 15px 15px;
    background: #1b3c6f;
    font-size: 170%;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    box-sizing: border-box;
}

.info-2 li a {
    background: #cb4d50;
}

.info li a::before {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    left: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 16px 25px 0;
    border-color: transparent #1b3c6f transparent transparent;
}

.info-2 li a::before {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    left: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 16px 25px 0;
    border-color: transparent #cb4d50 transparent transparent;
}

.info li a::after {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    right: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 0 25px 16px;
    border-color: transparent transparent transparent #1b3c6f;
}

.info-2 li a::after {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    right: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 0 25px 16px;
    border-color: transparent transparent transparent #cb4d50;
}

.corona_link a {
    display: block;
    position: relative;
    margin: 0 auto;
    padding: 30px 0;
    width: 800px;
    color: #000;
    font-size: 330%;
    background: #f8d946;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    box-sizing: border-box;
}

.corona_link a:hover {
    text-decoration: none;
    background: #ffe97f;
}

.corona_link a::before {
    position: absolute;
    content: '';
    display: block;
    margin-top: -10px;
    top: 50%;
    left: 85px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 15px;
    border-color: transparent transparent transparent #000;
}


/* =====================

about

===================== */

.about {
    margin: 0 auto;
    padding: 80px 0;
    width: 1000px;
}

.about_tit {
    width: 251px;
    margin: 0 auto;
}

.about_box,
.about_box-2 {
    display: block;
    margin: 0 auto;
    padding-top: 70px;
    width: 1000px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.about_box li {
    width: 325px;
}

.about li a {
    color: #000;
    text-decoration: none;
    font-size: 200%;
    font-weight: bold;
}

.about_list {
    display: flex;
    position: relative;
    align-items: center;
    padding-left: 165px;
    box-sizing: border-box;
    width: 325px;
    height: 113px;
}

.about_list::after {
    display: block;
    position: absolute;
    content: '';
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: 3px solid #000;
    border-bottom: 3px solid #000;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.mayor {
    background: url('/img/top/mayor.png') no-repeat;
    background-size: 325px 113px;
}

.rei {
    background: url('/img/top/rei.png') no-repeat;
    background-size: 325px 113px;
}

.gikai {
    background: url('/img/top/gikai.png') no-repeat;
    background-size: 325px 113px;
}

.kouhoushi {
    display: block;
    padding: 17px 0 0 20px;
    background: url('/img/top/kouhou.png') no-repeat;
    background-size: 225px 240px;
    width: 225px;
    height: 240px;
    box-sizing: border-box;
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
}

.kouhoushi_img {
    display: block;
    width: 145px;
    height: auto;
    border: solid 1px #cfcfcf;
}

.kouhoushi_img img {
    height: auto;
}

.calendar_in {
    display: block;
    width: 260px;
    height: 240px;
    background: #fff;
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
}

.calendar {
    display: flex;
    position: relative;
    margin-top: 15px;
    padding-left: 15px;
    box-sizing: border-box;
}

.calendar::after {
    display: block;
    position: absolute;
    content: '';
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: 3px solid #000;
    border-bottom: 3px solid #000;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.sonsei {
    display: flex;
    align-items: center;
    padding: 10px;
    width: 190px;
    height: 240px;
    background: #fff;
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    border-radius: 5px;
}

.jinkou {
    display: block;
    width: 245px;
    height: 240px;
    background: #fff;
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    border-radius: 5px;
    line-height: 1.4;
}

.jinkou_tit {
    display: block;
    padding: 15px 5px 10px 5px;
    text-align: center;
    font-weight: bold;
    font-size: 190%;
}

.jinkou_tit_sub {
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 80%;
}

.jinkou_in {
    width: 100%;
    background: #fff;
    font-size: 180%;
}

.jinkou_in li {
    padding: 7px 10px;
    line-height: 1.5;
    box-sizing: border-box;
    text-align: center;
}

.jinkou_in li:nth-child(odd) {
    background: #f3f3f3;
}

.j-tit {
    padding-right: 25px;
}


/* =====================

section06

===================== */

.section06 {
    position: relative;
    padding: 90px 0 60px 0;
    width: 100%;
    background: #fff;
    overflow: hidden;
}

.section06::before {
    overflow: hidden;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url('/img/top/decoration-5.png') no-repeat;
    background-size: 100%;
    width: 100vw;
    height: 100%;
    /* padding-top: 5%; */
    min-width: 1030px;
    z-index: 0;
}

.link_tit {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 192px;
    z-index: 1;
}

.bnr_box {
    position: relative;
    display: flex;
    margin: 60px auto 0 auto;
    width: 1000px;
    z-index: 1;
    flex-wrap: wrap;
}

.bnr_box li {
    width: 180px;
    margin-bottom: 30px;
    margin-right: 25px
}

.bnr_box li:nth-of-type(5n) {
    margin-right: 0;
}

.bnr_box img {
    transition: 0.3s;
}

.bnr_box img:hover {
    opacity: 0.7;
}


/* =====================

section07

===================== */

.foot {
    position: relative;
    background: url('/img/top/foot_bg.jpg');
    background-size: cover;
    background-position-y: center;
    padding: 250px 0 180px 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;
    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%;
}

/* ページトップ */

#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;
}

.icon_new {
    display: inline-block;
    padding-bottom: 2px;
    width: 40px;
    line-height: 0;
    vertical-align: sub;
    height: 16px;
}


/* =====================

    IE

===================== */


@media all and (-ms-high-contrast: none) {
    body {
        font-family: "メイリオ", Meiryo, sans-serif;
    }
}



/* =====================

Smartphone

===================== */

@media screen and (max-width:767px) {
    .hirata {
        width: 100%;
        min-width: auto;
    }

    .head {
        display: block;
    }

    .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);
    }

    /*  p-accordion
------------------------}*/
    .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 {
        width: 50px;
        margin: 0 10px 0 0;
    }

    .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%;
    }

    /*-----------------

nav

-----------------*/
    .pc-nav {
        display: none;
    }

    /*-----------------

bnrarea

-----------------*/
    .bnrarea {
        width: 100%;
    }

    .bnrarea_in {
        display: block;
        padding: 30px 0 20px 0;
        width: 90%;
    }

    .bnr_small {
        width: 100%;
    }

    .bnr_large {
        width: 100%;
    }

    .bnr_large .notice_btn {
        bottom: -20px;
    }

    .notice_stop,
    .notice_play {
        cursor: pointer;
        width: 30px;
        height: 30px;
    }

    .bnr_large .slick-arrow {
        width: 35px;
        cursor: pointer;
        top: 65px;
    }

    .p-notice_prev {
        left: -15px;
    }

    .p-notice_next {
        right: -15px;
    }

    /*-----------------

acc

-----------------*/
    .acc {
        display: none;
    }

    /*-----------------

contents

-----------------*/
    .contents {
        position: relative;
    }

    /*-----------------

section01

-----------------*/
    .section01 {
        overflow: hidden;
    }

    .section01::before {
        content: none;
    }

    .section01::after {
        top: -120px;
    }

    .section01 .section {
        margin: 0 auto;
        padding: 40px 0 25px 0;
        width: 90%;
    }

    .useful {
        display: block;
    }

    .useful_img {
        width: 30px;
    }

    .useful li {
        margin-bottom: 15px;
    }

    .useful li a {
        width: 100%;
        padding: 10px 5px 10px 15px;
        font-size: 170%;
        line-height: 1.3;
    }

    /*-----------------

lifeevent

-----------------*/
    .life_tit {
        background: #5e6b72;
    }

    .life_tit::before {
        content: none;
    }

    .life_tit::after {
        content: none;
    }

    .life_tit h2 {
        font-size: 170%;
    }

    /*-----------------

life

-----------------*/
    .section02,
    .section05 {
        background: url('/img/top/bg-3.jpg') #d8edff repeat;
        background-size: cover;
        background-position-y: bottom;
    }

    .lifebox {
        display: flex;
        justify-content: space-between;
        padding: 30px 0 20px 0;
        width: 95%;
        flex-wrap: wrap;
    }

    .lifebox li {
        width: 49%;
        margin-bottom: 15px;
    }

    .lifebox li a {
        display: flex;
        align-items: center;
        width: 100%;
        height: 50px;
        font-size: 160%;
        text-align: left;
        border-radius: 5px;
    }

    .life_img {
        display: block;
        margin: 0 10px 0 5px;
        width: 25px;
    }

    .life-1 .life_img,
    .life-2 .life_img,
    .life-3 .life_img,
    .life-4 .life_img,
    .life-5 .life_img,
    .life-6 .life_img,
    .life-7 .life_img,
    .life-8 .life_img {
        padding: 0;
    }

    .life-2 a,
    .life-3 a,
    .life-6 a,
    .life-7 a {
        background: #f4f4f1;
        box-sizing: border-box;
    }

    .life-1 a,
    .life-4 a,
    .life-5 a,
    .life-8 a {
        background: #e5e5da;
        box-sizing: border-box;
    }

    /*-----------------

section03

-----------------*/
    .section03::before {
        content: '';
        background: url('/img/top/decoration-3.png') center top no-repeat;
        background-size: 385px 245px;
        width: 385px;
        height: 245px;
        top: -80px;
        left: -70px;
    }

    .section03::after {
        content: none;
    }

    .section03_box {
        display: block;
        padding: 50px 0;
        width: 95%;
    }

    .news {
        width: 100%;
        margin-bottom: 30px;
    }

    .news_tit,
    .topics_tit {
        display: block;
        padding: 0 0 10px 0;
        font-size: 250%;
        text-align: center;
    }

    .rss_btn,
    .topics_btn {
        display: block;
        padding-bottom: 10px;
    }

    .rss_btn a {
        font-size: 170%;
    }

    .rss-icon,
    .topics-icon {
        width: 20px;
    }

    .news_in {
        padding: 0 15px 15px;
        /* font-size: 180%; */
        line-height: 1.5;
    }

    .news_in li {
        display: block;
    }

    .newsDate,
    .article_date {
        display: block;
        padding-right: 10px;
        width: 20%;
    }

    .news_in .newsDate {
        width: 100%;
    }

    .newsTxt {
        width: 80%;
    }

    .newsBtn {
        margin: 10px auto 0 auto;
        width: 230px;
    }

    .topics {
        padding-top: 50px;
        position: relative;
        width: 100%;
    }

    .topics_btn a {
        display: block;
        margin: 0 auto;
        max-width: 550px;
        font-size: 170%;
        font-weight: bold;
        color: #000;
        text-decoration: none;
    }

    .topics_in {
        margin: 0 auto;
        max-width: 550px;
    }

    .lettering_box {
        padding-bottom: 0;
    }

    .topics_box {
        position: static;
        padding: 15px 20px 20px 20px;
        width: 100%;
    }

    .topicsDate {
        padding-bottom: 5px;
        font-size: 160%;
    }

    .topicsTxt a {
        font-size: 180%;
        font-weight: bold;
        color: #000;
    }

    .newsTwrap,
    .topicsTwrap {
        padding: 20px 15px 8px;
    }

    /* =====================

section04

===================== */
    .section04 {
        position: static;
        padding: 40px 0 50px 0;
    }

    .info,
    .info-2 {
        margin: 0 auto;
        width: 100%;
    }

    .info li,
    .info-2 li {
        display: inline-block;
        margin-bottom: 15px;
    }

    .corona_link a {
        width: 90%;
        max-width: 480px;
        padding: 20px 10px 20px 60px;
        text-align: left;
        font-size: 200%;
        font-weight: bold;
        margin: 10px auto 0 auto;
    }

    .corona_link a::before {
        left: 30px;
        margin-top: -10px;
        border-width: 10px 0 10px 15px;
    }

    /* =====================

about

===================== */
    .about {
        margin: 0 auto;
        padding: 60px 0 70px 0;
        width: 95%;
    }

    .about_tit {
        width: 280px;
        margin: 0 auto 40px auto;
    }

    .about_box,
    .about_box-2 {
        padding-top: 10px;
        width: 90%;
        flex-wrap: wrap;
    }

    .about_box li {
        width: 265px;
        margin: 0 auto 15px auto;
    }

    .about li a {
        font-size: 170%;
    }

    .about_list {
        padding-left: 125px;
        width: 100%;
    }

    .about_list::after {
        content: '';
        right: 10px;
    }

    .mayor {
        background-position-x: -40px;
    }

    .rei {
        background-position-x: -40px;
    }

    .gikai {
        background-position-x: -25px;
    }

    .about_box-2 {
        display: block;
    }

    .kouhoushi {
        display: block;
        margin: 0 auto;
        padding: 17px 0 0 20px;
        background: url('/img/top/kouhou.png') no-repeat;
        background-size: 265px 290px;
        width: 265px;
        height: 290px;
    }

    .kouhoushi_img {
        width: 175px;
    }

    .calendar_in {
        margin: 20px auto;
        width: 80%;
        height: auto;
        max-width: 430px;
        min-width: 280px;
    }

    .calendar {
        margin-top: 0;
        padding: 15px 0 15px 15px;
    }

    .sonsei {
        margin: 0 auto;
        width: 60%;
        height: auto;
        max-width: 430px;
        min-width: 280px;
    }

    .jinkou {
        display: block;
        margin-top: 20px;
        width: 100%;
    }

    .jinkou_in li {
        padding: 10px 0;
    }

    /* =====================

section06

===================== */
    .section06 {
        padding: 50px 0 50px 0;
    }

    .section06::before {
        content: none;
    }

    .link_tit {
        width: 50%;
    }

    .bnr_box {
        display: block;
        position: relative;
        margin: 30px auto 0 auto;
        width: 80%;
        justify-content: space-between;
        z-index: 1;
    }

    .bnr_box li {
        margin-bottom: 15px;
        margin-right: 0;
        width: 100%;
    }

    /* =====================

section07

===================== */
    .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: 140%;
        box-sizing: border-box;
    }

    .copy {
        padding-top: 15px;
        font-size: 85%;
    }

    .section01 #top_important {
        display: block;
        background: url('img/bg-1.jpg');
        width: 100%;
        z-index: 2;
        box-sizing: border-box;
        box-shadow: 0px 0px 50px -20px #b8b8b8;
    }

    #top_important_ttl {
        width: 70%;
        margin: 0 auto;
        padding: 25px 0 20px 0;
    }

    #top_important_list {
        padding: 20px 10px;
        min-height: auto;
        display: block;
    }

    #top_important_list li {
        padding: 10px 0;
        font-size: 200%;
        line-height: 1.5;
    }

    #top_important_list .article_date {
        display: block;
        width: 100%;
    }

    #top_important_list .link_box {
        font-size: 200%;
    }
}


/* =====================

Print css

===================== */

@media print {}