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;
    letter-spacing: 0.05em;
}

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;

}

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: 94%;
    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.65em;
    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: 130px;
    margin-right: 10px;
    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: 100px;
    text-align: center;
}

.new-category.new-cat_sonsei{ background-color: #138081;}
.new-category.village-affairs{ background-color: #138081;}
.new-category.government_info{ background-color: #138081;}

.new-category.new-cat_school{ background-color: #f38019;}
.new-category.school{ background-color: #f38019;}

.new-category.new-cat_kanko{ background-color: #df51a0;}
.new-category.tourism{ background-color: #df51a0;}

.new-category.new-cat_bupposo{ background-color: #1f65bf;}
.new-category.orientaldollarbird{ background-color: #1f65bf;}

.new-category.new-cat_primary{ background-color: #68b517;}
.new-category.new-cat_junior{ 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;
    width: calc( 100% - 200px );
}

#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 #f18e3e;
    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: 0px 15px 15px;
}

#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 h3 a{
    color: #138081;
}

#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 p{
    padding: 2px 15px;
}

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

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


#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;
}
#page_con table{
    margin: 10px auto;
}

#page_con table th{
    background-color: #b4d98d;
}

/* 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;
}

/*********************************/
/*  観光・文化                    */
/*********************************/

#tourism-main{
    padding-top: 50px;

}

#tourism-main h1,
#tourism-main h2,
#tourism-main h3,
#tourism-main h4{
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

/* header */

#tour-header{
    width: 100%;
    height: 50px;
    position: fixed;
    top: 0;
    background: url(../image/kanko_top_back2.png) repeat-x ;
    padding: 0;
    z-index: 100;
}

.header-flex,
.header-flex2{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 10px;
}

.header-flex{
    width: calc(100% - 50px);
    margin-right: auto;
    position: relative;
    z-index: 100;
}

.header-flex2{
    justify-content: flex-end;
    padding: 0;
}

.header-flex .site-title{
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 40%;
    max-width: 450px;
    height: 100%;
}

.header-flex .site-title a{
    height: 100%;
}

.header-flex .site-title img{
    height: 100%;
    width: auto;
}

#tour-header h1{
    color: #fff;
    padding: 5px 15px 3px;
    background-color: #11994a;
    border-radius: 5px;
    margin-left: 20px;
}

.header-flex .sns_flex{
    height: 100%;
    margin: 0;
    padding: 0;
    margin-right: 10px;
}

.header-flex .sns_flex a{
    max-width: 30px;
}

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

#tour-header #hmenu-btn{
    display: none;
}

#tour-header #head-menu .menubtn{
    position: absolute;
    top: 0px;
    right: 0px;
    width:45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 105;
    color: #fff;
}

#tour-header #head-menu .menubtn span,
#tour-header #head-menu .menubtn span::before,
#tour-header #head-menu .menubtn span::after{
    content: "";
    position: absolute;
    display: block;
    width: 25px;
    height: 4px;
    background-color: #40af73;
    transition: 0.2s;
}

#tour-header #head-menu .menubtn span::before{    bottom: 8px;}
#tour-header #head-menu .menubtn span::after{    top: 8px;}

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

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

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

#tour-header #head-menu .hmenu-contents{
    position: fixed;
    left: 0;
    top: -800px;
    width: 100vw;
    height: auto;
    z-index: 80;
    background-color: #ebefce;
    background-size: cover;
    opacity: 0;
    transition: 0.5s;
}

#tour-header #head-menu .hmenu-contents .hmenu-main{
    width: 90%;
    max-width: 1280px;
    padding: 30px 20px;
    margin: auto;
}


#tour-header #hmenu-btn:checked ~ .hmenu-contents{
    top: 50px;
    opacity: 1;
}

/* top */

#tourism_top0{
    width: 100%;
    height: 100vh;
    position: relative;
    min-height: 650px;
}

#tourism_top0 .top_image,
#tourism_top0 .top_image .top_slide,
#tourism_top0 .top_image .slide_image{
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.slick-list.draggable,
.slick-track{
    height: 100%;
}

#tourism_top0 .top_image .slide_image{
    position: relative;
    background-color: #000;
}

#tourism_top0 .top_image .slide_image img{
    width: 100%;
    height: 100%;
    opacity: 0.75;
    object-fit: cover;
    object-position: center;
}

#tourism_top0 .top_image .slide_image .silide_con{
    position: absolute;
    top: 10%;
    left: 8%;
    writing-mode: vertical-rl;
    color: #fff;
    max-height: 450px;
}

#tourism_top0 .top_image .slide_image .silide_con h3{
    display: inline-block;
    background-color: #fff;
    color: #086637;
    padding: 10px 10px 30px 8px;
    margin-left: 20px;
}

#tourism_top0 .top_image .slide_image .silide_con p{
    margin-top: 2rem;
}

.t_top_logo{
    position: absolute;
    top: 8%;
    right: 10%;
    width: 25%;
    max-width: 250px;
}

.t_top_logo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: blur(20px);

    animation-name: t_top_logoani;
    animation-duration: 1.2s;
    animation-iteration-count：1;
    animation-fill-mode: forwards;
}

@keyframes t_top_logoani{
    0%{filter: blur(20px);}
    100%{filter: blur(0px);}
}

.t_top_logo .logo_brder{
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: auto;

    animation-delay: 0.5s;
    animation-duration: 1.8s;
}

#tourism_top1{
    background: url(../image/kanko_top_back2.png) repeat ;
    padding: 100px 20px 300px;
    position: relative;
    background-size: cover;
    line-height: 2.5;
}

#tourism_top1::before{
    content: "";
    position: absolute;
    width: 101%;
    height: 30rem;
    bottom: 99%;
    left: 50%;
    translate: -50%;
    background: url(../image/kanko_top_back1.png) no-repeat;
    background-size: contain;
    background-position: 50% 100%;
}

#tourism_top1 h2{
    color: #546547;
}

#tourism_top1 p{
    margin-left: 2rem;
}

#tourism_top1 .con-width{
    position: relative;
}

#tourism_top1 .img_nagano{
    position: absolute;
    width: 45%;
    max-width: 300px;
    top: 53%;
    right: -1%;
}

#tourism_top1 .img_pic2{
    position: absolute;
    width: 30%;
    max-width: 250px;
    top: 105%;
    left: -8%;
}

#tourism_top2{
    display: flex;
    padding: 100px 20px;
}

#tourism_top2 h2{
    width: 10%;
    min-width: 150px;
    margin-right: 50px;
}

#tourism_top2 h2 a{
    display: block;
    font-size: 1rem;
    margin-top: 10px;
    color: #666;
}

#tourism_top2 ul.tourism_news{
    flex: 1;
}

ul.tourism_news li{
    border-bottom: solid 1px #ddd;
    padding: 5px;
}

ul.tourism_news li:nth-child(1){
    border-top:  solid 1px #ddd;
}

ul.tourism_news li a{
    display: block;
    padding: 10px;
    transition: 0.5s;
}

#tourism_top2 h2 a:hover,
ul.tourism_news li a:hover{
    background-color: #fff8d0;
}

ul.tourism_news li p{
    color: #000;
    font-weight: 600;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

ul.tourism_news li p.news-day{
    color: #999;
    margin-bottom: 0.8rem;
}

#tourism-top3{
    margin: 50px auto 100px;
}

#tourism-top3 .type-title{
    width: 90%;
    max-width: 1180px;
    margin:  auto;
    padding: 100px 20px 25px;
    display: flex;
    align-items: flex-end;
}

#tourism-top3 .type-title .type-title-en{
    width: 25%;
    max-width: 250px;
    margin: 25px 25px 25px 100px;
    font-size: 2.5rem;
    position: relative;
}

#tourism-top3 .type-title.type_miryoku .type-title-en::before,
#tourism-top3 .type-title.type_hakken .type-title-en::before,
#tourism-top3 .type-title.type_taiken .type-title-en::before{
    content: "";
    position: absolute;
    width: calc(100% + 4rem);
    height: calc(100% + 4rem);
    top: 50%;
    left: -5.5rem;
    transform: translateY(-50%);
    z-index: -5;
}

#tourism-top3 .type-title.type_miryoku .type-title-en::before{
    background: url(../image/circle_y.png) no-repeat;
    background-size: contain;
}

#tourism-top3 .type-title.type_hakken .type-title-en::before{
    background: url(../image/circle_b.png) no-repeat;
    background-size: contain;
}

#tourism-top3 .type-title.type_taiken .type-title-en::before{
    background: url(../image/circle_o.png) no-repeat;
    background-size: contain;
}

#tourism-top3 .type-title h2{
    display: inline-block;
    background-color: #fff;
    padding: 10px;
    position: relative;
    z-index: 5;
}

#tourism-top3 .type-title.type_miryoku h2{    color: #8dc64f;}
#tourism-top3 .type-title.type_hakken h2{    color: #2f348d;}
#tourism-top3 .type-title.type_taiken h2{    color: #f0582d;}

.top3{
    padding: 50px 10px;
    margin: 20px auto 50px;
    position: relative;
}

.top3.type_miryoku{    background-color: #e8ed91;}
.top3.type_hakken{    background-color: #bbeff3;}
.top3.type_taiken{    background-color: #fdd8ac;}

.top3.type_miryoku::before,
.top3.type_hakken::before,
.top3.type_taiken::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 8rem;
    bottom: 98%;
    right: 0;
}

.top3.type_miryoku::before{
    background: url(../image/kanko_top_back_y.png) no-repeat;
    background-size: contain;
    background-position: 100% 100%;
}

.top3.type_hakken::before{
    background: url(../image/kanko_top_back_b.png) no-repeat;
    background-size: contain;
    background-position: 100% 100%;
}

.top3.type_taiken::before{
    background: url(../image/kanko_top_back_o.png) no-repeat;
    background-size: contain;
    background-position: 100% 100%;
}

.cate_slide .slide-prev,
.cate_slide .slide-next{
    position: absolute;
    top: 50%;
    display: block;
    transform: translate(0, -50%);
}

.cate_slide .slide-prev{    left: -25px;}
.cate_slide .slide-next{    right: -3px;}

.cate_slide .slide-prev::before,
.cate_slide .slide-next::before{
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    filter: drop-shadow( 0 0 3px #442F1D);
    transition: 0.3s;
}

.cate_slide .slide-prev:hover::before,
.cate_slide .slide-next:hover::before{
    cursor: pointer;
    filter: drop-shadow( 0 0 4px #271b11);
}

.cate_slide .slide-prev::before{
    border-top: solid 6px #fff;
    border-left:solid 6px #fff;
    transform: rotate(-45deg);
}

.cate_slide .slide-next::before{
    border-top: solid 6px #fff;
    border-right:solid 6px #fff;
    transform: rotate(45deg);
}

.cate_slide .con_li{
    width: calc( 90% /3 );
    margin: 5px;
    background-color: #fff;
    padding: 10px;
    border: #eee;
}

.cate_slide .con_li a,
.cate_slide .con_li a:visited{
    color: #000000;
}

.cate_slide .slide_img{
    width: 100%;
    aspect-ratio: 6 / 5;
    overflow: hidden;
    margin-bottom: 10px;
}

.cate_slide .con_li img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.7s;
}

.cate_slide .con_li:hover img{
    transform: scale(1.1);
}

.con_li .tag_ul{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-top: 10px;
}

.con_li .tag_ul li{
    border: solid 1px #aaa;
    padding: 5px 8px;
    margin-right: 5px;
}


/* contents page */

.tour-page{
    background: url(../image/kanko_top_back2.png) repeat;
    padding-bottom: 50px;
    margin-bottom: 50px;
}

.tour_cate_title{
    text-align: center;
    color: #fff;
    background-color: #337a68;
    padding: 25px 20px;
}

.tour_page_title{
    text-align: center;
    background-color: #fff;
    font-size: 2.8rem;
    color: #337a68; 
    padding: 20px 10px;
}

.tour-page .sab-cate{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 15px;
}

.tour-page .sab-cate button{
    padding: 8px 10px;
    border: solid 2px #357a69;
    background-color: #fff;
    color: #357a69;
    margin: 5px;
    font-size: 1rem;
    border-radius: 10px;
    transition: 0.3s;
}

.tour-page .sab-cate button:hover{
    cursor: pointer;
    background-color: #fff6d4;
}

.tour-page .sab-cate button.btn_act{
    background-color: #357a69;
    color: #fff;   
}

#tour-page-cate{
    padding: 25px 0 100px;
}

#tour-page-cate .cate_slide{
    display: flex;
    flex-wrap: wrap;
}

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

.page-image{
    position: relative;
    width: 100%;
    height: 75vh;
    min-height: 600px;
}

.page-image img{
    object-position: center;
}

.page-image .t_top_logo{
    width: 15%;
    max-width: 100px;
    top: 5%;
    right: 5%;
}


#tourism-main #page_con{
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: 25px;
}

#tourism-main #page_con h2,
#tourism-main #page_con h3,
#tourism-main #page_con h4{
    color: #35412a;
}

#tourism-main #page_con h2{
    background-color: transparent;
    border-left: none;
    border-bottom: solid 3px #92cd9c;
    font-size: 1.8rem;
    padding: 15px 10px 5px 10px;
}

#tourism-main #page_con h3 {
    color: #086637;
    font-size: 1.5rem;
    padding: 8px 10px;
    border: solid 1px #54b78a;
    border-left: solid 15px #54b78a;
    border-right: solid 15px #54b78a;
}

#tourism-main #page_con h4{
    border-left: solid 15px #a3d1a0;
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    background-color: #f2f9ec;

}

#tourism-main .pankuzu_flex{
    margin-top: 50px;
    padding-top: 10px;
    border-top: dotted 1px #ddd;
}

#tourism-main .news-page li{
    list-style: none;
}

.btn_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

.btn_area a{
    display: flex;
    justify-content: center;
    align-items: center;

    width: calc((100% - 30px ) / 3 );
    margin-right: 15px;
    margin-bottom: 15px;
    padding: 40px 10px;
    background-color: rgba(0, 0, 0, 0.5);
    background-blend-mode: multiply;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff;
    font-weight: 600;
    font-size: 1.2rem;
    transition: 0.3s;
    border-radius: 15px;
}

.btn_area a:nth-child(3n){
    margin-right: 0;
}

.btn_area a:hover{
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 0;
}

/*********************************/
/*  ブッポウソウ                  */
/*********************************/

/* header */
#bupposo-header{
    color: #fff;
    margin-top: -2rem;
}

#bupposo-header .bup_hed_img{
    background: url(../image/01.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    margin: 0;
    padding: 5rem 0 3rem;
    text-align: center;
}

#bupposo-header .bup_hed_img img{
    max-width: 650px;
    margin-bottom: 20px;
}

#bupposo-header .bup_hed_img p{
    background-color: rgba(0, 0, 0, 0.3);
    padding: 15px;
}

#bupposo-header .btn_area a{
    margin-right: 0;
    margin-bottom: 0;
    margin-top: 0;
    width: calc( 100% / 3 );
    border-radius: 0;
    background-color: rgba(22, 105, 90 , 0.9);
    border-right: solid 1px #fff;
    text-align: center;
}

#bupposo-header .btn_area a:hover{
    background-color: rgba(22, 105, 90 , 0.1);   
}

#bupposo-header .btn_area a:nth-last-child(1){
    border-right: none;
}

#bupposo-header .pc_ac-menu{
    position: absolute;
    top: 5px;
    right: 3px;

    display: flex;
    justify-content: flex-end;
}

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

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

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


/* top */

#bupposo_main{
    padding: 25px 0px 100px;
    background-color: #d0f1df;;
}

#bupposo_main .buppo_title{
    text-align: center;
    margin: 20px;
}

.bupposo_ul .bupposo_li{
    margin-bottom: 15px;
    background-color: #fff;
    border-radius: 5px;
}

.bupposo_ul .bupposo_li a{
    display: flex;
    align-items: stretch;
}

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

.bupposo_ul .bupposo_li p{
    padding: 8px 10px;
    color: #000;
}

.bupposo_ul .bupposo_li .log_day{
    width: 10%;
    min-width: 85px;
    max-width: 120px;
    text-align: center;
    color: #fff;
    background-color: #367cc7;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    font-weight: 600;
    font-size: 1.1rem;
}

.bupposo_ul .bupposo_li .log_day span{
    display: block;
    text-align: center;
    font-size: 0.8rem;
}

.bupposo_ul .bupposo_li:hover .log_day{
    background-color: #67c7ff;    
}

.bupposo_ul .bupposo_li .log_title{
    flex: 1;
    display: flex;
    align-items: center;
}

#bupposo_main .number_flex{
    margin-top: 50px;
}

#bupposo_main .number_flex a{
    border: solid 2px #599683;
    border-radius: 5px;
    background-color: #fff;
    padding: 5px 15px;
    margin-bottom: 10px;
}

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

.btn_a{
    display: block;
    padding: 15px 20px;
    width: 75%;
    max-width: 350px;
    margin: 50px auto 20px;

    background-color: #fff;
    color: #148284;
    border: solid 2px #148284;
    border-radius: 10px;
    text-align: center;
}

#bupposo_main #page_con{
    border-radius: 15px;
}

/*********************************/
/* 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 30px;
}

#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;
}

#kinkyu p.con-width a{
    color: #ffffff;
    font-size: 18px;
}

/*******************************/
/* レスポンシブ                 */
/*******************************/
@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;
    }

    #sonsei_hd #hd_sp_menu{
        display: block;
    }

	#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;
        width: auto;
    }

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

    #cate_menu #top_left .flex_div .text_link a{
       padding: 10px 10px 10px 20px;
       border-bottom: dotted 1px #ddd;
    }

    #cate_menu #top_left .flex_div .text_link li:nth-last-child(1) a{
        border-bottom: none;
    }

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

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

    #page_con{
        padding: 25px 20px 50px;
        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_page .scl_div .mura_news{
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }

    /*********************************/
    /*  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;
    }


    /*********************************/
    /*  観光・文化                    */
    /*********************************/
    #tour-header h1 {
        padding: 5px 10px 3px;
        margin-left: 2px;
    }

    .header-flex .site-title{
        width: 75%;
        max-width: 75%;
    }

    .header-flex .sns_flex{
        display: none;
    }

    #tour-header #head-menu .hmenu-contents .hmenu-main{
        padding: 20px 0;
    }

    .btn_area a{
        width: calc((100% - 15px ) / 2 );
        font-size: 1rem;
    }

    .btn_area a:nth-child(3n){
        margin-right: 15px;
    }

    .btn_area a:nth-child(2n){
        margin-right: 0;
    }


    #tourism_top0{
        height: 75vh;
    }

    #tourism_top0 .t_top_logo{
        top: 5%;
        right: 5%;
        width: 30%;
        max-width: 200px;
    }

    #tourism_top0 .top_image .slide_image .silide_con{
        writing-mode: initial;
        top: auto;
        bottom: 10%;
        width: 80%;
        left: 50%;
        translate: -50%;
    }

    #tourism_top0 .top_image .slide_image .silide_con h3{
        padding: 8px 15px;
        margin-left: 0; 
    }

    #tourism_top0 .top_image .slide_image .silide_con p{
        margin-top: 1rem;
    }

    #tourism_top1 .img_nagano{
        top: 90%;
        width: 55%;
    }

    #tourism_top2{
        display: block;
        padding: 100px 0px;
    }

    #tourism_top2 h2{
        width: 100%;
        min-width: initial;
        margin-right: 0;
        margin-bottom: 15px;
    }

    #tourism_top2 h2 br{
        display: none;
    }

    ul.tourism_news li a{
        padding: 10px 0;
    }

    #tourism-top3 .type-title{
        display: block;
        padding: 100px 0 25px;
    }

    #tourism-top3 .type-title .type-title-en{
        width: 100%;
        margin: 25px 25px 50px 100px;
    }

    #tourism-top3 .type-title p{
        margin-left: 45%;
    }

    .cate_slide .slide-prev{        left: -13px;    }
    .cate_slide .slide-next{        right: 0px;    }
    
    .cate_slide .slide-prev::before,
    .cate_slide .slide-next::before{
        width: 10px;
        height: 10px;
        filter: drop-shadow( 0 0 3px #442F1D);
        transition: 0.3s;
    }
    
    .cate_slide .slide-prev::before{
        border-top: solid 3px #fff;
        border-left:solid 3px #fff;
        transform: rotate(-45deg);
    }
    
    .cate_slide .slide-next::before{
        border-top: solid 3px #fff;
        border-right:solid 3px #fff;
        transform: rotate(45deg);
    }

    #tour-page-cate .cate_slide .con_li{
        width: 100%;
        margin: 10px 5px;
    }

    .tour_page_title{
        font-size: 1.8rem;
    }

    #bupposo-header .btn_area a{
        width: 100%; 
        border-right: none;
        border-bottom: solid 1px #fff;
        padding: 25px 10px;
    }

    #bupposo-header .pc_ac-menu{
        display: none;
    }

    /* wordpress用 */

    #page_con .wp-block-gallery .wp-block-image{
        width: 100%;
    }

    #page_con .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){
        width: 100%;
    }

}

/*********************************/
/*  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;
	}


/*********************************/
/* テーブル全体を囲うfigure要素のスタイル */
/*********************************/
.wp-block-table {
    margin: 0 0 1em 0;
    overflow-x: auto; /* スマホなどの画面幅が狭いときにはみ出さないようにする */
}

/* テーブル本体のスタイル */
.wp-block-table table {
    border-collapse: collapse;
    width: 100%;
}

/* セル（td, th）のスタイル */
.wp-block-table td,
.wp-block-table th {
    border: 1px solid #ccc; /* エディタのデフォルトに近いボーダー色 */
    padding: 0.5em; /* セル内の余白 */
}

/* * もしエディタ側で「ストライプ」のスタイルを選択した時の
 * クラス（.is-style-stripes）にも対応させる場合 
 */
.wp-block-table.is-style-stripes {
    border-bottom: 1px solid #ccc;
}
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
    border-color: transparent;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #f0f0f0; /* ストライプの背景色 */
}

.tbl_sp td:nth-of-type(1){
	font-weight:bold;
}