@charset "utf-8";

/* 足あとを非表示 */
#footstep_wrap {
	display: none !important;
}

/* ヘッダ並び順 */
#top_header_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}
#top_important {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}
#top_header_box {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
}
#top_search {
	-webkit-box-ordinal-group: 4;
	    -ms-flex-order: 3;
	        order: 3;
}

/* 重要なお知らせ */
#pcm_wrap button#pcm_important {
	background: #cc0000;
	color: #ffffff;
	min-width: 18rem;
	padding-right: 30px;
	position: relative;
}
#pcm_wrap button#pcm_important span.icon {
	background-image: url("/img/common/icon-important.png");
	text-align: left;
}
#pcm_wrap button#pcm_important span.icon.txt_close {
	display: none;
}
.pcm_important_open #pcm_wrap button#pcm_important span.icon.txt_close {
	display: block;
}
.pcm_important_open #pcm_wrap button#pcm_important span.icon.txt_open {
	display: none;
}

#top_important {
	display: none;
	background: #f5e5e5;
	position: relative;
}
.pcm_important_open #top_important {
	display: block;
}

.top_important_box {
	width: var(--content-width, 1080px);
	margin: 0px auto;
	padding: 30px 0px;
}
.top_important_box h2 {
	margin: 0px 0px 30px;
	padding: 5px 0px 5px 55px;
	background: url("/img/common/icon-ttl-important.png") no-repeat left center transparent;
	background-size: 40px 40px;
	color: #cc0000;
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 3rem;
}

.top_important_list {
	margin-bottom: 30px;
}
.top_important_list ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.top_important_list ul li {
	display: table;
	width: 100%;
	margin: 0px 0px 15px;
	font-size: var(--fontsize-detail, 1.8rem);
	line-height: 1.5;
}

.top_important_list ul li span.article_title {
	display: table-cell;
	vertical-align: top;
}
.top_important_list ul li span.article_date {
	display: table-cell;
	vertical-align: top;
	width: calc(11em + 10px);
	font-size: var(--fontsize-detail-small, 1.6rem);
	padding-top: 0.1rem;
}

/* 新着情報（文字拡大時） */
.font_size_changed .top_important_list ul li,
.font_size_changed .top_important_list ul li span.article_title,
.font_size_changed .top_important_list ul li span.article_date {
	display: block;
}
.font_size_changed .top_important_list ul li span.article_date {
	width: auto;
}

.top_important_list .link_box {
	margin-top: 25px;
	margin-right: 15px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 20px 30px;
}
.top_important_list .link_box a {
	display: inline-block;
	background: url("/img/common/icon-arrow-circle-red.png") no-repeat right center transparent;
	font-size: 1.4rem;
	line-height: 2rem;
	padding: 10px 50px 10px 0px;
	text-decoration: none;
}
.top_important_list .link_box a:hover,
.top_important_list .link_box a:focus {
	text-decoration: underline;
}

/* 重要なお知らせ（キーボード操作） */
button#top_important_start,
button#top_important_end {
	display: block;
	border: none;
	background: none;
	margin: 0px;
	padding: 0px;
	width: 1px;
	height: 1px;
	text-align: left;
	text-indent: -9999em;
	overflow: hidden;
}
button#top_important_start {
	position: absolute;
	top: 0px;
	left: 0px;
}
button#top_important_end {
	position: absolute;
	bottom: 0px;
	right: 0px;
}

/* 重要リンク */
ul.top_important_menu {
	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: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 24px;
}
ul.top_important_menu li {
	width: calc(25% - 18px);
}
ul.top_important_menu li a {
	display: block;
	border: 1px solid transparent;
	border-radius: 30px;
	background: #ffffff;
	color: #cc0000;
	font-size: 1.6rem;
	line-height: 1.8rem;
	padding: 10px 20px;
	text-decoration: none;
	text-align: center;
}
ul.top_important_menu li a:hover,
ul.top_important_menu li a:focus {
	text-decoration: underline;
}

/* ヘッダ */
#top_header_box {
	position: relative;
}

#header2 {
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	z-index: 4;
	background: none;
}

#he_right {
	width: 100%;
}

.header_nav .h_main a,
.h_support_wrap button.btn_support {
	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,
				 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;
}

/* グローバルメニュー */
#top_search {
	width: var(--content-width, 1080px);
	margin: 0px auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: url("/img/common/logo.png") no-repeat left center transparent;
	padding: 40px 0px 40px 240px;
}
#top_search ul.search_life3 {
	padding: 15px 0px 20px;
}

/* ヘッダ（フローティング） */
@media screen and (min-width: 1081px) and (min-height: 500px) {

	#header {
		min-height: 800px;
	}

	.header_hide #pcm_wrap {
		margin-left: auto;
	}
	.header_hide #pcm_wrap button#pcm_important {
		display: none;
	}

	.header_hide #top_search {
		width: 900px;
		background: none;
		padding: 0px;
		position: fixed;
		top: 0px;
		left: calc(50% - 540px);
		z-index: 101;
	}
	.font_size_changed.header_hide #top_search {
		position: static;
	}
	.header_hide #top_search ul.search_life3 {
		padding: 20px 0px;
	}
	.header_hide ul.search_life3 .box_life2 {
		width: 100vw;
		right: auto;
		left: calc(50% + 90px);
		-webkit-transform: translateX(-50%);
		    -ms-transform: translateX(-50%);
		        transform: translateX(-50%);
	}

	#footer {
		z-index: 101;
		position: relative;
	}

}
/* ヘッダ（フローティング） ここまで */

/* ロゴ */
#top_logo {
	width: 250px;
	position: absolute;
	top: 160px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	z-index: 2;
	pointer-events: none;
}
#top_logo h1 {
	margin: 0px;
	line-height: 1;
}
#top_logo h1 img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* 検索タブ */
#top_tab_wrap {
	width: 80rem;
	max-width: 100%;
	position: absolute;
	bottom: 100px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	z-index: 3;
	border: 1px solid transparent;
	border-radius: 20px;
	background: rgb(255 255 255 / 90%);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 0px 40px 25px;
}

#top_tab_title ul {
	margin: -25px 0px 20px;
	padding: 0px;
	list-style: none;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
}
#top_tab_title ul li button {
	margin: 5px 0px;
	border: none;
	border-radius: 30px;
	background: #d7d7d7;
	color: #333333;
	font-size: 1.4rem;
	line-height: 2rem;
	text-decoration: none;
	padding: 10px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	min-width: 175px;
}
#top_tab_title ul li button:hover {
	text-decoration: underline;
}
#top_tab_title ul li.tab_on button {
	margin-top: 0px;
	margin-bottom: 0px;
	background: #3ec1f0;
	font-size: 1.5rem;
	padding-top: 15px;
	padding-bottom: 15px;
	pointer-events: none;
}

#top_tab_detail h2 {
	display: none;
}

#cse_filetype2 {
	margin-bottom: 20px;
}

/* 注目ワード */
#search_trend_word p {
	margin: 0px;
	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: 15px 20px;
}
#search_trend_word p a {
	display: inline-block;
	vertical-align: top;
	margin: 0px;
	font-size: 1.4rem;
	line-height: 1.5;
	color: var(--textlink-link, #0d59b7);
	text-decoration: underline;
	cursor: pointer;
}
#search_trend_word p a:hover,
#search_trend_word p a:focus {
	text-decoration: none;
}

/* スライドショー */
#top_photo_wrap {
	position: relative;
	z-index: 1;
	max-width: 2000px;
	margin: 0px auto;
	overflow: hidden;
}
#top_photo {
	width: 2000px;
	height: 800px;
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}

#top_photo_list {
	position: relative;
}
#top_photo_list .photo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2000 / 800;
}
#top_photo_list .photo img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
	vertical-align: top;
}
#top_photo_list .photo a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

#top_photo_list .slide_control_box1 {
	width: var(--content-width, 1080px);
	position: absolute;
	bottom: 20px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	z-index: 1;
}

.slide_control_box1,
.slide_control_box2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px 15px;
	line-height: 1;
}
.slide_control_box1 {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.noslide .slide_control_box1 {
	display: none;
}

.slide_control_box1 button[class*="slide_control_"] {
	display: block;
	margin: 0px;
	padding: 0px;
	width: 30px;
	height: 30px;
	border: none;
	border-radius: 100%;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center center;
	color: inherit;
}
.slide_control_box1 button[class*="slide_control_"].is-active {
	display: none;
}
.slide_control_box1 button.slide_control_prev {
	background-image: url("/img/top/btn-slide-prev.png");
}
.slide_control_box1 button.slide_control_next {
	background-image: url("/img/top/btn-slide-next.png");
}
.slide_control_box1 button.slide_control_stop {
	background-image: url("/img/top/btn-slide-stop.png");
}
.slide_control_box1 button.slide_control_play {
	background-image: url("/img/top/btn-slide-start.png");
}

.slide_control_box1 .slide_pagination {
	width: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 6px;
}
.slide_control_box1 .slide_pagination .swiper-pagination-bullet {
	display: inline-block;
	vertical-align: middle;
	margin: 0px;
	padding: 0px;
	width: 24px;
	height: 24px;
	border: none;
	background: url("/img/top/btn-slide-off.png") no-repeat center center transparent;
	color: inherit;
	opacity: 1;
}
.slide_control_box1 .slide_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-image: url("/img/top/btn-slide-on.png");
}

/* メイン */
#mymainback_bg {
	max-width: 2000px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
}
#mymainback {
	width: auto;
	margin: 0px;
	padding: 0px 0px 90px;
}

.top_main_box {
	width: var(--content-width, 1080px);
	margin-left: auto;
	margin-right: auto;
}

h3.m_h3 {
	margin: 0px;
	font-size: 2.4rem;
	line-height: 3rem;
	padding-left: 40px;
	position: relative;
}
h3.m_h3::before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background: #3ec1f0;
	border-radius: 5px;
	color: #000000;
	position: absolute;
	top: calc(50% - 4px);
	left: 0px;
	-webkit-transform: rotate(45deg) translateY(-50%);
	    -ms-transform: rotate(45deg) translateY(-50%);
	        transform: rotate(45deg) translateY(-50%);
}

#main .link_box {
	margin-top: 25px;
	margin-right: 15px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 20px 30px;
}
#main .link_box a {
	display: inline-block;
	background: url("/img/common/icon-arrow-circle.png") no-repeat right center transparent;
	font-size: 1.4rem;
	line-height: 2rem;
	padding: 10px 50px 10px 0px;
	text-decoration: none;
}
#main .link_box a:hover,
#main .link_box a:focus {
	text-decoration: underline;
}

/* MV */
#top_mv {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	line-height: 1;
}

#top_mv_slide {
	width: 700px;
}

#top_mv_slide_list {
	position: relative;
}
#top_mv_slide_list .photo a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}
#top_mv_slide_list .photo .img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 700 / 380;
}
#top_mv_slide_list .photo .img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
	-o-object-position: center;
	   object-position: center;
	border-radius: 20px;
	vertical-align: top;
}
#top_mv_slide_list .photo .caption {
	display: block;
	width: 350px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-size: var(--fontsize-main, 1.6rem);
	line-height: 1.5;
	padding: 15px 10px;
}
#top_mv_slide_list .photo a:hover .caption,
#top_mv_slide_list .photo a:focus .caption {
	text-decoration: underline;
}

#top_mv_slide_list .slide_control_box1 {
	width: 350px;
	position: absolute;
	bottom: 10px;
	right: 0px;
	z-index: 1;
	background: #ffffff;
	padding: 5px 0px;
}

/* バナー */
#top_mv_banner {
	width: 330px;
}

#top_mv_banner_list {
	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: 20px;
}
#top_mv_banner_list .bnr {
	width: 100%;
}
#top_mv_banner_list .bnr a {
	display: block;
}
#top_mv_banner_list .bnr img {
	width: 100%;
	height: auto;
	vertical-align: top;
	border-radius: 20px;
}

/* 情報をさがす */
#top_main_search {
	margin-top: 40px;
}
#top_main_search .search_ttl {
	text-align: center;
	background: url("/img/top/bg-yama1.png") no-repeat left calc(50% + 115px) top 0px transparent;
	padding-top: 60px;
	padding-bottom: 40px;
	margin-bottom: -85px;
	position: relative;
}
#top_main_search .search_ttl h2 {
	margin: 0px;
	line-height: 1;
	background: url("/img/top/ttl-search-bg.png") no-repeat center bottom transparent;
	padding-bottom: 58px;
}
#top_main_search .search_ttl h2 img {
	max-width: 100%;
	height: auto;
}

#top_main_search .search_detail_bg {
	background: #aae5fa;
	padding-top: 100px;
	padding-bottom: 60px;
}
#top_main_search .search_detail {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
#top_main_search .search_detail > div {
	width: 510px;
	margin: 0px;
}

#top_main_search .search_detail h3 {
	display: inline-block;
	border: 1px solid #3ec1f0;
	border-radius: 30px;
	background: #ffffff;
	font-size: 2rem;
	font-weight: normal;
	line-height: 2.8rem;
	padding: 10px 45px;
	margin: 0px 0px 20px;
}

#main .search_list_life .srch_list {
	gap: 20px 21px;
}
#main .search_list_life .srch_list li {
	width: calc(100% / 3 - 14px);
	aspect-ratio: auto;
}

/* お知らせ */
#top_main_news {
	margin-top: 60px;
}

#top_main_news .news_ttl {
	text-align: center;
	background: url("/img/top/bg-yama2.png") no-repeat left calc(50% + 115px) top 0px transparent;
	padding-top: 60px;
	padding-bottom: 40px;
}
#top_main_news .news_ttl h2 {
	margin: 0px;
	line-height: 1;
	background: url("/img/top/ttl-news-bg.png") no-repeat center bottom transparent;
	padding-bottom: 58px;
}
#top_main_news .news_ttl h2 img {
	max-width: 100%;
	height: auto;
}

/* トピックス */
.lettering_box {
	margin-top: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.lettering_box .lettering_box_img {
	width: 350px;
}
.lettering_box .lettering_box_img img {
	width: 100%;
	height: auto;
	vertical-align: top;
	border-radius: 20px;
}
.lettering_box .lettering_box_img div:empty {
	width: 100%;
	height: auto;
	aspect-ratio: 350 / 245;
	background: url("/img/common/noimage.png") no-repeat center center #f6f6f6;
	border-radius: 20px;
}

.lettering_box .lettering_box_text {
	width: calc(100% - 400px);
}
.lettering_box .lettering_box_text .article_date {
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 1.5;
}
.lettering_box .lettering_box_text .lettering_detail {
	margin-top: 10px;
	font-size: 1.4rem;
	line-height: 1.5;
}

/* 新着情報 */
#top_news {
	margin-top: 60px;
}
#top_news p.no_data {
	margin: 0px;
	padding: 20px 0px;
}

#top_news ul {
	margin: 20px 0px 0px;
	padding: 0px;
	list-style: none;
}
#top_news ul li {
	display: table;
	width: 100%;
	padding: 20px 40px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#top_news ul li:nth-child(even) {
	background: #f5fcfe;
	border-radius: 10px;
}

#top_news ul li span.article_title {
	display: table-cell;
	vertical-align: top;
}

#top_news ul li span.article_date {
	display: table-cell;
	vertical-align: top;
	width: calc(11em + 50px);
	font-size: var(--fontsize-main, 1.6rem);
	padding-top: 0.1rem;
	position: relative;
}
#top_news ul li span.article_date img.icon_new {
	position: absolute;
	top: 4px;
	right: 18px;
	width: 40px;
	height: auto;
}

/* 新着情報（文字拡大時） */
.font_size_changed #top_news ul li,
.font_size_changed #top_news ul li span.article_title,
.font_size_changed #top_news ul li span.article_date {
	display: block;
}
.font_size_changed #top_news ul li span.article_date {
	width: auto;
}
.font_size_changed #top_news ul li span.article_date img.icon_new {
	position: static;
	vertical-align: baseline;
	margin-left: 10px;
}

/* カウントダウン */
#count_down_area_1 {
	margin-top: 60px;
}
.count_down_box_wrap {
	margin-top: 20px;
	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: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 20px;
}
.count_down_box {
	width: calc(50% - 10px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid transparent;
	padding: 19px;
}

.count_down_box2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.count_down_box2 > span {
	display: inline-block;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	        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;
	border-radius: 10px;
}

.count_down_box2 > span.count_txt {
	width: calc(100% - 230px);
}
.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;
	line-height: 1.5;
}
.count_down_box2 > span.count_txt > span.count_day {
	margin-top: 20px;
	color: #cc0000;
	font-weight: bold;
	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_main_charm {
	margin-top: 60px;
}
#top_main_charm .charm_ttl {
	background: url("/img/top/bg-miryoku.jpg") no-repeat center top transparent;
	background-size: cover;
	height: 700px;
	position: relative;
}
#top_main_charm .charm_ttl h2 {
	width: 295px;
	margin: 0px;
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
#top_main_charm .charm_ttl h2 img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

#top_main_charm .charm_detail {
	margin-top: -145px;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

/* 時計・ライブカメラ */
.top_tokei,
.top_livecamera {
	width: 500px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}

.top_tokei_img,
.top_livecamera_img {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	width: 500px;
	height: auto;
	aspect-ratio: 500 / 280;
	border-radius: 20px;
	overflow: hidden;
	line-height: 1;
	position: relative;
}

.top_tokei_txt,
.top_livecamera_txt {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	margin-top: 30px;
}
.top_tokei_txt p,
.top_livecamera_txt p {
	margin: 20px 30px 0px 40px;
	font-size: var(--fontsize-main, 1.6rem);
}

/* 時計 */
#tokei_photo {
	width: 100%;
	height: 100%;
	background: #ffffff;
	border-radius: 20px;
	position: relative;
}
#tokei_photo .clock-image {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
	-o-object-position: center;
	   object-position: center;
	opacity: 0;
	-webkit-transition: opacity 1.0s ease-in-out;
	-o-transition: opacity 1.0s ease-in-out;
	transition: opacity 1.0s ease-in-out;
}
#tokei_photo .clock-image.active {
	opacity: 1;
}

#tokei_time {
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 1;
	font-size: 2.4rem;
	font-family: 'BIZ UDPGothic', Meiryo, 'Arial Black', sans-serif;
	font-weight: bold;
	line-height: 3rem;
	color: #000000;
	text-shadow: 0px 0px 5px #ffffff, 0px 0px 5px #ffffff, 0px 0px 8px #ffffff;
	-webkit-filter: invert(1);
	        filter: invert(1);
}

/* ライブカメラ */
.top_livecamera_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
	-o-object-position: center;
	   object-position: center;
	border-radius: 20px;
}

/* 注目の取り組み */
#top_pr {
	margin-top: 60px;
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #ebf9fe;
	border-radius: 20px;
	padding: 40px 41px;
}
#top_pr h3 {
	margin: 0px 0px 30px;
	font-size: 2.4rem;
	line-height: 3rem;
	text-align: center;
}

#top_pr_list {
	overflow: hidden;
}
#top_pr_list .swiper-wrapper {
	margin: 0px -12px;
}
.noslide #top_pr_list .swiper-wrapper {
	margin: 0px;
	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: 26px;
}
#top_pr_list .photo {
	width: 230px;
	max-width: 230px;
	margin: 0px;
	padding: 0px 12px;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
}
.noslide #top_pr_list .photo {
	margin: 0px;
	padding: 0px;
}
#top_pr_list .photo a {
	display: block;
	text-decoration: none;
	color: inherit;
}
#top_pr_list .photo img {
	width: 100%;
	height: auto;
	vertical-align: top;
	border-radius: 10px;
}

#top_pr_list .slide_control_box1 {
	margin-top: 20px;
}

/* SNS */
.top_sns {
	margin-top: 60px;
	width: 100%;
}
.top_sns,
.top_sns_list,
.top_sns_list ul {
	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: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 24px 48px;
}

.top_sns_list .link img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.top_sns_list ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.top_sns_list ul li {
	width: 48px;
}
.top_sns_list ul li a {
	display: block;
}
.top_sns_list ul li img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* 小山町について */
#top_main_about {
	margin-top: 60px;
}
#top_main_about .about_ttl {
	background: url("/img/top/img-about-map.png") no-repeat left calc(50% - 400px) top 0px,
				url("/img/top/bg-about.jpg") no-repeat center top transparent;
	background-size: auto, cover;
	height: 700px;
	position: relative;
}
#top_main_about .about_ttl h2 {
	width: 252px;
	margin: 0px;
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
#top_main_about .about_ttl h2 img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

#top_main_about .about_detail {
	margin-top: -75px;
	position: relative;
}

/* 町長などバナー */
#top_about_banner {
	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: 30px 45px;
}
#top_about_banner .bnr {
	width: 330px;
	background: #ffffff;
	border-radius: 20px 20px 0px 0px;
	overflow: hidden;
}
#top_about_banner .bnr a {
	display: block;
	text-decoration: none;
}
#top_about_banner .bnr img {
	width: 100%;
	height: auto;
	vertical-align: top;
	border-radius: 20px;
}
#top_about_banner .bnr .ttl {
	display: block;
	margin: 15px 30px 0px;
}
#top_about_banner .bnr a:hover .ttl,
#top_about_banner .bnr a:focus .ttl {
	text-decoration: underline;
}

/* リンクリスト */
#top_about_link {
	margin: 0px;
	padding: 0px 30px;
	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 40px;
}
#top_about_banner + #top_about_link {
	margin-top: 50px;
}
#top_about_link li {
	width: calc(25% - 30px);
	position: relative;
	padding-left: 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-size: var(--fontsize-main, 1.6rem);
	line-height: 1.5;
}
#top_about_link li::before {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	background: #3ec1f0;
	color: #000000;
	border-radius: 100%;
	position: absolute;
	left: 0px;
	top: 0.5em;
}
#top_about_link li a {
	text-decoration: none;
}
#top_about_link li a:hover,
#top_about_link li a:focus {
	text-decoration: underline;
}

/* 広告 */
#top_kokoku {
	margin-top: 60px;
}
#top_kokoku h2 {
	margin: 0px 0px 50px;
	font-size: 2.4rem;
	line-height: 3rem;
	text-align: center;
}

#top_kokoku ul {
	width: 630px;
	margin: 0px auto;
	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: 30px 50px;
}
#top_kokoku ul li {
	width: 120px;
}
#top_kokoku ul li img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

#top_kokoku .link {
	margin-top: 50px;
	text-align: center;
	font-size: 1.2rem;
}

/* 背景色変更 */
.color_change #top_logo,
.color_change #top_logo *,
.color_change #top_tab_title,
.color_change #top_tab_title ul,
.color_change #top_photo_list .slide_control_box1,
.color_change #top_main_search .search_ttl,
.color_change #top_main_news .news_ttl {
	background: none !important;
}
.color_change #top_main_search .search_ttl h2 img,
.color_change #top_main_news .news_ttl h2 img,
.color_change #top_about_link li::before {
	background: #ffffff !important;
}
.color_change #top_tab_title ul li.tab_on button {
	color: inherit !important;
	text-decoration: none !important;
}
/* 背景色変更 ここまで */


/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1080px) {

	/* ヘッダ並び順 */
	#sp_header {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	/* ヘッダメニュー */
	#header2 {
		position: static;
	}
	.header_nav {
		-webkit-transition: height 0.4s ease-out;
		-o-transition: height 0.4s ease-out;
		transition: height 0.4s ease-out;
	}

	/* 重要なお知らせ */
	#top_important,
	.pcm_important_open #top_important {
		display: block;
		width: 100%;
		overflow: hidden;
		height: 0px;
		-webkit-transition: height 0.4s ease-out;
		-o-transition: height 0.4s ease-out;
		transition: height 0.4s ease-out;
	}

	.top_important_box {
		visibility: hidden;
		width: auto;
		margin: 0px;
		padding: 20px 20px 30px;
	}
	.spm_important_open .top_important_box {
		visibility: visible;
	}

	.top_important_box h2 {
		font-size: 2rem;
		margin-bottom: 20px;
		background-size: 32px 32px;
		padding-left: 40px;
	}

	.top_important_list {
		margin-bottom: 15px;
	}
	.top_important_list ul li {
		display: block;
		width: auto;
	}
	.top_important_list ul li span.article_date {
		display: block;
		width: auto;
		padding-top: 0px;
	}
	.top_important_list ul li span.article_title {
		display: block;
	}
	.top_important_list ul li a {
		display: block;
		background: url("/img/sp/arrow_r.png") no-repeat right center transparent;
		background-size: 8px auto;
		padding-right: 15px;
		text-decoration: none;
	}

	.top_important_list .link_box {
		margin: 10px 0px 0px;
		gap: 10px 20px;
	}
	.top_important_list .link_box a {
		font-size: 1.2rem;
		background-size: 24px 24px;
		padding-right: 30px;
	}

	/* 重要リンク */
	ul.top_important_menu {
		gap: 6px;
	}
	ul.top_important_menu li {
		width: calc(50% - 3px);
	}
	ul.top_important_menu li a {
		font-size: 1.1rem;
		padding: 10px 5px;
	}

	/* ロゴ */
	#top_logo {
		width: 200px;
		top: auto;
		bottom: 320px;
	}

	/* 検索 */
	#top_tab_wrap {
		width: calc(100% - 40px);
		padding: 0px 20px 20px;
	}

	#top_tab_title ul {
		margin-top: -20px;
	}
	#top_tab_title ul li button {
		min-width: 145px;
		font-size: 1.2rem;
		padding: 5px;
	}
	#top_tab_title ul li.tab_on button {
		font-size: 1.3rem;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	#top_tab_detail {
		max-height: 160px;
		overflow-y: auto;
	}

	#cse_filetype2 {
		margin-bottom: 10px;
	}
	#cse_filetype2 fieldset {
		font-size: 1.1rem;
	}

	/* 注目ワード */
	#search_trend_word p {
		gap: 10px 15px;
	}
	#search_trend_word p a {
		font-size: 1rem;
	}

	/* スライドショー */
	#container {
		overflow: hidden;
	}
	#top_photo_wrap {
		width: 100%;
		margin: 0px;
		overflow: visible;
	}
	#top_photo {
		width: 1250px;
		height: 500px;
		padding-bottom: 60px;
	}

	#top_photo_list {
		position: relative;
		overflow: visible;
	}
	#top_photo_list .slide_control_box1 {
		width: 100vw;
		bottom: -45px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	.slide_control_box1 .slide_pagination {
		display: none !important;
	}

	/* メイン */
	#mymainback_bg {
		max-width: none;
		margin-left: 0px;
		margin-right: 0px;
	}
	#mymainback {
		padding-bottom: 60px;
	}

	.top_main_box {
		width: auto;
		margin-left: var(--mymainback-margin-side, 15px);
		margin-right: var(--mymainback-margin-side, 15px);
	}

	h3.m_h3 {
		font-size: 2rem;
		line-height: 3rem;
		padding-left: 30px;
	}
	h3.m_h3::before {
		width: 16px;
		height: 16px;
	}

	#main .link_box {
		margin: 20px 20px 0px;
		gap: 10px 20px;
	}
	#main .link_box a {
		font-size: 1.2rem;
		background-size: 24px 24px;
		padding: 5px 30px 5px 0px;
	}

	/* MV */
	#top_mv {
		display: block;
	}

	#top_mv_slide {
		width: auto;
		margin-bottom: 15px;
	}
	#top_mv_slide_list .photo .img img {
		border-radius: 10px;
	}
	#top_mv_slide_list .photo .caption {
		width: auto;
		padding: 10px 0px;
	}

	#top_mv_slide_list .slide_control_box1 {
		width: auto;
		position: static;
		background: none;
		padding: 0px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	/* バナー */
	#top_mv_banner {
		width: auto;
		max-width: 670px;
		margin: 0px auto;
	}

	#top_mv_banner_list {
		gap: 10px;
	}
	#top_mv_banner_list .bnr {
		width: calc(50% - 5px);
	}
	#top_mv_banner_list .bnr img {
		border-radius: 10px;
	}

	/* 情報をさがす */
	#top_main_search {
		display: none !important;
	}

	/* お知らせ */
	#top_main_news {
		margin-top: 40px;
	}

	#top_main_news .news_ttl {
		background-position: center top;
		background-size: 300px auto;
		padding-top: 35px;
		padding-bottom: 20px;
	}
	#top_main_news .news_ttl h2 {
		background-size: auto 36px;
		padding-bottom: 46px;
	}
	#top_main_news .news_ttl h2 img {
		width: auto;
		height: 24px;
	}

	/* トピックス */
	.lettering_box {
		display: block;
		width: calc(100% - 40px);
		max-width: 350px;
		margin: 20px auto;
	}

	.lettering_box .lettering_box_img {
		width: 100%;
		margin-bottom: 20px;
	}
	.lettering_box .lettering_box_img img {
		border-radius: 10px;
	}
	.lettering_box .lettering_box_img div:empty {
		border-radius: 10px;
	}

	.lettering_box .lettering_box_text {
		width: auto;
	}
	.lettering_box .lettering_box_text a {
		display: block;
		background: url("/img/sp/arrow_r.png") no-repeat right center transparent;
		background-size: 8px auto;
		padding-right: 15px;
		text-decoration: none;
	}

	.lettering_box .lettering_box_text .article_date {
		font-size: 1.4rem;
	}
	.lettering_box .lettering_box_text .lettering_detail {
		font-size: 1.4rem;
	}

	/* 新着情報 */
	#top_news {
		margin-top: 40px;
	}

	#top_news ul {
		margin-top: 5px;
	}
	#top_news ul li {
		display: block;
		width: auto;
		padding: 15px 20px;
	}

	#top_news ul li span.article_title {
		display: block;
	}

	#top_news ul li span.article_date {
		display: block;
		width: auto;
		padding-top: 0px;
	}

	#top_news ul li:has(img.icon_new) span.article_date {
		padding-left: 50px;
	}
	#top_news ul li:has(img.icon_new)  span.article_date img.icon_new {
		top: 1px;
		right: auto;
		left: 0px;
	}

	#top_news ul li a {
		display: block;
		background: url("/img/sp/arrow_r.png") no-repeat right center transparent;
		background-size: 8px auto;
		padding-right: 15px;
		text-decoration: none;
	}

	/* カウントダウン */
	#count_down_area_1 {
		margin-top: 40px;
	}
	.count_down_box_wrap {
		margin-top: 20px;
		gap: 10px;
	}
	.count_down_box {
		width: 100%;
		padding: 9px;
	}

	.count_down_box2 > span.count_img {
		width: 120px;
	}

	.count_down_box2 > span.count_txt {
		width: calc(100% - 135px);
	}

	.count_down_box2 > span.count_txt > span.count_comment {
		margin-top: 10px;
		font-size: 1.2rem;
	}
	.count_down_box2 > span.count_txt > span.count_day {
		margin-top: 10px;
	}
	.count_down_box2 > span.count_txt > span.count_day span {
		font-size: 2.4rem;
	}

	/* 魅力 */
	#top_main_charm {
		margin-top: 40px;
	}
	#top_main_charm .charm_ttl {
		height: 500px;
	}
	#top_main_charm .charm_ttl h2 {
		width: 250px;
	}

	#top_main_charm .charm_detail {
		margin-top: -80px;
		display: block;
	}

	/* 時計・ライブカメラ */
	.top_tokei,
	.top_livecamera {
		width: 100%;
		max-width: 500px;
		margin: 0px auto;
	}
	.top_livecamera {
		margin-top: 40px;
	}

	.top_tokei_img,
	.top_livecamera_img {
		width: 100%;
		height: auto;
		aspect-ratio: 500 / 280;
		border-radius: 10px;
	}

	.top_tokei_txt,
	.top_livecamera_txt {
		margin-top: 20px;
	}
	.top_tokei_txt p,
	.top_livecamera_txt p {
		margin: 10px 20px 0px;
	}

	/* 時計 */
	#tokei_photo {
		border-radius: 10px;
	}

	#tokei_time {
		top: 20px;
		left: 20px;
	}

	/* ライブカメラ */
	.top_livecamera_img img {
		border-radius: 10px;
	}

	#main .top_livecamera .link_box a {
		font-size: 1.1rem;
	}

	/* 注目の取り組み */
	#top_pr {
		margin-top: 40px;
		padding: 30px 20px;
	}
	#top_pr h3 {
		font-size: 2rem;
		margin-bottom: 20px;
	}

	#top_pr_list {
		max-width: 480px;
		margin: 0px auto;
	}
	#top_pr_list .swiper-wrapper,
	.noslide #top_pr_list .swiper-wrapper {
		width: auto;
		gap: 0px;
		margin: 0px;
	}
	#top_pr_list .photo,
	.noslide #top_pr_list .photo {
		width: calc(50% - 10px) !important;
		max-width: 230px;
		margin: 5px;
		padding: 0px;
	}

	#top_pr_list .slide_control_box1 {
		margin-top: 20px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	/* SNS */
	.top_sns {
		margin-top: 40px;
		width: auto;
		gap: 20px;
	}
	.top_sns_list {
		width: 100%;
		gap: 30px 20px;
	}
	.top_sns_list ul {
		width: 100%;
		gap: 40px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	.top_sns_list .link {
		width: calc(100% - 80px);
		max-width: 340px;
		margin: 0px auto;
	}

	.top_sns_list ul li {
		width: 40px;
	}

	/* 小山町について */
	#top_main_about {
		margin-top: 40px;
	}
	#top_main_about .about_ttl {
		background-position: left calc(50% - 70px) top -15px, center top;
		background-size: 500px auto, cover;
		height: 500px;
	}
	#top_main_about .about_ttl h2 {
		width: 225px;
	}

	#top_main_about .about_detail {
		margin-top: -50px;
	}

	/* 町長などバナー */
	#top_about_banner {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 20px;
	}
	#top_about_banner .bnr {
		width: calc(100% - 80px);
		max-width: 330px;
		border-radius: 10px 10px 0px 0px;
	}
	#top_about_banner .bnr img {
		border-radius: 10px;
	}
	#top_about_banner .bnr .ttl {
		margin: 10px 20px 0px;
		font-size: var(--fontsize-main, 1.4rem);
	}

	/* リンクリスト */
	#top_about_link {
		padding: 0px 20px;
		gap: 15px 20px;
	}
	#top_about_banner + #top_about_link {
		margin-top: 30px;
	}
	#top_about_link li {
		width: calc(50% - 10px);
		font-size: 1.1rem;
		padding-left: 15px;
	}
	#top_about_link li::before {
		width: 6px;
		height: 6px;
	}

	/* 広告 */
	#top_kokoku {
		margin-top: 40px;
	}
	#top_kokoku h2 {
		margin-bottom: 30px;
		font-size: 2rem;
	}

	#top_kokoku ul {
		width: auto;
		max-width: 410px;
		margin: 0px auto;
		gap: 24px;
	}
	#top_kokoku ul li {
		width: calc(100% / 3 - 16px);
		max-width: 120px;
	}

	#top_kokoku .link {
		margin-top: 30px;
		font-size: 1.1rem;
	}

}
/* ==================================================
スマートフォン ここまで
================================================== */