header, footer, nav, section, aside, article{
	box-sizing: border-box;
	display: block;
}

h1,h2,h3,h4,div,a,img,p,form,ul,li,ol,label,button {
	box-sizing: border-box;
	margin:0px;
	padding:0px;
	border:none;
	font-weight: normal;
	list-style-type: none;
	font-style: normal;
	text-decoration: none;
}

h1,h2,h3,h4{
    font-weight: 600;
}

p.jst{
	text-align: justify;
	text-justify: inter-ideograph;
}

div.df{
	box-sizing: border-box;
	display: block;
	overflow: auto;
	margin: 0;
	padding:0;

}

body{
	box-sizing: border-box;
	display: block;
	margin: 0;
	padding: 0;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	-webkit-text-size-adjust: none;
	color: #000;
	line-height: 1.6;
	overflow-x: hidden;
	overflow-y: auto;
	width: 100%;
    max-width: 100vw;
    letter-spacing: 0.05em;
}

main{
    padding-top: 75px;
}

/*********************************/
/*  font-size , text-align       */
/*********************************/

.font-10{ font-size: 10px;}
.font-11{ font-size: 11px;}
.font-12{ font-size: 12px;}
.font-13{ font-size: 13px;}
.font-14{ font-size: 14px;}
.font-15{ font-size: 15px;}
.font-16{ font-size: 16px;}
.font-17{ font-size: 17px;}
.font-18{ font-size: 18px;}
.font-19{ font-size: 19px;}
.font-20{ font-size: 20px;}
.font-21{ font-size: 21px;}
.font-22{ font-size: 22px;}
.font-23{ font-size: 23px;}
.font-24{ font-size: 24px;}
.font-25{ font-size: 25px;}
.font-26{ font-size: 26px;}
.font-27{ font-size: 27px;}
.font-28{ font-size: 28px;}
.font-29{ font-size: 29px;}
.font-30{ font-size: 30px;}
.font-31{ font-size: 31px;}
.font-32{ font-size: 32px;}
.font-33{ font-size: 33px;}
.font-34{ font-size: 34px;}
.font-35{ font-size: 35px;}
.font-36{ font-size: 36px;}


@media all and (max-width:767px) {
	.font-14{ font-size: 14px;}
	.font-15{ font-size: 14px;}
	.font-16{ font-size: 15px;}
	.font-17{ font-size: 17px;}
	.font-18{ font-size: 18px;}
	.font-19{ font-size: 19px;}
	.font-20{ font-size: 20px;}
	.font-21{ font-size: 21px;}
	.font-22{ font-size: 22px;}
	.font-23{ font-size: 23px;}
	.font-24{ font-size: 23px;}
	.font-25{ font-size: 24px;}
	.font-26{ font-size: 24px;}
	.font-27{ font-size: 24px;}
	.font-28{ font-size: 24px;}
	.font-29{ font-size: 24px;}
	.font-30{ font-size: 24px;}
	.font-31{ font-size: 25px;}
	.font-32{ font-size: 25px;}
	.font-33{ font-size: 25px;}
	.font-34{ font-size: 25px;}
	.font-35{ font-size: 25px;}
	.font-36{ font-size: 25px;}
}


/*********************************/
/*  material                     */
/*********************************/
.anime{
    opacity: 0;
}

.con-width{
    width: 90%;
    max-width: 1180px;
    margin: auto;
}

.sp-none{
    display: block;
}

.pc-none{
    display: none;
}

.text_link a,
.text_link_red a{
    color: #138081;
    position: relative;
    display: block;
    padding: 5px 10px 5px 20px;
    transition: 0.2s;
    text-align: left;
}

.text_link a:hover{
    background-color: #fff9cd;
}

.text_link a::before,
.text_link_red a::before{
    content: '';
    position: absolute;
    border: solid 7px transparent;
    border-left: solid 10px #f29032;
    top: 0.6rem;
    left: 0px;
    transition: 0.3s;
}

.text_link a:hover::before,
.text_link_red a:hover::before{
    left: 3px;
}

.text_link_red a{
    color: #ad0000;
}

.text_link_red a::before{
    border-left: solid 12px #ff0000;
}

.div_img,
a .div_img{
    display: block;
    overflow: hidden;
}

.div_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

a .div_img img{
    transition: 0.3s;
}

a:hover .div_img img{
    transform: scale(1.05);
}

.t_l{ text-align: left;}
.t_c{ text-align: center;}
.t_r{ text-align: right;}

.mb_15{margin-bottom: 15px;}
.mb_30{margin-bottom: 30px;}
.mb_50{margin-bottom: 50px;}
.mb_75{margin-bottom: 75px;}
.mb_100{margin-bottom: 100px;}


.for_top_btn{
    position: fixed;
    bottom: 33px;
    right: 5px;
    background-color: #fff;
    border: solid 2px #138081;
    border-radius: 10px;
    font-size: 13px;
    text-align: center;
    line-height: 15px;
    z-index: 100;
    transition: 0.4s;
    opacity: 0.8;
}

.for_top_btn:hover{
    bottom: 13px;
    opacity: 1;
}

.for_top_btn::before{
    content: '';
    position: absolute;
    border: solid 10px transparent;
    border-bottom: solid 10px #138081;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
}

.for_top_btn a{
   color: #138081;
   font-weight: 600; 
   display: block;
   padding: 10px 15px;
}

.txt_pdf::after,a.txt_pdf::after,
.txt_word::after,a.txt_word::after,
.txt_excel::after,a.txt_excel::after{
    color: #fff;
    font-size: 0.6rem;
    padding: 3px 5px;
    border-radius: 5px;
    margin-bottom: 3px;
    margin-left: 10px;
    text-wrap: nowrap;
}

.txt_pdf::after,a.txt_pdf::after{
    content: "PDF";
    background-color: #b30c00;
}

.txt_word::after,a.txt_word::after{
    content: "Word";
    background-color: #1757b7;
}

.txt_excel::after,a.txt_excel::after{
    content: "Excel";
    background-color: #0f6835;  
}

.txt_gaibu::after,a.txt_gaibu::after{
    content: url(../image/icon_gaibu.png);
    margin-left: 10px;
}

/* flex要素 */

.flex{
    display: flex;
}

.flex-2,
.flex-3,
.flex-4{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 15px auto;
    justify-items: center;
}

.flex_div{
    padding: 10px 5px;
}

.flex-2 .flex_div,
.flex-2r .flex_div{
    width: calc( ( 100% - 15px ) / 2 );
    margin-right: 15px;
    margin-bottom: 15px;
}

.flex-3 .flex_div{
    width: calc( ( 100% - 30px ) / 3 );
    margin-right: 15px;
    margin-bottom: 15px;
}

.flex-4 .flex_div{
    width: calc( ( 100% - 45px ) / 4 );
    margin-right: 15px;
}

.flex-2 .flex_div:nth-child(2n),
.flex-3 .flex_div:nth-child(3n),
.flex-4 .flex_div:nth-child(4n){
    margin-right: 0;
}

.flex-2 .flex_div.flex1,
.flex-3 .flex_div.flex1{
   width:100%;
   margin-bottom: 0;
}

/*********************************/
/*  ヘッダー                      */
/*********************************/
#sonsei_hd{
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #fff;
    z-index: 100;
}

#sonsei_hd .logo_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#sonsei_hd .logo_flex a{
    display: block;
    width: 30%;
    max-width: 135px;
    padding-top: 5px;
}

#sonsei_hd .logo_flex a img{
    width: 100%;
    height: 100%;
    max-height: 30px;
    object-fit: contain;
}

#sonsei_hd .pc_ac-menu{
    flex: 1;
    width: 80%;
    display: flex;
    justify-content: flex-end;
}

#sonsei_hd .pc_ac-menu form{
    display: flex;
    border: solid 1px #666;
    border-radius: 3px;
    padding: 0;
    margin-right: 5px;
    align-items: stretch;
    margin-left: 5px;
}

#sonsei_hd .pc_ac-menu .kensaku_form{
    padding: 5px;
    border: none;
    max-width: 150px;
}

#sonsei_hd .pc_ac-menu .kensaku_btn{
    background-color: #138081;
    padding: 0 5px;
    border: none;
    position: relative;
    color: #fff;
}

#sonsei_hd .pc_ac-menu p{
    display: inline-block;
    margin-right: 5px;
    font-size: .9rem;
    color: #999;
}

#sonsei_hd .pc_ac-menu button{
    border-radius: 50%;
    border: 1px solid #888;
    background-color: #fff;
    height: 25px;
    width: 25px;
    margin-right: 4px;
    font-size: 11px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#sonsei_hd .pc_ac-menu button#change_b{
	background: #000;
	color:#FFF;
}

#sonsei_hd .pc_ac-menu button#change_w{
	background: #FFF;
	color:#000;
}

#sonsei_hd .pc_ac-menu .select-lang{
    width: 150px
}

#sonsei_hd .hd_pc_menu{
    width: 100%;
    background-color: #0b8082;
    border-bottom: #eee;
}

#sonsei_hd .pc_menu_flex{
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    max-width: 1180px;
    margin: auto;
    background-color: #0b8082;
}

#sonsei_hd .pc_menu_flex li.pc_menu_main{
    width: calc( 100% / 7 );
    text-align: center;
    transition: 0.3s;
    border-right: solid 1px #fff;
    position: relative;
}

#sonsei_hd .pc_menu_flex li.pc_menu_main:nth-child(1){
    border-left: solid 1px #fff;
}

#sonsei_hd .pc_menu_flex li a{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    padding: 8px 5px;
    color: #ffffff;
    background-color: #0b8082;
    transition: 0.3s;
}

#sonsei_hd .pc_menu_flex li a:hover,
#sonsei_hd .pc_menu_flex ul.pc_menu_sub li a:hover{
    background-color: #2fb194;
}

#sonsei_hd .pc_menu_flex li ul{
	box-sizing: border-box;
	overflow: auto;
}

#sonsei_hd .pc_menu_flex li.pc_menu_main ul.pc_menu_sub{
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}

#sonsei_hd .pc_menu_flex ul.pc_menu_sub li a{
    background-color: #045055;
    color: #ffffff;
    border-top: solid 1px #71999d;
}

#sonsei_hd .pc_menu_flex li.pc_menu_main:hover ul.pc_menu_sub{
    display: block;
}


/* header sp*/
#sonsei_hd #hd_sp_menu{
    display: none;
    position: flex;
    overflow: auto;
}

#sonsei_hd #hd_sp_menu .menubtn{
    position: absolute;
    top: 2px;
    right: 3px;
    width: 45px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #ffffff;

    font-size: 8px;
    color: #138081;
}


#sonsei_hd #hd_sp_menu .menubtn p{
    position: absolute;
    bottom: 0px;
}

#sonsei_hd #hd_sp_menu .menubtn span,
#sonsei_hd #hd_sp_menu .menubtn span::before,
#sonsei_hd #hd_sp_menu .menubtn span::after{
    content: "";
    position: absolute;
    display: block;
    width: 25px;
    height: 3px;
    background-color: #138081;
    transition: 0.2s;
}

#sonsei_hd #hd_sp_menu .menubtn span{    margin-bottom: 10px;}
#sonsei_hd #hd_sp_menu .menubtn span::before{    bottom: 8px;}
#sonsei_hd #hd_sp_menu .menubtn span::after{    top: 8px;}

#sonsei_hd #hd_sp_menu #hmenu-btn:checked ~ .menubtn span{
    background-color: rgba(0, 69, 157,0);
}

#sonsei_hd #hd_sp_menu #hmenu-btn:checked ~ .menubtn span::before{
    bottom: 0px;
    transform: rotate(135deg);
} 

#sonsei_hd #hd_sp_menu #hmenu-btn:checked ~ .menubtn span::after{
    top: 0px;
    transform: rotate(-135deg);
}

#sonsei_hd #hd_sp_menu .hd_sp-contents{
    width: 100%;
    height: calc(100vh - 45px);
    position: fixed;
    background-color: #eee;
    z-index: 100;
    top: 45px;
    left: 100%;
    transition: 0.3s;
}

#sonsei_hd #hd_sp_menu .hd_sp-contents .menu_li li{
    border: solid 1px #eee;
}

#sonsei_hd #hd_sp_menu .hd_sp-contents .menu_li li a,
#sonsei_hd #hd_sp_menu .hd_sp-contents .menu_li li a:visited{
    background-color: #138081;
    display: block;
    padding: 20px 15px;
    color: #ffffff;
    font-weight: 600;
}

#sonsei_hd #hd_sp_menu select{
    margin-left: 15px;
}

#sonsei_hd #hd_sp_menu form{
    width: 96%;
    margin: 15px auto;
    border: solid 1px #666;
    border-radius: 5px;
    padding: 0;

    display: flex;
    align-items: stretch;
}

#sonsei_hd #hd_sp_menu .kensaku_form{
    flex: 1;
    padding: 5px 8px;
    border: none;
}

#sonsei_hd #hd_sp_menu .kensaku_btn{
    background-color: #138081;
    color: #fff;
    border: 0;
    padding: 13px 15px 10px;
}

#sonsei_hd #hd_sp_menu .select-lang{
    display: block;
    width: 96%;
    margin: 15px auto 25px;
    padding: 13px 15px 10px;
}


#sonsei_hd #hd_sp_menu #hmenu-btn:checked ~ .hd_sp-contents{
    left: 0;
    opacity: 1;
  }

#sonsei_hd #hd_sp_menu #hmenu-btn{
    display: none;
}

.hd_sp-contents .switcher.notranslate{
	top: auto;
	right: auto;
	margin: 0 0 0 15px;
	width: 83%;
	border-right: 1px solid #CCC;
}

.hd_sp-contents .switcher .selected a{
	width: 100%;
	padding: 8px 0 8px 5px;
}

.hd_sp-contents .switcher .option{
	width: auto;
}



/*****************************************/
/* 村政トップページ */
/*****************************************/

.top_title{
    text-align: center;
    margin: 30px auto 50px;
}

#top0{
    overflow: hidden;
    height: 90vh;
    min-height: 600px;
    position: relative;
}

#top0 .slide_top,
#top0 .slide_top li{
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}

#top0 .slide_top img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#top0 .top-menu{
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;

    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
}

#top0 .top-menu .top_logo{    order: 2;}
#top0 .top-menu .obder_1{    order: 1;}
#top0 .top-menu .obder_3{    order: 3;}


#top0 .top-menu .top_logo{
    width: 20%;
    max-width: 160px;

    display: flex;
    justify-content: center;
    align-items: center;
    padding: 25px;
    margin-bottom: 5%;
}

#top0 .top-menu .top_logo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top-menu .back_block{
    width: 35%;
    padding: 10px 20px 20px;
    max-width: 450px;
    position: relative;
}

.top-menu .back_block::before{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.5);
    filter: blur(5px);

    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: 1;
}

.top-menu .back_block h3{
    color: #fff;
    text-align: center;
    position: relative;
    margin: 10px 5px;
    z-index: 3;
}

.top-menu .icon_list,
.bnr_list{
    position: relative;
    z-index: 3;
}

.top-menu .icon_list{
    display: flex;
    flex-wrap: wrap;
}

.icon_list a{
    display: block;
    background-color: #fff;
    border-radius: 5px;
    text-align: center;
    padding: 8px;
    margin: 5px;

    width: calc(( 100% - 30px ) / 3 );
}

.icon_list a:hover{
    background-color: #fff9cd;
}

.icon_list a img{
    width: 80%;
    height: auto;
    max-width: 65px;
    max-height: 65px;
    object-fit: contain;
    margin: 3px;
    transition: .3s;
}

.icon_list a:hover img{
    transform: translateY(-2px);
}

.icon_list a p{
    color: #138081;
    font-weight: 600;
}

.bnr_list{
    max-width: 450px;    
    margin: auto;
}

.bnr_list a{
    display: block;
    margin-bottom: 10px;
}

.bnr_list a img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: 0.3s;
}

.bnr_list a:hover img{
    opacity: 0.8;
}




#top1,#top2,#top3{
    padding: 20px 0 50px;
}


#top1{
    background-color: #e6eddd;
}

.news_flex{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-bottom: 30px;
}

.news_flex .news_div{
    flex: 1;
    padding-right: 10px;
}

.news_tab{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}

.news_tab .tab_btn{
    width: calc(( 100% - 12px ) / 5 );
    margin-right: 3px;
    background-color: #b1b1b1;
    color: #fff;
    text-align: center;
    padding: 10px 3px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    letter-spacing: .2rem;
}

.news_tab .tab_btn:hover{
    cursor: pointer;
}

.news_tab .tab_btn:nth-last-child(1){
    margin-right: 0;
}

.news_tab .tab_btn.tab_act{
    background-color: #138081;
}

.news_con{
    background-color: #fff;
    height: 350px;
    padding: 3px 3px 0;
    overflow-y: scroll;
    border: solid 1px #ddd;
}

.new-link{
    display: block;
    border-bottom: solid 1px #ddd;
    padding: 5px 10px 10px;
    color: #000;
}

.new-link:hover{
    background-color: #fff9cd;
}

.new-link .new-left{
    display: flex;
    align-items: flex-end;
    margin-bottom: 5px;
}

.new-link .new-left .new-day{
    width: 125px;
    margin-right: 5px;
    color: #999;
    font-weight: 600;
}

.new-category{
    padding: 2px 10px 1px;
    margin-bottom: 3px;
    border-radius: 5px;
    color: #fff;
    font-size: 0.8rem;
    min-width: 70px;
    text-align: center;
}

.new-category.new-cat_sonsei{ background-color: #138081;}
.new-category.new-cat_school{ background-color: #f38019;}
.new-category.new-cat_kanko{ background-color: #df51a0;}
.new-category.new-cat_bupposo{ background-color: #1f65bf;}
.new-category.new-cat_primary{ background-color: #68b517;}
.new-category.tenryu-elementary-school{ background-color: #68b517;}
.new-category.e-news{ background-color: #68b517;}
.new-category.new-cat_junior{ background-color: #006391;}
.new-category.tenryu-middle-school{ background-color: #006391;}
.new-category.j-news{ background-color: #006391;}



.btn_news{
    color: #138081;
    display: block;
    background-color: #fff;
    border: solid 1px #ddd;
    border-top: none;
    padding: 8px 30px 5px 15px;
    text-align: right;

    position: relative;
}

.btn_news::after{
    content: "";
    position: absolute;
    border: solid 8px transparent;
    border-left: solid 12px #999;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.mura_news{
    width: 30%;
    min-width: 200px;
    background-color: #fff;
    border-radius: 10px;
    padding: 15px 30px;
}

.mura_news .div_img{
    width: 100%;
    aspect-ratio: 4/3;
    margin-bottom: 5px;
}

.mura_news h3{
    text-align: center;
    color: #138081;
}

.mura_news a.mura_news_con{
    padding: 5px;
}

.mura_news a.mura_news_con:hover{
    background-color: #fff8d0;
}

.mura_news .mura_title{
    color: #138081;
    margin-bottom: 15px;
}

.mura_news .btn_news{
    border: none;
    padding: 5px 30px 5px 15px;
}

.mura_news .slick-prev:before,
.mura_news .slick-next:before{
    color: #138081;
    opacity: 1;
}

.sns_div{
    align-items: center;
    flex-wrap: wrap;
    max-width: 650px;
    margin: 20px auto;
    background-color: #fff;
    border-radius: 8px;
    padding: 10px 25px;
}

.sns_div .sns_flex{
    flex: 1;
    justify-content: space-around;
    margin: 0;
}

#top2 .flex_div{
    padding: 10px 0px;
}

.icon_eria h3{
    display: inline-block;
    padding: 10px 15px;
    color: #fff;
    border: solid 2px #138081;
    background-color: #138081;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.icon_eria .icon_list{
    border: solid 2px #138081;
    background-color: #ecf2e8;
    padding: 15px;

    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

.icon_eria .icon_list a{
    width: calc(( 100% - 40px ) / 4 );
    min-width: 100px;
}

#top2 .icon_eria .icon_list a{
    border: solid 2px #138081;
}

#top3{
    margin-bottom: 30%;
    position: relative;
    background: url(../image/back-img.jpg) repeat-y;
    background-size: cover;
}

#top3 .flex_div{
    margin-bottom: 0px;
}

.pickup_bnr{
    margin: 50px auto;
}

.pickup_bnr a{
    display: flex;
    align-items: center;
    border: solid 2px #138081;
    background-color: #fff;
}

.pickup_bnr a:hover{
    background-color: #fff9cd;
}

.pickup_bnr a img{
    width: 25%;
    max-width: 85px;
    aspect-ratio: 1/1;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.pickup_bnr p{
    padding: 10px 15px;
    color: #138081;
    font-weight: 600;
}

.how_tenryu{
    align-items: stretch;
}

#top3 .how_tenryu .flex_div{
    background-color: #fff;
    padding: 15px;
    margin-bottom: 25px;
}

.how_tenryu .flex_div h3{
    color: #138081;
    padding: 5px 5px 5px 10px;
    margin-bottom: 20px;
    border-left: solid 15px #138081;
}

.zinko_hyo{
    width: 100%;
}
.zinko_hyo th,.zinko_hyo td{border-bottom: solid 1px #eee;}
.zinko_hyo th{text-align: left;}
.zinko_hyo td{text-align: right;}


#top3 .top_bnr_img{
    position: absolute;
    width: 100%;
    height: auto;
    top: 100%;
    left: 0;
}

#top3 .top_bupposo{
    position: absolute;
    width: 10%;
    max-width: 150px;
    height: auto;
    object-fit: contain;
    right: 7%;
    bottom: -15%;

}


/*********************************/
/*  カテゴリ・詳細ページ           */
/*********************************/

.cate_title{
    color: #41200e;
    position: relative;
    margin-bottom: 5%;
}

.cate_title h1{
    padding: 30px 0;
    position: relative;
    z-index: 5;
}

.cate_title .con_back_bupposo{
    position: absolute;
    width: 15%;
    height: auto;
    max-width: 120px;

    bottom: -30px;
    right: 2%;
    z-index: 3;
}

#contents_main{
    background-color: #e6eddd;
    padding: 25px 0 50px;
    position: relative;
    z-index: 1;
}

#contents_main .con_back_top,
#contents_main .con_back_bottom{
    width: 100%;
    height: auto;
    position: absolute;
    left: 0;
    z-index: -5;
}

#contents_main .con_back_top{
    bottom: calc( 100% - 2px);
}

#contents_main .con_back_bottom{
    top: calc( 100% - 2px);    
}

.cate_news h3{
    background-color: #da9826;
    color: #fff;
    padding: 10px 25px;
}

.cate_news .news_con{
    height: auto;
    overflow-y: auto;
    border: none;

    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;

    padding: 5px 10px 10px;
    margin-bottom: 15px;
}

.cate_news .new-link{
    display: flex;
    align-items: flex-start;
    padding: 5px 10px 5px;
    color: #138081;
}

.cate_news .new-link:nth-last-child(1){
    border-bottom: none;
}

#top_left{
    flex: 1;
    margin-right: 15px;
}

#cate_menu #top_left .flex_div{
    background-color: #fff;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;    
    padding: 0;
}

#top_left h3.cate_h3{
    background-color: #138081;
    position: relative;
    margin-bottom: 10px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
    transition: 0.3s;
}

#top_left h3.cate_h3:hover{
    background-color: #2fb194;    
}

#top_left h3.cate_h3::before{
    content: "";
    border: solid 8px transparent;
    border-left: solid 11px #fff;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    transition: 0.3s;
}

#top_left h3.cate_h3:hover::before{
    left: 18px;
}

#top_left h3.cate_h3 a,
#top_left h3.cate_h3 a:visited{
    display: block;
    padding: 15px 10px 15px 40px;
    color: #fff;
    font-weight: 600;
}

#top_left h4.cate_h4{
    margin: 5px 15px;
    background-color: #cfe7eb;
    padding: 10px 20px;
    border-radius: 5px;
}

#cate_menu #top_left .flex_div .text_link{
    padding: 3px 15px 10px;
}

#top_right{
    width: 200px;
}

#top_right .right_menu{
    background-color: #fff;
    border: solid 2px #138081;
    padding: 10px 12px;
    border-radius: 10px;
    margin: 15px auto;
}

#top_right .right_menu h3{
    padding: 2px 5px 2px 10px;
    border-left: solid 15px #138081;
    color: #138081;
    margin-bottom: 5px;
}

#top_right .right_menu .act_link{
    background-color: #fff8d0;
}

.number_flex{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 25px;
}

.number_flex a{
    padding: 5px;
    margin:  0 5px;
    color: #198081;
}

.number_flex a:hover{
    background-color: #fff8d0;
}

/* 記事ページ */

.pankuzu_flex{
    display: flex;
    width: 100%;
    overflow-x: auto;
    margin-bottom: 3px;
}

.pankuzu_flex a,
.pankuzu_flex a:visited{
    color: #573a28;
    padding: 3px;
    white-space: nowrap;
}

.pankuzu_flex a::after{
    content: "＞";
    margin-left: 5px;
}

.pankuzu_flex a:nth-last-child(1)::after{
    content: none;
}

#contents_main h2.page_title{
    background-color: #138081;
    color: #fff;
    padding: 10px 25px;
}


#page_con{
    background-color: #fff;
    padding: 25px 25px 50px;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;  
    line-height: 1.7;
}

#page_main .right_menu{
    margin: auto;   
}

#page_con h4,#page_con h5{
    margin: 30px auto 15px;
}

#page_con h2{
    color: #086637;
    padding: 15px 10px;
    border-left: solid 15px #7cb94b;
    background-color: #e6f0c8;
    margin: 50px auto 30px;
    
}

#page_con h3{
    color: #086637;
    padding: 8px 10px;
    border: solid 2px #7cb94b;
    border-left: solid 15px #7cb94b;
    border-right: solid 15px #7cb94b;
    margin: 40px auto 25px;
}

#page_con h4{
    color: #086637;
    padding: 5px 10px;
    border-left: solid 15px #d6e9a4;   
}

#page_con h5{
    color: #444;
    background-color: #e5e5e5;
    padding: 8px 25px;  
}

#page_con a{
    color: #0b8284;
    padding: 2px 5px;
}

#page_con a:hover{
    background-color: #fff7d2;
}

#page_con button{
    display: inline-block;
    background-color: #fff;
    border: none;
    margin: 10px 5px 15px 0;
}

#page_con button a{
    display: block;
    padding: 15px 15px 15px 30px;
    border: solid 2px #0b8284;
    position: relative;
    transition: 0.3s;
    font-weight: 600;
}

#page_con button a::before{
    content: "";
    border: solid 8px transparent;
    border-left: solid 11px #0b8284;
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    transition: 0.3s;
}

#page_con button a:hover::before{
    left: 14px;   
}

#page_con ul,
#page_con ol{
    padding: 10px 10px 10px 25px;
    margin: 10px auto;
}

#page_con ul li{
    list-style: disc;
}

#page_con ol li{
    list-style: decimal;
}

.contact_div{
    margin-top: 100px;
    border: solid 2px #0b8284;
}

.contact_div .contact_title{
    background-color: #0b8284;
    color: #fff;
    font-weight: 600;
    padding: 8px 15px;
}

.contact_div .contact_info{
    padding: 10px 15px;
}



/* wordpress用 */

#page_con .wp-block-button{
    display: inline-block;

    border: none;
    margin: 10px 5px 15px 0;
}

#page_con .wp-block-button a.wp-block-button__link{
    display: block;
    background-color: #fff;
    padding: 15px 15px 15px 30px;
    border: solid 2px #0b8284;
    border-radius: 0;
    position: relative;
    transition: 0.3s;
    font-weight: 600;
    text-align: left;
}

#page_con .wp-block-button a.wp-block-button__link::before{
    content: "";
    border: solid 8px transparent;
    border-left: solid 11px #0b8284;
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    transition: 0.3s;
}

#page_con .wp-block-button a.wp-block-button__link:hover{
    background-color: #fff7d2;
}

#page_con .wp-block-button a.wp-block-button__link:hover::before{
    left: 14px;   
}

#page_con .wp-block-file{
    font-size: 1rem;
    margin: 10px 0;
    padding: 0 10px 0 25px;

    position: relative;
}

#page_con .wp-block-file::before{
    content: '';
    position: absolute;
    border: solid 7px transparent;
    border-left: solid 10px #f29032;
    top: 0.4em;
    left: 3px;
    transition: 0.3s;
}

#page_con .wp-block-file:hover::before{
    left: 5px;
}

#page_con .wp-block-file__button{
    background-color: #0b8284;
    padding: 2px 5px;
    color: #fff;
    font-size: 0.8rem;
    transition: 0.3s;
}

#page_con .wp-block-file__button:hover{
    color: #503d00;
}

#page_con .wp-block-gallery{
    margin: 15px auto 50px;
}



/*********************************/
/*  ニュース一覧ページ            */
/*********************************/

#contents_main .news_con{
    height: auto;
    overflow-y: auto;
    border: none;
    padding: 10px;
}


/*********************************/
/*  小中学校                     */
/*********************************/

#scl_index #top0{
    height: 50vh;
    min-height: 400px
}

#sonsei_hd.scl_head .pc_menu_flex li.pc_menu_main{
    width: calc( 100% / 3 ) ;
}

#scl_index .news_tab .tab_btn{
    width: calc((100% - 6px) / 3);
}

#scl_index #top1{
    background-color: #e8f1f9;
}

#scl_index #top2,
#scl_index #top3{
    background: url(../image/4577224_s.jpg) repeat-y;
    background-size: cover;
}



.scl_cate #top_left{
    margin-right: auto;
}

.scl_div .mura_news{
    width: 30%;
    margin-right: 20px;
    border: solid 1px #eee;

}

.scl_div .flex_div{
    flex: 1;
    background-color: #fff;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    padding: 0;
}

.scl_div .flex_div .text_link{
        padding: 3px 15px 10px;
}

.scl_page #contents_main,
.scl_cate #contents_main{
    background-color: #e8f1f9;
}


/*********************************/
/* footer                        */
/*********************************/
#footer{
    position: relative;
    background-color: #589682;
    margin-top: 25%;
    color: #fff;
}

#footer .footer_img{
    position: absolute;
    bottom: calc( 100% - 2px );
    width: 100%;
}

#footer .sns_flex{
    justify-content: flex-start;
}

.footer_area{
    width: 90%;
    margin: 25px auto 50px;

    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
}

.footer_area .flex_info{
    flex: 1;
}

.footer_area a.ft_logo{
    display: block;
    width: 100%;
    max-width: 300px;
}

.footer_area a.ft_logo img{
    width: 100%;
    object-fit: contain;
}

.sns_flex{
    display: flex;
    flex-wrap: wrap;
    margin: 15px 0;
    padding: 5px 10px 5px 15px;
}

.sns_flex a{
    display: block;
    width: calc( 100% / 5 );
    max-width: 40px;
    margin-left: 10px;
}

.sns_flex a:hover{
    opacity: 0.8;
}

.sns_flex a img{
    width: 100%;
    height: auto;
    object-fit: contain;
}

.flex_info ul{
    display: flex;
    flex-wrap: wrap;
}

.flex_info ul li{
    margin: 5px 15px 10px 0;
    padding: 0 10px 0 15px;
    border-left: solid 5px #fff;
}

.flex_info ul li:nth-last-child(1){
    margin: 5px 0 10px 0;
}

#footer .bnr_list{
    width: 50%;
    margin: auto 5% auto auto;
    max-width: 400px;
}

#footer .footer_copy{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: 5px 10px;
    background-color: #ffffff;
    text-align: center;
    color: #000000;
}

#footer .footer_copy .text_link{
    display: flex;
    flex-wrap: wrap;
}

#footer .footer_copy .text_link li{
    margin-right: 10px;
    padding: 3px 5px;
}


/*****************************************/
/* 緊急情報 */
/*****************************************/

#kinkyu{
    background-color: #be252f;
    padding: 20px 0 50px;
    display: none;
}

#kinkyu h2{
    color: #fff;
    text-align: center;
    margin: 10px auto;
}

#kinkyu ul{
    background-color: #fff;
    padding: 5px;
    border-radius: 5px;
}

#kinkyu ul li{
    border-bottom: solid 1px #ddd;
}

#kinkyu ul li:nth-last-child(1){
    border-bottom: none;
}

#kinkyu ul li a{
    display: block;
    padding: 10px 5px;
    color: #000;
}

#kinkyu ul li a:hover{
    background-color: #ffbebe;
}




/*******************************/
/* レスポンシブ                 */
/*******************************/
@media all and (max-width:900px){

    #tour-page-cate .cate_slide .con_li{
        width: calc((100% - 20px ) / 2);
    }

}

@media all and (max-width:899px) {
    .news_flex .news_div,
    .news_flex .mura_news{
        width: 100%;
    }

    .news_flex .news_div{
        padding-right: 0px;
        margin-bottom: 30px;
    }

    #footer .flex_info p span{
        display: block;
    }

}

@media all and (max-width:767px) {

    main{
        padding-top: 45px;
    }

    .sp-none{
        display: none;
    }
    
    .pc-none{
        display: block;
    }

    .page-flex{
        display: block;
    }

    .page-flex .page_menu{
        width: auto;
        margin-top: 50px;
        padding: 15px 20px;
        border-top: dotted 1px #d7d7d7;
    }

    .link_eria li{
        padding: 6px 3px;
    }

    /*  村政用   */

    .flex-2,
    .flex-3{
        display: block;
    }
    
    .flex-2 .flex_div,
    .flex-3 .flex_div{
        width:100%;
        margin: auto auto 0;
        padding: 15px 0;
    }

    .flex-4 .flex_div{
        width: calc( ( 100% - 15px ) / 2 );
    }
    
    .flex-4 .flex_div:nth-child(3n){
        margin-right: 15px;
    }

    .flex-4 .flex_div:nth-child(2n){
        margin-right: 0;
    }

    .to_up_btn{
        bottom: 8px;
        right: 8px;
    }

    .flex-2 a.flex_div, .flex-3 a.flex_div{
        padding: 15px 20px;
    }

    #sonsei_hd{
        height: 45px;
        padding: 2px 5px;
    }

    #sonsei_hd .pc_ac-menu,
    #sonsei_hd .hd_pc_menu{
        display: none;
    }

	#cate_headimg div h2.font-36{
		font-size: 25px !important;
	}

    #top0{
        height: auto;
        background-color: #000;
    }

    #top0 .slide_top{
        height: 90vh;
        min-height: 600px;
        position: relative;
        z-index: auto;
    }

    #top0 .top-menu{
        overflow: initial;
        display: block;
        position:initial;
        translate: 0;
    }

    .top-menu .back_block{
        width: 96%;
        margin: auto;
        max-width: 100%;
        padding: 10px 15px;
    }

    #top0 .top-menu .top_logo{
        position: absolute;
        top: calc( -600px + 45px + 8vh );
        left: 50%;
        translate: -50%;
        width: 30%;
        z-index: 5;
        max-width: 120px;
    }

    #top0 .top-menu .obder_1{
        margin-top: -15vh;
    }

    .news_tab .tab_btn{
        width: calc((100% - 3px) / 2);
        margin-top: 2px;
    }

    .news_tab .tab_btn:nth-child(2n){
        margin-right: 0px;
    }

    .news_flex .mura_news{
        width: 100%;
        min-width: initial;
    }

    .flex.sns_div{
        display: block;
        text-align: center;
    }

    .icon_eria .icon_list a{
        width: calc((100% - 20px) / 2);
    }

    #top3 .flex_div{
        padding: 10px 0;
    }

    #top3 .top_bupposo{
        bottom: -3%;
    }

    .cate_news .new-link{
        display: block;
    }

    #cate_menu.flex,
    #page_main.flex{
        display: block;
    }

    #top_left{
        margin-right: 0;
    }

    #cate_menu #top_left .flex_div{
        margin-bottom: 20px;
    }

    #cate_menu #top_left .flex_div .text_link a{
       padding: 10px 10px 10px 20px;
    }

    #cate_menu #top_left .flex_div .text_link a::before{
        top: 0.8rem;
    }

    #top_right{
        width: 100%;
        max-width: 100%;
    }

    #page_con{
        padding: 25px 10px 10px;
        margin-bottom: 30px;
    }

    /*********************************/
    /*  小・中学校                    */
    /*********************************/

    #sonsei_hd.scl_head #hd_sp_menu{
        display: block;
    }

    #scl_index #top0 .slide_top{
        height: 100%;
    }

    #scl_index #top0 .top-menu{
        position: absolute;
        top: 8%;
        left: 50%;
        width: 80%;
        translate: -50% 0;
    }

    #scl_index .news_tab .tab_btn:nth-child(2n){
        margin-right: 3px;
    }

    .scl_div .mura_news{
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }

    #top_left .flex_div{
        padding: 0 0 15px;
    }

    /*********************************/
    /*  footer                       */
    /*********************************/
    #footer{
        margin-top: 50%;
    }

    #footer .flex_div,
    #footer .bnr_list{
        width: 100%;
        margin: 20px auto;
    }

    .footer_area .flex_info{
        flex: auto;
        margin: auto;
        max-width: 400px;
    }

    .footer_area a.ft_logo{
        margin: auto;        
    }

    #footer .sns_flex{
        justify-content: center;
    }

    #footer .footer_copy{
        padding: 5px 5%;
    }

    #footer .footer_copy .text_link{
        display: block;
    }

    .flex_info ul{
        display: block;
    }


}

/*********************************/
/*  pagenavi                     */
/*********************************/
	.page_navi_footer{
		margin-top: 30px;
		font-size: 20px;
	}

	.nav-links{
		display: block;
		width: 100%;
		text-align: center;
	}
	
	.prev.page-numbers{
		margin-right: 30px;
	}

	.next.page-numbers{
		margin-left: 30px;
	}

	a.page-numbers{
		margin: 0 10px;
	}



.header-flex .select-lang,
.gt_selector {
    width: 150px;
    height: 25px;
    clear: both;
}


.hd_sp-contents .gt_selector {
    width: 96%;
    margin-left: 5px !important;
    height: 40px;
}

