@charset "utf-8";
:root{
	--boxShadow1: 0px 0px 20px -5px rgba(0,0,0,0.5),0px 0px 10px -5px rgba(0,0,0,0.5);
}

/* 足あとを非表示 */
#footstep_wrap {
	display: none !important;
}

.top_content_search{
	margin: 100px 0px;
}
.tpl_top dialog#search_dialog[open] {
	position: static;
	width: auto;
	height: auto;
	margin: 0px 0px;
	padding: 50px 0px;
	overscroll-behavior: auto;
}

.tpl_top .header_search .close_search_dialog,
.tpl_top button#open_search_dialog {
	display: none;
}

/* トップレイアウト調整 */
.tpl_top #mymainback {
	width: auto;
}
.tpl_top #main_a {
	display: grid;
	grid-template-columns: 1fr min(1080px,100%) 1fr;
	gap: 0;
}
.top_content{
	margin: 0px 0px 60px;
}
.top_width_limit{
	grid-column: 2;
}
.top_width_full{
	grid-column: 1 / 4;
}


/* 重要なお知らせ */
#top_important {
	margin: 30px 0;
	padding: 0;
	/* background: #F3E9E0; */
}
.top_important_innerwrap{
	background: #F3E9E0;
	padding: 10px 20px 20px;
	border-radius: 10px;
}
#top_important .top_important_ttl{
	margin: 0px 0px 15px;
	padding: 0px 0px 10px;
	border-bottom: 2px solid #fff;
}
#top_important h2 {
	margin: 0px;
	padding: 0px;
	color: #69431F;
	font-size: 2rem;
	text-align: center;
	display: grid;
	grid-template-columns: 42px auto;
	place-content: center center;
	gap: 10px;
	align-items: center;
	line-height: 1;
}
#top_important h2::before{
	content: url(/img/common/icon-important.png);
	display: block;
	width: 42px;
	height: 42px;
}

#top_important ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
#top_important ul li {
	width: 100%;
	display: table;
	box-sizing: border-box;
	margin: 0px 0px 15px;
}
#top_important ul li:last-child {
	margin-bottom: 0px;
}
#top_important ul li > span {
	display: table-cell;
	vertical-align: top;
}
#top_important ul li > span.article_date {
	width: calc(11em + 10px);
}
#top_important ul li a {
	color: currentcolor;
}

#top_important .link_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 30px;
	padding: 10px 0px 0px;
}
#top_important .link_box span[class*="link_"] {
	/* width: 260px; */
	/* max-width: 100%; */
}
#top_important .link_box span[class*="link_"] a:-webkit-any-link {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
	font-size: 1.5rem;
	line-height: 1.8rem;
	text-decoration: none;
	margin: 0px;
	padding: 10px 0px;
	color: currentcolor;
	text-align: center;
}
#top_important .link_box span[class*="link_"] a:-moz-any-link {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
	font-size: 1.5rem;
	line-height: 1.8rem;
	text-decoration: none;
	margin: 0px;
	padding: 10px 0px;
	color: currentcolor;
	text-align: center;
}
#top_important .link_box span[class*="link_"] a:any-link {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
	font-size: 1.5rem;
	line-height: 1.8rem;
	text-decoration: none;
	margin: 0px;
	padding: 10px 0px;
	color: currentcolor;
	text-align: center;
}
#top_important .link_box span[class*="link_"] a:hover,
#top_important .link_box span[class*="link_"] a:focus {
	text-decoration: underline;
}

#top_important .link_box span[class*="link_"] a::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	
}

.emer_link{
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	background: #fbefef;
	margin: 30px 0px 0px;
	padding: 20px;
	justify-content: space-between;
	border-radius: 10px;
	box-sizing: border-box;
}
.emer_link h2{
	margin: 0px;
	padding: 0px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
}
.emer_link ul{
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3,280px);
	gap: 20px;
	justify-content: end;
}
.emer_link ul li{
	display: block;
	margin: 0px;
	padding: 0px;
}
.emer_link ul li a:-webkit-any-link{
	display: block;
	text-align: center;
	background: #fff;
	padding: 10px;
	border-radius: 10px;
	text-decoration: none;
	height: 100%;
	box-sizing: border-box;
	display: grid;
	place-content: center center;
	grid-template-columns: 1fr;
	color: currentcolor;
}
.emer_link ul li a:-moz-any-link{
	display: block;
	text-align: center;
	background: #fff;
	padding: 10px;
	border-radius: 10px;
	text-decoration: none;
	height: 100%;
	box-sizing: border-box;
	display: grid;
	place-content: center center;
	grid-template-columns: 1fr;
	color: currentcolor;
}
.emer_link ul li a:any-link{
	display: block;
	text-align: center;
	background: #fff;
	padding: 10px;
	border-radius: 10px;
	text-decoration: none;
	height: 100%;
	box-sizing: border-box;
	display: grid;
	place-content: center center;
	grid-template-columns: 1fr;
	color: currentcolor;
}
.emer_link ul li a span{
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	justify-content: center;
	align-content: center;
	place-content: center center;
	width: 100%;
	gap: 20px;
	font-size: 1.7rem;
}
.emer_link ul li a span::before{
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.emer_link ul li.emer_link_doctor a span::before{
	background-image: url(/img/top/icon-doctor.png);
	width: 36px;
	height: 38px;
}
.emer_link ul li.emer_link_bousaiportal a span::before{
	content: '';
	background-image: url(/img/top/icon-bousaiportal.png);
	width: 45px;
	height: 53px;
}
.emer_link ul li.emer_link_hazardmap a span::before{
	content: '';
	background-image: url(/img/top/icon-hazardmap.png);
	width: 40px;
	height: 41px;
}

/* 防災メール連携（JavaScript） */
#main_box_emergency .box_top_emer {
	margin: 0px 0px 40px;
	padding: 30px 40px;
	background: #fffaec;
}
#main_box_emergency h2 {
	margin: 0px 0px 20px;
	padding: 0px;
	color: #333333;
	font-size: 2.4rem;
	text-align: center;
}

#main_box_emergency ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
#main_box_emergency ul li {
	width: 100%;
	display: table;
	box-sizing: border-box;
	margin: 0px 0px 15px;
}
#main_box_emergency ul li:last-child {
	margin-bottom: 0px;
}
#main_box_emergency ul li > span {
	display: table-cell;
	vertical-align: top;
}
#main_box_emergency ul li > span.emer_date {
	width: calc(14.5em + 10px);
}
#main_box_emergency ul li > span.emer_title > span {
	display: block;
	height: 1.5em;
	overflow: hidden;
	color: #333333;
	text-decoration: underline;
	cursor: pointer;
}
#main_box_emergency ul li.emer_title_open > span.emer_title > span {
	height: auto;
	text-decoration: none;
}

#main_box_emergency .btn_emer {
	text-align: center;
	padding: 30px 0px 0px;
}
#main_box_emergency .btn_emer #emer_mail_open_all {
	display: inline-block;
	border: 1px solid transparent;
	border-radius: 0;
	background: #ffffff;
	color: #333333;
	font-size: 1.5rem;
	line-height: 1.8rem;
	text-decoration: none;
	margin: 0px;
	padding: 10px 20px;
	text-align: center;
	box-sizing: border-box;
	width: 260px;
	max-width: 100%;
}
#main_box_emergency .btn_emer #emer_mail_open_all:hover,
#main_box_emergency .btn_emer #emer_mail_open_all:focus {
	text-decoration: underline;
}

/* タブ */
.top_content_news h2{
	text-align: center;
}
.top_content_news h2 .ttl_main{
	font-size: 3rem;
	line-height: 1;
	text-align: center;
}
.top_content_news{
	margin: 0px 0px 60px;
}
#top_tab_title{
	margin: 0px 0px 20px;
}
#top_tab_title ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
}
#top_tab_title ul li {
	width: 100%;
}
#top_tab_title ul li button {
	display: block;
	width: 100%;
	box-sizing: border-box;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.8rem;
	text-decoration: none;
	text-align: center;
	padding: 15px 20px;
	border: 2px solid var(--green-dark);
	background: #fff;
}
#top_tab_title ul li button:hover,
#top_tab_title ul li button:focus {
	text-decoration: underline;
}
#top_tab_title ul li.tab_on button {
	background: var(--green-dark);
	color: #fff;
	padding: 20px 20px;
	position: relative;
}
#top_tab_title ul li.tab_on button::after{
	content: '';
	display: block;
	width: 40px;
	height: 15px;
	background: var(--green-dark);
	position: absolute;
	top: 100%;
	left: calc(50% - 15px);
	-webkit-clip-path: polygon(0% 0%,100% 0%,50% 100%);
	clip-path: polygon(0% 0%,100% 0%,50% 100%);
}

#top_tab_detail {
	padding: 30px 30px 50px;
	background: var(--green-light);
}

/* 新着情報（件数） */
.release_day {
	margin-bottom: 1em;
	font-size: 1.5rem;
}
.release_day span {
	display: inline-block;
	margin-right: 1em;
}

/* 新着情報（リスト） */
.top_tab_detail_list ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.top_tab_detail_list ul li {
	width: 100%;
	display: table;
	box-sizing: border-box;
	margin: 0px 0px 15px;
}
.top_tab_detail_list ul li:last-child {
	margin-bottom: 0px;
}
.top_tab_detail_list ul li > span {
	display: table-cell;
	vertical-align: top;
}
.top_tab_detail_list ul li > span.article_date {
	width: calc(11em + 50px);
}

/* 新着情報（情報はありません） */
.top_tab_detail_box p.no_data {}

/* 新着情報（newアイコン） */
.top_tab_detail_list img.icon_new {
	vertical-align: text-top;
	margin-left: 20px;
	display: inline-block;
}

/* 新着情報（一覧・RSS） */
.top_tab_detail_box .link_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 10px 20px;
	padding: 30px 0px 0px;
}
.top_tab_detail_box .link_box span[class*="link_"] {
	/* width: 260px; */
	/* max-width: 100%; */
}
.top_tab_detail_box .link_box span[class*="link_"] a:-webkit-any-link {
	display: block;
	border: 1px solid transparent;
	border-radius: 0;
	background: #fff;
	color: #333333;
	font-size: 1.5rem;
	line-height: 1;
	text-decoration: none;
	margin: 0px;
	padding: 15px 20px;
	text-align: center;
	border-radius: 6px;
}
.top_tab_detail_box .link_box span[class*="link_"] a:-moz-any-link {
	display: block;
	border: 1px solid transparent;
	border-radius: 0;
	background: #fff;
	color: #333333;
	font-size: 1.5rem;
	line-height: 1;
	text-decoration: none;
	margin: 0px;
	padding: 15px 20px;
	text-align: center;
	border-radius: 6px;
}
.top_tab_detail_box .link_box span[class*="link_"] a:any-link {
	display: block;
	border: 1px solid transparent;
	border-radius: 0;
	background: #fff;
	color: #333333;
	font-size: 1.5rem;
	line-height: 1;
	text-decoration: none;
	margin: 0px;
	padding: 15px 20px;
	text-align: center;
	border-radius: 6px;
}
.top_tab_detail_box .link_box span[class*="link_"] a:hover,
.top_tab_detail_box .link_box span[class*="link_"] a:focus {
	text-decoration: underline;
}
.top_tab_detail_box .link_box span[class*="link_"] a span{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
}
.top_tab_detail_box .link_box span[class*="link_"] a span::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);	
}

/* トピックス */
.top_news_ueda_topics h2{
	/* color: var(--green-dark); */
	text-align: center;
	margin: 0px 0px 60px;
}
.top_news_ueda_topics h2 span{
	display: block;
}
.top_news_ueda_topics h2 span.ttl_main{
	font-size: 3rem;
}
.top_news_ueda_topics h2 span.ttl_sun{
	font-size: 2.4rem;
}
.top_news_ueda_topics h3{
	/* color: var(--green-dark); */
	text-align: center;
	font-size: 2.4rem;
	line-height: 1;
	margin: 0px 0px 30px;
}
#top_banner_6_list .swiper-wrapper{
	width: 2240px;
}
#top_banner_6_list .swiper-slide {
	display: grid;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr;
	margin: 0px 10px 20px;
	width: 300px;
	font-weight: bold;
}


#top_banner_6_list .bnr_img {
	display: block;
	width: 300px;
	height: 200px;
}
#top_banner_6_list .swiper-slide.bnr-l-t::before {
	content: '';
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	background:url(/img/common/noimage.png) no-repeat center center#e6efe9;
	background-size: 200px 150px;
}
#top_banner_6_list .swiper-slide a{
	display: block;
	width: 100%;
	height: 100%;
}
#top_banner_6_list .swiper-slide span{
	display: block;
}
#top_banner_6_list .swiper-slide .bnr_txt{
	margin-top: 10px;
}
#top_banner_6_list .swiper-slide img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
	-o-object-position: center;
	   object-position: center;
	background: #e6efe9;
}
#top_banner_6_list .banner_text{
	padding: 0;
}

#lettering .slide_control_wrap {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}
#lettering .slide_control_wrap .slide_pagination{
	width: auto;
}
#lettering .slide_control_box1 button{
	display: block;
	width: 24px;
	height: 24px;
	border: none;
	background-color: var(--green-dark);
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 50%;
	position: relative;
}
#lettering .slide_control_box1 button.is-active{
	display: none;
}
#lettering .slide_control_box1 button.slide_control_stop{
	background-image: url(/img/top/icon-pause.png);
}
#lettering .slide_control_box1 button.slide_control_play{
	background-image: url(/img/top/icon-play.png);
	background-size: 10px auto;
	background-position: calc(50% + 2px) center;
}

#lettering .slide_control_wrap .slide_pagination .swiper-pagination-bullet{
	width: 24px;
	height: 24px;
	vertical-align: middle;
	position: relative;
	background: none transparent;
	opacity: 1;
}
#lettering .slide_control_wrap .slide_pagination .swiper-pagination-bullet::before{
	content: '';
	width: 10px;
	height: 10px;
	position: absolute;
	top: calc(50% - 5px);
	left: calc(50% - 5px);
	background: #fff;
	border-radius: 50%;
	box-shadow: 0px 0px 0px 1px var(--green-dark);
}

#lettering .slide_control_wrap .slide_pagination .swiper-pagination-bullet{
}
#lettering .slide_control_wrap .slide_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before{
	background: var(--green-dark);
}


/* トピックス（サムネイルなし） */
#lettering + .topics_no_image_list {
	margin-top: 30px;
}

.top_content_koho_innerwrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	/* font-size: 1.6rem; */
}
.font_size_changed .top_content_koho_innerwrap{
	grid-template-columns: 1fr;
}
.top_content_koho_innerwrap h3{
	color: var(--green-dark);
	margin: 0px;
	font-size: 2.4rem;
}
.top_koho_ueda{
	background: var(--green-light);
	padding: 40px;
	display: grid;
	grid-template-columns: 210px 1fr;
	gap: 35px;
}
.koho_img{
	width: min(210px,100%);
	height: auto;
	aspect-ratio: 210 / 297;
	display: block;
}
.koho_img img{
	width: min(210px,100%);
	height: auto;
	-o-object-fit: contain;
	object-fit: contain;
}
.koho_txt{
	display: grid;
	grid-template-rows: auto auto 1fr;
	align-items: start;
	text-align: center;
	gap: 20px;
}
.koho_txt p{
	margin: 0px;
}
.top_koho_ueda .koho_txt ul{
	margin: 0px;
	margin-top: auto;
	padding: 0px;
	list-style: none;
	display: grid;
	grid-template-rows: auto auto;
	gap: 20px;
	text-align: left;
}
.top_koho_ueda ul li{
	margin: 0px;
	padding: 0px;
}
.top_koho_ueda #top_banner_7_list{
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.top_koho_ueda #top_banner_7_list li:not(:last-child){
	display: none;
}
.top_koho_ueda ul li a:-webkit-any-link{
	display: block;
	color: currentcolor;
	background: #fff;
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1;
	border-radius: 6px;
}
.top_koho_ueda ul li a:-moz-any-link{
	display: block;
	color: currentcolor;
	background: #fff;
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1;
	border-radius: 6px;
}
.top_koho_ueda ul li a:any-link{
	display: block;
	color: currentcolor;
	background: #fff;
	text-decoration: none;
	font-size: clamp(1rem,2vw,1.6rem);
	line-height: 1;
	border-radius: 6px;
}
.top_koho_ueda ul li a span{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	padding: 20px 15px 20px 15px;
	font-size: 1.8rem;
}
.top_koho_ueda ul li a span::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	
}
.top_koho_sns{
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	align-items: center;
	margin: 40px 0px 0px;
}
.top_koho_sns h3{
	grid-column: 1 / 3;
	text-align: center;
	font-size: 2.6rem;
	margin: 0px 0px 30px;
}
.top_koho_sns ul{
	grid-column: 1 / 2;
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: flex;
	gap: 10px;
}
.top_koho_sns ul :where(a,img){
	display: block;
	text-decoration: none;
	margin-inline: auto;
}
.top_koho_sns ul a:has(.sns_title){
	position: relative;
}
.top_koho_sns ul .sns_title{
	font-size: 1.4rem;
	line-height: 1;
	text-decoration: none;
}
.top_koho_sns p.sns_other{
	grid-column: 2 / 3;
	display: block;
	margin: 0px;
	margin-left: auto;
}
.top_koho_sns p.sns_other span{
	display: inline-block;
}
.top_koho_sns p.sns_other a:any-link span{
	text-decoration: underline;
}

.top_tokei_txt{
	text-align: center;
	font-size: 1.6rem;
}
.top_tokei_txt p.link{
	display: inline-block;
	margin: 0;
}
.top_tokei_txt p.link a:-webkit-any-link{
	display: block;
	color: currentcolor;
	text-decoration: none;
	padding: 10px;
	box-shadow: 
		0px 0px 5px 0px var(--green-light),
		0px 0px 5px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light);
	border-radius: 6px;
}
.top_tokei_txt p.link a:-moz-any-link{
	display: block;
	color: currentcolor;
	text-decoration: none;
	padding: 10px;
	box-shadow: 
		0px 0px 5px 0px var(--green-light),
		0px 0px 5px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light);
	border-radius: 6px;
}
.top_tokei_txt p.link a:any-link{
	display: block;
	color: currentcolor;
	text-decoration: none;
	padding: 10px;
	box-shadow: 
		0px 0px 5px 0px var(--green-light),
		0px 0px 5px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light),
		0px 0px 10px 0px var(--green-light);
	border-radius: 6px;
}
.top_tokei_txt p.link a:-webkit-any-link:hover{
	text-decoration: underline;
}
.top_tokei_txt p.link a:-moz-any-link:hover{
	text-decoration: underline;
}
.top_tokei_txt p.link a:any-link:hover{
	text-decoration: underline;
}
.top_tokei_txt p.link a:-webkit-any-link span{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
}
.top_tokei_txt p.link a:-moz-any-link span{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
}
.top_tokei_txt p.link a:any-link span{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
}
.top_tokei_txt p.link a:-webkit-any-link span::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
}
.top_tokei_txt p.link a:-moz-any-link span::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
}
.top_tokei_txt p.link a:any-link span::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
}

/* 市政情報 */
.top_content_shisei{
	background: var(--green-light);
	padding: 60px 0px;
}
.top_content_shisei h2{
	margin: 0px 0px 30px;
	text-align: center;
	/* color: var(--green-dark); */
}
.top_content_shisei h2 span{
	display: block;
}
.top_content_shisei h2 span.ttl_main{
	font-size: 3.0rem;
	line-height: 1;
	margin: 0px 0px 10px;
}
.top_content_shisei h2 span.ttl_sub{
	font-size: 2.4rem;
	line-height: 1;
}

/* ミニカレンダー */
#top_calendar_detail {
	width: 100%;
}
#top_calendar_detail ul {
	margin: 0px 0px 20px;
	padding: 0px;
	list-style: none;
	width: 100%;
	display: table;
}
#top_calendar_detail ul li {
	display: table-cell;
	vertical-align: middle;
}
#top_calendar_detail ul li.calendar_index_last {
	width: 4em;
	text-align: left;
}
#top_calendar_detail ul li.calendar_index_next {
	width: 4em;
	text-align: right;
}
#top_calendar_detail ul li.calendar_index_now {
	text-align: center;
}

table#top_calendar_table {
	width: 100%;
	border: 1px solid;
	border-collapse: collapse;
}
table#top_calendar_table th {
	border: 1px solid;
	font-weight: normal;
	text-align: center;
	padding: 10px 0px;
	font-size: 80%;
}
table#top_calendar_table td {
	border: 1px solid;
	text-align: center;
	padding: 10px 0px;
}
table#top_calendar_table td a {
	display: block;
}

.cal_sun {
	color: #990000;
	background-color: #ffdde6;
}
.cal_mon,.cal_tue,.cal_wed,.cal_thu,.cal_fri {
	background-color: #f5f5f5;
}
.cal_sat {
	color: #000099;
	background-color: #ccddff;
}
.cal_hol {
	background-color: #ffdde6;
}
.cal_today {
	background-color: #ffff80;
}

#top_event_today {
	margin-top: 30px;
}

/* さがすメニュー */
.top_search_menu_list {
	margin: 40px 0px 0px;
}
.top_search_menu_list ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
}
.top_search_menu_list ul li {
	width: 100%;
}
.top_search_menu_list ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border: 1px solid transparent;
	background: #e6e6e6;
	color: #333333;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.8rem;
	text-decoration: none;
	text-align: center;
	padding: 20px 10px;
}
.top_search_menu_list ul li a:hover,
.top_search_menu_list ul li a:focus {
	text-decoration: underline;
}


/* 時計 */
.top_tokei {
	margin: 0px 0px 0px;
	box-shadow: 0px 0px 0px 10px var(--green-light) inset;
	box-sizing: border-box;
	background: #fff;
	padding: 40px;
}
.top_tokei h2 {
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 2rem;
}

.top_tokei_img {
	width: 420px;
	height: auto;
	position: relative;
	margin-inline: auto;
	aspect-ratio: 42 / 30;
}

#tokei_photo {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	aspect-ratio: 42 / 30;
}
#tokei_photo .clock-image{
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	opacity: 0;
	transition: opacity 1.0s ease-in-out;

}
#tokei_photo .clock-image.active{
	opacity: 1;
}

#tokei_time {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 1;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	text-shadow: 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff,
		0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff,
		0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff;
}

/* カウントダウン */
.count_down_box_wrap {
	margin: 40px 0px 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 30px;
}
.count_down_box {
	width: calc(50% - 15px);
	box-sizing: border-box;
	background: #f6f6f6;
	padding: 20px;
}

.count_down_box2 {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
}
.count_down_box2 > span {
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}

.count_down_box2 > span.count_img {
	width: 200px;
}
.count_down_box2 > span.count_img > span {
	display: block;
}
.count_down_box2 > span.count_img > span img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.count_down_box2 > span.count_txt {
	width: calc(100% - 220px);
}
.count_down_box2 > span.count_txt:only-child {
	width: 100%;
}
.count_down_box2 > span.count_txt > span {
	display: block;
}
.count_down_box2 > span.count_txt > span.count_comment {
	margin-top: 10px;
	font-size: 1.4rem;
}
.count_down_box2 > span.count_txt > span.count_day {
	margin-top: 10px;
	color: #cc0000;
	text-align: right;
}
.count_down_box2 > span.count_txt > span.count_day span {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	margin-left: 0.5em;
	margin-right: 0.25em;
}

/* おすすめページ */
.top_content_osusume h2{
	text-align: center;
	margin: 0px 0px 60px;
}
#top_banner_3_list{
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill,240px);
	gap: 30px;
}
#top_banner_3_list li{
	display: block;
}
#top_banner_3_list li :where(a,img){
	display: block;
}
#top_banner_3_list li img{
	width: 100%;
	height: auto;
}

/* バナー広告 */
/* ul.banner_list {
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 20px;
}
ul.banner_list li {
	width: calc(25% - 15px);
}
ul.banner_list li img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
 */
#top_banner_2_list ul{
	margin: 30px 0px 0px ;
	padding: 0px;
	list-style: none;
	left: 7px;
}
#top_banner_2_list ul li{
	display: block;
	width: 240px;
}
#top_banner_2_list ul li :where(a,img){
	display: block;
	width: 240px;
}

/* 市政情報 */
ul#top_banner_5_list {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	width: min(1080px,100%);
	gap: 30px;
}
ul#top_banner_5_list li{
	display: block;
	background: #fff;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 10px;
	box-shadow: var(--boxShadow1);
}
ul#top_banner_5_list li .banner_text{
	display: grid;
	height: 100%;
	box-sizing: border-box;
	padding: 0px;
}
ul#top_banner_5_list li:has(img){
	grid-column: span 2;
}
ul#top_banner_5_list li img{
	display: block;
	height: auto;
	max-width: 100%;
}
ul#top_banner_5_list a:-webkit-any-link{
	text-decoration: none;
	font-weight: bold;
	height: 100%;
	box-sizing: border-box;
	display: grid;
}
ul#top_banner_5_list a:-moz-any-link{
	text-decoration: none;
	font-weight: bold;
	height: 100%;
	box-sizing: border-box;
	display: grid;
}
ul#top_banner_5_list a:any-link{
	text-decoration: none;
	font-weight: bold;
	height: 100%;
	box-sizing: border-box;
	display: grid;
}
ul#top_banner_5_list a:-webkit-any-link:hover{
	text-decoration: underline;
}
ul#top_banner_5_list a:-moz-any-link:hover{
	text-decoration: underline;
}
ul#top_banner_5_list a:any-link:hover{
	text-decoration: underline;
}
ul#top_banner_5_list :where(a:has(img),span.nolink_banner){
	display: grid;
	grid-template-columns: 220px 1fr;
	align-items: center;
}
ul#top_banner_5_list .banner_text a:-webkit-any-link{
	padding: 10px;
}
ul#top_banner_5_list .banner_text a:-moz-any-link{
	padding: 10px;
}
ul#top_banner_5_list .banner_text a:any-link{
	padding: 10px;
}
ul#top_banner_5_list .banner_text a:-webkit-any-link span{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
}
ul#top_banner_5_list .banner_text a:-moz-any-link span{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
}
ul#top_banner_5_list .banner_text a:any-link span{
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	font-size: 2rem;
}
ul#top_banner_5_list .banner_text a:-webkit-any-link span::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);

}
ul#top_banner_5_list .banner_text a:-moz-any-link span::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);

}
ul#top_banner_5_list .banner_text a:any-link span::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);

}

ul#top_banner_5_list .banner_title_text{
	display: block;
	text-align: center;
	display: grid;
	grid-template-rows: auto auto;
	justify-content: center;
	gap: 20px;
	font-size: clamp(1.65rem,2.5vw,2.2rem);
	line-height: 1;
	font-weight: bold;
}
ul#top_banner_5_list .banner_title_text::after{
	content: '';
	display: block;
	background: var(--green-dark);
	width: 20px;
	height: 6px;
	margin-inline: auto;
	border-radius: calc(infinity * 1px);
}
.top_shisei_bnr_t .banner_text:not(:has(a)) span{
	display: grid;
	height: 100%;
	box-sizing: border-box;
	place-content: center start;
	padding: 10px;
}

/* バナー広告 */
.top_content_koukoku{
	background: var(--green-light);
	padding: 70px 0;
	margin-bottom: 0;
}
.top_content_koukoku_innerwrap{
	width: min(1080px,100%);
	margin-inline: auto;
	display: grid;
	grid-template-columns: auto min(900px,100%);
	/* gap: 25px; */
	align-items: start;
}
.top_koukoku_title{
	display: block;
}
.top_koukoku_title h2{
	background: #fff;
	aspect-ratio: 1 / 1;
	display: inline-grid;
	place-content: center center;
	font-size: 1.8rem;
	padding: 20px;
	border-radius: 50%;
}
.top_koukoku_title p{
	margin: 0px;
}
.top_koukoku_title p a:-webkit-any-link{
	display: inline-grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	font-size: 1.6rem;
	text-decoration: none;
	gap: 10px;
}
.top_koukoku_title p a:-moz-any-link{
	display: inline-grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	font-size: 1.6rem;
	text-decoration: none;
	gap: 10px;
}
.top_koukoku_title p a:any-link{
	display: inline-grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	font-size: 1.6rem;
	text-decoration: none;
	gap: 10px;
}
.top_koukoku_title p a:-webkit-any-link:hover{
	text-decoration: underline;
}
.top_koukoku_title p a:-moz-any-link:hover{
	text-decoration: underline;
}
.top_koukoku_title p a:any-link:hover{
	text-decoration: underline;
}
.top_koukoku_title p a::after{
	content: '';
	display: block;
	background: var(--green-dark,#005f26);
	width: 10px;
	height: 15px;
	-webkit-clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
	clip-path: polygon(25% 0%, 100% 50%, 25% 100%, 10% 90%, 75% 50%, 10% 10%);
}
ul#top_banner_4_list{
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill,160px);
	gap: 25px 25px;
}
ul#top_banner_4_list li{
	display: block;
	margin: 0px;
	padding: 0px;
}
ul#top_banner_4_list li :where(a,img){
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}


/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1080px) {
	:root{
		--boxShadow1: 0px 0px 6px -3px rgba(0,0,0,0.5),0px 0px 2px -1px rgba(0,0,0,0.5);
	}
	.tpl_top #mymainback {
		margin-inline: 0;
	}

	.top_content_emer,
	.top_content_news,
	.top_content_koho{
		margin-inline: 20px;
	}
	
	/* 重要なお知らせ関係 */
	#top_important ul{
		display: block;
	}
	#top_important ul li{
		display: block;
	}
	#top_important ul li span{
		display: block;
	}
	#top_important .link_box span[class*="link_"] a:any-link{
		font-size: 1.2rem;
	}

	.emer_link{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto;
		gap: 10px;
		padding: 15px;
	}
	.emer_link ul{
		display: contents;
	}
	.emer_link ul li a:-webkit-any-link{
		font-size: 1.1rem;
	}
	.emer_link ul li a:-moz-any-link{
		font-size: 1.1rem;
	}
	.emer_link ul li a:any-link{
		font-size: 1.1rem;
	}
	.emer_link ul li a span{
		gap: 5px;
		place-content: center start;
		margin-inline: auto;
		grid-template-columns: 20px 1fr;
		font-size: 1.1rem;
	}
	.emer_link ul li.emer_link_doctor a span::before{
		height: auto;
		aspect-ratio: 36 / 38;
		width: 20px;
	}
	.emer_link ul li.emer_link_bousaiportal a span::before{
		/* height: 26px; */
		width: 20px;
		height: auto;
		aspect-ratio: 45 / 53;
	}
	.emer_link ul li.emer_link_hazardmap a span::before{
		height: auto;
		aspect-ratio: 40 / 41;
		width: 20px;
	}
	.top_content.top_width_full.top_content_search {
		margin: 0;
	}

	/* 新着情報 */
	#top_tab_title ul{
		gap: 10px;
	}
	#top_tab_title ul li button,#top_tab_title ul li.tab_on button{
		font-size: clamp(1.3rem,2.5vw,3rem);
		padding-inline: 5px;
	}
	.top_tab_detail_list ul li{
		display: block;
	}
	.top_tab_detail_list ul li span{
		display: block;
	}
	#top_tab_detail{
		padding-inline: 20px;
	}
	.top_tab_detail_box .link_box span[class*="link_"] a:any-link{
		padding-inline: 10px;
		font-size: 1.2rem;
	}

	/* トピックス */
	#top_banner_6_list .swiper-slide{
		margin: 0;
		padding-inline: 5px;
		box-sizing: border-box;
	}
	#top_banner_6_list .bnr_img{
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
	}
	#top_banner_6_list .swiper-slide img{
		background: none;
	}


	/* 広報 */
	.top_content_koho_innerwrap{
		display: block;
	}
	.top_content_koho_innerwrap h3{
		font-size: 1.6rem;
		margin: 10px;
	}
	.top_koho_ueda{
		gap: 10px;
		justify-self: center;
		padding: 20px;
		width: 100%;
		box-sizing: border-box;
		grid-template-columns: minmax(140px,1fr) 1fr;
	}
	.font_size_changed .top_koho_ueda{
		display: block;
	}
	.top_koho_ueda .koho_txt ul{
		gap: 10px;
	}
	.top_koho_ueda ul li a span{
		padding-inline: 10px;
		font-size: 1.4rem;
	}
	.top_koho_sns{
		display: block;
		margin-block: 40px;
	}
	.top_koho_sns ul{
		justify-content: center;
		margin-bottom: 20px;
	}
	.top_koho_sns p{
		text-align: center;
	}

	.top_tokei{
		padding: 25px;
	}
	.top_tokei_img{
		width: 100%;
	}
	.top_tokei_txt{
		font-size: 1.4rem;
	}

	/* 市政情報 */
	ul#top_banner_5_list{
		/* display: block; */
		grid-template-columns: repeat(2,1fr);
		padding-inline: 20px;
		box-sizing: border-box;
		gap: 10px;
		font-size: clamp(1rem,2vw,1.5rem);
	}
	ul#top_banner_5_list :where(a:has(img),span.nolink_banner){
		grid-template-columns: 140px 1fr;
	}
	ul#top_banner_5_list li{
		padding: 5px;
	}
	ul#top_banner_5_list .banner_text a:any-link span{
		font-size: 1.2rem;
	}

	/* おすすめページ */
	.top_content_osusume h2{
		text-align: center;
		font-size: 3rem;
	}
	#top_banner_3_list{
		grid-template-columns: repeat(auto-fill,150px);
		gap: 10px;
		width: auto;
		margin-inline: auto;
		justify-content: center;
	}

	#top_banner_2_list ul li{
		padding: 5px;
		box-sizing: border-box;
	}
	#top_banner_2_list ul li :where(a,img){
		max-width: 100%;
		height: auto;
	}

	/* 広告欄 */
	.top_content_koukoku{
		padding: 10px 10px;
	}
	.top_content_koukoku_innerwrap{
		display: block;
	}
	.top_koukoku_title{
		text-align: center;
		margin: 0px 0px 20px;
	}
	ul#top_banner_4_list{
		grid-template-columns: repeat(auto-fill,100px);
		gap: 10px;
		justify-content: center;
	}
}
/* ==================================================
スマートフォン ここまで
================================================== */