@charset "utf-8";

/* 非表示 */
#footstep_wrap {
	display: none !important;
}


/* スライド */
#front_photo_wrap{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	
}

#front_mainwrap{
	position: relative;
	z-index: 10;
	min-height: 100vh;
	display: grid;
	grid-template-rows: 1fr auto;
	pointer-events: none;
}
#mymainback_bg{
	display: grid;
	place-content: end center;
	pointer-events: none;
	position: relative;
}
#mymainback{
	margin: 0px;
	padding: 0px;
	/* pointer-events: auto; */
}

/* ヘッダ */
#header{
	position: fixed;
	top: 20px;
	left: 20px;
	pointer-events: auto;
	z-index: 10;
}
#he_left{
	width: auto;
	height: auto;
}

/* 緊急情報・重要なお知らせ */
#front_emer_wrap{
	position: fixed;
	top: 0;
	right: 0;
	display: grid;
	grid-template-columns: repeat(2,250px);
	gap: 10px;
	pointer-events: auto;
	z-index: 10;
}
#front_emer_wrap:has(#top_important:only-child),
#front_emer_wrap:has(#main_box_emergency:only-child){
	grid-template-columns: 1fr;
}

/* 重要なお知らせ */
#top_important {
	margin: 0px;
	padding: 20px 20px;
	background: #fdf2f2;
	display: grid;
	grid-template-rows: auto 1fr;
}
#top_important h2 {
	margin: 0px 0px 20px;
	padding: 0px;
	color: #cc0000;
	font-size: 2rem;
	text-align: center;
}

.top_important_list{
	display: grid;
	grid-template-rows: 1fr auto;
	grid-template-columns: calc(250px - 40px);
	box-sizing: border-box;
}
#top_important ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
	height: 100px;
	overflow-y: auto;
}
#top_important ul li {
}
#top_important ul li:last-child {
}
#top_important ul li > span {
	display: block;
}
#top_important ul li > span.article_date {
	font-size: 1.2rem;
}
#top_important ul li > span.article_title{
	font-size: 1.4rem;
}
#top_important ul li a {
	color: #cc0000;
}

#top_important .link_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 10px 20px;
	padding: 30px 0px 0px;
}
#top_important .link_box span[class*="link_"] {
	width: 260px;
	max-width: 100%;
}
#top_important .link_box span[class*="link_"] a {
	display: block;
	border: 1px solid transparent;
	border-radius: 0;
	background: #ffffff;
	color: #c00;
	font-size: 1.2rem;
	line-height: 1;
	text-decoration: none;
	margin: 0px;
	padding: 10px 20px;
	text-align: center;
}
#top_important .link_box span[class*="link_"] a:hover,
#top_important .link_box span[class*="link_"] a:focus {
	text-decoration: underline;
}

/* 防災メール連携（JavaScript） */
#main_box_emergency .box_top_emer {
	margin: 0px 0px 0px;
	padding: 20px 20px;
	background: #fffaec;
}
#main_box_emergency h2 {
	margin: 0px 0px 20px;
	padding: 0px;
	color: #333333;
	font-size: 2rem;
	text-align: center;
}

#main_box_emergency ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
	height: 120px;
	overflow-y: auto;
}
#main_box_emergency ul li {
}
#main_box_emergency ul li:last-child {
}
#main_box_emergency ul li > span {
}
#main_box_emergency ul li > span.emer_date {
	font-size: 1.2rem;
}
#main_box_emergency ul li > span.emer_title{
	font-size: 1.4rem;
}
#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.2rem;
	line-height: 1;
	text-decoration: none;
	margin: 0px;
	padding: 10px 20px;
	text-align: center;
	-webkit-box-sizing: border-box;
	        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;
}

/* ナビ */
#nav_front{
	position: relative;
	z-index: 10;
}
#nav_front ul{
	margin: 0px 0px 20px;
	padding: 0px;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3,180px);
	gap: 35px;
	justify-content: center;
	align-items: center;
	/* pointer-events: none; */
}

#nav_front li a:any-link{
	font-size: 1.8rem;
	font-family: var(--fontfamily-serif);
	line-height: 1;
	height: 180px;
	display: grid;
	grid-template-rows: 86px 1.8rem 24px;
	place-content: center center;
	/* justify-content: center; */
	/* align-items: center; */
	gap: 10px;
	background: #fff;
	color: #333;
	text-decoration: none;
	text-align: center;
	border-radius: 50%;
	pointer-events: auto;
}
#nav_front li a::after{
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	background: url(/img/front/icon-link.png) no-repeat left 9px center #85afd8;
	border-radius: 50%;
	margin-inline: auto;
	transition: background-color 0.5s ease;
}
#nav_front li a span{
	display: block;
	line-height: 1;
}
#nav_front li a img{
	display: block;
	transition: transform 0.4s ease;
}
#nav_front li a:hover img{
	transform: scale(0.8);
}
#nav_front li a:hover::after{
	background-color: #4b4b4b;
	color: #fff;
}

/* フッタ */
#footer{
	background: #fff;
	color: #333;
	pointer-events: auto;
	position: relative;
	z-index: 10;
}
#footer a:any-link{
	color: currentcolor;
	
}
#footer_innerwrap{
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	align-items: center;
	width: min(100%,1080px);
	margin-inline: auto;
	padding: 20px 0px;
}
#footer_innerwrap .header_search_wrap4{
	padding: 0;
	grid-template-columns: 1fr auto;
	gap: 24px;
}
#footer_innerwrap #header_search_tab_select button{
	font-size: 1.4rem;
}
#footer_innerwrap ul.header_search_official_sns{
	gap: 24px;
	justify-content: end;
}
#footer_innerwrap ul.header_search_official_sns img{
	max-width: 40px;
	max-height: 40px;
}

#footer_innerwrap span.header_search_official_sns_link{
	position: static;
	font-size: 1.4rem;
	width: auto;
}

#footer_innerwrap #copyright{
	grid-column: span 2;
}

/* 検索 */
.cgm-search-input-area textarea {
	line-height: 4rem;
}
#header_search_tab_wrap {
	max-width: 480px;
}
#open_page_id {
	line-height: 4rem;
	height: auto;
}
.cgm-search-button.cgm-form1 {
	width: 80px;
}
#open_page_id_box .search_ipt {
	grid-template-columns: 1fr 80px;
}


@media screen and (max-width: 670px) {
	/* 非表示 */


	/* スライド */
	#front_photo_wrap{
		position: static;
	}

	#front_mainwrap{
		display: block;
	}
	#mymainback_bg{
		display: block;
	}

	#main_a{
		position: relative;
	}
	/* ヘッダ */
	/* 緊急情報・重要なお知らせがあるときはstaticにする */
	#front_mainwrap:has(:where(#main_box_emergency,#top_important)) #header{
		position: static;
	}
	#header{
		position: absolute;
		width: 100vw;
		left: 0;
	}
	#header2{
		width:fit-content;
		margin-inline: auto;
		margin-block: 10px;
	}
	#he_left{
		padding: 0;
	}
	#he_left #logo img{
		width: 250px;
	}

	/* 緊急情報・重要なお知らせ */
	#front_emer_wrap{
		position: static;
		display: flex;
		flex-direction: column;
	}

	/* 重要なお知らせ */

	.top_important_list{
		display: block;
	}

	#top_important .link_box {
		gap: 10px 10px;
	}
	#top_important .link_box span[class*="link_"] {
		width: auto;
	}
	#top_important .link_box span[class*="link_"] a {
		font-size: 1rem;
		padding-inline: 10px;
	}

	/* 防災メール連携（JavaScript） */


	#main_box_emergency .btn_emer #emer_mail_open_all {
		font-size: 1rem;
		width: auto;
		padding-inline: 10px;
	}

	/* ナビ */
	#nav_front{
		position: absolute;
		bottom: 0;
		width: 100vw;
	}
	#nav_front ul{
		grid-template-columns: repeat(3,110px);
		gap: 5px;
		margin-inline: 10px;
		justify-content: center;
	}

	#nav_front li a:any-link{
		aspect-ratio: 1 / 1;
		height: auto;
		font-size: 1.2rem;
		grid-template-rows: auto auto auto;
	}
	#nav_front li a::after{
		width: 15px;
		height: 15px;
		background-size: auto 7px;
		background-position: left 5px center;
	}
	#nav_front li a img{
		max-width: 65%;
		height: auto;
		margin-inline: auto;
	}

	/* フッタ */
	#footer{
		padding-inline: 20px;
	}
	#footer a:any-link{
	}
	#footer_innerwrap{
		display: block;
	}
	#footer_innerwrap .header_search_wrap4{
		margin-top: 40px;
	}
	#footer_innerwrap ul.header_search_official_sns{
		gap: 20px;
		grid-template-columns: repeat(5,auto);
		justify-content: center;
	}


	#footer_innerwrap #copyright{
		text-align: center;
	}

	
}
@media screen and (width > 670px) and (height < 700px){
	#nav_front{
		bottom: 60px;
	}
	#nav_front ul{
		justify-content: start;
		grid-template-columns: auto auto auto;
	}
	#nav_front li a:any-link{
		height: 150px;
		aspect-ratio: 1 / 1;
		grid-template-rows: 60px auto 24px;
	}
	#nav_front li a img{
		height: 60px;
		width: auto;
		align-self: center;
		justify-self: center;
	}
}